diff --git a/docs/1065.1065.js b/docs/1065.1065.js new file mode 100644 index 00000000..8b00e04a --- /dev/null +++ b/docs/1065.1065.js @@ -0,0 +1,217 @@ +(self.webpackChunkmermaid_live_editor = + self.webpackChunkmermaid_live_editor || []).push([ + [1065], + { + 71065: (e, n, s) => { + 'use strict'; + s.r(n), s.d(n, { conf: () => i, language: () => t }); + var i = { + brackets: [ + ['{', '}'], + ['[', ']'], + ['(', ')'], + ], + autoClosingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '<', close: '>', notIn: ['string'] }, + ], + surroundingPairs: [ + { open: '(', close: ')' }, + { open: '[', close: ']' }, + { open: '`', close: '`' }, + ], + folding: { + markers: { + start: new RegExp('^\\s*\x3c!--\\s*#?region\\b.*--\x3e'), + end: new RegExp('^\\s*\x3c!--\\s*#?endregion\\b.*--\x3e'), + }, + }, + }, + t = { + defaultToken: '', + tokenPostfix: '.rst', + control: /[\\`*_\[\]{}()#+\-\.!]/, + escapes: /\\(?:@control)/, + empty: [ + 'area', + 'base', + 'basefont', + 'br', + 'col', + 'frame', + 'hr', + 'img', + 'input', + 'isindex', + 'link', + 'meta', + 'param', + ], + alphanumerics: /[A-Za-z0-9]/, + alphanumericsplus: /[A-Za-z0-9-_+:.]/, + simpleRefNameWithoutBq: /(?:@alphanumerics@alphanumericsplus*@alphanumerics)+|(?:@alphanumerics+)/, + simpleRefName: /(?:`@simpleRefNameWithoutBq`|@simpleRefNameWithoutBq)/, + phrase: /@simpleRefName(?:\s@simpleRefName)*/, + citationName: /[A-Za-z][A-Za-z0-9-_.]*/, + blockLiteralStart: /(?:[!"#$%&'()*+,-./:;<=>?@\[\]^_`{|}~]|[\s])/, + precedingChars: /(?:[ -:/'"<([{])/, + followingChars: /(?:[ -.,:;!?/'")\]}>]|$)/, + punctuation: /(=|-|~|`|#|"|\^|\+|\*|:|\.|'|_|\+)/, + tokenizer: { + root: [ + [/^(@punctuation{3,}$){1,1}?/, 'keyword'], + [ + /^\s*([\*\-+‣•]|[a-zA-Z0-9]+\.|\([a-zA-Z0-9]+\)|[a-zA-Z0-9]+\))\s/, + 'keyword', + ], + [/([ ]::)\s*$/, 'keyword', '@blankLineOfLiteralBlocks'], + [/(::)\s*$/, 'keyword', '@blankLineOfLiteralBlocks'], + { include: '@tables' }, + { include: '@explicitMarkupBlocks' }, + { include: '@inlineMarkup' }, + ], + explicitMarkupBlocks: [ + { include: '@citations' }, + { include: '@footnotes' }, + [ + /^(\.\.\s)(@simpleRefName)(::\s)(.*)$/, + [{ token: '', next: 'subsequentLines' }, 'keyword', '', ''], + ], + [ + /^(\.\.)(\s+)(_)(@simpleRefName)(:)(\s+)(.*)/, + [ + { token: '', next: 'hyperlinks' }, + '', + '', + 'string.link', + '', + '', + 'string.link', + ], + ], + [ + /^((?:(?:\.\.)(?:\s+))?)(__)(:)(\s+)(.*)/, + [ + { token: '', next: 'subsequentLines' }, + '', + '', + '', + 'string.link', + ], + ], + [/^(__\s+)(.+)/, ['', 'string.link']], + [ + /^(\.\.)( \|)([^| ]+[^|]*[^| ]*)(\| )(@simpleRefName)(:: .*)/, + [ + { token: '', next: 'subsequentLines' }, + '', + 'string.link', + '', + 'keyword', + '', + ], + '@rawBlocks', + ], + [/(\|)([^| ]+[^|]*[^| ]*)(\|_{0,2})/, ['', 'string.link', '']], + [ + /^(\.\.)([ ].*)$/, + [{ token: '', next: '@comments' }, 'comment'], + ], + ], + inlineMarkup: [ + { include: '@citationsReference' }, + { include: '@footnotesReference' }, + [/(@simpleRefName)(_{1,2})/, ['string.link', '']], + [ + /(`)([^<`]+\s+)(<)(.*)(>)(`)(_)/, + ['', 'string.link', '', 'string.link', '', '', ''], + ], + [/\*\*([^\\*]|\*(?!\*))+\*\*/, 'strong'], + [/\*[^*]+\*/, 'emphasis'], + [/(``)((?:[^`]|\`(?!`))+)(``)/, ['', 'keyword', '']], + [/(__\s+)(.+)/, ['', 'keyword']], + [ + /(:)((?:@simpleRefNameWithoutBq)?)(:`)([^`]+)(`)/, + ['', 'keyword', '', '', ''], + ], + [ + /(`)([^`]+)(`:)((?:@simpleRefNameWithoutBq)?)(:)/, + ['', '', '', 'keyword', ''], + ], + [/(`)([^`]+)(`)/, ''], + [/(_`)(@phrase)(`)/, ['', 'string.link', '']], + ], + citations: [ + [ + /^(\.\.\s+\[)((?:@citationName))(\]\s+)(.*)/, + [ + { token: '', next: '@subsequentLines' }, + 'string.link', + '', + '', + ], + ], + ], + citationsReference: [ + [/(\[)(@citationName)(\]_)/, ['', 'string.link', '']], + ], + footnotes: [ + [ + /^(\.\.\s+\[)((?:[0-9]+))(\]\s+.*)/, + [{ token: '', next: '@subsequentLines' }, 'string.link', ''], + ], + [ + /^(\.\.\s+\[)((?:#@simpleRefName?))(\]\s+)(.*)/, + [ + { token: '', next: '@subsequentLines' }, + 'string.link', + '', + '', + ], + ], + [ + /^(\.\.\s+\[)((?:\*))(\]\s+)(.*)/, + [ + { token: '', next: '@subsequentLines' }, + 'string.link', + '', + '', + ], + ], + ], + footnotesReference: [ + [/(\[)([0-9]+)(\])(_)/, ['', 'string.link', '', '']], + [/(\[)(#@simpleRefName?)(\])(_)/, ['', 'string.link', '', '']], + [/(\[)(\*)(\])(_)/, ['', 'string.link', '', '']], + ], + blankLineOfLiteralBlocks: [ + [/^$/, '', '@subsequentLinesOfLiteralBlocks'], + [/^.*$/, '', '@pop'], + ], + subsequentLinesOfLiteralBlocks: [ + [/(@blockLiteralStart+)(.*)/, ['keyword', '']], + [/^(?!blockLiteralStart)/, '', '@popall'], + ], + subsequentLines: [ + [/^[\s]+.*/, ''], + [/^(?!\s)/, '', '@pop'], + ], + hyperlinks: [ + [/^[\s]+.*/, 'string.link'], + [/^(?!\s)/, '', '@pop'], + ], + comments: [ + [/^[\s]+.*/, 'comment'], + [/^(?!\s)/, '', '@pop'], + ], + tables: [ + [/\+-[+-]+/, 'keyword'], + [/\+=[+=]+/, 'keyword'], + ], + }, + }; + }, + }, +]); diff --git a/docs/1134.1134.js b/docs/1134.1134.js new file mode 100644 index 00000000..b71b278f --- /dev/null +++ b/docs/1134.1134.js @@ -0,0 +1,391 @@ +(self.webpackChunkmermaid_live_editor = + self.webpackChunkmermaid_live_editor || []).push([ + [1134, 6717], + { + 41134: (e, t, n) => { + 'use strict'; + n.r(t), n.d(t, { conf: () => o, language: () => r }); + var i = n(96717), + o = i.conf, + r = { + defaultToken: 'invalid', + tokenPostfix: '.js', + keywords: [ + 'break', + 'case', + 'catch', + 'class', + 'continue', + 'const', + 'constructor', + 'debugger', + 'default', + 'delete', + 'do', + 'else', + 'export', + 'extends', + 'false', + 'finally', + 'for', + 'from', + 'function', + 'get', + 'if', + 'import', + 'in', + 'instanceof', + 'let', + 'new', + 'null', + 'return', + 'set', + 'super', + 'switch', + 'symbol', + 'this', + 'throw', + 'true', + 'try', + 'typeof', + 'undefined', + 'var', + 'void', + 'while', + 'with', + 'yield', + 'async', + 'await', + 'of', + ], + typeKeywords: [], + operators: i.language.operators, + symbols: i.language.symbols, + escapes: i.language.escapes, + digits: i.language.digits, + octaldigits: i.language.octaldigits, + binarydigits: i.language.binarydigits, + hexdigits: i.language.hexdigits, + regexpctl: i.language.regexpctl, + regexpesc: i.language.regexpesc, + tokenizer: i.language.tokenizer, + }; + }, + 96717: (e, t, n) => { + 'use strict'; + n.r(t), n.d(t, { conf: () => o, language: () => r }); + var i = n(89587), + o = { + wordPattern: /(-?\d*\.\d\w*)|([^\`\~\!\@\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g, + comments: { lineComment: '//', blockComment: ['/*', '*/'] }, + brackets: [ + ['{', '}'], + ['[', ']'], + ['(', ')'], + ], + onEnterRules: [ + { + beforeText: /^\s*\/\*\*(?!\/)([^\*]|\*(?!\/))*$/, + afterText: /^\s*\*\/$/, + action: { + indentAction: i.Mj.IndentAction.IndentOutdent, + appendText: ' * ', + }, + }, + { + beforeText: /^\s*\/\*\*(?!\/)([^\*]|\*(?!\/))*$/, + action: { + indentAction: i.Mj.IndentAction.None, + appendText: ' * ', + }, + }, + { + beforeText: /^(\t|(\ \ ))*\ \*(\ ([^\*]|\*(?!\/))*)?$/, + action: { + indentAction: i.Mj.IndentAction.None, + appendText: '* ', + }, + }, + { + beforeText: /^(\t|(\ \ ))*\ \*\/\s*$/, + action: { indentAction: i.Mj.IndentAction.None, removeText: 1 }, + }, + ], + autoClosingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"', notIn: ['string'] }, + { open: "'", close: "'", notIn: ['string', 'comment'] }, + { open: '`', close: '`', notIn: ['string', 'comment'] }, + { open: '/**', close: ' */', notIn: ['string'] }, + ], + folding: { + markers: { + start: new RegExp('^\\s*//\\s*#?region\\b'), + end: new RegExp('^\\s*//\\s*#?endregion\\b'), + }, + }, + }, + r = { + defaultToken: 'invalid', + tokenPostfix: '.ts', + keywords: [ + 'abstract', + 'any', + 'as', + 'asserts', + 'bigint', + 'boolean', + 'break', + 'case', + 'catch', + 'class', + 'continue', + 'const', + 'constructor', + 'debugger', + 'declare', + 'default', + 'delete', + 'do', + 'else', + 'enum', + 'export', + 'extends', + 'false', + 'finally', + 'for', + 'from', + 'function', + 'get', + 'if', + 'implements', + 'import', + 'in', + 'infer', + 'instanceof', + 'interface', + 'is', + 'keyof', + 'let', + 'module', + 'namespace', + 'never', + 'new', + 'null', + 'number', + 'object', + 'package', + 'private', + 'protected', + 'public', + 'readonly', + 'require', + 'global', + 'return', + 'set', + 'static', + 'string', + 'super', + 'switch', + 'symbol', + 'this', + 'throw', + 'true', + 'try', + 'type', + 'typeof', + 'undefined', + 'unique', + 'unknown', + 'var', + 'void', + 'while', + 'with', + 'yield', + 'async', + 'await', + 'of', + ], + operators: [ + '<=', + '>=', + '==', + '!=', + '===', + '!==', + '=>', + '+', + '-', + '**', + '*', + '/', + '%', + '++', + '--', + '<<', + '>', + '>>>', + '&', + '|', + '^', + '!', + '~', + '&&', + '||', + '??', + '?', + ':', + '=', + '+=', + '-=', + '*=', + '**=', + '/=', + '%=', + '<<=', + '>>=', + '>>>=', + '&=', + '|=', + '^=', + '@', + ], + symbols: /[=>](?!@symbols)/, '@brackets'], + [/!(?=([^=]|$))/, 'delimiter'], + [ + /@symbols/, + { cases: { '@operators': 'delimiter', '@default': '' } }, + ], + [/(@digits)[eE]([\-+]?(@digits))?/, 'number.float'], + [/(@digits)\.(@digits)([eE][\-+]?(@digits))?/, 'number.float'], + [/0[xX](@hexdigits)n?/, 'number.hex'], + [/0[oO]?(@octaldigits)n?/, 'number.octal'], + [/0[bB](@binarydigits)n?/, 'number.binary'], + [/(@digits)n?/, 'number'], + [/[;,.]/, 'delimiter'], + [/"([^"\\]|\\.)*$/, 'string.invalid'], + [/'([^'\\]|\\.)*$/, 'string.invalid'], + [/"/, 'string', '@string_double'], + [/'/, 'string', '@string_single'], + [/`/, 'string', '@string_backtick'], + ], + whitespace: [ + [/[ \t\r\n]+/, ''], + [/\/\*\*(?!\/)/, 'comment.doc', '@jsdoc'], + [/\/\*/, 'comment', '@comment'], + [/\/\/.*$/, 'comment'], + ], + comment: [ + [/[^\/*]+/, 'comment'], + [/\*\//, 'comment', '@pop'], + [/[\/*]/, 'comment'], + ], + jsdoc: [ + [/[^\/*]+/, 'comment.doc'], + [/\*\//, 'comment.doc', '@pop'], + [/[\/*]/, 'comment.doc'], + ], + regexp: [ + [ + /(\{)(\d+(?:,\d*)?)(\})/, + [ + 'regexp.escape.control', + 'regexp.escape.control', + 'regexp.escape.control', + ], + ], + [ + /(\[)(\^?)(?=(?:[^\]\\\/]|\\.)+)/, + [ + 'regexp.escape.control', + { token: 'regexp.escape.control', next: '@regexrange' }, + ], + ], + [ + /(\()(\?:|\?=|\?!)/, + ['regexp.escape.control', 'regexp.escape.control'], + ], + [/[()]/, 'regexp.escape.control'], + [/@regexpctl/, 'regexp.escape.control'], + [/[^\\\/]/, 'regexp'], + [/@regexpesc/, 'regexp.escape'], + [/\\\./, 'regexp.invalid'], + [ + /(\/)([gimsuy]*)/, + [ + { token: 'regexp', bracket: '@close', next: '@pop' }, + 'keyword.other', + ], + ], + ], + regexrange: [ + [/-/, 'regexp.escape.control'], + [/\^/, 'regexp.invalid'], + [/@regexpesc/, 'regexp.escape'], + [/[^\]]/, 'regexp'], + [ + /\]/, + { + token: 'regexp.escape.control', + next: '@pop', + bracket: '@close', + }, + ], + ], + string_double: [ + [/[^\\"]+/, 'string'], + [/@escapes/, 'string.escape'], + [/\\./, 'string.escape.invalid'], + [/"/, 'string', '@pop'], + ], + string_single: [ + [/[^\\']+/, 'string'], + [/@escapes/, 'string.escape'], + [/\\./, 'string.escape.invalid'], + [/'/, 'string', '@pop'], + ], + string_backtick: [ + [ + /\$\{/, + { token: 'delimiter.bracket', next: '@bracketCounting' }, + ], + [/[^\\`$]+/, 'string'], + [/@escapes/, 'string.escape'], + [/\\./, 'string.escape.invalid'], + [/`/, 'string', '@pop'], + ], + bracketCounting: [ + [/\{/, 'delimiter.bracket', '@bracketCounting'], + [/\}/, 'delimiter.bracket', '@pop'], + { include: 'common' }, + ], + }, + }; + }, + }, +]); diff --git a/docs/1147.1147.js b/docs/1147.1147.js new file mode 100644 index 00000000..8d048c74 --- /dev/null +++ b/docs/1147.1147.js @@ -0,0 +1,229 @@ +(self.webpackChunkmermaid_live_editor = + self.webpackChunkmermaid_live_editor || []).push([ + [1147], + { + 21147: (e, r, t) => { + 'use strict'; + t.r(r), t.d(r, { conf: () => n, language: () => s }); + var n = { + wordPattern: /(-?\d*\.\d\w*)|([^\`\~\!\@\#%\^\&\*\(\)\=\$\-\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g, + comments: { blockComment: ['###', '###'], lineComment: '#' }, + brackets: [ + ['{', '}'], + ['[', ']'], + ['(', ')'], + ], + autoClosingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"' }, + { open: "'", close: "'" }, + ], + surroundingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"' }, + { open: "'", close: "'" }, + ], + folding: { + markers: { + start: new RegExp('^\\s*#region\\b'), + end: new RegExp('^\\s*#endregion\\b'), + }, + }, + }, + s = { + defaultToken: '', + ignoreCase: !0, + tokenPostfix: '.coffee', + brackets: [ + { open: '{', close: '}', token: 'delimiter.curly' }, + { open: '[', close: ']', token: 'delimiter.square' }, + { open: '(', close: ')', token: 'delimiter.parenthesis' }, + ], + regEx: /\/(?!\/\/)(?:[^\/\\]|\\.)*\/[igm]*/, + keywords: [ + 'and', + 'or', + 'is', + 'isnt', + 'not', + 'on', + 'yes', + '@', + 'no', + 'off', + 'true', + 'false', + 'null', + 'this', + 'new', + 'delete', + 'typeof', + 'in', + 'instanceof', + 'return', + 'throw', + 'break', + 'continue', + 'debugger', + 'if', + 'else', + 'switch', + 'for', + 'while', + 'do', + 'try', + 'catch', + 'finally', + 'class', + 'extends', + 'super', + 'undefined', + 'then', + 'unless', + 'until', + 'loop', + 'of', + 'by', + 'when', + ], + symbols: /[=> { + 'use strict'; + i.r(e), i.d(e, { conf: () => d, language: () => f }); + var d = { + comments: { lineComment: '//', blockComment: ['/*', '*/'] }, + brackets: [ + ['{', '}'], + ['[', ']'], + ['(', ')'], + ['<', '>'], + ], + autoClosingPairs: [ + { open: '"', close: '"', notIn: ['string', 'comment'] }, + { open: '{', close: '}', notIn: ['string', 'comment'] }, + { open: '[', close: ']', notIn: ['string', 'comment'] }, + { open: '(', close: ')', notIn: ['string', 'comment'] }, + ], + }, + f = { + defaultToken: '', + tokenPostfix: '.sol', + brackets: [ + { token: 'delimiter.curly', open: '{', close: '}' }, + { token: 'delimiter.parenthesis', open: '(', close: ')' }, + { token: 'delimiter.square', open: '[', close: ']' }, + { token: 'delimiter.angle', open: '<', close: '>' }, + ], + keywords: [ + 'pragma', + 'solidity', + 'contract', + 'library', + 'using', + 'struct', + 'function', + 'modifier', + 'constructor', + 'address', + 'string', + 'bool', + 'Int', + 'Uint', + 'Byte', + 'Fixed', + 'Ufixed', + 'int', + 'int8', + 'int16', + 'int24', + 'int32', + 'int40', + 'int48', + 'int56', + 'int64', + 'int72', + 'int80', + 'int88', + 'int96', + 'int104', + 'int112', + 'int120', + 'int128', + 'int136', + 'int144', + 'int152', + 'int160', + 'int168', + 'int176', + 'int184', + 'int192', + 'int200', + 'int208', + 'int216', + 'int224', + 'int232', + 'int240', + 'int248', + 'int256', + 'uint', + 'uint8', + 'uint16', + 'uint24', + 'uint32', + 'uint40', + 'uint48', + 'uint56', + 'uint64', + 'uint72', + 'uint80', + 'uint88', + 'uint96', + 'uint104', + 'uint112', + 'uint120', + 'uint128', + 'uint136', + 'uint144', + 'uint152', + 'uint160', + 'uint168', + 'uint176', + 'uint184', + 'uint192', + 'uint200', + 'uint208', + 'uint216', + 'uint224', + 'uint232', + 'uint240', + 'uint248', + 'uint256', + 'byte', + 'bytes', + 'bytes1', + 'bytes2', + 'bytes3', + 'bytes4', + 'bytes5', + 'bytes6', + 'bytes7', + 'bytes8', + 'bytes9', + 'bytes10', + 'bytes11', + 'bytes12', + 'bytes13', + 'bytes14', + 'bytes15', + 'bytes16', + 'bytes17', + 'bytes18', + 'bytes19', + 'bytes20', + 'bytes21', + 'bytes22', + 'bytes23', + 'bytes24', + 'bytes25', + 'bytes26', + 'bytes27', + 'bytes28', + 'bytes29', + 'bytes30', + 'bytes31', + 'bytes32', + 'fixed', + 'fixed0x8', + 'fixed0x16', + 'fixed0x24', + 'fixed0x32', + 'fixed0x40', + 'fixed0x48', + 'fixed0x56', + 'fixed0x64', + 'fixed0x72', + 'fixed0x80', + 'fixed0x88', + 'fixed0x96', + 'fixed0x104', + 'fixed0x112', + 'fixed0x120', + 'fixed0x128', + 'fixed0x136', + 'fixed0x144', + 'fixed0x152', + 'fixed0x160', + 'fixed0x168', + 'fixed0x176', + 'fixed0x184', + 'fixed0x192', + 'fixed0x200', + 'fixed0x208', + 'fixed0x216', + 'fixed0x224', + 'fixed0x232', + 'fixed0x240', + 'fixed0x248', + 'fixed0x256', + 'fixed8x8', + 'fixed8x16', + 'fixed8x24', + 'fixed8x32', + 'fixed8x40', + 'fixed8x48', + 'fixed8x56', + 'fixed8x64', + 'fixed8x72', + 'fixed8x80', + 'fixed8x88', + 'fixed8x96', + 'fixed8x104', + 'fixed8x112', + 'fixed8x120', + 'fixed8x128', + 'fixed8x136', + 'fixed8x144', + 'fixed8x152', + 'fixed8x160', + 'fixed8x168', + 'fixed8x176', + 'fixed8x184', + 'fixed8x192', + 'fixed8x200', + 'fixed8x208', + 'fixed8x216', + 'fixed8x224', + 'fixed8x232', + 'fixed8x240', + 'fixed8x248', + 'fixed16x8', + 'fixed16x16', + 'fixed16x24', + 'fixed16x32', + 'fixed16x40', + 'fixed16x48', + 'fixed16x56', + 'fixed16x64', + 'fixed16x72', + 'fixed16x80', + 'fixed16x88', + 'fixed16x96', + 'fixed16x104', + 'fixed16x112', + 'fixed16x120', + 'fixed16x128', + 'fixed16x136', + 'fixed16x144', + 'fixed16x152', + 'fixed16x160', + 'fixed16x168', + 'fixed16x176', + 'fixed16x184', + 'fixed16x192', + 'fixed16x200', + 'fixed16x208', + 'fixed16x216', + 'fixed16x224', + 'fixed16x232', + 'fixed16x240', + 'fixed24x8', + 'fixed24x16', + 'fixed24x24', + 'fixed24x32', + 'fixed24x40', + 'fixed24x48', + 'fixed24x56', + 'fixed24x64', + 'fixed24x72', + 'fixed24x80', + 'fixed24x88', + 'fixed24x96', + 'fixed24x104', + 'fixed24x112', + 'fixed24x120', + 'fixed24x128', + 'fixed24x136', + 'fixed24x144', + 'fixed24x152', + 'fixed24x160', + 'fixed24x168', + 'fixed24x176', + 'fixed24x184', + 'fixed24x192', + 'fixed24x200', + 'fixed24x208', + 'fixed24x216', + 'fixed24x224', + 'fixed24x232', + 'fixed32x8', + 'fixed32x16', + 'fixed32x24', + 'fixed32x32', + 'fixed32x40', + 'fixed32x48', + 'fixed32x56', + 'fixed32x64', + 'fixed32x72', + 'fixed32x80', + 'fixed32x88', + 'fixed32x96', + 'fixed32x104', + 'fixed32x112', + 'fixed32x120', + 'fixed32x128', + 'fixed32x136', + 'fixed32x144', + 'fixed32x152', + 'fixed32x160', + 'fixed32x168', + 'fixed32x176', + 'fixed32x184', + 'fixed32x192', + 'fixed32x200', + 'fixed32x208', + 'fixed32x216', + 'fixed32x224', + 'fixed40x8', + 'fixed40x16', + 'fixed40x24', + 'fixed40x32', + 'fixed40x40', + 'fixed40x48', + 'fixed40x56', + 'fixed40x64', + 'fixed40x72', + 'fixed40x80', + 'fixed40x88', + 'fixed40x96', + 'fixed40x104', + 'fixed40x112', + 'fixed40x120', + 'fixed40x128', + 'fixed40x136', + 'fixed40x144', + 'fixed40x152', + 'fixed40x160', + 'fixed40x168', + 'fixed40x176', + 'fixed40x184', + 'fixed40x192', + 'fixed40x200', + 'fixed40x208', + 'fixed40x216', + 'fixed48x8', + 'fixed48x16', + 'fixed48x24', + 'fixed48x32', + 'fixed48x40', + 'fixed48x48', + 'fixed48x56', + 'fixed48x64', + 'fixed48x72', + 'fixed48x80', + 'fixed48x88', + 'fixed48x96', + 'fixed48x104', + 'fixed48x112', + 'fixed48x120', + 'fixed48x128', + 'fixed48x136', + 'fixed48x144', + 'fixed48x152', + 'fixed48x160', + 'fixed48x168', + 'fixed48x176', + 'fixed48x184', + 'fixed48x192', + 'fixed48x200', + 'fixed48x208', + 'fixed56x8', + 'fixed56x16', + 'fixed56x24', + 'fixed56x32', + 'fixed56x40', + 'fixed56x48', + 'fixed56x56', + 'fixed56x64', + 'fixed56x72', + 'fixed56x80', + 'fixed56x88', + 'fixed56x96', + 'fixed56x104', + 'fixed56x112', + 'fixed56x120', + 'fixed56x128', + 'fixed56x136', + 'fixed56x144', + 'fixed56x152', + 'fixed56x160', + 'fixed56x168', + 'fixed56x176', + 'fixed56x184', + 'fixed56x192', + 'fixed56x200', + 'fixed64x8', + 'fixed64x16', + 'fixed64x24', + 'fixed64x32', + 'fixed64x40', + 'fixed64x48', + 'fixed64x56', + 'fixed64x64', + 'fixed64x72', + 'fixed64x80', + 'fixed64x88', + 'fixed64x96', + 'fixed64x104', + 'fixed64x112', + 'fixed64x120', + 'fixed64x128', + 'fixed64x136', + 'fixed64x144', + 'fixed64x152', + 'fixed64x160', + 'fixed64x168', + 'fixed64x176', + 'fixed64x184', + 'fixed64x192', + 'fixed72x8', + 'fixed72x16', + 'fixed72x24', + 'fixed72x32', + 'fixed72x40', + 'fixed72x48', + 'fixed72x56', + 'fixed72x64', + 'fixed72x72', + 'fixed72x80', + 'fixed72x88', + 'fixed72x96', + 'fixed72x104', + 'fixed72x112', + 'fixed72x120', + 'fixed72x128', + 'fixed72x136', + 'fixed72x144', + 'fixed72x152', + 'fixed72x160', + 'fixed72x168', + 'fixed72x176', + 'fixed72x184', + 'fixed80x8', + 'fixed80x16', + 'fixed80x24', + 'fixed80x32', + 'fixed80x40', + 'fixed80x48', + 'fixed80x56', + 'fixed80x64', + 'fixed80x72', + 'fixed80x80', + 'fixed80x88', + 'fixed80x96', + 'fixed80x104', + 'fixed80x112', + 'fixed80x120', + 'fixed80x128', + 'fixed80x136', + 'fixed80x144', + 'fixed80x152', + 'fixed80x160', + 'fixed80x168', + 'fixed80x176', + 'fixed88x8', + 'fixed88x16', + 'fixed88x24', + 'fixed88x32', + 'fixed88x40', + 'fixed88x48', + 'fixed88x56', + 'fixed88x64', + 'fixed88x72', + 'fixed88x80', + 'fixed88x88', + 'fixed88x96', + 'fixed88x104', + 'fixed88x112', + 'fixed88x120', + 'fixed88x128', + 'fixed88x136', + 'fixed88x144', + 'fixed88x152', + 'fixed88x160', + 'fixed88x168', + 'fixed96x8', + 'fixed96x16', + 'fixed96x24', + 'fixed96x32', + 'fixed96x40', + 'fixed96x48', + 'fixed96x56', + 'fixed96x64', + 'fixed96x72', + 'fixed96x80', + 'fixed96x88', + 'fixed96x96', + 'fixed96x104', + 'fixed96x112', + 'fixed96x120', + 'fixed96x128', + 'fixed96x136', + 'fixed96x144', + 'fixed96x152', + 'fixed96x160', + 'fixed104x8', + 'fixed104x16', + 'fixed104x24', + 'fixed104x32', + 'fixed104x40', + 'fixed104x48', + 'fixed104x56', + 'fixed104x64', + 'fixed104x72', + 'fixed104x80', + 'fixed104x88', + 'fixed104x96', + 'fixed104x104', + 'fixed104x112', + 'fixed104x120', + 'fixed104x128', + 'fixed104x136', + 'fixed104x144', + 'fixed104x152', + 'fixed112x8', + 'fixed112x16', + 'fixed112x24', + 'fixed112x32', + 'fixed112x40', + 'fixed112x48', + 'fixed112x56', + 'fixed112x64', + 'fixed112x72', + 'fixed112x80', + 'fixed112x88', + 'fixed112x96', + 'fixed112x104', + 'fixed112x112', + 'fixed112x120', + 'fixed112x128', + 'fixed112x136', + 'fixed112x144', + 'fixed120x8', + 'fixed120x16', + 'fixed120x24', + 'fixed120x32', + 'fixed120x40', + 'fixed120x48', + 'fixed120x56', + 'fixed120x64', + 'fixed120x72', + 'fixed120x80', + 'fixed120x88', + 'fixed120x96', + 'fixed120x104', + 'fixed120x112', + 'fixed120x120', + 'fixed120x128', + 'fixed120x136', + 'fixed128x8', + 'fixed128x16', + 'fixed128x24', + 'fixed128x32', + 'fixed128x40', + 'fixed128x48', + 'fixed128x56', + 'fixed128x64', + 'fixed128x72', + 'fixed128x80', + 'fixed128x88', + 'fixed128x96', + 'fixed128x104', + 'fixed128x112', + 'fixed128x120', + 'fixed128x128', + 'fixed136x8', + 'fixed136x16', + 'fixed136x24', + 'fixed136x32', + 'fixed136x40', + 'fixed136x48', + 'fixed136x56', + 'fixed136x64', + 'fixed136x72', + 'fixed136x80', + 'fixed136x88', + 'fixed136x96', + 'fixed136x104', + 'fixed136x112', + 'fixed136x120', + 'fixed144x8', + 'fixed144x16', + 'fixed144x24', + 'fixed144x32', + 'fixed144x40', + 'fixed144x48', + 'fixed144x56', + 'fixed144x64', + 'fixed144x72', + 'fixed144x80', + 'fixed144x88', + 'fixed144x96', + 'fixed144x104', + 'fixed144x112', + 'fixed152x8', + 'fixed152x16', + 'fixed152x24', + 'fixed152x32', + 'fixed152x40', + 'fixed152x48', + 'fixed152x56', + 'fixed152x64', + 'fixed152x72', + 'fixed152x80', + 'fixed152x88', + 'fixed152x96', + 'fixed152x104', + 'fixed160x8', + 'fixed160x16', + 'fixed160x24', + 'fixed160x32', + 'fixed160x40', + 'fixed160x48', + 'fixed160x56', + 'fixed160x64', + 'fixed160x72', + 'fixed160x80', + 'fixed160x88', + 'fixed160x96', + 'fixed168x8', + 'fixed168x16', + 'fixed168x24', + 'fixed168x32', + 'fixed168x40', + 'fixed168x48', + 'fixed168x56', + 'fixed168x64', + 'fixed168x72', + 'fixed168x80', + 'fixed168x88', + 'fixed176x8', + 'fixed176x16', + 'fixed176x24', + 'fixed176x32', + 'fixed176x40', + 'fixed176x48', + 'fixed176x56', + 'fixed176x64', + 'fixed176x72', + 'fixed176x80', + 'fixed184x8', + 'fixed184x16', + 'fixed184x24', + 'fixed184x32', + 'fixed184x40', + 'fixed184x48', + 'fixed184x56', + 'fixed184x64', + 'fixed184x72', + 'fixed192x8', + 'fixed192x16', + 'fixed192x24', + 'fixed192x32', + 'fixed192x40', + 'fixed192x48', + 'fixed192x56', + 'fixed192x64', + 'fixed200x8', + 'fixed200x16', + 'fixed200x24', + 'fixed200x32', + 'fixed200x40', + 'fixed200x48', + 'fixed200x56', + 'fixed208x8', + 'fixed208x16', + 'fixed208x24', + 'fixed208x32', + 'fixed208x40', + 'fixed208x48', + 'fixed216x8', + 'fixed216x16', + 'fixed216x24', + 'fixed216x32', + 'fixed216x40', + 'fixed224x8', + 'fixed224x16', + 'fixed224x24', + 'fixed224x32', + 'fixed232x8', + 'fixed232x16', + 'fixed232x24', + 'fixed240x8', + 'fixed240x16', + 'fixed248x8', + 'ufixed', + 'ufixed0x8', + 'ufixed0x16', + 'ufixed0x24', + 'ufixed0x32', + 'ufixed0x40', + 'ufixed0x48', + 'ufixed0x56', + 'ufixed0x64', + 'ufixed0x72', + 'ufixed0x80', + 'ufixed0x88', + 'ufixed0x96', + 'ufixed0x104', + 'ufixed0x112', + 'ufixed0x120', + 'ufixed0x128', + 'ufixed0x136', + 'ufixed0x144', + 'ufixed0x152', + 'ufixed0x160', + 'ufixed0x168', + 'ufixed0x176', + 'ufixed0x184', + 'ufixed0x192', + 'ufixed0x200', + 'ufixed0x208', + 'ufixed0x216', + 'ufixed0x224', + 'ufixed0x232', + 'ufixed0x240', + 'ufixed0x248', + 'ufixed0x256', + 'ufixed8x8', + 'ufixed8x16', + 'ufixed8x24', + 'ufixed8x32', + 'ufixed8x40', + 'ufixed8x48', + 'ufixed8x56', + 'ufixed8x64', + 'ufixed8x72', + 'ufixed8x80', + 'ufixed8x88', + 'ufixed8x96', + 'ufixed8x104', + 'ufixed8x112', + 'ufixed8x120', + 'ufixed8x128', + 'ufixed8x136', + 'ufixed8x144', + 'ufixed8x152', + 'ufixed8x160', + 'ufixed8x168', + 'ufixed8x176', + 'ufixed8x184', + 'ufixed8x192', + 'ufixed8x200', + 'ufixed8x208', + 'ufixed8x216', + 'ufixed8x224', + 'ufixed8x232', + 'ufixed8x240', + 'ufixed8x248', + 'ufixed16x8', + 'ufixed16x16', + 'ufixed16x24', + 'ufixed16x32', + 'ufixed16x40', + 'ufixed16x48', + 'ufixed16x56', + 'ufixed16x64', + 'ufixed16x72', + 'ufixed16x80', + 'ufixed16x88', + 'ufixed16x96', + 'ufixed16x104', + 'ufixed16x112', + 'ufixed16x120', + 'ufixed16x128', + 'ufixed16x136', + 'ufixed16x144', + 'ufixed16x152', + 'ufixed16x160', + 'ufixed16x168', + 'ufixed16x176', + 'ufixed16x184', + 'ufixed16x192', + 'ufixed16x200', + 'ufixed16x208', + 'ufixed16x216', + 'ufixed16x224', + 'ufixed16x232', + 'ufixed16x240', + 'ufixed24x8', + 'ufixed24x16', + 'ufixed24x24', + 'ufixed24x32', + 'ufixed24x40', + 'ufixed24x48', + 'ufixed24x56', + 'ufixed24x64', + 'ufixed24x72', + 'ufixed24x80', + 'ufixed24x88', + 'ufixed24x96', + 'ufixed24x104', + 'ufixed24x112', + 'ufixed24x120', + 'ufixed24x128', + 'ufixed24x136', + 'ufixed24x144', + 'ufixed24x152', + 'ufixed24x160', + 'ufixed24x168', + 'ufixed24x176', + 'ufixed24x184', + 'ufixed24x192', + 'ufixed24x200', + 'ufixed24x208', + 'ufixed24x216', + 'ufixed24x224', + 'ufixed24x232', + 'ufixed32x8', + 'ufixed32x16', + 'ufixed32x24', + 'ufixed32x32', + 'ufixed32x40', + 'ufixed32x48', + 'ufixed32x56', + 'ufixed32x64', + 'ufixed32x72', + 'ufixed32x80', + 'ufixed32x88', + 'ufixed32x96', + 'ufixed32x104', + 'ufixed32x112', + 'ufixed32x120', + 'ufixed32x128', + 'ufixed32x136', + 'ufixed32x144', + 'ufixed32x152', + 'ufixed32x160', + 'ufixed32x168', + 'ufixed32x176', + 'ufixed32x184', + 'ufixed32x192', + 'ufixed32x200', + 'ufixed32x208', + 'ufixed32x216', + 'ufixed32x224', + 'ufixed40x8', + 'ufixed40x16', + 'ufixed40x24', + 'ufixed40x32', + 'ufixed40x40', + 'ufixed40x48', + 'ufixed40x56', + 'ufixed40x64', + 'ufixed40x72', + 'ufixed40x80', + 'ufixed40x88', + 'ufixed40x96', + 'ufixed40x104', + 'ufixed40x112', + 'ufixed40x120', + 'ufixed40x128', + 'ufixed40x136', + 'ufixed40x144', + 'ufixed40x152', + 'ufixed40x160', + 'ufixed40x168', + 'ufixed40x176', + 'ufixed40x184', + 'ufixed40x192', + 'ufixed40x200', + 'ufixed40x208', + 'ufixed40x216', + 'ufixed48x8', + 'ufixed48x16', + 'ufixed48x24', + 'ufixed48x32', + 'ufixed48x40', + 'ufixed48x48', + 'ufixed48x56', + 'ufixed48x64', + 'ufixed48x72', + 'ufixed48x80', + 'ufixed48x88', + 'ufixed48x96', + 'ufixed48x104', + 'ufixed48x112', + 'ufixed48x120', + 'ufixed48x128', + 'ufixed48x136', + 'ufixed48x144', + 'ufixed48x152', + 'ufixed48x160', + 'ufixed48x168', + 'ufixed48x176', + 'ufixed48x184', + 'ufixed48x192', + 'ufixed48x200', + 'ufixed48x208', + 'ufixed56x8', + 'ufixed56x16', + 'ufixed56x24', + 'ufixed56x32', + 'ufixed56x40', + 'ufixed56x48', + 'ufixed56x56', + 'ufixed56x64', + 'ufixed56x72', + 'ufixed56x80', + 'ufixed56x88', + 'ufixed56x96', + 'ufixed56x104', + 'ufixed56x112', + 'ufixed56x120', + 'ufixed56x128', + 'ufixed56x136', + 'ufixed56x144', + 'ufixed56x152', + 'ufixed56x160', + 'ufixed56x168', + 'ufixed56x176', + 'ufixed56x184', + 'ufixed56x192', + 'ufixed56x200', + 'ufixed64x8', + 'ufixed64x16', + 'ufixed64x24', + 'ufixed64x32', + 'ufixed64x40', + 'ufixed64x48', + 'ufixed64x56', + 'ufixed64x64', + 'ufixed64x72', + 'ufixed64x80', + 'ufixed64x88', + 'ufixed64x96', + 'ufixed64x104', + 'ufixed64x112', + 'ufixed64x120', + 'ufixed64x128', + 'ufixed64x136', + 'ufixed64x144', + 'ufixed64x152', + 'ufixed64x160', + 'ufixed64x168', + 'ufixed64x176', + 'ufixed64x184', + 'ufixed64x192', + 'ufixed72x8', + 'ufixed72x16', + 'ufixed72x24', + 'ufixed72x32', + 'ufixed72x40', + 'ufixed72x48', + 'ufixed72x56', + 'ufixed72x64', + 'ufixed72x72', + 'ufixed72x80', + 'ufixed72x88', + 'ufixed72x96', + 'ufixed72x104', + 'ufixed72x112', + 'ufixed72x120', + 'ufixed72x128', + 'ufixed72x136', + 'ufixed72x144', + 'ufixed72x152', + 'ufixed72x160', + 'ufixed72x168', + 'ufixed72x176', + 'ufixed72x184', + 'ufixed80x8', + 'ufixed80x16', + 'ufixed80x24', + 'ufixed80x32', + 'ufixed80x40', + 'ufixed80x48', + 'ufixed80x56', + 'ufixed80x64', + 'ufixed80x72', + 'ufixed80x80', + 'ufixed80x88', + 'ufixed80x96', + 'ufixed80x104', + 'ufixed80x112', + 'ufixed80x120', + 'ufixed80x128', + 'ufixed80x136', + 'ufixed80x144', + 'ufixed80x152', + 'ufixed80x160', + 'ufixed80x168', + 'ufixed80x176', + 'ufixed88x8', + 'ufixed88x16', + 'ufixed88x24', + 'ufixed88x32', + 'ufixed88x40', + 'ufixed88x48', + 'ufixed88x56', + 'ufixed88x64', + 'ufixed88x72', + 'ufixed88x80', + 'ufixed88x88', + 'ufixed88x96', + 'ufixed88x104', + 'ufixed88x112', + 'ufixed88x120', + 'ufixed88x128', + 'ufixed88x136', + 'ufixed88x144', + 'ufixed88x152', + 'ufixed88x160', + 'ufixed88x168', + 'ufixed96x8', + 'ufixed96x16', + 'ufixed96x24', + 'ufixed96x32', + 'ufixed96x40', + 'ufixed96x48', + 'ufixed96x56', + 'ufixed96x64', + 'ufixed96x72', + 'ufixed96x80', + 'ufixed96x88', + 'ufixed96x96', + 'ufixed96x104', + 'ufixed96x112', + 'ufixed96x120', + 'ufixed96x128', + 'ufixed96x136', + 'ufixed96x144', + 'ufixed96x152', + 'ufixed96x160', + 'ufixed104x8', + 'ufixed104x16', + 'ufixed104x24', + 'ufixed104x32', + 'ufixed104x40', + 'ufixed104x48', + 'ufixed104x56', + 'ufixed104x64', + 'ufixed104x72', + 'ufixed104x80', + 'ufixed104x88', + 'ufixed104x96', + 'ufixed104x104', + 'ufixed104x112', + 'ufixed104x120', + 'ufixed104x128', + 'ufixed104x136', + 'ufixed104x144', + 'ufixed104x152', + 'ufixed112x8', + 'ufixed112x16', + 'ufixed112x24', + 'ufixed112x32', + 'ufixed112x40', + 'ufixed112x48', + 'ufixed112x56', + 'ufixed112x64', + 'ufixed112x72', + 'ufixed112x80', + 'ufixed112x88', + 'ufixed112x96', + 'ufixed112x104', + 'ufixed112x112', + 'ufixed112x120', + 'ufixed112x128', + 'ufixed112x136', + 'ufixed112x144', + 'ufixed120x8', + 'ufixed120x16', + 'ufixed120x24', + 'ufixed120x32', + 'ufixed120x40', + 'ufixed120x48', + 'ufixed120x56', + 'ufixed120x64', + 'ufixed120x72', + 'ufixed120x80', + 'ufixed120x88', + 'ufixed120x96', + 'ufixed120x104', + 'ufixed120x112', + 'ufixed120x120', + 'ufixed120x128', + 'ufixed120x136', + 'ufixed128x8', + 'ufixed128x16', + 'ufixed128x24', + 'ufixed128x32', + 'ufixed128x40', + 'ufixed128x48', + 'ufixed128x56', + 'ufixed128x64', + 'ufixed128x72', + 'ufixed128x80', + 'ufixed128x88', + 'ufixed128x96', + 'ufixed128x104', + 'ufixed128x112', + 'ufixed128x120', + 'ufixed128x128', + 'ufixed136x8', + 'ufixed136x16', + 'ufixed136x24', + 'ufixed136x32', + 'ufixed136x40', + 'ufixed136x48', + 'ufixed136x56', + 'ufixed136x64', + 'ufixed136x72', + 'ufixed136x80', + 'ufixed136x88', + 'ufixed136x96', + 'ufixed136x104', + 'ufixed136x112', + 'ufixed136x120', + 'ufixed144x8', + 'ufixed144x16', + 'ufixed144x24', + 'ufixed144x32', + 'ufixed144x40', + 'ufixed144x48', + 'ufixed144x56', + 'ufixed144x64', + 'ufixed144x72', + 'ufixed144x80', + 'ufixed144x88', + 'ufixed144x96', + 'ufixed144x104', + 'ufixed144x112', + 'ufixed152x8', + 'ufixed152x16', + 'ufixed152x24', + 'ufixed152x32', + 'ufixed152x40', + 'ufixed152x48', + 'ufixed152x56', + 'ufixed152x64', + 'ufixed152x72', + 'ufixed152x80', + 'ufixed152x88', + 'ufixed152x96', + 'ufixed152x104', + 'ufixed160x8', + 'ufixed160x16', + 'ufixed160x24', + 'ufixed160x32', + 'ufixed160x40', + 'ufixed160x48', + 'ufixed160x56', + 'ufixed160x64', + 'ufixed160x72', + 'ufixed160x80', + 'ufixed160x88', + 'ufixed160x96', + 'ufixed168x8', + 'ufixed168x16', + 'ufixed168x24', + 'ufixed168x32', + 'ufixed168x40', + 'ufixed168x48', + 'ufixed168x56', + 'ufixed168x64', + 'ufixed168x72', + 'ufixed168x80', + 'ufixed168x88', + 'ufixed176x8', + 'ufixed176x16', + 'ufixed176x24', + 'ufixed176x32', + 'ufixed176x40', + 'ufixed176x48', + 'ufixed176x56', + 'ufixed176x64', + 'ufixed176x72', + 'ufixed176x80', + 'ufixed184x8', + 'ufixed184x16', + 'ufixed184x24', + 'ufixed184x32', + 'ufixed184x40', + 'ufixed184x48', + 'ufixed184x56', + 'ufixed184x64', + 'ufixed184x72', + 'ufixed192x8', + 'ufixed192x16', + 'ufixed192x24', + 'ufixed192x32', + 'ufixed192x40', + 'ufixed192x48', + 'ufixed192x56', + 'ufixed192x64', + 'ufixed200x8', + 'ufixed200x16', + 'ufixed200x24', + 'ufixed200x32', + 'ufixed200x40', + 'ufixed200x48', + 'ufixed200x56', + 'ufixed208x8', + 'ufixed208x16', + 'ufixed208x24', + 'ufixed208x32', + 'ufixed208x40', + 'ufixed208x48', + 'ufixed216x8', + 'ufixed216x16', + 'ufixed216x24', + 'ufixed216x32', + 'ufixed216x40', + 'ufixed224x8', + 'ufixed224x16', + 'ufixed224x24', + 'ufixed224x32', + 'ufixed232x8', + 'ufixed232x16', + 'ufixed232x24', + 'ufixed240x8', + 'ufixed240x16', + 'ufixed248x8', + 'event', + 'enum', + 'let', + 'mapping', + 'private', + 'public', + 'external', + 'inherited', + 'payable', + 'true', + 'false', + 'var', + 'import', + 'constant', + 'if', + 'else', + 'for', + 'else', + 'for', + 'while', + 'do', + 'break', + 'continue', + 'throw', + 'returns', + 'return', + 'suicide', + 'new', + 'is', + 'this', + 'super', + ], + operators: [ + '=', + '>', + '<', + '!', + '~', + '?', + ':', + '==', + '<=', + '>=', + '!=', + '&&', + '||', + '++', + '--', + '+', + '-', + '*', + '/', + '&', + '|', + '^', + '%', + '<<', + '>>', + '>>>', + '+=', + '-=', + '*=', + '/=', + '&=', + '|=', + '^=', + '%=', + '<<=', + '>>=', + '>>>=', + ], + symbols: /[=>](?!@symbols)/, '@brackets'], + [ + /@symbols/, + { cases: { '@operators': 'delimiter', '@default': '' } }, + ], + [/\d*\d+[eE]([\-+]?\d+)?(@floatsuffix)/, 'number.float'], + [/\d*\.\d+([eE][\-+]?\d+)?(@floatsuffix)/, 'number.float'], + [/0[xX][0-9a-fA-F']*[0-9a-fA-F](@integersuffix)/, 'number.hex'], + [/0[0-7']*[0-7](@integersuffix)/, 'number.octal'], + [/0[bB][0-1']*[0-1](@integersuffix)/, 'number.binary'], + [/\d[\d']*\d(@integersuffix)/, 'number'], + [/\d(@integersuffix)/, 'number'], + [/[;,.]/, 'delimiter'], + [/"([^"\\]|\\.)*$/, 'string.invalid'], + [/"/, 'string', '@string'], + [/'[^\\']'/, 'string'], + [/(')(@escapes)(')/, ['string', 'string.escape', 'string']], + [/'/, 'string.invalid'], + ], + whitespace: [ + [/[ \t\r\n]+/, ''], + [/\/\*\*(?!\/)/, 'comment.doc', '@doccomment'], + [/\/\*/, 'comment', '@comment'], + [/\/\/.*$/, 'comment'], + ], + comment: [ + [/[^\/*]+/, 'comment'], + [/\*\//, 'comment', '@pop'], + [/[\/*]/, 'comment'], + ], + doccomment: [ + [/[^\/*]+/, 'comment.doc'], + [/\*\//, 'comment.doc', '@pop'], + [/[\/*]/, 'comment.doc'], + ], + string: [ + [/[^\\"]+/, 'string'], + [/@escapes/, 'string.escape'], + [/\\./, 'string.escape.invalid'], + [/"/, 'string', '@pop'], + ], + }, + }; + }, + }, +]); diff --git a/docs/1259.1259.js b/docs/1259.1259.js new file mode 100644 index 00000000..eb8928bd --- /dev/null +++ b/docs/1259.1259.js @@ -0,0 +1,299 @@ +(self.webpackChunkmermaid_live_editor = + self.webpackChunkmermaid_live_editor || []).push([ + [1259], + { + 91259: (E, S, e) => { + 'use strict'; + e.r(S), e.d(S, { conf: () => T, language: () => R }); + var T = { + brackets: [ + ['{', '}'], + ['[', ']'], + ['(', ')'], + ], + autoClosingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"' }, + { open: "'", close: "'" }, + ], + surroundingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"' }, + { open: "'", close: "'" }, + ], + }, + R = { + defaultToken: '', + tokenPostfix: '.redis', + ignoreCase: !0, + brackets: [ + { open: '[', close: ']', token: 'delimiter.square' }, + { open: '(', close: ')', token: 'delimiter.parenthesis' }, + ], + keywords: [ + 'APPEND', + 'AUTH', + 'BGREWRITEAOF', + 'BGSAVE', + 'BITCOUNT', + 'BITFIELD', + 'BITOP', + 'BITPOS', + 'BLPOP', + 'BRPOP', + 'BRPOPLPUSH', + 'CLIENT', + 'KILL', + 'LIST', + 'GETNAME', + 'PAUSE', + 'REPLY', + 'SETNAME', + 'CLUSTER', + 'ADDSLOTS', + 'COUNT-FAILURE-REPORTS', + 'COUNTKEYSINSLOT', + 'DELSLOTS', + 'FAILOVER', + 'FORGET', + 'GETKEYSINSLOT', + 'INFO', + 'KEYSLOT', + 'MEET', + 'NODES', + 'REPLICATE', + 'RESET', + 'SAVECONFIG', + 'SET-CONFIG-EPOCH', + 'SETSLOT', + 'SLAVES', + 'SLOTS', + 'COMMAND', + 'COUNT', + 'GETKEYS', + 'CONFIG', + 'GET', + 'REWRITE', + 'SET', + 'RESETSTAT', + 'DBSIZE', + 'DEBUG', + 'OBJECT', + 'SEGFAULT', + 'DECR', + 'DECRBY', + 'DEL', + 'DISCARD', + 'DUMP', + 'ECHO', + 'EVAL', + 'EVALSHA', + 'EXEC', + 'EXISTS', + 'EXPIRE', + 'EXPIREAT', + 'FLUSHALL', + 'FLUSHDB', + 'GEOADD', + 'GEOHASH', + 'GEOPOS', + 'GEODIST', + 'GEORADIUS', + 'GEORADIUSBYMEMBER', + 'GETBIT', + 'GETRANGE', + 'GETSET', + 'HDEL', + 'HEXISTS', + 'HGET', + 'HGETALL', + 'HINCRBY', + 'HINCRBYFLOAT', + 'HKEYS', + 'HLEN', + 'HMGET', + 'HMSET', + 'HSET', + 'HSETNX', + 'HSTRLEN', + 'HVALS', + 'INCR', + 'INCRBY', + 'INCRBYFLOAT', + 'KEYS', + 'LASTSAVE', + 'LINDEX', + 'LINSERT', + 'LLEN', + 'LPOP', + 'LPUSH', + 'LPUSHX', + 'LRANGE', + 'LREM', + 'LSET', + 'LTRIM', + 'MGET', + 'MIGRATE', + 'MONITOR', + 'MOVE', + 'MSET', + 'MSETNX', + 'MULTI', + 'PERSIST', + 'PEXPIRE', + 'PEXPIREAT', + 'PFADD', + 'PFCOUNT', + 'PFMERGE', + 'PING', + 'PSETEX', + 'PSUBSCRIBE', + 'PUBSUB', + 'PTTL', + 'PUBLISH', + 'PUNSUBSCRIBE', + 'QUIT', + 'RANDOMKEY', + 'READONLY', + 'READWRITE', + 'RENAME', + 'RENAMENX', + 'RESTORE', + 'ROLE', + 'RPOP', + 'RPOPLPUSH', + 'RPUSH', + 'RPUSHX', + 'SADD', + 'SAVE', + 'SCARD', + 'SCRIPT', + 'FLUSH', + 'LOAD', + 'SDIFF', + 'SDIFFSTORE', + 'SELECT', + 'SETBIT', + 'SETEX', + 'SETNX', + 'SETRANGE', + 'SHUTDOWN', + 'SINTER', + 'SINTERSTORE', + 'SISMEMBER', + 'SLAVEOF', + 'SLOWLOG', + 'SMEMBERS', + 'SMOVE', + 'SORT', + 'SPOP', + 'SRANDMEMBER', + 'SREM', + 'STRLEN', + 'SUBSCRIBE', + 'SUNION', + 'SUNIONSTORE', + 'SWAPDB', + 'SYNC', + 'TIME', + 'TOUCH', + 'TTL', + 'TYPE', + 'UNSUBSCRIBE', + 'UNLINK', + 'UNWATCH', + 'WAIT', + 'WATCH', + 'ZADD', + 'ZCARD', + 'ZCOUNT', + 'ZINCRBY', + 'ZINTERSTORE', + 'ZLEXCOUNT', + 'ZRANGE', + 'ZRANGEBYLEX', + 'ZREVRANGEBYLEX', + 'ZRANGEBYSCORE', + 'ZRANK', + 'ZREM', + 'ZREMRANGEBYLEX', + 'ZREMRANGEBYRANK', + 'ZREMRANGEBYSCORE', + 'ZREVRANGE', + 'ZREVRANGEBYSCORE', + 'ZREVRANK', + 'ZSCORE', + 'ZUNIONSTORE', + 'SCAN', + 'SSCAN', + 'HSCAN', + 'ZSCAN', + ], + operators: [], + builtinFunctions: [], + builtinVariables: [], + pseudoColumns: [], + tokenizer: { + root: [ + { include: '@whitespace' }, + { include: '@pseudoColumns' }, + { include: '@numbers' }, + { include: '@strings' }, + { include: '@scopes' }, + [/[;,.]/, 'delimiter'], + [/[()]/, '@brackets'], + [ + /[\w@#$]+/, + { + cases: { + '@keywords': 'keyword', + '@operators': 'operator', + '@builtinVariables': 'predefined', + '@builtinFunctions': 'predefined', + '@default': 'identifier', + }, + }, + ], + [/[<>=!%&+\-*/|~^]/, 'operator'], + ], + whitespace: [[/\s+/, 'white']], + pseudoColumns: [ + [ + /[$][A-Za-z_][\w@#$]*/, + { + cases: { + '@pseudoColumns': 'predefined', + '@default': 'identifier', + }, + }, + ], + ], + numbers: [ + [/0[xX][0-9a-fA-F]*/, 'number'], + [/[$][+-]*\d*(\.\d*)?/, 'number'], + [/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/, 'number'], + ], + strings: [ + [/'/, { token: 'string', next: '@string' }], + [/"/, { token: 'string.double', next: '@stringDouble' }], + ], + string: [ + [/[^']+/, 'string'], + [/''/, 'string'], + [/'/, { token: 'string', next: '@pop' }], + ], + stringDouble: [ + [/[^"]+/, 'string.double'], + [/""/, 'string.double'], + [/"/, { token: 'string.double', next: '@pop' }], + ], + scopes: [], + }, + }; + }, + }, +]); diff --git a/docs/1448.1448.js b/docs/1448.1448.js new file mode 100644 index 00000000..a9031c4c --- /dev/null +++ b/docs/1448.1448.js @@ -0,0 +1,150 @@ +(self.webpackChunkmermaid_live_editor = + self.webpackChunkmermaid_live_editor || []).push([ + [1448], + { + 11448: (e, t, o) => { + 'use strict'; + o.r(t), o.d(t, { conf: () => n, language: () => s }); + var n = { + comments: { lineComment: '//', blockComment: ['(*', '*)'] }, + brackets: [ + ['{', '}'], + ['[', ']'], + ['(', ')'], + ['<', '>'], + ], + autoClosingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '<', close: '>' }, + { open: "'", close: "'" }, + ], + surroundingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '<', close: '>' }, + { open: "'", close: "'" }, + ], + }, + s = { + defaultToken: '', + tokenPostfix: '.cameligo', + ignoreCase: !0, + brackets: [ + { open: '{', close: '}', token: 'delimiter.curly' }, + { open: '[', close: ']', token: 'delimiter.square' }, + { open: '(', close: ')', token: 'delimiter.parenthesis' }, + { open: '<', close: '>', token: 'delimiter.angle' }, + ], + keywords: [ + 'abs', + 'begin', + 'Bytes', + 'Crypto', + 'Current', + 'else', + 'end', + 'failwith', + 'false', + 'fun', + 'if', + 'in', + 'let', + 'let%entry', + 'let%init', + 'List', + 'list', + 'Map', + 'map', + 'match', + 'match%nat', + 'mod', + 'not', + 'operation', + 'Operation', + 'of', + 'Set', + 'set', + 'sender', + 'source', + 'String', + 'then', + 'true', + 'type', + 'with', + ], + typeKeywords: ['int', 'unit', 'string', 'tz'], + operators: [ + '=', + '>', + '<', + '<=', + '>=', + '<>', + ':', + ':=', + 'and', + 'mod', + 'or', + '+', + '-', + '*', + '/', + '@', + '&', + '^', + '%', + '->', + '<-', + ], + symbols: /[=><:@\^&|+\-*\/\^%]+/, + tokenizer: { + root: [ + [ + /[a-zA-Z_][\w]*/, + { + cases: { + '@keywords': { token: 'keyword.$0' }, + '@default': 'identifier', + }, + }, + ], + { include: '@whitespace' }, + [/[{}()\[\]]/, '@brackets'], + [/[<>](?!@symbols)/, '@brackets'], + [ + /@symbols/, + { cases: { '@operators': 'delimiter', '@default': '' } }, + ], + [/\d*\.\d+([eE][\-+]?\d+)?/, 'number.float'], + [/\$[0-9a-fA-F]{1,16}/, 'number.hex'], + [/\d+/, 'number'], + [/[;,.]/, 'delimiter'], + [/'([^'\\]|\\.)*$/, 'string.invalid'], + [/'/, 'string', '@string'], + [/'[^\\']'/, 'string'], + [/'/, 'string.invalid'], + [/\#\d+/, 'string'], + ], + comment: [ + [/[^\(\*]+/, 'comment'], + [/\*\)/, 'comment', '@pop'], + [/\(\*/, 'comment'], + ], + string: [ + [/[^\\']+/, 'string'], + [/\\./, 'string.escape.invalid'], + [/'/, { token: 'string.quote', bracket: '@close', next: '@pop' }], + ], + whitespace: [ + [/[ \t\r\n]+/, 'white'], + [/\(\*/, 'comment', '@comment'], + [/\/\/.*$/, 'comment'], + ], + }, + }; + }, + }, +]); diff --git a/docs/1471.1471.js b/docs/1471.1471.js new file mode 100644 index 00000000..2de12e1a --- /dev/null +++ b/docs/1471.1471.js @@ -0,0 +1,67 @@ +(self.webpackChunkmermaid_live_editor = + self.webpackChunkmermaid_live_editor || []).push([ + [1471], + { + 31471: (e, t, n) => { + 'use strict'; + n.r(t), n.d(t, { conf: () => s, language: () => i }); + var s = { comments: { lineComment: '#' } }, + i = { + defaultToken: 'keyword', + ignoreCase: !0, + tokenPostfix: '.azcli', + str: /[^#\s]/, + tokenizer: { + root: [ + { include: '@comment' }, + [ + /\s-+@str*\s*/, + { + cases: { + '@eos': { token: 'key.identifier', next: '@popall' }, + '@default': { token: 'key.identifier', next: '@type' }, + }, + }, + ], + [ + /^-+@str*\s*/, + { + cases: { + '@eos': { token: 'key.identifier', next: '@popall' }, + '@default': { token: 'key.identifier', next: '@type' }, + }, + }, + ], + ], + type: [ + { include: '@comment' }, + [ + /-+@str*\s*/, + { + cases: { + '@eos': { token: 'key.identifier', next: '@popall' }, + '@default': 'key.identifier', + }, + }, + ], + [ + /@str+\s*/, + { + cases: { + '@eos': { token: 'string', next: '@popall' }, + '@default': 'string', + }, + }, + ], + ], + comment: [ + [ + /#.*$/, + { cases: { '@eos': { token: 'comment', next: '@popall' } } }, + ], + ], + }, + }; + }, + }, +]); diff --git a/docs/180.180.js b/docs/180.180.js new file mode 100644 index 00000000..5ffd5079 --- /dev/null +++ b/docs/180.180.js @@ -0,0 +1,421 @@ +(self.webpackChunkmermaid_live_editor = + self.webpackChunkmermaid_live_editor || []).push([ + [180], + { + 90180: (e, t, o) => { + 'use strict'; + o.r(t), o.d(t, { conf: () => r, language: () => n }); + var r = { + wordPattern: /(unary_[@~!#%^&*()\-=+\\|:<>\/?]+)|([a-zA-Z_$][\w$]*?_=)|(`[^`]+`)|([a-zA-Z_$][\w$]*)/g, + comments: { lineComment: '//', blockComment: ['/*', '*/'] }, + brackets: [ + ['{', '}'], + ['[', ']'], + ['(', ')'], + ], + autoClosingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"' }, + { open: "'", close: "'" }, + ], + surroundingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"' }, + { open: "'", close: "'" }, + ], + folding: { + markers: { + start: new RegExp( + '^\\s*//\\s*(?:(?:#?region\\b)|(?:))' + ), + }, + }, + }, + n = { + tokenPostfix: '.scala', + keywords: [ + 'asInstanceOf', + 'catch', + 'class', + 'classOf', + 'def', + 'do', + 'else', + 'extends', + 'finally', + 'for', + 'foreach', + 'forSome', + 'if', + 'import', + 'isInstanceOf', + 'macro', + 'match', + 'new', + 'object', + 'package', + 'return', + 'throw', + 'trait', + 'try', + 'type', + 'until', + 'val', + 'var', + 'while', + 'with', + 'yield', + 'given', + 'enum', + 'then', + ], + softKeywords: ['as', 'export', 'extension', 'end', 'derives', 'on'], + constants: ['true', 'false', 'null', 'this', 'super'], + modifiers: [ + 'abstract', + 'final', + 'implicit', + 'lazy', + 'override', + 'private', + 'protected', + 'sealed', + ], + softModifiers: ['inline', 'opaque', 'open', 'transparent', 'using'], + name: /(?:[a-z_$][\w$]*|`[^`]+`)/, + type: /(?:[A-Z][\w$]*)/, + symbols: /[=>))/, + ['@brackets', 'white', 'variable'], + ], + [ + /@name/, + { + cases: { + '@keywords': 'keyword', + '@softKeywords': 'keyword', + '@modifiers': 'keyword.modifier', + '@softModifiers': 'keyword.modifier', + '@constants': { token: 'constant', next: '@allowMethod' }, + '@default': { token: 'identifier', next: '@allowMethod' }, + }, + }, + ], + [/@type/, 'type', '@allowMethod'], + { include: '@whitespace' }, + [/@[a-zA-Z_$][\w$]*(?:\.[a-zA-Z_$][\w$]*)*/, 'annotation'], + [/[{(]/, '@brackets'], + [/[})]/, '@brackets', '@allowMethod'], + [/\[/, 'operator.square'], + [ + /](?!\s*(?:va[rl]|def|type)\b)/, + 'operator.square', + '@allowMethod', + ], + [/]/, 'operator.square'], + [/([=-]>|<-|>:|<:|:>|<%)(?=[\s\w()[\]{},\."'`])/, 'keyword'], + [/@symbols/, 'operator'], + [/[;,\.]/, 'delimiter'], + [/'[a-zA-Z$][\w$]*(?!')/, 'attribute.name'], + [/'[^\\']'/, 'string', '@allowMethod'], + [ + /(')(@escapes)(')/, + [ + 'string', + 'string.escape', + { token: 'string', next: '@allowMethod' }, + ], + ], + [/'/, 'string.invalid'], + ], + import: [ + [/;/, 'delimiter', '@pop'], + [/^|$/, '', '@pop'], + [/[ \t]+/, 'white'], + [/[\n\r]+/, 'white', '@pop'], + [/\/\*/, 'comment', '@comment'], + [/@name|@type/, 'type'], + [/[(){}]/, '@brackets'], + [/[[\]]/, 'operator.square'], + [/[\.,]/, 'delimiter'], + ], + allowMethod: [ + [/^|$/, '', '@pop'], + [/[ \t]+/, 'white'], + [/[\n\r]+/, 'white', '@pop'], + [/\/\*/, 'comment', '@comment'], + [/(?==>[\s\w([{])/, 'keyword', '@pop'], + [ + /(@name|@symbols)(?=[ \t]*[[({"'`]|[ \t]+(?:[+-]?\.?\d|\w))/, + { + cases: { + '@keywords': { token: 'keyword', next: '@pop' }, + '->|<-|>:|<:|<%': { token: 'keyword', next: '@pop' }, + '@default': { token: '@rematch', next: '@pop' }, + }, + }, + ], + ['', '', '@pop'], + ], + comment: [ + [/[^\/*]+/, 'comment'], + [/\/\*/, 'comment', '@push'], + [/\*\//, 'comment', '@pop'], + [/[\/*]/, 'comment'], + ], + case: [ + [/\b_\*/, 'key'], + [/\b(_|true|false|null|this|super)\b/, 'keyword', '@allowMethod'], + [/\bif\b|=>/, 'keyword', '@pop'], + [/`[^`]+`/, 'identifier', '@allowMethod'], + [/@name/, 'variable', '@allowMethod'], + [/:::?|\||@(?![a-z_$])/, 'keyword'], + { include: '@root' }, + ], + vardef: [ + [/\b_\*/, 'key'], + [/\b(_|true|false|null|this|super)\b/, 'keyword'], + [/@name/, 'variable'], + [/:::?|\||@(?![a-z_$])/, 'keyword'], + [/=|:(?!:)/, 'operator', '@pop'], + [/$/, 'white', '@pop'], + { include: '@root' }, + ], + string: [ + [/[^\\"\n\r]+/, 'string'], + [/@escapes/, 'string.escape'], + [/\\./, 'string.escape.invalid'], + [ + /"/, + { + token: 'string.quote', + bracket: '@close', + switchTo: '@allowMethod', + }, + ], + ], + stringt: [ + [/[^\\"\n\r]+/, 'string'], + [/@escapes/, 'string.escape'], + [/\\./, 'string.escape.invalid'], + [/"(?=""")/, 'string'], + [ + /"""/, + { + token: 'string.quote', + bracket: '@close', + switchTo: '@allowMethod', + }, + ], + [/"/, 'string'], + ], + fstring: [ + [/@escapes/, 'string.escape'], + [ + /"/, + { + token: 'string.quote', + bracket: '@close', + switchTo: '@allowMethod', + }, + ], + [/\$\$/, 'string'], + [/(\$)([a-z_]\w*)/, ['operator', 'identifier']], + [/\$\{/, 'operator', '@interp'], + [/%%/, 'string'], + [ + /(%)([\-#+ 0,(])(\d+|\.\d+|\d+\.\d+)(@fstring_conv)/, + ['metatag', 'keyword.modifier', 'number', 'metatag'], + ], + [ + /(%)(\d+|\.\d+|\d+\.\d+)(@fstring_conv)/, + ['metatag', 'number', 'metatag'], + ], + [ + /(%)([\-#+ 0,(])(@fstring_conv)/, + ['metatag', 'keyword.modifier', 'metatag'], + ], + [/(%)(@fstring_conv)/, ['metatag', 'metatag']], + [/./, 'string'], + ], + fstringt: [ + [/@escapes/, 'string.escape'], + [/"(?=""")/, 'string'], + [ + /"""/, + { + token: 'string.quote', + bracket: '@close', + switchTo: '@allowMethod', + }, + ], + [/\$\$/, 'string'], + [/(\$)([a-z_]\w*)/, ['operator', 'identifier']], + [/\$\{/, 'operator', '@interp'], + [/%%/, 'string'], + [ + /(%)([\-#+ 0,(])(\d+|\.\d+|\d+\.\d+)(@fstring_conv)/, + ['metatag', 'keyword.modifier', 'number', 'metatag'], + ], + [ + /(%)(\d+|\.\d+|\d+\.\d+)(@fstring_conv)/, + ['metatag', 'number', 'metatag'], + ], + [ + /(%)([\-#+ 0,(])(@fstring_conv)/, + ['metatag', 'keyword.modifier', 'metatag'], + ], + [/(%)(@fstring_conv)/, ['metatag', 'metatag']], + [/./, 'string'], + ], + sstring: [ + [/@escapes/, 'string.escape'], + [ + /"/, + { + token: 'string.quote', + bracket: '@close', + switchTo: '@allowMethod', + }, + ], + [/\$\$/, 'string'], + [/(\$)([a-z_]\w*)/, ['operator', 'identifier']], + [/\$\{/, 'operator', '@interp'], + [/./, 'string'], + ], + sstringt: [ + [/@escapes/, 'string.escape'], + [/"(?=""")/, 'string'], + [ + /"""/, + { + token: 'string.quote', + bracket: '@close', + switchTo: '@allowMethod', + }, + ], + [/\$\$/, 'string'], + [/(\$)([a-z_]\w*)/, ['operator', 'identifier']], + [/\$\{/, 'operator', '@interp'], + [/./, 'string'], + ], + interp: [ + [/{/, 'operator', '@push'], + [/}/, 'operator', '@pop'], + { include: '@root' }, + ], + rawstring: [ + [/[^"]/, 'string'], + [ + /"/, + { + token: 'string.quote', + bracket: '@close', + switchTo: '@allowMethod', + }, + ], + ], + rawstringt: [ + [/[^"]/, 'string'], + [/"(?=""")/, 'string'], + [ + /"""/, + { + token: 'string.quote', + bracket: '@close', + switchTo: '@allowMethod', + }, + ], + [/"/, 'string'], + ], + whitespace: [ + [/[ \t\r\n]+/, 'white'], + [/\/\*/, 'comment', '@comment'], + [/\/\/.*$/, 'comment'], + ], + }, + }; + }, + }, +]); diff --git a/docs/1886.1886.js b/docs/1886.1886.js new file mode 100644 index 00000000..9573bf13 --- /dev/null +++ b/docs/1886.1886.js @@ -0,0 +1,563 @@ +(self.webpackChunkmermaid_live_editor = + self.webpackChunkmermaid_live_editor || []).push([ + [1886], + { + 81886: (e, n, i) => { + 'use strict'; + i.r(n), i.d(n, { conf: () => t, language: () => r }); + var t = { + comments: { lineComment: '//', blockComment: ['/*', '*/'] }, + brackets: [ + ['{', '}'], + ['[', ']'], + ['(', ')'], + ['begin', 'end'], + ['case', 'endcase'], + ['casex', 'endcase'], + ['casez', 'endcase'], + ['checker', 'endchecker'], + ['class', 'endclass'], + ['clocking', 'endclocking'], + ['config', 'endconfig'], + ['function', 'endfunction'], + ['generate', 'endgenerate'], + ['group', 'endgroup'], + ['interface', 'endinterface'], + ['module', 'endmodule'], + ['package', 'endpackage'], + ['primitive', 'endprimitive'], + ['program', 'endprogram'], + ['property', 'endproperty'], + ['specify', 'endspecify'], + ['sequence', 'endsequence'], + ['table', 'endtable'], + ['task', 'endtask'], + ], + autoClosingPairs: [ + { open: '[', close: ']' }, + { open: '{', close: '}' }, + { open: '(', close: ')' }, + { open: "'", close: "'", notIn: ['string', 'comment'] }, + { open: '"', close: '"', notIn: ['string'] }, + ], + surroundingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"' }, + { open: "'", close: "'" }, + ], + folding: { + offSide: !1, + markers: { + start: new RegExp( + '^(?:\\s*|.*(?!\\/[\\/\\*])[^\\w])(?:begin|case(x|z)?|class|clocking|config|covergroup|function|generate|interface|module|package|primitive|property|program|sequence|specify|table|task)\\b' + ), + end: new RegExp( + '^(?:\\s*|.*(?!\\/[\\/\\*])[^\\w])(?:end|endcase|endclass|endclocking|endconfig|endgroup|endfunction|endgenerate|endinterface|endmodule|endpackage|endprimitive|endproperty|endprogram|endsequence|endspecify|endtable|endtask)\\b' + ), + }, + }, + }, + r = { + defaultToken: '', + tokenPostfix: '.sv', + brackets: [ + { token: 'delimiter.curly', open: '{', close: '}' }, + { token: 'delimiter.parenthesis', open: '(', close: ')' }, + { token: 'delimiter.square', open: '[', close: ']' }, + { token: 'delimiter.angle', open: '<', close: '>' }, + ], + keywords: [ + 'accept_on', + 'alias', + 'always', + 'always_comb', + 'always_ff', + 'always_latch', + 'and', + 'assert', + 'assign', + 'assume', + 'automatic', + 'before', + 'begin', + 'bind', + 'bins', + 'binsof', + 'bit', + 'break', + 'buf', + 'bufif0', + 'bufif1', + 'byte', + 'case', + 'casex', + 'casez', + 'cell', + 'chandle', + 'checker', + 'class', + 'clocking', + 'cmos', + 'config', + 'const', + 'constraint', + 'context', + 'continue', + 'cover', + 'covergroup', + 'coverpoint', + 'cross', + 'deassign', + 'default', + 'defparam', + 'design', + 'disable', + 'dist', + 'do', + 'edge', + 'else', + 'end', + 'endcase', + 'endchecker', + 'endclass', + 'endclocking', + 'endconfig', + 'endfunction', + 'endgenerate', + 'endgroup', + 'endinterface', + 'endmodule', + 'endpackage', + 'endprimitive', + 'endprogram', + 'endproperty', + 'endspecify', + 'endsequence', + 'endtable', + 'endtask', + 'enum', + 'event', + 'eventually', + 'expect', + 'export', + 'extends', + 'extern', + 'final', + 'first_match', + 'for', + 'force', + 'foreach', + 'forever', + 'fork', + 'forkjoin', + 'function', + 'generate', + 'genvar', + 'global', + 'highz0', + 'highz1', + 'if', + 'iff', + 'ifnone', + 'ignore_bins', + 'illegal_bins', + 'implements', + 'implies', + 'import', + 'incdir', + 'include', + 'initial', + 'inout', + 'input', + 'inside', + 'instance', + 'int', + 'integer', + 'interconnect', + 'interface', + 'intersect', + 'join', + 'join_any', + 'join_none', + 'large', + 'let', + 'liblist', + 'library', + 'local', + 'localparam', + 'logic', + 'longint', + 'macromodule', + 'matches', + 'medium', + 'modport', + 'module', + 'nand', + 'negedge', + 'nettype', + 'new', + 'nexttime', + 'nmos', + 'nor', + 'noshowcancelled', + 'not', + 'notif0', + 'notif1', + 'null', + 'or', + 'output', + 'package', + 'packed', + 'parameter', + 'pmos', + 'posedge', + 'primitive', + 'priority', + 'program', + 'property', + 'protected', + 'pull0', + 'pull1', + 'pulldown', + 'pullup', + 'pulsestyle_ondetect', + 'pulsestyle_onevent', + 'pure', + 'rand', + 'randc', + 'randcase', + 'randsequence', + 'rcmos', + 'real', + 'realtime', + 'ref', + 'reg', + 'reject_on', + 'release', + 'repeat', + 'restrict', + 'return', + 'rnmos', + 'rpmos', + 'rtran', + 'rtranif0', + 'rtranif1', + 's_always', + 's_eventually', + 's_nexttime', + 's_until', + 's_until_with', + 'scalared', + 'sequence', + 'shortint', + 'shortreal', + 'showcancelled', + 'signed', + 'small', + 'soft', + 'solve', + 'specify', + 'specparam', + 'static', + 'string', + 'strong', + 'strong0', + 'strong1', + 'struct', + 'super', + 'supply0', + 'supply1', + 'sync_accept_on', + 'sync_reject_on', + 'table', + 'tagged', + 'task', + 'this', + 'throughout', + 'time', + 'timeprecision', + 'timeunit', + 'tran', + 'tranif0', + 'tranif1', + 'tri', + 'tri0', + 'tri1', + 'triand', + 'trior', + 'trireg', + 'type', + 'typedef', + 'union', + 'unique', + 'unique0', + 'unsigned', + 'until', + 'until_with', + 'untyped', + 'use', + 'uwire', + 'var', + 'vectored', + 'virtual', + 'void', + 'wait', + 'wait_order', + 'wand', + 'weak', + 'weak0', + 'weak1', + 'while', + 'wildcard', + 'wire', + 'with', + 'within', + 'wor', + 'xnor', + 'xor', + ], + builtin_gates: [ + 'and', + 'nand', + 'nor', + 'or', + 'xor', + 'xnor', + 'buf', + 'not', + 'bufif0', + 'bufif1', + 'notif1', + 'notif0', + 'cmos', + 'nmos', + 'pmos', + 'rcmos', + 'rnmos', + 'rpmos', + 'tran', + 'tranif1', + 'tranif0', + 'rtran', + 'rtranif1', + 'rtranif0', + ], + operators: [ + '=', + '+=', + '-=', + '*=', + '/=', + '%=', + '&=', + '|=', + '^=', + '<<=', + '>>+', + '<<<=', + '>>>=', + '?', + ':', + '+', + '-', + '!', + '~', + '&', + '~&', + '|', + '~|', + '^', + '~^', + '^~', + '+', + '-', + '*', + '/', + '%', + '==', + '!=', + '===', + '!==', + '==?', + '!=?', + '&&', + '||', + '**', + '<', + '<=', + '>', + '>=', + '&', + '|', + '^', + '>>', + '<<', + '>>>', + '<<<', + '++', + '--', + '->', + '<->', + 'inside', + 'dist', + '::', + '+:', + '-:', + '*>', + '&&&', + '|->', + '|=>', + '#=#', + ], + symbols: /[=>](?!@symbols)/, '@brackets'], + [ + /@symbols/, + { cases: { '@operators': 'delimiter', '@default': '' } }, + ], + { include: '@numbers' }, + [/[;,.]/, 'delimiter'], + { include: '@strings' }, + ], + identifier_or_keyword: [ + [ + /@identifier/, + { + cases: { + '@keywords': { token: 'keyword.$0' }, + '@default': 'identifier', + }, + }, + ], + ], + numbers: [ + [/\d+?[\d_]*(?:\.[\d_]+)?[eE][\-+]?\d+/, 'number.float'], + [/\d+?[\d_]*\.[\d_]+(?:\s*@timeunits)?/, 'number.float'], + [ + /(?:\d+?[\d_]*\s*)?'[sS]?[dD]\s*[0-9xXzZ?]+?[0-9xXzZ?_]*/, + 'number', + ], + [ + /(?:\d+?[\d_]*\s*)?'[sS]?[bB]\s*[0-1xXzZ?]+?[0-1xXzZ?_]*/, + 'number.binary', + ], + [ + /(?:\d+?[\d_]*\s*)?'[sS]?[oO]\s*[0-7xXzZ?]+?[0-7xXzZ?_]*/, + 'number.octal', + ], + [ + /(?:\d+?[\d_]*\s*)?'[sS]?[hH]\s*[0-9a-fA-FxXzZ?]+?[0-9a-fA-FxXzZ?_]*/, + 'number.hex', + ], + [/1step/, 'number'], + [/[\dxXzZ]+?[\dxXzZ_]*(?:\s*@timeunits)?/, 'number'], + [/'[01xXzZ]+/, 'number'], + ], + module_instance: [ + { include: '@whitespace' }, + [ + /(#?)(\()/, + ['', { token: '@brackets', next: '@port_connection' }], + ], + [ + /@identifier\s*[;={}\[\],]/, + { token: '@rematch', next: '@pop' }, + ], + [/@symbols|[;={}\[\],]/, { token: '@rematch', next: '@pop' }], + [/@identifier/, 'type'], + [/;/, 'delimiter', '@pop'], + ], + port_connection: [ + { include: '@identifier_or_keyword' }, + { include: '@whitespace' }, + [/@systemcall/, 'variable.predefined'], + { include: '@numbers' }, + { include: '@strings' }, + [/[,]/, 'delimiter'], + [/\(/, '@brackets', '@port_connection'], + [/\)/, '@brackets', '@pop'], + ], + whitespace: [ + [/[ \t\r\n]+/, ''], + [/\/\*/, 'comment', '@comment'], + [/\/\/.*$/, 'comment'], + ], + comment: [ + [/[^\/*]+/, 'comment'], + [/\*\//, 'comment', '@pop'], + [/[\/*]/, 'comment'], + ], + strings: [ + [/"([^"\\]|\\.)*$/, 'string.invalid'], + [/"/, 'string', '@string'], + ], + string: [ + [/[^\\"]+/, 'string'], + [/@escapes/, 'string.escape'], + [/\\./, 'string.escape.invalid'], + [/"/, 'string', '@pop'], + ], + include: [ + [ + /(\s*)(")([\w*\/*]*)(.\w*)(")/, + [ + '', + 'string.include.identifier', + 'string.include.identifier', + 'string.include.identifier', + { token: 'string.include.identifier', next: '@pop' }, + ], + ], + [ + /(\s*)(<)([\w*\/*]*)(.\w*)(>)/, + [ + '', + 'string.include.identifier', + 'string.include.identifier', + 'string.include.identifier', + { token: 'string.include.identifier', next: '@pop' }, + ], + ], + ], + }, + }; + }, + }, +]); diff --git a/docs/1960.1960.js b/docs/1960.1960.js new file mode 100644 index 00000000..0be30549 --- /dev/null +++ b/docs/1960.1960.js @@ -0,0 +1,378 @@ +(self.webpackChunkmermaid_live_editor = + self.webpackChunkmermaid_live_editor || []).push([ + [1960], + { + 71960: (e, t, n) => { + 'use strict'; + n.r(t), n.d(t, { conf: () => i, language: () => r }); + var i = { + comments: { lineComment: '//', blockComment: ['/*', '*/'] }, + brackets: [ + ['{', '}'], + ['[', ']'], + ['(', ')'], + ], + autoClosingPairs: [ + { open: '[', close: ']' }, + { open: '{', close: '}' }, + { open: '(', close: ')' }, + { open: "'", close: "'", notIn: ['string', 'comment'] }, + { open: '"', close: '"', notIn: ['string'] }, + ], + surroundingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"' }, + { open: "'", close: "'" }, + ], + folding: { + markers: { + start: new RegExp('^\\s*#pragma\\s+region\\b'), + end: new RegExp('^\\s*#pragma\\s+endregion\\b'), + }, + }, + }, + r = { + defaultToken: '', + tokenPostfix: '.cpp', + brackets: [ + { token: 'delimiter.curly', open: '{', close: '}' }, + { token: 'delimiter.parenthesis', open: '(', close: ')' }, + { token: 'delimiter.square', open: '[', close: ']' }, + { token: 'delimiter.angle', open: '<', close: '>' }, + ], + keywords: [ + 'abstract', + 'amp', + 'array', + 'auto', + 'bool', + 'break', + 'case', + 'catch', + 'char', + 'class', + 'const', + 'constexpr', + 'const_cast', + 'continue', + 'cpu', + 'decltype', + 'default', + 'delegate', + 'delete', + 'do', + 'double', + 'dynamic_cast', + 'each', + 'else', + 'enum', + 'event', + 'explicit', + 'export', + 'extern', + 'false', + 'final', + 'finally', + 'float', + 'for', + 'friend', + 'gcnew', + 'generic', + 'goto', + 'if', + 'in', + 'initonly', + 'inline', + 'int', + 'interface', + 'interior_ptr', + 'internal', + 'literal', + 'long', + 'mutable', + 'namespace', + 'new', + 'noexcept', + 'nullptr', + '__nullptr', + 'operator', + 'override', + 'partial', + 'pascal', + 'pin_ptr', + 'private', + 'property', + 'protected', + 'public', + 'ref', + 'register', + 'reinterpret_cast', + 'restrict', + 'return', + 'safe_cast', + 'sealed', + 'short', + 'signed', + 'sizeof', + 'static', + 'static_assert', + 'static_cast', + 'struct', + 'switch', + 'template', + 'this', + 'thread_local', + 'throw', + 'tile_static', + 'true', + 'try', + 'typedef', + 'typeid', + 'typename', + 'union', + 'unsigned', + 'using', + 'virtual', + 'void', + 'volatile', + 'wchar_t', + 'where', + 'while', + '_asm', + '_based', + '_cdecl', + '_declspec', + '_fastcall', + '_if_exists', + '_if_not_exists', + '_inline', + '_multiple_inheritance', + '_pascal', + '_single_inheritance', + '_stdcall', + '_virtual_inheritance', + '_w64', + '__abstract', + '__alignof', + '__asm', + '__assume', + '__based', + '__box', + '__builtin_alignof', + '__cdecl', + '__clrcall', + '__declspec', + '__delegate', + '__event', + '__except', + '__fastcall', + '__finally', + '__forceinline', + '__gc', + '__hook', + '__identifier', + '__if_exists', + '__if_not_exists', + '__inline', + '__int128', + '__int16', + '__int32', + '__int64', + '__int8', + '__interface', + '__leave', + '__m128', + '__m128d', + '__m128i', + '__m256', + '__m256d', + '__m256i', + '__m64', + '__multiple_inheritance', + '__newslot', + '__nogc', + '__noop', + '__nounwind', + '__novtordisp', + '__pascal', + '__pin', + '__pragma', + '__property', + '__ptr32', + '__ptr64', + '__raise', + '__restrict', + '__resume', + '__sealed', + '__single_inheritance', + '__stdcall', + '__super', + '__thiscall', + '__try', + '__try_cast', + '__typeof', + '__unaligned', + '__unhook', + '__uuidof', + '__value', + '__virtual_inheritance', + '__w64', + '__wchar_t', + ], + operators: [ + '=', + '>', + '<', + '!', + '~', + '?', + ':', + '==', + '<=', + '>=', + '!=', + '&&', + '||', + '++', + '--', + '+', + '-', + '*', + '/', + '&', + '|', + '^', + '%', + '<<', + '>>', + '>>>', + '+=', + '-=', + '*=', + '/=', + '&=', + '|=', + '^=', + '%=', + '<<=', + '>>=', + '>>>=', + ], + symbols: /[=>](?!@symbols)/, '@brackets'], + [ + /@symbols/, + { cases: { '@operators': 'delimiter', '@default': '' } }, + ], + [/\d*\d+[eE]([\-+]?\d+)?(@floatsuffix)/, 'number.float'], + [/\d*\.\d+([eE][\-+]?\d+)?(@floatsuffix)/, 'number.float'], + [/0[xX][0-9a-fA-F']*[0-9a-fA-F](@integersuffix)/, 'number.hex'], + [/0[0-7']*[0-7](@integersuffix)/, 'number.octal'], + [/0[bB][0-1']*[0-1](@integersuffix)/, 'number.binary'], + [/\d[\d']*\d(@integersuffix)/, 'number'], + [/\d(@integersuffix)/, 'number'], + [/[;,.]/, 'delimiter'], + [/"([^"\\]|\\.)*$/, 'string.invalid'], + [/"/, 'string', '@string'], + [/'[^\\']'/, 'string'], + [/(')(@escapes)(')/, ['string', 'string.escape', 'string']], + [/'/, 'string.invalid'], + ], + whitespace: [ + [/[ \t\r\n]+/, ''], + [/\/\*\*(?!\/)/, 'comment.doc', '@doccomment'], + [/\/\*/, 'comment', '@comment'], + [/\/\/.*$/, 'comment'], + ], + comment: [ + [/[^\/*]+/, 'comment'], + [/\*\//, 'comment', '@pop'], + [/[\/*]/, 'comment'], + ], + doccomment: [ + [/[^\/*]+/, 'comment.doc'], + [/\*\//, 'comment.doc', '@pop'], + [/[\/*]/, 'comment.doc'], + ], + string: [ + [/[^\\"]+/, 'string'], + [/@escapes/, 'string.escape'], + [/\\./, 'string.escape.invalid'], + [/"/, 'string', '@pop'], + ], + raw: [ + [ + /(.*)(\))(?:([^ ()\\\t"]*))(\")/, + { + cases: { + '$3==$S2': [ + 'string.raw', + 'string.raw.end', + 'string.raw.end', + { token: 'string.raw.end', next: '@pop' }, + ], + '@default': [ + 'string.raw', + 'string.raw', + 'string.raw', + 'string.raw', + ], + }, + }, + ], + [/.*/, 'string.raw'], + ], + include: [ + [ + /(\s*)(<)([^<>]*)(>)/, + [ + '', + 'keyword.directive.include.begin', + 'string.include.identifier', + { token: 'keyword.directive.include.end', next: '@pop' }, + ], + ], + [ + /(\s*)(")([^"]*)(")/, + [ + '', + 'keyword.directive.include.begin', + 'string.include.identifier', + { token: 'keyword.directive.include.end', next: '@pop' }, + ], + ], + ], + }, + }; + }, + }, +]); diff --git a/docs/1961.1961.js b/docs/1961.1961.js new file mode 100644 index 00000000..1b97f5f8 --- /dev/null +++ b/docs/1961.1961.js @@ -0,0 +1,1172 @@ +(self.webpackChunkmermaid_live_editor = + self.webpackChunkmermaid_live_editor || []).push([ + [1961], + { + 31961: (E, T, S) => { + 'use strict'; + S.r(T), S.d(T, { conf: () => R, language: () => A }); + var R = { + comments: { lineComment: '--', blockComment: ['/*', '*/'] }, + brackets: [ + ['{', '}'], + ['[', ']'], + ['(', ')'], + ], + autoClosingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"' }, + { open: "'", close: "'" }, + ], + surroundingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"' }, + { open: "'", close: "'" }, + ], + }, + A = { + defaultToken: '', + tokenPostfix: '.sql', + ignoreCase: !0, + brackets: [ + { open: '[', close: ']', token: 'delimiter.square' }, + { open: '(', close: ')', token: 'delimiter.parenthesis' }, + ], + keywords: [ + 'ACCESSIBLE', + 'ACCOUNT', + 'ACTION', + 'ADD', + 'AFTER', + 'AGAINST', + 'AGGREGATE', + 'ALGORITHM', + 'ALL', + 'ALTER', + 'ALWAYS', + 'ANALYSE', + 'ANALYZE', + 'AND', + 'ANY', + 'AS', + 'ASC', + 'ASCII', + 'ASENSITIVE', + 'AT', + 'AUTOEXTEND_SIZE', + 'AUTO_INCREMENT', + 'AVG', + 'AVG_ROW_LENGTH', + 'BACKUP', + 'BEFORE', + 'BEGIN', + 'BETWEEN', + 'BIGINT', + 'BINARY', + 'BINLOG', + 'BIT', + 'BLOB', + 'BLOCK', + 'BOOL', + 'BOOLEAN', + 'BOTH', + 'BTREE', + 'BY', + 'BYTE', + 'CACHE', + 'CALL', + 'CASCADE', + 'CASCADED', + 'CASE', + 'CATALOG_NAME', + 'CHAIN', + 'CHANGE', + 'CHANGED', + 'CHANNEL', + 'CHAR', + 'CHARACTER', + 'CHARSET', + 'CHECK', + 'CHECKSUM', + 'CIPHER', + 'CLASS_ORIGIN', + 'CLIENT', + 'CLOSE', + 'COALESCE', + 'CODE', + 'COLLATE', + 'COLLATION', + 'COLUMN', + 'COLUMNS', + 'COLUMN_FORMAT', + 'COLUMN_NAME', + 'COMMENT', + 'COMMIT', + 'COMMITTED', + 'COMPACT', + 'COMPLETION', + 'COMPRESSED', + 'COMPRESSION', + 'CONCURRENT', + 'CONDITION', + 'CONNECTION', + 'CONSISTENT', + 'CONSTRAINT', + 'CONSTRAINT_CATALOG', + 'CONSTRAINT_NAME', + 'CONSTRAINT_SCHEMA', + 'CONTAINS', + 'CONTEXT', + 'CONTINUE', + 'CONVERT', + 'CPU', + 'CREATE', + 'CROSS', + 'CUBE', + 'CURRENT', + 'CURRENT_DATE', + 'CURRENT_TIME', + 'CURRENT_TIMESTAMP', + 'CURRENT_USER', + 'CURSOR', + 'CURSOR_NAME', + 'DATA', + 'DATABASE', + 'DATABASES', + 'DATAFILE', + 'DATE', + 'DATETIME', + 'DAY', + 'DAY_HOUR', + 'DAY_MICROSECOND', + 'DAY_MINUTE', + 'DAY_SECOND', + 'DEALLOCATE', + 'DEC', + 'DECIMAL', + 'DECLARE', + 'DEFAULT', + 'DEFAULT_AUTH', + 'DEFINER', + 'DELAYED', + 'DELAY_KEY_WRITE', + 'DELETE', + 'DESC', + 'DESCRIBE', + 'DES_KEY_FILE', + 'DETERMINISTIC', + 'DIAGNOSTICS', + 'DIRECTORY', + 'DISABLE', + 'DISCARD', + 'DISK', + 'DISTINCT', + 'DISTINCTROW', + 'DIV', + 'DO', + 'DOUBLE', + 'DROP', + 'DUAL', + 'DUMPFILE', + 'DUPLICATE', + 'DYNAMIC', + 'EACH', + 'ELSE', + 'ELSEIF', + 'ENABLE', + 'ENCLOSED', + 'ENCRYPTION', + 'END', + 'ENDS', + 'ENGINE', + 'ENGINES', + 'ENUM', + 'ERROR', + 'ERRORS', + 'ESCAPE', + 'ESCAPED', + 'EVENT', + 'EVENTS', + 'EVERY', + 'EXCHANGE', + 'EXECUTE', + 'EXISTS', + 'EXIT', + 'EXPANSION', + 'EXPIRE', + 'EXPLAIN', + 'EXPORT', + 'EXTENDED', + 'EXTENT_SIZE', + 'FALSE', + 'FAST', + 'FAULTS', + 'FETCH', + 'FIELDS', + 'FILE', + 'FILE_BLOCK_SIZE', + 'FILTER', + 'FIRST', + 'FIXED', + 'FLOAT', + 'FLOAT4', + 'FLOAT8', + 'FLUSH', + 'FOLLOWS', + 'FOR', + 'FORCE', + 'FOREIGN', + 'FORMAT', + 'FOUND', + 'FROM', + 'FULL', + 'FULLTEXT', + 'FUNCTION', + 'GENERAL', + 'GENERATED', + 'GEOMETRY', + 'GEOMETRYCOLLECTION', + 'GET', + 'GET_FORMAT', + 'GLOBAL', + 'GRANT', + 'GRANTS', + 'GROUP', + 'GROUP_REPLICATION', + 'HANDLER', + 'HASH', + 'HAVING', + 'HELP', + 'HIGH_PRIORITY', + 'HOST', + 'HOSTS', + 'HOUR', + 'HOUR_MICROSECOND', + 'HOUR_MINUTE', + 'HOUR_SECOND', + 'IDENTIFIED', + 'IF', + 'IGNORE', + 'IGNORE_SERVER_IDS', + 'IMPORT', + 'INDEX', + 'INDEXES', + 'INFILE', + 'INITIAL_SIZE', + 'INNER', + 'INOUT', + 'INSENSITIVE', + 'INSERT', + 'INSERT_METHOD', + 'INSTALL', + 'INSTANCE', + 'INT', + 'INT1', + 'INT2', + 'INT3', + 'INT4', + 'INT8', + 'INTEGER', + 'INTERVAL', + 'INTO', + 'INVOKER', + 'IO', + 'IO_AFTER_GTIDS', + 'IO_BEFORE_GTIDS', + 'IO_THREAD', + 'IPC', + 'ISOLATION', + 'ISSUER', + 'ITERATE', + 'JOIN', + 'JSON', + 'KEY', + 'KEYS', + 'KEY_BLOCK_SIZE', + 'KILL', + 'LANGUAGE', + 'LAST', + 'LEADING', + 'LEAVE', + 'LEAVES', + 'LEFT', + 'LESS', + 'LEVEL', + 'LIKE', + 'LIMIT', + 'LINEAR', + 'LINES', + 'LINESTRING', + 'LIST', + 'LOAD', + 'LOCAL', + 'LOCALTIME', + 'LOCALTIMESTAMP', + 'LOCK', + 'LOCKS', + 'LOGFILE', + 'LOGS', + 'LONG', + 'LONGBLOB', + 'LONGTEXT', + 'LOOP', + 'LOW_PRIORITY', + 'MASTER', + 'MASTER_AUTO_POSITION', + 'MASTER_BIND', + 'MASTER_CONNECT_RETRY', + 'MASTER_DELAY', + 'MASTER_HEARTBEAT_PERIOD', + 'MASTER_HOST', + 'MASTER_LOG_FILE', + 'MASTER_LOG_POS', + 'MASTER_PASSWORD', + 'MASTER_PORT', + 'MASTER_RETRY_COUNT', + 'MASTER_SERVER_ID', + 'MASTER_SSL', + 'MASTER_SSL_CA', + 'MASTER_SSL_CAPATH', + 'MASTER_SSL_CERT', + 'MASTER_SSL_CIPHER', + 'MASTER_SSL_CRL', + 'MASTER_SSL_CRLPATH', + 'MASTER_SSL_KEY', + 'MASTER_SSL_VERIFY_SERVER_CERT', + 'MASTER_TLS_VERSION', + 'MASTER_USER', + 'MATCH', + 'MAXVALUE', + 'MAX_CONNECTIONS_PER_HOUR', + 'MAX_QUERIES_PER_HOUR', + 'MAX_ROWS', + 'MAX_SIZE', + 'MAX_STATEMENT_TIME', + 'MAX_UPDATES_PER_HOUR', + 'MAX_USER_CONNECTIONS', + 'MEDIUM', + 'MEDIUMBLOB', + 'MEDIUMINT', + 'MEDIUMTEXT', + 'MEMORY', + 'MERGE', + 'MESSAGE_TEXT', + 'MICROSECOND', + 'MIDDLEINT', + 'MIGRATE', + 'MINUTE', + 'MINUTE_MICROSECOND', + 'MINUTE_SECOND', + 'MIN_ROWS', + 'MOD', + 'MODE', + 'MODIFIES', + 'MODIFY', + 'MONTH', + 'MULTILINESTRING', + 'MULTIPOINT', + 'MULTIPOLYGON', + 'MUTEX', + 'MYSQL_ERRNO', + 'NAME', + 'NAMES', + 'NATIONAL', + 'NATURAL', + 'NCHAR', + 'NDB', + 'NDBCLUSTER', + 'NEVER', + 'NEW', + 'NEXT', + 'NO', + 'NODEGROUP', + 'NONBLOCKING', + 'NONE', + 'NO_WAIT', + 'NO_WRITE_TO_BINLOG', + 'NUMBER', + 'NUMERIC', + 'NVARCHAR', + 'OFFSET', + 'OLD_PASSWORD', + 'ON', + 'ONE', + 'ONLY', + 'OPEN', + 'OPTIMIZE', + 'OPTIMIZER_COSTS', + 'OPTION', + 'OPTIONALLY', + 'OPTIONS', + 'OR', + 'ORDER', + 'OUT', + 'OUTER', + 'OUTFILE', + 'OWNER', + 'PACK_KEYS', + 'PAGE', + 'PARSER', + 'PARSE_GCOL_EXPR', + 'PARTIAL', + 'PARTITION', + 'PARTITIONING', + 'PARTITIONS', + 'PASSWORD', + 'PHASE', + 'PLUGIN', + 'PLUGINS', + 'PLUGIN_DIR', + 'POINT', + 'POLYGON', + 'PORT', + 'PRECEDES', + 'PRECISION', + 'PREPARE', + 'PRESERVE', + 'PREV', + 'PRIMARY', + 'PRIVILEGES', + 'PROCEDURE', + 'PROCESSLIST', + 'PROFILE', + 'PROFILES', + 'PROXY', + 'PURGE', + 'QUARTER', + 'QUERY', + 'QUICK', + 'RANGE', + 'READ', + 'READS', + 'READ_ONLY', + 'READ_WRITE', + 'REAL', + 'REBUILD', + 'RECOVER', + 'REDOFILE', + 'REDO_BUFFER_SIZE', + 'REDUNDANT', + 'REFERENCES', + 'REGEXP', + 'RELAY', + 'RELAYLOG', + 'RELAY_LOG_FILE', + 'RELAY_LOG_POS', + 'RELAY_THREAD', + 'RELEASE', + 'RELOAD', + 'REMOVE', + 'RENAME', + 'REORGANIZE', + 'REPAIR', + 'REPEAT', + 'REPEATABLE', + 'REPLACE', + 'REPLICATE_DO_DB', + 'REPLICATE_DO_TABLE', + 'REPLICATE_IGNORE_DB', + 'REPLICATE_IGNORE_TABLE', + 'REPLICATE_REWRITE_DB', + 'REPLICATE_WILD_DO_TABLE', + 'REPLICATE_WILD_IGNORE_TABLE', + 'REPLICATION', + 'REQUIRE', + 'RESET', + 'RESIGNAL', + 'RESTORE', + 'RESTRICT', + 'RESUME', + 'RETURN', + 'RETURNED_SQLSTATE', + 'RETURNS', + 'REVERSE', + 'REVOKE', + 'RIGHT', + 'RLIKE', + 'ROLLBACK', + 'ROLLUP', + 'ROTATE', + 'ROUTINE', + 'ROW', + 'ROWS', + 'ROW_COUNT', + 'ROW_FORMAT', + 'RTREE', + 'SAVEPOINT', + 'SCHEDULE', + 'SCHEMA', + 'SCHEMAS', + 'SCHEMA_NAME', + 'SECOND', + 'SECOND_MICROSECOND', + 'SECURITY', + 'SELECT', + 'SENSITIVE', + 'SEPARATOR', + 'SERIAL', + 'SERIALIZABLE', + 'SERVER', + 'SESSION', + 'SET', + 'SHARE', + 'SHOW', + 'SHUTDOWN', + 'SIGNAL', + 'SIGNED', + 'SIMPLE', + 'SLAVE', + 'SLOW', + 'SMALLINT', + 'SNAPSHOT', + 'SOCKET', + 'SOME', + 'SONAME', + 'SOUNDS', + 'SOURCE', + 'SPATIAL', + 'SPECIFIC', + 'SQL', + 'SQLEXCEPTION', + 'SQLSTATE', + 'SQLWARNING', + 'SQL_AFTER_GTIDS', + 'SQL_AFTER_MTS_GAPS', + 'SQL_BEFORE_GTIDS', + 'SQL_BIG_RESULT', + 'SQL_BUFFER_RESULT', + 'SQL_CACHE', + 'SQL_CALC_FOUND_ROWS', + 'SQL_NO_CACHE', + 'SQL_SMALL_RESULT', + 'SQL_THREAD', + 'SQL_TSI_DAY', + 'SQL_TSI_HOUR', + 'SQL_TSI_MINUTE', + 'SQL_TSI_MONTH', + 'SQL_TSI_QUARTER', + 'SQL_TSI_SECOND', + 'SQL_TSI_WEEK', + 'SQL_TSI_YEAR', + 'SSL', + 'STACKED', + 'START', + 'STARTING', + 'STARTS', + 'STATS_AUTO_RECALC', + 'STATS_PERSISTENT', + 'STATS_SAMPLE_PAGES', + 'STATUS', + 'STOP', + 'STORAGE', + 'STORED', + 'STRAIGHT_JOIN', + 'STRING', + 'SUBCLASS_ORIGIN', + 'SUBJECT', + 'SUBPARTITION', + 'SUBPARTITIONS', + 'SUPER', + 'SUSPEND', + 'SWAPS', + 'SWITCHES', + 'TABLE', + 'TABLES', + 'TABLESPACE', + 'TABLE_CHECKSUM', + 'TABLE_NAME', + 'TEMPORARY', + 'TEMPTABLE', + 'TERMINATED', + 'TEXT', + 'THAN', + 'THEN', + 'TIME', + 'TIMESTAMP', + 'TIMESTAMPADD', + 'TIMESTAMPDIFF', + 'TINYBLOB', + 'TINYINT', + 'TINYTEXT', + 'TO', + 'TRAILING', + 'TRANSACTION', + 'TRIGGER', + 'TRIGGERS', + 'TRUE', + 'TRUNCATE', + 'TYPE', + 'TYPES', + 'UNCOMMITTED', + 'UNDEFINED', + 'UNDO', + 'UNDOFILE', + 'UNDO_BUFFER_SIZE', + 'UNICODE', + 'UNINSTALL', + 'UNION', + 'UNIQUE', + 'UNKNOWN', + 'UNLOCK', + 'UNSIGNED', + 'UNTIL', + 'UPDATE', + 'UPGRADE', + 'USAGE', + 'USE', + 'USER', + 'USER_RESOURCES', + 'USE_FRM', + 'USING', + 'UTC_DATE', + 'UTC_TIME', + 'UTC_TIMESTAMP', + 'VALIDATION', + 'VALUE', + 'VALUES', + 'VARBINARY', + 'VARCHAR', + 'VARCHARACTER', + 'VARIABLES', + 'VARYING', + 'VIEW', + 'VIRTUAL', + 'WAIT', + 'WARNINGS', + 'WEEK', + 'WEIGHT_STRING', + 'WHEN', + 'WHERE', + 'WHILE', + 'WITH', + 'WITHOUT', + 'WORK', + 'WRAPPER', + 'WRITE', + 'X509', + 'XA', + 'XID', + 'XML', + 'XOR', + 'YEAR', + 'YEAR_MONTH', + 'ZEROFILL', + ], + operators: [ + 'AND', + 'BETWEEN', + 'IN', + 'LIKE', + 'NOT', + 'OR', + 'IS', + 'NULL', + 'INTERSECT', + 'UNION', + 'INNER', + 'JOIN', + 'LEFT', + 'OUTER', + 'RIGHT', + ], + builtinFunctions: [ + 'ABS', + 'ACOS', + 'ADDDATE', + 'ADDTIME', + 'AES_DECRYPT', + 'AES_ENCRYPT', + 'ANY_VALUE', + 'Area', + 'AsBinary', + 'AsWKB', + 'ASCII', + 'ASIN', + 'AsText', + 'AsWKT', + 'ASYMMETRIC_DECRYPT', + 'ASYMMETRIC_DERIVE', + 'ASYMMETRIC_ENCRYPT', + 'ASYMMETRIC_SIGN', + 'ASYMMETRIC_VERIFY', + 'ATAN', + 'ATAN2', + 'ATAN', + 'AVG', + 'BENCHMARK', + 'BIN', + 'BIT_AND', + 'BIT_COUNT', + 'BIT_LENGTH', + 'BIT_OR', + 'BIT_XOR', + 'Buffer', + 'CAST', + 'CEIL', + 'CEILING', + 'Centroid', + 'CHAR', + 'CHAR_LENGTH', + 'CHARACTER_LENGTH', + 'CHARSET', + 'COALESCE', + 'COERCIBILITY', + 'COLLATION', + 'COMPRESS', + 'CONCAT', + 'CONCAT_WS', + 'CONNECTION_ID', + 'Contains', + 'CONV', + 'CONVERT', + 'CONVERT_TZ', + 'ConvexHull', + 'COS', + 'COT', + 'COUNT', + 'CRC32', + 'CREATE_ASYMMETRIC_PRIV_KEY', + 'CREATE_ASYMMETRIC_PUB_KEY', + 'CREATE_DH_PARAMETERS', + 'CREATE_DIGEST', + 'Crosses', + 'CURDATE', + 'CURRENT_DATE', + 'CURRENT_TIME', + 'CURRENT_TIMESTAMP', + 'CURRENT_USER', + 'CURTIME', + 'DATABASE', + 'DATE', + 'DATE_ADD', + 'DATE_FORMAT', + 'DATE_SUB', + 'DATEDIFF', + 'DAY', + 'DAYNAME', + 'DAYOFMONTH', + 'DAYOFWEEK', + 'DAYOFYEAR', + 'DECODE', + 'DEFAULT', + 'DEGREES', + 'DES_DECRYPT', + 'DES_ENCRYPT', + 'Dimension', + 'Disjoint', + 'Distance', + 'ELT', + 'ENCODE', + 'ENCRYPT', + 'EndPoint', + 'Envelope', + 'Equals', + 'EXP', + 'EXPORT_SET', + 'ExteriorRing', + 'EXTRACT', + 'ExtractValue', + 'FIELD', + 'FIND_IN_SET', + 'FLOOR', + 'FORMAT', + 'FOUND_ROWS', + 'FROM_BASE64', + 'FROM_DAYS', + 'FROM_UNIXTIME', + 'GeomCollFromText', + 'GeometryCollectionFromText', + 'GeomCollFromWKB', + 'GeometryCollectionFromWKB', + 'GeometryCollection', + 'GeometryN', + 'GeometryType', + 'GeomFromText', + 'GeometryFromText', + 'GeomFromWKB', + 'GeometryFromWKB', + 'GET_FORMAT', + 'GET_LOCK', + 'GLength', + 'GREATEST', + 'GROUP_CONCAT', + 'GTID_SUBSET', + 'GTID_SUBTRACT', + 'HEX', + 'HOUR', + 'IF', + 'IFNULL', + 'INET_ATON', + 'INET_NTOA', + 'INET6_ATON', + 'INET6_NTOA', + 'INSERT', + 'INSTR', + 'InteriorRingN', + 'Intersects', + 'INTERVAL', + 'IS_FREE_LOCK', + 'IS_IPV4', + 'IS_IPV4_COMPAT', + 'IS_IPV4_MAPPED', + 'IS_IPV6', + 'IS_USED_LOCK', + 'IsClosed', + 'IsEmpty', + 'ISNULL', + 'IsSimple', + 'JSON_APPEND', + 'JSON_ARRAY', + 'JSON_ARRAY_APPEND', + 'JSON_ARRAY_INSERT', + 'JSON_CONTAINS', + 'JSON_CONTAINS_PATH', + 'JSON_DEPTH', + 'JSON_EXTRACT', + 'JSON_INSERT', + 'JSON_KEYS', + 'JSON_LENGTH', + 'JSON_MERGE', + 'JSON_MERGE_PRESERVE', + 'JSON_OBJECT', + 'JSON_QUOTE', + 'JSON_REMOVE', + 'JSON_REPLACE', + 'JSON_SEARCH', + 'JSON_SET', + 'JSON_TYPE', + 'JSON_UNQUOTE', + 'JSON_VALID', + 'LAST_INSERT_ID', + 'LCASE', + 'LEAST', + 'LEFT', + 'LENGTH', + 'LineFromText', + 'LineStringFromText', + 'LineFromWKB', + 'LineStringFromWKB', + 'LineString', + 'LN', + 'LOAD_FILE', + 'LOCALTIME', + 'LOCALTIMESTAMP', + 'LOCATE', + 'LOG', + 'LOG10', + 'LOG2', + 'LOWER', + 'LPAD', + 'LTRIM', + 'MAKE_SET', + 'MAKEDATE', + 'MAKETIME', + 'MASTER_POS_WAIT', + 'MAX', + 'MBRContains', + 'MBRCoveredBy', + 'MBRCovers', + 'MBRDisjoint', + 'MBREqual', + 'MBREquals', + 'MBRIntersects', + 'MBROverlaps', + 'MBRTouches', + 'MBRWithin', + 'MD5', + 'MICROSECOND', + 'MID', + 'MIN', + 'MINUTE', + 'MLineFromText', + 'MultiLineStringFromText', + 'MLineFromWKB', + 'MultiLineStringFromWKB', + 'MOD', + 'MONTH', + 'MONTHNAME', + 'MPointFromText', + 'MultiPointFromText', + 'MPointFromWKB', + 'MultiPointFromWKB', + 'MPolyFromText', + 'MultiPolygonFromText', + 'MPolyFromWKB', + 'MultiPolygonFromWKB', + 'MultiLineString', + 'MultiPoint', + 'MultiPolygon', + 'NAME_CONST', + 'NOT IN', + 'NOW', + 'NULLIF', + 'NumGeometries', + 'NumInteriorRings', + 'NumPoints', + 'OCT', + 'OCTET_LENGTH', + 'OLD_PASSWORD', + 'ORD', + 'Overlaps', + 'PASSWORD', + 'PERIOD_ADD', + 'PERIOD_DIFF', + 'PI', + 'Point', + 'PointFromText', + 'PointFromWKB', + 'PointN', + 'PolyFromText', + 'PolygonFromText', + 'PolyFromWKB', + 'PolygonFromWKB', + 'Polygon', + 'POSITION', + 'POW', + 'POWER', + 'PROCEDURE ANALYSE', + 'QUARTER', + 'QUOTE', + 'RADIANS', + 'RAND', + 'RANDOM_BYTES', + 'RELEASE_ALL_LOCKS', + 'RELEASE_LOCK', + 'REPEAT', + 'REPLACE', + 'REVERSE', + 'RIGHT', + 'ROUND', + 'ROW_COUNT', + 'RPAD', + 'RTRIM', + 'SCHEMA', + 'SEC_TO_TIME', + 'SECOND', + 'SESSION_USER', + 'SHA1', + 'SHA', + 'SHA2', + 'SIGN', + 'SIN', + 'SLEEP', + 'SOUNDEX', + 'SPACE', + 'SQRT', + 'SRID', + 'ST_Area', + 'ST_AsBinary', + 'ST_AsWKB', + 'ST_AsGeoJSON', + 'ST_AsText', + 'ST_AsWKT', + 'ST_Buffer', + 'ST_Buffer_Strategy', + 'ST_Centroid', + 'ST_Contains', + 'ST_ConvexHull', + 'ST_Crosses', + 'ST_Difference', + 'ST_Dimension', + 'ST_Disjoint', + 'ST_Distance', + 'ST_Distance_Sphere', + 'ST_EndPoint', + 'ST_Envelope', + 'ST_Equals', + 'ST_ExteriorRing', + 'ST_GeoHash', + 'ST_GeomCollFromText', + 'ST_GeometryCollectionFromText', + 'ST_GeomCollFromTxt', + 'ST_GeomCollFromWKB', + 'ST_GeometryCollectionFromWKB', + 'ST_GeometryN', + 'ST_GeometryType', + 'ST_GeomFromGeoJSON', + 'ST_GeomFromText', + 'ST_GeometryFromText', + 'ST_GeomFromWKB', + 'ST_GeometryFromWKB', + 'ST_InteriorRingN', + 'ST_Intersection', + 'ST_Intersects', + 'ST_IsClosed', + 'ST_IsEmpty', + 'ST_IsSimple', + 'ST_IsValid', + 'ST_LatFromGeoHash', + 'ST_Length', + 'ST_LineFromText', + 'ST_LineStringFromText', + 'ST_LineFromWKB', + 'ST_LineStringFromWKB', + 'ST_LongFromGeoHash', + 'ST_MakeEnvelope', + 'ST_MLineFromText', + 'ST_MultiLineStringFromText', + 'ST_MLineFromWKB', + 'ST_MultiLineStringFromWKB', + 'ST_MPointFromText', + 'ST_MultiPointFromText', + 'ST_MPointFromWKB', + 'ST_MultiPointFromWKB', + 'ST_MPolyFromText', + 'ST_MultiPolygonFromText', + 'ST_MPolyFromWKB', + 'ST_MultiPolygonFromWKB', + 'ST_NumGeometries', + 'ST_NumInteriorRing', + 'ST_NumInteriorRings', + 'ST_NumPoints', + 'ST_Overlaps', + 'ST_PointFromGeoHash', + 'ST_PointFromText', + 'ST_PointFromWKB', + 'ST_PointN', + 'ST_PolyFromText', + 'ST_PolygonFromText', + 'ST_PolyFromWKB', + 'ST_PolygonFromWKB', + 'ST_Simplify', + 'ST_SRID', + 'ST_StartPoint', + 'ST_SymDifference', + 'ST_Touches', + 'ST_Union', + 'ST_Validate', + 'ST_Within', + 'ST_X', + 'ST_Y', + 'StartPoint', + 'STD', + 'STDDEV', + 'STDDEV_POP', + 'STDDEV_SAMP', + 'STR_TO_DATE', + 'STRCMP', + 'SUBDATE', + 'SUBSTR', + 'SUBSTRING', + 'SUBSTRING_INDEX', + 'SUBTIME', + 'SUM', + 'SYSDATE', + 'SYSTEM_USER', + 'TAN', + 'TIME', + 'TIME_FORMAT', + 'TIME_TO_SEC', + 'TIMEDIFF', + 'TIMESTAMP', + 'TIMESTAMPADD', + 'TIMESTAMPDIFF', + 'TO_BASE64', + 'TO_DAYS', + 'TO_SECONDS', + 'Touches', + 'TRIM', + 'TRUNCATE', + 'UCASE', + 'UNCOMPRESS', + 'UNCOMPRESSED_LENGTH', + 'UNHEX', + 'UNIX_TIMESTAMP', + 'UpdateXML', + 'UPPER', + 'USER', + 'UTC_DATE', + 'UTC_TIME', + 'UTC_TIMESTAMP', + 'UUID', + 'UUID_SHORT', + 'VALIDATE_PASSWORD_STRENGTH', + 'VALUES', + 'VAR_POP', + 'VAR_SAMP', + 'VARIANCE', + 'VERSION', + 'WAIT_FOR_EXECUTED_GTID_SET', + 'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS', + 'WEEK', + 'WEEKDAY', + 'WEEKOFYEAR', + 'WEIGHT_STRING', + 'Within', + 'X', + 'Y', + 'YEAR', + 'YEARWEEK', + ], + builtinVariables: [], + tokenizer: { + root: [ + { include: '@comments' }, + { include: '@whitespace' }, + { include: '@numbers' }, + { include: '@strings' }, + { include: '@complexIdentifiers' }, + { include: '@scopes' }, + [/[;,.]/, 'delimiter'], + [/[()]/, '@brackets'], + [ + /[\w@]+/, + { + cases: { + '@keywords': 'keyword', + '@operators': 'operator', + '@builtinVariables': 'predefined', + '@builtinFunctions': 'predefined', + '@default': 'identifier', + }, + }, + ], + [/[<>=!%&+\-*/|~^]/, 'operator'], + ], + whitespace: [[/\s+/, 'white']], + comments: [ + [/--+.*/, 'comment'], + [/#+.*/, 'comment'], + [/\/\*/, { token: 'comment.quote', next: '@comment' }], + ], + comment: [ + [/[^*/]+/, 'comment'], + [/\*\//, { token: 'comment.quote', next: '@pop' }], + [/./, 'comment'], + ], + numbers: [ + [/0[xX][0-9a-fA-F]*/, 'number'], + [/[$][+-]*\d*(\.\d*)?/, 'number'], + [/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/, 'number'], + ], + strings: [ + [/'/, { token: 'string', next: '@string' }], + [/"/, { token: 'string.double', next: '@stringDouble' }], + ], + string: [ + [/[^']+/, 'string'], + [/''/, 'string'], + [/'/, { token: 'string', next: '@pop' }], + ], + stringDouble: [ + [/[^"]+/, 'string.double'], + [/""/, 'string.double'], + [/"/, { token: 'string.double', next: '@pop' }], + ], + complexIdentifiers: [ + [/`/, { token: 'identifier.quote', next: '@quotedIdentifier' }], + ], + quotedIdentifier: [ + [/[^`]+/, 'identifier'], + [/``/, 'identifier'], + [/`/, { token: 'identifier.quote', next: '@pop' }], + ], + scopes: [], + }, + }; + }, + }, +]); diff --git a/docs/2060.2060.js b/docs/2060.2060.js new file mode 100644 index 00000000..778ec17f --- /dev/null +++ b/docs/2060.2060.js @@ -0,0 +1,112 @@ +(self.webpackChunkmermaid_live_editor = + self.webpackChunkmermaid_live_editor || []).push([ + [2060], + { + 32060: (e, o, n) => { + 'use strict'; + n.r(o), n.d(o, { conf: () => t, language: () => s }); + var t = { + comments: { lineComment: ';', blockComment: ['#|', '|#'] }, + brackets: [ + ['(', ')'], + ['{', '}'], + ['[', ']'], + ], + autoClosingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"' }, + ], + surroundingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"' }, + ], + }, + s = { + defaultToken: '', + ignoreCase: !0, + tokenPostfix: '.scheme', + brackets: [ + { open: '(', close: ')', token: 'delimiter.parenthesis' }, + { open: '{', close: '}', token: 'delimiter.curly' }, + { open: '[', close: ']', token: 'delimiter.square' }, + ], + keywords: [ + 'case', + 'do', + 'let', + 'loop', + 'if', + 'else', + 'when', + 'cons', + 'car', + 'cdr', + 'cond', + 'lambda', + 'lambda*', + 'syntax-rules', + 'format', + 'set!', + 'quote', + 'eval', + 'append', + 'list', + 'list?', + 'member?', + 'load', + ], + constants: ['#t', '#f'], + operators: ['eq?', 'eqv?', 'equal?', 'and', 'or', 'not', 'null?'], + tokenizer: { + root: [ + [/#[xXoObB][0-9a-fA-F]+/, 'number.hex'], + [/[+-]?\d+(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?/, 'number.float'], + [ + /(?:\b(?:(define|define-syntax|define-macro))\b)(\s+)((?:\w|\-|\!|\?)*)/, + ['keyword', 'white', 'variable'], + ], + { include: '@whitespace' }, + { include: '@strings' }, + [ + /[a-zA-Z_#][a-zA-Z0-9_\-\?\!\*]*/, + { + cases: { + '@keywords': 'keyword', + '@constants': 'constant', + '@operators': 'operators', + '@default': 'identifier', + }, + }, + ], + ], + comment: [ + [/[^\|#]+/, 'comment'], + [/#\|/, 'comment', '@push'], + [/\|#/, 'comment', '@pop'], + [/[\|#]/, 'comment'], + ], + whitespace: [ + [/[ \t\r\n]+/, 'white'], + [/#\|/, 'comment', '@comment'], + [/;.*$/, 'comment'], + ], + strings: [ + [/"$/, 'string', '@popall'], + [/"(?=.)/, 'string', '@multiLineString'], + ], + multiLineString: [ + [/[^\\"]+$/, 'string', '@popall'], + [/[^\\"]+/, 'string'], + [/\\./, 'string.escape'], + [/"/, 'string', '@popall'], + [/\\$/, 'string'], + ], + }, + }; + }, + }, +]); diff --git a/docs/2075.2075.js b/docs/2075.2075.js new file mode 100644 index 00000000..8f17bc87 --- /dev/null +++ b/docs/2075.2075.js @@ -0,0 +1,222 @@ +(self.webpackChunkmermaid_live_editor = + self.webpackChunkmermaid_live_editor || []).push([ + [2075], + { + 62075: (e, t, n) => { + 'use strict'; + n.r(t), n.d(t, { conf: () => i, language: () => r }); + var i = { + wordPattern: /(#?-?\d*\.\d\w*%?)|((::|[@#.!:])?[\w-?]+%?)|::|[@#.!:]/g, + comments: { blockComment: ['/*', '*/'] }, + brackets: [ + ['{', '}'], + ['[', ']'], + ['(', ')'], + ], + autoClosingPairs: [ + { open: '{', close: '}', notIn: ['string', 'comment'] }, + { open: '[', close: ']', notIn: ['string', 'comment'] }, + { open: '(', close: ')', notIn: ['string', 'comment'] }, + { open: '"', close: '"', notIn: ['string', 'comment'] }, + { open: "'", close: "'", notIn: ['string', 'comment'] }, + ], + surroundingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"' }, + { open: "'", close: "'" }, + ], + folding: { + markers: { + start: new RegExp('^\\s*\\/\\*\\s*#region\\b\\s*(.*?)\\s*\\*\\/'), + end: new RegExp('^\\s*\\/\\*\\s*#endregion\\b.*\\*\\/'), + }, + }, + }, + r = { + defaultToken: '', + tokenPostfix: '.css', + ws: '[ \t\n\r\f]*', + identifier: + '-?-?([a-zA-Z]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))([\\w\\-]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))*', + brackets: [ + { open: '{', close: '}', token: 'delimiter.bracket' }, + { open: '[', close: ']', token: 'delimiter.bracket' }, + { open: '(', close: ')', token: 'delimiter.parenthesis' }, + { open: '<', close: '>', token: 'delimiter.angle' }, + ], + tokenizer: { + root: [{ include: '@selector' }], + selector: [ + { include: '@comments' }, + { include: '@import' }, + { include: '@strings' }, + [ + '[@](keyframes|-webkit-keyframes|-moz-keyframes|-o-keyframes)', + { token: 'keyword', next: '@keyframedeclaration' }, + ], + [ + '[@](page|content|font-face|-moz-document)', + { token: 'keyword' }, + ], + [ + '[@](charset|namespace)', + { token: 'keyword', next: '@declarationbody' }, + ], + [ + '(url-prefix)(\\()', + [ + 'attribute.value', + { token: 'delimiter.parenthesis', next: '@urldeclaration' }, + ], + ], + [ + '(url)(\\()', + [ + 'attribute.value', + { token: 'delimiter.parenthesis', next: '@urldeclaration' }, + ], + ], + { include: '@selectorname' }, + ['[\\*]', 'tag'], + ['[>\\+,]', 'delimiter'], + [ + '\\[', + { token: 'delimiter.bracket', next: '@selectorattribute' }, + ], + ['{', { token: 'delimiter.bracket', next: '@selectorbody' }], + ], + selectorbody: [ + { include: '@comments' }, + [ + '[*_]?@identifier@ws:(?=(\\s|\\d|[^{;}]*[;}]))', + 'attribute.name', + '@rulevalue', + ], + ['}', { token: 'delimiter.bracket', next: '@pop' }], + ], + selectorname: [['(\\.|#(?=[^{])|%|(@identifier)|:)+', 'tag']], + selectorattribute: [ + { include: '@term' }, + [']', { token: 'delimiter.bracket', next: '@pop' }], + ], + term: [ + { include: '@comments' }, + [ + '(url-prefix)(\\()', + [ + 'attribute.value', + { token: 'delimiter.parenthesis', next: '@urldeclaration' }, + ], + ], + [ + '(url)(\\()', + [ + 'attribute.value', + { token: 'delimiter.parenthesis', next: '@urldeclaration' }, + ], + ], + { include: '@functioninvocation' }, + { include: '@numbers' }, + { include: '@name' }, + ['([<>=\\+\\-\\*\\/\\^\\|\\~,])', 'delimiter'], + [',', 'delimiter'], + ], + rulevalue: [ + { include: '@comments' }, + { include: '@strings' }, + { include: '@term' }, + ['!important', 'keyword'], + [';', 'delimiter', '@pop'], + ['(?=})', { token: '', next: '@pop' }], + ], + warndebug: [ + [ + '[@](warn|debug)', + { token: 'keyword', next: '@declarationbody' }, + ], + ], + import: [ + ['[@](import)', { token: 'keyword', next: '@declarationbody' }], + ], + urldeclaration: [ + { include: '@strings' }, + ['[^)\r\n]+', 'string'], + ['\\)', { token: 'delimiter.parenthesis', next: '@pop' }], + ], + parenthizedterm: [ + { include: '@term' }, + ['\\)', { token: 'delimiter.parenthesis', next: '@pop' }], + ], + declarationbody: [ + { include: '@term' }, + [';', 'delimiter', '@pop'], + ['(?=})', { token: '', next: '@pop' }], + ], + comments: [ + ['\\/\\*', 'comment', '@comment'], + ['\\/\\/+.*', 'comment'], + ], + comment: [ + ['\\*\\/', 'comment', '@pop'], + [/[^*/]+/, 'comment'], + [/./, 'comment'], + ], + name: [['@identifier', 'attribute.value']], + numbers: [ + [ + '-?(\\d*\\.)?\\d+([eE][\\-+]?\\d+)?', + { token: 'attribute.value.number', next: '@units' }, + ], + ['#[0-9a-fA-F_]+(?!\\w)', 'attribute.value.hex'], + ], + units: [ + [ + '(em|ex|ch|rem|vmin|vmax|vw|vh|vm|cm|mm|in|px|pt|pc|deg|grad|rad|turn|s|ms|Hz|kHz|%)?', + 'attribute.value.unit', + '@pop', + ], + ], + keyframedeclaration: [ + ['@identifier', 'attribute.value'], + ['{', { token: 'delimiter.bracket', switchTo: '@keyframebody' }], + ], + keyframebody: [ + { include: '@term' }, + ['{', { token: 'delimiter.bracket', next: '@selectorbody' }], + ['}', { token: 'delimiter.bracket', next: '@pop' }], + ], + functioninvocation: [ + [ + '@identifier\\(', + { token: 'attribute.value', next: '@functionarguments' }, + ], + ], + functionarguments: [ + ['\\$@identifier@ws:', 'attribute.name'], + ['[,]', 'delimiter'], + { include: '@term' }, + ['\\)', { token: 'attribute.value', next: '@pop' }], + ], + strings: [ + ['~?"', { token: 'string', next: '@stringenddoublequote' }], + ["~?'", { token: 'string', next: '@stringendquote' }], + ], + stringenddoublequote: [ + ['\\\\.', 'string'], + ['"', { token: 'string', next: '@pop' }], + [/[^\\"]+/, 'string'], + ['.', 'string'], + ], + stringendquote: [ + ['\\\\.', 'string'], + ["'", { token: 'string', next: '@pop' }], + [/[^\\']+/, 'string'], + ['.', 'string'], + ], + }, + }; + }, + }, +]); diff --git a/docs/2140.2140.js b/docs/2140.2140.js new file mode 100644 index 00000000..0e9dc55d --- /dev/null +++ b/docs/2140.2140.js @@ -0,0 +1,222 @@ +(self.webpackChunkmermaid_live_editor = + self.webpackChunkmermaid_live_editor || []).push([ + [2140], + { + 22140: (e, o, r) => { + 'use strict'; + r.r(o), r.d(o, { conf: () => t, language: () => a }); + var t = { + comments: { lineComment: '#' }, + brackets: [ + ['{', '}'], + ['[', ']'], + ['(', ')'], + ], + autoClosingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"' }, + ], + surroundingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"' }, + ], + }, + a = { + defaultToken: '', + tokenPostfix: '.r', + roxygen: [ + '@param', + '@return', + '@name', + '@rdname', + '@examples', + '@include', + '@docType', + '@S3method', + '@TODO', + '@aliases', + '@alias', + '@assignee', + '@author', + '@callGraphDepth', + '@callGraph', + '@callGraphPrimitives', + '@concept', + '@exportClass', + '@exportMethod', + '@exportPattern', + '@export', + '@formals', + '@format', + '@importClassesFrom', + '@importFrom', + '@importMethodsFrom', + '@import', + '@keywords', + '@method', + '@nord', + '@note', + '@references', + '@seealso', + '@setClass', + '@slot', + '@source', + '@title', + '@usage', + ], + constants: [ + 'NULL', + 'FALSE', + 'TRUE', + 'NA', + 'Inf', + 'NaN ', + 'NA_integer_', + 'NA_real_', + 'NA_complex_', + 'NA_character_ ', + 'T', + 'F', + 'LETTERS', + 'letters', + 'month.abb', + 'month.name', + 'pi', + 'R.version.string', + ], + keywords: [ + 'break', + 'next', + 'return', + 'if', + 'else', + 'for', + 'in', + 'repeat', + 'while', + 'array', + 'category', + 'character', + 'complex', + 'double', + 'function', + 'integer', + 'list', + 'logical', + 'matrix', + 'numeric', + 'vector', + 'data.frame', + 'factor', + 'library', + 'require', + 'attach', + 'detach', + 'source', + ], + special: [ + '\\n', + '\\r', + '\\t', + '\\b', + '\\a', + '\\f', + '\\v', + "\\'", + '\\"', + '\\\\', + ], + brackets: [ + { open: '{', close: '}', token: 'delimiter.curly' }, + { open: '[', close: ']', token: 'delimiter.bracket' }, + { open: '(', close: ')', token: 'delimiter.parenthesis' }, + ], + tokenizer: { + root: [ + { include: '@numbers' }, + { include: '@strings' }, + [/[{}\[\]()]/, '@brackets'], + { include: '@operators' }, + [/#'/, 'comment.doc', '@roxygen'], + [/(^#.*$)/, 'comment'], + [/\s+/, 'white'], + [/[,:;]/, 'delimiter'], + [/@[a-zA-Z]\w*/, 'tag'], + [ + /[a-zA-Z]\w*/, + { + cases: { + '@keywords': 'keyword', + '@constants': 'constant', + '@default': 'identifier', + }, + }, + ], + ], + roxygen: [ + [ + /@\w+/, + { + cases: { + '@roxygen': 'tag', + '@eos': { token: 'comment.doc', next: '@pop' }, + '@default': 'comment.doc', + }, + }, + ], + [ + /\s+/, + { + cases: { + '@eos': { token: 'comment.doc', next: '@pop' }, + '@default': 'comment.doc', + }, + }, + ], + [/.*/, { token: 'comment.doc', next: '@pop' }], + ], + numbers: [ + [/0[xX][0-9a-fA-F]+/, 'number.hex'], + [/-?(\d*\.)?\d+([eE][+\-]?\d+)?/, 'number'], + ], + operators: [ + [/<{1,2}-/, 'operator'], + [/->{1,2}/, 'operator'], + [/%[^%\s]+%/, 'operator'], + [/\*\*/, 'operator'], + [/%%/, 'operator'], + [/&&/, 'operator'], + [/\|\|/, 'operator'], + [/<>/, 'operator'], + [/[-+=&|!<>^~*/:$]/, 'operator'], + ], + strings: [ + [/'/, 'string.escape', '@stringBody'], + [/"/, 'string.escape', '@dblStringBody'], + ], + stringBody: [ + [ + /\\./, + { cases: { '@special': 'string', '@default': 'error-token' } }, + ], + [/'/, 'string.escape', '@popall'], + [/./, 'string'], + ], + dblStringBody: [ + [ + /\\./, + { cases: { '@special': 'string', '@default': 'error-token' } }, + ], + [/"/, 'string.escape', '@popall'], + [/./, 'string'], + ], + }, + }; + }, + }, +]); diff --git a/docs/249.249.js b/docs/249.249.js new file mode 100644 index 00000000..ada5593e --- /dev/null +++ b/docs/249.249.js @@ -0,0 +1,201 @@ +(self.webpackChunkmermaid_live_editor = + self.webpackChunkmermaid_live_editor || []).push([ + [249], + { + 80249: (e, n, t) => { + 'use strict'; + t.r(n), t.d(n, { conf: () => o, language: () => s }); + var o = { + comments: { lineComment: '//', blockComment: ['/*', '*/'] }, + brackets: [ + ['{', '}'], + ['[', ']'], + ['(', ')'], + ], + autoClosingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '`', close: '`', notIn: ['string'] }, + { open: '"', close: '"', notIn: ['string'] }, + { open: "'", close: "'", notIn: ['string', 'comment'] }, + ], + surroundingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '`', close: '`' }, + { open: '"', close: '"' }, + { open: "'", close: "'" }, + ], + }, + s = { + defaultToken: '', + tokenPostfix: '.go', + keywords: [ + 'break', + 'case', + 'chan', + 'const', + 'continue', + 'default', + 'defer', + 'else', + 'fallthrough', + 'for', + 'func', + 'go', + 'goto', + 'if', + 'import', + 'interface', + 'map', + 'package', + 'range', + 'return', + 'select', + 'struct', + 'switch', + 'type', + 'var', + 'bool', + 'true', + 'false', + 'uint8', + 'uint16', + 'uint32', + 'uint64', + 'int8', + 'int16', + 'int32', + 'int64', + 'float32', + 'float64', + 'complex64', + 'complex128', + 'byte', + 'rune', + 'uint', + 'int', + 'uintptr', + 'string', + 'nil', + ], + operators: [ + '+', + '-', + '*', + '/', + '%', + '&', + '|', + '^', + '<<', + '>>', + '&^', + '+=', + '-=', + '*=', + '/=', + '%=', + '&=', + '|=', + '^=', + '<<=', + '>>=', + '&^=', + '&&', + '||', + '<-', + '++', + '--', + '==', + '<', + '>', + '=', + '!', + '!=', + '<=', + '>=', + ':=', + '...', + '(', + ')', + '', + ']', + '{', + '}', + ',', + ';', + '.', + ':', + ], + symbols: /[=>](?!@symbols)/, '@brackets'], + [ + /@symbols/, + { cases: { '@operators': 'delimiter', '@default': '' } }, + ], + [/\d*\d+[eE]([\-+]?\d+)?/, 'number.float'], + [/\d*\.\d+([eE][\-+]?\d+)?/, 'number.float'], + [/0[xX][0-9a-fA-F']*[0-9a-fA-F]/, 'number.hex'], + [/0[0-7']*[0-7]/, 'number.octal'], + [/0[bB][0-1']*[0-1]/, 'number.binary'], + [/\d[\d']*/, 'number'], + [/\d/, 'number'], + [/[;,.]/, 'delimiter'], + [/"([^"\\]|\\.)*$/, 'string.invalid'], + [/"/, 'string', '@string'], + [/`/, 'string', '@rawstring'], + [/'[^\\']'/, 'string'], + [/(')(@escapes)(')/, ['string', 'string.escape', 'string']], + [/'/, 'string.invalid'], + ], + whitespace: [ + [/[ \t\r\n]+/, ''], + [/\/\*\*(?!\/)/, 'comment.doc', '@doccomment'], + [/\/\*/, 'comment', '@comment'], + [/\/\/.*$/, 'comment'], + ], + comment: [ + [/[^\/*]+/, 'comment'], + [/\*\//, 'comment', '@pop'], + [/[\/*]/, 'comment'], + ], + doccomment: [ + [/[^\/*]+/, 'comment.doc'], + [/\/\*/, 'comment.doc.invalid'], + [/\*\//, 'comment.doc', '@pop'], + [/[\/*]/, 'comment.doc'], + ], + string: [ + [/[^\\"]+/, 'string'], + [/@escapes/, 'string.escape'], + [/\\./, 'string.escape.invalid'], + [/"/, 'string', '@pop'], + ], + rawstring: [ + [/[^\`]/, 'string'], + [/`/, 'string', '@pop'], + ], + }, + }; + }, + }, +]); diff --git a/docs/2571.2571.js b/docs/2571.2571.js new file mode 100644 index 00000000..7d4d77fd --- /dev/null +++ b/docs/2571.2571.js @@ -0,0 +1,289 @@ +(self.webpackChunkmermaid_live_editor = + self.webpackChunkmermaid_live_editor || []).push([ + [2571], + { + 2571: (e, t, n) => { + 'use strict'; + n.r(t), n.d(t, { conf: () => o, language: () => d }); + var i = n(89587), + r = [ + 'area', + 'base', + 'br', + 'col', + 'embed', + 'hr', + 'img', + 'input', + 'keygen', + 'link', + 'menuitem', + 'meta', + 'param', + 'source', + 'track', + 'wbr', + ], + o = { + wordPattern: /(-?\d*\.\d\w*)|([^\`\~\!\@\$\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\s]+)/g, + comments: { blockComment: ['\x3c!--', '--\x3e'] }, + brackets: [ + ['\x3c!--', '--\x3e'], + ['<', '>'], + ['{', '}'], + ['(', ')'], + ], + autoClosingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"' }, + { open: "'", close: "'" }, + ], + surroundingPairs: [ + { open: '"', close: '"' }, + { open: "'", close: "'" }, + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '<', close: '>' }, + ], + onEnterRules: [ + { + beforeText: new RegExp( + '<(?!(?:' + + r.join('|') + + '))([_:\\w][_:\\w-.\\d]*)([^/>]*(?!/)>)[^<]*$', + 'i' + ), + afterText: /^<\/([_:\w][_:\w-.\d]*)\s*>$/i, + action: { indentAction: i.Mj.IndentAction.IndentOutdent }, + }, + { + beforeText: new RegExp( + '<(?!(?:' + + r.join('|') + + '))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$', + 'i' + ), + action: { indentAction: i.Mj.IndentAction.Indent }, + }, + ], + folding: { + markers: { + start: new RegExp('^\\s*\x3c!--\\s*#region\\b.*--\x3e'), + end: new RegExp('^\\s*\x3c!--\\s*#endregion\\b.*--\x3e'), + }, + }, + }, + d = { + defaultToken: '', + tokenPostfix: '.html', + ignoreCase: !0, + tokenizer: { + root: [ + [/)/, + ['delimiter', 'tag', '', 'delimiter'], + ], + [/(<)(script)/, ['delimiter', { token: 'tag', next: '@script' }]], + [/(<)(style)/, ['delimiter', { token: 'tag', next: '@style' }]], + [ + /(<)((?:[\w\-]+:)?[\w\-]+)/, + ['delimiter', { token: 'tag', next: '@otherTag' }], + ], + [ + /(<\/)((?:[\w\-]+:)?[\w\-]+)/, + ['delimiter', { token: 'tag', next: '@otherTag' }], + ], + [/]+/, 'metatag.content'], + [/>/, 'metatag', '@pop'], + ], + comment: [ + [/-->/, 'comment', '@pop'], + [/[^-]+/, 'comment.content'], + [/./, 'comment.content'], + ], + otherTag: [ + [/\/?>/, 'delimiter', '@pop'], + [/"([^"]*)"/, 'attribute.value'], + [/'([^']*)'/, 'attribute.value'], + [/[\w\-]+/, 'attribute.name'], + [/=/, 'delimiter'], + [/[ \t\r\n]+/], + ], + script: [ + [/type/, 'attribute.name', '@scriptAfterType'], + [/"([^"]*)"/, 'attribute.value'], + [/'([^']*)'/, 'attribute.value'], + [/[\w\-]+/, 'attribute.name'], + [/=/, 'delimiter'], + [ + />/, + { + token: 'delimiter', + next: '@scriptEmbedded', + nextEmbedded: 'text/javascript', + }, + ], + [/[ \t\r\n]+/], + [ + /(<\/)(script\s*)(>)/, + ['delimiter', 'tag', { token: 'delimiter', next: '@pop' }], + ], + ], + scriptAfterType: [ + [/=/, 'delimiter', '@scriptAfterTypeEquals'], + [ + />/, + { + token: 'delimiter', + next: '@scriptEmbedded', + nextEmbedded: 'text/javascript', + }, + ], + [/[ \t\r\n]+/], + [/<\/script\s*>/, { token: '@rematch', next: '@pop' }], + ], + scriptAfterTypeEquals: [ + [ + /"([^"]*)"/, + { + token: 'attribute.value', + switchTo: '@scriptWithCustomType.$1', + }, + ], + [ + /'([^']*)'/, + { + token: 'attribute.value', + switchTo: '@scriptWithCustomType.$1', + }, + ], + [ + />/, + { + token: 'delimiter', + next: '@scriptEmbedded', + nextEmbedded: 'text/javascript', + }, + ], + [/[ \t\r\n]+/], + [/<\/script\s*>/, { token: '@rematch', next: '@pop' }], + ], + scriptWithCustomType: [ + [ + />/, + { + token: 'delimiter', + next: '@scriptEmbedded.$S2', + nextEmbedded: '$S2', + }, + ], + [/"([^"]*)"/, 'attribute.value'], + [/'([^']*)'/, 'attribute.value'], + [/[\w\-]+/, 'attribute.name'], + [/=/, 'delimiter'], + [/[ \t\r\n]+/], + [/<\/script\s*>/, { token: '@rematch', next: '@pop' }], + ], + scriptEmbedded: [ + [ + /<\/script/, + { token: '@rematch', next: '@pop', nextEmbedded: '@pop' }, + ], + [/[^<]+/, ''], + ], + style: [ + [/type/, 'attribute.name', '@styleAfterType'], + [/"([^"]*)"/, 'attribute.value'], + [/'([^']*)'/, 'attribute.value'], + [/[\w\-]+/, 'attribute.name'], + [/=/, 'delimiter'], + [ + />/, + { + token: 'delimiter', + next: '@styleEmbedded', + nextEmbedded: 'text/css', + }, + ], + [/[ \t\r\n]+/], + [ + /(<\/)(style\s*)(>)/, + ['delimiter', 'tag', { token: 'delimiter', next: '@pop' }], + ], + ], + styleAfterType: [ + [/=/, 'delimiter', '@styleAfterTypeEquals'], + [ + />/, + { + token: 'delimiter', + next: '@styleEmbedded', + nextEmbedded: 'text/css', + }, + ], + [/[ \t\r\n]+/], + [/<\/style\s*>/, { token: '@rematch', next: '@pop' }], + ], + styleAfterTypeEquals: [ + [ + /"([^"]*)"/, + { + token: 'attribute.value', + switchTo: '@styleWithCustomType.$1', + }, + ], + [ + /'([^']*)'/, + { + token: 'attribute.value', + switchTo: '@styleWithCustomType.$1', + }, + ], + [ + />/, + { + token: 'delimiter', + next: '@styleEmbedded', + nextEmbedded: 'text/css', + }, + ], + [/[ \t\r\n]+/], + [/<\/style\s*>/, { token: '@rematch', next: '@pop' }], + ], + styleWithCustomType: [ + [ + />/, + { + token: 'delimiter', + next: '@styleEmbedded.$S2', + nextEmbedded: '$S2', + }, + ], + [/"([^"]*)"/, 'attribute.value'], + [/'([^']*)'/, 'attribute.value'], + [/[\w\-]+/, 'attribute.name'], + [/=/, 'delimiter'], + [/[ \t\r\n]+/], + [/<\/style\s*>/, { token: '@rematch', next: '@pop' }], + ], + styleEmbedded: [ + [ + /<\/style/, + { token: '@rematch', next: '@pop', nextEmbedded: '@pop' }, + ], + [/[^<]+/, ''], + ], + }, + }; + }, + }, +]); diff --git a/docs/2798.2798.js b/docs/2798.2798.js new file mode 100644 index 00000000..b670838d --- /dev/null +++ b/docs/2798.2798.js @@ -0,0 +1,67 @@ +(self.webpackChunkmermaid_live_editor = + self.webpackChunkmermaid_live_editor || []).push([ + [2798], + { + 52798: (e, n, s) => { + 'use strict'; + s.r(n), s.d(n, { conf: () => i, language: () => o }); + var i = { + comments: { lineComment: '#' }, + brackets: [ + ['{', '}'], + ['[', ']'], + ['(', ')'], + ], + autoClosingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"' }, + { open: "'", close: "'" }, + ], + surroundingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"' }, + { open: "'", close: "'" }, + ], + }, + o = { + defaultToken: '', + tokenPostfix: '.ini', + escapes: /\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/, + tokenizer: { + root: [ + [/^\[[^\]]*\]/, 'metatag'], + [/(^\w+)(\s*)(\=)/, ['key', '', 'delimiter']], + { include: '@whitespace' }, + [/\d+/, 'number'], + [/"([^"\\]|\\.)*$/, 'string.invalid'], + [/'([^'\\]|\\.)*$/, 'string.invalid'], + [/"/, 'string', '@string."'], + [/'/, 'string', "@string.'"], + ], + whitespace: [ + [/[ \t\r\n]+/, ''], + [/^\s*[#;].*$/, 'comment'], + ], + string: [ + [/[^\\"']+/, 'string'], + [/@escapes/, 'string.escape'], + [/\\./, 'string.escape.invalid'], + [ + /["']/, + { + cases: { + '$#==$S2': { token: 'string', next: '@pop' }, + '@default': 'string', + }, + }, + ], + ], + }, + }; + }, + }, +]); diff --git a/docs/2892.2892.js b/docs/2892.2892.js new file mode 100644 index 00000000..98698f98 --- /dev/null +++ b/docs/2892.2892.js @@ -0,0 +1,405 @@ +(self.webpackChunkmermaid_live_editor = + self.webpackChunkmermaid_live_editor || []).push([ + [2892], + { + 22892: (e, t, n) => { + 'use strict'; + n.r(t), n.d(t, { conf: () => o, language: () => a }); + var o = { + comments: { lineComment: '//' }, + brackets: [ + ['{', '}'], + ['[', ']'], + ['(', ')'], + ], + autoClosingPairs: [ + { open: '"', close: '"', notIn: ['string', 'comment'] }, + { open: "'", close: "'", notIn: ['string', 'comment'] }, + { open: '{', close: '}', notIn: ['string', 'comment'] }, + { open: '[', close: ']', notIn: ['string', 'comment'] }, + { open: '(', close: ')', notIn: ['string', 'comment'] }, + ], + folding: { offSide: !0 }, + }, + a = { + defaultToken: '', + tokenPostfix: '.pug', + ignoreCase: !0, + brackets: [ + { token: 'delimiter.curly', open: '{', close: '}' }, + { token: 'delimiter.array', open: '[', close: ']' }, + { token: 'delimiter.parenthesis', open: '(', close: ')' }, + ], + keywords: [ + 'append', + 'block', + 'case', + 'default', + 'doctype', + 'each', + 'else', + 'extends', + 'for', + 'if', + 'in', + 'include', + 'mixin', + 'typeof', + 'unless', + 'var', + 'when', + ], + tags: [ + 'a', + 'abbr', + 'acronym', + 'address', + 'area', + 'article', + 'aside', + 'audio', + 'b', + 'base', + 'basefont', + 'bdi', + 'bdo', + 'blockquote', + 'body', + 'br', + 'button', + 'canvas', + 'caption', + 'center', + 'cite', + 'code', + 'col', + 'colgroup', + 'command', + 'datalist', + 'dd', + 'del', + 'details', + 'dfn', + 'div', + 'dl', + 'dt', + 'em', + 'embed', + 'fieldset', + 'figcaption', + 'figure', + 'font', + 'footer', + 'form', + 'frame', + 'frameset', + 'h1', + 'h2', + 'h3', + 'h4', + 'h5', + 'h6', + 'head', + 'header', + 'hgroup', + 'hr', + 'html', + 'i', + 'iframe', + 'img', + 'input', + 'ins', + 'keygen', + 'kbd', + 'label', + 'li', + 'link', + 'map', + 'mark', + 'menu', + 'meta', + 'meter', + 'nav', + 'noframes', + 'noscript', + 'object', + 'ol', + 'optgroup', + 'option', + 'output', + 'p', + 'param', + 'pre', + 'progress', + 'q', + 'rp', + 'rt', + 'ruby', + 's', + 'samp', + 'script', + 'section', + 'select', + 'small', + 'source', + 'span', + 'strike', + 'strong', + 'style', + 'sub', + 'summary', + 'sup', + 'table', + 'tbody', + 'td', + 'textarea', + 'tfoot', + 'th', + 'thead', + 'time', + 'title', + 'tr', + 'tracks', + 'tt', + 'u', + 'ul', + 'video', + 'wbr', + ], + symbols: /[\+\-\*\%\&\|\!\=\/\.\,\:]+/, + escapes: /\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/, + tokenizer: { + root: [ + [ + /^(\s*)([a-zA-Z_-][\w-]*)/, + { + cases: { + '$2@tags': { + cases: { + '@eos': ['', 'tag'], + '@default': ['', { token: 'tag', next: '@tag.$1' }], + }, + }, + '$2@keywords': ['', { token: 'keyword.$2' }], + '@default': ['', ''], + }, + }, + ], + [ + /^(\s*)(#[a-zA-Z_-][\w-]*)/, + { + cases: { + '@eos': ['', 'tag.id'], + '@default': ['', { token: 'tag.id', next: '@tag.$1' }], + }, + }, + ], + [ + /^(\s*)(\.[a-zA-Z_-][\w-]*)/, + { + cases: { + '@eos': ['', 'tag.class'], + '@default': ['', { token: 'tag.class', next: '@tag.$1' }], + }, + }, + ], + [/^(\s*)(\|.*)$/, ''], + { include: '@whitespace' }, + [ + /[a-zA-Z_$][\w$]*/, + { + cases: { + '@keywords': { token: 'keyword.$0' }, + '@default': '', + }, + }, + ], + [/[{}()\[\]]/, '@brackets'], + [/@symbols/, 'delimiter'], + [/\d+\.\d+([eE][\-+]?\d+)?/, 'number.float'], + [/\d+/, 'number'], + [/"/, 'string', '@string."'], + [/'/, 'string', "@string.'"], + ], + tag: [ + [ + /(\.)(\s*$)/, + [{ token: 'delimiter', next: '@blockText.$S2.' }, ''], + ], + [/\s+/, { token: '', next: '@simpleText' }], + [ + /#[a-zA-Z_-][\w-]*/, + { + cases: { + '@eos': { token: 'tag.id', next: '@pop' }, + '@default': 'tag.id', + }, + }, + ], + [ + /\.[a-zA-Z_-][\w-]*/, + { + cases: { + '@eos': { token: 'tag.class', next: '@pop' }, + '@default': 'tag.class', + }, + }, + ], + [ + /\(/, + { token: 'delimiter.parenthesis', next: '@attributeList' }, + ], + ], + simpleText: [ + [/[^#]+$/, { token: '', next: '@popall' }], + [/[^#]+/, { token: '' }], + [ + /(#{)([^}]*)(})/, + { + cases: { + '@eos': [ + 'interpolation.delimiter', + 'interpolation', + { token: 'interpolation.delimiter', next: '@popall' }, + ], + '@default': [ + 'interpolation.delimiter', + 'interpolation', + 'interpolation.delimiter', + ], + }, + }, + ], + [/#$/, { token: '', next: '@popall' }], + [/#/, ''], + ], + attributeList: [ + [/\s+/, ''], + [ + /(\w+)(\s*=\s*)("|')/, + [ + 'attribute.name', + 'delimiter', + { token: 'attribute.value', next: '@value.$3' }, + ], + ], + [/\w+/, 'attribute.name'], + [ + /,/, + { + cases: { + '@eos': { token: 'attribute.delimiter', next: '@popall' }, + '@default': 'attribute.delimiter', + }, + }, + ], + [/\)$/, { token: 'delimiter.parenthesis', next: '@popall' }], + [/\)/, { token: 'delimiter.parenthesis', next: '@pop' }], + ], + whitespace: [ + [ + /^(\s*)(\/\/.*)$/, + { token: 'comment', next: '@blockText.$1.comment' }, + ], + [/[ \t\r\n]+/, ''], + [//, { token: 'comment', next: '@pop' }], + [//, 'comment', '@pop'], + [//, { token: 'comment', next: '@pop' }], + [/|<\/?script\s*\/?>?/i); + if (0 === u.length) return c.goToEnd(), m(t, fe.Script); + if ('\x3c!--' === u) 1 === d && (d = 2); + else if ('--\x3e' === u) d = 1; + else if ('/' !== u[1]) 2 === d && (d = 3); + else { + if (3 !== d) { + c.goBack(u.length); + break; + } + d = 2; + } + } + return ( + (h = ge.WithinContent), t < c.pos() ? m(t, fe.Script) : f() + ); + case ge.WithinStyleContent: + return ( + c.advanceUntilRegExp(/<\/style/i), + (h = ge.WithinContent), + t < c.pos() ? m(t, fe.Styles) : f() + ); + } + return c.advance(1), (h = ge.WithinContent), m(t, fe.Unknown, e); + } + return { + scan: function () { + var e = c.pos(), + t = h, + n = f(); + return n === fe.EOS || + e !== c.pos() || + (i && (n === fe.StartTagClose || n === fe.EndTagClose)) + ? n + : (console.log( + 'Scanner.scan has not advanced at offset ' + + e + + ', state before: ' + + t + + ' after: ' + + h + ), + c.advance(1), + m(e, fe.Unknown)); + }, + getTokenType: function () { + return u; + }, + getTokenOffset: function () { + return d; + }, + getTokenLength: function () { + return c.pos() - d; + }, + getTokenEnd: function () { + return c.pos(); + }, + getTokenText: function () { + return c.getSource().substring(d, c.pos()); + }, + getScannerState: function () { + return h; + }, + getTokenError: function () { + return r; + }, + }; + } + function je(e, t) { + var n = 0, + i = e.length; + if (0 === i) return 0; + for (; n < i; ) { + var r = Math.floor((n + i) / 2); + t(e[r]) ? (i = r) : (n = r + 1); + } + return n; + } + !(function () { + function e(e, t, n, i) { + (this.start = e), + (this.end = t), + (this.children = n), + (this.parent = i), + (this.closed = !1); + } + Object.defineProperty(e.prototype, 'attributeNames', { + get: function () { + return this.attributes ? Object.keys(this.attributes) : []; + }, + enumerable: !1, + configurable: !0, + }), + (e.prototype.isSameTag = function (e) { + return void 0 === this.tag + ? void 0 === e + : void 0 !== e && + this.tag.length === e.length && + this.tag.toLowerCase() === e; + }), + Object.defineProperty(e.prototype, 'firstChild', { + get: function () { + return this.children[0]; + }, + enumerable: !1, + configurable: !0, + }), + Object.defineProperty(e.prototype, 'lastChild', { + get: function () { + return this.children.length + ? this.children[this.children.length - 1] + : void 0; + }, + enumerable: !1, + configurable: !0, + }), + (e.prototype.findNodeBefore = function (e) { + var t = + je(this.children, function (t) { + return e <= t.start; + }) - 1; + if (t >= 0) { + var n = this.children[t]; + if (e > n.start) { + if (e < n.end) return n.findNodeBefore(e); + var i = n.lastChild; + return i && i.end === n.end ? n.findNodeBefore(e) : n; + } + } + return this; + }), + (e.prototype.findNodeAt = function (e) { + var t = + je(this.children, function (t) { + return e <= t.start; + }) - 1; + if (t >= 0) { + var n = this.children[t]; + if (e > n.start && e <= n.end) return n.findNodeAt(e); + } + return this; + }); + })(); + var Fe = { + 'Aacute;': 'Á', + Aacute: 'Á', + 'aacute;': 'á', + aacute: 'á', + 'Abreve;': 'Ă', + 'abreve;': 'ă', + 'ac;': '∾', + 'acd;': '∿', + 'acE;': '∾̳', + 'Acirc;': 'Â', + Acirc: 'Â', + 'acirc;': 'â', + acirc: 'â', + 'acute;': '´', + acute: '´', + 'Acy;': 'А', + 'acy;': 'а', + 'AElig;': 'Æ', + AElig: 'Æ', + 'aelig;': 'æ', + aelig: 'æ', + 'af;': '⁡', + 'Afr;': '𝔄', + 'afr;': '𝔞', + 'Agrave;': 'À', + Agrave: 'À', + 'agrave;': 'à', + agrave: 'à', + 'alefsym;': 'ℵ', + 'aleph;': 'ℵ', + 'Alpha;': 'Α', + 'alpha;': 'α', + 'Amacr;': 'Ā', + 'amacr;': 'ā', + 'amalg;': '⨿', + 'AMP;': '&', + AMP: '&', + 'amp;': '&', + amp: '&', + 'And;': '⩓', + 'and;': '∧', + 'andand;': '⩕', + 'andd;': '⩜', + 'andslope;': '⩘', + 'andv;': '⩚', + 'ang;': '∠', + 'ange;': '⦤', + 'angle;': '∠', + 'angmsd;': '∡', + 'angmsdaa;': '⦨', + 'angmsdab;': '⦩', + 'angmsdac;': '⦪', + 'angmsdad;': '⦫', + 'angmsdae;': '⦬', + 'angmsdaf;': '⦭', + 'angmsdag;': '⦮', + 'angmsdah;': '⦯', + 'angrt;': '∟', + 'angrtvb;': '⊾', + 'angrtvbd;': '⦝', + 'angsph;': '∢', + 'angst;': 'Å', + 'angzarr;': '⍼', + 'Aogon;': 'Ą', + 'aogon;': 'ą', + 'Aopf;': '𝔸', + 'aopf;': '𝕒', + 'ap;': '≈', + 'apacir;': '⩯', + 'apE;': '⩰', + 'ape;': '≊', + 'apid;': '≋', + 'apos;': "'", + 'ApplyFunction;': '⁡', + 'approx;': '≈', + 'approxeq;': '≊', + 'Aring;': 'Å', + Aring: 'Å', + 'aring;': 'å', + aring: 'å', + 'Ascr;': '𝒜', + 'ascr;': '𝒶', + 'Assign;': '≔', + 'ast;': '*', + 'asymp;': '≈', + 'asympeq;': '≍', + 'Atilde;': 'Ã', + Atilde: 'Ã', + 'atilde;': 'ã', + atilde: 'ã', + 'Auml;': 'Ä', + Auml: 'Ä', + 'auml;': 'ä', + auml: 'ä', + 'awconint;': '∳', + 'awint;': '⨑', + 'backcong;': '≌', + 'backepsilon;': '϶', + 'backprime;': '‵', + 'backsim;': '∽', + 'backsimeq;': '⋍', + 'Backslash;': '∖', + 'Barv;': '⫧', + 'barvee;': '⊽', + 'Barwed;': '⌆', + 'barwed;': '⌅', + 'barwedge;': '⌅', + 'bbrk;': '⎵', + 'bbrktbrk;': '⎶', + 'bcong;': '≌', + 'Bcy;': 'Б', + 'bcy;': 'б', + 'bdquo;': '„', + 'becaus;': '∵', + 'Because;': '∵', + 'because;': '∵', + 'bemptyv;': '⦰', + 'bepsi;': '϶', + 'bernou;': 'ℬ', + 'Bernoullis;': 'ℬ', + 'Beta;': 'Β', + 'beta;': 'β', + 'beth;': 'ℶ', + 'between;': '≬', + 'Bfr;': '𝔅', + 'bfr;': '𝔟', + 'bigcap;': '⋂', + 'bigcirc;': '◯', + 'bigcup;': '⋃', + 'bigodot;': '⨀', + 'bigoplus;': '⨁', + 'bigotimes;': '⨂', + 'bigsqcup;': '⨆', + 'bigstar;': '★', + 'bigtriangledown;': '▽', + 'bigtriangleup;': '△', + 'biguplus;': '⨄', + 'bigvee;': '⋁', + 'bigwedge;': '⋀', + 'bkarow;': '⤍', + 'blacklozenge;': '⧫', + 'blacksquare;': '▪', + 'blacktriangle;': '▴', + 'blacktriangledown;': '▾', + 'blacktriangleleft;': '◂', + 'blacktriangleright;': '▸', + 'blank;': '␣', + 'blk12;': '▒', + 'blk14;': '░', + 'blk34;': '▓', + 'block;': '█', + 'bne;': '=⃥', + 'bnequiv;': '≡⃥', + 'bNot;': '⫭', + 'bnot;': '⌐', + 'Bopf;': '𝔹', + 'bopf;': '𝕓', + 'bot;': '⊥', + 'bottom;': '⊥', + 'bowtie;': '⋈', + 'boxbox;': '⧉', + 'boxDL;': '╗', + 'boxDl;': '╖', + 'boxdL;': '╕', + 'boxdl;': '┐', + 'boxDR;': '╔', + 'boxDr;': '╓', + 'boxdR;': '╒', + 'boxdr;': '┌', + 'boxH;': '═', + 'boxh;': '─', + 'boxHD;': '╦', + 'boxHd;': '╤', + 'boxhD;': '╥', + 'boxhd;': '┬', + 'boxHU;': '╩', + 'boxHu;': '╧', + 'boxhU;': '╨', + 'boxhu;': '┴', + 'boxminus;': '⊟', + 'boxplus;': '⊞', + 'boxtimes;': '⊠', + 'boxUL;': '╝', + 'boxUl;': '╜', + 'boxuL;': '╛', + 'boxul;': '┘', + 'boxUR;': '╚', + 'boxUr;': '╙', + 'boxuR;': '╘', + 'boxur;': '└', + 'boxV;': '║', + 'boxv;': '│', + 'boxVH;': '╬', + 'boxVh;': '╫', + 'boxvH;': '╪', + 'boxvh;': '┼', + 'boxVL;': '╣', + 'boxVl;': '╢', + 'boxvL;': '╡', + 'boxvl;': '┤', + 'boxVR;': '╠', + 'boxVr;': '╟', + 'boxvR;': '╞', + 'boxvr;': '├', + 'bprime;': '‵', + 'Breve;': '˘', + 'breve;': '˘', + 'brvbar;': '¦', + brvbar: '¦', + 'Bscr;': 'ℬ', + 'bscr;': '𝒷', + 'bsemi;': '⁏', + 'bsim;': '∽', + 'bsime;': '⋍', + 'bsol;': '\\', + 'bsolb;': '⧅', + 'bsolhsub;': '⟈', + 'bull;': '•', + 'bullet;': '•', + 'bump;': '≎', + 'bumpE;': '⪮', + 'bumpe;': '≏', + 'Bumpeq;': '≎', + 'bumpeq;': '≏', + 'Cacute;': 'Ć', + 'cacute;': 'ć', + 'Cap;': '⋒', + 'cap;': '∩', + 'capand;': '⩄', + 'capbrcup;': '⩉', + 'capcap;': '⩋', + 'capcup;': '⩇', + 'capdot;': '⩀', + 'CapitalDifferentialD;': 'ⅅ', + 'caps;': '∩︀', + 'caret;': '⁁', + 'caron;': 'ˇ', + 'Cayleys;': 'ℭ', + 'ccaps;': '⩍', + 'Ccaron;': 'Č', + 'ccaron;': 'č', + 'Ccedil;': 'Ç', + Ccedil: 'Ç', + 'ccedil;': 'ç', + ccedil: 'ç', + 'Ccirc;': 'Ĉ', + 'ccirc;': 'ĉ', + 'Cconint;': '∰', + 'ccups;': '⩌', + 'ccupssm;': '⩐', + 'Cdot;': 'Ċ', + 'cdot;': 'ċ', + 'cedil;': '¸', + cedil: '¸', + 'Cedilla;': '¸', + 'cemptyv;': '⦲', + 'cent;': '¢', + cent: '¢', + 'CenterDot;': '·', + 'centerdot;': '·', + 'Cfr;': 'ℭ', + 'cfr;': '𝔠', + 'CHcy;': 'Ч', + 'chcy;': 'ч', + 'check;': '✓', + 'checkmark;': '✓', + 'Chi;': 'Χ', + 'chi;': 'χ', + 'cir;': '○', + 'circ;': 'ˆ', + 'circeq;': '≗', + 'circlearrowleft;': '↺', + 'circlearrowright;': '↻', + 'circledast;': '⊛', + 'circledcirc;': '⊚', + 'circleddash;': '⊝', + 'CircleDot;': '⊙', + 'circledR;': '®', + 'circledS;': 'Ⓢ', + 'CircleMinus;': '⊖', + 'CirclePlus;': '⊕', + 'CircleTimes;': '⊗', + 'cirE;': '⧃', + 'cire;': '≗', + 'cirfnint;': '⨐', + 'cirmid;': '⫯', + 'cirscir;': '⧂', + 'ClockwiseContourIntegral;': '∲', + 'CloseCurlyDoubleQuote;': '”', + 'CloseCurlyQuote;': '’', + 'clubs;': '♣', + 'clubsuit;': '♣', + 'Colon;': '∷', + 'colon;': ':', + 'Colone;': '⩴', + 'colone;': '≔', + 'coloneq;': '≔', + 'comma;': ',', + 'commat;': '@', + 'comp;': '∁', + 'compfn;': '∘', + 'complement;': '∁', + 'complexes;': 'ℂ', + 'cong;': '≅', + 'congdot;': '⩭', + 'Congruent;': '≡', + 'Conint;': '∯', + 'conint;': '∮', + 'ContourIntegral;': '∮', + 'Copf;': 'ℂ', + 'copf;': '𝕔', + 'coprod;': '∐', + 'Coproduct;': '∐', + 'COPY;': '©', + COPY: '©', + 'copy;': '©', + copy: '©', + 'copysr;': '℗', + 'CounterClockwiseContourIntegral;': '∳', + 'crarr;': '↵', + 'Cross;': '⨯', + 'cross;': '✗', + 'Cscr;': '𝒞', + 'cscr;': '𝒸', + 'csub;': '⫏', + 'csube;': '⫑', + 'csup;': '⫐', + 'csupe;': '⫒', + 'ctdot;': '⋯', + 'cudarrl;': '⤸', + 'cudarrr;': '⤵', + 'cuepr;': '⋞', + 'cuesc;': '⋟', + 'cularr;': '↶', + 'cularrp;': '⤽', + 'Cup;': '⋓', + 'cup;': '∪', + 'cupbrcap;': '⩈', + 'CupCap;': '≍', + 'cupcap;': '⩆', + 'cupcup;': '⩊', + 'cupdot;': '⊍', + 'cupor;': '⩅', + 'cups;': '∪︀', + 'curarr;': '↷', + 'curarrm;': '⤼', + 'curlyeqprec;': '⋞', + 'curlyeqsucc;': '⋟', + 'curlyvee;': '⋎', + 'curlywedge;': '⋏', + 'curren;': '¤', + curren: '¤', + 'curvearrowleft;': '↶', + 'curvearrowright;': '↷', + 'cuvee;': '⋎', + 'cuwed;': '⋏', + 'cwconint;': '∲', + 'cwint;': '∱', + 'cylcty;': '⌭', + 'Dagger;': '‡', + 'dagger;': '†', + 'daleth;': 'ℸ', + 'Darr;': '↡', + 'dArr;': '⇓', + 'darr;': '↓', + 'dash;': '‐', + 'Dashv;': '⫤', + 'dashv;': '⊣', + 'dbkarow;': '⤏', + 'dblac;': '˝', + 'Dcaron;': 'Ď', + 'dcaron;': 'ď', + 'Dcy;': 'Д', + 'dcy;': 'д', + 'DD;': 'ⅅ', + 'dd;': 'ⅆ', + 'ddagger;': '‡', + 'ddarr;': '⇊', + 'DDotrahd;': '⤑', + 'ddotseq;': '⩷', + 'deg;': '°', + deg: '°', + 'Del;': '∇', + 'Delta;': 'Δ', + 'delta;': 'δ', + 'demptyv;': '⦱', + 'dfisht;': '⥿', + 'Dfr;': '𝔇', + 'dfr;': '𝔡', + 'dHar;': '⥥', + 'dharl;': '⇃', + 'dharr;': '⇂', + 'DiacriticalAcute;': '´', + 'DiacriticalDot;': '˙', + 'DiacriticalDoubleAcute;': '˝', + 'DiacriticalGrave;': '`', + 'DiacriticalTilde;': '˜', + 'diam;': '⋄', + 'Diamond;': '⋄', + 'diamond;': '⋄', + 'diamondsuit;': '♦', + 'diams;': '♦', + 'die;': '¨', + 'DifferentialD;': 'ⅆ', + 'digamma;': 'ϝ', + 'disin;': '⋲', + 'div;': '÷', + 'divide;': '÷', + divide: '÷', + 'divideontimes;': '⋇', + 'divonx;': '⋇', + 'DJcy;': 'Ђ', + 'djcy;': 'ђ', + 'dlcorn;': '⌞', + 'dlcrop;': '⌍', + 'dollar;': '$', + 'Dopf;': '𝔻', + 'dopf;': '𝕕', + 'Dot;': '¨', + 'dot;': '˙', + 'DotDot;': '⃜', + 'doteq;': '≐', + 'doteqdot;': '≑', + 'DotEqual;': '≐', + 'dotminus;': '∸', + 'dotplus;': '∔', + 'dotsquare;': '⊡', + 'doublebarwedge;': '⌆', + 'DoubleContourIntegral;': '∯', + 'DoubleDot;': '¨', + 'DoubleDownArrow;': '⇓', + 'DoubleLeftArrow;': '⇐', + 'DoubleLeftRightArrow;': '⇔', + 'DoubleLeftTee;': '⫤', + 'DoubleLongLeftArrow;': '⟸', + 'DoubleLongLeftRightArrow;': '⟺', + 'DoubleLongRightArrow;': '⟹', + 'DoubleRightArrow;': '⇒', + 'DoubleRightTee;': '⊨', + 'DoubleUpArrow;': '⇑', + 'DoubleUpDownArrow;': '⇕', + 'DoubleVerticalBar;': '∥', + 'DownArrow;': '↓', + 'Downarrow;': '⇓', + 'downarrow;': '↓', + 'DownArrowBar;': '⤓', + 'DownArrowUpArrow;': '⇵', + 'DownBreve;': '̑', + 'downdownarrows;': '⇊', + 'downharpoonleft;': '⇃', + 'downharpoonright;': '⇂', + 'DownLeftRightVector;': '⥐', + 'DownLeftTeeVector;': '⥞', + 'DownLeftVector;': '↽', + 'DownLeftVectorBar;': '⥖', + 'DownRightTeeVector;': '⥟', + 'DownRightVector;': '⇁', + 'DownRightVectorBar;': '⥗', + 'DownTee;': '⊤', + 'DownTeeArrow;': '↧', + 'drbkarow;': '⤐', + 'drcorn;': '⌟', + 'drcrop;': '⌌', + 'Dscr;': '𝒟', + 'dscr;': '𝒹', + 'DScy;': 'Ѕ', + 'dscy;': 'ѕ', + 'dsol;': '⧶', + 'Dstrok;': 'Đ', + 'dstrok;': 'đ', + 'dtdot;': '⋱', + 'dtri;': '▿', + 'dtrif;': '▾', + 'duarr;': '⇵', + 'duhar;': '⥯', + 'dwangle;': '⦦', + 'DZcy;': 'Џ', + 'dzcy;': 'џ', + 'dzigrarr;': '⟿', + 'Eacute;': 'É', + Eacute: 'É', + 'eacute;': 'é', + eacute: 'é', + 'easter;': '⩮', + 'Ecaron;': 'Ě', + 'ecaron;': 'ě', + 'ecir;': '≖', + 'Ecirc;': 'Ê', + Ecirc: 'Ê', + 'ecirc;': 'ê', + ecirc: 'ê', + 'ecolon;': '≕', + 'Ecy;': 'Э', + 'ecy;': 'э', + 'eDDot;': '⩷', + 'Edot;': 'Ė', + 'eDot;': '≑', + 'edot;': 'ė', + 'ee;': 'ⅇ', + 'efDot;': '≒', + 'Efr;': '𝔈', + 'efr;': '𝔢', + 'eg;': '⪚', + 'Egrave;': 'È', + Egrave: 'È', + 'egrave;': 'è', + egrave: 'è', + 'egs;': '⪖', + 'egsdot;': '⪘', + 'el;': '⪙', + 'Element;': '∈', + 'elinters;': '⏧', + 'ell;': 'ℓ', + 'els;': '⪕', + 'elsdot;': '⪗', + 'Emacr;': 'Ē', + 'emacr;': 'ē', + 'empty;': '∅', + 'emptyset;': '∅', + 'EmptySmallSquare;': '◻', + 'emptyv;': '∅', + 'EmptyVerySmallSquare;': '▫', + 'emsp;': ' ', + 'emsp13;': ' ', + 'emsp14;': ' ', + 'ENG;': 'Ŋ', + 'eng;': 'ŋ', + 'ensp;': ' ', + 'Eogon;': 'Ę', + 'eogon;': 'ę', + 'Eopf;': '𝔼', + 'eopf;': '𝕖', + 'epar;': '⋕', + 'eparsl;': '⧣', + 'eplus;': '⩱', + 'epsi;': 'ε', + 'Epsilon;': 'Ε', + 'epsilon;': 'ε', + 'epsiv;': 'ϵ', + 'eqcirc;': '≖', + 'eqcolon;': '≕', + 'eqsim;': '≂', + 'eqslantgtr;': '⪖', + 'eqslantless;': '⪕', + 'Equal;': '⩵', + 'equals;': '=', + 'EqualTilde;': '≂', + 'equest;': '≟', + 'Equilibrium;': '⇌', + 'equiv;': '≡', + 'equivDD;': '⩸', + 'eqvparsl;': '⧥', + 'erarr;': '⥱', + 'erDot;': '≓', + 'Escr;': 'ℰ', + 'escr;': 'ℯ', + 'esdot;': '≐', + 'Esim;': '⩳', + 'esim;': '≂', + 'Eta;': 'Η', + 'eta;': 'η', + 'ETH;': 'Ð', + ETH: 'Ð', + 'eth;': 'ð', + eth: 'ð', + 'Euml;': 'Ë', + Euml: 'Ë', + 'euml;': 'ë', + euml: 'ë', + 'euro;': '€', + 'excl;': '!', + 'exist;': '∃', + 'Exists;': '∃', + 'expectation;': 'ℰ', + 'ExponentialE;': 'ⅇ', + 'exponentiale;': 'ⅇ', + 'fallingdotseq;': '≒', + 'Fcy;': 'Ф', + 'fcy;': 'ф', + 'female;': '♀', + 'ffilig;': 'ffi', + 'fflig;': 'ff', + 'ffllig;': 'ffl', + 'Ffr;': '𝔉', + 'ffr;': '𝔣', + 'filig;': 'fi', + 'FilledSmallSquare;': '◼', + 'FilledVerySmallSquare;': '▪', + 'fjlig;': 'fj', + 'flat;': '♭', + 'fllig;': 'fl', + 'fltns;': '▱', + 'fnof;': 'ƒ', + 'Fopf;': '𝔽', + 'fopf;': '𝕗', + 'ForAll;': '∀', + 'forall;': '∀', + 'fork;': '⋔', + 'forkv;': '⫙', + 'Fouriertrf;': 'ℱ', + 'fpartint;': '⨍', + 'frac12;': '½', + frac12: '½', + 'frac13;': '⅓', + 'frac14;': '¼', + frac14: '¼', + 'frac15;': '⅕', + 'frac16;': '⅙', + 'frac18;': '⅛', + 'frac23;': '⅔', + 'frac25;': '⅖', + 'frac34;': '¾', + frac34: '¾', + 'frac35;': '⅗', + 'frac38;': '⅜', + 'frac45;': '⅘', + 'frac56;': '⅚', + 'frac58;': '⅝', + 'frac78;': '⅞', + 'frasl;': '⁄', + 'frown;': '⌢', + 'Fscr;': 'ℱ', + 'fscr;': '𝒻', + 'gacute;': 'ǵ', + 'Gamma;': 'Γ', + 'gamma;': 'γ', + 'Gammad;': 'Ϝ', + 'gammad;': 'ϝ', + 'gap;': '⪆', + 'Gbreve;': 'Ğ', + 'gbreve;': 'ğ', + 'Gcedil;': 'Ģ', + 'Gcirc;': 'Ĝ', + 'gcirc;': 'ĝ', + 'Gcy;': 'Г', + 'gcy;': 'г', + 'Gdot;': 'Ġ', + 'gdot;': 'ġ', + 'gE;': '≧', + 'ge;': '≥', + 'gEl;': '⪌', + 'gel;': '⋛', + 'geq;': '≥', + 'geqq;': '≧', + 'geqslant;': '⩾', + 'ges;': '⩾', + 'gescc;': '⪩', + 'gesdot;': '⪀', + 'gesdoto;': '⪂', + 'gesdotol;': '⪄', + 'gesl;': '⋛︀', + 'gesles;': '⪔', + 'Gfr;': '𝔊', + 'gfr;': '𝔤', + 'Gg;': '⋙', + 'gg;': '≫', + 'ggg;': '⋙', + 'gimel;': 'ℷ', + 'GJcy;': 'Ѓ', + 'gjcy;': 'ѓ', + 'gl;': '≷', + 'gla;': '⪥', + 'glE;': '⪒', + 'glj;': '⪤', + 'gnap;': '⪊', + 'gnapprox;': '⪊', + 'gnE;': '≩', + 'gne;': '⪈', + 'gneq;': '⪈', + 'gneqq;': '≩', + 'gnsim;': '⋧', + 'Gopf;': '𝔾', + 'gopf;': '𝕘', + 'grave;': '`', + 'GreaterEqual;': '≥', + 'GreaterEqualLess;': '⋛', + 'GreaterFullEqual;': '≧', + 'GreaterGreater;': '⪢', + 'GreaterLess;': '≷', + 'GreaterSlantEqual;': '⩾', + 'GreaterTilde;': '≳', + 'Gscr;': '𝒢', + 'gscr;': 'ℊ', + 'gsim;': '≳', + 'gsime;': '⪎', + 'gsiml;': '⪐', + 'GT;': '>', + GT: '>', + 'Gt;': '≫', + 'gt;': '>', + gt: '>', + 'gtcc;': '⪧', + 'gtcir;': '⩺', + 'gtdot;': '⋗', + 'gtlPar;': '⦕', + 'gtquest;': '⩼', + 'gtrapprox;': '⪆', + 'gtrarr;': '⥸', + 'gtrdot;': '⋗', + 'gtreqless;': '⋛', + 'gtreqqless;': '⪌', + 'gtrless;': '≷', + 'gtrsim;': '≳', + 'gvertneqq;': '≩︀', + 'gvnE;': '≩︀', + 'Hacek;': 'ˇ', + 'hairsp;': ' ', + 'half;': '½', + 'hamilt;': 'ℋ', + 'HARDcy;': 'Ъ', + 'hardcy;': 'ъ', + 'hArr;': '⇔', + 'harr;': '↔', + 'harrcir;': '⥈', + 'harrw;': '↭', + 'Hat;': '^', + 'hbar;': 'ℏ', + 'Hcirc;': 'Ĥ', + 'hcirc;': 'ĥ', + 'hearts;': '♥', + 'heartsuit;': '♥', + 'hellip;': '…', + 'hercon;': '⊹', + 'Hfr;': 'ℌ', + 'hfr;': '𝔥', + 'HilbertSpace;': 'ℋ', + 'hksearow;': '⤥', + 'hkswarow;': '⤦', + 'hoarr;': '⇿', + 'homtht;': '∻', + 'hookleftarrow;': '↩', + 'hookrightarrow;': '↪', + 'Hopf;': 'ℍ', + 'hopf;': '𝕙', + 'horbar;': '―', + 'HorizontalLine;': '─', + 'Hscr;': 'ℋ', + 'hscr;': '𝒽', + 'hslash;': 'ℏ', + 'Hstrok;': 'Ħ', + 'hstrok;': 'ħ', + 'HumpDownHump;': '≎', + 'HumpEqual;': '≏', + 'hybull;': '⁃', + 'hyphen;': '‐', + 'Iacute;': 'Í', + Iacute: 'Í', + 'iacute;': 'í', + iacute: 'í', + 'ic;': '⁣', + 'Icirc;': 'Î', + Icirc: 'Î', + 'icirc;': 'î', + icirc: 'î', + 'Icy;': 'И', + 'icy;': 'и', + 'Idot;': 'İ', + 'IEcy;': 'Е', + 'iecy;': 'е', + 'iexcl;': '¡', + iexcl: '¡', + 'iff;': '⇔', + 'Ifr;': 'ℑ', + 'ifr;': '𝔦', + 'Igrave;': 'Ì', + Igrave: 'Ì', + 'igrave;': 'ì', + igrave: 'ì', + 'ii;': 'ⅈ', + 'iiiint;': '⨌', + 'iiint;': '∭', + 'iinfin;': '⧜', + 'iiota;': '℩', + 'IJlig;': 'IJ', + 'ijlig;': 'ij', + 'Im;': 'ℑ', + 'Imacr;': 'Ī', + 'imacr;': 'ī', + 'image;': 'ℑ', + 'ImaginaryI;': 'ⅈ', + 'imagline;': 'ℐ', + 'imagpart;': 'ℑ', + 'imath;': 'ı', + 'imof;': '⊷', + 'imped;': 'Ƶ', + 'Implies;': '⇒', + 'in;': '∈', + 'incare;': '℅', + 'infin;': '∞', + 'infintie;': '⧝', + 'inodot;': 'ı', + 'Int;': '∬', + 'int;': '∫', + 'intcal;': '⊺', + 'integers;': 'ℤ', + 'Integral;': '∫', + 'intercal;': '⊺', + 'Intersection;': '⋂', + 'intlarhk;': '⨗', + 'intprod;': '⨼', + 'InvisibleComma;': '⁣', + 'InvisibleTimes;': '⁢', + 'IOcy;': 'Ё', + 'iocy;': 'ё', + 'Iogon;': 'Į', + 'iogon;': 'į', + 'Iopf;': '𝕀', + 'iopf;': '𝕚', + 'Iota;': 'Ι', + 'iota;': 'ι', + 'iprod;': '⨼', + 'iquest;': '¿', + iquest: '¿', + 'Iscr;': 'ℐ', + 'iscr;': '𝒾', + 'isin;': '∈', + 'isindot;': '⋵', + 'isinE;': '⋹', + 'isins;': '⋴', + 'isinsv;': '⋳', + 'isinv;': '∈', + 'it;': '⁢', + 'Itilde;': 'Ĩ', + 'itilde;': 'ĩ', + 'Iukcy;': 'І', + 'iukcy;': 'і', + 'Iuml;': 'Ï', + Iuml: 'Ï', + 'iuml;': 'ï', + iuml: 'ï', + 'Jcirc;': 'Ĵ', + 'jcirc;': 'ĵ', + 'Jcy;': 'Й', + 'jcy;': 'й', + 'Jfr;': '𝔍', + 'jfr;': '𝔧', + 'jmath;': 'ȷ', + 'Jopf;': '𝕁', + 'jopf;': '𝕛', + 'Jscr;': '𝒥', + 'jscr;': '𝒿', + 'Jsercy;': 'Ј', + 'jsercy;': 'ј', + 'Jukcy;': 'Є', + 'jukcy;': 'є', + 'Kappa;': 'Κ', + 'kappa;': 'κ', + 'kappav;': 'ϰ', + 'Kcedil;': 'Ķ', + 'kcedil;': 'ķ', + 'Kcy;': 'К', + 'kcy;': 'к', + 'Kfr;': '𝔎', + 'kfr;': '𝔨', + 'kgreen;': 'ĸ', + 'KHcy;': 'Х', + 'khcy;': 'х', + 'KJcy;': 'Ќ', + 'kjcy;': 'ќ', + 'Kopf;': '𝕂', + 'kopf;': '𝕜', + 'Kscr;': '𝒦', + 'kscr;': '𝓀', + 'lAarr;': '⇚', + 'Lacute;': 'Ĺ', + 'lacute;': 'ĺ', + 'laemptyv;': '⦴', + 'lagran;': 'ℒ', + 'Lambda;': 'Λ', + 'lambda;': 'λ', + 'Lang;': '⟪', + 'lang;': '⟨', + 'langd;': '⦑', + 'langle;': '⟨', + 'lap;': '⪅', + 'Laplacetrf;': 'ℒ', + 'laquo;': '«', + laquo: '«', + 'Larr;': '↞', + 'lArr;': '⇐', + 'larr;': '←', + 'larrb;': '⇤', + 'larrbfs;': '⤟', + 'larrfs;': '⤝', + 'larrhk;': '↩', + 'larrlp;': '↫', + 'larrpl;': '⤹', + 'larrsim;': '⥳', + 'larrtl;': '↢', + 'lat;': '⪫', + 'lAtail;': '⤛', + 'latail;': '⤙', + 'late;': '⪭', + 'lates;': '⪭︀', + 'lBarr;': '⤎', + 'lbarr;': '⤌', + 'lbbrk;': '❲', + 'lbrace;': '{', + 'lbrack;': '[', + 'lbrke;': '⦋', + 'lbrksld;': '⦏', + 'lbrkslu;': '⦍', + 'Lcaron;': 'Ľ', + 'lcaron;': 'ľ', + 'Lcedil;': 'Ļ', + 'lcedil;': 'ļ', + 'lceil;': '⌈', + 'lcub;': '{', + 'Lcy;': 'Л', + 'lcy;': 'л', + 'ldca;': '⤶', + 'ldquo;': '“', + 'ldquor;': '„', + 'ldrdhar;': '⥧', + 'ldrushar;': '⥋', + 'ldsh;': '↲', + 'lE;': '≦', + 'le;': '≤', + 'LeftAngleBracket;': '⟨', + 'LeftArrow;': '←', + 'Leftarrow;': '⇐', + 'leftarrow;': '←', + 'LeftArrowBar;': '⇤', + 'LeftArrowRightArrow;': '⇆', + 'leftarrowtail;': '↢', + 'LeftCeiling;': '⌈', + 'LeftDoubleBracket;': '⟦', + 'LeftDownTeeVector;': '⥡', + 'LeftDownVector;': '⇃', + 'LeftDownVectorBar;': '⥙', + 'LeftFloor;': '⌊', + 'leftharpoondown;': '↽', + 'leftharpoonup;': '↼', + 'leftleftarrows;': '⇇', + 'LeftRightArrow;': '↔', + 'Leftrightarrow;': '⇔', + 'leftrightarrow;': '↔', + 'leftrightarrows;': '⇆', + 'leftrightharpoons;': '⇋', + 'leftrightsquigarrow;': '↭', + 'LeftRightVector;': '⥎', + 'LeftTee;': '⊣', + 'LeftTeeArrow;': '↤', + 'LeftTeeVector;': '⥚', + 'leftthreetimes;': '⋋', + 'LeftTriangle;': '⊲', + 'LeftTriangleBar;': '⧏', + 'LeftTriangleEqual;': '⊴', + 'LeftUpDownVector;': '⥑', + 'LeftUpTeeVector;': '⥠', + 'LeftUpVector;': '↿', + 'LeftUpVectorBar;': '⥘', + 'LeftVector;': '↼', + 'LeftVectorBar;': '⥒', + 'lEg;': '⪋', + 'leg;': '⋚', + 'leq;': '≤', + 'leqq;': '≦', + 'leqslant;': '⩽', + 'les;': '⩽', + 'lescc;': '⪨', + 'lesdot;': '⩿', + 'lesdoto;': '⪁', + 'lesdotor;': '⪃', + 'lesg;': '⋚︀', + 'lesges;': '⪓', + 'lessapprox;': '⪅', + 'lessdot;': '⋖', + 'lesseqgtr;': '⋚', + 'lesseqqgtr;': '⪋', + 'LessEqualGreater;': '⋚', + 'LessFullEqual;': '≦', + 'LessGreater;': '≶', + 'lessgtr;': '≶', + 'LessLess;': '⪡', + 'lesssim;': '≲', + 'LessSlantEqual;': '⩽', + 'LessTilde;': '≲', + 'lfisht;': '⥼', + 'lfloor;': '⌊', + 'Lfr;': '𝔏', + 'lfr;': '𝔩', + 'lg;': '≶', + 'lgE;': '⪑', + 'lHar;': '⥢', + 'lhard;': '↽', + 'lharu;': '↼', + 'lharul;': '⥪', + 'lhblk;': '▄', + 'LJcy;': 'Љ', + 'ljcy;': 'љ', + 'Ll;': '⋘', + 'll;': '≪', + 'llarr;': '⇇', + 'llcorner;': '⌞', + 'Lleftarrow;': '⇚', + 'llhard;': '⥫', + 'lltri;': '◺', + 'Lmidot;': 'Ŀ', + 'lmidot;': 'ŀ', + 'lmoust;': '⎰', + 'lmoustache;': '⎰', + 'lnap;': '⪉', + 'lnapprox;': '⪉', + 'lnE;': '≨', + 'lne;': '⪇', + 'lneq;': '⪇', + 'lneqq;': '≨', + 'lnsim;': '⋦', + 'loang;': '⟬', + 'loarr;': '⇽', + 'lobrk;': '⟦', + 'LongLeftArrow;': '⟵', + 'Longleftarrow;': '⟸', + 'longleftarrow;': '⟵', + 'LongLeftRightArrow;': '⟷', + 'Longleftrightarrow;': '⟺', + 'longleftrightarrow;': '⟷', + 'longmapsto;': '⟼', + 'LongRightArrow;': '⟶', + 'Longrightarrow;': '⟹', + 'longrightarrow;': '⟶', + 'looparrowleft;': '↫', + 'looparrowright;': '↬', + 'lopar;': '⦅', + 'Lopf;': '𝕃', + 'lopf;': '𝕝', + 'loplus;': '⨭', + 'lotimes;': '⨴', + 'lowast;': '∗', + 'lowbar;': '_', + 'LowerLeftArrow;': '↙', + 'LowerRightArrow;': '↘', + 'loz;': '◊', + 'lozenge;': '◊', + 'lozf;': '⧫', + 'lpar;': '(', + 'lparlt;': '⦓', + 'lrarr;': '⇆', + 'lrcorner;': '⌟', + 'lrhar;': '⇋', + 'lrhard;': '⥭', + 'lrm;': '‎', + 'lrtri;': '⊿', + 'lsaquo;': '‹', + 'Lscr;': 'ℒ', + 'lscr;': '𝓁', + 'Lsh;': '↰', + 'lsh;': '↰', + 'lsim;': '≲', + 'lsime;': '⪍', + 'lsimg;': '⪏', + 'lsqb;': '[', + 'lsquo;': '‘', + 'lsquor;': '‚', + 'Lstrok;': 'Ł', + 'lstrok;': 'ł', + 'LT;': '<', + LT: '<', + 'Lt;': '≪', + 'lt;': '<', + lt: '<', + 'ltcc;': '⪦', + 'ltcir;': '⩹', + 'ltdot;': '⋖', + 'lthree;': '⋋', + 'ltimes;': '⋉', + 'ltlarr;': '⥶', + 'ltquest;': '⩻', + 'ltri;': '◃', + 'ltrie;': '⊴', + 'ltrif;': '◂', + 'ltrPar;': '⦖', + 'lurdshar;': '⥊', + 'luruhar;': '⥦', + 'lvertneqq;': '≨︀', + 'lvnE;': '≨︀', + 'macr;': '¯', + macr: '¯', + 'male;': '♂', + 'malt;': '✠', + 'maltese;': '✠', + 'Map;': '⤅', + 'map;': '↦', + 'mapsto;': '↦', + 'mapstodown;': '↧', + 'mapstoleft;': '↤', + 'mapstoup;': '↥', + 'marker;': '▮', + 'mcomma;': '⨩', + 'Mcy;': 'М', + 'mcy;': 'м', + 'mdash;': '—', + 'mDDot;': '∺', + 'measuredangle;': '∡', + 'MediumSpace;': ' ', + 'Mellintrf;': 'ℳ', + 'Mfr;': '𝔐', + 'mfr;': '𝔪', + 'mho;': '℧', + 'micro;': 'µ', + micro: 'µ', + 'mid;': '∣', + 'midast;': '*', + 'midcir;': '⫰', + 'middot;': '·', + middot: '·', + 'minus;': '−', + 'minusb;': '⊟', + 'minusd;': '∸', + 'minusdu;': '⨪', + 'MinusPlus;': '∓', + 'mlcp;': '⫛', + 'mldr;': '…', + 'mnplus;': '∓', + 'models;': '⊧', + 'Mopf;': '𝕄', + 'mopf;': '𝕞', + 'mp;': '∓', + 'Mscr;': 'ℳ', + 'mscr;': '𝓂', + 'mstpos;': '∾', + 'Mu;': 'Μ', + 'mu;': 'μ', + 'multimap;': '⊸', + 'mumap;': '⊸', + 'nabla;': '∇', + 'Nacute;': 'Ń', + 'nacute;': 'ń', + 'nang;': '∠⃒', + 'nap;': '≉', + 'napE;': '⩰̸', + 'napid;': '≋̸', + 'napos;': 'ʼn', + 'napprox;': '≉', + 'natur;': '♮', + 'natural;': '♮', + 'naturals;': 'ℕ', + 'nbsp;': ' ', + nbsp: ' ', + 'nbump;': '≎̸', + 'nbumpe;': '≏̸', + 'ncap;': '⩃', + 'Ncaron;': 'Ň', + 'ncaron;': 'ň', + 'Ncedil;': 'Ņ', + 'ncedil;': 'ņ', + 'ncong;': '≇', + 'ncongdot;': '⩭̸', + 'ncup;': '⩂', + 'Ncy;': 'Н', + 'ncy;': 'н', + 'ndash;': '–', + 'ne;': '≠', + 'nearhk;': '⤤', + 'neArr;': '⇗', + 'nearr;': '↗', + 'nearrow;': '↗', + 'nedot;': '≐̸', + 'NegativeMediumSpace;': '​', + 'NegativeThickSpace;': '​', + 'NegativeThinSpace;': '​', + 'NegativeVeryThinSpace;': '​', + 'nequiv;': '≢', + 'nesear;': '⤨', + 'nesim;': '≂̸', + 'NestedGreaterGreater;': '≫', + 'NestedLessLess;': '≪', + 'NewLine;': '\n', + 'nexist;': '∄', + 'nexists;': '∄', + 'Nfr;': '𝔑', + 'nfr;': '𝔫', + 'ngE;': '≧̸', + 'nge;': '≱', + 'ngeq;': '≱', + 'ngeqq;': '≧̸', + 'ngeqslant;': '⩾̸', + 'nges;': '⩾̸', + 'nGg;': '⋙̸', + 'ngsim;': '≵', + 'nGt;': '≫⃒', + 'ngt;': '≯', + 'ngtr;': '≯', + 'nGtv;': '≫̸', + 'nhArr;': '⇎', + 'nharr;': '↮', + 'nhpar;': '⫲', + 'ni;': '∋', + 'nis;': '⋼', + 'nisd;': '⋺', + 'niv;': '∋', + 'NJcy;': 'Њ', + 'njcy;': 'њ', + 'nlArr;': '⇍', + 'nlarr;': '↚', + 'nldr;': '‥', + 'nlE;': '≦̸', + 'nle;': '≰', + 'nLeftarrow;': '⇍', + 'nleftarrow;': '↚', + 'nLeftrightarrow;': '⇎', + 'nleftrightarrow;': '↮', + 'nleq;': '≰', + 'nleqq;': '≦̸', + 'nleqslant;': '⩽̸', + 'nles;': '⩽̸', + 'nless;': '≮', + 'nLl;': '⋘̸', + 'nlsim;': '≴', + 'nLt;': '≪⃒', + 'nlt;': '≮', + 'nltri;': '⋪', + 'nltrie;': '⋬', + 'nLtv;': '≪̸', + 'nmid;': '∤', + 'NoBreak;': '⁠', + 'NonBreakingSpace;': ' ', + 'Nopf;': 'ℕ', + 'nopf;': '𝕟', + 'Not;': '⫬', + 'not;': '¬', + not: '¬', + 'NotCongruent;': '≢', + 'NotCupCap;': '≭', + 'NotDoubleVerticalBar;': '∦', + 'NotElement;': '∉', + 'NotEqual;': '≠', + 'NotEqualTilde;': '≂̸', + 'NotExists;': '∄', + 'NotGreater;': '≯', + 'NotGreaterEqual;': '≱', + 'NotGreaterFullEqual;': '≧̸', + 'NotGreaterGreater;': '≫̸', + 'NotGreaterLess;': '≹', + 'NotGreaterSlantEqual;': '⩾̸', + 'NotGreaterTilde;': '≵', + 'NotHumpDownHump;': '≎̸', + 'NotHumpEqual;': '≏̸', + 'notin;': '∉', + 'notindot;': '⋵̸', + 'notinE;': '⋹̸', + 'notinva;': '∉', + 'notinvb;': '⋷', + 'notinvc;': '⋶', + 'NotLeftTriangle;': '⋪', + 'NotLeftTriangleBar;': '⧏̸', + 'NotLeftTriangleEqual;': '⋬', + 'NotLess;': '≮', + 'NotLessEqual;': '≰', + 'NotLessGreater;': '≸', + 'NotLessLess;': '≪̸', + 'NotLessSlantEqual;': '⩽̸', + 'NotLessTilde;': '≴', + 'NotNestedGreaterGreater;': '⪢̸', + 'NotNestedLessLess;': '⪡̸', + 'notni;': '∌', + 'notniva;': '∌', + 'notnivb;': '⋾', + 'notnivc;': '⋽', + 'NotPrecedes;': '⊀', + 'NotPrecedesEqual;': '⪯̸', + 'NotPrecedesSlantEqual;': '⋠', + 'NotReverseElement;': '∌', + 'NotRightTriangle;': '⋫', + 'NotRightTriangleBar;': '⧐̸', + 'NotRightTriangleEqual;': '⋭', + 'NotSquareSubset;': '⊏̸', + 'NotSquareSubsetEqual;': '⋢', + 'NotSquareSuperset;': '⊐̸', + 'NotSquareSupersetEqual;': '⋣', + 'NotSubset;': '⊂⃒', + 'NotSubsetEqual;': '⊈', + 'NotSucceeds;': '⊁', + 'NotSucceedsEqual;': '⪰̸', + 'NotSucceedsSlantEqual;': '⋡', + 'NotSucceedsTilde;': '≿̸', + 'NotSuperset;': '⊃⃒', + 'NotSupersetEqual;': '⊉', + 'NotTilde;': '≁', + 'NotTildeEqual;': '≄', + 'NotTildeFullEqual;': '≇', + 'NotTildeTilde;': '≉', + 'NotVerticalBar;': '∤', + 'npar;': '∦', + 'nparallel;': '∦', + 'nparsl;': '⫽⃥', + 'npart;': '∂̸', + 'npolint;': '⨔', + 'npr;': '⊀', + 'nprcue;': '⋠', + 'npre;': '⪯̸', + 'nprec;': '⊀', + 'npreceq;': '⪯̸', + 'nrArr;': '⇏', + 'nrarr;': '↛', + 'nrarrc;': '⤳̸', + 'nrarrw;': '↝̸', + 'nRightarrow;': '⇏', + 'nrightarrow;': '↛', + 'nrtri;': '⋫', + 'nrtrie;': '⋭', + 'nsc;': '⊁', + 'nsccue;': '⋡', + 'nsce;': '⪰̸', + 'Nscr;': '𝒩', + 'nscr;': '𝓃', + 'nshortmid;': '∤', + 'nshortparallel;': '∦', + 'nsim;': '≁', + 'nsime;': '≄', + 'nsimeq;': '≄', + 'nsmid;': '∤', + 'nspar;': '∦', + 'nsqsube;': '⋢', + 'nsqsupe;': '⋣', + 'nsub;': '⊄', + 'nsubE;': '⫅̸', + 'nsube;': '⊈', + 'nsubset;': '⊂⃒', + 'nsubseteq;': '⊈', + 'nsubseteqq;': '⫅̸', + 'nsucc;': '⊁', + 'nsucceq;': '⪰̸', + 'nsup;': '⊅', + 'nsupE;': '⫆̸', + 'nsupe;': '⊉', + 'nsupset;': '⊃⃒', + 'nsupseteq;': '⊉', + 'nsupseteqq;': '⫆̸', + 'ntgl;': '≹', + 'Ntilde;': 'Ñ', + Ntilde: 'Ñ', + 'ntilde;': 'ñ', + ntilde: 'ñ', + 'ntlg;': '≸', + 'ntriangleleft;': '⋪', + 'ntrianglelefteq;': '⋬', + 'ntriangleright;': '⋫', + 'ntrianglerighteq;': '⋭', + 'Nu;': 'Ν', + 'nu;': 'ν', + 'num;': '#', + 'numero;': '№', + 'numsp;': ' ', + 'nvap;': '≍⃒', + 'nVDash;': '⊯', + 'nVdash;': '⊮', + 'nvDash;': '⊭', + 'nvdash;': '⊬', + 'nvge;': '≥⃒', + 'nvgt;': '>⃒', + 'nvHarr;': '⤄', + 'nvinfin;': '⧞', + 'nvlArr;': '⤂', + 'nvle;': '≤⃒', + 'nvlt;': '<⃒', + 'nvltrie;': '⊴⃒', + 'nvrArr;': '⤃', + 'nvrtrie;': '⊵⃒', + 'nvsim;': '∼⃒', + 'nwarhk;': '⤣', + 'nwArr;': '⇖', + 'nwarr;': '↖', + 'nwarrow;': '↖', + 'nwnear;': '⤧', + 'Oacute;': 'Ó', + Oacute: 'Ó', + 'oacute;': 'ó', + oacute: 'ó', + 'oast;': '⊛', + 'ocir;': '⊚', + 'Ocirc;': 'Ô', + Ocirc: 'Ô', + 'ocirc;': 'ô', + ocirc: 'ô', + 'Ocy;': 'О', + 'ocy;': 'о', + 'odash;': '⊝', + 'Odblac;': 'Ő', + 'odblac;': 'ő', + 'odiv;': '⨸', + 'odot;': '⊙', + 'odsold;': '⦼', + 'OElig;': 'Œ', + 'oelig;': 'œ', + 'ofcir;': '⦿', + 'Ofr;': '𝔒', + 'ofr;': '𝔬', + 'ogon;': '˛', + 'Ograve;': 'Ò', + Ograve: 'Ò', + 'ograve;': 'ò', + ograve: 'ò', + 'ogt;': '⧁', + 'ohbar;': '⦵', + 'ohm;': 'Ω', + 'oint;': '∮', + 'olarr;': '↺', + 'olcir;': '⦾', + 'olcross;': '⦻', + 'oline;': '‾', + 'olt;': '⧀', + 'Omacr;': 'Ō', + 'omacr;': 'ō', + 'Omega;': 'Ω', + 'omega;': 'ω', + 'Omicron;': 'Ο', + 'omicron;': 'ο', + 'omid;': '⦶', + 'ominus;': '⊖', + 'Oopf;': '𝕆', + 'oopf;': '𝕠', + 'opar;': '⦷', + 'OpenCurlyDoubleQuote;': '“', + 'OpenCurlyQuote;': '‘', + 'operp;': '⦹', + 'oplus;': '⊕', + 'Or;': '⩔', + 'or;': '∨', + 'orarr;': '↻', + 'ord;': '⩝', + 'order;': 'ℴ', + 'orderof;': 'ℴ', + 'ordf;': 'ª', + ordf: 'ª', + 'ordm;': 'º', + ordm: 'º', + 'origof;': '⊶', + 'oror;': '⩖', + 'orslope;': '⩗', + 'orv;': '⩛', + 'oS;': 'Ⓢ', + 'Oscr;': '𝒪', + 'oscr;': 'ℴ', + 'Oslash;': 'Ø', + Oslash: 'Ø', + 'oslash;': 'ø', + oslash: 'ø', + 'osol;': '⊘', + 'Otilde;': 'Õ', + Otilde: 'Õ', + 'otilde;': 'õ', + otilde: 'õ', + 'Otimes;': '⨷', + 'otimes;': '⊗', + 'otimesas;': '⨶', + 'Ouml;': 'Ö', + Ouml: 'Ö', + 'ouml;': 'ö', + ouml: 'ö', + 'ovbar;': '⌽', + 'OverBar;': '‾', + 'OverBrace;': '⏞', + 'OverBracket;': '⎴', + 'OverParenthesis;': '⏜', + 'par;': '∥', + 'para;': '¶', + para: '¶', + 'parallel;': '∥', + 'parsim;': '⫳', + 'parsl;': '⫽', + 'part;': '∂', + 'PartialD;': '∂', + 'Pcy;': 'П', + 'pcy;': 'п', + 'percnt;': '%', + 'period;': '.', + 'permil;': '‰', + 'perp;': '⊥', + 'pertenk;': '‱', + 'Pfr;': '𝔓', + 'pfr;': '𝔭', + 'Phi;': 'Φ', + 'phi;': 'φ', + 'phiv;': 'ϕ', + 'phmmat;': 'ℳ', + 'phone;': '☎', + 'Pi;': 'Π', + 'pi;': 'π', + 'pitchfork;': '⋔', + 'piv;': 'ϖ', + 'planck;': 'ℏ', + 'planckh;': 'ℎ', + 'plankv;': 'ℏ', + 'plus;': '+', + 'plusacir;': '⨣', + 'plusb;': '⊞', + 'pluscir;': '⨢', + 'plusdo;': '∔', + 'plusdu;': '⨥', + 'pluse;': '⩲', + 'PlusMinus;': '±', + 'plusmn;': '±', + plusmn: '±', + 'plussim;': '⨦', + 'plustwo;': '⨧', + 'pm;': '±', + 'Poincareplane;': 'ℌ', + 'pointint;': '⨕', + 'Popf;': 'ℙ', + 'popf;': '𝕡', + 'pound;': '£', + pound: '£', + 'Pr;': '⪻', + 'pr;': '≺', + 'prap;': '⪷', + 'prcue;': '≼', + 'prE;': '⪳', + 'pre;': '⪯', + 'prec;': '≺', + 'precapprox;': '⪷', + 'preccurlyeq;': '≼', + 'Precedes;': '≺', + 'PrecedesEqual;': '⪯', + 'PrecedesSlantEqual;': '≼', + 'PrecedesTilde;': '≾', + 'preceq;': '⪯', + 'precnapprox;': '⪹', + 'precneqq;': '⪵', + 'precnsim;': '⋨', + 'precsim;': '≾', + 'Prime;': '″', + 'prime;': '′', + 'primes;': 'ℙ', + 'prnap;': '⪹', + 'prnE;': '⪵', + 'prnsim;': '⋨', + 'prod;': '∏', + 'Product;': '∏', + 'profalar;': '⌮', + 'profline;': '⌒', + 'profsurf;': '⌓', + 'prop;': '∝', + 'Proportion;': '∷', + 'Proportional;': '∝', + 'propto;': '∝', + 'prsim;': '≾', + 'prurel;': '⊰', + 'Pscr;': '𝒫', + 'pscr;': '𝓅', + 'Psi;': 'Ψ', + 'psi;': 'ψ', + 'puncsp;': ' ', + 'Qfr;': '𝔔', + 'qfr;': '𝔮', + 'qint;': '⨌', + 'Qopf;': 'ℚ', + 'qopf;': '𝕢', + 'qprime;': '⁗', + 'Qscr;': '𝒬', + 'qscr;': '𝓆', + 'quaternions;': 'ℍ', + 'quatint;': '⨖', + 'quest;': '?', + 'questeq;': '≟', + 'QUOT;': '"', + QUOT: '"', + 'quot;': '"', + quot: '"', + 'rAarr;': '⇛', + 'race;': '∽̱', + 'Racute;': 'Ŕ', + 'racute;': 'ŕ', + 'radic;': '√', + 'raemptyv;': '⦳', + 'Rang;': '⟫', + 'rang;': '⟩', + 'rangd;': '⦒', + 'range;': '⦥', + 'rangle;': '⟩', + 'raquo;': '»', + raquo: '»', + 'Rarr;': '↠', + 'rArr;': '⇒', + 'rarr;': '→', + 'rarrap;': '⥵', + 'rarrb;': '⇥', + 'rarrbfs;': '⤠', + 'rarrc;': '⤳', + 'rarrfs;': '⤞', + 'rarrhk;': '↪', + 'rarrlp;': '↬', + 'rarrpl;': '⥅', + 'rarrsim;': '⥴', + 'Rarrtl;': '⤖', + 'rarrtl;': '↣', + 'rarrw;': '↝', + 'rAtail;': '⤜', + 'ratail;': '⤚', + 'ratio;': '∶', + 'rationals;': 'ℚ', + 'RBarr;': '⤐', + 'rBarr;': '⤏', + 'rbarr;': '⤍', + 'rbbrk;': '❳', + 'rbrace;': '}', + 'rbrack;': ']', + 'rbrke;': '⦌', + 'rbrksld;': '⦎', + 'rbrkslu;': '⦐', + 'Rcaron;': 'Ř', + 'rcaron;': 'ř', + 'Rcedil;': 'Ŗ', + 'rcedil;': 'ŗ', + 'rceil;': '⌉', + 'rcub;': '}', + 'Rcy;': 'Р', + 'rcy;': 'р', + 'rdca;': '⤷', + 'rdldhar;': '⥩', + 'rdquo;': '”', + 'rdquor;': '”', + 'rdsh;': '↳', + 'Re;': 'ℜ', + 'real;': 'ℜ', + 'realine;': 'ℛ', + 'realpart;': 'ℜ', + 'reals;': 'ℝ', + 'rect;': '▭', + 'REG;': '®', + REG: '®', + 'reg;': '®', + reg: '®', + 'ReverseElement;': '∋', + 'ReverseEquilibrium;': '⇋', + 'ReverseUpEquilibrium;': '⥯', + 'rfisht;': '⥽', + 'rfloor;': '⌋', + 'Rfr;': 'ℜ', + 'rfr;': '𝔯', + 'rHar;': '⥤', + 'rhard;': '⇁', + 'rharu;': '⇀', + 'rharul;': '⥬', + 'Rho;': 'Ρ', + 'rho;': 'ρ', + 'rhov;': 'ϱ', + 'RightAngleBracket;': '⟩', + 'RightArrow;': '→', + 'Rightarrow;': '⇒', + 'rightarrow;': '→', + 'RightArrowBar;': '⇥', + 'RightArrowLeftArrow;': '⇄', + 'rightarrowtail;': '↣', + 'RightCeiling;': '⌉', + 'RightDoubleBracket;': '⟧', + 'RightDownTeeVector;': '⥝', + 'RightDownVector;': '⇂', + 'RightDownVectorBar;': '⥕', + 'RightFloor;': '⌋', + 'rightharpoondown;': '⇁', + 'rightharpoonup;': '⇀', + 'rightleftarrows;': '⇄', + 'rightleftharpoons;': '⇌', + 'rightrightarrows;': '⇉', + 'rightsquigarrow;': '↝', + 'RightTee;': '⊢', + 'RightTeeArrow;': '↦', + 'RightTeeVector;': '⥛', + 'rightthreetimes;': '⋌', + 'RightTriangle;': '⊳', + 'RightTriangleBar;': '⧐', + 'RightTriangleEqual;': '⊵', + 'RightUpDownVector;': '⥏', + 'RightUpTeeVector;': '⥜', + 'RightUpVector;': '↾', + 'RightUpVectorBar;': '⥔', + 'RightVector;': '⇀', + 'RightVectorBar;': '⥓', + 'ring;': '˚', + 'risingdotseq;': '≓', + 'rlarr;': '⇄', + 'rlhar;': '⇌', + 'rlm;': '‏', + 'rmoust;': '⎱', + 'rmoustache;': '⎱', + 'rnmid;': '⫮', + 'roang;': '⟭', + 'roarr;': '⇾', + 'robrk;': '⟧', + 'ropar;': '⦆', + 'Ropf;': 'ℝ', + 'ropf;': '𝕣', + 'roplus;': '⨮', + 'rotimes;': '⨵', + 'RoundImplies;': '⥰', + 'rpar;': ')', + 'rpargt;': '⦔', + 'rppolint;': '⨒', + 'rrarr;': '⇉', + 'Rrightarrow;': '⇛', + 'rsaquo;': '›', + 'Rscr;': 'ℛ', + 'rscr;': '𝓇', + 'Rsh;': '↱', + 'rsh;': '↱', + 'rsqb;': ']', + 'rsquo;': '’', + 'rsquor;': '’', + 'rthree;': '⋌', + 'rtimes;': '⋊', + 'rtri;': '▹', + 'rtrie;': '⊵', + 'rtrif;': '▸', + 'rtriltri;': '⧎', + 'RuleDelayed;': '⧴', + 'ruluhar;': '⥨', + 'rx;': '℞', + 'Sacute;': 'Ś', + 'sacute;': 'ś', + 'sbquo;': '‚', + 'Sc;': '⪼', + 'sc;': '≻', + 'scap;': '⪸', + 'Scaron;': 'Š', + 'scaron;': 'š', + 'sccue;': '≽', + 'scE;': '⪴', + 'sce;': '⪰', + 'Scedil;': 'Ş', + 'scedil;': 'ş', + 'Scirc;': 'Ŝ', + 'scirc;': 'ŝ', + 'scnap;': '⪺', + 'scnE;': '⪶', + 'scnsim;': '⋩', + 'scpolint;': '⨓', + 'scsim;': '≿', + 'Scy;': 'С', + 'scy;': 'с', + 'sdot;': '⋅', + 'sdotb;': '⊡', + 'sdote;': '⩦', + 'searhk;': '⤥', + 'seArr;': '⇘', + 'searr;': '↘', + 'searrow;': '↘', + 'sect;': '§', + sect: '§', + 'semi;': ';', + 'seswar;': '⤩', + 'setminus;': '∖', + 'setmn;': '∖', + 'sext;': '✶', + 'Sfr;': '𝔖', + 'sfr;': '𝔰', + 'sfrown;': '⌢', + 'sharp;': '♯', + 'SHCHcy;': 'Щ', + 'shchcy;': 'щ', + 'SHcy;': 'Ш', + 'shcy;': 'ш', + 'ShortDownArrow;': '↓', + 'ShortLeftArrow;': '←', + 'shortmid;': '∣', + 'shortparallel;': '∥', + 'ShortRightArrow;': '→', + 'ShortUpArrow;': '↑', + 'shy;': '­', + shy: '­', + 'Sigma;': 'Σ', + 'sigma;': 'σ', + 'sigmaf;': 'ς', + 'sigmav;': 'ς', + 'sim;': '∼', + 'simdot;': '⩪', + 'sime;': '≃', + 'simeq;': '≃', + 'simg;': '⪞', + 'simgE;': '⪠', + 'siml;': '⪝', + 'simlE;': '⪟', + 'simne;': '≆', + 'simplus;': '⨤', + 'simrarr;': '⥲', + 'slarr;': '←', + 'SmallCircle;': '∘', + 'smallsetminus;': '∖', + 'smashp;': '⨳', + 'smeparsl;': '⧤', + 'smid;': '∣', + 'smile;': '⌣', + 'smt;': '⪪', + 'smte;': '⪬', + 'smtes;': '⪬︀', + 'SOFTcy;': 'Ь', + 'softcy;': 'ь', + 'sol;': '/', + 'solb;': '⧄', + 'solbar;': '⌿', + 'Sopf;': '𝕊', + 'sopf;': '𝕤', + 'spades;': '♠', + 'spadesuit;': '♠', + 'spar;': '∥', + 'sqcap;': '⊓', + 'sqcaps;': '⊓︀', + 'sqcup;': '⊔', + 'sqcups;': '⊔︀', + 'Sqrt;': '√', + 'sqsub;': '⊏', + 'sqsube;': '⊑', + 'sqsubset;': '⊏', + 'sqsubseteq;': '⊑', + 'sqsup;': '⊐', + 'sqsupe;': '⊒', + 'sqsupset;': '⊐', + 'sqsupseteq;': '⊒', + 'squ;': '□', + 'Square;': '□', + 'square;': '□', + 'SquareIntersection;': '⊓', + 'SquareSubset;': '⊏', + 'SquareSubsetEqual;': '⊑', + 'SquareSuperset;': '⊐', + 'SquareSupersetEqual;': '⊒', + 'SquareUnion;': '⊔', + 'squarf;': '▪', + 'squf;': '▪', + 'srarr;': '→', + 'Sscr;': '𝒮', + 'sscr;': '𝓈', + 'ssetmn;': '∖', + 'ssmile;': '⌣', + 'sstarf;': '⋆', + 'Star;': '⋆', + 'star;': '☆', + 'starf;': '★', + 'straightepsilon;': 'ϵ', + 'straightphi;': 'ϕ', + 'strns;': '¯', + 'Sub;': '⋐', + 'sub;': '⊂', + 'subdot;': '⪽', + 'subE;': '⫅', + 'sube;': '⊆', + 'subedot;': '⫃', + 'submult;': '⫁', + 'subnE;': '⫋', + 'subne;': '⊊', + 'subplus;': '⪿', + 'subrarr;': '⥹', + 'Subset;': '⋐', + 'subset;': '⊂', + 'subseteq;': '⊆', + 'subseteqq;': '⫅', + 'SubsetEqual;': '⊆', + 'subsetneq;': '⊊', + 'subsetneqq;': '⫋', + 'subsim;': '⫇', + 'subsub;': '⫕', + 'subsup;': '⫓', + 'succ;': '≻', + 'succapprox;': '⪸', + 'succcurlyeq;': '≽', + 'Succeeds;': '≻', + 'SucceedsEqual;': '⪰', + 'SucceedsSlantEqual;': '≽', + 'SucceedsTilde;': '≿', + 'succeq;': '⪰', + 'succnapprox;': '⪺', + 'succneqq;': '⪶', + 'succnsim;': '⋩', + 'succsim;': '≿', + 'SuchThat;': '∋', + 'Sum;': '∑', + 'sum;': '∑', + 'sung;': '♪', + 'Sup;': '⋑', + 'sup;': '⊃', + 'sup1;': '¹', + sup1: '¹', + 'sup2;': '²', + sup2: '²', + 'sup3;': '³', + sup3: '³', + 'supdot;': '⪾', + 'supdsub;': '⫘', + 'supE;': '⫆', + 'supe;': '⊇', + 'supedot;': '⫄', + 'Superset;': '⊃', + 'SupersetEqual;': '⊇', + 'suphsol;': '⟉', + 'suphsub;': '⫗', + 'suplarr;': '⥻', + 'supmult;': '⫂', + 'supnE;': '⫌', + 'supne;': '⊋', + 'supplus;': '⫀', + 'Supset;': '⋑', + 'supset;': '⊃', + 'supseteq;': '⊇', + 'supseteqq;': '⫆', + 'supsetneq;': '⊋', + 'supsetneqq;': '⫌', + 'supsim;': '⫈', + 'supsub;': '⫔', + 'supsup;': '⫖', + 'swarhk;': '⤦', + 'swArr;': '⇙', + 'swarr;': '↙', + 'swarrow;': '↙', + 'swnwar;': '⤪', + 'szlig;': 'ß', + szlig: 'ß', + 'Tab;': '\t', + 'target;': '⌖', + 'Tau;': 'Τ', + 'tau;': 'τ', + 'tbrk;': '⎴', + 'Tcaron;': 'Ť', + 'tcaron;': 'ť', + 'Tcedil;': 'Ţ', + 'tcedil;': 'ţ', + 'Tcy;': 'Т', + 'tcy;': 'т', + 'tdot;': '⃛', + 'telrec;': '⌕', + 'Tfr;': '𝔗', + 'tfr;': '𝔱', + 'there4;': '∴', + 'Therefore;': '∴', + 'therefore;': '∴', + 'Theta;': 'Θ', + 'theta;': 'θ', + 'thetasym;': 'ϑ', + 'thetav;': 'ϑ', + 'thickapprox;': '≈', + 'thicksim;': '∼', + 'ThickSpace;': '  ', + 'thinsp;': ' ', + 'ThinSpace;': ' ', + 'thkap;': '≈', + 'thksim;': '∼', + 'THORN;': 'Þ', + THORN: 'Þ', + 'thorn;': 'þ', + thorn: 'þ', + 'Tilde;': '∼', + 'tilde;': '˜', + 'TildeEqual;': '≃', + 'TildeFullEqual;': '≅', + 'TildeTilde;': '≈', + 'times;': '×', + times: '×', + 'timesb;': '⊠', + 'timesbar;': '⨱', + 'timesd;': '⨰', + 'tint;': '∭', + 'toea;': '⤨', + 'top;': '⊤', + 'topbot;': '⌶', + 'topcir;': '⫱', + 'Topf;': '𝕋', + 'topf;': '𝕥', + 'topfork;': '⫚', + 'tosa;': '⤩', + 'tprime;': '‴', + 'TRADE;': '™', + 'trade;': '™', + 'triangle;': '▵', + 'triangledown;': '▿', + 'triangleleft;': '◃', + 'trianglelefteq;': '⊴', + 'triangleq;': '≜', + 'triangleright;': '▹', + 'trianglerighteq;': '⊵', + 'tridot;': '◬', + 'trie;': '≜', + 'triminus;': '⨺', + 'TripleDot;': '⃛', + 'triplus;': '⨹', + 'trisb;': '⧍', + 'tritime;': '⨻', + 'trpezium;': '⏢', + 'Tscr;': '𝒯', + 'tscr;': '𝓉', + 'TScy;': 'Ц', + 'tscy;': 'ц', + 'TSHcy;': 'Ћ', + 'tshcy;': 'ћ', + 'Tstrok;': 'Ŧ', + 'tstrok;': 'ŧ', + 'twixt;': '≬', + 'twoheadleftarrow;': '↞', + 'twoheadrightarrow;': '↠', + 'Uacute;': 'Ú', + Uacute: 'Ú', + 'uacute;': 'ú', + uacute: 'ú', + 'Uarr;': '↟', + 'uArr;': '⇑', + 'uarr;': '↑', + 'Uarrocir;': '⥉', + 'Ubrcy;': 'Ў', + 'ubrcy;': 'ў', + 'Ubreve;': 'Ŭ', + 'ubreve;': 'ŭ', + 'Ucirc;': 'Û', + Ucirc: 'Û', + 'ucirc;': 'û', + ucirc: 'û', + 'Ucy;': 'У', + 'ucy;': 'у', + 'udarr;': '⇅', + 'Udblac;': 'Ű', + 'udblac;': 'ű', + 'udhar;': '⥮', + 'ufisht;': '⥾', + 'Ufr;': '𝔘', + 'ufr;': '𝔲', + 'Ugrave;': 'Ù', + Ugrave: 'Ù', + 'ugrave;': 'ù', + ugrave: 'ù', + 'uHar;': '⥣', + 'uharl;': '↿', + 'uharr;': '↾', + 'uhblk;': '▀', + 'ulcorn;': '⌜', + 'ulcorner;': '⌜', + 'ulcrop;': '⌏', + 'ultri;': '◸', + 'Umacr;': 'Ū', + 'umacr;': 'ū', + 'uml;': '¨', + uml: '¨', + 'UnderBar;': '_', + 'UnderBrace;': '⏟', + 'UnderBracket;': '⎵', + 'UnderParenthesis;': '⏝', + 'Union;': '⋃', + 'UnionPlus;': '⊎', + 'Uogon;': 'Ų', + 'uogon;': 'ų', + 'Uopf;': '𝕌', + 'uopf;': '𝕦', + 'UpArrow;': '↑', + 'Uparrow;': '⇑', + 'uparrow;': '↑', + 'UpArrowBar;': '⤒', + 'UpArrowDownArrow;': '⇅', + 'UpDownArrow;': '↕', + 'Updownarrow;': '⇕', + 'updownarrow;': '↕', + 'UpEquilibrium;': '⥮', + 'upharpoonleft;': '↿', + 'upharpoonright;': '↾', + 'uplus;': '⊎', + 'UpperLeftArrow;': '↖', + 'UpperRightArrow;': '↗', + 'Upsi;': 'ϒ', + 'upsi;': 'υ', + 'upsih;': 'ϒ', + 'Upsilon;': 'Υ', + 'upsilon;': 'υ', + 'UpTee;': '⊥', + 'UpTeeArrow;': '↥', + 'upuparrows;': '⇈', + 'urcorn;': '⌝', + 'urcorner;': '⌝', + 'urcrop;': '⌎', + 'Uring;': 'Ů', + 'uring;': 'ů', + 'urtri;': '◹', + 'Uscr;': '𝒰', + 'uscr;': '𝓊', + 'utdot;': '⋰', + 'Utilde;': 'Ũ', + 'utilde;': 'ũ', + 'utri;': '▵', + 'utrif;': '▴', + 'uuarr;': '⇈', + 'Uuml;': 'Ü', + Uuml: 'Ü', + 'uuml;': 'ü', + uuml: 'ü', + 'uwangle;': '⦧', + 'vangrt;': '⦜', + 'varepsilon;': 'ϵ', + 'varkappa;': 'ϰ', + 'varnothing;': '∅', + 'varphi;': 'ϕ', + 'varpi;': 'ϖ', + 'varpropto;': '∝', + 'vArr;': '⇕', + 'varr;': '↕', + 'varrho;': 'ϱ', + 'varsigma;': 'ς', + 'varsubsetneq;': '⊊︀', + 'varsubsetneqq;': '⫋︀', + 'varsupsetneq;': '⊋︀', + 'varsupsetneqq;': '⫌︀', + 'vartheta;': 'ϑ', + 'vartriangleleft;': '⊲', + 'vartriangleright;': '⊳', + 'Vbar;': '⫫', + 'vBar;': '⫨', + 'vBarv;': '⫩', + 'Vcy;': 'В', + 'vcy;': 'в', + 'VDash;': '⊫', + 'Vdash;': '⊩', + 'vDash;': '⊨', + 'vdash;': '⊢', + 'Vdashl;': '⫦', + 'Vee;': '⋁', + 'vee;': '∨', + 'veebar;': '⊻', + 'veeeq;': '≚', + 'vellip;': '⋮', + 'Verbar;': '‖', + 'verbar;': '|', + 'Vert;': '‖', + 'vert;': '|', + 'VerticalBar;': '∣', + 'VerticalLine;': '|', + 'VerticalSeparator;': '❘', + 'VerticalTilde;': '≀', + 'VeryThinSpace;': ' ', + 'Vfr;': '𝔙', + 'vfr;': '𝔳', + 'vltri;': '⊲', + 'vnsub;': '⊂⃒', + 'vnsup;': '⊃⃒', + 'Vopf;': '𝕍', + 'vopf;': '𝕧', + 'vprop;': '∝', + 'vrtri;': '⊳', + 'Vscr;': '𝒱', + 'vscr;': '𝓋', + 'vsubnE;': '⫋︀', + 'vsubne;': '⊊︀', + 'vsupnE;': '⫌︀', + 'vsupne;': '⊋︀', + 'Vvdash;': '⊪', + 'vzigzag;': '⦚', + 'Wcirc;': 'Ŵ', + 'wcirc;': 'ŵ', + 'wedbar;': '⩟', + 'Wedge;': '⋀', + 'wedge;': '∧', + 'wedgeq;': '≙', + 'weierp;': '℘', + 'Wfr;': '𝔚', + 'wfr;': '𝔴', + 'Wopf;': '𝕎', + 'wopf;': '𝕨', + 'wp;': '℘', + 'wr;': '≀', + 'wreath;': '≀', + 'Wscr;': '𝒲', + 'wscr;': '𝓌', + 'xcap;': '⋂', + 'xcirc;': '◯', + 'xcup;': '⋃', + 'xdtri;': '▽', + 'Xfr;': '𝔛', + 'xfr;': '𝔵', + 'xhArr;': '⟺', + 'xharr;': '⟷', + 'Xi;': 'Ξ', + 'xi;': 'ξ', + 'xlArr;': '⟸', + 'xlarr;': '⟵', + 'xmap;': '⟼', + 'xnis;': '⋻', + 'xodot;': '⨀', + 'Xopf;': '𝕏', + 'xopf;': '𝕩', + 'xoplus;': '⨁', + 'xotime;': '⨂', + 'xrArr;': '⟹', + 'xrarr;': '⟶', + 'Xscr;': '𝒳', + 'xscr;': '𝓍', + 'xsqcup;': '⨆', + 'xuplus;': '⨄', + 'xutri;': '△', + 'xvee;': '⋁', + 'xwedge;': '⋀', + 'Yacute;': 'Ý', + Yacute: 'Ý', + 'yacute;': 'ý', + yacute: 'ý', + 'YAcy;': 'Я', + 'yacy;': 'я', + 'Ycirc;': 'Ŷ', + 'ycirc;': 'ŷ', + 'Ycy;': 'Ы', + 'ycy;': 'ы', + 'yen;': '¥', + yen: '¥', + 'Yfr;': '𝔜', + 'yfr;': '𝔶', + 'YIcy;': 'Ї', + 'yicy;': 'ї', + 'Yopf;': '𝕐', + 'yopf;': '𝕪', + 'Yscr;': '𝒴', + 'yscr;': '𝓎', + 'YUcy;': 'Ю', + 'yucy;': 'ю', + 'Yuml;': 'Ÿ', + 'yuml;': 'ÿ', + yuml: 'ÿ', + 'Zacute;': 'Ź', + 'zacute;': 'ź', + 'Zcaron;': 'Ž', + 'zcaron;': 'ž', + 'Zcy;': 'З', + 'zcy;': 'з', + 'Zdot;': 'Ż', + 'zdot;': 'ż', + 'zeetrf;': 'ℨ', + 'ZeroWidthSpace;': '​', + 'Zeta;': 'Ζ', + 'zeta;': 'ζ', + 'Zfr;': 'ℨ', + 'zfr;': '𝔷', + 'ZHcy;': 'Ж', + 'zhcy;': 'ж', + 'zigrarr;': '⇝', + 'Zopf;': 'ℤ', + 'zopf;': '𝕫', + 'Zscr;': '𝒵', + 'zscr;': '𝓏', + 'zwj;': '‍', + 'zwnj;': '‌', + }; + function Be(e, t) { + if (e.length < t.length) return !1; + for (var n = 0; n < t.length; n++) if (e[n] !== t[n]) return !1; + return !0; + } + var Ge = 'a'.charCodeAt(0), + Ve = 'z'.charCodeAt(0), + Ke = 'A'.charCodeAt(0), + Je = 'Z'.charCodeAt(0), + Ye = '0'.charCodeAt(0), + Xe = '9'.charCodeAt(0); + function $e(e, t) { + var n = e.charCodeAt(t); + return ( + (Ge <= n && n <= Ve) || (Ke <= n && n <= Je) || (Ye <= n && n <= Xe) + ); + } + var Ze = [ + 'area', + 'base', + 'br', + 'col', + 'embed', + 'hr', + 'img', + 'input', + 'keygen', + 'link', + 'menuitem', + 'meta', + 'param', + 'source', + 'track', + 'wbr', + ]; + function Qe(e) { + return ( + !!e && + (function (e, t, n) { + for (var i = 0, r = e.length - 1; i <= r; ) { + var a = ((i + r) / 2) | 0, + o = ((s = t), e[a].localeCompare(s)); + if (o < 0) i = a + 1; + else { + if (!(o > 0)) return a; + r = a - 1; + } + } + var s; + return -(i + 1); + })(Ze, e.toLowerCase()) >= 0 + ); + } + function et(e) { + return void 0 !== e; + } + var tt = (function () { + function e(e, t) { + var n = this; + (this.id = e), + (this._tags = []), + (this._tagMap = {}), + (this._valueSetMap = {}), + (this._tags = t.tags || []), + (this._globalAttributes = t.globalAttributes || []), + this._tags.forEach(function (e) { + n._tagMap[e.name.toLowerCase()] = e; + }), + t.valueSets && + t.valueSets.forEach(function (e) { + n._valueSetMap[e.name] = e.values; + }); + } + return ( + (e.prototype.isApplicable = function () { + return !0; + }), + (e.prototype.getId = function () { + return this.id; + }), + (e.prototype.provideTags = function () { + return this._tags; + }), + (e.prototype.provideAttributes = function (e) { + var t = [], + n = function (e) { + t.push(e); + }, + i = this._tagMap[e.toLowerCase()]; + return ( + i && i.attributes.forEach(n), this._globalAttributes.forEach(n), t + ); + }), + (e.prototype.provideValues = function (e, t) { + var n = this, + i = []; + t = t.toLowerCase(); + var r = function (e) { + e.forEach(function (e) { + e.name.toLowerCase() === t && + (e.values && + e.values.forEach(function (e) { + i.push(e); + }), + e.valueSet && + n._valueSetMap[e.valueSet] && + n._valueSetMap[e.valueSet].forEach(function (e) { + i.push(e); + })); + }); + }, + a = this._tagMap[e.toLowerCase()]; + return a ? (r(a.attributes), r(this._globalAttributes), i) : []; + }), + e + ); + })(); + function nt(e, t) { + var n = { kind: t ? 'markdown' : 'plaintext', value: '' }; + if (e.description) { + var i = (function (e) { + if (e) + return 'string' == typeof e + ? { kind: 'markdown', value: e } + : { kind: 'markdown', value: e.value }; + })(e.description); + i && (n.value += i.value); + } + if ( + (e.references && + e.references.length > 0 && + ((n.value += '\n\n'), + (n.value += t + ? e.references + .map(function (e) { + return '[' + e.name + '](' + e.url + ')'; + }) + .join(' | ') + : e.references + .map(function (e) { + return e.name + ': ' + e.url; + }) + .join('\n'))), + '' !== n.value) + ) + return n; + } + var it = function (e, t, n, i) { + return new (n || (n = Promise))(function (r, a) { + function o(e) { + try { + l(i.next(e)); + } catch (e) { + a(e); + } + } + function s(e) { + try { + l(i.throw(e)); + } catch (e) { + a(e); + } + } + function l(e) { + var t; + e.done + ? r(e.value) + : ((t = e.value), + t instanceof n + ? t + : new n(function (e) { + e(t); + })).then(o, s); + } + l((i = i.apply(e, t || [])).next()); + }); + }, + rt = function (e, t) { + var n, + i, + r, + a, + o = { + label: 0, + sent: function () { + if (1 & r[0]) throw r[1]; + return r[1]; + }, + trys: [], + ops: [], + }; + return ( + (a = { next: s(0), throw: s(1), return: s(2) }), + 'function' == typeof Symbol && + (a[Symbol.iterator] = function () { + return this; + }), + a + ); + function s(a) { + return function (s) { + return (function (a) { + if (n) throw new TypeError('Generator is already executing.'); + for (; o; ) + try { + if ( + ((n = 1), + i && + (r = + 2 & a[0] + ? i.return + : a[0] + ? i.throw || ((r = i.return) && r.call(i), 0) + : i.next) && + !(r = r.call(i, a[1])).done) + ) + return r; + switch (((i = 0), r && (a = [2 & a[0], r.value]), a[0])) { + case 0: + case 1: + r = a; + break; + case 4: + return o.label++, { value: a[1], done: !1 }; + case 5: + o.label++, (i = a[1]), (a = [0]); + continue; + case 7: + (a = o.ops.pop()), o.trys.pop(); + continue; + default: + if ( + !( + (r = (r = o.trys).length > 0 && r[r.length - 1]) || + (6 !== a[0] && 2 !== a[0]) + ) + ) { + o = 0; + continue; + } + if ( + 3 === a[0] && + (!r || (a[1] > r[0] && a[1] < r[3])) + ) { + o.label = a[1]; + break; + } + if (6 === a[0] && o.label < r[1]) { + (o.label = r[1]), (r = a); + break; + } + if (r && o.label < r[2]) { + (o.label = r[2]), o.ops.push(a); + break; + } + r[2] && o.ops.pop(), o.trys.pop(); + continue; + } + a = t.call(e, o); + } catch (e) { + (a = [6, e]), (i = 0); + } finally { + n = r = 0; + } + if (5 & a[0]) throw a[1]; + return { value: a[0] ? a[1] : void 0, done: !0 }; + })([a, s]); + }; + } + }, + at = (function () { + function e(e) { + (this.readDirectory = e), (this.atributeCompletions = []); + } + return ( + (e.prototype.onHtmlAttributeValue = function (e) { + var t, n, i; + (t = e.tag), + (n = e.attribute), + (i = ct[t]) && + ('string' == typeof i ? i === n : -1 !== i.indexOf(n)) && + this.atributeCompletions.push(e); + }), + (e.prototype.computeCompletions = function (e, t) { + return it(this, void 0, void 0, function () { + var n, i, a, o, s, l, c, h, d, u; + return rt(this, function (p) { + switch (p.label) { + case 0: + (n = { items: [], isIncomplete: !1 }), + (i = 0), + (a = this.atributeCompletions), + (p.label = 1); + case 1: + return i < a.length + ? ((o = a[i]), + (m = s = (function (e) { + return Be(e, "'") || Be(e, '"') + ? e.slice(1, -1) + : e; + })(e.getText(o.range))), + Be(m, 'http') || Be(m, 'https') || Be(m, '//') + ? [3, 4] + : '.' !== s && '..' !== s + ? [3, 2] + : ((n.isIncomplete = !0), [3, 4])) + : [3, 5]; + case 2: + return ( + (l = (function (e, t, n) { + var i, + a = e.lastIndexOf('/'); + if (-1 === a) + i = (function (e, t, n) { + var i = lt(e.start, 1), + a = lt(e.end, -1); + return r.create(i, a); + })(n); + else { + var o, + s = t.slice(a + 1), + l = lt(n.end, -1 - s.length), + c = s.indexOf(' '); + (o = -1 !== c ? lt(l, c) : lt(n.end, -1)), + (i = r.create(l, o)); + } + return i; + })(o.value, s, o.range)), + [4, this.providePathSuggestions(o.value, l, e, t)] + ); + case 3: + for (c = p.sent(), h = 0, d = c; h < d.length; h++) + (u = d[h]), n.items.push(u); + p.label = 4; + case 4: + return i++, [3, 1]; + case 5: + return [2, n]; + } + var m; + }); + }); + }), + (e.prototype.providePathSuggestions = function (e, t, n, i) { + return it(this, void 0, void 0, function () { + var r, a, o, s, l, c, h, d, u; + return rt(this, function (p) { + switch (p.label) { + case 0: + if ( + ((r = e.substring(0, e.lastIndexOf('/') + 1)), + !(a = i.resolveReference(r || '.', n.uri))) + ) + return [3, 4]; + p.label = 1; + case 1: + return ( + p.trys.push([1, 3, , 4]), + (o = []), + [4, this.readDirectory(a)] + ); + case 2: + for (s = p.sent(), l = 0, c = s; l < c.length; l++) + (h = c[l]), + (d = h[0]), + (u = h[1]), + d.charCodeAt(0) !== ot && + o.push(st(d, u === _e.Directory, t)); + return [2, o]; + case 3: + return p.sent(), [3, 4]; + case 4: + return [2, []]; + } + }); + }); + }), + e + ); + })(), + ot = '.'.charCodeAt(0); + function st(e, t, n) { + return t + ? { + label: (e += '/'), + kind: P.Folder, + textEdit: _.replace(n, e), + command: { + title: 'Suggest', + command: 'editor.action.triggerSuggest', + }, + } + : { label: e, kind: P.File, textEdit: _.replace(n, e) }; + } + function lt(e, t) { + return i.create(e.line, e.character + t); + } + var ct = { + a: 'href', + area: 'href', + body: 'background', + del: 'cite', + form: 'action', + frame: ['src', 'longdesc'], + img: ['src', 'longdesc'], + ins: 'cite', + link: 'href', + object: 'data', + q: 'cite', + script: 'src', + audio: 'src', + button: 'formaction', + command: 'icon', + embed: 'src', + html: 'manifest', + input: ['src', 'formaction'], + source: 'src', + track: 'src', + video: ['src', 'poster'], + }, + ht = I(); + function dt(e) { + return /^\s*$/.test(e); + } + function ut(e, t, n, i) { + for (var r = Ne(e, t, n), a = r.scan(); a === fe.Whitespace; ) + a = r.scan(); + return a === i; + } + !(function () { + function e(e, t) { + (this.lsOptions = e), + (this.dataManager = t), + (this.completionParticipants = []); + } + (e.prototype.setCompletionParticipants = function (e) { + this.completionParticipants = e || []; + }), + (e.prototype.doComplete2 = function (e, t, n, i, r) { + return ( + (a = this), + (o = void 0), + (l = function () { + var a, o, s, l; + return (function (e, t) { + var n, + i, + r, + a, + o = { + label: 0, + sent: function () { + if (1 & r[0]) throw r[1]; + return r[1]; + }, + trys: [], + ops: [], + }; + return ( + (a = { next: s(0), throw: s(1), return: s(2) }), + 'function' == typeof Symbol && + (a[Symbol.iterator] = function () { + return this; + }), + a + ); + function s(a) { + return function (s) { + return (function (a) { + if (n) + throw new TypeError( + 'Generator is already executing.' + ); + for (; o; ) + try { + if ( + ((n = 1), + i && + (r = + 2 & a[0] + ? i.return + : a[0] + ? i.throw || + ((r = i.return) && r.call(i), 0) + : i.next) && + !(r = r.call(i, a[1])).done) + ) + return r; + switch ( + ((i = 0), r && (a = [2 & a[0], r.value]), a[0]) + ) { + case 0: + case 1: + r = a; + break; + case 4: + return o.label++, { value: a[1], done: !1 }; + case 5: + o.label++, (i = a[1]), (a = [0]); + continue; + case 7: + (a = o.ops.pop()), o.trys.pop(); + continue; + default: + if ( + !( + (r = + (r = o.trys).length > 0 && + r[r.length - 1]) || + (6 !== a[0] && 2 !== a[0]) + ) + ) { + o = 0; + continue; + } + if ( + 3 === a[0] && + (!r || (a[1] > r[0] && a[1] < r[3])) + ) { + o.label = a[1]; + break; + } + if (6 === a[0] && o.label < r[1]) { + (o.label = r[1]), (r = a); + break; + } + if (r && o.label < r[2]) { + (o.label = r[2]), o.ops.push(a); + break; + } + r[2] && o.ops.pop(), o.trys.pop(); + continue; + } + a = t.call(e, o); + } catch (e) { + (a = [6, e]), (i = 0); + } finally { + n = r = 0; + } + if (5 & a[0]) throw a[1]; + return { value: a[0] ? a[1] : void 0, done: !0 }; + })([a, s]); + }; + } + })(this, function (c) { + switch (c.label) { + case 0: + if ( + !this.lsOptions.fileSystemProvider || + !this.lsOptions.fileSystemProvider.readDirectory + ) + return [2, this.doComplete(e, t, n, r)]; + (a = new at( + this.lsOptions.fileSystemProvider.readDirectory + )), + (o = this.completionParticipants), + (this.completionParticipants = [a].concat(o)), + (s = this.doComplete(e, t, n, r)), + (c.label = 1); + case 1: + return ( + c.trys.push([1, , 3, 4]), + [4, a.computeCompletions(e, i)] + ); + case 2: + return ( + (l = c.sent()), + [ + 2, + { + isIncomplete: s.isIncomplete || l.isIncomplete, + items: l.items.concat(s.items), + }, + ] + ); + case 3: + return (this.completionParticipants = o), [7]; + case 4: + return [2]; + } + }); + }), + new ((s = void 0) || (s = Promise))(function (e, t) { + function n(e) { + try { + r(l.next(e)); + } catch (e) { + t(e); + } + } + function i(e) { + try { + r(l.throw(e)); + } catch (e) { + t(e); + } + } + function r(t) { + var r; + t.done + ? e(t.value) + : ((r = t.value), + r instanceof s + ? r + : new s(function (e) { + e(r); + })).then(n, i); + } + r((l = l.apply(a, o || [])).next()); + }) + ); + var a, o, s, l; + }), + (e.prototype.doComplete = function (e, t, n, i) { + var r = this._doComplete(e, t, n, i); + return this.convertCompletionList(r); + }), + (e.prototype._doComplete = function (e, t, n, a) { + var o = { isIncomplete: !1, items: [] }, + s = this.completionParticipants, + l = this.dataManager.getDataProviders().filter(function (t) { + return ( + t.isApplicable(e.languageId) && (!a || !1 !== a[t.getId()]) + ); + }), + c = this.doesSupportMarkdown(), + h = e.getText(), + d = e.offsetAt(t), + u = n.findNodeBefore(d); + if (!u) return o; + var p, + m = Ne(h, u.start), + f = ''; + function g(t, n) { + return ( + void 0 === n && (n = d), + t > d && (t = d), + { start: e.positionAt(t), end: e.positionAt(n) } + ); + } + function b(e, t) { + var n = g(e, t); + return ( + l.forEach(function (e) { + e.provideTags().forEach(function (e) { + o.items.push({ + label: e.name, + kind: P.Property, + documentation: nt(e, c), + textEdit: _.replace(n, e.name), + insertTextFormat: O.PlainText, + }); + }); + }), + o + ); + } + function w(e) { + for (var t = e; t > 0; ) { + var n = h.charAt(t - 1); + if ('\n\r'.indexOf(n) >= 0) return h.substring(t, e); + if (!dt(n)) return null; + t--; + } + return h.substring(0, e); + } + function v(e, t, n) { + void 0 === n && (n = d); + var i = g(e, n), + r = ut(h, n, ge.WithinEndTag, fe.EndTagClose) ? '' : '>', + a = u; + for (t && (a = a.parent); a; ) { + var s = a.tag; + if (s && (!a.closed || (a.endTagStart && a.endTagStart > d))) { + var p = { + label: '/' + s, + kind: P.Property, + filterText: '/' + s, + textEdit: _.replace(i, '/' + s + r), + insertTextFormat: O.PlainText, + }, + m = w(a.start), + f = w(e - 1); + if (null !== m && null !== f && m !== f) { + var b = m + '', + kind: P.Property, + filterText: '', + textEdit: _.insert(i, '$0'), + insertTextFormat: O.Snippet, + }); + } + return o; + } + function T(e, t) { + return b(e, t), v(e, !0, t), o; + } + function k(e, t) { + void 0 === t && (t = d); + for (var i = d; i < t && '<' !== h[i]; ) i++; + var r = g(e, i), + a = ut(h, t, ge.AfterAttributeName, fe.DelimiterAssign) + ? '' + : '="$1"', + s = Object.create(null); + return ( + l.forEach(function (e) { + e.provideAttributes(f).forEach(function (e) { + if (!s[e.name]) { + s[e.name] = !0; + var t, + n = e.name; + 'v' !== e.valueSet && + a.length && + ((n += a), + (e.valueSet || 'style' === e.name) && + (t = { + title: 'Suggest', + command: 'editor.action.triggerSuggest', + })), + o.items.push({ + label: e.name, + kind: 'handler' === e.valueSet ? P.Function : P.Value, + documentation: nt(e, c), + textEdit: _.replace(r, n), + insertTextFormat: O.Snippet, + command: t, + }); + } + }); + }), + (function (e, t) { + var i = 'data-', + r = {}; + function a(e) { + e.attributeNames.forEach(function (e) { + !Be(e, i) || r[e] || t[e] || (r[e] = e + '="$1"'); + }), + e.children.forEach(function (e) { + return a(e); + }); + } + (r['data-'] = 'data-$1="$2"'), + n && + n.roots.forEach(function (e) { + return a(e); + }), + Object.keys(r).forEach(function (t) { + return o.items.push({ + label: t, + kind: P.Value, + textEdit: _.replace(e, r[t]), + insertTextFormat: O.Snippet, + }); + }); + })(r, s), + o + ); + } + function S(n, i) { + var r, a, u, m; + if ( + (void 0 === i && (i = d), + d > n && d <= i && ((m = h[n]), /^["']*$/.test(m))) + ) { + var b = n + 1, + w = i; + i > n && h[i - 1] === h[n] && w--; + var v = (function (e, t, n) { + for (; t > n && !dt(e[t - 1]); ) t--; + return t; + })(h, d, b), + y = (function (e, t, n) { + for (; t < n && !dt(e[t]); ) t++; + return t; + })(h, d, w); + (r = g(v, y)), + (u = d >= b && d <= w ? h.substring(b, d) : ''), + (a = !1); + } else (r = g(n, i)), (u = h.substring(n, d)), (a = !0); + if (s.length > 0) + for ( + var T = f.toLowerCase(), + k = p.toLowerCase(), + S = g(n, i), + x = 0, + M = s; + x < M.length; + x++ + ) { + var E = M[x]; + E.onHtmlAttributeValue && + E.onHtmlAttributeValue({ + document: e, + position: t, + tag: T, + attribute: k, + value: u, + range: S, + }); + } + return ( + l.forEach(function (e) { + e.provideValues(f, p).forEach(function (e) { + var t = a ? '"' + e.name + '"' : e.name; + o.items.push({ + label: e.name, + filterText: t, + kind: P.Unit, + documentation: nt(e, c), + textEdit: _.replace(r, t), + insertTextFormat: O.PlainText, + }); + }); + }), + L(), + o + ); + } + function x(e) { + return d === m.getTokenEnd() && + (A = m.scan()) === e && + m.getTokenOffset() === d + ? m.getTokenEnd() + : d; + } + function M() { + for (var n = 0, i = s; n < i.length; n++) { + var r = i[n]; + r.onHtmlContent && + r.onHtmlContent({ document: e, position: t }); + } + return L(); + } + function L() { + for (var e, n, a = d - 1, s = t.character; a >= 0 && $e(h, a); ) + a--, s--; + if (a >= 0 && '&' === h[a]) { + var l = r.create(i.create(t.line, s - 1), t); + for (var c in Fe) + if ( + (';', + void 0, + (n = (e = c).length - ';'.length) > 0 + ? e.lastIndexOf(';') === n + : 0 === n && ';' === e) + ) { + var u = '&' + c; + o.items.push({ + label: u, + kind: P.Keyword, + documentation: ht( + 'entity.propose', + "Character entity representing '" + Fe[c] + "'" + ), + textEdit: _.replace(l, u), + insertTextFormat: O.PlainText, + }); + } + } + return o; + } + for ( + var E, A = m.scan(); + A !== fe.EOS && m.getTokenOffset() <= d; + + ) { + switch (A) { + case fe.StartTagOpen: + if (m.getTokenEnd() === d) { + var z = x(fe.StartTag); + return ( + 0 === t.line && + (void 0, + (E = g(d, z)), + o.items.push({ + label: '!DOCTYPE', + kind: P.Property, + documentation: 'A preamble for an HTML document.', + textEdit: _.replace(E, '!DOCTYPE html>'), + insertTextFormat: O.PlainText, + })), + T(d, z) + ); + } + break; + case fe.StartTag: + if (m.getTokenOffset() <= d && d <= m.getTokenEnd()) + return b(m.getTokenOffset(), m.getTokenEnd()); + f = m.getTokenText(); + break; + case fe.AttributeName: + if (m.getTokenOffset() <= d && d <= m.getTokenEnd()) + return k(m.getTokenOffset(), m.getTokenEnd()); + p = m.getTokenText(); + break; + case fe.DelimiterAssign: + if (m.getTokenEnd() === d) + return (z = x(fe.AttributeValue)), S(d, z); + break; + case fe.AttributeValue: + if (m.getTokenOffset() <= d && d <= m.getTokenEnd()) + return S(m.getTokenOffset(), m.getTokenEnd()); + break; + case fe.Whitespace: + if (d <= m.getTokenEnd()) + switch (m.getScannerState()) { + case ge.AfterOpeningStartTag: + return T(m.getTokenOffset(), x(fe.StartTag)); + case ge.WithinTag: + case ge.AfterAttributeName: + return k(m.getTokenEnd()); + case ge.BeforeAttributeValue: + return S(m.getTokenEnd()); + case ge.AfterOpeningEndTag: + return v(m.getTokenOffset() - 1, !1); + case ge.WithinContent: + return M(); + } + break; + case fe.EndTagOpen: + if (d <= m.getTokenEnd()) + return v(m.getTokenOffset() + 1, !1, x(fe.EndTag)); + break; + case fe.EndTag: + if (d <= m.getTokenEnd()) + for (var R = m.getTokenOffset() - 1; R >= 0; ) { + var I = h.charAt(R); + if ('/' === I) return v(R, !1, m.getTokenEnd()); + if (!dt(I)) break; + R--; + } + break; + case fe.StartTagClose: + if (d <= m.getTokenEnd() && f) return y(m.getTokenEnd(), f); + break; + case fe.Content: + if (d <= m.getTokenEnd()) return M(); + break; + default: + if (d <= m.getTokenEnd()) return o; + } + A = m.scan(); + } + return o; + }), + (e.prototype.doTagComplete = function (e, t, n) { + var i = e.offsetAt(t); + if (i <= 0) return null; + var r = e.getText().charAt(i - 1); + if ('>' === r) { + if ( + (o = n.findNodeBefore(i)) && + o.tag && + !Qe(o.tag) && + o.start < i && + (!o.endTagStart || o.endTagStart > i) + ) + for ( + var a = (s = Ne(e.getText(), o.start)).scan(); + a !== fe.EOS && s.getTokenEnd() <= i; + + ) { + if (a === fe.StartTagClose && s.getTokenEnd() === i) + return '$0'; + a = s.scan(); + } + } else if ('/' === r) { + for (var o = n.findNodeBefore(i); o && o.closed; ) o = o.parent; + var s; + if (o && o.tag) + for ( + a = (s = Ne(e.getText(), o.start)).scan(); + a !== fe.EOS && s.getTokenEnd() <= i; + + ) { + if (a === fe.EndTagOpen && s.getTokenEnd() === i) + return o.tag + '>'; + a = s.scan(); + } + } + return null; + }), + (e.prototype.convertCompletionList = function (e) { + return ( + this.doesSupportMarkdown() || + e.items.forEach(function (e) { + e.documentation && + 'string' != typeof e.documentation && + (e.documentation = { + kind: 'plaintext', + value: e.documentation.value, + }); + }), + e + ); + }), + (e.prototype.doesSupportMarkdown = function () { + var e, t, n; + if (!et(this.supportsMarkdown)) { + if (!et(this.lsOptions.clientCapabilities)) + return (this.supportsMarkdown = !0), this.supportsMarkdown; + var i = + null === + (n = + null === + (t = + null === + (e = this.lsOptions.clientCapabilities + .textDocument) || void 0 === e + ? void 0 + : e.completion) || void 0 === t + ? void 0 + : t.completionItem) || void 0 === n + ? void 0 + : n.documentationFormat; + this.supportsMarkdown = + Array.isArray(i) && -1 !== i.indexOf(W.Markdown); + } + return this.supportsMarkdown; + }); + })(), + (function () { + function e(e, t) { + (this.lsOptions = e), (this.dataManager = t); + } + (e.prototype.doHover = function (e, t, n) { + var i = this.convertContents.bind(this), + r = this.doesSupportMarkdown(), + a = e.offsetAt(t), + o = n.findNodeAt(a); + if (!o || !o.tag) return null; + var s = this.dataManager.getDataProviders().filter(function (t) { + return t.isApplicable(e.languageId); + }); + function l(e, t, n) { + for ( + var a = function (n) { + var a = null; + if ( + (n.provideTags().forEach(function (n) { + if (n.name.toLowerCase() === e.toLowerCase()) { + var i = nt(n, r); + i || + (i = { + kind: r ? 'markdown' : 'plaintext', + value: '', + }), + (a = { contents: i, range: t }); + } + }), + a) + ) + return (a.contents = i(a.contents)), { value: a }; + }, + o = 0, + l = s; + o < l.length; + o++ + ) { + var c = a(l[o]); + if ('object' == typeof c) return c.value; + } + return null; + } + function c(t, n) { + for ( + var i = Ne(e.getText(), n), r = i.scan(); + r !== fe.EOS && + (i.getTokenEnd() < a || (i.getTokenEnd() === a && r !== t)); + + ) + r = i.scan(); + return r === t && a <= i.getTokenEnd() + ? { + start: e.positionAt(i.getTokenOffset()), + end: e.positionAt(i.getTokenEnd()), + } + : null; + } + if (o.endTagStart && a >= o.endTagStart) { + var h = c(fe.EndTag, o.endTagStart); + return h ? l(o.tag, h) : null; + } + var d = c(fe.StartTag, o.start); + if (d) return l(o.tag, d); + var u = c(fe.AttributeName, o.start); + if (u) + return (function (e, t, n) { + for ( + var a = function (a) { + var o = null; + if ( + (a.provideAttributes(e).forEach(function (e) { + if (t === e.name && e.description) { + var i = nt(e, r); + o = i ? { contents: i, range: n } : null; + } + }), + o) + ) + return (o.contents = i(o.contents)), { value: o }; + }, + o = 0, + l = s; + o < l.length; + o++ + ) { + var c = a(l[o]); + if ('object' == typeof c) return c.value; + } + return null; + })((f = o.tag), e.getText(u), u); + var p, + m = c(fe.AttributeValue, o.start); + if (m) { + var f = o.tag, + g = + (p = e.getText(m)).length <= 1 + ? p.replace(/['"]/, '') + : (("'" !== p[0] && '"' !== p[0]) || (p = p.slice(1)), + ("'" !== p[p.length - 1] && '"' !== p[p.length - 1]) || + (p = p.slice(0, -1)), + p), + b = (function (t, n) { + for ( + var i = Ne(e.getText(), t), r = i.scan(), a = void 0; + r !== fe.EOS && i.getTokenEnd() <= n; + + ) + (r = i.scan()) === fe.AttributeName && + (a = i.getTokenText()); + return a; + })(o.start, e.offsetAt(m.start)); + if (b) + return (function (e, t, n, a) { + for ( + var o = function (o) { + var s = null; + if ( + (o.provideValues(e, t).forEach(function (e) { + if (n === e.name && e.description) { + var t = nt(e, r); + s = t ? { contents: t, range: a } : null; + } + }), + s) + ) + return (s.contents = i(s.contents)), { value: s }; + }, + l = 0, + c = s; + l < c.length; + l++ + ) { + var h = o(c[l]); + if ('object' == typeof h) return h.value; + } + return null; + })(f, b, g, m); + } + return null; + }), + (e.prototype.convertContents = function (e) { + if (!this.doesSupportMarkdown()) { + if ('string' == typeof e) return e; + if ('kind' in e) return { kind: 'plaintext', value: e.value }; + if (!Array.isArray(e)) return e.value; + e.map(function (e) { + return 'string' == typeof e ? e : e.value; + }); + } + return e; + }), + (e.prototype.doesSupportMarkdown = function () { + var e, t, n; + if (!et(this.supportsMarkdown)) { + if (!et(this.lsOptions.clientCapabilities)) + return (this.supportsMarkdown = !0), this.supportsMarkdown; + var i = + null === + (n = + null === + (t = + null === (e = this.lsOptions.clientCapabilities) || + void 0 === e + ? void 0 + : e.textDocument) || void 0 === t + ? void 0 + : t.hover) || void 0 === n + ? void 0 + : n.contentFormat; + this.supportsMarkdown = + Array.isArray(i) && -1 !== i.indexOf(W.Markdown); + } + return this.supportsMarkdown; + }); + })(), + (function (e) { + var t = {}; + function n(i) { + if (t[i]) return t[i].exports; + var r = (t[i] = { i, l: !1, exports: {} }); + return e[i].call(r.exports, r, r.exports, n), (r.l = !0), r.exports; + } + (n.m = e), + (n.c = t), + (n.d = function (e, t, i) { + n.o(e, t) || + Object.defineProperty(e, t, { enumerable: !0, get: i }); + }), + (n.r = function (e) { + 'undefined' != typeof Symbol && + Symbol.toStringTag && + Object.defineProperty(e, Symbol.toStringTag, { + value: 'Module', + }), + Object.defineProperty(e, '__esModule', { value: !0 }); + }), + (n.t = function (e, t) { + if ((1 & t && (e = n(e)), 8 & t)) return e; + if (4 & t && 'object' == typeof e && e && e.__esModule) return e; + var i = Object.create(null); + if ( + (n.r(i), + Object.defineProperty(i, 'default', { + enumerable: !0, + value: e, + }), + 2 & t && 'string' != typeof e) + ) + for (var r in e) + n.d( + i, + r, + function (t) { + return e[t]; + }.bind(null, r) + ); + return i; + }), + (n.n = function (e) { + var t = + e && e.__esModule + ? function () { + return e.default; + } + : function () { + return e; + }; + return n.d(t, 'a', t), t; + }), + (n.o = function (e, t) { + return Object.prototype.hasOwnProperty.call(e, t); + }), + (n.p = ''), + n((n.s = 15)); + })([ + , + , + function (e, t, n) { + function i(e) { + (this.__parent = e), + (this.__character_count = 0), + (this.__indent_count = -1), + (this.__alignment_count = 0), + (this.__wrap_point_index = 0), + (this.__wrap_point_character_count = 0), + (this.__wrap_point_indent_count = -1), + (this.__wrap_point_alignment_count = 0), + (this.__items = []); + } + function r(e, t) { + (this.__cache = ['']), + (this.__indent_size = e.indent_size), + (this.__indent_string = e.indent_char), + e.indent_with_tabs || + (this.__indent_string = new Array(e.indent_size + 1).join( + e.indent_char + )), + (t = t || ''), + e.indent_level > 0 && + (t = new Array(e.indent_level + 1).join( + this.__indent_string + )), + (this.__base_string = t), + (this.__base_string_length = t.length); + } + function a(e, t) { + (this.__indent_cache = new r(e, t)), + (this.raw = !1), + (this._end_with_newline = e.end_with_newline), + (this.indent_size = e.indent_size), + (this.wrap_line_length = e.wrap_line_length), + (this.indent_empty_lines = e.indent_empty_lines), + (this.__lines = []), + (this.previous_line = null), + (this.current_line = null), + (this.next_line = new i(this)), + (this.space_before_token = !1), + (this.non_breaking_space = !1), + (this.previous_token_wrapped = !1), + this.__add_outputline(); + } + (i.prototype.clone_empty = function () { + var e = new i(this.__parent); + return ( + e.set_indent(this.__indent_count, this.__alignment_count), e + ); + }), + (i.prototype.item = function (e) { + return e < 0 + ? this.__items[this.__items.length + e] + : this.__items[e]; + }), + (i.prototype.has_match = function (e) { + for (var t = this.__items.length - 1; t >= 0; t--) + if (this.__items[t].match(e)) return !0; + return !1; + }), + (i.prototype.set_indent = function (e, t) { + this.is_empty() && + ((this.__indent_count = e || 0), + (this.__alignment_count = t || 0), + (this.__character_count = this.__parent.get_indent_size( + this.__indent_count, + this.__alignment_count + ))); + }), + (i.prototype._set_wrap_point = function () { + this.__parent.wrap_line_length && + ((this.__wrap_point_index = this.__items.length), + (this.__wrap_point_character_count = this.__character_count), + (this.__wrap_point_indent_count = this.__parent.next_line.__indent_count), + (this.__wrap_point_alignment_count = this.__parent.next_line.__alignment_count)); + }), + (i.prototype._should_wrap = function () { + return ( + this.__wrap_point_index && + this.__character_count > this.__parent.wrap_line_length && + this.__wrap_point_character_count > + this.__parent.next_line.__character_count + ); + }), + (i.prototype._allow_wrap = function () { + if (this._should_wrap()) { + this.__parent.add_new_line(); + var e = this.__parent.current_line; + return ( + e.set_indent( + this.__wrap_point_indent_count, + this.__wrap_point_alignment_count + ), + (e.__items = this.__items.slice(this.__wrap_point_index)), + (this.__items = this.__items.slice( + 0, + this.__wrap_point_index + )), + (e.__character_count += + this.__character_count - + this.__wrap_point_character_count), + (this.__character_count = this.__wrap_point_character_count), + ' ' === e.__items[0] && + (e.__items.splice(0, 1), (e.__character_count -= 1)), + !0 + ); + } + return !1; + }), + (i.prototype.is_empty = function () { + return 0 === this.__items.length; + }), + (i.prototype.last = function () { + return this.is_empty() + ? null + : this.__items[this.__items.length - 1]; + }), + (i.prototype.push = function (e) { + this.__items.push(e); + var t = e.lastIndexOf('\n'); + -1 !== t + ? (this.__character_count = e.length - t) + : (this.__character_count += e.length); + }), + (i.prototype.pop = function () { + var e = null; + return ( + this.is_empty() || + ((e = this.__items.pop()), + (this.__character_count -= e.length)), + e + ); + }), + (i.prototype._remove_indent = function () { + this.__indent_count > 0 && + ((this.__indent_count -= 1), + (this.__character_count -= this.__parent.indent_size)); + }), + (i.prototype._remove_wrap_indent = function () { + this.__wrap_point_indent_count > 0 && + (this.__wrap_point_indent_count -= 1); + }), + (i.prototype.trim = function () { + for (; ' ' === this.last(); ) + this.__items.pop(), (this.__character_count -= 1); + }), + (i.prototype.toString = function () { + var e = ''; + return ( + this.is_empty() + ? this.__parent.indent_empty_lines && + (e = this.__parent.get_indent_string(this.__indent_count)) + : ((e = this.__parent.get_indent_string( + this.__indent_count, + this.__alignment_count + )), + (e += this.__items.join(''))), + e + ); + }), + (r.prototype.get_indent_size = function (e, t) { + var n = this.__base_string_length; + return ( + (t = t || 0), + e < 0 && (n = 0), + (n += e * this.__indent_size) + t + ); + }), + (r.prototype.get_indent_string = function (e, t) { + var n = this.__base_string; + return ( + (t = t || 0), + e < 0 && ((e = 0), (n = '')), + (t += e * this.__indent_size), + this.__ensure_cache(t), + n + this.__cache[t] + ); + }), + (r.prototype.__ensure_cache = function (e) { + for (; e >= this.__cache.length; ) this.__add_column(); + }), + (r.prototype.__add_column = function () { + var e = this.__cache.length, + t = 0, + n = ''; + this.__indent_size && + e >= this.__indent_size && + ((e -= + (t = Math.floor(e / this.__indent_size)) * + this.__indent_size), + (n = new Array(t + 1).join(this.__indent_string))), + e && (n += new Array(e + 1).join(' ')), + this.__cache.push(n); + }), + (a.prototype.__add_outputline = function () { + (this.previous_line = this.current_line), + (this.current_line = this.next_line.clone_empty()), + this.__lines.push(this.current_line); + }), + (a.prototype.get_line_number = function () { + return this.__lines.length; + }), + (a.prototype.get_indent_string = function (e, t) { + return this.__indent_cache.get_indent_string(e, t); + }), + (a.prototype.get_indent_size = function (e, t) { + return this.__indent_cache.get_indent_size(e, t); + }), + (a.prototype.is_empty = function () { + return !this.previous_line && this.current_line.is_empty(); + }), + (a.prototype.add_new_line = function (e) { + return !( + this.is_empty() || + (!e && this.just_added_newline()) || + (this.raw || this.__add_outputline(), 0) + ); + }), + (a.prototype.get_code = function (e) { + this.trim(!0); + var t = this.current_line.pop(); + t && + ('\n' === t[t.length - 1] && (t = t.replace(/\n+$/g, '')), + this.current_line.push(t)), + this._end_with_newline && this.__add_outputline(); + var n = this.__lines.join('\n'); + return '\n' !== e && (n = n.replace(/[\n]/g, e)), n; + }), + (a.prototype.set_wrap_point = function () { + this.current_line._set_wrap_point(); + }), + (a.prototype.set_indent = function (e, t) { + return ( + (e = e || 0), + (t = t || 0), + this.next_line.set_indent(e, t), + this.__lines.length > 1 + ? (this.current_line.set_indent(e, t), !0) + : (this.current_line.set_indent(), !1) + ); + }), + (a.prototype.add_raw_token = function (e) { + for (var t = 0; t < e.newlines; t++) this.__add_outputline(); + this.current_line.set_indent(-1), + this.current_line.push(e.whitespace_before), + this.current_line.push(e.text), + (this.space_before_token = !1), + (this.non_breaking_space = !1), + (this.previous_token_wrapped = !1); + }), + (a.prototype.add_token = function (e) { + this.__add_space_before_token(), + this.current_line.push(e), + (this.space_before_token = !1), + (this.non_breaking_space = !1), + (this.previous_token_wrapped = this.current_line._allow_wrap()); + }), + (a.prototype.__add_space_before_token = function () { + this.space_before_token && + !this.just_added_newline() && + (this.non_breaking_space || this.set_wrap_point(), + this.current_line.push(' ')); + }), + (a.prototype.remove_indent = function (e) { + for (var t = this.__lines.length; e < t; ) + this.__lines[e]._remove_indent(), e++; + this.current_line._remove_wrap_indent(); + }), + (a.prototype.trim = function (e) { + for ( + e = void 0 !== e && e, this.current_line.trim(); + e && this.__lines.length > 1 && this.current_line.is_empty(); + + ) + this.__lines.pop(), + (this.current_line = this.__lines[this.__lines.length - 1]), + this.current_line.trim(); + this.previous_line = + this.__lines.length > 1 + ? this.__lines[this.__lines.length - 2] + : null; + }), + (a.prototype.just_added_newline = function () { + return this.current_line.is_empty(); + }), + (a.prototype.just_added_blankline = function () { + return ( + this.is_empty() || + (this.current_line.is_empty() && + this.previous_line.is_empty()) + ); + }), + (a.prototype.ensure_empty_line_above = function (e, t) { + for (var n = this.__lines.length - 2; n >= 0; ) { + var r = this.__lines[n]; + if (r.is_empty()) break; + if (0 !== r.item(0).indexOf(e) && r.item(-1) !== t) { + this.__lines.splice(n + 1, 0, new i(this)), + (this.previous_line = this.__lines[ + this.__lines.length - 2 + ]); + break; + } + n--; + } + }), + (e.exports.Output = a); + }, + , + , + , + function (e, t, n) { + function i(e, t) { + (this.raw_options = r(e, t)), + (this.disabled = this._get_boolean('disabled')), + (this.eol = this._get_characters('eol', 'auto')), + (this.end_with_newline = this._get_boolean('end_with_newline')), + (this.indent_size = this._get_number('indent_size', 4)), + (this.indent_char = this._get_characters('indent_char', ' ')), + (this.indent_level = this._get_number('indent_level')), + (this.preserve_newlines = this._get_boolean( + 'preserve_newlines', + !0 + )), + (this.max_preserve_newlines = this._get_number( + 'max_preserve_newlines', + 32786 + )), + this.preserve_newlines || (this.max_preserve_newlines = 0), + (this.indent_with_tabs = this._get_boolean( + 'indent_with_tabs', + '\t' === this.indent_char + )), + this.indent_with_tabs && + ((this.indent_char = '\t'), + 1 === this.indent_size && (this.indent_size = 4)), + (this.wrap_line_length = this._get_number( + 'wrap_line_length', + this._get_number('max_char') + )), + (this.indent_empty_lines = this._get_boolean( + 'indent_empty_lines' + )), + (this.templating = this._get_selection_list( + 'templating', + ['auto', 'none', 'django', 'erb', 'handlebars', 'php'], + ['auto'] + )); + } + function r(e, t) { + var n, + i = {}; + for (n in (e = a(e))) n !== t && (i[n] = e[n]); + if (t && e[t]) for (n in e[t]) i[n] = e[t][n]; + return i; + } + function a(e) { + var t, + n = {}; + for (t in e) n[t.replace(/-/g, '_')] = e[t]; + return n; + } + (i.prototype._get_array = function (e, t) { + var n = this.raw_options[e], + i = t || []; + return ( + 'object' == typeof n + ? null !== n && + 'function' == typeof n.concat && + (i = n.concat()) + : 'string' == typeof n && (i = n.split(/[^a-zA-Z0-9_\/\-]+/)), + i + ); + }), + (i.prototype._get_boolean = function (e, t) { + var n = this.raw_options[e]; + return void 0 === n ? !!t : !!n; + }), + (i.prototype._get_characters = function (e, t) { + var n = this.raw_options[e], + i = t || ''; + return ( + 'string' == typeof n && + (i = n + .replace(/\\r/, '\r') + .replace(/\\n/, '\n') + .replace(/\\t/, '\t')), + i + ); + }), + (i.prototype._get_number = function (e, t) { + var n = this.raw_options[e]; + (t = parseInt(t, 10)), isNaN(t) && (t = 0); + var i = parseInt(n, 10); + return isNaN(i) && (i = t), i; + }), + (i.prototype._get_selection = function (e, t, n) { + var i = this._get_selection_list(e, t, n); + if (1 !== i.length) + throw new Error( + "Invalid Option Value: The option '" + + e + + "' can only be one of the following values:\n" + + t + + "\nYou passed in: '" + + this.raw_options[e] + + "'" + ); + return i[0]; + }), + (i.prototype._get_selection_list = function (e, t, n) { + if (!t || 0 === t.length) + throw new Error('Selection list cannot be empty.'); + if (((n = n || [t[0]]), !this._is_valid_selection(n, t))) + throw new Error('Invalid Default Value!'); + var i = this._get_array(e, n); + if (!this._is_valid_selection(i, t)) + throw new Error( + "Invalid Option Value: The option '" + + e + + "' can contain only the following values:\n" + + t + + "\nYou passed in: '" + + this.raw_options[e] + + "'" + ); + return i; + }), + (i.prototype._is_valid_selection = function (e, t) { + return ( + e.length && + t.length && + !e.some(function (e) { + return -1 === t.indexOf(e); + }) + ); + }), + (e.exports.Options = i), + (e.exports.normalizeOpts = a), + (e.exports.mergeOpts = r); + }, + , + function (e, t, n) { + var i = RegExp.prototype.hasOwnProperty('sticky'); + function r(e) { + (this.__input = e || ''), + (this.__input_length = this.__input.length), + (this.__position = 0); + } + (r.prototype.restart = function () { + this.__position = 0; + }), + (r.prototype.back = function () { + this.__position > 0 && (this.__position -= 1); + }), + (r.prototype.hasNext = function () { + return this.__position < this.__input_length; + }), + (r.prototype.next = function () { + var e = null; + return ( + this.hasNext() && + ((e = this.__input.charAt(this.__position)), + (this.__position += 1)), + e + ); + }), + (r.prototype.peek = function (e) { + var t = null; + return ( + (e = e || 0), + (e += this.__position) >= 0 && + e < this.__input_length && + (t = this.__input.charAt(e)), + t + ); + }), + (r.prototype.__match = function (e, t) { + e.lastIndex = t; + var n = e.exec(this.__input); + return ( + !n || (i && e.sticky) || (n.index !== t && (n = null)), n + ); + }), + (r.prototype.test = function (e, t) { + return ( + (t = t || 0), + (t += this.__position) >= 0 && + t < this.__input_length && + !!this.__match(e, t) + ); + }), + (r.prototype.testChar = function (e, t) { + var n = this.peek(t); + return (e.lastIndex = 0), null !== n && e.test(n); + }), + (r.prototype.match = function (e) { + var t = this.__match(e, this.__position); + return t ? (this.__position += t[0].length) : (t = null), t; + }), + (r.prototype.read = function (e, t, n) { + var i, + r = ''; + return ( + e && (i = this.match(e)) && (r += i[0]), + !t || (!i && e) || (r += this.readUntil(t, n)), + r + ); + }), + (r.prototype.readUntil = function (e, t) { + var n, + i = this.__position; + e.lastIndex = this.__position; + var r = e.exec(this.__input); + return ( + r + ? ((i = r.index), t && (i += r[0].length)) + : (i = this.__input_length), + (n = this.__input.substring(this.__position, i)), + (this.__position = i), + n + ); + }), + (r.prototype.readUntilAfter = function (e) { + return this.readUntil(e, !0); + }), + (r.prototype.get_regexp = function (e, t) { + var n = null, + r = 'g'; + return ( + t && i && (r = 'y'), + 'string' == typeof e && '' !== e + ? (n = new RegExp(e, r)) + : e && (n = new RegExp(e.source, r)), + n + ); + }), + (r.prototype.get_literal_regexp = function (e) { + return RegExp(e.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&')); + }), + (r.prototype.peekUntilAfter = function (e) { + var t = this.__position, + n = this.readUntilAfter(e); + return (this.__position = t), n; + }), + (r.prototype.lookBack = function (e) { + var t = this.__position - 1; + return ( + t >= e.length && + this.__input.substring(t - e.length, t).toLowerCase() === e + ); + }), + (e.exports.InputScanner = r); + }, + , + , + , + , + function (e, t, n) { + function i(e, t) { + (e = 'string' == typeof e ? e : e.source), + (t = 'string' == typeof t ? t : t.source), + (this.__directives_block_pattern = new RegExp( + e + / beautify( \w+[:]\w+)+ /.source + t, + 'g' + )), + (this.__directive_pattern = / (\w+)[:](\w+)/g), + (this.__directives_end_ignore_pattern = new RegExp( + e + /\sbeautify\signore:end\s/.source + t, + 'g' + )); + } + (i.prototype.get_directives = function (e) { + if (!e.match(this.__directives_block_pattern)) return null; + var t = {}; + this.__directive_pattern.lastIndex = 0; + for (var n = this.__directive_pattern.exec(e); n; ) + (t[n[1]] = n[2]), (n = this.__directive_pattern.exec(e)); + return t; + }), + (i.prototype.readIgnored = function (e) { + return e.readUntilAfter(this.__directives_end_ignore_pattern); + }), + (e.exports.Directives = i); + }, + , + function (e, t, n) { + var i = n(16).Beautifier, + r = n(17).Options; + (e.exports = function (e, t) { + return new i(e, t).beautify(); + }), + (e.exports.defaultOptions = function () { + return new r(); + }); + }, + function (e, t, n) { + var i = n(17).Options, + r = n(2).Output, + a = n(8).InputScanner, + o = new (0, n(13).Directives)(/\/\*/, /\*\//), + s = /\r\n|[\r\n]/, + l = /\r\n|[\r\n]/g, + c = /\s/, + h = /(?:\s|\n)+/g, + d = /\/\*(?:[\s\S]*?)((?:\*\/)|$)/g, + u = /\/\/(?:[^\n\r\u2028\u2029]*)/g; + function p(e, t) { + (this._source_text = e || ''), + (this._options = new i(t)), + (this._ch = null), + (this._input = null), + (this.NESTED_AT_RULE = { + '@page': !0, + '@font-face': !0, + '@keyframes': !0, + '@media': !0, + '@supports': !0, + '@document': !0, + }), + (this.CONDITIONAL_GROUP_RULE = { + '@media': !0, + '@supports': !0, + '@document': !0, + }); + } + (p.prototype.eatString = function (e) { + var t = ''; + for (this._ch = this._input.next(); this._ch; ) { + if (((t += this._ch), '\\' === this._ch)) + t += this._input.next(); + else if (-1 !== e.indexOf(this._ch) || '\n' === this._ch) break; + this._ch = this._input.next(); + } + return t; + }), + (p.prototype.eatWhitespace = function (e) { + for ( + var t = c.test(this._input.peek()), n = !0; + c.test(this._input.peek()); + + ) + (this._ch = this._input.next()), + e && + '\n' === this._ch && + (this._options.preserve_newlines || n) && + ((n = !1), this._output.add_new_line(!0)); + return t; + }), + (p.prototype.foundNestedPseudoClass = function () { + for (var e = 0, t = 1, n = this._input.peek(t); n; ) { + if ('{' === n) return !0; + if ('(' === n) e += 1; + else if (')' === n) { + if (0 === e) return !1; + e -= 1; + } else if (';' === n || '}' === n) return !1; + t++, (n = this._input.peek(t)); + } + return !1; + }), + (p.prototype.print_string = function (e) { + this._output.set_indent(this._indentLevel), + (this._output.non_breaking_space = !0), + this._output.add_token(e); + }), + (p.prototype.preserveSingleSpace = function (e) { + e && (this._output.space_before_token = !0); + }), + (p.prototype.indent = function () { + this._indentLevel++; + }), + (p.prototype.outdent = function () { + this._indentLevel > 0 && this._indentLevel--; + }), + (p.prototype.beautify = function () { + if (this._options.disabled) return this._source_text; + var e = this._source_text, + t = this._options.eol; + 'auto' === t && + ((t = '\n'), e && s.test(e || '') && (t = e.match(s)[0])); + var n = (e = e.replace(l, '\n')).match(/^[\t ]*/)[0]; + (this._output = new r(this._options, n)), + (this._input = new a(e)), + (this._indentLevel = 0), + (this._nestedLevel = 0), + (this._ch = null); + for ( + var i, + p, + m = 0, + f = !1, + g = !1, + b = !1, + _ = !1, + w = !1, + v = this._ch; + (i = '' !== this._input.read(h)), + (p = v), + (this._ch = this._input.next()), + '\\' === this._ch && + this._input.hasNext() && + (this._ch += this._input.next()), + (v = this._ch), + this._ch; + + ) + if ('/' === this._ch && '*' === this._input.peek()) { + this._output.add_new_line(), this._input.back(); + var y = this._input.read(d), + T = o.get_directives(y); + T && + 'start' === T.ignore && + (y += o.readIgnored(this._input)), + this.print_string(y), + this.eatWhitespace(!0), + this._output.add_new_line(); + } else if ('/' === this._ch && '/' === this._input.peek()) + (this._output.space_before_token = !0), + this._input.back(), + this.print_string(this._input.read(u)), + this.eatWhitespace(!0); + else if ('@' === this._ch) + if ( + (this.preserveSingleSpace(i), '{' === this._input.peek()) + ) + this.print_string(this._ch + this.eatString('}')); + else { + this.print_string(this._ch); + var k = this._input.peekUntilAfter(/[: ,;{}()[\]\/='"]/g); + k.match(/[ :]$/) && + ((k = this.eatString(': ').replace(/\s$/, '')), + this.print_string(k), + (this._output.space_before_token = !0)), + 'extend' === (k = k.replace(/\s$/, '')) + ? (_ = !0) + : 'import' === k && (w = !0), + k in this.NESTED_AT_RULE + ? ((this._nestedLevel += 1), + k in this.CONDITIONAL_GROUP_RULE && (b = !0)) + : f || + 0 !== m || + -1 === k.indexOf(':') || + ((g = !0), this.indent()); + } + else + '#' === this._ch && '{' === this._input.peek() + ? (this.preserveSingleSpace(i), + this.print_string(this._ch + this.eatString('}'))) + : '{' === this._ch + ? (g && ((g = !1), this.outdent()), + this.indent(), + (this._output.space_before_token = !0), + this.print_string(this._ch), + b + ? ((b = !1), + (f = this._indentLevel > this._nestedLevel)) + : (f = this._indentLevel >= this._nestedLevel), + this._options.newline_between_rules && + f && + this._output.previous_line && + '{' !== this._output.previous_line.item(-1) && + this._output.ensure_empty_line_above('/', ','), + this.eatWhitespace(!0), + this._output.add_new_line()) + : '}' === this._ch + ? (this.outdent(), + this._output.add_new_line(), + '{' === p && this._output.trim(!0), + (w = !1), + (_ = !1), + g && (this.outdent(), (g = !1)), + this.print_string(this._ch), + (f = !1), + this._nestedLevel && this._nestedLevel--, + this.eatWhitespace(!0), + this._output.add_new_line(), + this._options.newline_between_rules && + !this._output.just_added_blankline() && + '}' !== this._input.peek() && + this._output.add_new_line(!0)) + : ':' === this._ch + ? (!f && !b) || + this._input.lookBack('&') || + this.foundNestedPseudoClass() || + this._input.lookBack('(') || + _ || + 0 !== m + ? (this._input.lookBack(' ') && + (this._output.space_before_token = !0), + ':' === this._input.peek() + ? ((this._ch = this._input.next()), + this.print_string('::')) + : this.print_string(':')) + : (this.print_string(':'), + g || + ((g = !0), + (this._output.space_before_token = !0), + this.eatWhitespace(!0), + this.indent())) + : '"' === this._ch || "'" === this._ch + ? (this.preserveSingleSpace(i), + this.print_string(this._ch + this.eatString(this._ch)), + this.eatWhitespace(!0)) + : ';' === this._ch + ? 0 === m + ? (g && (this.outdent(), (g = !1)), + (_ = !1), + (w = !1), + this.print_string(this._ch), + this.eatWhitespace(!0), + '/' !== this._input.peek() && + this._output.add_new_line()) + : (this.print_string(this._ch), + this.eatWhitespace(!0), + (this._output.space_before_token = !0)) + : '(' === this._ch + ? this._input.lookBack('url') + ? (this.print_string(this._ch), + this.eatWhitespace(), + m++, + this.indent(), + (this._ch = this._input.next()), + ')' === this._ch || + '"' === this._ch || + "'" === this._ch + ? this._input.back() + : this._ch && + (this.print_string( + this._ch + this.eatString(')') + ), + m && (m--, this.outdent()))) + : (this.preserveSingleSpace(i), + this.print_string(this._ch), + this.eatWhitespace(), + m++, + this.indent()) + : ')' === this._ch + ? (m && (m--, this.outdent()), + this.print_string(this._ch)) + : ',' === this._ch + ? (this.print_string(this._ch), + this.eatWhitespace(!0), + !this._options.selector_separator_newline || + g || + 0 !== m || + w + ? (this._output.space_before_token = !0) + : this._output.add_new_line()) + : ('>' !== this._ch && + '+' !== this._ch && + '~' !== this._ch) || + g || + 0 !== m + ? ']' === this._ch + ? this.print_string(this._ch) + : '[' === this._ch + ? (this.preserveSingleSpace(i), + this.print_string(this._ch)) + : '=' === this._ch + ? (this.eatWhitespace(), + this.print_string('='), + c.test(this._ch) && (this._ch = '')) + : '!' !== this._ch || this._input.lookBack('\\') + ? (this.preserveSingleSpace(i), + this.print_string(this._ch)) + : (this.print_string(' '), this.print_string(this._ch)) + : this._options.space_around_combinator + ? ((this._output.space_before_token = !0), + this.print_string(this._ch), + (this._output.space_before_token = !0)) + : (this.print_string(this._ch), + this.eatWhitespace(), + this._ch && c.test(this._ch) && (this._ch = '')); + return this._output.get_code(t); + }), + (e.exports.Beautifier = p); + }, + function (e, t, n) { + var i = n(6).Options; + function r(e) { + i.call(this, e, 'css'), + (this.selector_separator_newline = this._get_boolean( + 'selector_separator_newline', + !0 + )), + (this.newline_between_rules = this._get_boolean( + 'newline_between_rules', + !0 + )); + var t = this._get_boolean('space_around_selector_separator'); + this.space_around_combinator = + this._get_boolean('space_around_combinator') || t; + } + (r.prototype = new i()), (e.exports.Options = r); + }, + ]), + (function (e) { + var t = {}; + function n(i) { + if (t[i]) return t[i].exports; + var r = (t[i] = { i, l: !1, exports: {} }); + return e[i].call(r.exports, r, r.exports, n), (r.l = !0), r.exports; + } + (n.m = e), + (n.c = t), + (n.d = function (e, t, i) { + n.o(e, t) || + Object.defineProperty(e, t, { enumerable: !0, get: i }); + }), + (n.r = function (e) { + 'undefined' != typeof Symbol && + Symbol.toStringTag && + Object.defineProperty(e, Symbol.toStringTag, { + value: 'Module', + }), + Object.defineProperty(e, '__esModule', { value: !0 }); + }), + (n.t = function (e, t) { + if ((1 & t && (e = n(e)), 8 & t)) return e; + if (4 & t && 'object' == typeof e && e && e.__esModule) return e; + var i = Object.create(null); + if ( + (n.r(i), + Object.defineProperty(i, 'default', { + enumerable: !0, + value: e, + }), + 2 & t && 'string' != typeof e) + ) + for (var r in e) + n.d( + i, + r, + function (t) { + return e[t]; + }.bind(null, r) + ); + return i; + }), + (n.n = function (e) { + var t = + e && e.__esModule + ? function () { + return e.default; + } + : function () { + return e; + }; + return n.d(t, 'a', t), t; + }), + (n.o = function (e, t) { + return Object.prototype.hasOwnProperty.call(e, t); + }), + (n.p = ''), + n((n.s = 18)); + })([ + , + , + function (e, t, n) { + function i(e) { + (this.__parent = e), + (this.__character_count = 0), + (this.__indent_count = -1), + (this.__alignment_count = 0), + (this.__wrap_point_index = 0), + (this.__wrap_point_character_count = 0), + (this.__wrap_point_indent_count = -1), + (this.__wrap_point_alignment_count = 0), + (this.__items = []); + } + function r(e, t) { + (this.__cache = ['']), + (this.__indent_size = e.indent_size), + (this.__indent_string = e.indent_char), + e.indent_with_tabs || + (this.__indent_string = new Array(e.indent_size + 1).join( + e.indent_char + )), + (t = t || ''), + e.indent_level > 0 && + (t = new Array(e.indent_level + 1).join( + this.__indent_string + )), + (this.__base_string = t), + (this.__base_string_length = t.length); + } + function a(e, t) { + (this.__indent_cache = new r(e, t)), + (this.raw = !1), + (this._end_with_newline = e.end_with_newline), + (this.indent_size = e.indent_size), + (this.wrap_line_length = e.wrap_line_length), + (this.indent_empty_lines = e.indent_empty_lines), + (this.__lines = []), + (this.previous_line = null), + (this.current_line = null), + (this.next_line = new i(this)), + (this.space_before_token = !1), + (this.non_breaking_space = !1), + (this.previous_token_wrapped = !1), + this.__add_outputline(); + } + (i.prototype.clone_empty = function () { + var e = new i(this.__parent); + return ( + e.set_indent(this.__indent_count, this.__alignment_count), e + ); + }), + (i.prototype.item = function (e) { + return e < 0 + ? this.__items[this.__items.length + e] + : this.__items[e]; + }), + (i.prototype.has_match = function (e) { + for (var t = this.__items.length - 1; t >= 0; t--) + if (this.__items[t].match(e)) return !0; + return !1; + }), + (i.prototype.set_indent = function (e, t) { + this.is_empty() && + ((this.__indent_count = e || 0), + (this.__alignment_count = t || 0), + (this.__character_count = this.__parent.get_indent_size( + this.__indent_count, + this.__alignment_count + ))); + }), + (i.prototype._set_wrap_point = function () { + this.__parent.wrap_line_length && + ((this.__wrap_point_index = this.__items.length), + (this.__wrap_point_character_count = this.__character_count), + (this.__wrap_point_indent_count = this.__parent.next_line.__indent_count), + (this.__wrap_point_alignment_count = this.__parent.next_line.__alignment_count)); + }), + (i.prototype._should_wrap = function () { + return ( + this.__wrap_point_index && + this.__character_count > this.__parent.wrap_line_length && + this.__wrap_point_character_count > + this.__parent.next_line.__character_count + ); + }), + (i.prototype._allow_wrap = function () { + if (this._should_wrap()) { + this.__parent.add_new_line(); + var e = this.__parent.current_line; + return ( + e.set_indent( + this.__wrap_point_indent_count, + this.__wrap_point_alignment_count + ), + (e.__items = this.__items.slice(this.__wrap_point_index)), + (this.__items = this.__items.slice( + 0, + this.__wrap_point_index + )), + (e.__character_count += + this.__character_count - + this.__wrap_point_character_count), + (this.__character_count = this.__wrap_point_character_count), + ' ' === e.__items[0] && + (e.__items.splice(0, 1), (e.__character_count -= 1)), + !0 + ); + } + return !1; + }), + (i.prototype.is_empty = function () { + return 0 === this.__items.length; + }), + (i.prototype.last = function () { + return this.is_empty() + ? null + : this.__items[this.__items.length - 1]; + }), + (i.prototype.push = function (e) { + this.__items.push(e); + var t = e.lastIndexOf('\n'); + -1 !== t + ? (this.__character_count = e.length - t) + : (this.__character_count += e.length); + }), + (i.prototype.pop = function () { + var e = null; + return ( + this.is_empty() || + ((e = this.__items.pop()), + (this.__character_count -= e.length)), + e + ); + }), + (i.prototype._remove_indent = function () { + this.__indent_count > 0 && + ((this.__indent_count -= 1), + (this.__character_count -= this.__parent.indent_size)); + }), + (i.prototype._remove_wrap_indent = function () { + this.__wrap_point_indent_count > 0 && + (this.__wrap_point_indent_count -= 1); + }), + (i.prototype.trim = function () { + for (; ' ' === this.last(); ) + this.__items.pop(), (this.__character_count -= 1); + }), + (i.prototype.toString = function () { + var e = ''; + return ( + this.is_empty() + ? this.__parent.indent_empty_lines && + (e = this.__parent.get_indent_string(this.__indent_count)) + : ((e = this.__parent.get_indent_string( + this.__indent_count, + this.__alignment_count + )), + (e += this.__items.join(''))), + e + ); + }), + (r.prototype.get_indent_size = function (e, t) { + var n = this.__base_string_length; + return ( + (t = t || 0), + e < 0 && (n = 0), + (n += e * this.__indent_size) + t + ); + }), + (r.prototype.get_indent_string = function (e, t) { + var n = this.__base_string; + return ( + (t = t || 0), + e < 0 && ((e = 0), (n = '')), + (t += e * this.__indent_size), + this.__ensure_cache(t), + n + this.__cache[t] + ); + }), + (r.prototype.__ensure_cache = function (e) { + for (; e >= this.__cache.length; ) this.__add_column(); + }), + (r.prototype.__add_column = function () { + var e = this.__cache.length, + t = 0, + n = ''; + this.__indent_size && + e >= this.__indent_size && + ((e -= + (t = Math.floor(e / this.__indent_size)) * + this.__indent_size), + (n = new Array(t + 1).join(this.__indent_string))), + e && (n += new Array(e + 1).join(' ')), + this.__cache.push(n); + }), + (a.prototype.__add_outputline = function () { + (this.previous_line = this.current_line), + (this.current_line = this.next_line.clone_empty()), + this.__lines.push(this.current_line); + }), + (a.prototype.get_line_number = function () { + return this.__lines.length; + }), + (a.prototype.get_indent_string = function (e, t) { + return this.__indent_cache.get_indent_string(e, t); + }), + (a.prototype.get_indent_size = function (e, t) { + return this.__indent_cache.get_indent_size(e, t); + }), + (a.prototype.is_empty = function () { + return !this.previous_line && this.current_line.is_empty(); + }), + (a.prototype.add_new_line = function (e) { + return !( + this.is_empty() || + (!e && this.just_added_newline()) || + (this.raw || this.__add_outputline(), 0) + ); + }), + (a.prototype.get_code = function (e) { + this.trim(!0); + var t = this.current_line.pop(); + t && + ('\n' === t[t.length - 1] && (t = t.replace(/\n+$/g, '')), + this.current_line.push(t)), + this._end_with_newline && this.__add_outputline(); + var n = this.__lines.join('\n'); + return '\n' !== e && (n = n.replace(/[\n]/g, e)), n; + }), + (a.prototype.set_wrap_point = function () { + this.current_line._set_wrap_point(); + }), + (a.prototype.set_indent = function (e, t) { + return ( + (e = e || 0), + (t = t || 0), + this.next_line.set_indent(e, t), + this.__lines.length > 1 + ? (this.current_line.set_indent(e, t), !0) + : (this.current_line.set_indent(), !1) + ); + }), + (a.prototype.add_raw_token = function (e) { + for (var t = 0; t < e.newlines; t++) this.__add_outputline(); + this.current_line.set_indent(-1), + this.current_line.push(e.whitespace_before), + this.current_line.push(e.text), + (this.space_before_token = !1), + (this.non_breaking_space = !1), + (this.previous_token_wrapped = !1); + }), + (a.prototype.add_token = function (e) { + this.__add_space_before_token(), + this.current_line.push(e), + (this.space_before_token = !1), + (this.non_breaking_space = !1), + (this.previous_token_wrapped = this.current_line._allow_wrap()); + }), + (a.prototype.__add_space_before_token = function () { + this.space_before_token && + !this.just_added_newline() && + (this.non_breaking_space || this.set_wrap_point(), + this.current_line.push(' ')); + }), + (a.prototype.remove_indent = function (e) { + for (var t = this.__lines.length; e < t; ) + this.__lines[e]._remove_indent(), e++; + this.current_line._remove_wrap_indent(); + }), + (a.prototype.trim = function (e) { + for ( + e = void 0 !== e && e, this.current_line.trim(); + e && this.__lines.length > 1 && this.current_line.is_empty(); + + ) + this.__lines.pop(), + (this.current_line = this.__lines[this.__lines.length - 1]), + this.current_line.trim(); + this.previous_line = + this.__lines.length > 1 + ? this.__lines[this.__lines.length - 2] + : null; + }), + (a.prototype.just_added_newline = function () { + return this.current_line.is_empty(); + }), + (a.prototype.just_added_blankline = function () { + return ( + this.is_empty() || + (this.current_line.is_empty() && + this.previous_line.is_empty()) + ); + }), + (a.prototype.ensure_empty_line_above = function (e, t) { + for (var n = this.__lines.length - 2; n >= 0; ) { + var r = this.__lines[n]; + if (r.is_empty()) break; + if (0 !== r.item(0).indexOf(e) && r.item(-1) !== t) { + this.__lines.splice(n + 1, 0, new i(this)), + (this.previous_line = this.__lines[ + this.__lines.length - 2 + ]); + break; + } + n--; + } + }), + (e.exports.Output = a); + }, + function (e, t, n) { + e.exports.Token = function (e, t, n, i) { + (this.type = e), + (this.text = t), + (this.comments_before = null), + (this.newlines = n || 0), + (this.whitespace_before = i || ''), + (this.parent = null), + (this.next = null), + (this.previous = null), + (this.opened = null), + (this.closed = null), + (this.directives = null); + }; + }, + , + , + function (e, t, n) { + function i(e, t) { + (this.raw_options = r(e, t)), + (this.disabled = this._get_boolean('disabled')), + (this.eol = this._get_characters('eol', 'auto')), + (this.end_with_newline = this._get_boolean('end_with_newline')), + (this.indent_size = this._get_number('indent_size', 4)), + (this.indent_char = this._get_characters('indent_char', ' ')), + (this.indent_level = this._get_number('indent_level')), + (this.preserve_newlines = this._get_boolean( + 'preserve_newlines', + !0 + )), + (this.max_preserve_newlines = this._get_number( + 'max_preserve_newlines', + 32786 + )), + this.preserve_newlines || (this.max_preserve_newlines = 0), + (this.indent_with_tabs = this._get_boolean( + 'indent_with_tabs', + '\t' === this.indent_char + )), + this.indent_with_tabs && + ((this.indent_char = '\t'), + 1 === this.indent_size && (this.indent_size = 4)), + (this.wrap_line_length = this._get_number( + 'wrap_line_length', + this._get_number('max_char') + )), + (this.indent_empty_lines = this._get_boolean( + 'indent_empty_lines' + )), + (this.templating = this._get_selection_list( + 'templating', + ['auto', 'none', 'django', 'erb', 'handlebars', 'php'], + ['auto'] + )); + } + function r(e, t) { + var n, + i = {}; + for (n in (e = a(e))) n !== t && (i[n] = e[n]); + if (t && e[t]) for (n in e[t]) i[n] = e[t][n]; + return i; + } + function a(e) { + var t, + n = {}; + for (t in e) n[t.replace(/-/g, '_')] = e[t]; + return n; + } + (i.prototype._get_array = function (e, t) { + var n = this.raw_options[e], + i = t || []; + return ( + 'object' == typeof n + ? null !== n && + 'function' == typeof n.concat && + (i = n.concat()) + : 'string' == typeof n && (i = n.split(/[^a-zA-Z0-9_\/\-]+/)), + i + ); + }), + (i.prototype._get_boolean = function (e, t) { + var n = this.raw_options[e]; + return void 0 === n ? !!t : !!n; + }), + (i.prototype._get_characters = function (e, t) { + var n = this.raw_options[e], + i = t || ''; + return ( + 'string' == typeof n && + (i = n + .replace(/\\r/, '\r') + .replace(/\\n/, '\n') + .replace(/\\t/, '\t')), + i + ); + }), + (i.prototype._get_number = function (e, t) { + var n = this.raw_options[e]; + (t = parseInt(t, 10)), isNaN(t) && (t = 0); + var i = parseInt(n, 10); + return isNaN(i) && (i = t), i; + }), + (i.prototype._get_selection = function (e, t, n) { + var i = this._get_selection_list(e, t, n); + if (1 !== i.length) + throw new Error( + "Invalid Option Value: The option '" + + e + + "' can only be one of the following values:\n" + + t + + "\nYou passed in: '" + + this.raw_options[e] + + "'" + ); + return i[0]; + }), + (i.prototype._get_selection_list = function (e, t, n) { + if (!t || 0 === t.length) + throw new Error('Selection list cannot be empty.'); + if (((n = n || [t[0]]), !this._is_valid_selection(n, t))) + throw new Error('Invalid Default Value!'); + var i = this._get_array(e, n); + if (!this._is_valid_selection(i, t)) + throw new Error( + "Invalid Option Value: The option '" + + e + + "' can contain only the following values:\n" + + t + + "\nYou passed in: '" + + this.raw_options[e] + + "'" + ); + return i; + }), + (i.prototype._is_valid_selection = function (e, t) { + return ( + e.length && + t.length && + !e.some(function (e) { + return -1 === t.indexOf(e); + }) + ); + }), + (e.exports.Options = i), + (e.exports.normalizeOpts = a), + (e.exports.mergeOpts = r); + }, + , + function (e, t, n) { + var i = RegExp.prototype.hasOwnProperty('sticky'); + function r(e) { + (this.__input = e || ''), + (this.__input_length = this.__input.length), + (this.__position = 0); + } + (r.prototype.restart = function () { + this.__position = 0; + }), + (r.prototype.back = function () { + this.__position > 0 && (this.__position -= 1); + }), + (r.prototype.hasNext = function () { + return this.__position < this.__input_length; + }), + (r.prototype.next = function () { + var e = null; + return ( + this.hasNext() && + ((e = this.__input.charAt(this.__position)), + (this.__position += 1)), + e + ); + }), + (r.prototype.peek = function (e) { + var t = null; + return ( + (e = e || 0), + (e += this.__position) >= 0 && + e < this.__input_length && + (t = this.__input.charAt(e)), + t + ); + }), + (r.prototype.__match = function (e, t) { + e.lastIndex = t; + var n = e.exec(this.__input); + return ( + !n || (i && e.sticky) || (n.index !== t && (n = null)), n + ); + }), + (r.prototype.test = function (e, t) { + return ( + (t = t || 0), + (t += this.__position) >= 0 && + t < this.__input_length && + !!this.__match(e, t) + ); + }), + (r.prototype.testChar = function (e, t) { + var n = this.peek(t); + return (e.lastIndex = 0), null !== n && e.test(n); + }), + (r.prototype.match = function (e) { + var t = this.__match(e, this.__position); + return t ? (this.__position += t[0].length) : (t = null), t; + }), + (r.prototype.read = function (e, t, n) { + var i, + r = ''; + return ( + e && (i = this.match(e)) && (r += i[0]), + !t || (!i && e) || (r += this.readUntil(t, n)), + r + ); + }), + (r.prototype.readUntil = function (e, t) { + var n, + i = this.__position; + e.lastIndex = this.__position; + var r = e.exec(this.__input); + return ( + r + ? ((i = r.index), t && (i += r[0].length)) + : (i = this.__input_length), + (n = this.__input.substring(this.__position, i)), + (this.__position = i), + n + ); + }), + (r.prototype.readUntilAfter = function (e) { + return this.readUntil(e, !0); + }), + (r.prototype.get_regexp = function (e, t) { + var n = null, + r = 'g'; + return ( + t && i && (r = 'y'), + 'string' == typeof e && '' !== e + ? (n = new RegExp(e, r)) + : e && (n = new RegExp(e.source, r)), + n + ); + }), + (r.prototype.get_literal_regexp = function (e) { + return RegExp(e.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&')); + }), + (r.prototype.peekUntilAfter = function (e) { + var t = this.__position, + n = this.readUntilAfter(e); + return (this.__position = t), n; + }), + (r.prototype.lookBack = function (e) { + var t = this.__position - 1; + return ( + t >= e.length && + this.__input.substring(t - e.length, t).toLowerCase() === e + ); + }), + (e.exports.InputScanner = r); + }, + function (e, t, n) { + var i = n(8).InputScanner, + r = n(3).Token, + a = n(10).TokenStream, + o = n(11).WhitespacePattern, + s = { START: 'TK_START', RAW: 'TK_RAW', EOF: 'TK_EOF' }, + l = function (e, t) { + (this._input = new i(e)), + (this._options = t || {}), + (this.__tokens = null), + (this._patterns = {}), + (this._patterns.whitespace = new o(this._input)); + }; + (l.prototype.tokenize = function () { + var e; + this._input.restart(), (this.__tokens = new a()), this._reset(); + for ( + var t = new r(s.START, ''), n = null, i = [], o = new a(); + t.type !== s.EOF; + + ) { + for (e = this._get_next_token(t, n); this._is_comment(e); ) + o.add(e), (e = this._get_next_token(t, n)); + o.isEmpty() || ((e.comments_before = o), (o = new a())), + (e.parent = n), + this._is_opening(e) + ? (i.push(n), (n = e)) + : n && + this._is_closing(e, n) && + ((e.opened = n), + (n.closed = e), + (n = i.pop()), + (e.parent = n)), + (e.previous = t), + (t.next = e), + this.__tokens.add(e), + (t = e); + } + return this.__tokens; + }), + (l.prototype._is_first_token = function () { + return this.__tokens.isEmpty(); + }), + (l.prototype._reset = function () {}), + (l.prototype._get_next_token = function (e, t) { + this._readWhitespace(); + var n = this._input.read(/.+/g); + return n + ? this._create_token(s.RAW, n) + : this._create_token(s.EOF, ''); + }), + (l.prototype._is_comment = function (e) { + return !1; + }), + (l.prototype._is_opening = function (e) { + return !1; + }), + (l.prototype._is_closing = function (e, t) { + return !1; + }), + (l.prototype._create_token = function (e, t) { + return new r( + e, + t, + this._patterns.whitespace.newline_count, + this._patterns.whitespace.whitespace_before_token + ); + }), + (l.prototype._readWhitespace = function () { + return this._patterns.whitespace.read(); + }), + (e.exports.Tokenizer = l), + (e.exports.TOKEN = s); + }, + function (e, t, n) { + function i(e) { + (this.__tokens = []), + (this.__tokens_length = this.__tokens.length), + (this.__position = 0), + (this.__parent_token = e); + } + (i.prototype.restart = function () { + this.__position = 0; + }), + (i.prototype.isEmpty = function () { + return 0 === this.__tokens_length; + }), + (i.prototype.hasNext = function () { + return this.__position < this.__tokens_length; + }), + (i.prototype.next = function () { + var e = null; + return ( + this.hasNext() && + ((e = this.__tokens[this.__position]), + (this.__position += 1)), + e + ); + }), + (i.prototype.peek = function (e) { + var t = null; + return ( + (e = e || 0), + (e += this.__position) >= 0 && + e < this.__tokens_length && + (t = this.__tokens[e]), + t + ); + }), + (i.prototype.add = function (e) { + this.__parent_token && (e.parent = this.__parent_token), + this.__tokens.push(e), + (this.__tokens_length += 1); + }), + (e.exports.TokenStream = i); + }, + function (e, t, n) { + var i = n(12).Pattern; + function r(e, t) { + i.call(this, e, t), + t + ? (this._line_regexp = this._input.get_regexp(t._line_regexp)) + : this.__set_whitespace_patterns('', ''), + (this.newline_count = 0), + (this.whitespace_before_token = ''); + } + (r.prototype = new i()), + (r.prototype.__set_whitespace_patterns = function (e, t) { + (e += '\\t '), + (t += '\\n\\r'), + (this._match_pattern = this._input.get_regexp( + '[' + e + t + ']+', + !0 + )), + (this._newline_regexp = this._input.get_regexp( + '\\r\\n|[' + t + ']' + )); + }), + (r.prototype.read = function () { + (this.newline_count = 0), (this.whitespace_before_token = ''); + var e = this._input.read(this._match_pattern); + if (' ' === e) this.whitespace_before_token = ' '; + else if (e) { + var t = this.__split(this._newline_regexp, e); + (this.newline_count = t.length - 1), + (this.whitespace_before_token = t[this.newline_count]); + } + return e; + }), + (r.prototype.matching = function (e, t) { + var n = this._create(); + return n.__set_whitespace_patterns(e, t), n._update(), n; + }), + (r.prototype._create = function () { + return new r(this._input, this); + }), + (r.prototype.__split = function (e, t) { + e.lastIndex = 0; + for (var n = 0, i = [], r = e.exec(t); r; ) + i.push(t.substring(n, r.index)), + (n = r.index + r[0].length), + (r = e.exec(t)); + return ( + n < t.length ? i.push(t.substring(n, t.length)) : i.push(''), + i + ); + }), + (e.exports.WhitespacePattern = r); + }, + function (e, t, n) { + function i(e, t) { + (this._input = e), + (this._starting_pattern = null), + (this._match_pattern = null), + (this._until_pattern = null), + (this._until_after = !1), + t && + ((this._starting_pattern = this._input.get_regexp( + t._starting_pattern, + !0 + )), + (this._match_pattern = this._input.get_regexp( + t._match_pattern, + !0 + )), + (this._until_pattern = this._input.get_regexp( + t._until_pattern + )), + (this._until_after = t._until_after)); + } + (i.prototype.read = function () { + var e = this._input.read(this._starting_pattern); + return ( + (this._starting_pattern && !e) || + (e += this._input.read( + this._match_pattern, + this._until_pattern, + this._until_after + )), + e + ); + }), + (i.prototype.read_match = function () { + return this._input.match(this._match_pattern); + }), + (i.prototype.until_after = function (e) { + var t = this._create(); + return ( + (t._until_after = !0), + (t._until_pattern = this._input.get_regexp(e)), + t._update(), + t + ); + }), + (i.prototype.until = function (e) { + var t = this._create(); + return ( + (t._until_after = !1), + (t._until_pattern = this._input.get_regexp(e)), + t._update(), + t + ); + }), + (i.prototype.starting_with = function (e) { + var t = this._create(); + return ( + (t._starting_pattern = this._input.get_regexp(e, !0)), + t._update(), + t + ); + }), + (i.prototype.matching = function (e) { + var t = this._create(); + return ( + (t._match_pattern = this._input.get_regexp(e, !0)), + t._update(), + t + ); + }), + (i.prototype._create = function () { + return new i(this._input, this); + }), + (i.prototype._update = function () {}), + (e.exports.Pattern = i); + }, + function (e, t, n) { + function i(e, t) { + (e = 'string' == typeof e ? e : e.source), + (t = 'string' == typeof t ? t : t.source), + (this.__directives_block_pattern = new RegExp( + e + / beautify( \w+[:]\w+)+ /.source + t, + 'g' + )), + (this.__directive_pattern = / (\w+)[:](\w+)/g), + (this.__directives_end_ignore_pattern = new RegExp( + e + /\sbeautify\signore:end\s/.source + t, + 'g' + )); + } + (i.prototype.get_directives = function (e) { + if (!e.match(this.__directives_block_pattern)) return null; + var t = {}; + this.__directive_pattern.lastIndex = 0; + for (var n = this.__directive_pattern.exec(e); n; ) + (t[n[1]] = n[2]), (n = this.__directive_pattern.exec(e)); + return t; + }), + (i.prototype.readIgnored = function (e) { + return e.readUntilAfter(this.__directives_end_ignore_pattern); + }), + (e.exports.Directives = i); + }, + function (e, t, n) { + var i = n(12).Pattern, + r = { django: !1, erb: !1, handlebars: !1, php: !1 }; + function a(e, t) { + i.call(this, e, t), + (this.__template_pattern = null), + (this._disabled = Object.assign({}, r)), + (this._excluded = Object.assign({}, r)), + t && + ((this.__template_pattern = this._input.get_regexp( + t.__template_pattern + )), + (this._excluded = Object.assign(this._excluded, t._excluded)), + (this._disabled = Object.assign( + this._disabled, + t._disabled + ))); + var n = new i(e); + this.__patterns = { + handlebars_comment: n + .starting_with(/{{!--/) + .until_after(/--}}/), + handlebars_unescaped: n.starting_with(/{{{/).until_after(/}}}/), + handlebars: n.starting_with(/{{/).until_after(/}}/), + php: n.starting_with(/<\?(?:[=]|php)/).until_after(/\?>/), + erb: n.starting_with(/<%[^%]/).until_after(/[^%]%>/), + django: n.starting_with(/{%/).until_after(/%}/), + django_value: n.starting_with(/{{/).until_after(/}}/), + django_comment: n.starting_with(/{#/).until_after(/#}/), + }; + } + (a.prototype = new i()), + (a.prototype._create = function () { + return new a(this._input, this); + }), + (a.prototype._update = function () { + this.__set_templated_pattern(); + }), + (a.prototype.disable = function (e) { + var t = this._create(); + return (t._disabled[e] = !0), t._update(), t; + }), + (a.prototype.read_options = function (e) { + var t = this._create(); + for (var n in r) + t._disabled[n] = -1 === e.templating.indexOf(n); + return t._update(), t; + }), + (a.prototype.exclude = function (e) { + var t = this._create(); + return (t._excluded[e] = !0), t._update(), t; + }), + (a.prototype.read = function () { + var e = ''; + e = this._match_pattern + ? this._input.read(this._starting_pattern) + : this._input.read( + this._starting_pattern, + this.__template_pattern + ); + for (var t = this._read_template(); t; ) + this._match_pattern + ? (t += this._input.read(this._match_pattern)) + : (t += this._input.readUntil(this.__template_pattern)), + (e += t), + (t = this._read_template()); + return ( + this._until_after && + (e += this._input.readUntilAfter(this._until_pattern)), + e + ); + }), + (a.prototype.__set_templated_pattern = function () { + var e = []; + this._disabled.php || + e.push(this.__patterns.php._starting_pattern.source), + this._disabled.handlebars || + e.push(this.__patterns.handlebars._starting_pattern.source), + this._disabled.erb || + e.push(this.__patterns.erb._starting_pattern.source), + this._disabled.django || + (e.push(this.__patterns.django._starting_pattern.source), + e.push( + this.__patterns.django_value._starting_pattern.source + ), + e.push( + this.__patterns.django_comment._starting_pattern.source + )), + this._until_pattern && e.push(this._until_pattern.source), + (this.__template_pattern = this._input.get_regexp( + '(?:' + e.join('|') + ')' + )); + }), + (a.prototype._read_template = function () { + var e = '', + t = this._input.peek(); + if ('<' === t) { + var n = this._input.peek(1); + this._disabled.php || + this._excluded.php || + '?' !== n || + (e = e || this.__patterns.php.read()), + this._disabled.erb || + this._excluded.erb || + '%' !== n || + (e = e || this.__patterns.erb.read()); + } else + '{' === t && + (this._disabled.handlebars || + this._excluded.handlebars || + (e = + (e = + (e = + e || this.__patterns.handlebars_comment.read()) || + this.__patterns.handlebars_unescaped.read()) || + this.__patterns.handlebars.read()), + this._disabled.django || + (this._excluded.django || + this._excluded.handlebars || + (e = e || this.__patterns.django_value.read()), + this._excluded.django || + (e = + (e = e || this.__patterns.django_comment.read()) || + this.__patterns.django.read()))); + return e; + }), + (e.exports.TemplatablePattern = a); + }, + , + , + , + function (e, t, n) { + var i = n(19).Beautifier, + r = n(20).Options; + (e.exports = function (e, t, n, r) { + return new i(e, t, n, r).beautify(); + }), + (e.exports.defaultOptions = function () { + return new r(); + }); + }, + function (e, t, n) { + var i = n(20).Options, + r = n(2).Output, + a = n(21).Tokenizer, + o = n(21).TOKEN, + s = /\r\n|[\r\n]/, + l = /\r\n|[\r\n]/g, + c = function (e, t) { + (this.indent_level = 0), + (this.alignment_size = 0), + (this.max_preserve_newlines = e.max_preserve_newlines), + (this.preserve_newlines = e.preserve_newlines), + (this._output = new r(e, t)); + }; + (c.prototype.current_line_has_match = function (e) { + return this._output.current_line.has_match(e); + }), + (c.prototype.set_space_before_token = function (e, t) { + (this._output.space_before_token = e), + (this._output.non_breaking_space = t); + }), + (c.prototype.set_wrap_point = function () { + this._output.set_indent(this.indent_level, this.alignment_size), + this._output.set_wrap_point(); + }), + (c.prototype.add_raw_token = function (e) { + this._output.add_raw_token(e); + }), + (c.prototype.print_preserved_newlines = function (e) { + var t = 0; + e.type !== o.TEXT && + e.previous.type !== o.TEXT && + (t = e.newlines ? 1 : 0), + this.preserve_newlines && + (t = + e.newlines < this.max_preserve_newlines + 1 + ? e.newlines + : this.max_preserve_newlines + 1); + for (var n = 0; n < t; n++) this.print_newline(n > 0); + return 0 !== t; + }), + (c.prototype.traverse_whitespace = function (e) { + return !( + (!e.whitespace_before && !e.newlines) || + (this.print_preserved_newlines(e) || + (this._output.space_before_token = !0), + 0) + ); + }), + (c.prototype.previous_token_wrapped = function () { + return this._output.previous_token_wrapped; + }), + (c.prototype.print_newline = function (e) { + this._output.add_new_line(e); + }), + (c.prototype.print_token = function (e) { + e.text && + (this._output.set_indent( + this.indent_level, + this.alignment_size + ), + this._output.add_token(e.text)); + }), + (c.prototype.indent = function () { + this.indent_level++; + }), + (c.prototype.get_full_indent = function (e) { + return (e = this.indent_level + (e || 0)) < 1 + ? '' + : this._output.get_indent_string(e); + }); + function h(e, t) { + return -1 !== t.indexOf(e); + } + function d(e, t, n) { + (this.parent = e || null), + (this.tag = t ? t.tag_name : ''), + (this.indent_level = n || 0), + (this.parser_token = t || null); + } + function u(e) { + (this._printer = e), (this._current_frame = null); + } + function p(e, t, n, r) { + (this._source_text = e || ''), + (t = t || {}), + (this._js_beautify = n), + (this._css_beautify = r), + (this._tag_stack = null); + var a = new i(t, 'html'); + (this._options = a), + (this._is_wrap_attributes_force = + 'force' === + this._options.wrap_attributes.substr(0, 'force'.length)), + (this._is_wrap_attributes_force_expand_multiline = + 'force-expand-multiline' === this._options.wrap_attributes), + (this._is_wrap_attributes_force_aligned = + 'force-aligned' === this._options.wrap_attributes), + (this._is_wrap_attributes_aligned_multiple = + 'aligned-multiple' === this._options.wrap_attributes), + (this._is_wrap_attributes_preserve = + 'preserve' === + this._options.wrap_attributes.substr(0, 'preserve'.length)), + (this._is_wrap_attributes_preserve_aligned = + 'preserve-aligned' === this._options.wrap_attributes); + } + (u.prototype.get_parser_token = function () { + return this._current_frame + ? this._current_frame.parser_token + : null; + }), + (u.prototype.record_tag = function (e) { + var t = new d( + this._current_frame, + e, + this._printer.indent_level + ); + this._current_frame = t; + }), + (u.prototype._try_pop_frame = function (e) { + var t = null; + return ( + e && + ((t = e.parser_token), + (this._printer.indent_level = e.indent_level), + (this._current_frame = e.parent)), + t + ); + }), + (u.prototype._get_frame = function (e, t) { + for ( + var n = this._current_frame; + n && -1 === e.indexOf(n.tag); + + ) { + if (t && -1 !== t.indexOf(n.tag)) { + n = null; + break; + } + n = n.parent; + } + return n; + }), + (u.prototype.try_pop = function (e, t) { + var n = this._get_frame([e], t); + return this._try_pop_frame(n); + }), + (u.prototype.indent_to_tag = function (e) { + var t = this._get_frame(e); + t && (this._printer.indent_level = t.indent_level); + }), + (p.prototype.beautify = function () { + if (this._options.disabled) return this._source_text; + var e = this._source_text, + t = this._options.eol; + 'auto' === this._options.eol && + ((t = '\n'), e && s.test(e) && (t = e.match(s)[0])); + var n = (e = e.replace(l, '\n')).match(/^[\t ]*/)[0], + i = { text: '', type: '' }, + r = new m(), + h = new c(this._options, n), + d = new a(e, this._options).tokenize(); + this._tag_stack = new u(h); + for (var p = null, f = d.next(); f.type !== o.EOF; ) + f.type === o.TAG_OPEN || f.type === o.COMMENT + ? (r = p = this._handle_tag_open(h, f, r, i)) + : f.type === o.ATTRIBUTE || + f.type === o.EQUALS || + f.type === o.VALUE || + (f.type === o.TEXT && !r.tag_complete) + ? (p = this._handle_inside_tag(h, f, r, d)) + : f.type === o.TAG_CLOSE + ? (p = this._handle_tag_close(h, f, r)) + : f.type === o.TEXT + ? (p = this._handle_text(h, f, r)) + : h.add_raw_token(f), + (i = p), + (f = d.next()); + return h._output.get_code(t); + }), + (p.prototype._handle_tag_close = function (e, t, n) { + var i = { text: t.text, type: t.type }; + return ( + (e.alignment_size = 0), + (n.tag_complete = !0), + e.set_space_before_token( + t.newlines || '' !== t.whitespace_before, + !0 + ), + n.is_unformatted + ? e.add_raw_token(t) + : ('<' === n.tag_start_char && + (e.set_space_before_token('/' === t.text[0], !0), + this._is_wrap_attributes_force_expand_multiline && + n.has_wrapped_attrs && + e.print_newline(!1)), + e.print_token(t)), + !n.indent_content || + n.is_unformatted || + n.is_content_unformatted || + (e.indent(), (n.indent_content = !1)), + n.is_inline_element || + n.is_unformatted || + n.is_content_unformatted || + e.set_wrap_point(), + i + ); + }), + (p.prototype._handle_inside_tag = function (e, t, n, i) { + var r = n.has_wrapped_attrs, + a = { text: t.text, type: t.type }; + if ( + (e.set_space_before_token( + t.newlines || '' !== t.whitespace_before, + !0 + ), + n.is_unformatted) + ) + e.add_raw_token(t); + else if ('{' === n.tag_start_char && t.type === o.TEXT) + e.print_preserved_newlines(t) + ? ((t.newlines = 0), e.add_raw_token(t)) + : e.print_token(t); + else { + if ( + (t.type === o.ATTRIBUTE + ? (e.set_space_before_token(!0), (n.attr_count += 1)) + : (t.type === o.EQUALS || + (t.type === o.VALUE && + t.previous.type === o.EQUALS)) && + e.set_space_before_token(!1), + t.type === o.ATTRIBUTE && + '<' === n.tag_start_char && + ((this._is_wrap_attributes_preserve || + this._is_wrap_attributes_preserve_aligned) && + (e.traverse_whitespace(t), (r = r || 0 !== t.newlines)), + this._is_wrap_attributes_force)) + ) { + var s = n.attr_count > 1; + if ( + this._is_wrap_attributes_force_expand_multiline && + 1 === n.attr_count + ) { + var l, + c = !0, + h = 0; + do { + if ((l = i.peek(h)).type === o.ATTRIBUTE) { + c = !1; + break; + } + h += 1; + } while ( + h < 4 && + l.type !== o.EOF && + l.type !== o.TAG_CLOSE + ); + s = !c; + } + s && (e.print_newline(!1), (r = !0)); + } + e.print_token(t), + (r = r || e.previous_token_wrapped()), + (n.has_wrapped_attrs = r); + } + return a; + }), + (p.prototype._handle_text = function (e, t, n) { + var i = { text: t.text, type: 'TK_CONTENT' }; + return ( + n.custom_beautifier_name + ? this._print_custom_beatifier_text(e, t, n) + : n.is_unformatted || n.is_content_unformatted + ? e.add_raw_token(t) + : (e.traverse_whitespace(t), e.print_token(t)), + i + ); + }), + (p.prototype._print_custom_beatifier_text = function (e, t, n) { + var i = this; + if ('' !== t.text) { + var r, + a = t.text, + o = 1, + s = '', + l = ''; + 'javascript' === n.custom_beautifier_name && + 'function' == typeof this._js_beautify + ? (r = this._js_beautify) + : 'css' === n.custom_beautifier_name && + 'function' == typeof this._css_beautify + ? (r = this._css_beautify) + : 'html' === n.custom_beautifier_name && + (r = function (e, t) { + return new p( + e, + t, + i._js_beautify, + i._css_beautify + ).beautify(); + }), + 'keep' === this._options.indent_scripts + ? (o = 0) + : 'separate' === this._options.indent_scripts && + (o = -e.indent_level); + var c = e.get_full_indent(o); + if ( + ((a = a.replace(/\n[ \t]*$/, '')), + 'html' !== n.custom_beautifier_name && + '<' === a[0] && + a.match(/^(|]]>)$/.exec( + a + ); + if (!h) return void e.add_raw_token(t); + (s = c + h[1] + '\n'), + (a = h[4]), + h[5] && (l = c + h[5]), + (a = a.replace(/\n[ \t]*$/, '')), + (h[2] || -1 !== h[3].indexOf('\n')) && + (h = h[3].match(/[ \t]+$/)) && + (t.whitespace_before = h[0]); + } + if (a) + if (r) { + var d = function () { + this.eol = '\n'; + }; + (d.prototype = this._options.raw_options), + (a = r(c + a, new d())); + } else { + var u = t.whitespace_before; + u && + (a = a.replace( + new RegExp('\n(' + u + ')?', 'g'), + '\n' + )), + (a = c + a.replace(/\n/g, '\n' + c)); + } + s && (a = a ? s + a + '\n' + l : s + l), + e.print_newline(!1), + a && + ((t.text = a), + (t.whitespace_before = ''), + (t.newlines = 0), + e.add_raw_token(t), + e.print_newline(!0)); + } + }), + (p.prototype._handle_tag_open = function (e, t, n, i) { + var r = this._get_tag_open_token(t); + return ( + (n.is_unformatted || n.is_content_unformatted) && + t.type === o.TAG_OPEN && + 0 === t.text.indexOf(']*)/)), + (this.tag_check = n ? n[1] : '')) + : ((n = t.text.match(/^{{(?:[\^]|#\*?)?([^\s}]+)/)), + (this.tag_check = n ? n[1] : ''), + '{{#>' === t.text && + '>' === this.tag_check && + null !== t.next && + (this.tag_check = t.next.text)), + (this.tag_check = this.tag_check.toLowerCase()), + t.type === o.COMMENT && (this.tag_complete = !0), + (this.is_start_tag = '/' !== this.tag_check.charAt(0)), + (this.tag_name = this.is_start_tag + ? this.tag_check + : this.tag_check.substr(1)), + (this.is_end_tag = + !this.is_start_tag || + (t.closed && '/>' === t.closed.text)), + (this.is_end_tag = + this.is_end_tag || + ('{' === this.tag_start_char && + (this.text.length < 3 || + /[^#\^]/.test(this.text.charAt(2)))))) + : (this.tag_complete = !0); + }; + (p.prototype._get_tag_open_token = function (e) { + var t = new m(this._tag_stack.get_parser_token(), e); + return ( + (t.alignment_size = this._options.wrap_attributes_indent_size), + (t.is_end_tag = + t.is_end_tag || h(t.tag_check, this._options.void_elements)), + (t.is_empty_element = + t.tag_complete || (t.is_start_tag && t.is_end_tag)), + (t.is_unformatted = + !t.tag_complete && h(t.tag_check, this._options.unformatted)), + (t.is_content_unformatted = + !t.is_empty_element && + h(t.tag_check, this._options.content_unformatted)), + (t.is_inline_element = + h(t.tag_name, this._options.inline) || + '{' === t.tag_start_char), + t + ); + }), + (p.prototype._set_tag_position = function (e, t, n, i, r) { + n.is_empty_element || + (n.is_end_tag + ? (n.start_tag_token = this._tag_stack.try_pop(n.tag_name)) + : (this._do_optional_end_element(n) && + (n.is_inline_element || + (n.parent && (n.parent.multiline_content = !0), + e.print_newline(!1))), + this._tag_stack.record_tag(n), + ('script' !== n.tag_name && 'style' !== n.tag_name) || + n.is_unformatted || + n.is_content_unformatted || + (n.custom_beautifier_name = (function (e, t) { + var n = null, + i = null; + return t.closed + ? ('script' === e + ? (n = 'text/javascript') + : 'style' === e && (n = 'text/css'), + (n = + (function (e) { + for ( + var t = null, n = e.next; + n.type !== o.EOF && e.closed !== n; + + ) { + if ( + n.type === o.ATTRIBUTE && + 'type' === n.text + ) { + n.next && + n.next.type === o.EQUALS && + n.next.next && + n.next.next.type === o.VALUE && + (t = n.next.next.text); + break; + } + n = n.next; + } + return t; + })(t) || n).search('text/css') > -1 + ? (i = 'css') + : n.search( + /module|((text|application|dojo)\/(x-)?(javascript|ecmascript|jscript|livescript|(ld\+)?json|method|aspect))/ + ) > -1 + ? (i = 'javascript') + : n.search( + /(text|application|dojo)\/(x-)?(html)/ + ) > -1 + ? (i = 'html') + : n.search(/test\/null/) > -1 && (i = 'null'), + i) + : null; + })(n.tag_check, t)))), + h(n.tag_check, this._options.extra_liners) && + (e.print_newline(!1), + e._output.just_added_blankline() || e.print_newline(!0)), + n.is_empty_element + ? ('{' === n.tag_start_char && + 'else' === n.tag_check && + (this._tag_stack.indent_to_tag([ + 'if', + 'unless', + 'each', + ]), + (n.indent_content = !0), + e.current_line_has_match(/{{#if/) || + e.print_newline(!1)), + ('!--' === n.tag_name && + r.type === o.TAG_CLOSE && + i.is_end_tag && + -1 === n.text.indexOf('\n')) || + n.is_inline_element || + n.is_unformatted || + e.print_newline(!1)) + : n.is_unformatted || n.is_content_unformatted + ? n.is_inline_element || + n.is_unformatted || + e.print_newline(!1) + : n.is_end_tag + ? ((n.start_tag_token && + n.start_tag_token.multiline_content) || + !( + n.is_inline_element || + i.is_inline_element || + (r.type === o.TAG_CLOSE && n.start_tag_token === i) || + 'TK_CONTENT' === r.type + )) && + e.print_newline(!1) + : ((n.indent_content = !n.custom_beautifier_name), + '<' === n.tag_start_char && + ('html' === n.tag_name + ? (n.indent_content = this._options.indent_inner_html) + : 'head' === n.tag_name + ? (n.indent_content = this._options.indent_head_inner_html) + : 'body' === n.tag_name && + (n.indent_content = this._options.indent_body_inner_html)), + n.is_inline_element || + 'TK_CONTENT' === r.type || + (n.parent && (n.parent.multiline_content = !0), + e.print_newline(!1))); + }); + var f = [ + 'address', + 'article', + 'aside', + 'blockquote', + 'details', + 'div', + 'dl', + 'fieldset', + 'figcaption', + 'figure', + 'footer', + 'form', + 'h1', + 'h2', + 'h3', + 'h4', + 'h5', + 'h6', + 'header', + 'hr', + 'main', + 'nav', + 'ol', + 'p', + 'pre', + 'section', + 'table', + 'ul', + ], + g = ['a', 'audio', 'del', 'ins', 'map', 'noscript', 'video']; + (p.prototype._do_optional_end_element = function (e) { + var t = null; + if (!e.is_empty_element && e.is_start_tag && e.parent) { + if ('body' === e.tag_name) + t = t || this._tag_stack.try_pop('head'); + else if ('li' === e.tag_name) + t = t || this._tag_stack.try_pop('li', ['ol', 'ul']); + else if ('dd' === e.tag_name || 'dt' === e.tag_name) + t = + (t = t || this._tag_stack.try_pop('dt', ['dl'])) || + this._tag_stack.try_pop('dd', ['dl']); + else if ( + 'p' === e.parent.tag_name && + -1 !== f.indexOf(e.tag_name) + ) { + var n = e.parent.parent; + (n && -1 !== g.indexOf(n.tag_name)) || + (t = t || this._tag_stack.try_pop('p')); + } else + 'rp' === e.tag_name || 'rt' === e.tag_name + ? (t = + (t = + t || + this._tag_stack.try_pop('rt', ['ruby', 'rtc'])) || + this._tag_stack.try_pop('rp', ['ruby', 'rtc'])) + : 'optgroup' === e.tag_name + ? (t = t || this._tag_stack.try_pop('optgroup', ['select'])) + : 'option' === e.tag_name + ? (t = + t || + this._tag_stack.try_pop('option', [ + 'select', + 'datalist', + 'optgroup', + ])) + : 'colgroup' === e.tag_name + ? (t = t || this._tag_stack.try_pop('caption', ['table'])) + : 'thead' === e.tag_name + ? (t = + (t = + t || this._tag_stack.try_pop('caption', ['table'])) || + this._tag_stack.try_pop('colgroup', ['table'])) + : 'tbody' === e.tag_name || 'tfoot' === e.tag_name + ? (t = + (t = + (t = + (t = + t || + this._tag_stack.try_pop('caption', ['table'])) || + this._tag_stack.try_pop('colgroup', ['table'])) || + this._tag_stack.try_pop('thead', ['table'])) || + this._tag_stack.try_pop('tbody', ['table'])) + : 'tr' === e.tag_name + ? (t = + (t = + (t = + t || + this._tag_stack.try_pop('caption', ['table'])) || + this._tag_stack.try_pop('colgroup', ['table'])) || + this._tag_stack.try_pop('tr', [ + 'table', + 'thead', + 'tbody', + 'tfoot', + ])) + : ('th' !== e.tag_name && 'td' !== e.tag_name) || + (t = + (t = + t || + this._tag_stack.try_pop('td', [ + 'table', + 'thead', + 'tbody', + 'tfoot', + 'tr', + ])) || + this._tag_stack.try_pop('th', [ + 'table', + 'thead', + 'tbody', + 'tfoot', + 'tr', + ])); + return (e.parent = this._tag_stack.get_parser_token()), t; + } + }), + (e.exports.Beautifier = p); + }, + function (e, t, n) { + var i = n(6).Options; + function r(e) { + i.call(this, e, 'html'), + 1 === this.templating.length && + 'auto' === this.templating[0] && + (this.templating = ['django', 'erb', 'handlebars', 'php']), + (this.indent_inner_html = this._get_boolean( + 'indent_inner_html' + )), + (this.indent_body_inner_html = this._get_boolean( + 'indent_body_inner_html', + !0 + )), + (this.indent_head_inner_html = this._get_boolean( + 'indent_head_inner_html', + !0 + )), + (this.indent_handlebars = this._get_boolean( + 'indent_handlebars', + !0 + )), + (this.wrap_attributes = this._get_selection('wrap_attributes', [ + 'auto', + 'force', + 'force-aligned', + 'force-expand-multiline', + 'aligned-multiple', + 'preserve', + 'preserve-aligned', + ])), + (this.wrap_attributes_indent_size = this._get_number( + 'wrap_attributes_indent_size', + this.indent_size + )), + (this.extra_liners = this._get_array('extra_liners', [ + 'head', + 'body', + '/html', + ])), + (this.inline = this._get_array('inline', [ + 'a', + 'abbr', + 'area', + 'audio', + 'b', + 'bdi', + 'bdo', + 'br', + 'button', + 'canvas', + 'cite', + 'code', + 'data', + 'datalist', + 'del', + 'dfn', + 'em', + 'embed', + 'i', + 'iframe', + 'img', + 'input', + 'ins', + 'kbd', + 'keygen', + 'label', + 'map', + 'mark', + 'math', + 'meter', + 'noscript', + 'object', + 'output', + 'progress', + 'q', + 'ruby', + 's', + 'samp', + 'select', + 'small', + 'span', + 'strong', + 'sub', + 'sup', + 'svg', + 'template', + 'textarea', + 'time', + 'u', + 'var', + 'video', + 'wbr', + 'text', + 'acronym', + 'big', + 'strike', + 'tt', + ])), + (this.void_elements = this._get_array('void_elements', [ + 'area', + 'base', + 'br', + 'col', + 'embed', + 'hr', + 'img', + 'input', + 'keygen', + 'link', + 'menuitem', + 'meta', + 'param', + 'source', + 'track', + 'wbr', + '!doctype', + '?xml', + 'basefont', + 'isindex', + ])), + (this.unformatted = this._get_array('unformatted', [])), + (this.content_unformatted = this._get_array( + 'content_unformatted', + ['pre', 'textarea'] + )), + (this.unformatted_content_delimiter = this._get_characters( + 'unformatted_content_delimiter' + )), + (this.indent_scripts = this._get_selection('indent_scripts', [ + 'normal', + 'keep', + 'separate', + ])); + } + (r.prototype = new i()), (e.exports.Options = r); + }, + function (e, t, n) { + var i = n(9).Tokenizer, + r = n(9).TOKEN, + a = n(13).Directives, + o = n(14).TemplatablePattern, + s = n(12).Pattern, + l = { + TAG_OPEN: 'TK_TAG_OPEN', + TAG_CLOSE: 'TK_TAG_CLOSE', + ATTRIBUTE: 'TK_ATTRIBUTE', + EQUALS: 'TK_EQUALS', + VALUE: 'TK_VALUE', + COMMENT: 'TK_COMMENT', + TEXT: 'TK_TEXT', + UNKNOWN: 'TK_UNKNOWN', + START: r.START, + RAW: r.RAW, + EOF: r.EOF, + }, + c = new a(/<\!--/, /-->/), + h = function (e, t) { + i.call(this, e, t), (this._current_tag_name = ''); + var n = new o(this._input).read_options(this._options), + r = new s(this._input); + if ( + ((this.__patterns = { + word: n.until(/[\n\r\t <]/), + single_quote: n.until_after(/'/), + double_quote: n.until_after(/"/), + attribute: n.until(/[\n\r\t =>]|\/>/), + element_name: n.until(/[\n\r\t >\/]/), + handlebars_comment: r + .starting_with(/{{!--/) + .until_after(/--}}/), + handlebars: r.starting_with(/{{/).until_after(/}}/), + handlebars_open: r.until(/[\n\r\t }]/), + handlebars_raw_close: r.until(/}}/), + comment: r.starting_with(//), + cdata: r.starting_with(//), + conditional_comment: r + .starting_with(//), + processing: r.starting_with(/<\?/).until_after(/\?>/), + }), + this._options.indent_handlebars && + (this.__patterns.word = this.__patterns.word.exclude( + 'handlebars' + )), + (this._unformatted_content_delimiter = null), + this._options.unformatted_content_delimiter) + ) { + var a = this._input.get_literal_regexp( + this._options.unformatted_content_delimiter + ); + this.__patterns.unformatted_content_delimiter = r + .matching(a) + .until_after(a); + } + }; + ((h.prototype = new i())._is_comment = function (e) { + return !1; + }), + (h.prototype._is_opening = function (e) { + return e.type === l.TAG_OPEN; + }), + (h.prototype._is_closing = function (e, t) { + return ( + e.type === l.TAG_CLOSE && + t && + ((('>' === e.text || '/>' === e.text) && '<' === t.text[0]) || + ('}}' === e.text && '{' === t.text[0] && '{' === t.text[1])) + ); + }), + (h.prototype._reset = function () { + this._current_tag_name = ''; + }), + (h.prototype._get_next_token = function (e, t) { + var n = null; + this._readWhitespace(); + var i = this._input.peek(); + return null === i + ? this._create_token(l.EOF, '') + : (n = + (n = + (n = + (n = + (n = + (n = + (n = + (n = + (n = + n || this._read_open_handlebars(i, t)) || + this._read_attribute(i, e, t)) || + this._read_raw_content(i, e, t)) || + this._read_close(i, t)) || + this._read_content_word(i)) || + this._read_comment_or_cdata(i)) || + this._read_processing(i)) || this._read_open(i, t)) || + this._create_token(l.UNKNOWN, this._input.next())); + }), + (h.prototype._read_comment_or_cdata = function (e) { + var t = null, + n = null, + i = null; + return ( + '<' === e && + ('!' === this._input.peek(1) && + ((n = this.__patterns.comment.read()) + ? (i = c.get_directives(n)) && + 'start' === i.ignore && + (n += c.readIgnored(this._input)) + : (n = this.__patterns.cdata.read())), + n && + ((t = this._create_token(l.COMMENT, n)).directives = i)), + t + ); + }), + (h.prototype._read_processing = function (e) { + var t = null, + n = null; + if ('<' === e) { + var i = this._input.peek(1); + ('!' !== i && '?' !== i) || + (n = + (n = this.__patterns.conditional_comment.read()) || + this.__patterns.processing.read()), + n && + ((t = this._create_token( + l.COMMENT, + n + )).directives = null); + } + return t; + }), + (h.prototype._read_open = function (e, t) { + var n = null, + i = null; + return ( + t || + ('<' === e && + ((n = this._input.next()), + '/' === this._input.peek() && (n += this._input.next()), + (n += this.__patterns.element_name.read()), + (i = this._create_token(l.TAG_OPEN, n)))), + i + ); + }), + (h.prototype._read_open_handlebars = function (e, t) { + var n = null, + i = null; + return ( + t || + (this._options.indent_handlebars && + '{' === e && + '{' === this._input.peek(1) && + ('!' === this._input.peek(2) + ? ((n = + (n = this.__patterns.handlebars_comment.read()) || + this.__patterns.handlebars.read()), + (i = this._create_token(l.COMMENT, n))) + : ((n = this.__patterns.handlebars_open.read()), + (i = this._create_token(l.TAG_OPEN, n))))), + i + ); + }), + (h.prototype._read_close = function (e, t) { + var n = null, + i = null; + return ( + t && + ('<' === t.text[0] && + ('>' === e || ('/' === e && '>' === this._input.peek(1))) + ? ((n = this._input.next()), + '/' === e && (n += this._input.next()), + (i = this._create_token(l.TAG_CLOSE, n))) + : '{' === t.text[0] && + '}' === e && + '}' === this._input.peek(1) && + (this._input.next(), + this._input.next(), + (i = this._create_token(l.TAG_CLOSE, '}}')))), + i + ); + }), + (h.prototype._read_attribute = function (e, t, n) { + var i = null, + r = ''; + if (n && '<' === n.text[0]) + if ('=' === e) + i = this._create_token(l.EQUALS, this._input.next()); + else if ('"' === e || "'" === e) { + var a = this._input.next(); + (a += + '"' === e + ? this.__patterns.double_quote.read() + : this.__patterns.single_quote.read()), + (i = this._create_token(l.VALUE, a)); + } else + (r = this.__patterns.attribute.read()) && + (i = + t.type === l.EQUALS + ? this._create_token(l.VALUE, r) + : this._create_token(l.ATTRIBUTE, r)); + return i; + }), + (h.prototype._is_content_unformatted = function (e) { + return ( + -1 === this._options.void_elements.indexOf(e) && + (-1 !== this._options.content_unformatted.indexOf(e) || + -1 !== this._options.unformatted.indexOf(e)) + ); + }), + (h.prototype._read_raw_content = function (e, t, n) { + var i = ''; + if (n && '{' === n.text[0]) + i = this.__patterns.handlebars_raw_close.read(); + else if (t.type === l.TAG_CLOSE && '<' === t.opened.text[0]) { + var r = t.opened.text.substr(1).toLowerCase(); + if ('script' === r || 'style' === r) { + var a = this._read_comment_or_cdata(e); + if (a) return (a.type = l.TEXT), a; + i = this._input.readUntil( + new RegExp('', 'ig') + ); + } else + this._is_content_unformatted(r) && + (i = this._input.readUntil( + new RegExp('', 'ig') + )); + } + return i ? this._create_token(l.TEXT, i) : null; + }), + (h.prototype._read_content_word = function (e) { + var t = ''; + if ( + (this._options.unformatted_content_delimiter && + e === this._options.unformatted_content_delimiter[0] && + (t = this.__patterns.unformatted_content_delimiter.read()), + t || (t = this.__patterns.word.read()), + t) + ) + return this._create_token(l.TEXT, t); + }), + (e.exports.Tokenizer = h), + (e.exports.TOKEN = l); + }, + ]); + var pt, + mt, + ft, + gt = + ((pt = function (e, t) { + return (pt = + Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && + function (e, t) { + e.__proto__ = t; + }) || + function (e, t) { + for (var n in t) t.hasOwnProperty(n) && (e[n] = t[n]); + })(e, t); + }), + function (e, t) { + function n() { + this.constructor = e; + } + pt(e, t), + (e.prototype = + null === t + ? Object.create(t) + : ((n.prototype = t.prototype), new n())); + }); + if ('object' == typeof process) ft = 'win32' === process.platform; + else if ('object' == typeof navigator) { + var bt = navigator.userAgent; + ft = bt.indexOf('Windows') >= 0; + } + var _t = /^\w[\w\d+.-]*$/, + wt = /^\//, + vt = /^\/\//, + yt = '', + Tt = '/', + kt = /^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/, + St = (function () { + function e(e, t, n, i, r, a) { + void 0 === a && (a = !1), + 'object' == typeof e + ? ((this.scheme = e.scheme || yt), + (this.authority = e.authority || yt), + (this.path = e.path || yt), + (this.query = e.query || yt), + (this.fragment = e.fragment || yt)) + : ((this.scheme = (function (e, t) { + return e || t ? e : 'file'; + })(e, a)), + (this.authority = t || yt), + (this.path = (function (e, t) { + switch (e) { + case 'https': + case 'http': + case 'file': + t ? t[0] !== Tt && (t = Tt + t) : (t = Tt); + } + return t; + })(this.scheme, n || yt)), + (this.query = i || yt), + (this.fragment = r || yt), + (function (e, t) { + if (!e.scheme && t) + throw new Error( + '[UriError]: Scheme is missing: {scheme: "", authority: "' + + e.authority + + '", path: "' + + e.path + + '", query: "' + + e.query + + '", fragment: "' + + e.fragment + + '"}' + ); + if (e.scheme && !_t.test(e.scheme)) + throw new Error( + '[UriError]: Scheme contains illegal characters.' + ); + if (e.path) + if (e.authority) { + if (!wt.test(e.path)) + throw new Error( + '[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character' + ); + } else if (vt.test(e.path)) + throw new Error( + '[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")' + ); + })(this, a)); + } + return ( + (e.isUri = function (t) { + return ( + t instanceof e || + (!!t && + 'string' == typeof t.authority && + 'string' == typeof t.fragment && + 'string' == typeof t.path && + 'string' == typeof t.query && + 'string' == typeof t.scheme && + 'function' == typeof t.fsPath && + 'function' == typeof t.with && + 'function' == typeof t.toString) + ); + }), + Object.defineProperty(e.prototype, 'fsPath', { + get: function () { + return zt(this, !1); + }, + enumerable: !0, + configurable: !0, + }), + (e.prototype.with = function (e) { + if (!e) return this; + var t = e.scheme, + n = e.authority, + i = e.path, + r = e.query, + a = e.fragment; + return ( + void 0 === t ? (t = this.scheme) : null === t && (t = yt), + void 0 === n ? (n = this.authority) : null === n && (n = yt), + void 0 === i ? (i = this.path) : null === i && (i = yt), + void 0 === r ? (r = this.query) : null === r && (r = yt), + void 0 === a ? (a = this.fragment) : null === a && (a = yt), + t === this.scheme && + n === this.authority && + i === this.path && + r === this.query && + a === this.fragment + ? this + : new Mt(t, n, i, r, a) + ); + }), + (e.parse = function (e, t) { + void 0 === t && (t = !1); + var n = kt.exec(e); + return n + ? new Mt( + n[2] || yt, + Ct(n[4] || yt), + Ct(n[5] || yt), + Ct(n[7] || yt), + Ct(n[9] || yt), + t + ) + : new Mt(yt, yt, yt, yt, yt); + }), + (e.file = function (e) { + var t = yt; + if ( + (ft && (e = e.replace(/\\/g, Tt)), e[0] === Tt && e[1] === Tt) + ) { + var n = e.indexOf(Tt, 2); + -1 === n + ? ((t = e.substring(2)), (e = Tt)) + : ((t = e.substring(2, n)), (e = e.substring(n) || Tt)); + } + return new Mt('file', t, e, yt, yt); + }), + (e.from = function (e) { + return new Mt(e.scheme, e.authority, e.path, e.query, e.fragment); + }), + (e.prototype.toString = function (e) { + return void 0 === e && (e = !1), Rt(this, e); + }), + (e.prototype.toJSON = function () { + return this; + }), + (e.revive = function (t) { + if (t) { + if (t instanceof e) return t; + var n = new Mt(t); + return ( + (n._formatted = t.external), + (n._fsPath = t._sep === xt ? t.fsPath : null), + n + ); + } + return t; + }), + e + ); + })(), + xt = ft ? 1 : void 0, + Mt = (function (e) { + function t() { + var t = (null !== e && e.apply(this, arguments)) || this; + return (t._formatted = null), (t._fsPath = null), t; + } + return ( + gt(t, e), + Object.defineProperty(t.prototype, 'fsPath', { + get: function () { + return ( + this._fsPath || (this._fsPath = zt(this, !1)), this._fsPath + ); + }, + enumerable: !0, + configurable: !0, + }), + (t.prototype.toString = function (e) { + return ( + void 0 === e && (e = !1), + e + ? Rt(this, !0) + : (this._formatted || (this._formatted = Rt(this, !1)), + this._formatted) + ); + }), + (t.prototype.toJSON = function () { + var e = { $mid: 1 }; + return ( + this._fsPath && ((e.fsPath = this._fsPath), (e._sep = xt)), + this._formatted && (e.external = this._formatted), + this.path && (e.path = this.path), + this.scheme && (e.scheme = this.scheme), + this.authority && (e.authority = this.authority), + this.query && (e.query = this.query), + this.fragment && (e.fragment = this.fragment), + e + ); + }), + t + ); + })(St), + Lt = + (((mt = {})[58] = '%3A'), + (mt[47] = '%2F'), + (mt[63] = '%3F'), + (mt[35] = '%23'), + (mt[91] = '%5B'), + (mt[93] = '%5D'), + (mt[64] = '%40'), + (mt[33] = '%21'), + (mt[36] = '%24'), + (mt[38] = '%26'), + (mt[39] = '%27'), + (mt[40] = '%28'), + (mt[41] = '%29'), + (mt[42] = '%2A'), + (mt[43] = '%2B'), + (mt[44] = '%2C'), + (mt[59] = '%3B'), + (mt[61] = '%3D'), + (mt[32] = '%20'), + mt); + function Et(e, t) { + for (var n = void 0, i = -1, r = 0; r < e.length; r++) { + var a = e.charCodeAt(r); + if ( + (a >= 97 && a <= 122) || + (a >= 65 && a <= 90) || + (a >= 48 && a <= 57) || + 45 === a || + 46 === a || + 95 === a || + 126 === a || + (t && 47 === a) + ) + -1 !== i && + ((n += encodeURIComponent(e.substring(i, r))), (i = -1)), + void 0 !== n && (n += e.charAt(r)); + else { + void 0 === n && (n = e.substr(0, r)); + var o = Lt[a]; + void 0 !== o + ? (-1 !== i && + ((n += encodeURIComponent(e.substring(i, r))), (i = -1)), + (n += o)) + : -1 === i && (i = r); + } + } + return ( + -1 !== i && (n += encodeURIComponent(e.substring(i))), + void 0 !== n ? n : e + ); + } + function At(e) { + for (var t = void 0, n = 0; n < e.length; n++) { + var i = e.charCodeAt(n); + 35 === i || 63 === i + ? (void 0 === t && (t = e.substr(0, n)), (t += Lt[i])) + : void 0 !== t && (t += e[n]); + } + return void 0 !== t ? t : e; + } + function zt(e, t) { + var n; + return ( + (n = + e.authority && e.path.length > 1 && 'file' === e.scheme + ? '//' + e.authority + e.path + : 47 === e.path.charCodeAt(0) && + ((e.path.charCodeAt(1) >= 65 && e.path.charCodeAt(1) <= 90) || + (e.path.charCodeAt(1) >= 97 && + e.path.charCodeAt(1) <= 122)) && + 58 === e.path.charCodeAt(2) + ? t + ? e.path.substr(1) + : e.path[1].toLowerCase() + e.path.substr(2) + : e.path), + ft && (n = n.replace(/\//g, '\\')), + n + ); + } + function Rt(e, t) { + var n = t ? At : Et, + i = '', + r = e.scheme, + a = e.authority, + o = e.path, + s = e.query, + l = e.fragment; + if ( + (r && ((i += r), (i += ':')), + (a || 'file' === r) && ((i += Tt), (i += Tt)), + a) + ) { + var c = a.indexOf('@'); + if (-1 !== c) { + var h = a.substr(0, c); + (a = a.substr(c + 1)), + -1 === (c = h.indexOf(':')) + ? (i += n(h, !1)) + : ((i += n(h.substr(0, c), !1)), + (i += ':'), + (i += n(h.substr(c + 1), !1))), + (i += '@'); + } + -1 === (c = (a = a.toLowerCase()).indexOf(':')) + ? (i += n(a, !1)) + : ((i += n(a.substr(0, c), !1)), (i += a.substr(c))); + } + if (o) { + if (o.length >= 3 && 47 === o.charCodeAt(0) && 58 === o.charCodeAt(2)) + (d = o.charCodeAt(1)) >= 65 && + d <= 90 && + (o = '/' + String.fromCharCode(d + 32) + ':' + o.substr(3)); + else if (o.length >= 2 && 58 === o.charCodeAt(1)) { + var d; + (d = o.charCodeAt(0)) >= 65 && + d <= 90 && + (o = String.fromCharCode(d + 32) + ':' + o.substr(2)); + } + i += n(o, !0); + } + return ( + s && ((i += '?'), (i += n(s, !1))), + l && ((i += '#'), (i += t ? l : Et(l, !1))), + i + ); + } + function It(e) { + try { + return decodeURIComponent(e); + } catch (t) { + return e.length > 3 ? e.substr(0, 3) + It(e.substr(3)) : e; + } + } + var Ht = /(%[0-9A-Za-z][0-9A-Za-z])+/g; + function Ct(e) { + return e.match(Ht) + ? e.replace(Ht, function (e) { + return It(e); + }) + : e; + } + var Ut = { + version: 1.1, + tags: [ + { + name: 'html', + description: { + kind: 'markdown', + value: + 'The html element represents the root of an HTML document.', + }, + attributes: [ + { + name: 'manifest', + description: { + kind: 'markdown', + value: + 'Specifies the URI of a resource manifest indicating resources that should be cached locally. See [Using the application cache](https://developer.mozilla.org/en-US/docs/Web/HTML/Using_the_application_cache) for details.', + }, + }, + { + name: 'version', + description: + 'Specifies the version of the HTML [Document Type Definition](https://developer.mozilla.org/en-US/docs/Glossary/DTD "Document Type Definition: In HTML, the doctype is the required "" preamble found at the top of all documents. Its sole purpose is to prevent a browser from switching into so-called “quirks mode” when rendering a document; that is, the "" doctype ensures that the browser makes a best-effort attempt at following the relevant specifications, rather than using a different rendering mode that is incompatible with some specifications.") that governs the current document. This attribute is not needed, because it is redundant with the version information in the document type declaration.', + }, + { + name: 'xmlns', + description: + 'Specifies the XML Namespace of the document. Default value is `"http://www.w3.org/1999/xhtml"`. This is required in documents parsed with XML parsers, and optional in text/html documents.', + }, + ], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/HTML/Element/html', + }, + ], + }, + { + name: 'head', + description: { + kind: 'markdown', + value: + 'The head element represents a collection of metadata for the Document.', + }, + attributes: [ + { + name: 'profile', + description: + 'The URIs of one or more metadata profiles, separated by white space.', + }, + ], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/HTML/Element/head', + }, + ], + }, + { + name: 'title', + description: { + kind: 'markdown', + value: + "The title element represents the document's title or name. Authors should use titles that identify their documents even when they are used out of context, for example in a user's history or bookmarks, or in search results. The document's title is often different from its first heading, since the first heading does not have to stand alone when taken out of context.", + }, + attributes: [], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/HTML/Element/title', + }, + ], + }, + { + name: 'base', + description: { + kind: 'markdown', + value: + 'The base element allows authors to specify the document base URL for the purposes of resolving relative URLs, and the name of the default browsing context for the purposes of following hyperlinks. The element does not represent any content beyond this information.', + }, + attributes: [ + { + name: 'href', + description: { + kind: 'markdown', + value: + 'The base URL to be used throughout the document for relative URL addresses. If this attribute is specified, this element must come before any other elements with attributes whose values are URLs. Absolute and relative URLs are allowed.', + }, + }, + { + name: 'target', + description: { + kind: 'markdown', + value: + 'A name or keyword indicating the default location to display the result when hyperlinks or forms cause navigation, for elements that do not have an explicit target reference. It is a name of, or keyword for, a _browsing context_ (for example: tab, window, or inline frame). The following keywords have special meanings:\n\n* `_self`: Load the result into the same browsing context as the current one. This value is the default if the attribute is not specified.\n* `_blank`: Load the result into a new unnamed browsing context.\n* `_parent`: Load the result into the parent browsing context of the current one. If there is no parent, this option behaves the same way as `_self`.\n* `_top`: Load the result into the top-level browsing context (that is, the browsing context that is an ancestor of the current one, and has no parent). If there is no parent, this option behaves the same way as `_self`.\n\nIf this attribute is specified, this element must come before any other elements with attributes whose values are URLs.', + }, + }, + ], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/HTML/Element/base', + }, + ], + }, + { + name: 'link', + description: { + kind: 'markdown', + value: + 'The link element allows authors to link their document to other resources.', + }, + attributes: [ + { + name: 'href', + description: { + kind: 'markdown', + value: + 'This attribute specifies the [URL](https://developer.mozilla.org/en-US/docs/Glossary/URL "URL: Uniform Resource Locator (URL) is a text string specifying where a resource can be found on the Internet.") of the linked resource. A URL can be absolute or relative.', + }, + }, + { + name: 'crossorigin', + valueSet: 'xo', + description: { + kind: 'markdown', + value: + 'This enumerated attribute indicates whether [CORS](https://developer.mozilla.org/en-US/docs/Glossary/CORS "CORS: CORS (Cross-Origin Resource Sharing) is a system, consisting of transmitting HTTP headers, that determines whether browsers block frontend JavaScript code from accessing responses for cross-origin requests.") must be used when fetching the resource. [CORS-enabled images](https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_Enabled_Image) can be reused in the [``](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/canvas "Use the HTML element with either the canvas scripting API or the WebGL API to draw graphics and animations.") element without being _tainted_. The allowed values are:\n\n`anonymous`\n\nA cross-origin request (i.e. with an [`Origin`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Origin "The Origin request header indicates where a fetch originates from. It doesn\'t include any path information, but only the server name. It is sent with CORS requests, as well as with POST requests. It is similar to the Referer header, but, unlike this header, it doesn\'t disclose the whole path.") HTTP header) is performed, but no credential is sent (i.e. no cookie, X.509 certificate, or HTTP Basic authentication). If the server does not give credentials to the origin site (by not setting the [`Access-Control-Allow-Origin`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Origin "The Access-Control-Allow-Origin response header indicates whether the response can be shared with requesting code from the given origin.") HTTP header) the image will be tainted and its usage restricted.\n\n`use-credentials`\n\nA cross-origin request (i.e. with an `Origin` HTTP header) is performed along with a credential sent (i.e. a cookie, certificate, and/or HTTP Basic authentication is performed). If the server does not give credentials to the origin site (through [`Access-Control-Allow-Credentials`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Credentials "The Access-Control-Allow-Credentials response header tells browsers whether to expose the response to frontend JavaScript code when the request\'s credentials mode (Request.credentials) is "include".") HTTP header), the resource will be _tainted_ and its usage restricted.\n\nIf the attribute is not present, the resource is fetched without a [CORS](https://developer.mozilla.org/en-US/docs/Glossary/CORS "CORS: CORS (Cross-Origin Resource Sharing) is a system, consisting of transmitting HTTP headers, that determines whether browsers block frontend JavaScript code from accessing responses for cross-origin requests.") request (i.e. without sending the `Origin` HTTP header), preventing its non-tainted usage. If invalid, it is handled as if the enumerated keyword **anonymous** was used. See [CORS settings attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_settings_attributes) for additional information.', + }, + }, + { + name: 'rel', + description: { + kind: 'markdown', + value: + 'This attribute names a relationship of the linked document to the current document. The attribute must be a space-separated list of the [link types values](https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types).', + }, + }, + { + name: 'media', + description: { + kind: 'markdown', + value: + "This attribute specifies the media that the linked resource applies to. Its value must be a media type / [media query](https://developer.mozilla.org/en-US/docs/Web/CSS/Media_queries). This attribute is mainly useful when linking to external stylesheets — it allows the user agent to pick the best adapted one for the device it runs on.\n\n**Notes:**\n\n* In HTML 4, this can only be a simple white-space-separated list of media description literals, i.e., [media types and groups](https://developer.mozilla.org/en-US/docs/Web/CSS/@media), where defined and allowed as values for this attribute, such as `print`, `screen`, `aural`, `braille`. HTML5 extended this to any kind of [media queries](https://developer.mozilla.org/en-US/docs/Web/CSS/Media_queries), which are a superset of the allowed values of HTML 4.\n* Browsers not supporting [CSS3 Media Queries](https://developer.mozilla.org/en-US/docs/Web/CSS/Media_queries) won't necessarily recognize the adequate link; do not forget to set fallback links, the restricted set of media queries defined in HTML 4.", + }, + }, + { + name: 'hreflang', + description: { + kind: 'markdown', + value: + 'This attribute indicates the language of the linked resource. It is purely advisory. Allowed values are determined by [BCP47](https://www.ietf.org/rfc/bcp/bcp47.txt). Use this attribute only if the [`href`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attr-href) attribute is present.', + }, + }, + { + name: 'type', + description: { + kind: 'markdown', + value: + 'This attribute is used to define the type of the content linked to. The value of the attribute should be a MIME type such as **text/html**, **text/css**, and so on. The common use of this attribute is to define the type of stylesheet being referenced (such as **text/css**), but given that CSS is the only stylesheet language used on the web, not only is it possible to omit the `type` attribute, but is actually now recommended practice. It is also used on `rel="preload"` link types, to make sure the browser only downloads file types that it supports.', + }, + }, + { + name: 'sizes', + description: { + kind: 'markdown', + value: + "This attribute defines the sizes of the icons for visual media contained in the resource. It must be present only if the [`rel`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/link#attr-rel) contains a value of `icon` or a non-standard type such as Apple's `apple-touch-icon`. It may have the following values:\n\n* `any`, meaning that the icon can be scaled to any size as it is in a vector format, like `image/svg+xml`.\n* a white-space separated list of sizes, each in the format `__x__` or `__X__`. Each of these sizes must be contained in the resource.\n\n**Note:** Most icon formats are only able to store one single icon; therefore most of the time the [`sizes`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes#attr-sizes) contains only one entry. MS's ICO format does, as well as Apple's ICNS. ICO is more ubiquitous; you should definitely use it.", + }, + }, + { + name: 'as', + description: + 'This attribute is only used when `rel="preload"` or `rel="prefetch"` has been set on the `` element. It specifies the type of content being loaded by the ``, which is necessary for content prioritization, request matching, application of correct [content security policy](https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP), and setting of correct [`Accept`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept "The Accept request HTTP header advertises which content types, expressed as MIME types, the client is able to understand. Using content negotiation, the server then selects one of the proposals, uses it and informs the client of its choice with the Content-Type response header. Browsers set adequate values for this header depending on the context where the request is done: when fetching a CSS stylesheet a different value is set for the request than when fetching an image, video or a script.") request header.', + }, + { + name: 'importance', + description: + 'Indicates the relative importance of the resource. Priority hints are delegated using the values:', + }, + { + name: 'importance', + description: + '**`auto`**: Indicates **no preference**. The browser may use its own heuristics to decide the priority of the resource.\n\n**`high`**: Indicates to the browser that the resource is of **high** priority.\n\n**`low`**: Indicates to the browser that the resource is of **low** priority.\n\n**Note:** The `importance` attribute may only be used for the `` element if `rel="preload"` or `rel="prefetch"` is present.', + }, + { + name: 'integrity', + description: + 'Contains inline metadata — a base64-encoded cryptographic hash of the resource (file) you’re telling the browser to fetch. The browser can use this to verify that the fetched resource has been delivered free of unexpected manipulation. See [Subresource Integrity](https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity).', + }, + { + name: 'referrerpolicy', + description: + 'A string indicating which referrer to use when fetching the resource:\n\n* `no-referrer` means that the [`Referer`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referer "The Referer request header contains the address of the previous web page from which a link to the currently requested page was followed. The Referer header allows servers to identify where people are visiting them from and may use that data for analytics, logging, or optimized caching, for example.") header will not be sent.\n* `no-referrer-when-downgrade` means that no [`Referer`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referer "The Referer request header contains the address of the previous web page from which a link to the currently requested page was followed. The Referer header allows servers to identify where people are visiting them from and may use that data for analytics, logging, or optimized caching, for example.") header will be sent when navigating to an origin without TLS (HTTPS). This is a user agent’s default behavior, if no policy is otherwise specified.\n* `origin` means that the referrer will be the origin of the page, which is roughly the scheme, the host, and the port.\n* `origin-when-cross-origin` means that navigating to other origins will be limited to the scheme, the host, and the port, while navigating on the same origin will include the referrer\'s path.\n* `unsafe-url` means that the referrer will include the origin and the path (but not the fragment, password, or username). This case is unsafe because it can leak origins and paths from TLS-protected resources to insecure origins.', + }, + { + name: 'title', + description: + 'The `title` attribute has special semantics on the `` element. When used on a `` it defines a [preferred or an alternate stylesheet](https://developer.mozilla.org/en-US/docs/Web/CSS/Alternative_style_sheets). Incorrectly using it may [cause the stylesheet to be ignored](https://developer.mozilla.org/en-US/docs/Correctly_Using_Titles_With_External_Stylesheets).', + }, + ], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/HTML/Element/link', + }, + ], + }, + { + name: 'meta', + description: { + kind: 'markdown', + value: + 'The meta element represents various kinds of metadata that cannot be expressed using the title, base, link, style, and script elements.', + }, + attributes: [ + { + name: 'name', + description: { + kind: 'markdown', + value: + 'This attribute defines the name of a piece of document-level metadata. It should not be set if one of the attributes [`itemprop`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes#attr-itemprop), [`http-equiv`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta#attr-http-equiv) or [`charset`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta#attr-charset) is also set.\n\nThis metadata name is associated with the value contained by the [`content`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta#attr-content) attribute. The possible values for the name attribute are:\n\n* `application-name` which defines the name of the application running in the web page.\n \n **Note:**\n \n * Browsers may use this to identify the application. It is different from the [``](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/title "The HTML Title element (<title>) defines the document\'s title that is shown in a browser\'s title bar or a page\'s tab.") element, which usually contain the application name, but may also contain information like the document name or a status.\n * Simple web pages shouldn\'t define an application-name.\n \n* `author` which defines the name of the document\'s author.\n* `description` which contains a short and accurate summary of the content of the page. Several browsers, like Firefox and Opera, use this as the default description of bookmarked pages.\n* `generator` which contains the identifier of the software that generated the page.\n* `keywords` which contains words relevant to the page\'s content separated by commas.\n* `referrer` which controls the [`Referer` HTTP header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referer) attached to requests sent from the document:\n \n Values for the `content` attribute of `<meta name="referrer">`\n \n `no-referrer`\n \n Do not send a HTTP `Referrer` header.\n \n `origin`\n \n Send the [origin](https://developer.mozilla.org/en-US/docs/Glossary/Origin) of the document.\n \n `no-referrer-when-downgrade`\n \n Send the [origin](https://developer.mozilla.org/en-US/docs/Glossary/Origin) as a referrer to URLs as secure as the current page, (https→https), but does not send a referrer to less secure URLs (https→http). This is the default behaviour.\n \n `origin-when-cross-origin`\n \n Send the full URL (stripped of parameters) for same-origin requests, but only send the [origin](https://developer.mozilla.org/en-US/docs/Glossary/Origin) for other cases.\n \n `same-origin`\n \n A referrer will be sent for [same-site origins](https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy), but cross-origin requests will contain no referrer information.\n \n `strict-origin`\n \n Only send the origin of the document as the referrer to a-priori as-much-secure destination (HTTPS->HTTPS), but don\'t send it to a less secure destination (HTTPS->HTTP).\n \n `strict-origin-when-cross-origin`\n \n Send a full URL when performing a same-origin request, only send the origin of the document to a-priori as-much-secure destination (HTTPS->HTTPS), and send no header to a less secure destination (HTTPS->HTTP).\n \n `unsafe-URL`\n \n Send the full URL (stripped of parameters) for same-origin or cross-origin requests.\n \n **Notes:**\n \n * Some browsers support the deprecated values of `always`, `default`, and `never` for referrer.\n * Dynamically inserting `<meta name="referrer">` (with [`document.write`](https://developer.mozilla.org/en-US/docs/Web/API/Document/write) or [`appendChild`](https://developer.mozilla.org/en-US/docs/Web/API/Node/appendChild)) makes the referrer behaviour unpredictable.\n * When several conflicting policies are defined, the no-referrer policy is applied.\n \n\nThis attribute may also have a value taken from the extended list defined on [WHATWG Wiki MetaExtensions page](https://wiki.whatwg.org/wiki/MetaExtensions). Although none have been formally accepted yet, a few commonly used names are:\n\n* `creator` which defines the name of the creator of the document, such as an organization or institution. If there are more than one, several [`<meta>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta "The HTML <meta> element represents metadata that cannot be represented by other HTML meta-related elements, like <base>, <link>, <script>, <style> or <title>.") elements should be used.\n* `googlebot`, a synonym of `robots`, is only followed by Googlebot (the indexing crawler for Google).\n* `publisher` which defines the name of the document\'s publisher.\n* `robots` which defines the behaviour that cooperative crawlers, or "robots", should use with the page. It is a comma-separated list of the values below:\n \n Values for the content of `<meta name="robots">`\n \n Value\n \n Description\n \n Used by\n \n `index`\n \n Allows the robot to index the page (default).\n \n All\n \n `noindex`\n \n Requests the robot to not index the page.\n \n All\n \n `follow`\n \n Allows the robot to follow the links on the page (default).\n \n All\n \n `nofollow`\n \n Requests the robot to not follow the links on the page.\n \n All\n \n `none`\n \n Equivalent to `noindex, nofollow`\n \n [Google](https://support.google.com/webmasters/answer/79812)\n \n `noodp`\n \n Prevents using the [Open Directory Project](https://www.dmoz.org/) description, if any, as the page description in search engine results.\n \n [Google](https://support.google.com/webmasters/answer/35624#nodmoz), [Yahoo](https://help.yahoo.com/kb/search-for-desktop/meta-tags-robotstxt-yahoo-search-sln2213.html#cont5), [Bing](https://www.bing.com/webmaster/help/which-robots-metatags-does-bing-support-5198d240)\n \n `noarchive`\n \n Requests the search engine not to cache the page content.\n \n [Google](https://developers.google.com/webmasters/control-crawl-index/docs/robots_meta_tag#valid-indexing--serving-directives), [Yahoo](https://help.yahoo.com/kb/search-for-desktop/SLN2213.html), [Bing](https://www.bing.com/webmaster/help/which-robots-metatags-does-bing-support-5198d240)\n \n `nosnippet`\n \n Prevents displaying any description of the page in search engine results.\n \n [Google](https://developers.google.com/webmasters/control-crawl-index/docs/robots_meta_tag#valid-indexing--serving-directives), [Bing](https://www.bing.com/webmaster/help/which-robots-metatags-does-bing-support-5198d240)\n \n `noimageindex`\n \n Requests this page not to appear as the referring page of an indexed image.\n \n [Google](https://developers.google.com/webmasters/control-crawl-index/docs/robots_meta_tag#valid-indexing--serving-directives)\n \n `nocache`\n \n Synonym of `noarchive`.\n \n [Bing](https://www.bing.com/webmaster/help/which-robots-metatags-does-bing-support-5198d240)\n \n **Notes:**\n \n * Only cooperative robots follow these rules. Do not expect to prevent e-mail harvesters with them.\n * The robot still needs to access the page in order to read these rules. To prevent bandwidth consumption, use a _[robots.txt](https://developer.mozilla.org/en-US/docs/Glossary/robots.txt "robots.txt: Robots.txt is a file which is usually placed in the root of any website. It decides whether crawlers are permitted or forbidden access to the web site.")_ file.\n * If you want to remove a page, `noindex` will work, but only after the robot visits the page again. Ensure that the `robots.txt` file is not preventing revisits.\n * Some values are mutually exclusive, like `index` and `noindex`, or `follow` and `nofollow`. In these cases the robot\'s behaviour is undefined and may vary between them.\n * Some crawler robots, like Google, Yahoo and Bing, support the same values for the HTTP header `X-Robots-Tag`; this allows non-HTML documents like images to use these rules.\n \n* `slurp`, is a synonym of `robots`, but only for Slurp - the crawler for Yahoo Search.\n* `viewport`, which gives hints about the size of the initial size of the [viewport](https://developer.mozilla.org/en-US/docs/Glossary/viewport "viewport: A viewport represents a polygonal (normally rectangular) area in computer graphics that is currently being viewed. In web browser terms, it refers to the part of the document you\'re viewing which is currently visible in its window (or the screen, if the document is being viewed in full screen mode). Content outside the viewport is not visible onscreen until scrolled into view."). Used by mobile devices only.\n \n Values for the content of `<meta name="viewport">`\n \n Value\n \n Possible subvalues\n \n Description\n \n `width`\n \n A positive integer number, or the text `device-width`\n \n Defines the pixel width of the viewport that you want the web site to be rendered at.\n \n `height`\n \n A positive integer, or the text `device-height`\n \n Defines the height of the viewport. Not used by any browser.\n \n `initial-scale`\n \n A positive number between `0.0` and `10.0`\n \n Defines the ratio between the device width (`device-width` in portrait mode or `device-height` in landscape mode) and the viewport size.\n \n `maximum-scale`\n \n A positive number between `0.0` and `10.0`\n \n Defines the maximum amount to zoom in. It must be greater or equal to the `minimum-scale` or the behaviour is undefined. Browser settings can ignore this rule and iOS10+ ignores it by default.\n \n `minimum-scale`\n \n A positive number between `0.0` and `10.0`\n \n Defines the minimum zoom level. It must be smaller or equal to the `maximum-scale` or the behaviour is undefined. Browser settings can ignore this rule and iOS10+ ignores it by default.\n \n `user-scalable`\n \n `yes` or `no`\n \n If set to `no`, the user is not able to zoom in the webpage. The default is `yes`. Browser settings can ignore this rule, and iOS10+ ignores it by default.\n \n Specification\n \n Status\n \n Comment\n \n [CSS Device Adaptation \n The definition of \'<meta name="viewport">\' in that specification.](https://drafts.csswg.org/css-device-adapt/#viewport-meta)\n \n Working Draft\n \n Non-normatively describes the Viewport META element\n \n See also: [`@viewport`](https://developer.mozilla.org/en-US/docs/Web/CSS/@viewport "The @viewport CSS at-rule lets you configure the viewport through which the document is viewed. It\'s primarily used for mobile devices, but is also used by desktop browsers that support features like "snap to edge" (such as Microsoft Edge).")\n \n **Notes:**\n \n * Though unstandardized, this declaration is respected by most mobile browsers due to de-facto dominance.\n * The default values may vary between devices and browsers.\n * To learn about this declaration in Firefox for Mobile, see [this article](https://developer.mozilla.org/en-US/docs/Mobile/Viewport_meta_tag "Mobile/Viewport meta tag").', + }, + }, + { + name: 'http-equiv', + description: { + kind: 'markdown', + value: + 'Defines a pragma directive. The attribute is named `**http-equiv**(alent)` because all the allowed values are names of particular HTTP headers:\n\n* `"content-language"` \n Defines the default language of the page. It can be overridden by the [lang](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/lang) attribute on any element.\n \n **Warning:** Do not use this value, as it is obsolete. Prefer the `lang` attribute on the [`<html>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/html "The HTML <html> element represents the root (top-level element) of an HTML document, so it is also referred to as the root element. All other elements must be descendants of this element.") element.\n \n* `"content-security-policy"` \n Allows page authors to define a [content policy](https://developer.mozilla.org/en-US/docs/Web/Security/CSP/CSP_policy_directives) for the current page. Content policies mostly specify allowed server origins and script endpoints which help guard against cross-site scripting attacks.\n* `"content-type"` \n Defines the [MIME type](https://developer.mozilla.org/en-US/docs/Glossary/MIME_type) of the document, followed by its character encoding. It follows the same syntax as the HTTP `content-type` entity-header field, but as it is inside a HTML page, most values other than `text/html` are impossible. Therefore the valid syntax for its `content` is the string \'`text/html`\' followed by a character set with the following syntax: \'`; charset=_IANAcharset_`\', where `IANAcharset` is the _preferred MIME name_ for a character set as [defined by the IANA.](https://www.iana.org/assignments/character-sets)\n \n **Warning:** Do not use this value, as it is obsolete. Use the [`charset`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta#attr-charset) attribute on the [`<meta>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta "The HTML <meta> element represents metadata that cannot be represented by other HTML meta-related elements, like <base>, <link>, <script>, <style> or <title>.") element.\n \n **Note:** As [`<meta>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta "The HTML <meta> element represents metadata that cannot be represented by other HTML meta-related elements, like <base>, <link>, <script>, <style> or <title>.") can\'t change documents\' types in XHTML or HTML5\'s XHTML serialization, never set the MIME type to an XHTML MIME type with `<meta>`.\n \n* `"refresh"` \n This instruction specifies:\n * The number of seconds until the page should be reloaded - only if the [`content`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta#attr-content) attribute contains a positive integer.\n * The number of seconds until the page should redirect to another - only if the [`content`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta#attr-content) attribute contains a positive integer followed by the string \'`;url=`\', and a valid URL.\n* `"set-cookie"` \n Defines a [cookie](https://developer.mozilla.org/en-US/docs/cookie) for the page. Its content must follow the syntax defined in the [IETF HTTP Cookie Specification](https://tools.ietf.org/html/draft-ietf-httpstate-cookie-14).\n \n **Warning:** Do not use this instruction, as it is obsolete. Use the HTTP header [`Set-Cookie`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie) instead.', + }, + }, + { + name: 'content', + description: { + kind: 'markdown', + value: + 'This attribute contains the value for the [`http-equiv`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta#attr-http-equiv) or [`name`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta#attr-name) attribute, depending on which is used.', + }, + }, + { + name: 'charset', + description: { + kind: 'markdown', + value: + 'This attribute declares the page\'s character encoding. It must contain a [standard IANA MIME name for character encodings](https://www.iana.org/assignments/character-sets). Although the standard doesn\'t request a specific encoding, it suggests:\n\n* Authors are encouraged to use [`UTF-8`](https://developer.mozilla.org/en-US/docs/Glossary/UTF-8).\n* Authors should not use ASCII-incompatible encodings to avoid security risk: browsers not supporting them may interpret harmful content as HTML. This happens with the `JIS_C6226-1983`, `JIS_X0212-1990`, `HZ-GB-2312`, `JOHAB`, the ISO-2022 family and the EBCDIC family.\n\n**Note:** ASCII-incompatible encodings are those that don\'t map the 8-bit code points `0x20` to `0x7E` to the `0x0020` to `0x007E` Unicode code points)\n\n* Authors **must not** use `CESU-8`, `UTF-7`, `BOCU-1` and/or `SCSU` as [cross-site scripting](https://developer.mozilla.org/en-US/docs/Glossary/Cross-site_scripting) attacks with these encodings have been demonstrated.\n* Authors should not use `UTF-32` because not all HTML5 encoding algorithms can distinguish it from `UTF-16`.\n\n**Notes:**\n\n* The declared character encoding must match the one the page was saved with to avoid garbled characters and security holes.\n* The [`<meta>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta "The HTML <meta> element represents metadata that cannot be represented by other HTML meta-related elements, like <base>, <link>, <script>, <style> or <title>.") element declaring the encoding must be inside the [`<head>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/head "The HTML <head> element provides general information (metadata) about the document, including its title and links to its scripts and style sheets.") element and **within the first 1024 bytes** of the HTML as some browsers only look at those bytes before choosing an encoding.\n* This [`<meta>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta "The HTML <meta> element represents metadata that cannot be represented by other HTML meta-related elements, like <base>, <link>, <script>, <style> or <title>.") element is only one part of the [algorithm to determine a page\'s character set](https://www.whatwg.org/specs/web-apps/current-work/multipage/parsing.html#encoding-sniffing-algorithm "Algorithm charset page"). The [`Content-Type` header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Type) and any [Byte-Order Marks](https://developer.mozilla.org/en-US/docs/Glossary/Byte-Order_Mark "The definition of that term (Byte-Order Marks) has not been written yet; please consider contributing it!") override this element.\n* It is strongly recommended to define the character encoding. If a page\'s encoding is undefined, cross-scripting techniques are possible, such as the [`UTF-7` fallback cross-scripting technique](https://code.google.com/p/doctype-mirror/wiki/ArticleUtf7).\n* The [`<meta>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta "The HTML <meta> element represents metadata that cannot be represented by other HTML meta-related elements, like <base>, <link>, <script>, <style> or <title>.") element with a `charset` attribute is a synonym for the pre-HTML5 `<meta http-equiv="Content-Type" content="text/html; charset=_IANAcharset_">`, where _`IANAcharset`_ contains the value of the equivalent [`charset`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta#attr-charset) attribute. This syntax is still allowed, although no longer recommended.', + }, + }, + { + name: 'scheme', + description: + 'This attribute defines the scheme in which metadata is described. A scheme is a context leading to the correct interpretations of the [`content`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta#attr-content) value, like a format.\n\n**Warning:** Do not use this value, as it is obsolete. There is no replacement as there was no real usage for it.', + }, + ], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/HTML/Element/meta', + }, + ], + }, + { + name: 'style', + description: { + kind: 'markdown', + value: + 'The style element allows authors to embed style information in their documents. The style element is one of several inputs to the styling processing model. The element does not represent content for the user.', + }, + attributes: [ + { + name: 'media', + description: { + kind: 'markdown', + value: + 'This attribute defines which media the style should be applied to. Its value is a [media query](https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Media_queries), which defaults to `all` if the attribute is missing.', + }, + }, + { + name: 'nonce', + description: { + kind: 'markdown', + value: + 'A cryptographic nonce (number used once) used to whitelist inline styles in a [style-src Content-Security-Policy](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/style-src). The server must generate a unique nonce value each time it transmits a policy. It is critical to provide a nonce that cannot be guessed as bypassing a resource’s policy is otherwise trivial.', + }, + }, + { + name: 'type', + description: { + kind: 'markdown', + value: + 'This attribute defines the styling language as a MIME type (charset should not be specified). This attribute is optional and defaults to `text/css` if it is not specified — there is very little reason to include this in modern web documents.', + }, + }, + { name: 'scoped', valueSet: 'v' }, + { + name: 'title', + description: + 'This attribute specifies [alternative style sheet](https://developer.mozilla.org/en-US/docs/Web/CSS/Alternative_style_sheets) sets.', + }, + ], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/HTML/Element/style', + }, + ], + }, + { + name: 'body', + description: { + kind: 'markdown', + value: 'The body element represents the content of the document.', + }, + attributes: [ + { + name: 'onafterprint', + description: { + kind: 'markdown', + value: + 'Function to call after the user has printed the document.', + }, + }, + { + name: 'onbeforeprint', + description: { + kind: 'markdown', + value: + 'Function to call when the user requests printing of the document.', + }, + }, + { + name: 'onbeforeunload', + description: { + kind: 'markdown', + value: + 'Function to call when the document is about to be unloaded.', + }, + }, + { + name: 'onhashchange', + description: { + kind: 'markdown', + value: + "Function to call when the fragment identifier part (starting with the hash (`'#'`) character) of the document's current address has changed.", + }, + }, + { + name: 'onlanguagechange', + description: { + kind: 'markdown', + value: + 'Function to call when the preferred languages changed.', + }, + }, + { + name: 'onmessage', + description: { + kind: 'markdown', + value: + 'Function to call when the document has received a message.', + }, + }, + { + name: 'onoffline', + description: { + kind: 'markdown', + value: + 'Function to call when network communication has failed.', + }, + }, + { + name: 'ononline', + description: { + kind: 'markdown', + value: + 'Function to call when network communication has been restored.', + }, + }, + { name: 'onpagehide' }, + { name: 'onpageshow' }, + { + name: 'onpopstate', + description: { + kind: 'markdown', + value: + 'Function to call when the user has navigated session history.', + }, + }, + { + name: 'onstorage', + description: { + kind: 'markdown', + value: 'Function to call when the storage area has changed.', + }, + }, + { + name: 'onunload', + description: { + kind: 'markdown', + value: 'Function to call when the document is going away.', + }, + }, + { + name: 'alink', + description: + 'Color of text for hyperlinks when selected. _This method is non-conforming, use CSS [`color`](https://developer.mozilla.org/en-US/docs/Web/CSS/color "The color CSS property sets the foreground color value of an element\'s text and text decorations, and sets the currentcolor value.") property in conjunction with the [`:active`](https://developer.mozilla.org/en-US/docs/Web/CSS/:active "The :active CSS pseudo-class represents an element (such as a button) that is being activated by the user.") pseudo-class instead._', + }, + { + name: 'background', + description: + 'URI of a image to use as a background. _This method is non-conforming, use CSS [`background`](https://developer.mozilla.org/en-US/docs/Web/CSS/background "The background shorthand CSS property sets all background style properties at once, such as color, image, origin and size, or repeat method.") property on the element instead._', + }, + { + name: 'bgcolor', + description: + 'Background color for the document. _This method is non-conforming, use CSS [`background-color`](https://developer.mozilla.org/en-US/docs/Web/CSS/background-color "The background-color CSS property sets the background color of an element.") property on the element instead._', + }, + { + name: 'bottommargin', + description: + 'The margin of the bottom of the body. _This method is non-conforming, use CSS [`margin-bottom`](https://developer.mozilla.org/en-US/docs/Web/CSS/margin-bottom "The margin-bottom CSS property sets the margin area on the bottom of an element. A positive value places it farther from its neighbors, while a negative value places it closer.") property on the element instead._', + }, + { + name: 'leftmargin', + description: + 'The margin of the left of the body. _This method is non-conforming, use CSS [`margin-left`](https://developer.mozilla.org/en-US/docs/Web/CSS/margin-left "The margin-left CSS property sets the margin area on the left side of an element. A positive value places it farther from its neighbors, while a negative value places it closer.") property on the element instead._', + }, + { + name: 'link', + description: + 'Color of text for unvisited hypertext links. _This method is non-conforming, use CSS [`color`](https://developer.mozilla.org/en-US/docs/Web/CSS/color "The color CSS property sets the foreground color value of an element\'s text and text decorations, and sets the currentcolor value.") property in conjunction with the [`:link`](https://developer.mozilla.org/en-US/docs/Web/CSS/:link "The :link CSS pseudo-class represents an element that has not yet been visited. It matches every unvisited <a>, <area>, or <link> element that has an href attribute.") pseudo-class instead._', + }, + { + name: 'onblur', + description: 'Function to call when the document loses focus.', + }, + { + name: 'onerror', + description: + 'Function to call when the document fails to load properly.', + }, + { + name: 'onfocus', + description: + 'Function to call when the document receives focus.', + }, + { + name: 'onload', + description: + 'Function to call when the document has finished loading.', + }, + { + name: 'onredo', + description: + 'Function to call when the user has moved forward in undo transaction history.', + }, + { + name: 'onresize', + description: + 'Function to call when the document has been resized.', + }, + { + name: 'onundo', + description: + 'Function to call when the user has moved backward in undo transaction history.', + }, + { + name: 'rightmargin', + description: + 'The margin of the right of the body. _This method is non-conforming, use CSS [`margin-right`](https://developer.mozilla.org/en-US/docs/Web/CSS/margin-right "The margin-right CSS property sets the margin area on the right side of an element. A positive value places it farther from its neighbors, while a negative value places it closer.") property on the element instead._', + }, + { + name: 'text', + description: + 'Foreground color of text. _This method is non-conforming, use CSS [`color`](https://developer.mozilla.org/en-US/docs/Web/CSS/color "The color CSS property sets the foreground color value of an element\'s text and text decorations, and sets the currentcolor value.") property on the element instead._', + }, + { + name: 'topmargin', + description: + 'The margin of the top of the body. _This method is non-conforming, use CSS [`margin-top`](https://developer.mozilla.org/en-US/docs/Web/CSS/margin-top "The margin-top CSS property sets the margin area on the top of an element. A positive value places it farther from its neighbors, while a negative value places it closer.") property on the element instead._', + }, + { + name: 'vlink', + description: + 'Color of text for visited hypertext links. _This method is non-conforming, use CSS [`color`](https://developer.mozilla.org/en-US/docs/Web/CSS/color "The color CSS property sets the foreground color value of an element\'s text and text decorations, and sets the currentcolor value.") property in conjunction with the [`:visited`](https://developer.mozilla.org/en-US/docs/Web/CSS/:visited "The :visited CSS pseudo-class represents links that the user has already visited. For privacy reasons, the styles that can be modified using this selector are very limited.") pseudo-class instead._', + }, + ], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/HTML/Element/body', + }, + ], + }, + { + name: 'article', + description: { + kind: 'markdown', + value: + 'The article element represents a complete, or self-contained, composition in a document, page, application, or site and that is, in principle, independently distributable or reusable, e.g. in syndication. This could be a forum post, a magazine or newspaper article, a blog entry, a user-submitted comment, an interactive widget or gadget, or any other independent item of content. Each article should be identified, typically by including a heading (h1–h6 element) as a child of the article element.', + }, + attributes: [], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/HTML/Element/article', + }, + ], + }, + { + name: 'section', + description: { + kind: 'markdown', + value: + 'The section element represents a generic section of a document or application. A section, in this context, is a thematic grouping of content. Each section should be identified, typically by including a heading ( h1- h6 element) as a child of the section element.', + }, + attributes: [], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/HTML/Element/section', + }, + ], + }, + { + name: 'nav', + description: { + kind: 'markdown', + value: + 'The nav element represents a section of a page that links to other pages or to parts within the page: a section with navigation links.', + }, + attributes: [], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/HTML/Element/nav', + }, + ], + }, + { + name: 'aside', + description: { + kind: 'markdown', + value: + 'The aside element represents a section of a page that consists of content that is tangentially related to the content around the aside element, and which could be considered separate from that content. Such sections are often represented as sidebars in printed typography.', + }, + attributes: [], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/HTML/Element/aside', + }, + ], + }, + { + name: 'h1', + description: { + kind: 'markdown', + value: 'The h1 element represents a section heading.', + }, + attributes: [], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/HTML/Element/Heading_Elements', + }, + ], + }, + { + name: 'h2', + description: { + kind: 'markdown', + value: 'The h2 element represents a section heading.', + }, + attributes: [], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/HTML/Element/Heading_Elements', + }, + ], + }, + { + name: 'h3', + description: { + kind: 'markdown', + value: 'The h3 element represents a section heading.', + }, + attributes: [], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/HTML/Element/Heading_Elements', + }, + ], + }, + { + name: 'h4', + description: { + kind: 'markdown', + value: 'The h4 element represents a section heading.', + }, + attributes: [], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/HTML/Element/Heading_Elements', + }, + ], + }, + { + name: 'h5', + description: { + kind: 'markdown', + value: 'The h5 element represents a section heading.', + }, + attributes: [], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/HTML/Element/Heading_Elements', + }, + ], + }, + { + name: 'h6', + description: { + kind: 'markdown', + value: 'The h6 element represents a section heading.', + }, + attributes: [], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/HTML/Element/Heading_Elements', + }, + ], + }, + { + name: 'header', + description: { + kind: 'markdown', + value: + 'The header element represents introductory content for its nearest ancestor sectioning content or sectioning root element. A header typically contains a group of introductory or navigational aids. When the nearest ancestor sectioning content or sectioning root element is the body element, then it applies to the whole page.', + }, + attributes: [], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/HTML/Element/header', + }, + ], + }, + { + name: 'footer', + description: { + kind: 'markdown', + value: + 'The footer element represents a footer for its nearest ancestor sectioning content or sectioning root element. A footer typically contains information about its section such as who wrote it, links to related documents, copyright data, and the like.', + }, + attributes: [], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/HTML/Element/footer', + }, + ], + }, + { + name: 'address', + description: { + kind: 'markdown', + value: + 'The address element represents the contact information for its nearest article or body element ancestor. If that is the body element, then the contact information applies to the document as a whole.', + }, + attributes: [], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/HTML/Element/address', + }, + ], + }, + { + name: 'p', + description: { + kind: 'markdown', + value: 'The p element represents a paragraph.', + }, + attributes: [], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/HTML/Element/p', + }, + ], + }, + { + name: 'hr', + description: { + kind: 'markdown', + value: + 'The hr element represents a paragraph-level thematic break, e.g. a scene change in a story, or a transition to another topic within a section of a reference book.', + }, + attributes: [ + { + name: 'align', + description: + 'Sets the alignment of the rule on the page. If no value is specified, the default value is `left`.', + }, + { + name: 'color', + description: + 'Sets the color of the rule through color name or hexadecimal value.', + }, + { + name: 'noshade', + description: 'Sets the rule to have no shading.', + }, + { + name: 'size', + description: 'Sets the height, in pixels, of the rule.', + }, + { + name: 'width', + description: + 'Sets the length of the rule on the page through a pixel or percentage value.', + }, + ], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/HTML/Element/hr', + }, + ], + }, + { + name: 'pre', + description: { + kind: 'markdown', + value: + 'The pre element represents a block of preformatted text, in which structure is represented by typographic conventions rather than by elements.', + }, + attributes: [ + { + name: 'cols', + description: + 'Contains the _preferred_ count of characters that a line should have. It was a non-standard synonym of [`width`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/pre#attr-width). To achieve such an effect, use CSS [`width`](https://developer.mozilla.org/en-US/docs/Web/CSS/width "The width CSS property sets an element\'s width. By default it sets the width of the content area, but if box-sizing is set to border-box, it sets the width of the border area.") instead.', + }, + { + name: 'width', + description: + 'Contains the _preferred_ count of characters that a line should have. Though technically still implemented, this attribute has no visual effect; to achieve such an effect, use CSS [`width`](https://developer.mozilla.org/en-US/docs/Web/CSS/width "The width CSS property sets an element\'s width. By default it sets the width of the content area, but if box-sizing is set to border-box, it sets the width of the border area.") instead.', + }, + { + name: 'wrap', + description: + 'Is a _hint_ indicating how the overflow must happen. In modern browser this hint is ignored and no visual effect results in its present; to achieve such an effect, use CSS [`white-space`](https://developer.mozilla.org/en-US/docs/Web/CSS/white-space "The white-space CSS property sets how white space inside an element is handled.") instead.', + }, + ], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/HTML/Element/pre', + }, + ], + }, + { + name: 'blockquote', + description: { + kind: 'markdown', + value: + 'The blockquote element represents content that is quoted from another source, optionally with a citation which must be within a footer or cite element, and optionally with in-line changes such as annotations and abbreviations.', + }, + attributes: [ + { + name: 'cite', + description: { + kind: 'markdown', + value: + 'A URL that designates a source document or message for the information quoted. This attribute is intended to point to information explaining the context or the reference for the quote.', + }, + }, + ], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/HTML/Element/blockquote', + }, + ], + }, + { + name: 'ol', + description: { + kind: 'markdown', + value: + 'The ol element represents a list of items, where the items have been intentionally ordered, such that changing the order would change the meaning of the document.', + }, + attributes: [ + { + name: 'reversed', + valueSet: 'v', + description: { + kind: 'markdown', + value: + 'This Boolean attribute specifies that the items of the list are specified in reversed order.', + }, + }, + { + name: 'start', + description: { + kind: 'markdown', + value: + 'This integer attribute specifies the start value for numbering the individual list items. Although the ordering type of list elements might be Roman numerals, such as XXXI, or letters, the value of start is always represented as a number. To start numbering elements from the letter "C", use `<ol start="3">`.\n\n**Note**: This attribute was deprecated in HTML4, but reintroduced in HTML5.', + }, + }, + { + name: 'type', + valueSet: 'lt', + description: { + kind: 'markdown', + value: + "Indicates the numbering type:\n\n* `'a'` indicates lowercase letters,\n* `'A'` indicates uppercase letters,\n* `'i'` indicates lowercase Roman numerals,\n* `'I'` indicates uppercase Roman numerals,\n* and `'1'` indicates numbers (default).\n\nThe type set is used for the entire list unless a different [`type`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/li#attr-type) attribute is used within an enclosed [`<li>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/li \"The HTML <li> element is used to represent an item in a list. It must be contained in a parent element: an ordered list (<ol>), an unordered list (<ul>), or a menu (<menu>). In menus and unordered lists, list items are usually displayed using bullet points. In ordered lists, they are usually displayed with an ascending counter on the left, such as a number or letter.\") element.\n\n**Note:** This attribute was deprecated in HTML4, but reintroduced in HTML5.\n\nUnless the value of the list number matters (e.g. in legal or technical documents where items are to be referenced by their number/letter), the CSS [`list-style-type`](https://developer.mozilla.org/en-US/docs/Web/CSS/list-style-type \"The list-style-type CSS property sets the marker (such as a disc, character, or custom counter style) of a list item element.\") property should be used instead.", + }, + }, + { + name: 'compact', + description: + 'This Boolean attribute hints that the list should be rendered in a compact style. The interpretation of this attribute depends on the user agent and it doesn\'t work in all browsers.\n\n**Warning:** Do not use this attribute, as it has been deprecated: the [`<ol>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/ol "The HTML <ol> element represents an ordered list of items, typically rendered as a numbered list.") element should be styled using [CSS](https://developer.mozilla.org/en-US/docs/CSS). To give an effect similar to the `compact` attribute, the [CSS](https://developer.mozilla.org/en-US/docs/CSS) property [`line-height`](https://developer.mozilla.org/en-US/docs/Web/CSS/line-height "The line-height CSS property sets the amount of space used for lines, such as in text. On block-level elements, it specifies the minimum height of line boxes within the element. On non-replaced inline elements, it specifies the height that is used to calculate line box height.") can be used with a value of `80%`.', + }, + ], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/HTML/Element/ol', + }, + ], + }, + { + name: 'ul', + description: { + kind: 'markdown', + value: + 'The ul element represents a list of items, where the order of the items is not important — that is, where changing the order would not materially change the meaning of the document.', + }, + attributes: [ + { + name: 'compact', + description: + 'This Boolean attribute hints that the list should be rendered in a compact style. The interpretation of this attribute depends on the user agent and it doesn\'t work in all browsers.\n\n**Usage note: **Do not use this attribute, as it has been deprecated: the [`<ul>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/ul "The HTML <ul> element represents an unordered list of items, typically rendered as a bulleted list.") element should be styled using [CSS](https://developer.mozilla.org/en-US/docs/CSS). To give a similar effect as the `compact` attribute, the [CSS](https://developer.mozilla.org/en-US/docs/CSS) property [line-height](https://developer.mozilla.org/en-US/docs/CSS/line-height) can be used with a value of `80%`.', + }, + ], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/HTML/Element/ul', + }, + ], + }, + { + name: 'li', + description: { + kind: 'markdown', + value: + "The li element represents a list item. If its parent element is an ol, ul, or menu element, then the element is an item of the parent element's list, as defined for those elements. Otherwise, the list item has no defined list-related relationship to any other li element.", + }, + attributes: [ + { + name: 'value', + description: { + kind: 'markdown', + value: + 'This integer attribute indicates the current ordinal value of the list item as defined by the [`<ol>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/ol "The HTML <ol> element represents an ordered list of items, typically rendered as a numbered list.") element. The only allowed value for this attribute is a number, even if the list is displayed with Roman numerals or letters. List items that follow this one continue numbering from the value set. The **value** attribute has no meaning for unordered lists ([`<ul>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/ul "The HTML <ul> element represents an unordered list of items, typically rendered as a bulleted list.")) or for menus ([`<menu>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/menu "The HTML <menu> element represents a group of commands that a user can perform or activate. This includes both list menus, which might appear across the top of a screen, as well as context menus, such as those that might appear underneath a button after it has been clicked.")).\n\n**Note**: This attribute was deprecated in HTML4, but reintroduced in HTML5.\n\n**Note:** Prior to Gecko 9.0, negative values were incorrectly converted to 0. Starting in Gecko 9.0 all integer values are correctly parsed.', + }, + }, + { + name: 'type', + description: + 'This character attribute indicates the numbering type:\n\n* `a`: lowercase letters\n* `A`: uppercase letters\n* `i`: lowercase Roman numerals\n* `I`: uppercase Roman numerals\n* `1`: numbers\n\nThis type overrides the one used by its parent [`<ol>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/ol "The HTML <ol> element represents an ordered list of items, typically rendered as a numbered list.") element, if any.\n\n**Usage note:** This attribute has been deprecated: use the CSS [`list-style-type`](https://developer.mozilla.org/en-US/docs/Web/CSS/list-style-type "The list-style-type CSS property sets the marker (such as a disc, character, or custom counter style) of a list item element.") property instead.', + }, + ], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/HTML/Element/li', + }, + ], + }, + { + name: 'dl', + description: { + kind: 'markdown', + value: + 'The dl element represents an association list consisting of zero or more name-value groups (a description list). A name-value group consists of one or more names (dt elements) followed by one or more values (dd elements), ignoring any nodes other than dt and dd elements. Within a single dl element, there should not be more than one dt element for each name.', + }, + attributes: [], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/HTML/Element/dl', + }, + ], + }, + { + name: 'dt', + description: { + kind: 'markdown', + value: + 'The dt element represents the term, or name, part of a term-description group in a description list (dl element).', + }, + attributes: [], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/HTML/Element/dt', + }, + ], + }, + { + name: 'dd', + description: { + kind: 'markdown', + value: + 'The dd element represents the description, definition, or value, part of a term-description group in a description list (dl element).', + }, + attributes: [ + { + name: 'nowrap', + description: + 'If the value of this attribute is set to `yes`, the definition text will not wrap. The default value is `no`.', + }, + ], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/HTML/Element/dd', + }, + ], + }, + { + name: 'figure', + description: { + kind: 'markdown', + value: + 'The figure element represents some flow content, optionally with a caption, that is self-contained (like a complete sentence) and is typically referenced as a single unit from the main flow of the document.', + }, + attributes: [], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/HTML/Element/figure', + }, + ], + }, + { + name: 'figcaption', + description: { + kind: 'markdown', + value: + "The figcaption element represents a caption or legend for the rest of the contents of the figcaption element's parent figure element, if any.", + }, + attributes: [], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/HTML/Element/figcaption', + }, + ], + }, + { + name: 'main', + description: { + kind: 'markdown', + value: + 'The main element represents the main content of the body of a document or application. The main content area consists of content that is directly related to or expands upon the central topic of a document or central functionality of an application.', + }, + attributes: [], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/HTML/Element/main', + }, + ], + }, + { + name: 'div', + description: { + kind: 'markdown', + value: + 'The div element has no special meaning at all. It represents its children. It can be used with the class, lang, and title attributes to mark up semantics common to a group of consecutive elements.', + }, + attributes: [], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/HTML/Element/div', + }, + ], + }, + { + name: 'a', + description: { + kind: 'markdown', + value: + 'If the a element has an href attribute, then it represents a hyperlink (a hypertext anchor) labeled by its contents.', + }, + attributes: [ + { + name: 'href', + description: { + kind: 'markdown', + value: + 'Contains a URL or a URL fragment that the hyperlink points to.', + }, + }, + { + name: 'target', + description: { + kind: 'markdown', + value: + 'Specifies where to display the linked URL. It is a name of, or keyword for, a _browsing context_: a tab, window, or `<iframe>`. The following keywords have special meanings:\n\n* `_self`: Load the URL into the same browsing context as the current one. This is the default behavior.\n* `_blank`: Load the URL into a new browsing context. This is usually a tab, but users can configure browsers to use new windows instead.\n* `_parent`: Load the URL into the parent browsing context of the current one. If there is no parent, this behaves the same way as `_self`.\n* `_top`: Load the URL into the top-level browsing context (that is, the "highest" browsing context that is an ancestor of the current one, and has no parent). If there is no parent, this behaves the same way as `_self`.\n\n**Note:** When using `target`, consider adding `rel="noreferrer"` to avoid exploitation of the `window.opener` API.\n\n**Note:** Linking to another page using `target="_blank"` will run the new page on the same process as your page. If the new page is executing expensive JS, your page\'s performance may suffer. To avoid this use `rel="noopener"`.', + }, + }, + { + name: 'download', + description: { + kind: 'markdown', + value: + 'This attribute instructs browsers to download a URL instead of navigating to it, so the user will be prompted to save it as a local file. If the attribute has a value, it is used as the pre-filled file name in the Save prompt (the user can still change the file name if they want). There are no restrictions on allowed values, though `/` and `\\` are converted to underscores. Most file systems limit some punctuation in file names, and browsers will adjust the suggested name accordingly.\n\n**Notes:**\n\n* This attribute only works for [same-origin URLs](https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy).\n* Although HTTP(s) URLs need to be in the same-origin, [`blob:` URLs](https://developer.mozilla.org/en-US/docs/Web/API/URL.createObjectURL) and [`data:` URLs](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs) are allowed so that content generated by JavaScript, such as pictures created in an image-editor Web app, can be downloaded.\n* If the HTTP header [`Content-Disposition:`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Disposition) gives a different filename than this attribute, the HTTP header takes priority over this attribute.\n* If `Content-Disposition:` is set to `inline`, Firefox prioritizes `Content-Disposition`, like the filename case, while Chrome prioritizes the `download` attribute.', + }, + }, + { + name: 'ping', + description: { + kind: 'markdown', + value: + 'Contains a space-separated list of URLs to which, when the hyperlink is followed, [`POST`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/POST "The HTTP POST method sends data to the server. The type of the body of the request is indicated by the Content-Type header.") requests with the body `PING` will be sent by the browser (in the background). Typically used for tracking.', + }, + }, + { + name: 'rel', + description: { + kind: 'markdown', + value: + 'Specifies the relationship of the target object to the link object. The value is a space-separated list of [link types](https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types).', + }, + }, + { + name: 'hreflang', + description: { + kind: 'markdown', + value: + 'This attribute indicates the human language of the linked resource. It is purely advisory, with no built-in functionality. Allowed values are determined by [BCP47](https://www.ietf.org/rfc/bcp/bcp47.txt "Tags for Identifying Languages").', + }, + }, + { + name: 'type', + description: { + kind: 'markdown', + value: + 'Specifies the media type in the form of a [MIME type](https://developer.mozilla.org/en-US/docs/Glossary/MIME_type "MIME type: A MIME type (now properly called "media type", but also sometimes "content type") is a string sent along with a file indicating the type of the file (describing the content format, for example, a sound file might be labeled audio/ogg, or an image file image/png).") for the linked URL. It is purely advisory, with no built-in functionality.', + }, + }, + { + name: 'referrerpolicy', + description: + "Indicates which [referrer](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referer) to send when fetching the URL:\n\n* `'no-referrer'` means the `Referer:` header will not be sent.\n* `'no-referrer-when-downgrade'` means no `Referer:` header will be sent when navigating to an origin without HTTPS. This is the default behavior.\n* `'origin'` means the referrer will be the [origin](https://developer.mozilla.org/en-US/docs/Glossary/Origin) of the page, not including information after the domain.\n* `'origin-when-cross-origin'` meaning that navigations to other origins will be limited to the scheme, the host and the port, while navigations on the same origin will include the referrer's path.\n* `'strict-origin-when-cross-origin'`\n* `'unsafe-url'` means the referrer will include the origin and path, but not the fragment, password, or username. This is unsafe because it can leak data from secure URLs to insecure ones.", + }, + ], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/HTML/Element/a', + }, + ], + }, + { + name: 'em', + description: { + kind: 'markdown', + value: + 'The em element represents stress emphasis of its contents.', + }, + attributes: [], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/HTML/Element/em', + }, + ], + }, + { + name: 'strong', + description: { + kind: 'markdown', + value: + 'The strong element represents strong importance, seriousness, or urgency for its contents.', + }, + attributes: [], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/HTML/Element/strong', + }, + ], + }, + { + name: 'small', + description: { + kind: 'markdown', + value: + 'The small element represents side comments such as small print.', + }, + attributes: [], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/HTML/Element/small', + }, + ], + }, + { + name: 's', + description: { + kind: 'markdown', + value: + 'The s element represents contents that are no longer accurate or no longer relevant.', + }, + attributes: [], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/HTML/Element/s', + }, + ], + }, + { + name: 'cite', + description: { + kind: 'markdown', + value: + 'The cite element represents a reference to a creative work. It must include the title of the work or the name of the author(person, people or organization) or an URL reference, or a reference in abbreviated form as per the conventions used for the addition of citation metadata.', + }, + attributes: [], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/HTML/Element/cite', + }, + ], + }, + { + name: 'q', + description: { + kind: 'markdown', + value: + 'The q element represents some phrasing content quoted from another source.', + }, + attributes: [ + { + name: 'cite', + description: { + kind: 'markdown', + value: + 'The value of this attribute is a URL that designates a source document or message for the information quoted. This attribute is intended to point to information explaining the context or the reference for the quote.', + }, + }, + ], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/HTML/Element/q', + }, + ], + }, + { + name: 'dfn', + description: { + kind: 'markdown', + value: + 'The dfn element represents the defining instance of a term. The paragraph, description list group, or section that is the nearest ancestor of the dfn element must also contain the definition(s) for the term given by the dfn element.', + }, + attributes: [], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/HTML/Element/dfn', + }, + ], + }, + { + name: 'abbr', + description: { + kind: 'markdown', + value: + 'The abbr element represents an abbreviation or acronym, optionally with its expansion. The title attribute may be used to provide an expansion of the abbreviation. The attribute, if specified, must contain an expansion of the abbreviation, and nothing else.', + }, + attributes: [], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/HTML/Element/abbr', + }, + ], + }, + { + name: 'ruby', + description: { + kind: 'markdown', + value: + 'The ruby element allows one or more spans of phrasing content to be marked with ruby annotations. Ruby annotations are short runs of text presented alongside base text, primarily used in East Asian typography as a guide for pronunciation or to include other annotations. In Japanese, this form of typography is also known as furigana. Ruby text can appear on either side, and sometimes both sides, of the base text, and it is possible to control its position using CSS. A more complete introduction to ruby can be found in the Use Cases & Exploratory Approaches for Ruby Markup document as well as in CSS Ruby Module Level 1. [RUBY-UC] [CSSRUBY]', + }, + attributes: [], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/HTML/Element/ruby', + }, + ], + }, + { + name: 'rb', + description: { + kind: 'markdown', + value: + "The rb element marks the base text component of a ruby annotation. When it is the child of a ruby element, it doesn't represent anything itself, but its parent ruby element uses it as part of determining what it represents.", + }, + attributes: [], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/HTML/Element/rb', + }, + ], + }, + { + name: 'rt', + description: { + kind: 'markdown', + value: + "The rt element marks the ruby text component of a ruby annotation. When it is the child of a ruby element or of an rtc element that is itself the child of a ruby element, it doesn't represent anything itself, but its ancestor ruby element uses it as part of determining what it represents.", + }, + attributes: [], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/HTML/Element/rt', + }, + ], + }, + { + name: 'rp', + description: { + kind: 'markdown', + value: + "The rp element is used to provide fallback text to be shown by user agents that don't support ruby annotations. One widespread convention is to provide parentheses around the ruby text component of a ruby annotation.", + }, + attributes: [], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/HTML/Element/rp', + }, + ], + }, + { + name: 'time', + description: { + kind: 'markdown', + value: + 'The time element represents its contents, along with a machine-readable form of those contents in the datetime attribute. The kind of content is limited to various kinds of dates, times, time-zone offsets, and durations, as described below.', + }, + attributes: [ + { + name: 'datetime', + description: { + kind: 'markdown', + value: + 'This attribute indicates the time and/or date of the element and must be in one of the formats described below.', + }, + }, + ], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/HTML/Element/time', + }, + ], + }, + { + name: 'code', + description: { + kind: 'markdown', + value: + 'The code element represents a fragment of computer code. This could be an XML element name, a file name, a computer program, or any other string that a computer would recognize.', + }, + attributes: [], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/HTML/Element/code', + }, + ], + }, + { + name: 'var', + description: { + kind: 'markdown', + value: + 'The var element represents a variable. This could be an actual variable in a mathematical expression or programming context, an identifier representing a constant, a symbol identifying a physical quantity, a function parameter, or just be a term used as a placeholder in prose.', + }, + attributes: [], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/HTML/Element/var', + }, + ], + }, + { + name: 'samp', + description: { + kind: 'markdown', + value: + 'The samp element represents sample or quoted output from another program or computing system.', + }, + attributes: [], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/HTML/Element/samp', + }, + ], + }, + { + name: 'kbd', + description: { + kind: 'markdown', + value: + 'The kbd element represents user input (typically keyboard input, although it may also be used to represent other input, such as voice commands).', + }, + attributes: [], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/HTML/Element/kbd', + }, + ], + }, + { + name: 'sub', + description: { + kind: 'markdown', + value: 'The sub element represents a subscript.', + }, + attributes: [], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/HTML/Element/sub', + }, + ], + }, + { + name: 'sup', + description: { + kind: 'markdown', + value: 'The sup element represents a superscript.', + }, + attributes: [], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/HTML/Element/sup', + }, + ], + }, + { + name: 'i', + description: { + kind: 'markdown', + value: + 'The i element represents a span of text in an alternate voice or mood, or otherwise offset from the normal prose in a manner indicating a different quality of text, such as a taxonomic designation, a technical term, an idiomatic phrase from another language, transliteration, a thought, or a ship name in Western texts.', + }, + attributes: [], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/HTML/Element/i', + }, + ], + }, + { + name: 'b', + description: { + kind: 'markdown', + value: + 'The b element represents a span of text to which attention is being drawn for utilitarian purposes without conveying any extra importance and with no implication of an alternate voice or mood, such as key words in a document abstract, product names in a review, actionable words in interactive text-driven software, or an article lede.', + }, + attributes: [], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/HTML/Element/b', + }, + ], + }, + { + name: 'u', + description: { + kind: 'markdown', + value: + 'The u element represents a span of text with an unarticulated, though explicitly rendered, non-textual annotation, such as labeling the text as being a proper name in Chinese text (a Chinese proper name mark), or labeling the text as being misspelt.', + }, + attributes: [], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/HTML/Element/u', + }, + ], + }, + { + name: 'mark', + description: { + kind: 'markdown', + value: + "The mark element represents a run of text in one document marked or highlighted for reference purposes, due to its relevance in another context. When used in a quotation or other block of text referred to from the prose, it indicates a highlight that was not originally present but which has been added to bring the reader's attention to a part of the text that might not have been considered important by the original author when the block was originally written, but which is now under previously unexpected scrutiny. When used in the main prose of a document, it indicates a part of the document that has been highlighted due to its likely relevance to the user's current activity.", + }, + attributes: [], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/HTML/Element/mark', + }, + ], + }, + { + name: 'bdi', + description: { + kind: 'markdown', + value: + 'The bdi element represents a span of text that is to be isolated from its surroundings for the purposes of bidirectional text formatting. [BIDI]', + }, + attributes: [], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/HTML/Element/bdi', + }, + ], + }, + { + name: 'bdo', + description: { + kind: 'markdown', + value: + 'The bdo element represents explicit text directionality formatting control for its children. It allows authors to override the Unicode bidirectional algorithm by explicitly specifying a direction override. [BIDI]', + }, + attributes: [ + { + name: 'dir', + description: + "The direction in which text should be rendered in this element's contents. Possible values are:\n\n* `ltr`: Indicates that the text should go in a left-to-right direction.\n* `rtl`: Indicates that the text should go in a right-to-left direction.", + }, + ], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/HTML/Element/bdo', + }, + ], + }, + { + name: 'span', + description: { + kind: 'markdown', + value: + "The span element doesn't mean anything on its own, but can be useful when used together with the global attributes, e.g. class, lang, or dir. It represents its children.", + }, + attributes: [], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/HTML/Element/span', + }, + ], + }, + { + name: 'br', + description: { + kind: 'markdown', + value: 'The br element represents a line break.', + }, + attributes: [ + { + name: 'clear', + description: + 'Indicates where to begin the next line after the break.', + }, + ], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/HTML/Element/br', + }, + ], + }, + { + name: 'wbr', + description: { + kind: 'markdown', + value: 'The wbr element represents a line break opportunity.', + }, + attributes: [], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/HTML/Element/wbr', + }, + ], + }, + { + name: 'ins', + description: { + kind: 'markdown', + value: 'The ins element represents an addition to the document.', + }, + attributes: [ + { + name: 'cite', + description: + 'This attribute defines the URI of a resource that explains the change, such as a link to meeting minutes or a ticket in a troubleshooting system.', + }, + { + name: 'datetime', + description: + 'This attribute indicates the time and date of the change and must be a valid date with an optional time string. If the value cannot be parsed as a date with an optional time string, the element does not have an associated time stamp. For the format of the string without a time, see [Format of a valid date string](https://developer.mozilla.org/en-US/docs/Web/HTML/Date_and_time_formats#Format_of_a_valid_date_string "Certain HTML elements use date and/or time values. The formats of the strings that specify these are described in this article.") in [Date and time formats used in HTML](https://developer.mozilla.org/en-US/docs/Web/HTML/Date_and_time_formats "Certain HTML elements use date and/or time values. The formats of the strings that specify these are described in this article."). The format of the string if it includes both date and time is covered in [Format of a valid local date and time string](https://developer.mozilla.org/en-US/docs/Web/HTML/Date_and_time_formats#Format_of_a_valid_local_date_and_time_string "Certain HTML elements use date and/or time values. The formats of the strings that specify these are described in this article.") in [Date and time formats used in HTML](https://developer.mozilla.org/en-US/docs/Web/HTML/Date_and_time_formats "Certain HTML elements use date and/or time values. The formats of the strings that specify these are described in this article.").', + }, + ], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/HTML/Element/ins', + }, + ], + }, + { + name: 'del', + description: { + kind: 'markdown', + value: 'The del element represents a removal from the document.', + }, + attributes: [ + { + name: 'cite', + description: { + kind: 'markdown', + value: + 'A URI for a resource that explains the change (for example, meeting minutes).', + }, + }, + { + name: 'datetime', + description: { + kind: 'markdown', + value: + 'This attribute indicates the time and date of the change and must be a valid date string with an optional time. If the value cannot be parsed as a date with an optional time string, the element does not have an associated time stamp. For the format of the string without a time, see [Format of a valid date string](https://developer.mozilla.org/en-US/docs/Web/HTML/Date_and_time_formats#Format_of_a_valid_date_string "Certain HTML elements use date and/or time values. The formats of the strings that specify these are described in this article.") in [Date and time formats used in HTML](https://developer.mozilla.org/en-US/docs/Web/HTML/Date_and_time_formats "Certain HTML elements use date and/or time values. The formats of the strings that specify these are described in this article."). The format of the string if it includes both date and time is covered in [Format of a valid local date and time string](https://developer.mozilla.org/en-US/docs/Web/HTML/Date_and_time_formats#Format_of_a_valid_local_date_and_time_string "Certain HTML elements use date and/or time values. The formats of the strings that specify these are described in this article.") in [Date and time formats used in HTML](https://developer.mozilla.org/en-US/docs/Web/HTML/Date_and_time_formats "Certain HTML elements use date and/or time values. The formats of the strings that specify these are described in this article.").', + }, + }, + ], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/HTML/Element/del', + }, + ], + }, + { + name: 'picture', + description: { + kind: 'markdown', + value: + 'The picture element is a container which provides multiple sources to its contained img element to allow authors to declaratively control or give hints to the user agent about which image resource to use, based on the screen pixel density, viewport size, image format, and other factors. It represents its children.', + }, + attributes: [], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/HTML/Element/picture', + }, + ], + }, + { + name: 'img', + description: { + kind: 'markdown', + value: 'An img element represents an image.', + }, + attributes: [ + { + name: 'alt', + description: { + kind: 'markdown', + value: + 'This attribute defines an alternative text description of the image.\n\n**Note:** Browsers do not always display the image referenced by the element. This is the case for non-graphical browsers (including those used by people with visual impairments), if the user chooses not to display images, or if the browser cannot display the image because it is invalid or an [unsupported type](#Supported_image_formats). In these cases, the browser may replace the image with the text defined in this element\'s `alt` attribute. You should, for these reasons and others, provide a useful value for `alt` whenever possible.\n\n**Note:** Omitting this attribute altogether indicates that the image is a key part of the content, and no textual equivalent is available. Setting this attribute to an empty string (`alt=""`) indicates that this image is _not_ a key part of the content (decorative), and that non-visual browsers may omit it from rendering.', + }, + }, + { + name: 'src', + description: { + kind: 'markdown', + value: + "The image URL. This attribute is mandatory for the `<img>` element. On browsers supporting `srcset`, `src` is treated like a candidate image with a pixel density descriptor `1x` unless an image with this pixel density descriptor is already defined in `srcset,` or unless `srcset` contains '`w`' descriptors.", + }, + }, + { + name: 'srcset', + description: { + kind: 'markdown', + value: + "A list of one or more strings separated by commas indicating a set of possible image sources for the user agent to use. Each string is composed of:\n\n1. a URL to an image,\n2. optionally, whitespace followed by one of:\n * A width descriptor, or a positive integer directly followed by '`w`'. The width descriptor is divided by the source size given in the `sizes` attribute to calculate the effective pixel density.\n * A pixel density descriptor, which is a positive floating point number directly followed by '`x`'.\n\nIf no descriptor is specified, the source is assigned the default descriptor: `1x`.\n\nIt is incorrect to mix width descriptors and pixel density descriptors in the same `srcset` attribute. Duplicate descriptors (for instance, two sources in the same `srcset` which are both described with '`2x`') are also invalid.\n\nThe user agent selects any one of the available sources at its discretion. This provides them with significant leeway to tailor their selection based on things like user preferences or bandwidth conditions. See our [Responsive images](https://developer.mozilla.org/en-US/docs/Learn/HTML/Multimedia_and_embedding/Responsive_images) tutorial for an example.", + }, + }, + { + name: 'crossorigin', + valueSet: 'xo', + description: { + kind: 'markdown', + value: + 'This enumerated attribute indicates if the fetching of the related image must be done using CORS or not. [CORS-enabled images](https://developer.mozilla.org/en-US/docs/CORS_Enabled_Image) can be reused in the [`<canvas>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/canvas "Use the HTML <canvas> element with either the canvas scripting API or the WebGL API to draw graphics and animations.") element without being "[tainted](https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_enabled_image#What_is_a_tainted_canvas)." The allowed values are:', + }, + }, + { + name: 'usemap', + description: { + kind: 'markdown', + value: + 'The partial URL (starting with \'#\') of an [image map](https://developer.mozilla.org/en-US/docs/HTML/Element/map) associated with the element.\n\n**Note:** You cannot use this attribute if the `<img>` element is a descendant of an [`<a>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a "The HTML <a> element (or anchor element) creates a hyperlink to other web pages, files, locations within the same page, email addresses, or any other URL.") or [`<button>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button "The HTML <button> element represents a clickable button, which can be used in forms or anywhere in a document that needs simple, standard button functionality.") element.', + }, + }, + { + name: 'ismap', + valueSet: 'v', + description: { + kind: 'markdown', + value: + 'This Boolean attribute indicates that the image is part of a server-side map. If so, the precise coordinates of a click are sent to the server.\n\n**Note:** This attribute is allowed only if the `<img>` element is a descendant of an [`<a>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a "The HTML <a> element (or anchor element) creates a hyperlink to other web pages, files, locations within the same page, email addresses, or any other URL.") element with a valid [`href`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attr-href) attribute.', + }, + }, + { + name: 'width', + description: { + kind: 'markdown', + value: 'The intrinsic width of the image in pixels.', + }, + }, + { + name: 'height', + description: { + kind: 'markdown', + value: 'The intrinsic height of the image in pixels.', + }, + }, + { + name: 'decoding', + description: + 'Provides an image decoding hint to the browser. The allowed values are:', + }, + { + name: 'decoding', + description: + '`sync`\n\nDecode the image synchronously for atomic presentation with other content.\n\n`async`\n\nDecode the image asynchronously to reduce delay in presenting other content.\n\n`auto`\n\nDefault mode, which indicates no preference for the decoding mode. The browser decides what is best for the user.', + }, + { + name: 'importance', + description: + 'Indicates the relative importance of the resource. Priority hints are delegated using the values:', + }, + { + name: 'importance', + description: + '`auto`: Indicates **no preference**. The browser may use its own heuristics to decide the priority of the image.\n\n`high`: Indicates to the browser that the image is of **high** priority.\n\n`low`: Indicates to the browser that the image is of **low** priority.', + }, + { + name: 'intrinsicsize', + description: + 'This attribute tells the browser to ignore the actual intrinsic size of the image and pretend it’s the size specified in the attribute. Specifically, the image would raster at these dimensions and `naturalWidth`/`naturalHeight` on images would return the values specified in this attribute. [Explainer](https://github.com/ojanvafai/intrinsicsize-attribute), [examples](https://googlechrome.github.io/samples/intrinsic-size/index.html)', + }, + { + name: 'referrerpolicy', + description: + 'A string indicating which referrer to use when fetching the resource:\n\n* `no-referrer:` The [`Referer`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referer "The Referer request header contains the address of the previous web page from which a link to the currently requested page was followed. The Referer header allows servers to identify where people are visiting them from and may use that data for analytics, logging, or optimized caching, for example.") header will not be sent.\n* `no-referrer-when-downgrade:` No `Referer` header will be sent when navigating to an origin without TLS (HTTPS). This is a user agent’s default behavior if no policy is otherwise specified.\n* `origin:` The `Referer` header will include the page of origin\'s scheme, the host, and the port.\n* `origin-when-cross-origin:` Navigating to other origins will limit the included referral data to the scheme, the host and the port, while navigating from the same origin will include the referrer\'s full path.\n* `unsafe-url:` The `Referer` header will include the origin and the path, but not the fragment, password, or username. This case is unsafe because it can leak origins and paths from TLS-protected resources to insecure origins.', + }, + { + name: 'sizes', + description: + "A list of one or more strings separated by commas indicating a set of source sizes. Each source size consists of:\n\n1. a media condition. This must be omitted for the last item.\n2. a source size value.\n\nSource size values specify the intended display size of the image. User agents use the current source size to select one of the sources supplied by the `srcset` attribute, when those sources are described using width ('`w`') descriptors. The selected source size affects the intrinsic size of the image (the image’s display size if no CSS styling is applied). If the `srcset` attribute is absent, or contains no values with a width (`w`) descriptor, then the `sizes` attribute has no effect.", + }, + ], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/HTML/Element/img', + }, + ], + }, + { + name: 'iframe', + description: { + kind: 'markdown', + value: 'The iframe element represents a nested browsing context.', + }, + attributes: [ + { + name: 'src', + description: { + kind: 'markdown', + value: + 'The URL of the page to embed. Use a value of `about:blank` to embed an empty page that conforms to the [same-origin policy](https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy#Inherited_origins). Also note that programatically removing an `<iframe>`\'s src attribute (e.g. via [`Element.removeAttribute()`](https://developer.mozilla.org/en-US/docs/Web/API/Element/removeAttribute "The Element method removeAttribute() removes the attribute with the specified name from the element.")) causes `about:blank` to be loaded in the frame in Firefox (from version 65), Chromium-based browsers, and Safari/iOS.', + }, + }, + { + name: 'srcdoc', + description: { + kind: 'markdown', + value: + 'Inline HTML to embed, overriding the `src` attribute. If a browser does not support the `srcdoc` attribute, it will fall back to the URL in the `src` attribute.', + }, + }, + { + name: 'name', + description: { + kind: 'markdown', + value: + 'A targetable name for the embedded browsing context. This can be used in the `target` attribute of the [`<a>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a "The HTML <a> element (or anchor element) creates a hyperlink to other web pages, files, locations within the same page, email addresses, or any other URL."), [`<form>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form "The HTML <form> element represents a document section that contains interactive controls for submitting information to a web server."), or [`<base>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/base "The HTML <base> element specifies the base URL to use for all relative URLs contained within a document. There can be only one <base> element in a document.") elements; the `formtarget` attribute of the [`<input>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input "The HTML <input> element is used to create interactive controls for web-based forms in order to accept data from the user; a wide variety of types of input data and control widgets are available, depending on the device and user agent.") or [`<button>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button "The HTML <button> element represents a clickable button, which can be used in forms or anywhere in a document that needs simple, standard button functionality.") elements; or the `windowName` parameter in the [`window.open()`](https://developer.mozilla.org/en-US/docs/Web/API/Window/open "The Window interface\'s open() method loads the specified resource into the browsing context (window, <iframe> or tab) with the specified name. If the name doesn\'t exist, then a new window is opened and the specified resource is loaded into its browsing context.") method.', + }, + }, + { + name: 'sandbox', + valueSet: 'sb', + description: { + kind: 'markdown', + value: + 'Applies extra restrictions to the content in the frame. The value of the attribute can either be empty to apply all restrictions, or space-separated tokens to lift particular restrictions:\n\n* `allow-forms`: Allows the resource to submit forms. If this keyword is not used, form submission is blocked.\n* `allow-modals`: Lets the resource [open modal windows](https://html.spec.whatwg.org/multipage/origin.html#sandboxed-modals-flag).\n* `allow-orientation-lock`: Lets the resource [lock the screen orientation](https://developer.mozilla.org/en-US/docs/Web/API/Screen/lockOrientation).\n* `allow-pointer-lock`: Lets the resource use the [Pointer Lock API](https://developer.mozilla.org/en-US/docs/WebAPI/Pointer_Lock).\n* `allow-popups`: Allows popups (such as `window.open()`, `target="_blank"`, or `showModalDialog()`). If this keyword is not used, the popup will silently fail to open.\n* `allow-popups-to-escape-sandbox`: Lets the sandboxed document open new windows without those windows inheriting the sandboxing. For example, this can safely sandbox an advertisement without forcing the same restrictions upon the page the ad links to.\n* `allow-presentation`: Lets the resource start a [presentation session](https://developer.mozilla.org/en-US/docs/Web/API/PresentationRequest).\n* `allow-same-origin`: If this token is not used, the resource is treated as being from a special origin that always fails the [same-origin policy](https://developer.mozilla.org/en-US/docs/Glossary/same-origin_policy "same-origin policy: The same-origin policy is a critical security mechanism that restricts how a document or script loaded from one origin can interact with a resource from another origin.").\n* `allow-scripts`: Lets the resource run scripts (but not create popup windows).\n* `allow-storage-access-by-user-activation` : Lets the resource request access to the parent\'s storage capabilities with the [Storage Access API](https://developer.mozilla.org/en-US/docs/Web/API/Storage_Access_API).\n* `allow-top-navigation`: Lets the resource navigate the top-level browsing context (the one named `_top`).\n* `allow-top-navigation-by-user-activation`: Lets the resource navigate the top-level browsing context, but only if initiated by a user gesture.\n\n**Notes about sandboxing:**\n\n* When the embedded document has the same origin as the embedding page, it is **strongly discouraged** to use both `allow-scripts` and `allow-same-origin`, as that lets the embedded document remove the `sandbox` attribute — making it no more secure than not using the `sandbox` attribute at all.\n* Sandboxing is useless if the attacker can display content outside a sandboxed `iframe` — such as if the viewer opens the frame in a new tab. Such content should be also served from a _separate origin_ to limit potential damage.\n* The `sandbox` attribute is unsupported in Internet Explorer 9 and earlier.', + }, + }, + { name: 'seamless', valueSet: 'v' }, + { + name: 'allowfullscreen', + valueSet: 'v', + description: { + kind: 'markdown', + value: + 'Set to `true` if the `<iframe>` can activate fullscreen mode by calling the [`requestFullscreen()`](https://developer.mozilla.org/en-US/docs/Web/API/Element/requestFullscreen "The Element.requestFullscreen() method issues an asynchronous request to make the element be displayed in full-screen mode.") method.', + }, + }, + { + name: 'width', + description: { + kind: 'markdown', + value: + 'The width of the frame in CSS pixels. Default is `300`.', + }, + }, + { + name: 'height', + description: { + kind: 'markdown', + value: + 'The height of the frame in CSS pixels. Default is `150`.', + }, + }, + { + name: 'allow', + description: + 'Specifies a [feature policy](https://developer.mozilla.org/en-US/docs/Web/HTTP/Feature_Policy) for the `<iframe>`.', + }, + { + name: 'allowpaymentrequest', + description: + 'Set to `true` if a cross-origin `<iframe>` should be allowed to invoke the [Payment Request API](https://developer.mozilla.org/en-US/docs/Web/API/Payment_Request_API).', + }, + { + name: 'allowpaymentrequest', + description: + 'This attribute is considered a legacy attribute and redefined as `allow="payment"`.', + }, + { + name: 'csp', + description: + 'A [Content Security Policy](https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP) enforced for the embedded resource. See [`HTMLIFrameElement.csp`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLIFrameElement/csp "The csp property of the HTMLIFrameElement interface specifies the Content Security Policy that an embedded document must agree to enforce upon itself.") for details.', + }, + { + name: 'importance', + description: + "The download priority of the resource in the `<iframe>`'s `src` attribute. Allowed values:\n\n`auto` (default)\n\nNo preference. The browser uses its own heuristics to decide the priority of the resource.\n\n`high`\n\nThe resource should be downloaded before other lower-priority page resources.\n\n`low`\n\nThe resource should be downloaded after other higher-priority page resources.", + }, + { + name: 'referrerpolicy', + description: + 'Indicates which [referrer](https://developer.mozilla.org/en-US/docs/Web/API/Document/referrer) to send when fetching the frame\'s resource:\n\n* `no-referrer`: The [`Referer`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referer "The Referer request header contains the address of the previous web page from which a link to the currently requested page was followed. The Referer header allows servers to identify where people are visiting them from and may use that data for analytics, logging, or optimized caching, for example.") header will not be sent.\n* `no-referrer-when-downgrade` (default): The [`Referer`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referer "The Referer request header contains the address of the previous web page from which a link to the currently requested page was followed. The Referer header allows servers to identify where people are visiting them from and may use that data for analytics, logging, or optimized caching, for example.") header will not be sent to [origin](https://developer.mozilla.org/en-US/docs/Glossary/origin "origin: Web content\'s origin is defined by the scheme (protocol), host (domain), and port of the URL used to access it. Two objects have the same origin only when the scheme, host, and port all match.")s without [TLS](https://developer.mozilla.org/en-US/docs/Glossary/TLS "TLS: Transport Layer Security (TLS), previously known as Secure Sockets Layer (SSL), is a protocol used by applications to communicate securely across a network, preventing tampering with and eavesdropping on email, web browsing, messaging, and other protocols.") ([HTTPS](https://developer.mozilla.org/en-US/docs/Glossary/HTTPS "HTTPS: HTTPS (HTTP Secure) is an encrypted version of the HTTP protocol. It usually uses SSL or TLS to encrypt all communication between a client and a server. This secure connection allows clients to safely exchange sensitive data with a server, for example for banking activities or online shopping.")).\n* `origin`: The sent referrer will be limited to the origin of the referring page: its [scheme](https://developer.mozilla.org/en-US/docs/Archive/Mozilla/URIScheme), [host](https://developer.mozilla.org/en-US/docs/Glossary/host "host: A host is a device connected to the Internet (or a local network). Some hosts called servers offer additional services like serving webpages or storing files and emails."), and [port](https://developer.mozilla.org/en-US/docs/Glossary/port "port: For a computer connected to a network with an IP address, a port is a communication endpoint. Ports are designated by numbers, and below 1024 each port is associated by default with a specific protocol.").\n* `origin-when-cross-origin`: The referrer sent to other origins will be limited to the scheme, the host, and the port. Navigations on the same origin will still include the path.\n* `same-origin`: A referrer will be sent for [same origin](https://developer.mozilla.org/en-US/docs/Glossary/Same-origin_policy "same origin: The same-origin policy is a critical security mechanism that restricts how a document or script loaded from one origin can interact with a resource from another origin."), but cross-origin requests will contain no referrer information.\n* `strict-origin`: Only send the origin of the document as the referrer when the protocol security level stays the same (HTTPS→HTTPS), but don\'t send it to a less secure destination (HTTPS→HTTP).\n* `strict-origin-when-cross-origin`: Send a full URL when performing a same-origin request, only send the origin when the protocol security level stays the same (HTTPS→HTTPS), and send no header to a less secure destination (HTTPS→HTTP).\n* `unsafe-url`: The referrer will include the origin _and_ the path (but not the [fragment](https://developer.mozilla.org/en-US/docs/Web/API/HTMLHyperlinkElementUtils/hash), [password](https://developer.mozilla.org/en-US/docs/Web/API/HTMLHyperlinkElementUtils/password), or [username](https://developer.mozilla.org/en-US/docs/Web/API/HTMLHyperlinkElementUtils/username)). **This value is unsafe**, because it leaks origins and paths from TLS-protected resources to insecure origins.', + }, + ], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/HTML/Element/iframe', + }, + ], + }, + { + name: 'embed', + description: { + kind: 'markdown', + value: + 'The embed element provides an integration point for an external (typically non-HTML) application or interactive content.', + }, + attributes: [ + { + name: 'src', + description: { + kind: 'markdown', + value: 'The URL of the resource being embedded.', + }, + }, + { + name: 'type', + description: { + kind: 'markdown', + value: + 'The MIME type to use to select the plug-in to instantiate.', + }, + }, + { + name: 'width', + description: { + kind: 'markdown', + value: + 'The displayed width of the resource, in [CSS pixels](https://drafts.csswg.org/css-values/#px). This must be an absolute value; percentages are _not_ allowed.', + }, + }, + { + name: 'height', + description: { + kind: 'markdown', + value: + 'The displayed height of the resource, in [CSS pixels](https://drafts.csswg.org/css-values/#px). This must be an absolute value; percentages are _not_ allowed.', + }, + }, + ], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/HTML/Element/embed', + }, + ], + }, + { + name: 'object', + description: { + kind: 'markdown', + value: + 'The object element can represent an external resource, which, depending on the type of the resource, will either be treated as an image, as a nested browsing context, or as an external resource to be processed by a plugin.', + }, + attributes: [ + { + name: 'data', + description: { + kind: 'markdown', + value: + 'The address of the resource as a valid URL. At least one of **data** and **type** must be defined.', + }, + }, + { + name: 'type', + description: { + kind: 'markdown', + value: + 'The [content type](https://developer.mozilla.org/en-US/docs/Glossary/Content_type) of the resource specified by **data**. At least one of **data** and **type** must be defined.', + }, + }, + { + name: 'typemustmatch', + valueSet: 'v', + description: { + kind: 'markdown', + value: + 'This Boolean attribute indicates if the **type** attribute and the actual [content type](https://developer.mozilla.org/en-US/docs/Glossary/Content_type) of the resource must match to be used.', + }, + }, + { + name: 'name', + description: { + kind: 'markdown', + value: + 'The name of valid browsing context (HTML5), or the name of the control (HTML 4).', + }, + }, + { + name: 'usemap', + description: { + kind: 'markdown', + value: + 'A hash-name reference to a [`<map>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/map "The HTML <map> element is used with <area> elements to define an image map (a clickable link area).") element; that is a \'#\' followed by the value of a [`name`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/map#attr-name) of a map element.', + }, + }, + { + name: 'form', + description: { + kind: 'markdown', + value: + 'The form element, if any, that the object element is associated with (its _form owner_). The value of the attribute must be an ID of a [`<form>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form "The HTML <form> element represents a document section that contains interactive controls for submitting information to a web server.") element in the same document.', + }, + }, + { + name: 'width', + description: { + kind: 'markdown', + value: + 'The width of the display resource, in [CSS pixels](https://drafts.csswg.org/css-values/#px). -- (Absolute values only. [NO percentages](https://html.spec.whatwg.org/multipage/embedded-content.html#dimension-attributes))', + }, + }, + { + name: 'height', + description: { + kind: 'markdown', + value: + 'The height of the displayed resource, in [CSS pixels](https://drafts.csswg.org/css-values/#px). -- (Absolute values only. [NO percentages](https://html.spec.whatwg.org/multipage/embedded-content.html#dimension-attributes))', + }, + }, + { + name: 'archive', + description: + 'A space-separated list of URIs for archives of resources for the object.', + }, + { + name: 'border', + description: + 'The width of a border around the control, in pixels.', + }, + { + name: 'classid', + description: + "The URI of the object's implementation. It can be used together with, or in place of, the **data** attribute.", + }, + { + name: 'codebase', + description: + 'The base path used to resolve relative URIs specified by **classid**, **data**, or **archive**. If not specified, the default is the base URI of the current document.', + }, + { + name: 'codetype', + description: + 'The content type of the data specified by **classid**.', + }, + { + name: 'declare', + description: + 'The presence of this Boolean attribute makes this element a declaration only. The object must be instantiated by a subsequent `<object>` element. In HTML5, repeat the <object> element completely each that that the resource is reused.', + }, + { + name: 'standby', + description: + "A message that the browser can show while loading the object's implementation and data.", + }, + { + name: 'tabindex', + description: + 'The position of the element in the tabbing navigation order for the current document.', + }, + ], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/HTML/Element/object', + }, + ], + }, + { + name: 'param', + description: { + kind: 'markdown', + value: + 'The param element defines parameters for plugins invoked by object elements. It does not represent anything on its own.', + }, + attributes: [ + { + name: 'name', + description: { + kind: 'markdown', + value: 'Name of the parameter.', + }, + }, + { + name: 'value', + description: { + kind: 'markdown', + value: 'Specifies the value of the parameter.', + }, + }, + { + name: 'type', + description: + 'Only used if the `valuetype` is set to "ref". Specifies the MIME type of values found at the URI specified by value.', + }, + { + name: 'valuetype', + description: + 'Specifies the type of the `value` attribute. Possible values are:\n\n* data: Default value. The value is passed to the object\'s implementation as a string.\n* ref: The value is a URI to a resource where run-time values are stored.\n* object: An ID of another [`<object>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/object "The HTML <object> element represents an external resource, which can be treated as an image, a nested browsing context, or a resource to be handled by a plugin.") in the same document.', + }, + ], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/HTML/Element/param', + }, + ], + }, + { + name: 'video', + description: { + kind: 'markdown', + value: + 'A video element is used for playing videos or movies, and audio files with captions.', + }, + attributes: [ + { name: 'src' }, + { name: 'crossorigin', valueSet: 'xo' }, + { name: 'poster' }, + { name: 'preload', valueSet: 'pl' }, + { + name: 'autoplay', + valueSet: 'v', + description: { + kind: 'markdown', + value: + 'A Boolean attribute; if specified, the video automatically begins to play back as soon as it can do so without stopping to finish loading the data.', + }, + }, + { name: 'mediagroup' }, + { name: 'loop', valueSet: 'v' }, + { name: 'muted', valueSet: 'v' }, + { name: 'controls', valueSet: 'v' }, + { name: 'width' }, + { name: 'height' }, + ], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/HTML/Element/video', + }, + ], + }, + { + name: 'audio', + description: { + kind: 'markdown', + value: 'An audio element represents a sound or audio stream.', + }, + attributes: [ + { + name: 'src', + description: { + kind: 'markdown', + value: + 'The URL of the audio to embed. This is subject to [HTTP access controls](https://developer.mozilla.org/en-US/docs/HTTP_access_control). This is optional; you may instead use the [`<source>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/source "The HTML <source> element specifies multiple media resources for the <picture>, the <audio> element, or the <video> element.") element within the audio block to specify the audio to embed.', + }, + }, + { + name: 'crossorigin', + valueSet: 'xo', + description: { + kind: 'markdown', + value: + 'This enumerated attribute indicates whether to use CORS to fetch the related image. [CORS-enabled resources](https://developer.mozilla.org/en-US/docs/CORS_Enabled_Image) can be reused in the [`<canvas>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/canvas "Use the HTML <canvas> element with either the canvas scripting API or the WebGL API to draw graphics and animations.") element without being _tainted_. The allowed values are:\n\nanonymous\n\nSends a cross-origin request without a credential. In other words, it sends the `Origin:` HTTP header without a cookie, X.509 certificate, or performing HTTP Basic authentication. If the server does not give credentials to the origin site (by not setting the `Access-Control-Allow-Origin:` HTTP header), the image will be _tainted_, and its usage restricted.\n\nuse-credentials\n\nSends a cross-origin request with a credential. In other words, it sends the `Origin:` HTTP header with a cookie, a certificate, or performing HTTP Basic authentication. If the server does not give credentials to the origin site (through `Access-Control-Allow-Credentials:` HTTP header), the image will be _tainted_ and its usage restricted.\n\nWhen not present, the resource is fetched without a CORS request (i.e. without sending the `Origin:` HTTP header), preventing its non-tainted used in [`<canvas>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/canvas "Use the HTML <canvas> element with either the canvas scripting API or the WebGL API to draw graphics and animations.") elements. If invalid, it is handled as if the enumerated keyword **anonymous** was used. See [CORS settings attributes](https://developer.mozilla.org/en-US/docs/HTML/CORS_settings_attributes) for additional information.', + }, + }, + { + name: 'preload', + valueSet: 'pl', + description: { + kind: 'markdown', + value: + "This enumerated attribute is intended to provide a hint to the browser about what the author thinks will lead to the best user experience. It may have one of the following values:\n\n* `none`: Indicates that the audio should not be preloaded.\n* `metadata`: Indicates that only audio metadata (e.g. length) is fetched.\n* `auto`: Indicates that the whole audio file can be downloaded, even if the user is not expected to use it.\n* _empty string_: A synonym of the `auto` value.\n\nIf not set, `preload`'s default value is browser-defined (i.e. each browser may have its own default value). The spec advises it to be set to `metadata`.\n\n**Usage notes:**\n\n* The `autoplay` attribute has precedence over `preload`. If `autoplay` is specified, the browser would obviously need to start downloading the audio for playback.\n* The browser is not forced by the specification to follow the value of this attribute; it is a mere hint.", + }, + }, + { + name: 'autoplay', + valueSet: 'v', + description: { + kind: 'markdown', + value: + 'A Boolean attribute: if specified, the audio will automatically begin playback as soon as it can do so, without waiting for the entire audio file to finish downloading.\n\n**Note**: Sites that automatically play audio (or videos with an audio track) can be an unpleasant experience for users, so should be avoided when possible. If you must offer autoplay functionality, you should make it opt-in (requiring a user to specifically enable it). However, this can be useful when creating media elements whose source will be set at a later time, under user control.', + }, + }, + { name: 'mediagroup' }, + { + name: 'loop', + valueSet: 'v', + description: { + kind: 'markdown', + value: + 'A Boolean attribute: if specified, the audio player will automatically seek back to the start upon reaching the end of the audio.', + }, + }, + { + name: 'muted', + valueSet: 'v', + description: { + kind: 'markdown', + value: + 'A Boolean attribute that indicates whether the audio will be initially silenced. Its default value is `false`.', + }, + }, + { + name: 'controls', + valueSet: 'v', + description: { + kind: 'markdown', + value: + 'If this attribute is present, the browser will offer controls to allow the user to control audio playback, including volume, seeking, and pause/resume playback.', + }, + }, + ], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/HTML/Element/audio', + }, + ], + }, + { + name: 'source', + description: { + kind: 'markdown', + value: + 'The source element allows authors to specify multiple alternative media resources for media elements. It does not represent anything on its own.', + }, + attributes: [ + { + name: 'src', + description: { + kind: 'markdown', + value: + 'Required for [`<audio>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/audio "The HTML <audio> element is used to embed sound content in documents. It may contain one or more audio sources, represented using the src attribute or the <source> element: the browser will choose the most suitable one. It can also be the destination for streamed media, using a MediaStream.") and [`<video>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/video "The HTML Video element (<video>) embeds a media player which supports video playback into the document."), address of the media resource. The value of this attribute is ignored when the `<source>` element is placed inside a [`<picture>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/picture "The HTML <picture> element contains zero or more <source> elements and one <img> element to provide versions of an image for different display/device scenarios.") element.', + }, + }, + { + name: 'type', + description: { + kind: 'markdown', + value: + 'The MIME-type of the resource, optionally with a `codecs` parameter. See [RFC 4281](https://tools.ietf.org/html/rfc4281) for information about how to specify codecs.', + }, + }, + { + name: 'sizes', + description: + 'Is a list of source sizes that describes the final rendered width of the image represented by the source. Each source size consists of a comma-separated list of media condition-length pairs. This information is used by the browser to determine, before laying the page out, which image defined in [`srcset`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/source#attr-srcset) to use. \nThe `sizes` attribute has an effect only when the [`<source>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/source "The HTML <source> element specifies multiple media resources for the <picture>, the <audio> element, or the <video> element.") element is the direct child of a [`<picture>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/picture "The HTML <picture> element contains zero or more <source> elements and one <img> element to provide versions of an image for different display/device scenarios.") element.', + }, + { + name: 'srcset', + description: + 'A list of one or more strings separated by commas indicating a set of possible images represented by the source for the browser to use. Each string is composed of:\n\n1. one URL to an image,\n2. a width descriptor, that is a positive integer directly followed by `\'w\'`. The default value, if missing, is the infinity.\n3. a pixel density descriptor, that is a positive floating number directly followed by `\'x\'`. The default value, if missing, is `1x`.\n\nEach string in the list must have at least a width descriptor or a pixel density descriptor to be valid. Among the list, there must be only one string containing the same tuple of width descriptor and pixel density descriptor. \nThe browser chooses the most adequate image to display at a given point of time. \nThe `srcset` attribute has an effect only when the [`<source>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/source "The HTML <source> element specifies multiple media resources for the <picture>, the <audio> element, or the <video> element.") element is the direct child of a [`<picture>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/picture "The HTML <picture> element contains zero or more <source> elements and one <img> element to provide versions of an image for different display/device scenarios.") element.', + }, + { + name: 'media', + description: + '[Media query](https://developer.mozilla.org/en-US/docs/CSS/Media_queries) of the resource\'s intended media; this should be used only in a [`<picture>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/picture "The HTML <picture> element contains zero or more <source> elements and one <img> element to provide versions of an image for different display/device scenarios.") element.', + }, + ], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/HTML/Element/source', + }, + ], + }, + { + name: 'track', + description: { + kind: 'markdown', + value: + 'The track element allows authors to specify explicit external timed text tracks for media elements. It does not represent anything on its own.', + }, + attributes: [ + { + name: 'default', + valueSet: 'v', + description: { + kind: 'markdown', + value: + "This attribute indicates that the track should be enabled unless the user's preferences indicate that another track is more appropriate. This may only be used on one `track` element per media element.", + }, + }, + { + name: 'kind', + valueSet: 'tk', + description: { + kind: 'markdown', + value: + "How the text track is meant to be used. If omitted the default kind is `subtitles`. If the attribute is not present, it will use the `subtitles`. If the attribute contains an invalid value, it will use `metadata`. (Versions of Chrome earlier than 52 treated an invalid value as `subtitles`.) The following keywords are allowed:\n\n* `subtitles`\n * Subtitles provide translation of content that cannot be understood by the viewer. For example dialogue or text that is not English in an English language film.\n * Subtitles may contain additional content, usually extra background information. For example the text at the beginning of the Star Wars films, or the date, time, and location of a scene.\n* `captions`\n * Closed captions provide a transcription and possibly a translation of audio.\n * It may include important non-verbal information such as music cues or sound effects. It may indicate the cue's source (e.g. music, text, character).\n * Suitable for users who are deaf or when the sound is muted.\n* `descriptions`\n * Textual description of the video content.\n * Suitable for users who are blind or where the video cannot be seen.\n* `chapters`\n * Chapter titles are intended to be used when the user is navigating the media resource.\n* `metadata`\n * Tracks used by scripts. Not visible to the user.", + }, + }, + { + name: 'label', + description: { + kind: 'markdown', + value: + 'A user-readable title of the text track which is used by the browser when listing available text tracks.', + }, + }, + { + name: 'src', + description: { + kind: 'markdown', + value: + 'Address of the track (`.vtt` file). Must be a valid URL. This attribute must be specified and its URL value must have the same origin as the document — unless the [`<audio>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/audio "The HTML <audio> element is used to embed sound content in documents. It may contain one or more audio sources, represented using the src attribute or the <source> element: the browser will choose the most suitable one. It can also be the destination for streamed media, using a MediaStream.") or [`<video>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/video "The HTML Video element (<video>) embeds a media player which supports video playback into the document.") parent element of the `track` element has a [`crossorigin`](https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_settings_attributes) attribute.', + }, + }, + { + name: 'srclang', + description: { + kind: 'markdown', + value: + 'Language of the track text data. It must be a valid [BCP 47](https://r12a.github.io/app-subtags/) language tag. If the `kind` attribute is set to `subtitles,` then `srclang` must be defined.', + }, + }, + ], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/HTML/Element/track', + }, + ], + }, + { + name: 'map', + description: { + kind: 'markdown', + value: + 'The map element, in conjunction with an img element and any area element descendants, defines an image map. The element represents its children.', + }, + attributes: [ + { + name: 'name', + description: { + kind: 'markdown', + value: + 'The name attribute gives the map a name so that it can be referenced. The attribute must be present and must have a non-empty value with no space characters. The value of the name attribute must not be a compatibility-caseless match for the value of the name attribute of another map element in the same document. If the id attribute is also specified, both attributes must have the same value.', + }, + }, + ], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/HTML/Element/map', + }, + ], + }, + { + name: 'area', + description: { + kind: 'markdown', + value: + 'The area element represents either a hyperlink with some text and a corresponding area on an image map, or a dead area on an image map.', + }, + attributes: [ + { name: 'alt' }, + { name: 'coords' }, + { name: 'shape', valueSet: 'sh' }, + { name: 'href' }, + { name: 'target' }, + { name: 'download' }, + { name: 'ping' }, + { name: 'rel' }, + { name: 'hreflang' }, + { name: 'type' }, + { + name: 'accesskey', + description: + 'Specifies a keyboard navigation accelerator for the element. Pressing ALT or a similar key in association with the specified character selects the form control correlated with that key sequence. Page designers are forewarned to avoid key sequences already bound to browsers. This attribute is global since HTML5.', + }, + ], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/HTML/Element/area', + }, + ], + }, + { + name: 'table', + description: { + kind: 'markdown', + value: + 'The table element represents data with more than one dimension, in the form of a table.', + }, + attributes: [ + { name: 'border' }, + { + name: 'align', + description: + 'This enumerated attribute indicates how the table must be aligned inside the containing document. It may have the following values:\n\n* left: the table is displayed on the left side of the document;\n* center: the table is displayed in the center of the document;\n* right: the table is displayed on the right side of the document.\n\n**Usage Note**\n\n* **Do not use this attribute**, as it has been deprecated. The [`<table>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/table "The HTML <table> element represents tabular data — that is, information presented in a two-dimensional table comprised of rows and columns of cells containing data.") element should be styled using [CSS](https://developer.mozilla.org/en-US/docs/CSS). Set [`margin-left`](https://developer.mozilla.org/en-US/docs/Web/CSS/margin-left "The margin-left CSS property sets the margin area on the left side of an element. A positive value places it farther from its neighbors, while a negative value places it closer.") and [`margin-right`](https://developer.mozilla.org/en-US/docs/Web/CSS/margin-right "The margin-right CSS property sets the margin area on the right side of an element. A positive value places it farther from its neighbors, while a negative value places it closer.") to `auto` or [`margin`](https://developer.mozilla.org/en-US/docs/Web/CSS/margin "The margin CSS property sets the margin area on all four sides of an element. It is a shorthand for margin-top, margin-right, margin-bottom, and margin-left.") to `0 auto` to achieve an effect that is similar to the align attribute.\n* Prior to Firefox 4, Firefox also supported the `middle`, `absmiddle`, and `abscenter` values as synonyms of `center`, in quirks mode only.', + }, + ], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/HTML/Element/table', + }, + ], + }, + { + name: 'caption', + description: { + kind: 'markdown', + value: + 'The caption element represents the title of the table that is its parent, if it has a parent and that is a table element.', + }, + attributes: [ + { + name: 'align', + description: + 'This enumerated attribute indicates how the caption must be aligned with respect to the table. It may have one of the following values:\n\n`left`\n\nThe caption is displayed to the left of the table.\n\n`top`\n\nThe caption is displayed above the table.\n\n`right`\n\nThe caption is displayed to the right of the table.\n\n`bottom`\n\nThe caption is displayed below the table.\n\n**Usage note:** Do not use this attribute, as it has been deprecated. The [`<caption>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/caption "The HTML Table Caption element (<caption>) specifies the caption (or title) of a table, and if used is always the first child of a <table>.") element should be styled using the [CSS](https://developer.mozilla.org/en-US/docs/CSS) properties [`caption-side`](https://developer.mozilla.org/en-US/docs/Web/CSS/caption-side "The caption-side CSS property puts the content of a table\'s <caption> on the specified side. The values are relative to the writing-mode of the table.") and [`text-align`](https://developer.mozilla.org/en-US/docs/Web/CSS/text-align "The text-align CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like vertical-align but in the horizontal direction.").', + }, + ], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/HTML/Element/caption', + }, + ], + }, + { + name: 'colgroup', + description: { + kind: 'markdown', + value: + 'The colgroup element represents a group of one or more columns in the table that is its parent, if it has a parent and that is a table element.', + }, + attributes: [ + { name: 'span' }, + { + name: 'align', + description: + 'This enumerated attribute specifies how horizontal alignment of each column cell content will be handled. Possible values are:\n\n* `left`, aligning the content to the left of the cell\n* `center`, centering the content in the cell\n* `right`, aligning the content to the right of the cell\n* `justify`, inserting spaces into the textual content so that the content is justified in the cell\n* `char`, aligning the textual content on a special character with a minimal offset, defined by the [`char`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/col#attr-char) and [`charoff`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/col#attr-charoff) attributes Unimplemented (see [bug 2212](https://bugzilla.mozilla.org/show_bug.cgi?id=2212 "character alignment not implemented (align=char, charoff=, text-align:<string>)")).\n\nIf this attribute is not set, the `left` value is assumed. The descendant [`<col>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/col "The HTML <col> element defines a column within a table and is used for defining common semantics on all common cells. It is generally found within a <colgroup> element.") elements may override this value using their own [`align`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/col#attr-align) attribute.\n\n**Note:** Do not use this attribute as it is obsolete (not supported) in the latest standard.\n\n* To achieve the same effect as the `left`, `center`, `right` or `justify` values:\n * Do not try to set the [`text-align`](https://developer.mozilla.org/en-US/docs/Web/CSS/text-align "The text-align CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like vertical-align but in the horizontal direction.") property on a selector giving a [`<colgroup>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/colgroup "The HTML <colgroup> element defines a group of columns within a table.") element. Because [`<td>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/td "The HTML <td> element defines a cell of a table that contains data. It participates in the table model.") elements are not descendant of the [`<colgroup>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/colgroup "The HTML <colgroup> element defines a group of columns within a table.") element, they won\'t inherit it.\n * If the table doesn\'t use a [`colspan`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/td#attr-colspan) attribute, use one `td:nth-child(an+b)` CSS selector per column, where a is the total number of the columns in the table and b is the ordinal position of this column in the table. Only after this selector the [`text-align`](https://developer.mozilla.org/en-US/docs/Web/CSS/text-align "The text-align CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like vertical-align but in the horizontal direction.") property can be used.\n * If the table does use a [`colspan`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/td#attr-colspan) attribute, the effect can be achieved by combining adequate CSS attribute selectors like `[colspan=n]`, though this is not trivial.\n* To achieve the same effect as the `char` value, in CSS3, you can use the value of the [`char`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/colgroup#attr-char) as the value of the [`text-align`](https://developer.mozilla.org/en-US/docs/Web/CSS/text-align "The text-align CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like vertical-align but in the horizontal direction.") property Unimplemented.', + }, + ], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/HTML/Element/colgroup', + }, + ], + }, + { + name: 'col', + description: { + kind: 'markdown', + value: + 'If a col element has a parent and that is a colgroup element that itself has a parent that is a table element, then the col element represents one or more columns in the column group represented by that colgroup.', + }, + attributes: [ + { name: 'span' }, + { + name: 'align', + description: + 'This enumerated attribute specifies how horizontal alignment of each column cell content will be handled. Possible values are:\n\n* `left`, aligning the content to the left of the cell\n* `center`, centering the content in the cell\n* `right`, aligning the content to the right of the cell\n* `justify`, inserting spaces into the textual content so that the content is justified in the cell\n* `char`, aligning the textual content on a special character with a minimal offset, defined by the [`char`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/col#attr-char) and [`charoff`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/col#attr-charoff) attributes Unimplemented (see [bug 2212](https://bugzilla.mozilla.org/show_bug.cgi?id=2212 "character alignment not implemented (align=char, charoff=, text-align:<string>)")).\n\nIf this attribute is not set, its value is inherited from the [`align`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/colgroup#attr-align) of the [`<colgroup>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/colgroup "The HTML <colgroup> element defines a group of columns within a table.") element this `<col>` element belongs too. If there are none, the `left` value is assumed.\n\n**Note:** Do not use this attribute as it is obsolete (not supported) in the latest standard.\n\n* To achieve the same effect as the `left`, `center`, `right` or `justify` values:\n * Do not try to set the [`text-align`](https://developer.mozilla.org/en-US/docs/Web/CSS/text-align "The text-align CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like vertical-align but in the horizontal direction.") property on a selector giving a [`<col>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/col "The HTML <col> element defines a column within a table and is used for defining common semantics on all common cells. It is generally found within a <colgroup> element.") element. Because [`<td>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/td "The HTML <td> element defines a cell of a table that contains data. It participates in the table model.") elements are not descendant of the [`<col>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/col "The HTML <col> element defines a column within a table and is used for defining common semantics on all common cells. It is generally found within a <colgroup> element.") element, they won\'t inherit it.\n * If the table doesn\'t use a [`colspan`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/td#attr-colspan) attribute, use the `td:nth-child(an+b)` CSS selector. Set `a` to zero and `b` to the position of the column in the table, e.g. `td:nth-child(2) { text-align: right; }` to right-align the second column.\n * If the table does use a [`colspan`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/td#attr-colspan) attribute, the effect can be achieved by combining adequate CSS attribute selectors like `[colspan=n]`, though this is not trivial.\n* To achieve the same effect as the `char` value, in CSS3, you can use the value of the [`char`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/col#attr-char) as the value of the [`text-align`](https://developer.mozilla.org/en-US/docs/Web/CSS/text-align "The text-align CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like vertical-align but in the horizontal direction.") property Unimplemented.', + }, + ], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/HTML/Element/col', + }, + ], + }, + { + name: 'tbody', + description: { + kind: 'markdown', + value: + 'The tbody element represents a block of rows that consist of a body of data for the parent table element, if the tbody element has a parent and it is a table.', + }, + attributes: [ + { + name: 'align', + description: + 'This enumerated attribute specifies how horizontal alignment of each cell content will be handled. Possible values are:\n\n* `left`, aligning the content to the left of the cell\n* `center`, centering the content in the cell\n* `right`, aligning the content to the right of the cell\n* `justify`, inserting spaces into the textual content so that the content is justified in the cell\n* `char`, aligning the textual content on a special character with a minimal offset, defined by the [`char`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/tbody#attr-char) and [`charoff`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/tbody#attr-charoff) attributes.\n\nIf this attribute is not set, the `left` value is assumed.\n\n**Note:** Do not use this attribute as it is obsolete (not supported) in the latest standard.\n\n* To achieve the same effect as the `left`, `center`, `right` or `justify` values, use the CSS [`text-align`](https://developer.mozilla.org/en-US/docs/Web/CSS/text-align "The text-align CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like vertical-align but in the horizontal direction.") property on it.\n* To achieve the same effect as the `char` value, in CSS3, you can use the value of the [`char`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/tbody#attr-char) as the value of the [`text-align`](https://developer.mozilla.org/en-US/docs/Web/CSS/text-align "The text-align CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like vertical-align but in the horizontal direction.") property Unimplemented.', + }, + ], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/HTML/Element/tbody', + }, + ], + }, + { + name: 'thead', + description: { + kind: 'markdown', + value: + 'The thead element represents the block of rows that consist of the column labels (headers) for the parent table element, if the thead element has a parent and it is a table.', + }, + attributes: [ + { + name: 'align', + description: + 'This enumerated attribute specifies how horizontal alignment of each cell content will be handled. Possible values are:\n\n* `left`, aligning the content to the left of the cell\n* `center`, centering the content in the cell\n* `right`, aligning the content to the right of the cell\n* `justify`, inserting spaces into the textual content so that the content is justified in the cell\n* `char`, aligning the textual content on a special character with a minimal offset, defined by the [`char`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/thead#attr-char) and [`charoff`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/thead#attr-charoff) attributes Unimplemented (see [bug 2212](https://bugzilla.mozilla.org/show_bug.cgi?id=2212 "character alignment not implemented (align=char, charoff=, text-align:<string>)")).\n\nIf this attribute is not set, the `left` value is assumed.\n\n**Note:** Do not use this attribute as it is obsolete (not supported) in the latest standard.\n\n* To achieve the same effect as the `left`, `center`, `right` or `justify` values, use the CSS [`text-align`](https://developer.mozilla.org/en-US/docs/Web/CSS/text-align "The text-align CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like vertical-align but in the horizontal direction.") property on it.\n* To achieve the same effect as the `char` value, in CSS3, you can use the value of the [`char`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/thead#attr-char) as the value of the [`text-align`](https://developer.mozilla.org/en-US/docs/Web/CSS/text-align "The text-align CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like vertical-align but in the horizontal direction.") property Unimplemented.', + }, + ], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/HTML/Element/thead', + }, + ], + }, + { + name: 'tfoot', + description: { + kind: 'markdown', + value: + 'The tfoot element represents the block of rows that consist of the column summaries (footers) for the parent table element, if the tfoot element has a parent and it is a table.', + }, + attributes: [ + { + name: 'align', + description: + 'This enumerated attribute specifies how horizontal alignment of each cell content will be handled. Possible values are:\n\n* `left`, aligning the content to the left of the cell\n* `center`, centering the content in the cell\n* `right`, aligning the content to the right of the cell\n* `justify`, inserting spaces into the textual content so that the content is justified in the cell\n* `char`, aligning the textual content on a special character with a minimal offset, defined by the [`char`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/tbody#attr-char) and [`charoff`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/tbody#attr-charoff) attributes Unimplemented (see [bug 2212](https://bugzilla.mozilla.org/show_bug.cgi?id=2212 "character alignment not implemented (align=char, charoff=, text-align:<string>)")).\n\nIf this attribute is not set, the `left` value is assumed.\n\n**Note:** Do not use this attribute as it is obsolete (not supported) in the latest standard.\n\n* To achieve the same effect as the `left`, `center`, `right` or `justify` values, use the CSS [`text-align`](https://developer.mozilla.org/en-US/docs/Web/CSS/text-align "The text-align CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like vertical-align but in the horizontal direction.") property on it.\n* To achieve the same effect as the `char` value, in CSS3, you can use the value of the [`char`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/tfoot#attr-char) as the value of the [`text-align`](https://developer.mozilla.org/en-US/docs/Web/CSS/text-align "The text-align CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like vertical-align but in the horizontal direction.") property Unimplemented.', + }, + ], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/HTML/Element/tfoot', + }, + ], + }, + { + name: 'tr', + description: { + kind: 'markdown', + value: 'The tr element represents a row of cells in a table.', + }, + attributes: [ + { + name: 'align', + description: + 'A [`DOMString`](https://developer.mozilla.org/en-US/docs/Web/API/DOMString "DOMString is a UTF-16 String. As JavaScript already uses such strings, DOMString is mapped directly to a String.") which specifies how the cell\'s context should be aligned horizontally within the cells in the row; this is shorthand for using `align` on every cell in the row individually. Possible values are:\n\n`left`\n\nAlign the content of each cell at its left edge.\n\n`center`\n\nCenter the contents of each cell between their left and right edges.\n\n`right`\n\nAlign the content of each cell at its right edge.\n\n`justify`\n\nWiden whitespaces within the text of each cell so that the text fills the full width of each cell (full justification).\n\n`char`\n\nAlign each cell in the row on a specific character (such that each row in the column that is configured this way will horizontally align its cells on that character). This uses the [`char`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/tr#attr-char) and [`charoff`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/tr#attr-charoff) to establish the alignment character (typically "." or "," when aligning numerical data) and the number of characters that should follow the alignment character. This alignment type was never widely supported.\n\nIf no value is expressly set for `align`, the parent node\'s value is inherited.\n\nInstead of using the obsolete `align` attribute, you should instead use the CSS [`text-align`](https://developer.mozilla.org/en-US/docs/Web/CSS/text-align "The text-align CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like vertical-align but in the horizontal direction.") property to establish `left`, `center`, `right`, or `justify` alignment for the row\'s cells. To apply character-based alignment, set the CSS [`text-align`](https://developer.mozilla.org/en-US/docs/Web/CSS/text-align "The text-align CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like vertical-align but in the horizontal direction.") property to the alignment character (such as `"."` or `","`).', + }, + ], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/HTML/Element/tr', + }, + ], + }, + { + name: 'td', + description: { + kind: 'markdown', + value: 'The td element represents a data cell in a table.', + }, + attributes: [ + { name: 'colspan' }, + { name: 'rowspan' }, + { name: 'headers' }, + { + name: 'abbr', + description: + "This attribute contains a short abbreviated description of the cell's content. Some user-agents, such as speech readers, may present this description before the content itself.\n\n**Note:** Do not use this attribute as it is obsolete in the latest standard. Alternatively, you can put the abbreviated description inside the cell and place the long content in the **title** attribute.", + }, + { + name: 'align', + description: + 'This enumerated attribute specifies how the cell content\'s horizontal alignment will be handled. Possible values are:\n\n* `left`: The content is aligned to the left of the cell.\n* `center`: The content is centered in the cell.\n* `right`: The content is aligned to the right of the cell.\n* `justify` (with text only): The content is stretched out inside the cell so that it covers its entire width.\n* `char` (with text only): The content is aligned to a character inside the `<th>` element with minimal offset. This character is defined by the [`char`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/td#attr-char) and [`charoff`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/td#attr-charoff) attributes Unimplemented (see [bug 2212](https://bugzilla.mozilla.org/show_bug.cgi?id=2212 "character alignment not implemented (align=char, charoff=, text-align:<string>)")).\n\nThe default value when this attribute is not specified is `left`.\n\n**Note:** Do not use this attribute as it is obsolete in the latest standard.\n\n* To achieve the same effect as the `left`, `center`, `right` or `justify` values, apply the CSS [`text-align`](https://developer.mozilla.org/en-US/docs/Web/CSS/text-align "The text-align CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like vertical-align but in the horizontal direction.") property to the element.\n* To achieve the same effect as the `char` value, give the [`text-align`](https://developer.mozilla.org/en-US/docs/Web/CSS/text-align "The text-align CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like vertical-align but in the horizontal direction.") property the same value you would use for the [`char`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/td#attr-char). Unimplemented in CSS3.', + }, + { + name: 'axis', + description: + 'This attribute contains a list of space-separated strings. Each string is the `id` of a group of cells that this header applies to.\n\n**Note:** Do not use this attribute as it is obsolete in the latest standard.', + }, + { + name: 'bgcolor', + description: + 'This attribute defines the background color of each cell in a column. It consists of a 6-digit hexadecimal code as defined in [sRGB](https://www.w3.org/Graphics/Color/sRGB) and is prefixed by \'#\'. This attribute may be used with one of sixteen predefined color strings:\n\n \n\n`black` = "#000000"\n\n \n\n`green` = "#008000"\n\n \n\n`silver` = "#C0C0C0"\n\n \n\n`lime` = "#00FF00"\n\n \n\n`gray` = "#808080"\n\n \n\n`olive` = "#808000"\n\n \n\n`white` = "#FFFFFF"\n\n \n\n`yellow` = "#FFFF00"\n\n \n\n`maroon` = "#800000"\n\n \n\n`navy` = "#000080"\n\n \n\n`red` = "#FF0000"\n\n \n\n`blue` = "#0000FF"\n\n \n\n`purple` = "#800080"\n\n \n\n`teal` = "#008080"\n\n \n\n`fuchsia` = "#FF00FF"\n\n \n\n`aqua` = "#00FFFF"\n\n**Note:** Do not use this attribute, as it is non-standard and only implemented in some versions of Microsoft Internet Explorer: The [`<td>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/td "The HTML <td> element defines a cell of a table that contains data. It participates in the table model.") element should be styled using [CSS](https://developer.mozilla.org/en-US/docs/CSS). To create a similar effect use the [`background-color`](https://developer.mozilla.org/en-US/docs/Web/CSS/background-color "The background-color CSS property sets the background color of an element.") property in [CSS](https://developer.mozilla.org/en-US/docs/CSS) instead.', + }, + ], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/HTML/Element/td', + }, + ], + }, + { + name: 'th', + description: { + kind: 'markdown', + value: 'The th element represents a header cell in a table.', + }, + attributes: [ + { name: 'colspan' }, + { name: 'rowspan' }, + { name: 'headers' }, + { name: 'scope', valueSet: 's' }, + { name: 'sorted' }, + { + name: 'abbr', + description: { + kind: 'markdown', + value: + "This attribute contains a short abbreviated description of the cell's content. Some user-agents, such as speech readers, may present this description before the content itself.", + }, + }, + { + name: 'align', + description: + 'This enumerated attribute specifies how the cell content\'s horizontal alignment will be handled. Possible values are:\n\n* `left`: The content is aligned to the left of the cell.\n* `center`: The content is centered in the cell.\n* `right`: The content is aligned to the right of the cell.\n* `justify` (with text only): The content is stretched out inside the cell so that it covers its entire width.\n* `char` (with text only): The content is aligned to a character inside the `<th>` element with minimal offset. This character is defined by the [`char`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/th#attr-char) and [`charoff`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/th#attr-charoff) attributes.\n\nThe default value when this attribute is not specified is `left`.\n\n**Note:** Do not use this attribute as it is obsolete in the latest standard.\n\n* To achieve the same effect as the `left`, `center`, `right` or `justify` values, apply the CSS [`text-align`](https://developer.mozilla.org/en-US/docs/Web/CSS/text-align "The text-align CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like vertical-align but in the horizontal direction.") property to the element.\n* To achieve the same effect as the `char` value, give the [`text-align`](https://developer.mozilla.org/en-US/docs/Web/CSS/text-align "The text-align CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like vertical-align but in the horizontal direction.") property the same value you would use for the [`char`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/th#attr-char). Unimplemented in CSS3.', + }, + { + name: 'axis', + description: + 'This attribute contains a list of space-separated strings. Each string is the `id` of a group of cells that this header applies to.\n\n**Note:** Do not use this attribute as it is obsolete in the latest standard: use the [`scope`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/th#attr-scope) attribute instead.', + }, + { + name: 'bgcolor', + description: + 'This attribute defines the background color of each cell in a column. It consists of a 6-digit hexadecimal code as defined in [sRGB](https://www.w3.org/Graphics/Color/sRGB) and is prefixed by \'#\'. This attribute may be used with one of sixteen predefined color strings:\n\n \n\n`black` = "#000000"\n\n \n\n`green` = "#008000"\n\n \n\n`silver` = "#C0C0C0"\n\n \n\n`lime` = "#00FF00"\n\n \n\n`gray` = "#808080"\n\n \n\n`olive` = "#808000"\n\n \n\n`white` = "#FFFFFF"\n\n \n\n`yellow` = "#FFFF00"\n\n \n\n`maroon` = "#800000"\n\n \n\n`navy` = "#000080"\n\n \n\n`red` = "#FF0000"\n\n \n\n`blue` = "#0000FF"\n\n \n\n`purple` = "#800080"\n\n \n\n`teal` = "#008080"\n\n \n\n`fuchsia` = "#FF00FF"\n\n \n\n`aqua` = "#00FFFF"\n\n**Note:** Do not use this attribute, as it is non-standard and only implemented in some versions of Microsoft Internet Explorer: The [`<th>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/th "The HTML <th> element defines a cell as header of a group of table cells. The exact nature of this group is defined by the scope and headers attributes.") element should be styled using [CSS](https://developer.mozilla.org/en-US/docs/Web/CSS). To create a similar effect use the [`background-color`](https://developer.mozilla.org/en-US/docs/Web/CSS/background-color "The background-color CSS property sets the background color of an element.") property in [CSS](https://developer.mozilla.org/en-US/docs/Web/CSS) instead.', + }, + ], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/HTML/Element/th', + }, + ], + }, + { + name: 'form', + description: { + kind: 'markdown', + value: + 'The form element represents a collection of form-associated elements, some of which can represent editable values that can be submitted to a server for processing.', + }, + attributes: [ + { + name: 'accept-charset', + description: { + kind: 'markdown', + value: + 'A space- or comma-delimited list of character encodings that the server accepts. The browser uses them in the order in which they are listed. The default value, the reserved string `"UNKNOWN"`, indicates the same encoding as that of the document containing the form element. \nIn previous versions of HTML, the different character encodings could be delimited by spaces or commas. In HTML5, only spaces are allowed as delimiters.', + }, + }, + { + name: 'action', + description: { + kind: 'markdown', + value: + 'The URI of a program that processes the form information. This value can be overridden by a [`formaction`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#attr-formaction) attribute on a [`<button>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button "The HTML <button> element represents a clickable button, which can be used in forms or anywhere in a document that needs simple, standard button functionality.") or [`<input>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input "The HTML <input> element is used to create interactive controls for web-based forms in order to accept data from the user; a wide variety of types of input data and control widgets are available, depending on the device and user agent.") element.', + }, + }, + { + name: 'autocomplete', + valueSet: 'o', + description: { + kind: 'markdown', + value: + "Indicates whether input elements can by default have their values automatically completed by the browser. This setting can be overridden by an `autocomplete` attribute on an element belonging to the form. Possible values are:\n\n* `off`: The user must explicitly enter a value into each field for every use, or the document provides its own auto-completion method; the browser does not automatically complete entries.\n* `on`: The browser can automatically complete values based on values that the user has previously entered in the form.\n\nFor most modern browsers (including Firefox 38+, Google Chrome 34+, IE 11+) setting the autocomplete attribute will not prevent a browser's password manager from asking the user if they want to store login fields (username and password), if the user permits the storage the browser will autofill the login the next time the user visits the page. See [The autocomplete attribute and login fields](https://developer.mozilla.org/en-US/docs/Web/Security/Securing_your_site/Turning_off_form_autocompletion#The_autocomplete_attribute_and_login_fields).", + }, + }, + { + name: 'enctype', + valueSet: 'et', + description: { + kind: 'markdown', + value: + 'When the value of the `method` attribute is `post`, enctype is the [MIME type](https://en.wikipedia.org/wiki/Mime_type) of content that is used to submit the form to the server. Possible values are:\n\n* `application/x-www-form-urlencoded`: The default value if the attribute is not specified.\n* `multipart/form-data`: The value used for an [`<input>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input "The HTML <input> element is used to create interactive controls for web-based forms in order to accept data from the user; a wide variety of types of input data and control widgets are available, depending on the device and user agent.") element with the `type` attribute set to "file".\n* `text/plain`: (HTML5)\n\nThis value can be overridden by a [`formenctype`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#attr-formenctype) attribute on a [`<button>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button "The HTML <button> element represents a clickable button, which can be used in forms or anywhere in a document that needs simple, standard button functionality.") or [`<input>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input "The HTML <input> element is used to create interactive controls for web-based forms in order to accept data from the user; a wide variety of types of input data and control widgets are available, depending on the device and user agent.") element.', + }, + }, + { + name: 'method', + valueSet: 'm', + description: { + kind: 'markdown', + value: + 'The [HTTP](https://developer.mozilla.org/en-US/docs/Web/HTTP) method that the browser uses to submit the form. Possible values are:\n\n* `post`: Corresponds to the HTTP [POST method](https://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.5) ; form data are included in the body of the form and sent to the server.\n* `get`: Corresponds to the HTTP [GET method](https://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.3); form data are appended to the `action` attribute URI with a \'?\' as separator, and the resulting URI is sent to the server. Use this method when the form has no side-effects and contains only ASCII characters.\n* `dialog`: Use when the form is inside a [`<dialog>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/dialog "The HTML <dialog> element represents a dialog box or other interactive component, such as an inspector or window.") element to close the dialog when submitted.\n\nThis value can be overridden by a [`formmethod`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#attr-formmethod) attribute on a [`<button>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button "The HTML <button> element represents a clickable button, which can be used in forms or anywhere in a document that needs simple, standard button functionality.") or [`<input>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input "The HTML <input> element is used to create interactive controls for web-based forms in order to accept data from the user; a wide variety of types of input data and control widgets are available, depending on the device and user agent.") element.', + }, + }, + { + name: 'name', + description: { + kind: 'markdown', + value: + 'The name of the form. In HTML 4, its use is deprecated (`id` should be used instead). It must be unique among the forms in a document and not just an empty string in HTML 5.', + }, + }, + { + name: 'novalidate', + valueSet: 'v', + description: { + kind: 'markdown', + value: + 'This Boolean attribute indicates that the form is not to be validated when submitted. If this attribute is not specified (and therefore the form is validated), this default setting can be overridden by a [`formnovalidate`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#attr-formnovalidate) attribute on a [`<button>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button "The HTML <button> element represents a clickable button, which can be used in forms or anywhere in a document that needs simple, standard button functionality.") or [`<input>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input "The HTML <input> element is used to create interactive controls for web-based forms in order to accept data from the user; a wide variety of types of input data and control widgets are available, depending on the device and user agent.") element belonging to the form.', + }, + }, + { + name: 'target', + description: { + kind: 'markdown', + value: + 'A name or keyword indicating where to display the response that is received after submitting the form. In HTML 4, this is the name/keyword for a frame. In HTML5, it is a name/keyword for a _browsing context_ (for example, tab, window, or inline frame). The following keywords have special meanings:\n\n* `_self`: Load the response into the same HTML 4 frame (or HTML5 browsing context) as the current one. This value is the default if the attribute is not specified.\n* `_blank`: Load the response into a new unnamed HTML 4 window or HTML5 browsing context.\n* `_parent`: Load the response into the HTML 4 frameset parent of the current frame, or HTML5 parent browsing context of the current one. If there is no parent, this option behaves the same way as `_self`.\n* `_top`: HTML 4: Load the response into the full original window, and cancel all other frames. HTML5: Load the response into the top-level browsing context (i.e., the browsing context that is an ancestor of the current one, and has no parent). If there is no parent, this option behaves the same way as `_self`.\n* _iframename_: The response is displayed in a named [`<iframe>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe "The HTML Inline Frame element (<iframe>) represents a nested browsing context, embedding another HTML page into the current one.").\n\nHTML5: This value can be overridden by a [`formtarget`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#attr-formtarget) attribute on a [`<button>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button "The HTML <button> element represents a clickable button, which can be used in forms or anywhere in a document that needs simple, standard button functionality.") or [`<input>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input "The HTML <input> element is used to create interactive controls for web-based forms in order to accept data from the user; a wide variety of types of input data and control widgets are available, depending on the device and user agent.") element.', + }, + }, + { + name: 'accept', + description: + 'A comma-separated list of content types that the server accepts.\n\n**Usage note:** This attribute has been removed in HTML5 and should no longer be used. Instead, use the [`accept`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#attr-accept) attribute of the specific [`<input>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input "The HTML <input> element is used to create interactive controls for web-based forms in order to accept data from the user; a wide variety of types of input data and control widgets are available, depending on the device and user agent.") element.', + }, + { + name: 'autocapitalize', + description: + 'This is a nonstandard attribute used by iOS Safari Mobile which controls whether and how the text value for textual form control descendants should be automatically capitalized as it is entered/edited by the user. If the `autocapitalize` attribute is specified on an individual form control descendant, it trumps the form-wide `autocapitalize` setting. The non-deprecated values are available in iOS 5 and later. The default value is `sentences`. Possible values are:\n\n* `none`: Completely disables automatic capitalization\n* `sentences`: Automatically capitalize the first letter of sentences.\n* `words`: Automatically capitalize the first letter of words.\n* `characters`: Automatically capitalize all characters.\n* `on`: Deprecated since iOS 5.\n* `off`: Deprecated since iOS 5.', + }, + ], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/HTML/Element/form', + }, + ], + }, + { + name: 'label', + description: { + kind: 'markdown', + value: + "The label element represents a caption in a user interface. The caption can be associated with a specific form control, known as the label element's labeled control, either using the for attribute, or by putting the form control inside the label element itself.", + }, + attributes: [ + { + name: 'form', + description: { + kind: 'markdown', + value: + 'The [`<form>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form "The HTML <form> element represents a document section that contains interactive controls for submitting information to a web server.") element with which the label is associated (its _form owner_). If specified, the value of the attribute is the `id` of a [`<form>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form "The HTML <form> element represents a document section that contains interactive controls for submitting information to a web server.") element in the same document. This lets you place label elements anywhere within a document, not just as descendants of their form elements.', + }, + }, + { + name: 'for', + description: { + kind: 'markdown', + value: + 'The [`id`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes#attr-id) of a [labelable](https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Content_categories#Form_labelable) form-related element in the same document as the `<label>` element. The first element in the document with an `id` matching the value of the `for` attribute is the _labeled control_ for this label element, if it is a labelable element. If it is not labelable then the `for` attribute has no effect. If there are other elements which also match the `id` value, later in the document, they are not considered.\n\n**Note**: A `<label>` element can have both a `for` attribute and a contained control element, as long as the `for` attribute points to the contained control element.', + }, + }, + ], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/HTML/Element/label', + }, + ], + }, + { + name: 'input', + description: { + kind: 'markdown', + value: + 'The input element represents a typed data field, usually with a form control to allow the user to edit the data.', + }, + attributes: [ + { name: 'accept' }, + { name: 'alt' }, + { name: 'autocomplete', valueSet: 'inputautocomplete' }, + { name: 'autofocus', valueSet: 'v' }, + { name: 'checked', valueSet: 'v' }, + { name: 'dirname' }, + { name: 'disabled', valueSet: 'v' }, + { name: 'form' }, + { name: 'formaction' }, + { name: 'formenctype', valueSet: 'et' }, + { name: 'formmethod', valueSet: 'fm' }, + { name: 'formnovalidate', valueSet: 'v' }, + { name: 'formtarget' }, + { name: 'height' }, + { name: 'inputmode', valueSet: 'im' }, + { name: 'list' }, + { name: 'max' }, + { name: 'maxlength' }, + { name: 'min' }, + { name: 'minlength' }, + { name: 'multiple', valueSet: 'v' }, + { name: 'name' }, + { name: 'pattern' }, + { name: 'placeholder' }, + { name: 'readonly', valueSet: 'v' }, + { name: 'required', valueSet: 'v' }, + { name: 'size' }, + { name: 'src' }, + { name: 'step' }, + { name: 'type', valueSet: 't' }, + { name: 'value' }, + { name: 'width' }, + ], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/HTML/Element/input', + }, + ], + }, + { + name: 'button', + description: { + kind: 'markdown', + value: + 'The button element represents a button labeled by its contents.', + }, + attributes: [ + { + name: 'autofocus', + valueSet: 'v', + description: { + kind: 'markdown', + value: + 'This Boolean attribute lets you specify that the button should have input focus when the page loads, unless the user overrides it, for example by typing in a different control. Only one form-associated element in a document can have this attribute specified.', + }, + }, + { + name: 'disabled', + valueSet: 'v', + description: { + kind: 'markdown', + value: + 'This Boolean attribute indicates that the user cannot interact with the button. If this attribute is not specified, the button inherits its setting from the containing element, for example [`<fieldset>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/fieldset "The HTML <fieldset> element is used to group several controls as well as labels (<label>) within a web form."); if there is no containing element with the **disabled** attribute set, then the button is enabled.\n\nFirefox will, unlike other browsers, by default, [persist the dynamic disabled state](https://stackoverflow.com/questions/5985839/bug-with-firefox-disabled-attribute-of-input-not-resetting-when-refreshing) of a [`<button>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button "The HTML <button> element represents a clickable button, which can be used in forms or anywhere in a document that needs simple, standard button functionality.") across page loads. Use the [`autocomplete`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#attr-autocomplete) attribute to control this feature.', + }, + }, + { + name: 'form', + description: { + kind: 'markdown', + value: + 'The form element that the button is associated with (its _form owner_). The value of the attribute must be the **id** attribute of a [`<form>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form "The HTML <form> element represents a document section that contains interactive controls for submitting information to a web server.") element in the same document. If this attribute is not specified, the `<button>` element will be associated to an ancestor [`<form>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form "The HTML <form> element represents a document section that contains interactive controls for submitting information to a web server.") element, if one exists. This attribute enables you to associate `<button>` elements to [`<form>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form "The HTML <form> element represents a document section that contains interactive controls for submitting information to a web server.") elements anywhere within a document, not just as descendants of [`<form>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form "The HTML <form> element represents a document section that contains interactive controls for submitting information to a web server.") elements.', + }, + }, + { + name: 'formaction', + description: { + kind: 'markdown', + value: + "The URI of a program that processes the information submitted by the button. If specified, it overrides the [`action`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form#attr-action) attribute of the button's form owner.", + }, + }, + { + name: 'formenctype', + valueSet: 'et', + description: { + kind: 'markdown', + value: + 'If the button is a submit button, this attribute specifies the type of content that is used to submit the form to the server. Possible values are:\n\n* `application/x-www-form-urlencoded`: The default value if the attribute is not specified.\n* `multipart/form-data`: Use this value if you are using an [`<input>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input "The HTML <input> element is used to create interactive controls for web-based forms in order to accept data from the user; a wide variety of types of input data and control widgets are available, depending on the device and user agent.") element with the [`type`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#attr-type) attribute set to `file`.\n* `text/plain`\n\nIf this attribute is specified, it overrides the [`enctype`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form#attr-enctype) attribute of the button\'s form owner.', + }, + }, + { + name: 'formmethod', + valueSet: 'fm', + description: { + kind: 'markdown', + value: + "If the button is a submit button, this attribute specifies the HTTP method that the browser uses to submit the form. Possible values are:\n\n* `post`: The data from the form are included in the body of the form and sent to the server.\n* `get`: The data from the form are appended to the **form** attribute URI, with a '?' as a separator, and the resulting URI is sent to the server. Use this method when the form has no side-effects and contains only ASCII characters.\n\nIf specified, this attribute overrides the [`method`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form#attr-method) attribute of the button's form owner.", + }, + }, + { + name: 'formnovalidate', + valueSet: 'v', + description: { + kind: 'markdown', + value: + "If the button is a submit button, this Boolean attribute specifies that the form is not to be validated when it is submitted. If this attribute is specified, it overrides the [`novalidate`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form#attr-novalidate) attribute of the button's form owner.", + }, + }, + { + name: 'formtarget', + description: { + kind: 'markdown', + value: + "If the button is a submit button, this attribute is a name or keyword indicating where to display the response that is received after submitting the form. This is a name of, or keyword for, a _browsing context_ (for example, tab, window, or inline frame). If this attribute is specified, it overrides the [`target`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form#attr-target) attribute of the button's form owner. The following keywords have special meanings:\n\n* `_self`: Load the response into the same browsing context as the current one. This value is the default if the attribute is not specified.\n* `_blank`: Load the response into a new unnamed browsing context.\n* `_parent`: Load the response into the parent browsing context of the current one. If there is no parent, this option behaves the same way as `_self`.\n* `_top`: Load the response into the top-level browsing context (that is, the browsing context that is an ancestor of the current one, and has no parent). If there is no parent, this option behaves the same way as `_self`.", + }, + }, + { + name: 'name', + description: { + kind: 'markdown', + value: + 'The name of the button, which is submitted with the form data.', + }, + }, + { + name: 'type', + valueSet: 'bt', + description: { + kind: 'markdown', + value: + "The type of the button. Possible values are:\n\n* `submit`: The button submits the form data to the server. This is the default if the attribute is not specified, or if the attribute is dynamically changed to an empty or invalid value.\n* `reset`: The button resets all the controls to their initial values.\n* `button`: The button has no default behavior. It can have client-side scripts associated with the element's events, which are triggered when the events occur.", + }, + }, + { + name: 'value', + description: { + kind: 'markdown', + value: + 'The initial value of the button. It defines the value associated with the button which is submitted with the form data. This value is passed to the server in params when the form is submitted.', + }, + }, + { + name: 'autocomplete', + description: + 'The use of this attribute on a [`<button>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button "The HTML <button> element represents a clickable button, which can be used in forms or anywhere in a document that needs simple, standard button functionality.") is nonstandard and Firefox-specific. By default, unlike other browsers, [Firefox persists the dynamic disabled state](https://stackoverflow.com/questions/5985839/bug-with-firefox-disabled-attribute-of-input-not-resetting-when-refreshing) of a [`<button>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button "The HTML <button> element represents a clickable button, which can be used in forms or anywhere in a document that needs simple, standard button functionality.") across page loads. Setting the value of this attribute to `off` (i.e. `autocomplete="off"`) disables this feature. See [bug 654072](https://bugzilla.mozilla.org/show_bug.cgi?id=654072 "if disabled state is changed with javascript, the normal state doesn\'t return after refreshing the page").', + }, + ], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/HTML/Element/button', + }, + ], + }, + { + name: 'select', + description: { + kind: 'markdown', + value: + 'The select element represents a control for selecting amongst a set of options.', + }, + attributes: [ + { + name: 'autocomplete', + valueSet: 'inputautocomplete', + description: { + kind: 'markdown', + value: + 'A [`DOMString`](https://developer.mozilla.org/en-US/docs/Web/API/DOMString "DOMString is a UTF-16 String. As JavaScript already uses such strings, DOMString is mapped directly to a String.") providing a hint for a [user agent\'s](https://developer.mozilla.org/en-US/docs/Glossary/user_agent "user agent\'s: A user agent is a computer program representing a person, for example, a browser in a Web context.") autocomplete feature. See [The HTML autocomplete attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete) for a complete list of values and details on how to use autocomplete.', + }, + }, + { + name: 'autofocus', + valueSet: 'v', + description: { + kind: 'markdown', + value: + 'This Boolean attribute lets you specify that a form control should have input focus when the page loads. Only one form element in a document can have the `autofocus` attribute.', + }, + }, + { + name: 'disabled', + valueSet: 'v', + description: { + kind: 'markdown', + value: + 'This Boolean attribute indicates that the user cannot interact with the control. If this attribute is not specified, the control inherits its setting from the containing element, for example `fieldset`; if there is no containing element with the `disabled` attribute set, then the control is enabled.', + }, + }, + { + name: 'form', + description: { + kind: 'markdown', + value: + 'This attribute lets you specify the form element to which the select element is associated (that is, its "form owner"). If this attribute is specified, its value must be the same as the `id` of a form element in the same document. This enables you to place select elements anywhere within a document, not just as descendants of their form elements.', + }, + }, + { + name: 'multiple', + valueSet: 'v', + description: { + kind: 'markdown', + value: + 'This Boolean attribute indicates that multiple options can be selected in the list. If it is not specified, then only one option can be selected at a time. When `multiple` is specified, most browsers will show a scrolling list box instead of a single line dropdown.', + }, + }, + { + name: 'name', + description: { + kind: 'markdown', + value: + 'This attribute is used to specify the name of the control.', + }, + }, + { + name: 'required', + valueSet: 'v', + description: { + kind: 'markdown', + value: + 'A Boolean attribute indicating that an option with a non-empty string value must be selected.', + }, + }, + { + name: 'size', + description: { + kind: 'markdown', + value: + 'If the control is presented as a scrolling list box (e.g. when `multiple` is specified), this attribute represents the number of rows in the list that should be visible at one time. Browsers are not required to present a select element as a scrolled list box. The default value is 0.\n\n**Note:** According to the HTML5 specification, the default value for size should be 1; however, in practice, this has been found to break some web sites, and no other browser currently does that, so Mozilla has opted to continue to return 0 for the time being with Firefox.', + }, + }, + ], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/HTML/Element/select', + }, + ], + }, + { + name: 'datalist', + description: { + kind: 'markdown', + value: + 'The datalist element represents a set of option elements that represent predefined options for other controls. In the rendering, the datalist element represents nothing and it, along with its children, should be hidden.', + }, + attributes: [], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/HTML/Element/datalist', + }, + ], + }, + { + name: 'optgroup', + description: { + kind: 'markdown', + value: + 'The optgroup element represents a group of option elements with a common label.', + }, + attributes: [ + { + name: 'disabled', + valueSet: 'v', + description: { + kind: 'markdown', + value: + "If this Boolean attribute is set, none of the items in this option group is selectable. Often browsers grey out such control and it won't receive any browsing events, like mouse clicks or focus-related ones.", + }, + }, + { + name: 'label', + description: { + kind: 'markdown', + value: + 'The name of the group of options, which the browser can use when labeling the options in the user interface. This attribute is mandatory if this element is used.', + }, + }, + ], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/HTML/Element/optgroup', + }, + ], + }, + { + name: 'option', + description: { + kind: 'markdown', + value: + 'The option element represents an option in a select element or as part of a list of suggestions in a datalist element.', + }, + attributes: [ + { + name: 'disabled', + valueSet: 'v', + description: { + kind: 'markdown', + value: + 'If this Boolean attribute is set, this option is not checkable. Often browsers grey out such control and it won\'t receive any browsing event, like mouse clicks or focus-related ones. If this attribute is not set, the element can still be disabled if one of its ancestors is a disabled [`<optgroup>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/optgroup "The HTML <optgroup> element creates a grouping of options within a <select> element.") element.', + }, + }, + { + name: 'label', + description: { + kind: 'markdown', + value: + "This attribute is text for the label indicating the meaning of the option. If the `label` attribute isn't defined, its value is that of the element text content.", + }, + }, + { + name: 'selected', + valueSet: 'v', + description: { + kind: 'markdown', + value: + 'If present, this Boolean attribute indicates that the option is initially selected. If the `<option>` element is the descendant of a [`<select>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select "The HTML <select> element represents a control that provides a menu of options") element whose [`multiple`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select#attr-multiple) attribute is not set, only one single `<option>` of this [`<select>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select "The HTML <select> element represents a control that provides a menu of options") element may have the `selected` attribute.', + }, + }, + { + name: 'value', + description: { + kind: 'markdown', + value: + 'The content of this attribute represents the value to be submitted with the form, should this option be selected. If this attribute is omitted, the value is taken from the text content of the option element.', + }, + }, + ], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/HTML/Element/option', + }, + ], + }, + { + name: 'textarea', + description: { + kind: 'markdown', + value: + "The textarea element represents a multiline plain text edit control for the element's raw value. The contents of the control represent the control's default value.", + }, + attributes: [ + { + name: 'autocomplete', + valueSet: 'inputautocomplete', + description: { + kind: 'markdown', + value: + 'This attribute indicates whether the value of the control can be automatically completed by the browser. Possible values are:\n\n* `off`: The user must explicitly enter a value into this field for every use, or the document provides its own auto-completion method; the browser does not automatically complete the entry.\n* `on`: The browser can automatically complete the value based on values that the user has entered during previous uses.\n\nIf the `autocomplete` attribute is not specified on a `<textarea>` element, then the browser uses the `autocomplete` attribute value of the `<textarea>` element\'s form owner. The form owner is either the [`<form>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form "The HTML <form> element represents a document section that contains interactive controls for submitting information to a web server.") element that this `<textarea>` element is a descendant of or the form element whose `id` is specified by the `form` attribute of the input element. For more information, see the [`autocomplete`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form#attr-autocomplete) attribute in [`<form>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form "The HTML <form> element represents a document section that contains interactive controls for submitting information to a web server.").', + }, + }, + { + name: 'autofocus', + valueSet: 'v', + description: { + kind: 'markdown', + value: + 'This Boolean attribute lets you specify that a form control should have input focus when the page loads. Only one form-associated element in a document can have this attribute specified.', + }, + }, + { + name: 'cols', + description: { + kind: 'markdown', + value: + 'The visible width of the text control, in average character widths. If it is specified, it must be a positive integer. If it is not specified, the default value is `20`.', + }, + }, + { name: 'dirname' }, + { + name: 'disabled', + valueSet: 'v', + description: { + kind: 'markdown', + value: + 'This Boolean attribute indicates that the user cannot interact with the control. If this attribute is not specified, the control inherits its setting from the containing element, for example [`<fieldset>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/fieldset "The HTML <fieldset> element is used to group several controls as well as labels (<label>) within a web form."); if there is no containing element when the `disabled` attribute is set, the control is enabled.', + }, + }, + { + name: 'form', + description: { + kind: 'markdown', + value: + 'The form element that the `<textarea>` element is associated with (its "form owner"). The value of the attribute must be the `id` of a form element in the same document. If this attribute is not specified, the `<textarea>` element must be a descendant of a form element. This attribute enables you to place `<textarea>` elements anywhere within a document, not just as descendants of form elements.', + }, + }, + { name: 'inputmode', valueSet: 'im' }, + { + name: 'maxlength', + description: { + kind: 'markdown', + value: + "The maximum number of characters (unicode code points) that the user can enter. If this value isn't specified, the user can enter an unlimited number of characters.", + }, + }, + { + name: 'minlength', + description: { + kind: 'markdown', + value: + 'The minimum number of characters (unicode code points) required that the user should enter.', + }, + }, + { + name: 'name', + description: { + kind: 'markdown', + value: 'The name of the control.', + }, + }, + { + name: 'placeholder', + description: { + kind: 'markdown', + value: + 'A hint to the user of what can be entered in the control. Carriage returns or line-feeds within the placeholder text must be treated as line breaks when rendering the hint.\n\n**Note:** Placeholders should only be used to show an example of the type of data that should be entered into a form; they are _not_ a substitute for a proper [`<label>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/label "The HTML <label> element represents a caption for an item in a user interface.") element tied to the input. See [Labels and placeholders](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Labels_and_placeholders "The HTML <input> element is used to create interactive controls for web-based forms in order to accept data from the user; a wide variety of types of input data and control widgets are available, depending on the device and user agent.") in [<input>: The Input (Form Input) element](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input "The HTML <input> element is used to create interactive controls for web-based forms in order to accept data from the user; a wide variety of types of input data and control widgets are available, depending on the device and user agent.") for a full explanation.', + }, + }, + { + name: 'readonly', + valueSet: 'v', + description: { + kind: 'markdown', + value: + 'This Boolean attribute indicates that the user cannot modify the value of the control. Unlike the `disabled` attribute, the `readonly` attribute does not prevent the user from clicking or selecting in the control. The value of a read-only control is still submitted with the form.', + }, + }, + { + name: 'required', + valueSet: 'v', + description: { + kind: 'markdown', + value: + 'This attribute specifies that the user must fill in a value before submitting a form.', + }, + }, + { + name: 'rows', + description: { + kind: 'markdown', + value: 'The number of visible text lines for the control.', + }, + }, + { + name: 'wrap', + valueSet: 'w', + description: { + kind: 'markdown', + value: + 'Indicates how the control wraps text. Possible values are:\n\n* `hard`: The browser automatically inserts line breaks (CR+LF) so that each line has no more than the width of the control; the `cols` attribute must also be specified for this to take effect.\n* `soft`: The browser ensures that all line breaks in the value consist of a CR+LF pair, but does not insert any additional line breaks.\n* `off` : Like `soft` but changes appearance to `white-space: pre` so line segments exceeding `cols` are not wrapped and the `<textarea>` becomes horizontally scrollable.\n\nIf this attribute is not specified, `soft` is its default value.', + }, + }, + { + name: 'autocapitalize', + description: + 'This is a non-standard attribute supported by WebKit on iOS (therefore nearly all browsers running on iOS, including Safari, Firefox, and Chrome), which controls whether and how the text value should be automatically capitalized as it is entered/edited by the user. The non-deprecated values are available in iOS 5 and later. Possible values are:\n\n* `none`: Completely disables automatic capitalization.\n* `sentences`: Automatically capitalize the first letter of sentences.\n* `words`: Automatically capitalize the first letter of words.\n* `characters`: Automatically capitalize all characters.\n* `on`: Deprecated since iOS 5.\n* `off`: Deprecated since iOS 5.', + }, + { + name: 'spellcheck', + description: + "Specifies whether the `<textarea>` is subject to spell checking by the underlying browser/OS. the value can be:\n\n* `true`: Indicates that the element needs to have its spelling and grammar checked.\n* `default` : Indicates that the element is to act according to a default behavior, possibly based on the parent element's own `spellcheck` value.\n* `false` : Indicates that the element should not be spell checked.", + }, + ], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/HTML/Element/textarea', + }, + ], + }, + { + name: 'output', + description: { + kind: 'markdown', + value: + 'The output element represents the result of a calculation performed by the application, or the result of a user action.', + }, + attributes: [ + { + name: 'for', + description: { + kind: 'markdown', + value: + 'A space-separated list of other elements’ [`id`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/id)s, indicating that those elements contributed input values to (or otherwise affected) the calculation.', + }, + }, + { + name: 'form', + description: { + kind: 'markdown', + value: + 'The [form element](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form) that this element is associated with (its "form owner"). The value of the attribute must be an `id` of a form element in the same document. If this attribute is not specified, the output element must be a descendant of a form element. This attribute enables you to place output elements anywhere within a document, not just as descendants of their form elements.', + }, + }, + { + name: 'name', + description: { + kind: 'markdown', + value: + 'The name of the element, exposed in the [`HTMLFormElement`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormElement "The HTMLFormElement interface represents a <form> element in the DOM; it allows access to and in some cases modification of aspects of the form, as well as access to its component elements.") API.', + }, + }, + ], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/HTML/Element/output', + }, + ], + }, + { + name: 'progress', + description: { + kind: 'markdown', + value: + 'The progress element represents the completion progress of a task. The progress is either indeterminate, indicating that progress is being made but that it is not clear how much more work remains to be done before the task is complete (e.g. because the task is waiting for a remote host to respond), or the progress is a number in the range zero to a maximum, giving the fraction of work that has so far been completed.', + }, + attributes: [ + { + name: 'value', + description: { + kind: 'markdown', + value: + 'This attribute specifies how much of the task that has been completed. It must be a valid floating point number between 0 and `max`, or between 0 and 1 if `max` is omitted. If there is no `value` attribute, the progress bar is indeterminate; this indicates that an activity is ongoing with no indication of how long it is expected to take.', + }, + }, + { + name: 'max', + description: { + kind: 'markdown', + value: + 'This attribute describes how much work the task indicated by the `progress` element requires. The `max` attribute, if present, must have a value greater than zero and be a valid floating point number. The default value is 1.', + }, + }, + ], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/HTML/Element/progress', + }, + ], + }, + { + name: 'meter', + description: { + kind: 'markdown', + value: + 'The meter element represents a scalar measurement within a known range, or a fractional value; for example disk usage, the relevance of a query result, or the fraction of a voting population to have selected a particular candidate.', + }, + attributes: [ + { + name: 'value', + description: { + kind: 'markdown', + value: + "The current numeric value. This must be between the minimum and maximum values (`min` attribute and `max` attribute) if they are specified. If unspecified or malformed, the value is 0. If specified, but not within the range given by the `min` attribute and `max` attribute, the value is equal to the nearest end of the range.\n\n**Usage note:** Unless the `value` attribute is between `0` and `1` (inclusive), the `min` and `max` attributes should define the range so that the `value` attribute's value is within it.", + }, + }, + { + name: 'min', + description: { + kind: 'markdown', + value: + 'The lower numeric bound of the measured range. This must be less than the maximum value (`max` attribute), if specified. If unspecified, the minimum value is 0.', + }, + }, + { + name: 'max', + description: { + kind: 'markdown', + value: + 'The upper numeric bound of the measured range. This must be greater than the minimum value (`min` attribute), if specified. If unspecified, the maximum value is 1.', + }, + }, + { + name: 'low', + description: { + kind: 'markdown', + value: + 'The upper numeric bound of the low end of the measured range. This must be greater than the minimum value (`min` attribute), and it also must be less than the high value and maximum value (`high` attribute and `max` attribute, respectively), if any are specified. If unspecified, or if less than the minimum value, the `low` value is equal to the minimum value.', + }, + }, + { + name: 'high', + description: { + kind: 'markdown', + value: + 'The lower numeric bound of the high end of the measured range. This must be less than the maximum value (`max` attribute), and it also must be greater than the low value and minimum value (`low` attribute and **min** attribute, respectively), if any are specified. If unspecified, or if greater than the maximum value, the `high` value is equal to the maximum value.', + }, + }, + { + name: 'optimum', + description: { + kind: 'markdown', + value: + 'This attribute indicates the optimal numeric value. It must be within the range (as defined by the `min` attribute and `max` attribute). When used with the `low` attribute and `high` attribute, it gives an indication where along the range is considered preferable. For example, if it is between the `min` attribute and the `low` attribute, then the lower range is considered preferred.', + }, + }, + { + name: 'form', + description: + 'This attribute associates the element with a `form` element that has ownership of the `meter` element. For example, a `meter` might be displaying a range corresponding to an `input` element of `type` _number_. This attribute is only used if the `meter` element is being used as a form-associated element; even then, it may be omitted if the element appears as a descendant of a `form` element.', + }, + ], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/HTML/Element/meter', + }, + ], + }, + { + name: 'fieldset', + description: { + kind: 'markdown', + value: + 'The fieldset element represents a set of form controls optionally grouped under a common name.', + }, + attributes: [ + { + name: 'disabled', + valueSet: 'v', + description: { + kind: 'markdown', + value: + "If this Boolean attribute is set, all form controls that are descendants of the `<fieldset>`, are disabled, meaning they are not editable and won't be submitted along with the `<form>`. They won't receive any browsing events, like mouse clicks or focus-related events. By default browsers display such controls grayed out. Note that form elements inside the [`<legend>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/legend \"The HTML <legend> element represents a caption for the content of its parent <fieldset>.\") element won't be disabled.", + }, + }, + { + name: 'form', + description: { + kind: 'markdown', + value: + 'This attribute takes the value of the `id` attribute of a [`<form>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form "The HTML <form> element represents a document section that contains interactive controls for submitting information to a web server.") element you want the `<fieldset>` to be part of, even if it is not inside the form.', + }, + }, + { + name: 'name', + description: { + kind: 'markdown', + value: + 'The name associated with the group.\n\n**Note**: The caption for the fieldset is given by the first [`<legend>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/legend "The HTML <legend> element represents a caption for the content of its parent <fieldset>.") element nested inside it.', + }, + }, + ], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/HTML/Element/fieldset', + }, + ], + }, + { + name: 'legend', + description: { + kind: 'markdown', + value: + "The legend element represents a caption for the rest of the contents of the legend element's parent fieldset element, if any.", + }, + attributes: [], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/HTML/Element/legend', + }, + ], + }, + { + name: 'details', + description: { + kind: 'markdown', + value: + 'The details element represents a disclosure widget from which the user can obtain additional information or controls.', + }, + attributes: [ + { + name: 'open', + valueSet: 'v', + description: { + kind: 'markdown', + value: + 'This Boolean attribute indicates whether or not the details — that is, the contents of the `<details>` element — are currently visible. The default, `false`, means the details are not visible.', + }, + }, + ], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/HTML/Element/details', + }, + ], + }, + { + name: 'summary', + description: { + kind: 'markdown', + value: + "The summary element represents a summary, caption, or legend for the rest of the contents of the summary element's parent details element, if any.", + }, + attributes: [], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/HTML/Element/summary', + }, + ], + }, + { + name: 'dialog', + description: { + kind: 'markdown', + value: + 'The dialog element represents a part of an application that a user interacts with to perform a task, for example a dialog box, inspector, or window.', + }, + attributes: [ + { + name: 'open', + description: + "Indicates that the dialog is active and available for interaction. When the `open` attribute is not set, the dialog shouldn't be shown to the user.", + }, + ], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/HTML/Element/dialog', + }, + ], + }, + { + name: 'script', + description: { + kind: 'markdown', + value: + 'The script element allows authors to include dynamic script and data blocks in their documents. The element does not represent content for the user.', + }, + attributes: [ + { + name: 'src', + description: { + kind: 'markdown', + value: + 'This attribute specifies the URI of an external script; this can be used as an alternative to embedding a script directly within a document.\n\nIf a `script` element has a `src` attribute specified, it should not have a script embedded inside its tags.', + }, + }, + { + name: 'type', + description: { + kind: 'markdown', + value: + 'This attribute indicates the type of script represented. The value of this attribute will be in one of the following categories:\n\n* **Omitted or a JavaScript MIME type:** For HTML5-compliant browsers this indicates the script is JavaScript. HTML5 specification urges authors to omit the attribute rather than provide a redundant MIME type. In earlier browsers, this identified the scripting language of the embedded or imported (via the `src` attribute) code. JavaScript MIME types are [listed in the specification](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types#JavaScript_types).\n* **`module`:** For HTML5-compliant browsers the code is treated as a JavaScript module. The processing of the script contents is not affected by the `charset` and `defer` attributes. For information on using `module`, see [ES6 in Depth: Modules](https://hacks.mozilla.org/2015/08/es6-in-depth-modules/). Code may behave differently when the `module` keyword is used.\n* **Any other value:** The embedded content is treated as a data block which won\'t be processed by the browser. Developers must use a valid MIME type that is not a JavaScript MIME type to denote data blocks. The `src` attribute will be ignored.\n\n**Note:** in Firefox you could specify the version of JavaScript contained in a `<script>` element by including a non-standard `version` parameter inside the `type` attribute — for example `type="text/javascript;version=1.8"`. This has been removed in Firefox 59 (see [bug 1428745](https://bugzilla.mozilla.org/show_bug.cgi?id=1428745 "FIXED: Remove support for version parameter from script loader")).', + }, + }, + { name: 'charset' }, + { + name: 'async', + valueSet: 'v', + description: { + kind: 'markdown', + value: + 'This is a Boolean attribute indicating that the browser should, if possible, load the script asynchronously.\n\nThis attribute must not be used if the `src` attribute is absent (i.e. for inline scripts). If it is included in this case it will have no effect.\n\nBrowsers usually assume the worst case scenario and load scripts synchronously, (i.e. `async="false"`) during HTML parsing.\n\nDynamically inserted scripts (using [`document.createElement()`](https://developer.mozilla.org/en-US/docs/Web/API/Document/createElement "In an HTML document, the document.createElement() method creates the HTML element specified by tagName, or an HTMLUnknownElement if tagName isn\'t recognized.")) load asynchronously by default, so to turn on synchronous loading (i.e. scripts load in the order they were inserted) set `async="false"`.\n\nSee [Browser compatibility](#Browser_compatibility) for notes on browser support. See also [Async scripts for asm.js](https://developer.mozilla.org/en-US/docs/Games/Techniques/Async_scripts).', + }, + }, + { + name: 'defer', + valueSet: 'v', + description: { + kind: 'markdown', + value: + 'This Boolean attribute is set to indicate to a browser that the script is meant to be executed after the document has been parsed, but before firing [`DOMContentLoaded`](https://developer.mozilla.org/en-US/docs/Web/Events/DOMContentLoaded "/en-US/docs/Web/Events/DOMContentLoaded").\n\nScripts with the `defer` attribute will prevent the `DOMContentLoaded` event from firing until the script has loaded and finished evaluating.\n\nThis attribute must not be used if the `src` attribute is absent (i.e. for inline scripts), in this case it would have no effect.\n\nTo achieve a similar effect for dynamically inserted scripts use `async="false"` instead. Scripts with the `defer` attribute will execute in the order in which they appear in the document.', + }, + }, + { + name: 'crossorigin', + valueSet: 'xo', + description: { + kind: 'markdown', + value: + 'Normal `script` elements pass minimal information to the [`window.onerror`](https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onerror "The onerror property of the GlobalEventHandlers mixin is an EventHandler that processes error events.") for scripts which do not pass the standard [CORS](https://developer.mozilla.org/en-US/docs/Glossary/CORS "CORS: CORS (Cross-Origin Resource Sharing) is a system, consisting of transmitting HTTP headers, that determines whether browsers block frontend JavaScript code from accessing responses for cross-origin requests.") checks. To allow error logging for sites which use a separate domain for static media, use this attribute. See [CORS settings attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_settings_attributes) for a more descriptive explanation of its valid arguments.', + }, + }, + { + name: 'nonce', + description: { + kind: 'markdown', + value: + "A cryptographic nonce (number used once) to whitelist inline scripts in a [script-src Content-Security-Policy](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/script-src). The server must generate a unique nonce value each time it transmits a policy. It is critical to provide a nonce that cannot be guessed as bypassing a resource's policy is otherwise trivial.", + }, + }, + { + name: 'integrity', + description: + 'This attribute contains inline metadata that a user agent can use to verify that a fetched resource has been delivered free of unexpected manipulation. See [Subresource Integrity](https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity).', + }, + { + name: 'nomodule', + description: + 'This Boolean attribute is set to indicate that the script should not be executed in browsers that support [ES2015 modules](https://hacks.mozilla.org/2015/08/es6-in-depth-modules/) — in effect, this can be used to serve fallback scripts to older browsers that do not support modular JavaScript code.', + }, + { + name: 'referrerpolicy', + description: + 'Indicates which [referrer](https://developer.mozilla.org/en-US/docs/Web/API/Document/referrer) to send when fetching the script, or resources fetched by the script:\n\n* `no-referrer`: The [`Referer`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referer "The Referer request header contains the address of the previous web page from which a link to the currently requested page was followed. The Referer header allows servers to identify where people are visiting them from and may use that data for analytics, logging, or optimized caching, for example.") header will not be sent.\n* `no-referrer-when-downgrade` (default): The [`Referer`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referer "The Referer request header contains the address of the previous web page from which a link to the currently requested page was followed. The Referer header allows servers to identify where people are visiting them from and may use that data for analytics, logging, or optimized caching, for example.") header will not be sent to [origin](https://developer.mozilla.org/en-US/docs/Glossary/origin "origin: Web content\'s origin is defined by the scheme (protocol), host (domain), and port of the URL used to access it. Two objects have the same origin only when the scheme, host, and port all match.")s without [TLS](https://developer.mozilla.org/en-US/docs/Glossary/TLS "TLS: Transport Layer Security (TLS), previously known as Secure Sockets Layer (SSL), is a protocol used by applications to communicate securely across a network, preventing tampering with and eavesdropping on email, web browsing, messaging, and other protocols.") ([HTTPS](https://developer.mozilla.org/en-US/docs/Glossary/HTTPS "HTTPS: HTTPS (HTTP Secure) is an encrypted version of the HTTP protocol. It usually uses SSL or TLS to encrypt all communication between a client and a server. This secure connection allows clients to safely exchange sensitive data with a server, for example for banking activities or online shopping.")).\n* `origin`: The sent referrer will be limited to the origin of the referring page: its [scheme](https://developer.mozilla.org/en-US/docs/Archive/Mozilla/URIScheme), [host](https://developer.mozilla.org/en-US/docs/Glossary/host "host: A host is a device connected to the Internet (or a local network). Some hosts called servers offer additional services like serving webpages or storing files and emails."), and [port](https://developer.mozilla.org/en-US/docs/Glossary/port "port: For a computer connected to a network with an IP address, a port is a communication endpoint. Ports are designated by numbers, and below 1024 each port is associated by default with a specific protocol.").\n* `origin-when-cross-origin`: The referrer sent to other origins will be limited to the scheme, the host, and the port. Navigations on the same origin will still include the path.\n* `same-origin`: A referrer will be sent for [same origin](https://developer.mozilla.org/en-US/docs/Glossary/Same-origin_policy "same origin: The same-origin policy is a critical security mechanism that restricts how a document or script loaded from one origin can interact with a resource from another origin."), but cross-origin requests will contain no referrer information.\n* `strict-origin`: Only send the origin of the document as the referrer when the protocol security level stays the same (e.g. HTTPS→HTTPS), but don\'t send it to a less secure destination (e.g. HTTPS→HTTP).\n* `strict-origin-when-cross-origin`: Send a full URL when performing a same-origin request, but only send the origin when the protocol security level stays the same (e.g.HTTPS→HTTPS), and send no header to a less secure destination (e.g. HTTPS→HTTP).\n* `unsafe-url`: The referrer will include the origin _and_ the path (but not the [fragment](https://developer.mozilla.org/en-US/docs/Web/API/HTMLHyperlinkElementUtils/hash), [password](https://developer.mozilla.org/en-US/docs/Web/API/HTMLHyperlinkElementUtils/password), or [username](https://developer.mozilla.org/en-US/docs/Web/API/HTMLHyperlinkElementUtils/username)). **This value is unsafe**, because it leaks origins and paths from TLS-protected resources to insecure origins.\n\n**Note**: An empty string value (`""`) is both the default value, and a fallback value if `referrerpolicy` is not supported. If `referrerpolicy` is not explicitly specified on the `<script>` element, it will adopt a higher-level referrer policy, i.e. one set on the whole document or domain. If a higher-level policy is not available, the empty string is treated as being equivalent to `no-referrer-when-downgrade`.', + }, + { + name: 'text', + description: + 'Like the `textContent` attribute, this attribute sets the text content of the element. Unlike the `textContent` attribute, however, this attribute is evaluated as executable code after the node is inserted into the DOM.', + }, + ], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/HTML/Element/script', + }, + ], + }, + { + name: 'noscript', + description: { + kind: 'markdown', + value: + "The noscript element represents nothing if scripting is enabled, and represents its children if scripting is disabled. It is used to present different markup to user agents that support scripting and those that don't support scripting, by affecting how the document is parsed.", + }, + attributes: [], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/HTML/Element/noscript', + }, + ], + }, + { + name: 'template', + description: { + kind: 'markdown', + value: + 'The template element is used to declare fragments of HTML that can be cloned and inserted in the document by script.', + }, + attributes: [], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/HTML/Element/template', + }, + ], + }, + { + name: 'canvas', + description: { + kind: 'markdown', + value: + 'The canvas element provides scripts with a resolution-dependent bitmap canvas, which can be used for rendering graphs, game graphics, art, or other visual images on the fly.', + }, + attributes: [ + { + name: 'width', + description: { + kind: 'markdown', + value: + 'The width of the coordinate space in CSS pixels. Defaults to 300.', + }, + }, + { + name: 'height', + description: { + kind: 'markdown', + value: + 'The height of the coordinate space in CSS pixels. Defaults to 150.', + }, + }, + { + name: 'moz-opaque', + description: + "Lets the canvas know whether or not translucency will be a factor. If the canvas knows there's no translucency, painting performance can be optimized. This is only supported by Mozilla-based browsers; use the standardized [`canvas.getContext('2d', { alpha: false })`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/getContext \"The HTMLCanvasElement.getContext() method returns a drawing context on the canvas, or null if the context identifier is not supported.\") instead.", + }, + ], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/HTML/Element/canvas', + }, + ], + }, + ], + globalAttributes: [ + { + name: 'accesskey', + description: { + kind: 'markdown', + value: + 'Provides a hint for generating a keyboard shortcut for the current element. This attribute consists of a space-separated list of characters. The browser should use the first one that exists on the computer keyboard layout.', + }, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/HTML/Global_attributes/accesskey', + }, + ], + }, + { + name: 'autocapitalize', + description: { + kind: 'markdown', + value: + 'Controls whether and how text input is automatically capitalized as it is entered/edited by the user. It can have the following values:\n\n* `off` or `none`, no autocapitalization is applied (all letters default to lowercase)\n* `on` or `sentences`, the first letter of each sentence defaults to a capital letter; all other letters default to lowercase\n* `words`, the first letter of each word defaults to a capital letter; all other letters default to lowercase\n* `characters`, all letters should default to uppercase', + }, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/HTML/Global_attributes/autocapitalize', + }, + ], + }, + { + name: 'class', + description: { + kind: 'markdown', + value: + 'A space-separated list of the classes of the element. Classes allows CSS and JavaScript to select and access specific elements via the [class selectors](/en-US/docs/Web/CSS/Class_selectors) or functions like the method [`Document.getElementsByClassName()`](/en-US/docs/Web/API/Document/getElementsByClassName "returns an array-like object of all child elements which have all of the given class names.").', + }, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/HTML/Global_attributes/class', + }, + ], + }, + { + name: 'contenteditable', + description: { + kind: 'markdown', + value: + 'An enumerated attribute indicating if the element should be editable by the user. If so, the browser modifies its widget to allow editing. The attribute must take one of the following values:\n\n* `true` or the _empty string_, which indicates that the element must be editable;\n* `false`, which indicates that the element must not be editable.', + }, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/HTML/Global_attributes/contenteditable', + }, + ], + }, + { + name: 'contextmenu', + description: { + kind: 'markdown', + value: + 'The `[**id**](#attr-id)` of a [`<menu>`](/en-US/docs/Web/HTML/Element/menu "The HTML <menu> element represents a group of commands that a user can perform or activate. This includes both list menus, which might appear across the top of a screen, as well as context menus, such as those that might appear underneath a button after it has been clicked.") to use as the contextual menu for this element.', + }, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/HTML/Global_attributes/contextmenu', + }, + ], + }, + { + name: 'dir', + description: { + kind: 'markdown', + value: + "An enumerated attribute indicating the directionality of the element's text. It can have the following values:\n\n* `ltr`, which means _left to right_ and is to be used for languages that are written from the left to the right (like English);\n* `rtl`, which means _right to left_ and is to be used for languages that are written from the right to the left (like Arabic);\n* `auto`, which lets the user agent decide. It uses a basic algorithm as it parses the characters inside the element until it finds a character with a strong directionality, then it applies that directionality to the whole element.", + }, + valueSet: 'd', + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/HTML/Global_attributes/dir', + }, + ], + }, + { + name: 'draggable', + description: { + kind: 'markdown', + value: + 'An enumerated attribute indicating whether the element can be dragged, using the [Drag and Drop API](/en-us/docs/DragDrop/Drag_and_Drop). It can have the following values:\n\n* `true`, which indicates that the element may be dragged\n* `false`, which indicates that the element may not be dragged.', + }, + valueSet: 'b', + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/HTML/Global_attributes/draggable', + }, + ], + }, + { + name: 'dropzone', + description: { + kind: 'markdown', + value: + 'An enumerated attribute indicating what types of content can be dropped on an element, using the [Drag and Drop API](/en-US/docs/DragDrop/Drag_and_Drop). It can have the following values:\n\n* `copy`, which indicates that dropping will create a copy of the element that was dragged\n* `move`, which indicates that the element that was dragged will be moved to this new location.\n* `link`, will create a link to the dragged data.', + }, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/HTML/Global_attributes/dropzone', + }, + ], + }, + { + name: 'exportparts', + description: { + kind: 'markdown', + value: + 'Used to transitively export shadow parts from a nested shadow tree into a containing light tree.', + }, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/HTML/Global_attributes/exportparts', + }, + ], + }, + { + name: 'hidden', + description: { + kind: 'markdown', + value: + "A Boolean attribute indicates that the element is not yet, or is no longer, _relevant_. For example, it can be used to hide elements of the page that can't be used until the login process has been completed. The browser won't render such elements. This attribute must not be used to hide content that could legitimately be shown.", + }, + valueSet: 'v', + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/HTML/Global_attributes/hidden', + }, + ], + }, + { + name: 'id', + description: { + kind: 'markdown', + value: + 'Defines a unique identifier (ID) which must be unique in the whole document. Its purpose is to identify the element when linking (using a fragment identifier), scripting, or styling (with CSS).', + }, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/HTML/Global_attributes/id', + }, + ], + }, + { + name: 'inputmode', + description: { + kind: 'markdown', + value: + 'Provides a hint to browsers as to the type of virtual keyboard configuration to use when editing this element or its contents. Used primarily on [`<input>`](/en-US/docs/Web/HTML/Element/input "The HTML <input> element is used to create interactive controls for web-based forms in order to accept data from the user; a wide variety of types of input data and control widgets are available, depending on the device and user agent.") elements, but is usable on any element while in `[contenteditable](/en-US/docs/Web/HTML/Global_attributes#attr-contenteditable)` mode.', + }, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/HTML/Global_attributes/inputmode', + }, + ], + }, + { + name: 'is', + description: { + kind: 'markdown', + value: + 'Allows you to specify that a standard HTML element should behave like a registered custom built-in element (see [Using custom elements](/en-US/docs/Web/Web_Components/Using_custom_elements) for more details).', + }, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/HTML/Global_attributes/is', + }, + ], + }, + { + name: 'itemid', + description: { + kind: 'markdown', + value: 'The unique, global identifier of an item.', + }, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/HTML/Global_attributes/itemid', + }, + ], + }, + { + name: 'itemprop', + description: { + kind: 'markdown', + value: + 'Used to add properties to an item. Every HTML element may have an `itemprop` attribute specified, where an `itemprop` consists of a name and value pair.', + }, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/HTML/Global_attributes/itemprop', + }, + ], + }, + { + name: 'itemref', + description: { + kind: 'markdown', + value: + 'Properties that are not descendants of an element with the `itemscope` attribute can be associated with the item using an `itemref`. It provides a list of element ids (not `itemid`s) with additional properties elsewhere in the document.', + }, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/HTML/Global_attributes/itemref', + }, + ], + }, + { + name: 'itemscope', + description: { + kind: 'markdown', + value: + '`itemscope` (usually) works along with `[itemtype](/en-US/docs/Web/HTML/Global_attributes#attr-itemtype)` to specify that the HTML contained in a block is about a particular item. `itemscope` creates the Item and defines the scope of the `itemtype` associated with it. `itemtype` is a valid URL of a vocabulary (such as [schema.org](https://schema.org/)) that describes the item and its properties context.', + }, + valueSet: 'v', + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/HTML/Global_attributes/itemscope', + }, + ], + }, + { + name: 'itemtype', + description: { + kind: 'markdown', + value: + 'Specifies the URL of the vocabulary that will be used to define `itemprop`s (item properties) in the data structure. `[itemscope](/en-US/docs/Web/HTML/Global_attributes#attr-itemscope)` is used to set the scope of where in the data structure the vocabulary set by `itemtype` will be active.', + }, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/HTML/Global_attributes/itemtype', + }, + ], + }, + { + name: 'lang', + description: { + kind: 'markdown', + value: + 'Helps define the language of an element: the language that non-editable elements are in, or the language that editable elements should be written in by the user. The attribute contains one “language tag” (made of hyphen-separated “language subtags”) in the format defined in [_Tags for Identifying Languages (BCP47)_](https://www.ietf.org/rfc/bcp/bcp47.txt). [**xml:lang**](#attr-xml:lang) has priority over it.', + }, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/HTML/Global_attributes/lang', + }, + ], + }, + { + name: 'part', + description: { + kind: 'markdown', + value: + 'A space-separated list of the part names of the element. Part names allows CSS to select and style specific elements in a shadow tree via the [`::part`](/en-US/docs/Web/CSS/::part "The ::part CSS pseudo-element represents any element within a shadow tree that has a matching part attribute.") pseudo-element.', + }, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/HTML/Global_attributes/part', + }, + ], + }, + { name: 'role', valueSet: 'roles' }, + { + name: 'slot', + description: { + kind: 'markdown', + value: + 'Assigns a slot in a [shadow DOM](/en-US/docs/Web/Web_Components/Shadow_DOM) shadow tree to an element: An element with a `slot` attribute is assigned to the slot created by the [`<slot>`](/en-US/docs/Web/HTML/Element/slot "The HTML <slot> element—part of the Web Components technology suite—is a placeholder inside a web component that you can fill with your own markup, which lets you create separate DOM trees and present them together.") element whose `[name](/en-US/docs/Web/HTML/Element/slot#attr-name)` attribute\'s value matches that `slot` attribute\'s value.', + }, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/HTML/Global_attributes/slot', + }, + ], + }, + { + name: 'spellcheck', + description: { + kind: 'markdown', + value: + 'An enumerated attribute defines whether the element may be checked for spelling errors. It may have the following values:\n\n* `true`, which indicates that the element should be, if possible, checked for spelling errors;\n* `false`, which indicates that the element should not be checked for spelling errors.', + }, + valueSet: 'b', + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/HTML/Global_attributes/spellcheck', + }, + ], + }, + { + name: 'style', + description: { + kind: 'markdown', + value: + 'Contains [CSS](/en-US/docs/Web/CSS) styling declarations to be applied to the element. Note that it is recommended for styles to be defined in a separate file or files. This attribute and the [`<style>`](/en-US/docs/Web/HTML/Element/style "The HTML <style> element contains style information for a document, or part of a document.") element have mainly the purpose of allowing for quick styling, for example for testing purposes.', + }, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/HTML/Global_attributes/style', + }, + ], + }, + { + name: 'tabindex', + description: { + kind: 'markdown', + value: + 'An integer attribute indicating if the element can take input focus (is _focusable_), if it should participate to sequential keyboard navigation, and if so, at what position. It can take several values:\n\n* a _negative value_ means that the element should be focusable, but should not be reachable via sequential keyboard navigation;\n* `0` means that the element should be focusable and reachable via sequential keyboard navigation, but its relative order is defined by the platform convention;\n* a _positive value_ means that the element should be focusable and reachable via sequential keyboard navigation; the order in which the elements are focused is the increasing value of the [**tabindex**](#attr-tabindex). If several elements share the same tabindex, their relative order follows their relative positions in the document.', + }, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/HTML/Global_attributes/tabindex', + }, + ], + }, + { + name: 'title', + description: { + kind: 'markdown', + value: + 'Contains a text representing advisory information related to the element it belongs to. Such information can typically, but not necessarily, be presented to the user as a tooltip.', + }, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/HTML/Global_attributes/title', + }, + ], + }, + { + name: 'translate', + description: { + kind: 'markdown', + value: + 'An enumerated attribute that is used to specify whether an element\'s attribute values and the values of its [`Text`](/en-US/docs/Web/API/Text "The Text interface represents the textual content of Element or Attr. If an element has no markup within its content, it has a single child implementing Text that contains the element\'s text. However, if the element contains markup, it is parsed into information items and Text nodes that form its children.") node children are to be translated when the page is localized, or whether to leave them unchanged. It can have the following values:\n\n* empty string and `yes`, which indicates that the element will be translated.\n* `no`, which indicates that the element will not be translated.', + }, + valueSet: 'y', + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/HTML/Global_attributes/translate', + }, + ], + }, + { + name: 'onabort', + description: { + kind: 'markdown', + value: 'The loading of a resource has been aborted.', + }, + }, + { + name: 'onblur', + description: { + kind: 'markdown', + value: 'An element has lost focus (does not bubble).', + }, + }, + { + name: 'oncanplay', + description: { + kind: 'markdown', + value: + 'The user agent can play the media, but estimates that not enough data has been loaded to play the media up to its end without having to stop for further buffering of content.', + }, + }, + { + name: 'oncanplaythrough', + description: { + kind: 'markdown', + value: + 'The user agent can play the media up to its end without having to stop for further buffering of content.', + }, + }, + { + name: 'onchange', + description: { + kind: 'markdown', + value: + "The change event is fired for <input>, <select>, and <textarea> elements when a change to the element's value is committed by the user.", + }, + }, + { + name: 'onclick', + description: { + kind: 'markdown', + value: + 'A pointing device button has been pressed and released on an element.', + }, + }, + { + name: 'oncontextmenu', + description: { + kind: 'markdown', + value: + 'The right button of the mouse is clicked (before the context menu is displayed).', + }, + }, + { + name: 'ondblclick', + description: { + kind: 'markdown', + value: 'A pointing device button is clicked twice on an element.', + }, + }, + { + name: 'ondrag', + description: { + kind: 'markdown', + value: + 'An element or text selection is being dragged (every 350ms).', + }, + }, + { + name: 'ondragend', + description: { + kind: 'markdown', + value: + 'A drag operation is being ended (by releasing a mouse button or hitting the escape key).', + }, + }, + { + name: 'ondragenter', + description: { + kind: 'markdown', + value: + 'A dragged element or text selection enters a valid drop target.', + }, + }, + { + name: 'ondragleave', + description: { + kind: 'markdown', + value: + 'A dragged element or text selection leaves a valid drop target.', + }, + }, + { + name: 'ondragover', + description: { + kind: 'markdown', + value: + 'An element or text selection is being dragged over a valid drop target (every 350ms).', + }, + }, + { + name: 'ondragstart', + description: { + kind: 'markdown', + value: 'The user starts dragging an element or text selection.', + }, + }, + { + name: 'ondrop', + description: { + kind: 'markdown', + value: 'An element is dropped on a valid drop target.', + }, + }, + { + name: 'ondurationchange', + description: { + kind: 'markdown', + value: 'The duration attribute has been updated.', + }, + }, + { + name: 'onemptied', + description: { + kind: 'markdown', + value: + 'The media has become empty; for example, this event is sent if the media has already been loaded (or partially loaded), and the load() method is called to reload it.', + }, + }, + { + name: 'onended', + description: { + kind: 'markdown', + value: + 'Playback has stopped because the end of the media was reached.', + }, + }, + { + name: 'onerror', + description: { + kind: 'markdown', + value: 'A resource failed to load.', + }, + }, + { + name: 'onfocus', + description: { + kind: 'markdown', + value: 'An element has received focus (does not bubble).', + }, + }, + { name: 'onformchange' }, + { name: 'onforminput' }, + { + name: 'oninput', + description: { + kind: 'markdown', + value: + 'The value of an element changes or the content of an element with the attribute contenteditable is modified.', + }, + }, + { + name: 'oninvalid', + description: { + kind: 'markdown', + value: + "A submittable element has been checked and doesn't satisfy its constraints.", + }, + }, + { + name: 'onkeydown', + description: { kind: 'markdown', value: 'A key is pressed down.' }, + }, + { + name: 'onkeypress', + description: { + kind: 'markdown', + value: + 'A key is pressed down and that key normally produces a character value (use input instead).', + }, + }, + { + name: 'onkeyup', + description: { kind: 'markdown', value: 'A key is released.' }, + }, + { + name: 'onload', + description: { + kind: 'markdown', + value: + 'A resource and its dependent resources have finished loading.', + }, + }, + { + name: 'onloadeddata', + description: { + kind: 'markdown', + value: 'The first frame of the media has finished loading.', + }, + }, + { + name: 'onloadedmetadata', + description: { + kind: 'markdown', + value: 'The metadata has been loaded.', + }, + }, + { + name: 'onloadstart', + description: { kind: 'markdown', value: 'Progress has begun.' }, + }, + { + name: 'onmousedown', + description: { + kind: 'markdown', + value: + 'A pointing device button (usually a mouse) is pressed on an element.', + }, + }, + { + name: 'onmousemove', + description: { + kind: 'markdown', + value: 'A pointing device is moved over an element.', + }, + }, + { + name: 'onmouseout', + description: { + kind: 'markdown', + value: + 'A pointing device is moved off the element that has the listener attached or off one of its children.', + }, + }, + { + name: 'onmouseover', + description: { + kind: 'markdown', + value: + 'A pointing device is moved onto the element that has the listener attached or onto one of its children.', + }, + }, + { + name: 'onmouseup', + description: { + kind: 'markdown', + value: 'A pointing device button is released over an element.', + }, + }, + { name: 'onmousewheel' }, + { + name: 'onpause', + description: { + kind: 'markdown', + value: 'Playback has been paused.', + }, + }, + { + name: 'onplay', + description: { kind: 'markdown', value: 'Playback has begun.' }, + }, + { + name: 'onplaying', + description: { + kind: 'markdown', + value: + 'Playback is ready to start after having been paused or delayed due to lack of data.', + }, + }, + { + name: 'onprogress', + description: { kind: 'markdown', value: 'In progress.' }, + }, + { + name: 'onratechange', + description: { + kind: 'markdown', + value: 'The playback rate has changed.', + }, + }, + { + name: 'onreset', + description: { kind: 'markdown', value: 'A form is reset.' }, + }, + { + name: 'onresize', + description: { + kind: 'markdown', + value: 'The document view has been resized.', + }, + }, + { + name: 'onreadystatechange', + description: { + kind: 'markdown', + value: 'The readyState attribute of a document has changed.', + }, + }, + { + name: 'onscroll', + description: { + kind: 'markdown', + value: 'The document view or an element has been scrolled.', + }, + }, + { + name: 'onseeked', + description: { + kind: 'markdown', + value: 'A seek operation completed.', + }, + }, + { + name: 'onseeking', + description: { kind: 'markdown', value: 'A seek operation began.' }, + }, + { + name: 'onselect', + description: { + kind: 'markdown', + value: 'Some text is being selected.', + }, + }, + { + name: 'onshow', + description: { + kind: 'markdown', + value: + 'A contextmenu event was fired on/bubbled to an element that has a contextmenu attribute', + }, + }, + { + name: 'onstalled', + description: { + kind: 'markdown', + value: + 'The user agent is trying to fetch media data, but data is unexpectedly not forthcoming.', + }, + }, + { + name: 'onsubmit', + description: { kind: 'markdown', value: 'A form is submitted.' }, + }, + { + name: 'onsuspend', + description: { + kind: 'markdown', + value: 'Media data loading has been suspended.', + }, + }, + { + name: 'ontimeupdate', + description: { + kind: 'markdown', + value: + 'The time indicated by the currentTime attribute has been updated.', + }, + }, + { + name: 'onvolumechange', + description: { kind: 'markdown', value: 'The volume has changed.' }, + }, + { + name: 'onwaiting', + description: { + kind: 'markdown', + value: + 'Playback has stopped because of a temporary lack of data.', + }, + }, + { + name: 'aria-activedescendant', + references: [ + { + name: 'WAI-ARIA Reference', + url: + 'https://www.w3.org/TR/wai-aria-1.1/#aria-activedescendant', + }, + ], + description: { + kind: 'markdown', + value: + 'Identifies the currently active element when DOM focus is on a [`composite`](https://www.w3.org/TR/wai-aria-1.1/#composite) widget, [`textbox`](https://www.w3.org/TR/wai-aria-1.1/#textbox), [`group`](https://www.w3.org/TR/wai-aria-1.1/#group), or [`application`](https://www.w3.org/TR/wai-aria-1.1/#application).', + }, + }, + { + name: 'aria-atomic', + valueSet: 'b', + references: [ + { + name: 'WAI-ARIA Reference', + url: 'https://www.w3.org/TR/wai-aria-1.1/#aria-atomic', + }, + ], + description: { + kind: 'markdown', + value: + 'Indicates whether [assistive technologies](https://www.w3.org/TR/wai-aria-1.1/#dfn-assistive-technology) will present all, or only parts of, the changed region based on the change notifications defined by the [`aria-relevant`](https://www.w3.org/TR/wai-aria-1.1/#aria-relevant) attribute.', + }, + }, + { + name: 'aria-autocomplete', + valueSet: 'autocomplete', + references: [ + { + name: 'WAI-ARIA Reference', + url: 'https://www.w3.org/TR/wai-aria-1.1/#aria-autocomplete', + }, + ], + description: { + kind: 'markdown', + value: + "Indicates whether inputting text could trigger display of one or more predictions of the user's intended value for an input and specifies how predictions would be presented if they are made.", + }, + }, + { + name: 'aria-busy', + valueSet: 'b', + references: [ + { + name: 'WAI-ARIA Reference', + url: 'https://www.w3.org/TR/wai-aria-1.1/#aria-busy', + }, + ], + description: { + kind: 'markdown', + value: + 'Indicates an element is being modified and that assistive technologies _MAY_ want to wait until the modifications are complete before exposing them to the user.', + }, + }, + { + name: 'aria-checked', + valueSet: 'tristate', + references: [ + { + name: 'WAI-ARIA Reference', + url: 'https://www.w3.org/TR/wai-aria-1.1/#aria-checked', + }, + ], + description: { + kind: 'markdown', + value: + 'Indicates the current "checked" [state](https://www.w3.org/TR/wai-aria-1.1/#dfn-state) of checkboxes, radio buttons, and other [widgets](https://www.w3.org/TR/wai-aria-1.1/#dfn-widget). See related [`aria-pressed`](https://www.w3.org/TR/wai-aria-1.1/#aria-pressed) and [`aria-selected`](https://www.w3.org/TR/wai-aria-1.1/#aria-selected).', + }, + }, + { + name: 'aria-colcount', + references: [ + { + name: 'WAI-ARIA Reference', + url: 'https://www.w3.org/TR/wai-aria-1.1/#aria-colcount', + }, + ], + description: { + kind: 'markdown', + value: + 'Defines the total number of columns in a [`table`](https://www.w3.org/TR/wai-aria-1.1/#table), [`grid`](https://www.w3.org/TR/wai-aria-1.1/#grid), or [`treegrid`](https://www.w3.org/TR/wai-aria-1.1/#treegrid). See related [`aria-colindex`](https://www.w3.org/TR/wai-aria-1.1/#aria-colindex).', + }, + }, + { + name: 'aria-colindex', + references: [ + { + name: 'WAI-ARIA Reference', + url: 'https://www.w3.org/TR/wai-aria-1.1/#aria-colindex', + }, + ], + description: { + kind: 'markdown', + value: + "Defines an [element's](https://www.w3.org/TR/wai-aria-1.1/#dfn-element) column index or position with respect to the total number of columns within a [`table`](https://www.w3.org/TR/wai-aria-1.1/#table), [`grid`](https://www.w3.org/TR/wai-aria-1.1/#grid), or [`treegrid`](https://www.w3.org/TR/wai-aria-1.1/#treegrid). See related [`aria-colcount`](https://www.w3.org/TR/wai-aria-1.1/#aria-colcount) and [`aria-colspan`](https://www.w3.org/TR/wai-aria-1.1/#aria-colspan).", + }, + }, + { + name: 'aria-colspan', + references: [ + { + name: 'WAI-ARIA Reference', + url: 'https://www.w3.org/TR/wai-aria-1.1/#aria-colspan', + }, + ], + description: { + kind: 'markdown', + value: + 'Defines the number of columns spanned by a cell or gridcell within a [`table`](https://www.w3.org/TR/wai-aria-1.1/#table), [`grid`](https://www.w3.org/TR/wai-aria-1.1/#grid), or [`treegrid`](https://www.w3.org/TR/wai-aria-1.1/#treegrid). See related [`aria-colindex`](https://www.w3.org/TR/wai-aria-1.1/#aria-colindex) and [`aria-rowspan`](https://www.w3.org/TR/wai-aria-1.1/#aria-rowspan).', + }, + }, + { + name: 'aria-controls', + references: [ + { + name: 'WAI-ARIA Reference', + url: 'https://www.w3.org/TR/wai-aria-1.1/#aria-controls', + }, + ], + description: { + kind: 'markdown', + value: + 'Identifies the [element](https://www.w3.org/TR/wai-aria-1.1/#dfn-element) (or elements) whose contents or presence are controlled by the current element. See related [`aria-owns`](https://www.w3.org/TR/wai-aria-1.1/#aria-owns).', + }, + }, + { + name: 'aria-current', + valueSet: 'current', + references: [ + { + name: 'WAI-ARIA Reference', + url: 'https://www.w3.org/TR/wai-aria-1.1/#aria-current', + }, + ], + description: { + kind: 'markdown', + value: + 'Indicates the [element](https://www.w3.org/TR/wai-aria-1.1/#dfn-element) that represents the current item within a container or set of related elements.', + }, + }, + { + name: 'aria-describedat', + references: [ + { + name: 'WAI-ARIA Reference', + url: 'https://www.w3.org/TR/wai-aria-1.1/#aria-describedat', + }, + ], + }, + { + name: 'aria-describedby', + references: [ + { + name: 'WAI-ARIA Reference', + url: 'https://www.w3.org/TR/wai-aria-1.1/#aria-describedby', + }, + ], + description: { + kind: 'markdown', + value: + 'Identifies the [element](https://www.w3.org/TR/wai-aria-1.1/#dfn-element) (or elements) that describes the [object](https://www.w3.org/TR/wai-aria-1.1/#dfn-object). See related [`aria-labelledby`](https://www.w3.org/TR/wai-aria-1.1/#aria-labelledby).', + }, + }, + { + name: 'aria-disabled', + valueSet: 'b', + references: [ + { + name: 'WAI-ARIA Reference', + url: 'https://www.w3.org/TR/wai-aria-1.1/#aria-disabled', + }, + ], + description: { + kind: 'markdown', + value: + 'Indicates that the [element](https://www.w3.org/TR/wai-aria-1.1/#dfn-element) is [perceivable](https://www.w3.org/TR/wai-aria-1.1/#dfn-perceivable) but disabled, so it is not editable or otherwise [operable](https://www.w3.org/TR/wai-aria-1.1/#dfn-operable). See related [`aria-hidden`](https://www.w3.org/TR/wai-aria-1.1/#aria-hidden) and [`aria-readonly`](https://www.w3.org/TR/wai-aria-1.1/#aria-readonly).', + }, + }, + { + name: 'aria-dropeffect', + valueSet: 'dropeffect', + references: [ + { + name: 'WAI-ARIA Reference', + url: 'https://www.w3.org/TR/wai-aria-1.1/#aria-dropeffect', + }, + ], + description: { + kind: 'markdown', + value: + '\\[Deprecated in ARIA 1.1\\] Indicates what functions can be performed when a dragged object is released on the drop target.', + }, + }, + { + name: 'aria-errormessage', + references: [ + { + name: 'WAI-ARIA Reference', + url: 'https://www.w3.org/TR/wai-aria-1.1/#aria-errormessage', + }, + ], + description: { + kind: 'markdown', + value: + 'Identifies the [element](https://www.w3.org/TR/wai-aria-1.1/#dfn-element) that provides an error message for the [object](https://www.w3.org/TR/wai-aria-1.1/#dfn-object). See related [`aria-invalid`](https://www.w3.org/TR/wai-aria-1.1/#aria-invalid) and [`aria-describedby`](https://www.w3.org/TR/wai-aria-1.1/#aria-describedby).', + }, + }, + { + name: 'aria-expanded', + valueSet: 'u', + references: [ + { + name: 'WAI-ARIA Reference', + url: 'https://www.w3.org/TR/wai-aria-1.1/#aria-expanded', + }, + ], + description: { + kind: 'markdown', + value: + 'Indicates whether the element, or another grouping element it controls, is currently expanded or collapsed.', + }, + }, + { + name: 'aria-flowto', + references: [ + { + name: 'WAI-ARIA Reference', + url: 'https://www.w3.org/TR/wai-aria-1.1/#aria-flowto', + }, + ], + description: { + kind: 'markdown', + value: + "Identifies the next [element](https://www.w3.org/TR/wai-aria-1.1/#dfn-element) (or elements) in an alternate reading order of content which, at the user's discretion, allows assistive technology to override the general default of reading in document source order.", + }, + }, + { + name: 'aria-grabbed', + valueSet: 'u', + references: [ + { + name: 'WAI-ARIA Reference', + url: 'https://www.w3.org/TR/wai-aria-1.1/#aria-grabbed', + }, + ], + description: { + kind: 'markdown', + value: + '\\[Deprecated in ARIA 1.1\\] Indicates an element\'s "grabbed" [state](https://www.w3.org/TR/wai-aria-1.1/#dfn-state) in a drag-and-drop operation.', + }, + }, + { + name: 'aria-haspopup', + valueSet: 'b', + references: [ + { + name: 'WAI-ARIA Reference', + url: 'https://www.w3.org/TR/wai-aria-1.1/#aria-haspopup', + }, + ], + description: { + kind: 'markdown', + value: + 'Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by an [element](https://www.w3.org/TR/wai-aria-1.1/#dfn-element).', + }, + }, + { + name: 'aria-hidden', + valueSet: 'b', + references: [ + { + name: 'WAI-ARIA Reference', + url: 'https://www.w3.org/TR/wai-aria-1.1/#aria-hidden', + }, + ], + description: { + kind: 'markdown', + value: + 'Indicates whether the [element](https://www.w3.org/TR/wai-aria-1.1/#dfn-element) is exposed to an accessibility API. See related [`aria-disabled`](https://www.w3.org/TR/wai-aria-1.1/#aria-disabled).', + }, + }, + { + name: 'aria-invalid', + valueSet: 'invalid', + references: [ + { + name: 'WAI-ARIA Reference', + url: 'https://www.w3.org/TR/wai-aria-1.1/#aria-invalid', + }, + ], + description: { + kind: 'markdown', + value: + 'Indicates the entered value does not conform to the format expected by the application. See related [`aria-errormessage`](https://www.w3.org/TR/wai-aria-1.1/#aria-errormessage).', + }, + }, + { + name: 'aria-kbdshortcuts', + references: [ + { + name: 'WAI-ARIA Reference', + url: 'https://www.w3.org/TR/wai-aria-1.1/#aria-kbdshortcuts', + }, + ], + }, + { + name: 'aria-label', + references: [ + { + name: 'WAI-ARIA Reference', + url: 'https://www.w3.org/TR/wai-aria-1.1/#aria-label', + }, + ], + description: { + kind: 'markdown', + value: + 'Defines a string value that labels the current element. See related [`aria-labelledby`](https://www.w3.org/TR/wai-aria-1.1/#aria-labelledby).', + }, + }, + { + name: 'aria-labelledby', + references: [ + { + name: 'WAI-ARIA Reference', + url: 'https://www.w3.org/TR/wai-aria-1.1/#aria-labelledby', + }, + ], + description: { + kind: 'markdown', + value: + 'Identifies the [element](https://www.w3.org/TR/wai-aria-1.1/#dfn-element) (or elements) that labels the current element. See related [`aria-describedby`](https://www.w3.org/TR/wai-aria-1.1/#aria-describedby).', + }, + }, + { + name: 'aria-level', + references: [ + { + name: 'WAI-ARIA Reference', + url: 'https://www.w3.org/TR/wai-aria-1.1/#aria-level', + }, + ], + description: { + kind: 'markdown', + value: + 'Defines the hierarchical level of an [element](https://www.w3.org/TR/wai-aria-1.1/#dfn-element) within a structure.', + }, + }, + { + name: 'aria-live', + valueSet: 'live', + references: [ + { + name: 'WAI-ARIA Reference', + url: 'https://www.w3.org/TR/wai-aria-1.1/#aria-live', + }, + ], + description: { + kind: 'markdown', + value: + 'Indicates that an [element](https://www.w3.org/TR/wai-aria-1.1/#dfn-element) will be updated, and describes the types of updates the [user agents](https://www.w3.org/TR/wai-aria-1.1/#dfn-user-agent), [assistive technologies](https://www.w3.org/TR/wai-aria-1.1/#dfn-assistive-technology), and user can expect from the [live region](https://www.w3.org/TR/wai-aria-1.1/#dfn-live-region).', + }, + }, + { + name: 'aria-modal', + valueSet: 'b', + references: [ + { + name: 'WAI-ARIA Reference', + url: 'https://www.w3.org/TR/wai-aria-1.1/#aria-modal', + }, + ], + description: { + kind: 'markdown', + value: + 'Indicates whether an [element](https://www.w3.org/TR/wai-aria-1.1/#dfn-element) is modal when displayed.', + }, + }, + { + name: 'aria-multiline', + valueSet: 'b', + references: [ + { + name: 'WAI-ARIA Reference', + url: 'https://www.w3.org/TR/wai-aria-1.1/#aria-multiline', + }, + ], + description: { + kind: 'markdown', + value: + 'Indicates whether a text box accepts multiple lines of input or only a single line.', + }, + }, + { + name: 'aria-multiselectable', + valueSet: 'b', + references: [ + { + name: 'WAI-ARIA Reference', + url: 'https://www.w3.org/TR/wai-aria-1.1/#aria-multiselectable', + }, + ], + description: { + kind: 'markdown', + value: + 'Indicates that the user may select more than one item from the current selectable descendants.', + }, + }, + { + name: 'aria-orientation', + valueSet: 'orientation', + references: [ + { + name: 'WAI-ARIA Reference', + url: 'https://www.w3.org/TR/wai-aria-1.1/#aria-orientation', + }, + ], + description: { + kind: 'markdown', + value: + "Indicates whether the element's orientation is horizontal, vertical, or unknown/ambiguous.", + }, + }, + { + name: 'aria-owns', + references: [ + { + name: 'WAI-ARIA Reference', + url: 'https://www.w3.org/TR/wai-aria-1.1/#aria-owns', + }, + ], + description: { + kind: 'markdown', + value: + 'Identifies an [element](https://www.w3.org/TR/wai-aria-1.1/#dfn-element) (or elements) in order to define a visual, functional, or contextual parent/child [relationship](https://www.w3.org/TR/wai-aria-1.1/#dfn-relationship) between DOM elements where the DOM hierarchy cannot be used to represent the relationship. See related [`aria-controls`](https://www.w3.org/TR/wai-aria-1.1/#aria-controls).', + }, + }, + { + name: 'aria-placeholder', + references: [ + { + name: 'WAI-ARIA Reference', + url: 'https://www.w3.org/TR/wai-aria-1.1/#aria-placeholder', + }, + ], + description: { + kind: 'markdown', + value: + 'Defines a short hint (a word or short phrase) intended to aid the user with data entry when the control has no value. A hint could be a sample value or a brief description of the expected format.', + }, + }, + { + name: 'aria-posinset', + references: [ + { + name: 'WAI-ARIA Reference', + url: 'https://www.w3.org/TR/wai-aria-1.1/#aria-posinset', + }, + ], + description: { + kind: 'markdown', + value: + "Defines an [element](https://www.w3.org/TR/wai-aria-1.1/#dfn-element)'s number or position in the current set of listitems or treeitems. Not required if all elements in the set are present in the DOM. See related [`aria-setsize`](https://www.w3.org/TR/wai-aria-1.1/#aria-setsize).", + }, + }, + { + name: 'aria-pressed', + valueSet: 'tristate', + references: [ + { + name: 'WAI-ARIA Reference', + url: 'https://www.w3.org/TR/wai-aria-1.1/#aria-pressed', + }, + ], + description: { + kind: 'markdown', + value: + 'Indicates the current "pressed" [state](https://www.w3.org/TR/wai-aria-1.1/#dfn-state) of toggle buttons. See related [`aria-checked`](https://www.w3.org/TR/wai-aria-1.1/#aria-checked) and [`aria-selected`](https://www.w3.org/TR/wai-aria-1.1/#aria-selected).', + }, + }, + { + name: 'aria-readonly', + valueSet: 'b', + references: [ + { + name: 'WAI-ARIA Reference', + url: 'https://www.w3.org/TR/wai-aria-1.1/#aria-readonly', + }, + ], + description: { + kind: 'markdown', + value: + 'Indicates that the [element](https://www.w3.org/TR/wai-aria-1.1/#dfn-element) is not editable, but is otherwise [operable](https://www.w3.org/TR/wai-aria-1.1/#dfn-operable). See related [`aria-disabled`](https://www.w3.org/TR/wai-aria-1.1/#aria-disabled).', + }, + }, + { + name: 'aria-relevant', + valueSet: 'relevant', + references: [ + { + name: 'WAI-ARIA Reference', + url: 'https://www.w3.org/TR/wai-aria-1.1/#aria-relevant', + }, + ], + description: { + kind: 'markdown', + value: + 'Indicates what notifications the user agent will trigger when the accessibility tree within a live region is modified. See related [`aria-atomic`](https://www.w3.org/TR/wai-aria-1.1/#aria-atomic).', + }, + }, + { + name: 'aria-required', + valueSet: 'b', + references: [ + { + name: 'WAI-ARIA Reference', + url: 'https://www.w3.org/TR/wai-aria-1.1/#aria-required', + }, + ], + description: { + kind: 'markdown', + value: + 'Indicates that user input is required on the [element](https://www.w3.org/TR/wai-aria-1.1/#dfn-element) before a form may be submitted.', + }, + }, + { + name: 'aria-roledescription', + references: [ + { + name: 'WAI-ARIA Reference', + url: 'https://www.w3.org/TR/wai-aria-1.1/#aria-roledescription', + }, + ], + description: { + kind: 'markdown', + value: + 'Defines a human-readable, author-localized description for the [role](https://www.w3.org/TR/wai-aria-1.1/#dfn-role) of an [element](https://www.w3.org/TR/wai-aria-1.1/#dfn-element).', + }, + }, + { + name: 'aria-rowcount', + references: [ + { + name: 'WAI-ARIA Reference', + url: 'https://www.w3.org/TR/wai-aria-1.1/#aria-rowcount', + }, + ], + description: { + kind: 'markdown', + value: + 'Defines the total number of rows in a [`table`](https://www.w3.org/TR/wai-aria-1.1/#table), [`grid`](https://www.w3.org/TR/wai-aria-1.1/#grid), or [`treegrid`](https://www.w3.org/TR/wai-aria-1.1/#treegrid). See related [`aria-rowindex`](https://www.w3.org/TR/wai-aria-1.1/#aria-rowindex).', + }, + }, + { + name: 'aria-rowindex', + references: [ + { + name: 'WAI-ARIA Reference', + url: 'https://www.w3.org/TR/wai-aria-1.1/#aria-rowindex', + }, + ], + description: { + kind: 'markdown', + value: + "Defines an [element's](https://www.w3.org/TR/wai-aria-1.1/#dfn-element) row index or position with respect to the total number of rows within a [`table`](https://www.w3.org/TR/wai-aria-1.1/#table), [`grid`](https://www.w3.org/TR/wai-aria-1.1/#grid), or [`treegrid`](https://www.w3.org/TR/wai-aria-1.1/#treegrid). See related [`aria-rowcount`](https://www.w3.org/TR/wai-aria-1.1/#aria-rowcount) and [`aria-rowspan`](https://www.w3.org/TR/wai-aria-1.1/#aria-rowspan).", + }, + }, + { + name: 'aria-rowspan', + references: [ + { + name: 'WAI-ARIA Reference', + url: 'https://www.w3.org/TR/wai-aria-1.1/#aria-rowspan', + }, + ], + description: { + kind: 'markdown', + value: + 'Defines the number of rows spanned by a cell or gridcell within a [`table`](https://www.w3.org/TR/wai-aria-1.1/#table), [`grid`](https://www.w3.org/TR/wai-aria-1.1/#grid), or [`treegrid`](https://www.w3.org/TR/wai-aria-1.1/#treegrid). See related [`aria-rowindex`](https://www.w3.org/TR/wai-aria-1.1/#aria-rowindex) and [`aria-colspan`](https://www.w3.org/TR/wai-aria-1.1/#aria-colspan).', + }, + }, + { + name: 'aria-selected', + valueSet: 'u', + references: [ + { + name: 'WAI-ARIA Reference', + url: 'https://www.w3.org/TR/wai-aria-1.1/#aria-selected', + }, + ], + description: { + kind: 'markdown', + value: + 'Indicates the current "selected" [state](https://www.w3.org/TR/wai-aria-1.1/#dfn-state) of various [widgets](https://www.w3.org/TR/wai-aria-1.1/#dfn-widget). See related [`aria-checked`](https://www.w3.org/TR/wai-aria-1.1/#aria-checked) and [`aria-pressed`](https://www.w3.org/TR/wai-aria-1.1/#aria-pressed).', + }, + }, + { + name: 'aria-setsize', + references: [ + { + name: 'WAI-ARIA Reference', + url: 'https://www.w3.org/TR/wai-aria-1.1/#aria-setsize', + }, + ], + description: { + kind: 'markdown', + value: + 'Defines the number of items in the current set of listitems or treeitems. Not required if all elements in the set are present in the DOM. See related [`aria-posinset`](https://www.w3.org/TR/wai-aria-1.1/#aria-posinset).', + }, + }, + { + name: 'aria-sort', + valueSet: 'sort', + references: [ + { + name: 'WAI-ARIA Reference', + url: 'https://www.w3.org/TR/wai-aria-1.1/#aria-sort', + }, + ], + description: { + kind: 'markdown', + value: + 'Indicates if items in a table or grid are sorted in ascending or descending order.', + }, + }, + { + name: 'aria-valuemax', + references: [ + { + name: 'WAI-ARIA Reference', + url: 'https://www.w3.org/TR/wai-aria-1.1/#aria-valuemax', + }, + ], + description: { + kind: 'markdown', + value: + 'Defines the maximum allowed value for a range [widget](https://www.w3.org/TR/wai-aria-1.1/#dfn-widget).', + }, + }, + { + name: 'aria-valuemin', + references: [ + { + name: 'WAI-ARIA Reference', + url: 'https://www.w3.org/TR/wai-aria-1.1/#aria-valuemin', + }, + ], + description: { + kind: 'markdown', + value: + 'Defines the minimum allowed value for a range [widget](https://www.w3.org/TR/wai-aria-1.1/#dfn-widget).', + }, + }, + { + name: 'aria-valuenow', + references: [ + { + name: 'WAI-ARIA Reference', + url: 'https://www.w3.org/TR/wai-aria-1.1/#aria-valuenow', + }, + ], + description: { + kind: 'markdown', + value: + 'Defines the current value for a range [widget](https://www.w3.org/TR/wai-aria-1.1/#dfn-widget). See related [`aria-valuetext`](https://www.w3.org/TR/wai-aria-1.1/#aria-valuetext).', + }, + }, + { + name: 'aria-valuetext', + references: [ + { + name: 'WAI-ARIA Reference', + url: 'https://www.w3.org/TR/wai-aria-1.1/#aria-valuetext', + }, + ], + description: { + kind: 'markdown', + value: + 'Defines the human readable text alternative of [`aria-valuenow`](https://www.w3.org/TR/wai-aria-1.1/#aria-valuenow) for a range [widget](https://www.w3.org/TR/wai-aria-1.1/#dfn-widget).', + }, + }, + { + name: 'aria-details', + description: { + kind: 'markdown', + value: + 'Identifies the [element](https://www.w3.org/TR/wai-aria-1.1/#dfn-element) that provides a detailed, extended description for the [object](https://www.w3.org/TR/wai-aria-1.1/#dfn-object). See related [`aria-describedby`](https://www.w3.org/TR/wai-aria-1.1/#aria-describedby).', + }, + }, + { + name: 'aria-keyshortcuts', + description: { + kind: 'markdown', + value: + 'Indicates keyboard shortcuts that an author has implemented to activate or give focus to an element.', + }, + }, + ], + valueSets: [ + { name: 'b', values: [{ name: 'true' }, { name: 'false' }] }, + { + name: 'u', + values: [ + { name: 'true' }, + { name: 'false' }, + { name: 'undefined' }, + ], + }, + { name: 'o', values: [{ name: 'on' }, { name: 'off' }] }, + { name: 'y', values: [{ name: 'yes' }, { name: 'no' }] }, + { name: 'w', values: [{ name: 'soft' }, { name: 'hard' }] }, + { + name: 'd', + values: [{ name: 'ltr' }, { name: 'rtl' }, { name: 'auto' }], + }, + { + name: 'm', + values: [ + { + name: 'GET', + description: { + kind: 'markdown', + value: + "Corresponds to the HTTP [GET method](https://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.3); form data are appended to the `action` attribute URI with a '?' as separator, and the resulting URI is sent to the server. Use this method when the form has no side-effects and contains only ASCII characters.", + }, + }, + { + name: 'POST', + description: { + kind: 'markdown', + value: + 'Corresponds to the HTTP [POST method](https://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.5); form data are included in the body of the form and sent to the server.', + }, + }, + { + name: 'dialog', + description: { + kind: 'markdown', + value: + 'Use when the form is inside a [`<dialog>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/dialog) element to close the dialog when submitted.', + }, + }, + ], + }, + { name: 'fm', values: [{ name: 'GET' }, { name: 'POST' }] }, + { + name: 's', + values: [ + { name: 'row' }, + { name: 'col' }, + { name: 'rowgroup' }, + { name: 'colgroup' }, + ], + }, + { + name: 't', + values: [ + { name: 'hidden' }, + { name: 'text' }, + { name: 'search' }, + { name: 'tel' }, + { name: 'url' }, + { name: 'email' }, + { name: 'password' }, + { name: 'datetime' }, + { name: 'date' }, + { name: 'month' }, + { name: 'week' }, + { name: 'time' }, + { name: 'datetime-local' }, + { name: 'number' }, + { name: 'range' }, + { name: 'color' }, + { name: 'checkbox' }, + { name: 'radio' }, + { name: 'file' }, + { name: 'submit' }, + { name: 'image' }, + { name: 'reset' }, + { name: 'button' }, + ], + }, + { + name: 'im', + values: [ + { name: 'verbatim' }, + { name: 'latin' }, + { name: 'latin-name' }, + { name: 'latin-prose' }, + { name: 'full-width-latin' }, + { name: 'kana' }, + { name: 'kana-name' }, + { name: 'katakana' }, + { name: 'numeric' }, + { name: 'tel' }, + { name: 'email' }, + { name: 'url' }, + ], + }, + { + name: 'bt', + values: [ + { name: 'button' }, + { name: 'submit' }, + { name: 'reset' }, + { name: 'menu' }, + ], + }, + { + name: 'lt', + values: [ + { name: '1' }, + { name: 'a' }, + { name: 'A' }, + { name: 'i' }, + { name: 'I' }, + ], + }, + { name: 'mt', values: [{ name: 'context' }, { name: 'toolbar' }] }, + { + name: 'mit', + values: [ + { name: 'command' }, + { name: 'checkbox' }, + { name: 'radio' }, + ], + }, + { + name: 'et', + values: [ + { name: 'application/x-www-form-urlencoded' }, + { name: 'multipart/form-data' }, + { name: 'text/plain' }, + ], + }, + { + name: 'tk', + values: [ + { name: 'subtitles' }, + { name: 'captions' }, + { name: 'descriptions' }, + { name: 'chapters' }, + { name: 'metadata' }, + ], + }, + { + name: 'pl', + values: [{ name: 'none' }, { name: 'metadata' }, { name: 'auto' }], + }, + { + name: 'sh', + values: [ + { name: 'circle' }, + { name: 'default' }, + { name: 'poly' }, + { name: 'rect' }, + ], + }, + { + name: 'xo', + values: [{ name: 'anonymous' }, { name: 'use-credentials' }], + }, + { + name: 'sb', + values: [ + { name: 'allow-forms' }, + { name: 'allow-modals' }, + { name: 'allow-pointer-lock' }, + { name: 'allow-popups' }, + { name: 'allow-popups-to-escape-sandbox' }, + { name: 'allow-same-origin' }, + { name: 'allow-scripts' }, + { name: 'allow-top-navigation' }, + ], + }, + { + name: 'tristate', + values: [ + { name: 'true' }, + { name: 'false' }, + { name: 'mixed' }, + { name: 'undefined' }, + ], + }, + { + name: 'inputautocomplete', + values: [ + { name: 'additional-name' }, + { name: 'address-level1' }, + { name: 'address-level2' }, + { name: 'address-level3' }, + { name: 'address-level4' }, + { name: 'address-line1' }, + { name: 'address-line2' }, + { name: 'address-line3' }, + { name: 'bday' }, + { name: 'bday-year' }, + { name: 'bday-day' }, + { name: 'bday-month' }, + { name: 'billing' }, + { name: 'cc-additional-name' }, + { name: 'cc-csc' }, + { name: 'cc-exp' }, + { name: 'cc-exp-month' }, + { name: 'cc-exp-year' }, + { name: 'cc-family-name' }, + { name: 'cc-given-name' }, + { name: 'cc-name' }, + { name: 'cc-number' }, + { name: 'cc-type' }, + { name: 'country' }, + { name: 'country-name' }, + { name: 'current-password' }, + { name: 'email' }, + { name: 'family-name' }, + { name: 'fax' }, + { name: 'given-name' }, + { name: 'home' }, + { name: 'honorific-prefix' }, + { name: 'honorific-suffix' }, + { name: 'impp' }, + { name: 'language' }, + { name: 'mobile' }, + { name: 'name' }, + { name: 'new-password' }, + { name: 'nickname' }, + { name: 'organization' }, + { name: 'organization-title' }, + { name: 'pager' }, + { name: 'photo' }, + { name: 'postal-code' }, + { name: 'sex' }, + { name: 'shipping' }, + { name: 'street-address' }, + { name: 'tel-area-code' }, + { name: 'tel' }, + { name: 'tel-country-code' }, + { name: 'tel-extension' }, + { name: 'tel-local' }, + { name: 'tel-local-prefix' }, + { name: 'tel-local-suffix' }, + { name: 'tel-national' }, + { name: 'transaction-amount' }, + { name: 'transaction-currency' }, + { name: 'url' }, + { name: 'username' }, + { name: 'work' }, + ], + }, + { + name: 'autocomplete', + values: [ + { name: 'inline' }, + { name: 'list' }, + { name: 'both' }, + { name: 'none' }, + ], + }, + { + name: 'current', + values: [ + { name: 'page' }, + { name: 'step' }, + { name: 'location' }, + { name: 'date' }, + { name: 'time' }, + { name: 'true' }, + { name: 'false' }, + ], + }, + { + name: 'dropeffect', + values: [ + { name: 'copy' }, + { name: 'move' }, + { name: 'link' }, + { name: 'execute' }, + { name: 'popup' }, + { name: 'none' }, + ], + }, + { + name: 'invalid', + values: [ + { name: 'grammar' }, + { name: 'false' }, + { name: 'spelling' }, + { name: 'true' }, + ], + }, + { + name: 'live', + values: [ + { name: 'off' }, + { name: 'polite' }, + { name: 'assertive' }, + ], + }, + { + name: 'orientation', + values: [ + { name: 'vertical' }, + { name: 'horizontal' }, + { name: 'undefined' }, + ], + }, + { + name: 'relevant', + values: [ + { name: 'additions' }, + { name: 'removals' }, + { name: 'text' }, + { name: 'all' }, + { name: 'additions text' }, + ], + }, + { + name: 'sort', + values: [ + { name: 'ascending' }, + { name: 'descending' }, + { name: 'none' }, + { name: 'other' }, + ], + }, + { + name: 'roles', + values: [ + { name: 'alert' }, + { name: 'alertdialog' }, + { name: 'button' }, + { name: 'checkbox' }, + { name: 'dialog' }, + { name: 'gridcell' }, + { name: 'link' }, + { name: 'log' }, + { name: 'marquee' }, + { name: 'menuitem' }, + { name: 'menuitemcheckbox' }, + { name: 'menuitemradio' }, + { name: 'option' }, + { name: 'progressbar' }, + { name: 'radio' }, + { name: 'scrollbar' }, + { name: 'searchbox' }, + { name: 'slider' }, + { name: 'spinbutton' }, + { name: 'status' }, + { name: 'switch' }, + { name: 'tab' }, + { name: 'tabpanel' }, + { name: 'textbox' }, + { name: 'timer' }, + { name: 'tooltip' }, + { name: 'treeitem' }, + { name: 'combobox' }, + { name: 'grid' }, + { name: 'listbox' }, + { name: 'menu' }, + { name: 'menubar' }, + { name: 'radiogroup' }, + { name: 'tablist' }, + { name: 'tree' }, + { name: 'treegrid' }, + { name: 'application' }, + { name: 'article' }, + { name: 'cell' }, + { name: 'columnheader' }, + { name: 'definition' }, + { name: 'directory' }, + { name: 'document' }, + { name: 'feed' }, + { name: 'figure' }, + { name: 'group' }, + { name: 'heading' }, + { name: 'img' }, + { name: 'list' }, + { name: 'listitem' }, + { name: 'math' }, + { name: 'none' }, + { name: 'note' }, + { name: 'presentation' }, + { name: 'region' }, + { name: 'row' }, + { name: 'rowgroup' }, + { name: 'rowheader' }, + { name: 'separator' }, + { name: 'table' }, + { name: 'term' }, + { name: 'text' }, + { name: 'toolbar' }, + { name: 'banner' }, + { name: 'complementary' }, + { name: 'contentinfo' }, + { name: 'form' }, + { name: 'main' }, + { name: 'navigation' }, + { name: 'region' }, + { name: 'search' }, + { name: 'doc-abstract' }, + { name: 'doc-acknowledgments' }, + { name: 'doc-afterword' }, + { name: 'doc-appendix' }, + { name: 'doc-backlink' }, + { name: 'doc-biblioentry' }, + { name: 'doc-bibliography' }, + { name: 'doc-biblioref' }, + { name: 'doc-chapter' }, + { name: 'doc-colophon' }, + { name: 'doc-conclusion' }, + { name: 'doc-cover' }, + { name: 'doc-credit' }, + { name: 'doc-credits' }, + { name: 'doc-dedication' }, + { name: 'doc-endnote' }, + { name: 'doc-endnotes' }, + { name: 'doc-epigraph' }, + { name: 'doc-epilogue' }, + { name: 'doc-errata' }, + { name: 'doc-example' }, + { name: 'doc-footnote' }, + { name: 'doc-foreword' }, + { name: 'doc-glossary' }, + { name: 'doc-glossref' }, + { name: 'doc-index' }, + { name: 'doc-introduction' }, + { name: 'doc-noteref' }, + { name: 'doc-notice' }, + { name: 'doc-pagebreak' }, + { name: 'doc-pagelist' }, + { name: 'doc-part' }, + { name: 'doc-preface' }, + { name: 'doc-prologue' }, + { name: 'doc-pullquote' }, + { name: 'doc-qna' }, + { name: 'doc-subtitle' }, + { name: 'doc-tip' }, + { name: 'doc-toc' }, + ], + }, + { + name: 'metanames', + values: [ + { name: 'application-name' }, + { name: 'author' }, + { name: 'description' }, + { name: 'format-detection' }, + { name: 'generator' }, + { name: 'keywords' }, + { name: 'publisher' }, + { name: 'referrer' }, + { name: 'robots' }, + { name: 'theme-color' }, + { name: 'viewport' }, + ], + }, + ], + }; + !(function () { + function e(e) { + (this.dataProviders = []), + this.setDataProviders( + !1 !== e.useDefaultDataProvider, + e.customDataProviders || [] + ); + } + (e.prototype.setDataProviders = function (e, t) { + var n; + (this.dataProviders = []), + e && this.dataProviders.push(new tt('html5', Ut)), + (n = this.dataProviders).push.apply(n, t); + }), + (e.prototype.getDataProviders = function () { + return this.dataProviders; + }); + })(); + var Wt = (function () { + function e(e, t, n) { + var i = this; + (this._languageId = e), + (this._worker = t), + (this._disposables = []), + (this._listener = Object.create(null)); + var r = function (e) { + var t, + n = e.getModeId(); + n === i._languageId && + ((i._listener[e.uri.toString()] = e.onDidChangeContent( + function () { + clearTimeout(t), + (t = setTimeout(function () { + return i._doValidate(e.uri, n); + }, 500)); + } + )), + i._doValidate(e.uri, n)); + }, + a = function (e) { + E.j6.setModelMarkers(e, i._languageId, []); + var t = e.uri.toString(), + n = i._listener[t]; + n && (n.dispose(), delete i._listener[t]); + }; + this._disposables.push(E.j6.onDidCreateModel(r)), + this._disposables.push( + E.j6.onWillDisposeModel(function (e) { + a(e); + }) + ), + this._disposables.push( + E.j6.onDidChangeModelLanguage(function (e) { + a(e.model), r(e.model); + }) + ), + this._disposables.push( + n.onDidChange(function (e) { + E.j6.getModels().forEach(function (e) { + e.getModeId() === i._languageId && (a(e), r(e)); + }); + }) + ), + this._disposables.push({ + dispose: function () { + for (var e in i._listener) i._listener[e].dispose(); + }, + }), + E.j6.getModels().forEach(r); + } + return ( + (e.prototype.dispose = function () { + this._disposables.forEach(function (e) { + return e && e.dispose(); + }), + (this._disposables = []); + }), + (e.prototype._doValidate = function (e, t) { + this._worker(e) + .then(function (n) { + return n.doValidation(e.toString()).then(function (n) { + var i = n.map(function (e) { + return ( + (n = + 'number' == typeof (t = e).code + ? String(t.code) + : t.code), + { + severity: Dt(t.severity), + startLineNumber: t.range.start.line + 1, + startColumn: t.range.start.character + 1, + endLineNumber: t.range.end.line + 1, + endColumn: t.range.end.character + 1, + message: t.message, + code: n, + source: t.source, + } + ); + var t, n; + }); + E.j6.setModelMarkers(E.j6.getModel(e), t, i); + }); + }) + .then(void 0, function (e) { + console.error(e); + }); + }), + e + ); + })(); + function Dt(e) { + switch (e) { + case p.Error: + return E.ZL.Error; + case p.Warning: + return E.ZL.Warning; + case p.Information: + return E.ZL.Info; + case p.Hint: + return E.ZL.Hint; + default: + return E.ZL.Info; + } + } + function Pt(e) { + if (e) return { character: e.column - 1, line: e.lineNumber - 1 }; + } + function Ot(e) { + if (e) + return new E.e6( + e.start.line + 1, + e.start.character + 1, + e.end.line + 1, + e.end.character + 1 + ); + } + function qt(e) { + var t = E.Mj.CompletionItemKind; + switch (e) { + case P.Text: + return t.Text; + case P.Method: + return t.Method; + case P.Function: + return t.Function; + case P.Constructor: + return t.Constructor; + case P.Field: + return t.Field; + case P.Variable: + return t.Variable; + case P.Class: + return t.Class; + case P.Interface: + return t.Interface; + case P.Module: + return t.Module; + case P.Property: + return t.Property; + case P.Unit: + return t.Unit; + case P.Value: + return t.Value; + case P.Enum: + return t.Enum; + case P.Keyword: + return t.Keyword; + case P.Snippet: + return t.Snippet; + case P.Color: + return t.Color; + case P.File: + return t.File; + case P.Reference: + return t.Reference; + } + return t.Property; + } + function Nt(e) { + if (e) return { range: Ot(e.range), text: e.newText }; + } + var jt = (function () { + function e(e) { + this._worker = e; + } + return ( + Object.defineProperty(e.prototype, 'triggerCharacters', { + get: function () { + return ['.', ':', '<', '"', '=', '/']; + }, + enumerable: !1, + configurable: !0, + }), + (e.prototype.provideCompletionItems = function (e, t, n, i) { + var r = e.uri; + return this._worker(r) + .then(function (e) { + return e.doComplete(r.toString(), Pt(t)); + }) + .then(function (n) { + if (n) { + var i = e.getWordUntilPosition(t), + r = new E.e6( + t.lineNumber, + i.startColumn, + t.lineNumber, + i.endColumn + ), + a = n.items.map(function (e) { + var t, + n = { + label: e.label, + insertText: e.insertText || e.label, + sortText: e.sortText, + filterText: e.filterText, + documentation: e.documentation, + detail: e.detail, + range: r, + kind: qt(e.kind), + }; + return ( + e.textEdit && + (void 0 !== (t = e.textEdit).insert && + void 0 !== t.replace + ? (n.range = { + insert: Ot(e.textEdit.insert), + replace: Ot(e.textEdit.replace), + }) + : (n.range = Ot(e.textEdit.range)), + (n.insertText = e.textEdit.newText)), + e.additionalTextEdits && + (n.additionalTextEdits = e.additionalTextEdits.map( + Nt + )), + e.insertTextFormat === O.Snippet && + (n.insertTextRules = + E.Mj.CompletionItemInsertTextRule.InsertAsSnippet), + n + ); + }); + return { isIncomplete: n.isIncomplete, suggestions: a }; + } + }); + }), + e + ); + })(); + function Ft(e) { + return 'string' == typeof e + ? { value: e } + : (t = e) && 'object' == typeof t && 'string' == typeof t.kind + ? 'plaintext' === e.kind + ? { value: e.value.replace(/[\\`*_{}[\]()#+\-.!]/g, '\\$&') } + : { value: e.value } + : { value: '```' + e.language + '\n' + e.value + '\n```\n' }; + var t; + } + function Bt(e) { + if (e) return Array.isArray(e) ? e.map(Ft) : [Ft(e)]; + } + var Gt = (function () { + function e(e) { + this._worker = e; + } + return ( + (e.prototype.provideHover = function (e, t, n) { + var i = e.uri; + return this._worker(i) + .then(function (e) { + return e.doHover(i.toString(), Pt(t)); + }) + .then(function (e) { + if (e) return { range: Ot(e.range), contents: Bt(e.contents) }; + }); + }), + e + ); + })(); + function Vt(e) { + var t = E.Mj.DocumentHighlightKind; + switch (e) { + case J.Read: + return t.Read; + case J.Write: + return t.Write; + case J.Text: + return t.Text; + } + return t.Text; + } + var Kt = (function () { + function e(e) { + this._worker = e; + } + return ( + (e.prototype.provideDocumentHighlights = function (e, t, n) { + var i = e.uri; + return this._worker(i) + .then(function (e) { + return e.findDocumentHighlights(i.toString(), Pt(t)); + }) + .then(function (e) { + if (e) + return e.map(function (e) { + return { range: Ot(e.range), kind: Vt(e.kind) }; + }); + }); + }), + e + ); + })(); + function Jt(e) { + var t = E.Mj.SymbolKind; + switch (e) { + case X.File: + return t.Array; + case X.Module: + return t.Module; + case X.Namespace: + return t.Namespace; + case X.Package: + return t.Package; + case X.Class: + return t.Class; + case X.Method: + return t.Method; + case X.Property: + return t.Property; + case X.Field: + return t.Field; + case X.Constructor: + return t.Constructor; + case X.Enum: + return t.Enum; + case X.Interface: + return t.Interface; + case X.Function: + return t.Function; + case X.Variable: + return t.Variable; + case X.Constant: + return t.Constant; + case X.String: + return t.String; + case X.Number: + return t.Number; + case X.Boolean: + return t.Boolean; + case X.Array: + return t.Array; + } + return t.Function; + } + var Yt = (function () { + function e(e) { + this._worker = e; + } + return ( + (e.prototype.provideDocumentSymbols = function (e, t) { + var n = e.uri; + return this._worker(n) + .then(function (e) { + return e.findDocumentSymbols(n.toString()); + }) + .then(function (e) { + if (e) + return e.map(function (e) { + return { + name: e.name, + detail: '', + containerName: e.containerName, + kind: Jt(e.kind), + tags: [], + range: Ot(e.location.range), + selectionRange: Ot(e.location.range), + }; + }); + }); + }), + e + ); + })(), + Xt = (function () { + function e(e) { + this._worker = e; + } + return ( + (e.prototype.provideLinks = function (e, t) { + var n = e.uri; + return this._worker(n) + .then(function (e) { + return e.findDocumentLinks(n.toString()); + }) + .then(function (e) { + if (e) + return { + links: e.map(function (e) { + return { range: Ot(e.range), url: e.target }; + }), + }; + }); + }), + e + ); + })(); + function $t(e) { + return { tabSize: e.tabSize, insertSpaces: e.insertSpaces }; + } + var Zt = (function () { + function e(e) { + this._worker = e; + } + return ( + (e.prototype.provideDocumentFormattingEdits = function (e, t, n) { + var i = e.uri; + return this._worker(i).then(function (e) { + return e.format(i.toString(), null, $t(t)).then(function (e) { + if (e && 0 !== e.length) return e.map(Nt); + }); + }); + }), + e + ); + })(), + Qt = (function () { + function e(e) { + this._worker = e; + } + return ( + (e.prototype.provideDocumentRangeFormattingEdits = function ( + e, + t, + n, + i + ) { + var r = e.uri; + return this._worker(r).then(function (e) { + return e + .format( + r.toString(), + (function (e) { + if (e) + return { + start: Pt(e.getStartPosition()), + end: Pt(e.getEndPosition()), + }; + })(t), + $t(n) + ) + .then(function (e) { + if (e && 0 !== e.length) return e.map(Nt); + }); + }); + }), + e + ); + })(), + en = (function () { + function e(e) { + this._worker = e; + } + return ( + (e.prototype.provideRenameEdits = function (e, t, n, i) { + var r = e.uri; + return this._worker(r) + .then(function (e) { + return e.doRename(r.toString(), Pt(t), n); + }) + .then(function (e) { + return (function (e) { + if (e && e.changes) { + var t = []; + for (var n in e.changes) + for ( + var i = E.Sf.parse(n), r = 0, a = e.changes[n]; + r < a.length; + r++ + ) { + var o = a[r]; + t.push({ + resource: i, + edit: { range: Ot(o.range), text: o.newText }, + }); + } + return { edits: t }; + } + })(e); + }); + }), + e + ); + })(), + tn = (function () { + function e(e) { + this._worker = e; + } + return ( + (e.prototype.provideFoldingRanges = function (e, t, n) { + var i = e.uri; + return this._worker(i) + .then(function (e) { + return e.getFoldingRanges(i.toString(), t); + }) + .then(function (e) { + if (e) + return e.map(function (e) { + var t = { start: e.startLine + 1, end: e.endLine + 1 }; + return ( + void 0 !== e.kind && + (t.kind = (function (e) { + switch (e) { + case h.Comment: + return E.Mj.FoldingRangeKind.Comment; + case h.Imports: + return E.Mj.FoldingRangeKind.Imports; + case h.Region: + return E.Mj.FoldingRangeKind.Region; + } + })(e.kind)), + t + ); + }); + }); + }), + e + ); + })(), + nn = (function () { + function e(e) { + this._worker = e; + } + return ( + (e.prototype.provideSelectionRanges = function (e, t, n) { + var i = e.uri; + return this._worker(i) + .then(function (e) { + return e.getSelectionRanges(i.toString(), t.map(Pt)); + }) + .then(function (e) { + if (e) + return e.map(function (e) { + for (var t = []; e; ) + t.push({ range: Ot(e.range) }), (e = e.parent); + return t; + }); + }); + }), + e + ); + })(); + function rn(e) { + var t = new A(e), + n = function () { + for (var e = [], n = 0; n < arguments.length; n++) + e[n] = arguments[n]; + return t.getLanguageServiceWorker.apply(t, e); + }, + i = e.languageId; + E.Mj.registerCompletionItemProvider(i, new jt(n)), + E.Mj.registerHoverProvider(i, new Gt(n)), + E.Mj.registerDocumentHighlightProvider(i, new Kt(n)), + E.Mj.registerLinkProvider(i, new Xt(n)), + E.Mj.registerFoldingRangeProvider(i, new tn(n)), + E.Mj.registerDocumentSymbolProvider(i, new Yt(n)), + E.Mj.registerSelectionRangeProvider(i, new nn(n)), + E.Mj.registerRenameProvider(i, new en(n)), + 'html' === i && + (E.Mj.registerDocumentFormattingEditProvider(i, new Zt(n)), + E.Mj.registerDocumentRangeFormattingEditProvider(i, new Qt(n)), + new Wt(i, n, e)); + } + function an(e) { + var t = [], + n = [], + i = new A(e); + t.push(i); + var r, + a, + o = function () { + for (var e = [], t = 0; t < arguments.length; t++) + e[t] = arguments[t]; + return i.getLanguageServiceWorker.apply(i, e); + }; + return ( + (r = e.languageId), + (a = e.modeConfiguration), + sn(n), + a.completionItems && + n.push(E.Mj.registerCompletionItemProvider(r, new jt(o))), + a.hovers && n.push(E.Mj.registerHoverProvider(r, new Gt(o))), + a.documentHighlights && + n.push(E.Mj.registerDocumentHighlightProvider(r, new Kt(o))), + a.links && n.push(E.Mj.registerLinkProvider(r, new Xt(o))), + a.documentSymbols && + n.push(E.Mj.registerDocumentSymbolProvider(r, new Yt(o))), + a.rename && n.push(E.Mj.registerRenameProvider(r, new en(o))), + a.foldingRanges && + n.push(E.Mj.registerFoldingRangeProvider(r, new tn(o))), + a.selectionRanges && + n.push(E.Mj.registerSelectionRangeProvider(r, new nn(o))), + a.documentFormattingEdits && + n.push(E.Mj.registerDocumentFormattingEditProvider(r, new Zt(o))), + a.documentRangeFormattingEdits && + n.push( + E.Mj.registerDocumentRangeFormattingEditProvider(r, new Qt(o)) + ), + a.diagnostics && n.push(new Wt(r, o, e)), + t.push(on(n)), + on(t) + ); + } + function on(e) { + return { + dispose: function () { + return sn(e); + }, + }; + } + function sn(e) { + for (; e.length; ) e.pop().dispose(); + } + }, + }, +]); diff --git a/docs/5593.5593.js b/docs/5593.5593.js new file mode 100644 index 00000000..8e3c78b2 --- /dev/null +++ b/docs/5593.5593.js @@ -0,0 +1,177 @@ +(self.webpackChunkmermaid_live_editor = + self.webpackChunkmermaid_live_editor || []).push([ + [5593], + { + 35593: (e, t, n) => { + 'use strict'; + n.r(t), n.d(t, { conf: () => i, language: () => r }); + var i = { + wordPattern: /(#?-?\d*\.\d\w*%?)|([@#!.:]?[\w-?]+%?)|[@#!.]/g, + comments: { blockComment: ['/*', '*/'], lineComment: '//' }, + brackets: [ + ['{', '}'], + ['[', ']'], + ['(', ')'], + ], + autoClosingPairs: [ + { open: '{', close: '}', notIn: ['string', 'comment'] }, + { open: '[', close: ']', notIn: ['string', 'comment'] }, + { open: '(', close: ')', notIn: ['string', 'comment'] }, + { open: '"', close: '"', notIn: ['string', 'comment'] }, + { open: "'", close: "'", notIn: ['string', 'comment'] }, + ], + surroundingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"' }, + { open: "'", close: "'" }, + ], + folding: { + markers: { + start: new RegExp('^\\s*\\/\\*\\s*#region\\b\\s*(.*?)\\s*\\*\\/'), + end: new RegExp('^\\s*\\/\\*\\s*#endregion\\b.*\\*\\/'), + }, + }, + }, + r = { + defaultToken: '', + tokenPostfix: '.less', + identifier: + '-?-?([a-zA-Z]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))([\\w\\-]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))*', + identifierPlus: + '-?-?([a-zA-Z:.]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))([\\w\\-:.]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))*', + brackets: [ + { open: '{', close: '}', token: 'delimiter.curly' }, + { open: '[', close: ']', token: 'delimiter.bracket' }, + { open: '(', close: ')', token: 'delimiter.parenthesis' }, + { open: '<', close: '>', token: 'delimiter.angle' }, + ], + tokenizer: { + root: [ + { include: '@nestedJSBegin' }, + ['[ \\t\\r\\n]+', ''], + { include: '@comments' }, + { include: '@keyword' }, + { include: '@strings' }, + { include: '@numbers' }, + [ + '[*_]?[a-zA-Z\\-\\s]+(?=:.*(;|(\\\\$)))', + 'attribute.name', + '@attribute', + ], + ['url(\\-prefix)?\\(', { token: 'tag', next: '@urldeclaration' }], + ['[{}()\\[\\]]', '@brackets'], + ['[,:;]', 'delimiter'], + ['#@identifierPlus', 'tag.id'], + ['&', 'tag'], + ['\\.@identifierPlus(?=\\()', 'tag.class', '@attribute'], + ['\\.@identifierPlus', 'tag.class'], + ['@identifierPlus', 'tag'], + { include: '@operators' }, + ['@(@identifier(?=[:,\\)]))', 'variable', '@attribute'], + ['@(@identifier)', 'variable'], + ['@', 'key', '@atRules'], + ], + nestedJSBegin: [ + ['``', 'delimiter.backtick'], + [ + '`', + { + token: 'delimiter.backtick', + next: '@nestedJSEnd', + nextEmbedded: 'text/javascript', + }, + ], + ], + nestedJSEnd: [ + [ + '`', + { + token: 'delimiter.backtick', + next: '@pop', + nextEmbedded: '@pop', + }, + ], + ], + operators: [['[<>=\\+\\-\\*\\/\\^\\|\\~]', 'operator']], + keyword: [ + [ + '(@[\\s]*import|![\\s]*important|true|false|when|iscolor|isnumber|isstring|iskeyword|isurl|ispixel|ispercentage|isem|hue|saturation|lightness|alpha|lighten|darken|saturate|desaturate|fadein|fadeout|fade|spin|mix|round|ceil|floor|percentage)\\b', + 'keyword', + ], + ], + urldeclaration: [ + { include: '@strings' }, + ['[^)\r\n]+', 'string'], + ['\\)', { token: 'tag', next: '@pop' }], + ], + attribute: [ + { include: '@nestedJSBegin' }, + { include: '@comments' }, + { include: '@strings' }, + { include: '@numbers' }, + { include: '@keyword' }, + ['[a-zA-Z\\-]+(?=\\()', 'attribute.value', '@attribute'], + ['>', 'operator', '@pop'], + ['@identifier', 'attribute.value'], + { include: '@operators' }, + ['@(@identifier)', 'variable'], + ['[)\\}]', '@brackets', '@pop'], + ['[{}()\\[\\]>]', '@brackets'], + ['[;]', 'delimiter', '@pop'], + ['[,=:]', 'delimiter'], + ['\\s', ''], + ['.', 'attribute.value'], + ], + comments: [ + ['\\/\\*', 'comment', '@comment'], + ['\\/\\/+.*', 'comment'], + ], + comment: [ + ['\\*\\/', 'comment', '@pop'], + ['.', 'comment'], + ], + numbers: [ + [ + '(\\d*\\.)?\\d+([eE][\\-+]?\\d+)?', + { token: 'attribute.value.number', next: '@units' }, + ], + ['#[0-9a-fA-F_]+(?!\\w)', 'attribute.value.hex'], + ], + units: [ + [ + '(em|ex|ch|rem|vmin|vmax|vw|vh|vm|cm|mm|in|px|pt|pc|deg|grad|rad|turn|s|ms|Hz|kHz|%)?', + 'attribute.value.unit', + '@pop', + ], + ], + strings: [ + [ + '~?"', + { token: 'string.delimiter', next: '@stringsEndDoubleQuote' }, + ], + ["~?'", { token: 'string.delimiter', next: '@stringsEndQuote' }], + ], + stringsEndDoubleQuote: [ + ['\\\\"', 'string'], + ['"', { token: 'string.delimiter', next: '@popall' }], + ['.', 'string'], + ], + stringsEndQuote: [ + ["\\\\'", 'string'], + ["'", { token: 'string.delimiter', next: '@popall' }], + ['.', 'string'], + ], + atRules: [ + { include: '@comments' }, + { include: '@strings' }, + ['[()]', 'delimiter'], + ['[\\{;]', 'delimiter', '@pop'], + ['.', 'key'], + ], + }, + }; + }, + }, +]); diff --git a/docs/5703.5703.js b/docs/5703.5703.js new file mode 100644 index 00000000..cf760ac2 --- /dev/null +++ b/docs/5703.5703.js @@ -0,0 +1,430 @@ +(self.webpackChunkmermaid_live_editor = + self.webpackChunkmermaid_live_editor || []).push([ + [5703], + { + 15703: (e, t, n) => { + 'use strict'; + n.r(t), n.d(t, { conf: () => m, language: () => i }); + var a = n(89587), + r = [ + 'area', + 'base', + 'br', + 'col', + 'embed', + 'hr', + 'img', + 'input', + 'keygen', + 'link', + 'menuitem', + 'meta', + 'param', + 'source', + 'track', + 'wbr', + ], + m = { + wordPattern: /(-?\d*\.\d\w*)|([^\`\~\!\@\$\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\s]+)/g, + comments: { blockComment: ['{{!--', '--}}'] }, + brackets: [ + ['\x3c!--', '--\x3e'], + ['<', '>'], + ['{{', '}}'], + ['{', '}'], + ['(', ')'], + ], + autoClosingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"' }, + { open: "'", close: "'" }, + ], + surroundingPairs: [ + { open: '<', close: '>' }, + { open: '"', close: '"' }, + { open: "'", close: "'" }, + ], + onEnterRules: [ + { + beforeText: new RegExp( + '<(?!(?:' + + r.join('|') + + '))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$', + 'i' + ), + afterText: /^<\/(\w[\w\d]*)\s*>$/i, + action: { indentAction: a.Mj.IndentAction.IndentOutdent }, + }, + { + beforeText: new RegExp( + '<(?!(?:' + + r.join('|') + + '))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$', + 'i' + ), + action: { indentAction: a.Mj.IndentAction.Indent }, + }, + ], + }, + i = { + defaultToken: '', + tokenPostfix: '', + tokenizer: { + root: [ + [/\{\{!--/, 'comment.block.start.handlebars', '@commentBlock'], + [/\{\{!/, 'comment.start.handlebars', '@comment'], + [ + /\{\{/, + { + token: '@rematch', + switchTo: '@handlebarsInSimpleState.root', + }, + ], + [/<!DOCTYPE/, 'metatag.html', '@doctype'], + [/<!--/, 'comment.html', '@commentHtml'], + [ + /(<)(\w+)(\/>)/, + ['delimiter.html', 'tag.html', 'delimiter.html'], + ], + [ + /(<)(script)/, + ['delimiter.html', { token: 'tag.html', next: '@script' }], + ], + [ + /(<)(style)/, + ['delimiter.html', { token: 'tag.html', next: '@style' }], + ], + [ + /(<)([:\w]+)/, + ['delimiter.html', { token: 'tag.html', next: '@otherTag' }], + ], + [ + /(<\/)(\w+)/, + ['delimiter.html', { token: 'tag.html', next: '@otherTag' }], + ], + [/</, 'delimiter.html'], + [/\{/, 'delimiter.html'], + [/[^<{]+/], + ], + doctype: [ + [ + /\{\{/, + { + token: '@rematch', + switchTo: '@handlebarsInSimpleState.comment', + }, + ], + [/[^>]+/, 'metatag.content.html'], + [/>/, 'metatag.html', '@pop'], + ], + comment: [ + [/\}\}/, 'comment.end.handlebars', '@pop'], + [/./, 'comment.content.handlebars'], + ], + commentBlock: [ + [/--\}\}/, 'comment.block.end.handlebars', '@pop'], + [/./, 'comment.content.handlebars'], + ], + commentHtml: [ + [ + /\{\{/, + { + token: '@rematch', + switchTo: '@handlebarsInSimpleState.comment', + }, + ], + [/-->/, 'comment.html', '@pop'], + [/[^-]+/, 'comment.content.html'], + [/./, 'comment.content.html'], + ], + otherTag: [ + [ + /\{\{/, + { + token: '@rematch', + switchTo: '@handlebarsInSimpleState.otherTag', + }, + ], + [/\/?>/, 'delimiter.html', '@pop'], + [/"([^"]*)"/, 'attribute.value'], + [/'([^']*)'/, 'attribute.value'], + [/[\w\-]+/, 'attribute.name'], + [/=/, 'delimiter'], + [/[ \t\r\n]+/], + ], + script: [ + [ + /\{\{/, + { + token: '@rematch', + switchTo: '@handlebarsInSimpleState.script', + }, + ], + [/type/, 'attribute.name', '@scriptAfterType'], + [/"([^"]*)"/, 'attribute.value'], + [/'([^']*)'/, 'attribute.value'], + [/[\w\-]+/, 'attribute.name'], + [/=/, 'delimiter'], + [ + />/, + { + token: 'delimiter.html', + next: '@scriptEmbedded.text/javascript', + nextEmbedded: 'text/javascript', + }, + ], + [/[ \t\r\n]+/], + [ + /(<\/)(script\s*)(>)/, + [ + 'delimiter.html', + 'tag.html', + { token: 'delimiter.html', next: '@pop' }, + ], + ], + ], + scriptAfterType: [ + [ + /\{\{/, + { + token: '@rematch', + switchTo: '@handlebarsInSimpleState.scriptAfterType', + }, + ], + [/=/, 'delimiter', '@scriptAfterTypeEquals'], + [ + />/, + { + token: 'delimiter.html', + next: '@scriptEmbedded.text/javascript', + nextEmbedded: 'text/javascript', + }, + ], + [/[ \t\r\n]+/], + [/<\/script\s*>/, { token: '@rematch', next: '@pop' }], + ], + scriptAfterTypeEquals: [ + [ + /\{\{/, + { + token: '@rematch', + switchTo: '@handlebarsInSimpleState.scriptAfterTypeEquals', + }, + ], + [ + /"([^"]*)"/, + { + token: 'attribute.value', + switchTo: '@scriptWithCustomType.$1', + }, + ], + [ + /'([^']*)'/, + { + token: 'attribute.value', + switchTo: '@scriptWithCustomType.$1', + }, + ], + [ + />/, + { + token: 'delimiter.html', + next: '@scriptEmbedded.text/javascript', + nextEmbedded: 'text/javascript', + }, + ], + [/[ \t\r\n]+/], + [/<\/script\s*>/, { token: '@rematch', next: '@pop' }], + ], + scriptWithCustomType: [ + [ + /\{\{/, + { + token: '@rematch', + switchTo: '@handlebarsInSimpleState.scriptWithCustomType.$S2', + }, + ], + [ + />/, + { + token: 'delimiter.html', + next: '@scriptEmbedded.$S2', + nextEmbedded: '$S2', + }, + ], + [/"([^"]*)"/, 'attribute.value'], + [/'([^']*)'/, 'attribute.value'], + [/[\w\-]+/, 'attribute.name'], + [/=/, 'delimiter'], + [/[ \t\r\n]+/], + [/<\/script\s*>/, { token: '@rematch', next: '@pop' }], + ], + scriptEmbedded: [ + [ + /\{\{/, + { + token: '@rematch', + switchTo: '@handlebarsInEmbeddedState.scriptEmbedded.$S2', + nextEmbedded: '@pop', + }, + ], + [ + /<\/script/, + { token: '@rematch', next: '@pop', nextEmbedded: '@pop' }, + ], + ], + style: [ + [ + /\{\{/, + { + token: '@rematch', + switchTo: '@handlebarsInSimpleState.style', + }, + ], + [/type/, 'attribute.name', '@styleAfterType'], + [/"([^"]*)"/, 'attribute.value'], + [/'([^']*)'/, 'attribute.value'], + [/[\w\-]+/, 'attribute.name'], + [/=/, 'delimiter'], + [ + />/, + { + token: 'delimiter.html', + next: '@styleEmbedded.text/css', + nextEmbedded: 'text/css', + }, + ], + [/[ \t\r\n]+/], + [ + /(<\/)(style\s*)(>)/, + [ + 'delimiter.html', + 'tag.html', + { token: 'delimiter.html', next: '@pop' }, + ], + ], + ], + styleAfterType: [ + [ + /\{\{/, + { + token: '@rematch', + switchTo: '@handlebarsInSimpleState.styleAfterType', + }, + ], + [/=/, 'delimiter', '@styleAfterTypeEquals'], + [ + />/, + { + token: 'delimiter.html', + next: '@styleEmbedded.text/css', + nextEmbedded: 'text/css', + }, + ], + [/[ \t\r\n]+/], + [/<\/style\s*>/, { token: '@rematch', next: '@pop' }], + ], + styleAfterTypeEquals: [ + [ + /\{\{/, + { + token: '@rematch', + switchTo: '@handlebarsInSimpleState.styleAfterTypeEquals', + }, + ], + [ + /"([^"]*)"/, + { + token: 'attribute.value', + switchTo: '@styleWithCustomType.$1', + }, + ], + [ + /'([^']*)'/, + { + token: 'attribute.value', + switchTo: '@styleWithCustomType.$1', + }, + ], + [ + />/, + { + token: 'delimiter.html', + next: '@styleEmbedded.text/css', + nextEmbedded: 'text/css', + }, + ], + [/[ \t\r\n]+/], + [/<\/style\s*>/, { token: '@rematch', next: '@pop' }], + ], + styleWithCustomType: [ + [ + /\{\{/, + { + token: '@rematch', + switchTo: '@handlebarsInSimpleState.styleWithCustomType.$S2', + }, + ], + [ + />/, + { + token: 'delimiter.html', + next: '@styleEmbedded.$S2', + nextEmbedded: '$S2', + }, + ], + [/"([^"]*)"/, 'attribute.value'], + [/'([^']*)'/, 'attribute.value'], + [/[\w\-]+/, 'attribute.name'], + [/=/, 'delimiter'], + [/[ \t\r\n]+/], + [/<\/style\s*>/, { token: '@rematch', next: '@pop' }], + ], + styleEmbedded: [ + [ + /\{\{/, + { + token: '@rematch', + switchTo: '@handlebarsInEmbeddedState.styleEmbedded.$S2', + nextEmbedded: '@pop', + }, + ], + [ + /<\/style/, + { token: '@rematch', next: '@pop', nextEmbedded: '@pop' }, + ], + ], + handlebarsInSimpleState: [ + [/\{\{\{?/, 'delimiter.handlebars'], + [ + /\}\}\}?/, + { token: 'delimiter.handlebars', switchTo: '@$S2.$S3' }, + ], + { include: 'handlebarsRoot' }, + ], + handlebarsInEmbeddedState: [ + [/\{\{\{?/, 'delimiter.handlebars'], + [ + /\}\}\}?/, + { + token: 'delimiter.handlebars', + switchTo: '@$S2.$S3', + nextEmbedded: '$S3', + }, + ], + { include: 'handlebarsRoot' }, + ], + handlebarsRoot: [ + [/"[^"]*"/, 'string.handlebars'], + [/[#/][^\s}]+/, 'keyword.helper.handlebars'], + [/else\b/, 'keyword.helper.handlebars'], + [/[\s]+/], + [/[^}]/, 'variable.parameter.handlebars'], + ], + }, + }; + }, + }, +]); diff --git a/docs/5849.5849.js b/docs/5849.5849.js new file mode 100644 index 00000000..5845b73b --- /dev/null +++ b/docs/5849.5849.js @@ -0,0 +1,128 @@ +(self.webpackChunkmermaid_live_editor = + self.webpackChunkmermaid_live_editor || []).push([ + [5849], + { + 25849: (e, s, o) => { + 'use strict'; + o.r(s), o.d(s, { conf: () => n, language: () => l }); + var n = { + brackets: [ + ['{', '}'], + ['[', ']'], + ['(', ')'], + ], + autoClosingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"' }, + { open: "'", close: "'" }, + ], + surroundingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"' }, + { open: "'", close: "'" }, + ], + }, + l = { + defaultToken: '', + tokenPostfix: '.dockerfile', + variable: /\${?[\w]+}?/, + tokenizer: { + root: [ + { include: '@whitespace' }, + { include: '@comment' }, + [/(ONBUILD)(\s+)/, ['keyword', '']], + [ + /(ENV)(\s+)([\w]+)/, + ['keyword', '', { token: 'variable', next: '@arguments' }], + ], + [ + /(FROM|MAINTAINER|RUN|EXPOSE|ENV|ADD|ARG|VOLUME|LABEL|USER|WORKDIR|COPY|CMD|STOPSIGNAL|SHELL|HEALTHCHECK|ENTRYPOINT)/, + { token: 'keyword', next: '@arguments' }, + ], + ], + arguments: [ + { include: '@whitespace' }, + { include: '@strings' }, + [ + /(@variable)/, + { + cases: { + '@eos': { token: 'variable', next: '@popall' }, + '@default': 'variable', + }, + }, + ], + [/\\/, { cases: { '@eos': '', '@default': '' } }], + [ + /./, + { + cases: { + '@eos': { token: '', next: '@popall' }, + '@default': '', + }, + }, + ], + ], + whitespace: [ + [ + /\s+/, + { + cases: { + '@eos': { token: '', next: '@popall' }, + '@default': '', + }, + }, + ], + ], + comment: [[/(^#.*$)/, 'comment', '@popall']], + strings: [ + [/\\'$/, '', '@popall'], + [/\\'/, ''], + [/'$/, 'string', '@popall'], + [/'/, 'string', '@stringBody'], + [/"$/, 'string', '@popall'], + [/"/, 'string', '@dblStringBody'], + ], + stringBody: [ + [ + /[^\\\$']/, + { + cases: { + '@eos': { token: 'string', next: '@popall' }, + '@default': 'string', + }, + }, + ], + [/\\./, 'string.escape'], + [/'$/, 'string', '@popall'], + [/'/, 'string', '@pop'], + [/(@variable)/, 'variable'], + [/\\$/, 'string'], + [/$/, 'string', '@popall'], + ], + dblStringBody: [ + [ + /[^\\\$"]/, + { + cases: { + '@eos': { token: 'string', next: '@popall' }, + '@default': 'string', + }, + }, + ], + [/\\./, 'string.escape'], + [/"$/, 'string', '@popall'], + [/"/, 'string', '@pop'], + [/(@variable)/, 'variable'], + [/\\$/, 'string'], + [/$/, 'string', '@popall'], + ], + }, + }; + }, + }, +]); diff --git a/docs/6082.6082.js b/docs/6082.6082.js new file mode 100644 index 00000000..f8db8149 --- /dev/null +++ b/docs/6082.6082.js @@ -0,0 +1,237 @@ +(self.webpackChunkmermaid_live_editor = + self.webpackChunkmermaid_live_editor || []).push([ + [6082], + { + 86082: (e, t, o) => { + 'use strict'; + o.r(t), o.d(t, { conf: () => r, language: () => n }); + var r = { + wordPattern: /(-?\d*\.\d\w*)|([^\`\~\!\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g, + comments: { lineComment: '//', blockComment: ['{', '}'] }, + brackets: [ + ['{', '}'], + ['[', ']'], + ['(', ')'], + ['<', '>'], + ], + autoClosingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '<', close: '>' }, + { open: "'", close: "'" }, + ], + surroundingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '<', close: '>' }, + { open: "'", close: "'" }, + ], + folding: { + markers: { + start: new RegExp("^\\s*\\{\\$REGION(\\s\\'.*\\')?\\}"), + end: new RegExp('^\\s*\\{\\$ENDREGION\\}'), + }, + }, + }, + n = { + defaultToken: '', + tokenPostfix: '.pascal', + ignoreCase: !0, + brackets: [ + { open: '{', close: '}', token: 'delimiter.curly' }, + { open: '[', close: ']', token: 'delimiter.square' }, + { open: '(', close: ')', token: 'delimiter.parenthesis' }, + { open: '<', close: '>', token: 'delimiter.angle' }, + ], + keywords: [ + 'absolute', + 'abstract', + 'all', + 'and_then', + 'array', + 'as', + 'asm', + 'attribute', + 'begin', + 'bindable', + 'case', + 'class', + 'const', + 'contains', + 'default', + 'div', + 'else', + 'end', + 'except', + 'exports', + 'external', + 'far', + 'file', + 'finalization', + 'finally', + 'forward', + 'generic', + 'goto', + 'if', + 'implements', + 'import', + 'in', + 'index', + 'inherited', + 'initialization', + 'interrupt', + 'is', + 'label', + 'library', + 'mod', + 'module', + 'name', + 'near', + 'not', + 'object', + 'of', + 'on', + 'only', + 'operator', + 'or_else', + 'otherwise', + 'override', + 'package', + 'packed', + 'pow', + 'private', + 'program', + 'protected', + 'public', + 'published', + 'interface', + 'implementation', + 'qualified', + 'read', + 'record', + 'resident', + 'requires', + 'resourcestring', + 'restricted', + 'segment', + 'set', + 'shl', + 'shr', + 'specialize', + 'stored', + 'then', + 'threadvar', + 'to', + 'try', + 'type', + 'unit', + 'uses', + 'var', + 'view', + 'virtual', + 'dynamic', + 'overload', + 'reintroduce', + 'with', + 'write', + 'xor', + 'true', + 'false', + 'procedure', + 'function', + 'constructor', + 'destructor', + 'property', + 'break', + 'continue', + 'exit', + 'abort', + 'while', + 'do', + 'for', + 'raise', + 'repeat', + 'until', + ], + typeKeywords: [ + 'boolean', + 'double', + 'byte', + 'integer', + 'shortint', + 'char', + 'longint', + 'float', + 'string', + ], + operators: [ + '=', + '>', + '<', + '<=', + '>=', + '<>', + ':', + ':=', + 'and', + 'or', + '+', + '-', + '*', + '/', + '@', + '&', + '^', + '%', + ], + symbols: /[=><:@\^&|+\-*\/\^%]+/, + tokenizer: { + root: [ + [ + /[a-zA-Z_][\w]*/, + { + cases: { + '@keywords': { token: 'keyword.$0' }, + '@default': 'identifier', + }, + }, + ], + { include: '@whitespace' }, + [/[{}()\[\]]/, '@brackets'], + [/[<>](?!@symbols)/, '@brackets'], + [ + /@symbols/, + { cases: { '@operators': 'delimiter', '@default': '' } }, + ], + [/\d*\.\d+([eE][\-+]?\d+)?/, 'number.float'], + [/\$[0-9a-fA-F]{1,16}/, 'number.hex'], + [/\d+/, 'number'], + [/[;,.]/, 'delimiter'], + [/'([^'\\]|\\.)*$/, 'string.invalid'], + [/'/, 'string', '@string'], + [/'[^\\']'/, 'string'], + [/'/, 'string.invalid'], + [/\#\d+/, 'string'], + ], + comment: [ + [/[^\*\}]+/, 'comment'], + [/\}/, 'comment', '@pop'], + [/[\{]/, 'comment'], + ], + string: [ + [/[^\\']+/, 'string'], + [/\\./, 'string.escape.invalid'], + [/'/, { token: 'string.quote', bracket: '@close', next: '@pop' }], + ], + whitespace: [ + [/[ \t\r\n]+/, 'white'], + [/\{/, 'comment', '@comment'], + [/\/\/.*$/, 'comment'], + ], + }, + }; + }, + }, +]); diff --git a/docs/6241.6241.js b/docs/6241.6241.js new file mode 100644 index 00000000..a8dd846e --- /dev/null +++ b/docs/6241.6241.js @@ -0,0 +1,212 @@ +(self.webpackChunkmermaid_live_editor = + self.webpackChunkmermaid_live_editor || []).push([ + [6241], + { + 96241: (e, n, t) => { + 'use strict'; + t.r(n), t.d(n, { conf: () => s, language: () => i }); + var s = { + comments: { lineComment: '//', blockComment: ['(*', '*)'] }, + brackets: [ + ['{', '}'], + ['[', ']'], + ['(', ')'], + ], + autoClosingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"' }, + ], + surroundingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"' }, + { open: "'", close: "'" }, + ], + folding: { + markers: { + start: new RegExp( + '^\\s*//\\s*#region\\b|^\\s*\\(\\*\\s*#region(.*)\\*\\)' + ), + end: new RegExp( + '^\\s*//\\s*#endregion\\b|^\\s*\\(\\*\\s*#endregion\\s*\\*\\)' + ), + }, + }, + }, + i = { + defaultToken: '', + tokenPostfix: '.fs', + keywords: [ + 'abstract', + 'and', + 'atomic', + 'as', + 'assert', + 'asr', + 'base', + 'begin', + 'break', + 'checked', + 'component', + 'const', + 'constraint', + 'constructor', + 'continue', + 'class', + 'default', + 'delegate', + 'do', + 'done', + 'downcast', + 'downto', + 'elif', + 'else', + 'end', + 'exception', + 'eager', + 'event', + 'external', + 'extern', + 'false', + 'finally', + 'for', + 'fun', + 'function', + 'fixed', + 'functor', + 'global', + 'if', + 'in', + 'include', + 'inherit', + 'inline', + 'interface', + 'internal', + 'land', + 'lor', + 'lsl', + 'lsr', + 'lxor', + 'lazy', + 'let', + 'match', + 'member', + 'mod', + 'module', + 'mutable', + 'namespace', + 'method', + 'mixin', + 'new', + 'not', + 'null', + 'of', + 'open', + 'or', + 'object', + 'override', + 'private', + 'parallel', + 'process', + 'protected', + 'pure', + 'public', + 'rec', + 'return', + 'static', + 'sealed', + 'struct', + 'sig', + 'then', + 'to', + 'true', + 'tailcall', + 'trait', + 'try', + 'type', + 'upcast', + 'use', + 'val', + 'void', + 'virtual', + 'volatile', + 'when', + 'while', + 'with', + 'yield', + ], + symbols: /[=><!~?:&|+\-*\^%;\.,\/]+/, + escapes: /\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/, + integersuffix: /[uU]?[yslnLI]?/, + floatsuffix: /[fFmM]?/, + tokenizer: { + root: [ + [ + /[a-zA-Z_]\w*/, + { + cases: { + '@keywords': { token: 'keyword.$0' }, + '@default': 'identifier', + }, + }, + ], + { include: '@whitespace' }, + [/\[<.*>\]/, 'annotation'], + [/^#(if|else|endif)/, 'keyword'], + [/[{}()\[\]]/, '@brackets'], + [/[<>](?!@symbols)/, '@brackets'], + [/@symbols/, 'delimiter'], + [/\d*\d+[eE]([\-+]?\d+)?(@floatsuffix)/, 'number.float'], + [/\d*\.\d+([eE][\-+]?\d+)?(@floatsuffix)/, 'number.float'], + [/0x[0-9a-fA-F]+LF/, 'number.float'], + [/0x[0-9a-fA-F]+(@integersuffix)/, 'number.hex'], + [/0b[0-1]+(@integersuffix)/, 'number.bin'], + [/\d+(@integersuffix)/, 'number'], + [/[;,.]/, 'delimiter'], + [/"([^"\\]|\\.)*$/, 'string.invalid'], + [/"""/, 'string', '@string."""'], + [/"/, 'string', '@string."'], + [/\@"/, { token: 'string.quote', next: '@litstring' }], + [/'[^\\']'B?/, 'string'], + [/(')(@escapes)(')/, ['string', 'string.escape', 'string']], + [/'/, 'string.invalid'], + ], + whitespace: [ + [/[ \t\r\n]+/, ''], + [/\(\*(?!\))/, 'comment', '@comment'], + [/\/\/.*$/, 'comment'], + ], + comment: [ + [/[^*(]+/, 'comment'], + [/\*\)/, 'comment', '@pop'], + [/\*/, 'comment'], + [/\(\*\)/, 'comment'], + [/\(/, 'comment'], + ], + string: [ + [/[^\\"]+/, 'string'], + [/@escapes/, 'string.escape'], + [/\\./, 'string.escape.invalid'], + [ + /("""|"B?)/, + { + cases: { + '$#==$S2': { token: 'string', next: '@pop' }, + '@default': 'string', + }, + }, + ], + ], + litstring: [ + [/[^"]+/, 'string'], + [/""/, 'string.escape'], + [/"/, { token: 'string.quote', next: '@pop' }], + ], + }, + }; + }, + }, +]); diff --git a/docs/6424.6424.js b/docs/6424.6424.js new file mode 100644 index 00000000..35bd4a23 --- /dev/null +++ b/docs/6424.6424.js @@ -0,0 +1,572 @@ +(self.webpackChunkmermaid_live_editor = + self.webpackChunkmermaid_live_editor || []).push([ + [6424], + { + 76424: (e, t, r) => { + 'use strict'; + r.r(t), r.d(t, { conf: () => m, language: () => n }); + var o = r(89587), + i = [ + 'area', + 'base', + 'br', + 'col', + 'embed', + 'hr', + 'img', + 'input', + 'keygen', + 'link', + 'menuitem', + 'meta', + 'param', + 'source', + 'track', + 'wbr', + ], + m = { + wordPattern: /(-?\d*\.\d\w*)|([^\`\~\!\@\$\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\s]+)/g, + comments: { blockComment: ['\x3c!--', '--\x3e'] }, + brackets: [ + ['\x3c!--', '--\x3e'], + ['<', '>'], + ['{', '}'], + ['(', ')'], + ], + autoClosingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"' }, + { open: "'", close: "'" }, + ], + surroundingPairs: [ + { open: '"', close: '"' }, + { open: "'", close: "'" }, + { open: '<', close: '>' }, + ], + onEnterRules: [ + { + beforeText: new RegExp( + '<(?!(?:' + + i.join('|') + + '))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$', + 'i' + ), + afterText: /^<\/(\w[\w\d]*)\s*>$/i, + action: { indentAction: o.Mj.IndentAction.IndentOutdent }, + }, + { + beforeText: new RegExp( + '<(?!(?:' + + i.join('|') + + '))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$', + 'i' + ), + action: { indentAction: o.Mj.IndentAction.Indent }, + }, + ], + }, + n = { + defaultToken: '', + tokenPostfix: '', + tokenizer: { + root: [ + [/@@/], + [ + /@[^@]/, + { token: '@rematch', switchTo: '@razorInSimpleState.root' }, + ], + [/<!DOCTYPE/, 'metatag.html', '@doctype'], + [/<!--/, 'comment.html', '@comment'], + [ + /(<)(\w+)(\/>)/, + ['delimiter.html', 'tag.html', 'delimiter.html'], + ], + [ + /(<)(script)/, + ['delimiter.html', { token: 'tag.html', next: '@script' }], + ], + [ + /(<)(style)/, + ['delimiter.html', { token: 'tag.html', next: '@style' }], + ], + [ + /(<)([:\w]+)/, + ['delimiter.html', { token: 'tag.html', next: '@otherTag' }], + ], + [ + /(<\/)(\w+)/, + ['delimiter.html', { token: 'tag.html', next: '@otherTag' }], + ], + [/</, 'delimiter.html'], + [/[ \t\r\n]+/], + [/[^<@]+/], + ], + doctype: [ + [ + /@[^@]/, + { token: '@rematch', switchTo: '@razorInSimpleState.comment' }, + ], + [/[^>]+/, 'metatag.content.html'], + [/>/, 'metatag.html', '@pop'], + ], + comment: [ + [ + /@[^@]/, + { token: '@rematch', switchTo: '@razorInSimpleState.comment' }, + ], + [/-->/, 'comment.html', '@pop'], + [/[^-]+/, 'comment.content.html'], + [/./, 'comment.content.html'], + ], + otherTag: [ + [ + /@[^@]/, + { token: '@rematch', switchTo: '@razorInSimpleState.otherTag' }, + ], + [/\/?>/, 'delimiter.html', '@pop'], + [/"([^"]*)"/, 'attribute.value'], + [/'([^']*)'/, 'attribute.value'], + [/[\w\-]+/, 'attribute.name'], + [/=/, 'delimiter'], + [/[ \t\r\n]+/], + ], + script: [ + [ + /@[^@]/, + { token: '@rematch', switchTo: '@razorInSimpleState.script' }, + ], + [/type/, 'attribute.name', '@scriptAfterType'], + [/"([^"]*)"/, 'attribute.value'], + [/'([^']*)'/, 'attribute.value'], + [/[\w\-]+/, 'attribute.name'], + [/=/, 'delimiter'], + [ + />/, + { + token: 'delimiter.html', + next: '@scriptEmbedded.text/javascript', + nextEmbedded: 'text/javascript', + }, + ], + [/[ \t\r\n]+/], + [ + /(<\/)(script\s*)(>)/, + [ + 'delimiter.html', + 'tag.html', + { token: 'delimiter.html', next: '@pop' }, + ], + ], + ], + scriptAfterType: [ + [ + /@[^@]/, + { + token: '@rematch', + switchTo: '@razorInSimpleState.scriptAfterType', + }, + ], + [/=/, 'delimiter', '@scriptAfterTypeEquals'], + [ + />/, + { + token: 'delimiter.html', + next: '@scriptEmbedded.text/javascript', + nextEmbedded: 'text/javascript', + }, + ], + [/[ \t\r\n]+/], + [/<\/script\s*>/, { token: '@rematch', next: '@pop' }], + ], + scriptAfterTypeEquals: [ + [ + /@[^@]/, + { + token: '@rematch', + switchTo: '@razorInSimpleState.scriptAfterTypeEquals', + }, + ], + [ + /"([^"]*)"/, + { + token: 'attribute.value', + switchTo: '@scriptWithCustomType.$1', + }, + ], + [ + /'([^']*)'/, + { + token: 'attribute.value', + switchTo: '@scriptWithCustomType.$1', + }, + ], + [ + />/, + { + token: 'delimiter.html', + next: '@scriptEmbedded.text/javascript', + nextEmbedded: 'text/javascript', + }, + ], + [/[ \t\r\n]+/], + [/<\/script\s*>/, { token: '@rematch', next: '@pop' }], + ], + scriptWithCustomType: [ + [ + /@[^@]/, + { + token: '@rematch', + switchTo: '@razorInSimpleState.scriptWithCustomType.$S2', + }, + ], + [ + />/, + { + token: 'delimiter.html', + next: '@scriptEmbedded.$S2', + nextEmbedded: '$S2', + }, + ], + [/"([^"]*)"/, 'attribute.value'], + [/'([^']*)'/, 'attribute.value'], + [/[\w\-]+/, 'attribute.name'], + [/=/, 'delimiter'], + [/[ \t\r\n]+/], + [/<\/script\s*>/, { token: '@rematch', next: '@pop' }], + ], + scriptEmbedded: [ + [ + /@[^@]/, + { + token: '@rematch', + switchTo: '@razorInEmbeddedState.scriptEmbedded.$S2', + nextEmbedded: '@pop', + }, + ], + [ + /<\/script/, + { token: '@rematch', next: '@pop', nextEmbedded: '@pop' }, + ], + ], + style: [ + [ + /@[^@]/, + { token: '@rematch', switchTo: '@razorInSimpleState.style' }, + ], + [/type/, 'attribute.name', '@styleAfterType'], + [/"([^"]*)"/, 'attribute.value'], + [/'([^']*)'/, 'attribute.value'], + [/[\w\-]+/, 'attribute.name'], + [/=/, 'delimiter'], + [ + />/, + { + token: 'delimiter.html', + next: '@styleEmbedded.text/css', + nextEmbedded: 'text/css', + }, + ], + [/[ \t\r\n]+/], + [ + /(<\/)(style\s*)(>)/, + [ + 'delimiter.html', + 'tag.html', + { token: 'delimiter.html', next: '@pop' }, + ], + ], + ], + styleAfterType: [ + [ + /@[^@]/, + { + token: '@rematch', + switchTo: '@razorInSimpleState.styleAfterType', + }, + ], + [/=/, 'delimiter', '@styleAfterTypeEquals'], + [ + />/, + { + token: 'delimiter.html', + next: '@styleEmbedded.text/css', + nextEmbedded: 'text/css', + }, + ], + [/[ \t\r\n]+/], + [/<\/style\s*>/, { token: '@rematch', next: '@pop' }], + ], + styleAfterTypeEquals: [ + [ + /@[^@]/, + { + token: '@rematch', + switchTo: '@razorInSimpleState.styleAfterTypeEquals', + }, + ], + [ + /"([^"]*)"/, + { + token: 'attribute.value', + switchTo: '@styleWithCustomType.$1', + }, + ], + [ + /'([^']*)'/, + { + token: 'attribute.value', + switchTo: '@styleWithCustomType.$1', + }, + ], + [ + />/, + { + token: 'delimiter.html', + next: '@styleEmbedded.text/css', + nextEmbedded: 'text/css', + }, + ], + [/[ \t\r\n]+/], + [/<\/style\s*>/, { token: '@rematch', next: '@pop' }], + ], + styleWithCustomType: [ + [ + /@[^@]/, + { + token: '@rematch', + switchTo: '@razorInSimpleState.styleWithCustomType.$S2', + }, + ], + [ + />/, + { + token: 'delimiter.html', + next: '@styleEmbedded.$S2', + nextEmbedded: '$S2', + }, + ], + [/"([^"]*)"/, 'attribute.value'], + [/'([^']*)'/, 'attribute.value'], + [/[\w\-]+/, 'attribute.name'], + [/=/, 'delimiter'], + [/[ \t\r\n]+/], + [/<\/style\s*>/, { token: '@rematch', next: '@pop' }], + ], + styleEmbedded: [ + [ + /@[^@]/, + { + token: '@rematch', + switchTo: '@razorInEmbeddedState.styleEmbedded.$S2', + nextEmbedded: '@pop', + }, + ], + [ + /<\/style/, + { token: '@rematch', next: '@pop', nextEmbedded: '@pop' }, + ], + ], + razorInSimpleState: [ + [/@\*/, 'comment.cs', '@razorBlockCommentTopLevel'], + [/@[{(]/, 'metatag.cs', '@razorRootTopLevel'], + [ + /(@)(\s*[\w]+)/, + [ + 'metatag.cs', + { token: 'identifier.cs', switchTo: '@$S2.$S3' }, + ], + ], + [/[})]/, { token: 'metatag.cs', switchTo: '@$S2.$S3' }], + [/\*@/, { token: 'comment.cs', switchTo: '@$S2.$S3' }], + ], + razorInEmbeddedState: [ + [/@\*/, 'comment.cs', '@razorBlockCommentTopLevel'], + [/@[{(]/, 'metatag.cs', '@razorRootTopLevel'], + [ + /(@)(\s*[\w]+)/, + [ + 'metatag.cs', + { + token: 'identifier.cs', + switchTo: '@$S2.$S3', + nextEmbedded: '$S3', + }, + ], + ], + [ + /[})]/, + { + token: 'metatag.cs', + switchTo: '@$S2.$S3', + nextEmbedded: '$S3', + }, + ], + [ + /\*@/, + { + token: 'comment.cs', + switchTo: '@$S2.$S3', + nextEmbedded: '$S3', + }, + ], + ], + razorBlockCommentTopLevel: [ + [/\*@/, '@rematch', '@pop'], + [/[^*]+/, 'comment.cs'], + [/./, 'comment.cs'], + ], + razorBlockComment: [ + [/\*@/, 'comment.cs', '@pop'], + [/[^*]+/, 'comment.cs'], + [/./, 'comment.cs'], + ], + razorRootTopLevel: [ + [/\{/, 'delimiter.bracket.cs', '@razorRoot'], + [/\(/, 'delimiter.parenthesis.cs', '@razorRoot'], + [/[})]/, '@rematch', '@pop'], + { include: 'razorCommon' }, + ], + razorRoot: [ + [/\{/, 'delimiter.bracket.cs', '@razorRoot'], + [/\(/, 'delimiter.parenthesis.cs', '@razorRoot'], + [/\}/, 'delimiter.bracket.cs', '@pop'], + [/\)/, 'delimiter.parenthesis.cs', '@pop'], + { include: 'razorCommon' }, + ], + razorCommon: [ + [ + /[a-zA-Z_]\w*/, + { + cases: { + '@razorKeywords': { token: 'keyword.cs' }, + '@default': 'identifier.cs', + }, + }, + ], + [/[\[\]]/, 'delimiter.array.cs'], + [/[ \t\r\n]+/], + [/\/\/.*$/, 'comment.cs'], + [/@\*/, 'comment.cs', '@razorBlockComment'], + [/"([^"]*)"/, 'string.cs'], + [/'([^']*)'/, 'string.cs'], + [ + /(<)(\w+)(\/>)/, + ['delimiter.html', 'tag.html', 'delimiter.html'], + ], + [/(<)(\w+)(>)/, ['delimiter.html', 'tag.html', 'delimiter.html']], + [ + /(<\/)(\w+)(>)/, + ['delimiter.html', 'tag.html', 'delimiter.html'], + ], + [/[\+\-\*\%\&\|\^\~\!\=\<\>\/\?\;\:\.\,]/, 'delimiter.cs'], + [/\d*\d+[eE]([\-+]?\d+)?/, 'number.float.cs'], + [/\d*\.\d+([eE][\-+]?\d+)?/, 'number.float.cs'], + [/0[xX][0-9a-fA-F']*[0-9a-fA-F]/, 'number.hex.cs'], + [/0[0-7']*[0-7]/, 'number.octal.cs'], + [/0[bB][0-1']*[0-1]/, 'number.binary.cs'], + [/\d[\d']*/, 'number.cs'], + [/\d/, 'number.cs'], + ], + }, + razorKeywords: [ + 'abstract', + 'as', + 'async', + 'await', + 'base', + 'bool', + 'break', + 'by', + 'byte', + 'case', + 'catch', + 'char', + 'checked', + 'class', + 'const', + 'continue', + 'decimal', + 'default', + 'delegate', + 'do', + 'double', + 'descending', + 'explicit', + 'event', + 'extern', + 'else', + 'enum', + 'false', + 'finally', + 'fixed', + 'float', + 'for', + 'foreach', + 'from', + 'goto', + 'group', + 'if', + 'implicit', + 'in', + 'int', + 'interface', + 'internal', + 'into', + 'is', + 'lock', + 'long', + 'nameof', + 'new', + 'null', + 'namespace', + 'object', + 'operator', + 'out', + 'override', + 'orderby', + 'params', + 'private', + 'protected', + 'public', + 'readonly', + 'ref', + 'return', + 'switch', + 'struct', + 'sbyte', + 'sealed', + 'short', + 'sizeof', + 'stackalloc', + 'static', + 'string', + 'select', + 'this', + 'throw', + 'true', + 'try', + 'typeof', + 'uint', + 'ulong', + 'unchecked', + 'unsafe', + 'ushort', + 'using', + 'var', + 'virtual', + 'volatile', + 'void', + 'when', + 'while', + 'where', + 'yield', + 'model', + 'inject', + ], + escapes: /\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/, + }; + }, + }, +]); diff --git a/docs/6449.6449.js b/docs/6449.6449.js new file mode 100644 index 00000000..64d64ba6 --- /dev/null +++ b/docs/6449.6449.js @@ -0,0 +1,804 @@ +(self.webpackChunkmermaid_live_editor = + self.webpackChunkmermaid_live_editor || []).push([ + [6449], + { + 56449: (e, _, t) => { + 'use strict'; + t.r(_), t.d(_, { conf: () => r, language: () => i }); + var r = { + comments: { lineComment: '--', blockComment: ['/*', '*/'] }, + brackets: [ + ['{', '}'], + ['[', ']'], + ['(', ')'], + ], + autoClosingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"' }, + { open: "'", close: "'" }, + ], + surroundingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"' }, + { open: "'", close: "'" }, + ], + }, + i = { + defaultToken: '', + tokenPostfix: '.sql', + ignoreCase: !0, + brackets: [ + { open: '[', close: ']', token: 'delimiter.square' }, + { open: '(', close: ')', token: 'delimiter.parenthesis' }, + ], + keywords: [ + 'AES128', + 'AES256', + 'ALL', + 'ALLOWOVERWRITE', + 'ANALYSE', + 'ANALYZE', + 'AND', + 'ANY', + 'ARRAY', + 'AS', + 'ASC', + 'AUTHORIZATION', + 'BACKUP', + 'BETWEEN', + 'BINARY', + 'BLANKSASNULL', + 'BOTH', + 'BYTEDICT', + 'BZIP2', + 'CASE', + 'CAST', + 'CHECK', + 'COLLATE', + 'COLUMN', + 'CONSTRAINT', + 'CREATE', + 'CREDENTIALS', + 'CROSS', + 'CURRENT_DATE', + 'CURRENT_TIME', + 'CURRENT_TIMESTAMP', + 'CURRENT_USER', + 'CURRENT_USER_ID', + 'DEFAULT', + 'DEFERRABLE', + 'DEFLATE', + 'DEFRAG', + 'DELTA', + 'DELTA32K', + 'DESC', + 'DISABLE', + 'DISTINCT', + 'DO', + 'ELSE', + 'EMPTYASNULL', + 'ENABLE', + 'ENCODE', + 'ENCRYPT', + 'ENCRYPTION', + 'END', + 'EXCEPT', + 'EXPLICIT', + 'FALSE', + 'FOR', + 'FOREIGN', + 'FREEZE', + 'FROM', + 'FULL', + 'GLOBALDICT256', + 'GLOBALDICT64K', + 'GRANT', + 'GROUP', + 'GZIP', + 'HAVING', + 'IDENTITY', + 'IGNORE', + 'ILIKE', + 'IN', + 'INITIALLY', + 'INNER', + 'INTERSECT', + 'INTO', + 'IS', + 'ISNULL', + 'JOIN', + 'LEADING', + 'LEFT', + 'LIKE', + 'LIMIT', + 'LOCALTIME', + 'LOCALTIMESTAMP', + 'LUN', + 'LUNS', + 'LZO', + 'LZOP', + 'MINUS', + 'MOSTLY13', + 'MOSTLY32', + 'MOSTLY8', + 'NATURAL', + 'NEW', + 'NOT', + 'NOTNULL', + 'NULL', + 'NULLS', + 'OFF', + 'OFFLINE', + 'OFFSET', + 'OID', + 'OLD', + 'ON', + 'ONLY', + 'OPEN', + 'OR', + 'ORDER', + 'OUTER', + 'OVERLAPS', + 'PARALLEL', + 'PARTITION', + 'PERCENT', + 'PERMISSIONS', + 'PLACING', + 'PRIMARY', + 'RAW', + 'READRATIO', + 'RECOVER', + 'REFERENCES', + 'RESPECT', + 'REJECTLOG', + 'RESORT', + 'RESTORE', + 'RIGHT', + 'SELECT', + 'SESSION_USER', + 'SIMILAR', + 'SNAPSHOT', + 'SOME', + 'SYSDATE', + 'SYSTEM', + 'TABLE', + 'TAG', + 'TDES', + 'TEXT255', + 'TEXT32K', + 'THEN', + 'TIMESTAMP', + 'TO', + 'TOP', + 'TRAILING', + 'TRUE', + 'TRUNCATECOLUMNS', + 'UNION', + 'UNIQUE', + 'USER', + 'USING', + 'VERBOSE', + 'WALLET', + 'WHEN', + 'WHERE', + 'WITH', + 'WITHOUT', + ], + operators: [ + 'AND', + 'BETWEEN', + 'IN', + 'LIKE', + 'NOT', + 'OR', + 'IS', + 'NULL', + 'INTERSECT', + 'UNION', + 'INNER', + 'JOIN', + 'LEFT', + 'OUTER', + 'RIGHT', + ], + builtinFunctions: [ + 'current_schema', + 'current_schemas', + 'has_database_privilege', + 'has_schema_privilege', + 'has_table_privilege', + 'age', + 'current_time', + 'current_timestamp', + 'localtime', + 'isfinite', + 'now', + 'ascii', + 'get_bit', + 'get_byte', + 'set_bit', + 'set_byte', + 'to_ascii', + 'approximate percentile_disc', + 'avg', + 'count', + 'listagg', + 'max', + 'median', + 'min', + 'percentile_cont', + 'stddev_samp', + 'stddev_pop', + 'sum', + 'var_samp', + 'var_pop', + 'bit_and', + 'bit_or', + 'bool_and', + 'bool_or', + 'cume_dist', + 'first_value', + 'lag', + 'last_value', + 'lead', + 'nth_value', + 'ratio_to_report', + 'dense_rank', + 'ntile', + 'percent_rank', + 'rank', + 'row_number', + 'case', + 'coalesce', + 'decode', + 'greatest', + 'least', + 'nvl', + 'nvl2', + 'nullif', + 'add_months', + 'at time zone', + 'convert_timezone', + 'current_date', + 'date_cmp', + 'date_cmp_timestamp', + 'date_cmp_timestamptz', + 'date_part_year', + 'dateadd', + 'datediff', + 'date_part', + 'date_trunc', + 'extract', + 'getdate', + 'interval_cmp', + 'last_day', + 'months_between', + 'next_day', + 'sysdate', + 'timeofday', + 'timestamp_cmp', + 'timestamp_cmp_date', + 'timestamp_cmp_timestamptz', + 'timestamptz_cmp', + 'timestamptz_cmp_date', + 'timestamptz_cmp_timestamp', + 'timezone', + 'to_timestamp', + 'trunc', + 'abs', + 'acos', + 'asin', + 'atan', + 'atan2', + 'cbrt', + 'ceil', + 'ceiling', + 'checksum', + 'cos', + 'cot', + 'degrees', + 'dexp', + 'dlog1', + 'dlog10', + 'exp', + 'floor', + 'ln', + 'log', + 'mod', + 'pi', + 'power', + 'radians', + 'random', + 'round', + 'sin', + 'sign', + 'sqrt', + 'tan', + 'to_hex', + 'bpcharcmp', + 'btrim', + 'bttext_pattern_cmp', + 'char_length', + 'character_length', + 'charindex', + 'chr', + 'concat', + 'crc32', + 'func_sha1', + 'initcap', + 'left and rights', + 'len', + 'length', + 'lower', + 'lpad and rpads', + 'ltrim', + 'md5', + 'octet_length', + 'position', + 'quote_ident', + 'quote_literal', + 'regexp_count', + 'regexp_instr', + 'regexp_replace', + 'regexp_substr', + 'repeat', + 'replace', + 'replicate', + 'reverse', + 'rtrim', + 'split_part', + 'strpos', + 'strtol', + 'substring', + 'textlen', + 'translate', + 'trim', + 'upper', + 'cast', + 'convert', + 'to_char', + 'to_date', + 'to_number', + 'json_array_length', + 'json_extract_array_element_text', + 'json_extract_path_text', + 'current_setting', + 'pg_cancel_backend', + 'pg_terminate_backend', + 'set_config', + 'current_database', + 'current_user', + 'current_user_id', + 'pg_backend_pid', + 'pg_last_copy_count', + 'pg_last_copy_id', + 'pg_last_query_id', + 'pg_last_unload_count', + 'session_user', + 'slice_num', + 'user', + 'version', + 'abbrev', + 'acosd', + 'any', + 'area', + 'array_agg', + 'array_append', + 'array_cat', + 'array_dims', + 'array_fill', + 'array_length', + 'array_lower', + 'array_ndims', + 'array_position', + 'array_positions', + 'array_prepend', + 'array_remove', + 'array_replace', + 'array_to_json', + 'array_to_string', + 'array_to_tsvector', + 'array_upper', + 'asind', + 'atan2d', + 'atand', + 'bit', + 'bit_length', + 'bound_box', + 'box', + 'brin_summarize_new_values', + 'broadcast', + 'cardinality', + 'center', + 'circle', + 'clock_timestamp', + 'col_description', + 'concat_ws', + 'convert_from', + 'convert_to', + 'corr', + 'cosd', + 'cotd', + 'covar_pop', + 'covar_samp', + 'current_catalog', + 'current_query', + 'current_role', + 'currval', + 'cursor_to_xml', + 'diameter', + 'div', + 'encode', + 'enum_first', + 'enum_last', + 'enum_range', + 'every', + 'family', + 'format', + 'format_type', + 'generate_series', + 'generate_subscripts', + 'get_current_ts_config', + 'gin_clean_pending_list', + 'grouping', + 'has_any_column_privilege', + 'has_column_privilege', + 'has_foreign_data_wrapper_privilege', + 'has_function_privilege', + 'has_language_privilege', + 'has_sequence_privilege', + 'has_server_privilege', + 'has_tablespace_privilege', + 'has_type_privilege', + 'height', + 'host', + 'hostmask', + 'inet_client_addr', + 'inet_client_port', + 'inet_merge', + 'inet_same_family', + 'inet_server_addr', + 'inet_server_port', + 'isclosed', + 'isempty', + 'isopen', + 'json_agg', + 'json_object', + 'json_object_agg', + 'json_populate_record', + 'json_populate_recordset', + 'json_to_record', + 'json_to_recordset', + 'jsonb_agg', + 'jsonb_object_agg', + 'justify_days', + 'justify_hours', + 'justify_interval', + 'lastval', + 'left', + 'line', + 'localtimestamp', + 'lower_inc', + 'lower_inf', + 'lpad', + 'lseg', + 'make_date', + 'make_interval', + 'make_time', + 'make_timestamp', + 'make_timestamptz', + 'masklen', + 'mode', + 'netmask', + 'network', + 'nextval', + 'npoints', + 'num_nonnulls', + 'num_nulls', + 'numnode', + 'obj_description', + 'overlay', + 'parse_ident', + 'path', + 'pclose', + 'percentile_disc', + 'pg_advisory_lock', + 'pg_advisory_lock_shared', + 'pg_advisory_unlock', + 'pg_advisory_unlock_all', + 'pg_advisory_unlock_shared', + 'pg_advisory_xact_lock', + 'pg_advisory_xact_lock_shared', + 'pg_backup_start_time', + 'pg_blocking_pids', + 'pg_client_encoding', + 'pg_collation_is_visible', + 'pg_column_size', + 'pg_conf_load_time', + 'pg_control_checkpoint', + 'pg_control_init', + 'pg_control_recovery', + 'pg_control_system', + 'pg_conversion_is_visible', + 'pg_create_logical_replication_slot', + 'pg_create_physical_replication_slot', + 'pg_create_restore_point', + 'pg_current_xlog_flush_location', + 'pg_current_xlog_insert_location', + 'pg_current_xlog_location', + 'pg_database_size', + 'pg_describe_object', + 'pg_drop_replication_slot', + 'pg_export_snapshot', + 'pg_filenode_relation', + 'pg_function_is_visible', + 'pg_get_constraintdef', + 'pg_get_expr', + 'pg_get_function_arguments', + 'pg_get_function_identity_arguments', + 'pg_get_function_result', + 'pg_get_functiondef', + 'pg_get_indexdef', + 'pg_get_keywords', + 'pg_get_object_address', + 'pg_get_owned_sequence', + 'pg_get_ruledef', + 'pg_get_serial_sequence', + 'pg_get_triggerdef', + 'pg_get_userbyid', + 'pg_get_viewdef', + 'pg_has_role', + 'pg_identify_object', + 'pg_identify_object_as_address', + 'pg_index_column_has_property', + 'pg_index_has_property', + 'pg_indexam_has_property', + 'pg_indexes_size', + 'pg_is_in_backup', + 'pg_is_in_recovery', + 'pg_is_other_temp_schema', + 'pg_is_xlog_replay_paused', + 'pg_last_committed_xact', + 'pg_last_xact_replay_timestamp', + 'pg_last_xlog_receive_location', + 'pg_last_xlog_replay_location', + 'pg_listening_channels', + 'pg_logical_emit_message', + 'pg_logical_slot_get_binary_changes', + 'pg_logical_slot_get_changes', + 'pg_logical_slot_peek_binary_changes', + 'pg_logical_slot_peek_changes', + 'pg_ls_dir', + 'pg_my_temp_schema', + 'pg_notification_queue_usage', + 'pg_opclass_is_visible', + 'pg_operator_is_visible', + 'pg_opfamily_is_visible', + 'pg_options_to_table', + 'pg_postmaster_start_time', + 'pg_read_binary_file', + 'pg_read_file', + 'pg_relation_filenode', + 'pg_relation_filepath', + 'pg_relation_size', + 'pg_reload_conf', + 'pg_replication_origin_create', + 'pg_replication_origin_drop', + 'pg_replication_origin_oid', + 'pg_replication_origin_progress', + 'pg_replication_origin_session_is_setup', + 'pg_replication_origin_session_progress', + 'pg_replication_origin_session_reset', + 'pg_replication_origin_session_setup', + 'pg_replication_origin_xact_reset', + 'pg_replication_origin_xact_setup', + 'pg_rotate_logfile', + 'pg_size_bytes', + 'pg_size_pretty', + 'pg_sleep', + 'pg_sleep_for', + 'pg_sleep_until', + 'pg_start_backup', + 'pg_stat_file', + 'pg_stop_backup', + 'pg_switch_xlog', + 'pg_table_is_visible', + 'pg_table_size', + 'pg_tablespace_databases', + 'pg_tablespace_location', + 'pg_tablespace_size', + 'pg_total_relation_size', + 'pg_trigger_depth', + 'pg_try_advisory_lock', + 'pg_try_advisory_lock_shared', + 'pg_try_advisory_xact_lock', + 'pg_try_advisory_xact_lock_shared', + 'pg_ts_config_is_visible', + 'pg_ts_dict_is_visible', + 'pg_ts_parser_is_visible', + 'pg_ts_template_is_visible', + 'pg_type_is_visible', + 'pg_typeof', + 'pg_xact_commit_timestamp', + 'pg_xlog_location_diff', + 'pg_xlog_replay_pause', + 'pg_xlog_replay_resume', + 'pg_xlogfile_name', + 'pg_xlogfile_name_offset', + 'phraseto_tsquery', + 'plainto_tsquery', + 'point', + 'polygon', + 'popen', + 'pqserverversion', + 'query_to_xml', + 'querytree', + 'quote_nullable', + 'radius', + 'range_merge', + 'regexp_matches', + 'regexp_split_to_array', + 'regexp_split_to_table', + 'regr_avgx', + 'regr_avgy', + 'regr_count', + 'regr_intercept', + 'regr_r2', + 'regr_slope', + 'regr_sxx', + 'regr_sxy', + 'regr_syy', + 'right', + 'row_security_active', + 'row_to_json', + 'rpad', + 'scale', + 'set_masklen', + 'setseed', + 'setval', + 'setweight', + 'shobj_description', + 'sind', + 'sprintf', + 'statement_timestamp', + 'stddev', + 'string_agg', + 'string_to_array', + 'strip', + 'substr', + 'table_to_xml', + 'table_to_xml_and_xmlschema', + 'tand', + 'text', + 'to_json', + 'to_regclass', + 'to_regnamespace', + 'to_regoper', + 'to_regoperator', + 'to_regproc', + 'to_regprocedure', + 'to_regrole', + 'to_regtype', + 'to_tsquery', + 'to_tsvector', + 'transaction_timestamp', + 'ts_debug', + 'ts_delete', + 'ts_filter', + 'ts_headline', + 'ts_lexize', + 'ts_parse', + 'ts_rank', + 'ts_rank_cd', + 'ts_rewrite', + 'ts_stat', + 'ts_token_type', + 'tsquery_phrase', + 'tsvector_to_array', + 'tsvector_update_trigger', + 'tsvector_update_trigger_column', + 'txid_current', + 'txid_current_snapshot', + 'txid_snapshot_xip', + 'txid_snapshot_xmax', + 'txid_snapshot_xmin', + 'txid_visible_in_snapshot', + 'unnest', + 'upper_inc', + 'upper_inf', + 'variance', + 'width', + 'width_bucket', + 'xml_is_well_formed', + 'xml_is_well_formed_content', + 'xml_is_well_formed_document', + 'xmlagg', + 'xmlcomment', + 'xmlconcat', + 'xmlelement', + 'xmlexists', + 'xmlforest', + 'xmlparse', + 'xmlpi', + 'xmlroot', + 'xmlserialize', + 'xpath', + 'xpath_exists', + ], + builtinVariables: [], + pseudoColumns: [], + tokenizer: { + root: [ + { include: '@comments' }, + { include: '@whitespace' }, + { include: '@pseudoColumns' }, + { include: '@numbers' }, + { include: '@strings' }, + { include: '@complexIdentifiers' }, + { include: '@scopes' }, + [/[;,.]/, 'delimiter'], + [/[()]/, '@brackets'], + [ + /[\w@#$]+/, + { + cases: { + '@keywords': 'keyword', + '@operators': 'operator', + '@builtinVariables': 'predefined', + '@builtinFunctions': 'predefined', + '@default': 'identifier', + }, + }, + ], + [/[<>=!%&+\-*/|~^]/, 'operator'], + ], + whitespace: [[/\s+/, 'white']], + comments: [ + [/--+.*/, 'comment'], + [/\/\*/, { token: 'comment.quote', next: '@comment' }], + ], + comment: [ + [/[^*/]+/, 'comment'], + [/\*\//, { token: 'comment.quote', next: '@pop' }], + [/./, 'comment'], + ], + pseudoColumns: [ + [ + /[$][A-Za-z_][\w@#$]*/, + { + cases: { + '@pseudoColumns': 'predefined', + '@default': 'identifier', + }, + }, + ], + ], + numbers: [ + [/0[xX][0-9a-fA-F]*/, 'number'], + [/[$][+-]*\d*(\.\d*)?/, 'number'], + [/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/, 'number'], + ], + strings: [[/'/, { token: 'string', next: '@string' }]], + string: [ + [/[^']+/, 'string'], + [/''/, 'string'], + [/'/, { token: 'string', next: '@pop' }], + ], + complexIdentifiers: [ + [/"/, { token: 'identifier.quote', next: '@quotedIdentifier' }], + ], + quotedIdentifier: [ + [/[^"]+/, 'identifier'], + [/""/, 'identifier'], + [/"/, { token: 'identifier.quote', next: '@pop' }], + ], + scopes: [], + }, + }; + }, + }, +]); diff --git a/docs/6489.6489.js b/docs/6489.6489.js new file mode 100644 index 00000000..00c0c703 --- /dev/null +++ b/docs/6489.6489.js @@ -0,0 +1,154 @@ +(self.webpackChunkmermaid_live_editor = + self.webpackChunkmermaid_live_editor || []).push([ + [6489], + { + 66489: (e, n, t) => { + 'use strict'; + t.r(n), t.d(n, { conf: () => o, language: () => s }); + var o = { + comments: { lineComment: '#' }, + brackets: [ + ['{', '}'], + ['[', ']'], + ['(', ')'], + ], + autoClosingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"""', close: '"""', notIn: ['string', 'comment'] }, + { open: '"', close: '"', notIn: ['string', 'comment'] }, + ], + surroundingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"""', close: '"""' }, + { open: '"', close: '"' }, + ], + folding: { offSide: !0 }, + }, + s = { + defaultToken: 'invalid', + tokenPostfix: '.gql', + keywords: [ + 'null', + 'true', + 'false', + 'query', + 'mutation', + 'subscription', + 'extend', + 'schema', + 'directive', + 'scalar', + 'type', + 'interface', + 'union', + 'enum', + 'input', + 'implements', + 'fragment', + 'on', + ], + typeKeywords: ['Int', 'Float', 'String', 'Boolean', 'ID'], + directiveLocations: [ + 'SCHEMA', + 'SCALAR', + 'OBJECT', + 'FIELD_DEFINITION', + 'ARGUMENT_DEFINITION', + 'INTERFACE', + 'UNION', + 'ENUM', + 'ENUM_VALUE', + 'INPUT_OBJECT', + 'INPUT_FIELD_DEFINITION', + 'QUERY', + 'MUTATION', + 'SUBSCRIPTION', + 'FIELD', + 'FRAGMENT_DEFINITION', + 'FRAGMENT_SPREAD', + 'INLINE_FRAGMENT', + 'VARIABLE_DEFINITION', + ], + operators: ['=', '!', '?', ':', '&', '|'], + symbols: /[=!?:&|]+/, + escapes: /\\(?:["\\\/bfnrt]|u[0-9A-Fa-f]{4})/, + tokenizer: { + root: [ + [ + /[a-z_][\w$]*/, + { + cases: { + '@keywords': 'keyword', + '@default': 'key.identifier', + }, + }, + ], + [ + /[$][\w$]*/, + { + cases: { + '@keywords': 'keyword', + '@default': 'argument.identifier', + }, + }, + ], + [ + /[A-Z][\w\$]*/, + { + cases: { + '@typeKeywords': 'keyword', + '@default': 'type.identifier', + }, + }, + ], + { include: '@whitespace' }, + [/[{}()\[\]]/, '@brackets'], + [ + /@symbols/, + { cases: { '@operators': 'operator', '@default': '' } }, + ], + [ + /@\s*[a-zA-Z_\$][\w\$]*/, + { token: 'annotation', log: 'annotation token: $0' }, + ], + [/\d*\.\d+([eE][\-+]?\d+)?/, 'number.float'], + [/0[xX][0-9a-fA-F]+/, 'number.hex'], + [/\d+/, 'number'], + [/[;,.]/, 'delimiter'], + [ + /"""/, + { + token: 'string', + next: '@mlstring', + nextEmbedded: 'markdown', + }, + ], + [/"([^"\\]|\\.)*$/, 'string.invalid'], + [ + /"/, + { token: 'string.quote', bracket: '@open', next: '@string' }, + ], + ], + mlstring: [ + [/[^"]+/, 'string'], + ['"""', { token: 'string', next: '@pop', nextEmbedded: '@pop' }], + ], + string: [ + [/[^\\"]+/, 'string'], + [/@escapes/, 'string.escape'], + [/\\./, 'string.escape.invalid'], + [/"/, { token: 'string.quote', bracket: '@close', next: '@pop' }], + ], + whitespace: [ + [/[ \t\r\n]+/, ''], + [/#.*$/, 'comment'], + ], + }, + }; + }, + }, +]); diff --git a/docs/6587.6587.js b/docs/6587.6587.js new file mode 100644 index 00000000..18575500 --- /dev/null +++ b/docs/6587.6587.js @@ -0,0 +1,421 @@ +(self.webpackChunkmermaid_live_editor = + self.webpackChunkmermaid_live_editor || []).push([ + [6587], + { + 75458: (e, n, o) => { + 'use strict'; + o.r(n), o.d(n, { conf: () => t, language: () => r }); + var t = { + comments: { lineComment: '//', blockComment: ['(*', '*)'] }, + brackets: [ + ['{', '}'], + ['[', ']'], + ['(', ')'], + ['var', 'end_var'], + ['var_input', 'end_var'], + ['var_output', 'end_var'], + ['var_in_out', 'end_var'], + ['var_temp', 'end_var'], + ['var_global', 'end_var'], + ['var_access', 'end_var'], + ['var_external', 'end_var'], + ['type', 'end_type'], + ['struct', 'end_struct'], + ['program', 'end_program'], + ['function', 'end_function'], + ['function_block', 'end_function_block'], + ['action', 'end_action'], + ['step', 'end_step'], + ['initial_step', 'end_step'], + ['transaction', 'end_transaction'], + ['configuration', 'end_configuration'], + ['tcp', 'end_tcp'], + ['recource', 'end_recource'], + ['channel', 'end_channel'], + ['library', 'end_library'], + ['folder', 'end_folder'], + ['binaries', 'end_binaries'], + ['includes', 'end_includes'], + ['sources', 'end_sources'], + ], + autoClosingPairs: [ + { open: '[', close: ']' }, + { open: '{', close: '}' }, + { open: '(', close: ')' }, + { open: '/*', close: '*/' }, + { open: "'", close: "'", notIn: ['string_sq'] }, + { open: '"', close: '"', notIn: ['string_dq'] }, + { open: 'var_input', close: 'end_var' }, + { open: 'var_output', close: 'end_var' }, + { open: 'var_in_out', close: 'end_var' }, + { open: 'var_temp', close: 'end_var' }, + { open: 'var_global', close: 'end_var' }, + { open: 'var_access', close: 'end_var' }, + { open: 'var_external', close: 'end_var' }, + { open: 'type', close: 'end_type' }, + { open: 'struct', close: 'end_struct' }, + { open: 'program', close: 'end_program' }, + { open: 'function', close: 'end_function' }, + { open: 'function_block', close: 'end_function_block' }, + { open: 'action', close: 'end_action' }, + { open: 'step', close: 'end_step' }, + { open: 'initial_step', close: 'end_step' }, + { open: 'transaction', close: 'end_transaction' }, + { open: 'configuration', close: 'end_configuration' }, + { open: 'tcp', close: 'end_tcp' }, + { open: 'recource', close: 'end_recource' }, + { open: 'channel', close: 'end_channel' }, + { open: 'library', close: 'end_library' }, + { open: 'folder', close: 'end_folder' }, + { open: 'binaries', close: 'end_binaries' }, + { open: 'includes', close: 'end_includes' }, + { open: 'sources', close: 'end_sources' }, + ], + surroundingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"' }, + { open: "'", close: "'" }, + { open: 'var', close: 'end_var' }, + { open: 'var_input', close: 'end_var' }, + { open: 'var_output', close: 'end_var' }, + { open: 'var_in_out', close: 'end_var' }, + { open: 'var_temp', close: 'end_var' }, + { open: 'var_global', close: 'end_var' }, + { open: 'var_access', close: 'end_var' }, + { open: 'var_external', close: 'end_var' }, + { open: 'type', close: 'end_type' }, + { open: 'struct', close: 'end_struct' }, + { open: 'program', close: 'end_program' }, + { open: 'function', close: 'end_function' }, + { open: 'function_block', close: 'end_function_block' }, + { open: 'action', close: 'end_action' }, + { open: 'step', close: 'end_step' }, + { open: 'initial_step', close: 'end_step' }, + { open: 'transaction', close: 'end_transaction' }, + { open: 'configuration', close: 'end_configuration' }, + { open: 'tcp', close: 'end_tcp' }, + { open: 'recource', close: 'end_recource' }, + { open: 'channel', close: 'end_channel' }, + { open: 'library', close: 'end_library' }, + { open: 'folder', close: 'end_folder' }, + { open: 'binaries', close: 'end_binaries' }, + { open: 'includes', close: 'end_includes' }, + { open: 'sources', close: 'end_sources' }, + ], + folding: { + markers: { + start: new RegExp('^\\s*#pragma\\s+region\\b'), + end: new RegExp('^\\s*#pragma\\s+endregion\\b'), + }, + }, + }, + r = { + defaultToken: '', + tokenPostfix: '.st', + ignoreCase: !0, + brackets: [ + { token: 'delimiter.curly', open: '{', close: '}' }, + { token: 'delimiter.parenthesis', open: '(', close: ')' }, + { token: 'delimiter.square', open: '[', close: ']' }, + ], + keywords: [ + 'if', + 'end_if', + 'elsif', + 'else', + 'case', + 'of', + 'to', + '__try', + '__catch', + '__finally', + 'do', + 'with', + 'by', + 'while', + 'repeat', + 'end_while', + 'end_repeat', + 'end_case', + 'for', + 'end_for', + 'task', + 'retain', + 'non_retain', + 'constant', + 'with', + 'at', + 'exit', + 'return', + 'interval', + 'priority', + 'address', + 'port', + 'on_channel', + 'then', + 'iec', + 'file', + 'uses', + 'version', + 'packagetype', + 'displayname', + 'copyright', + 'summary', + 'vendor', + 'common_source', + 'from', + 'extends', + ], + constant: ['false', 'true', 'null'], + defineKeywords: [ + 'var', + 'var_input', + 'var_output', + 'var_in_out', + 'var_temp', + 'var_global', + 'var_access', + 'var_external', + 'end_var', + 'type', + 'end_type', + 'struct', + 'end_struct', + 'program', + 'end_program', + 'function', + 'end_function', + 'function_block', + 'end_function_block', + 'interface', + 'end_interface', + 'method', + 'end_method', + 'property', + 'end_property', + 'namespace', + 'end_namespace', + 'configuration', + 'end_configuration', + 'tcp', + 'end_tcp', + 'resource', + 'end_resource', + 'channel', + 'end_channel', + 'library', + 'end_library', + 'folder', + 'end_folder', + 'binaries', + 'end_binaries', + 'includes', + 'end_includes', + 'sources', + 'end_sources', + 'action', + 'end_action', + 'step', + 'initial_step', + 'end_step', + 'transaction', + 'end_transaction', + ], + typeKeywords: [ + 'int', + 'sint', + 'dint', + 'lint', + 'usint', + 'uint', + 'udint', + 'ulint', + 'real', + 'lreal', + 'time', + 'date', + 'time_of_day', + 'date_and_time', + 'string', + 'bool', + 'byte', + 'word', + 'dword', + 'array', + 'pointer', + 'lword', + ], + operators: [ + '=', + '>', + '<', + ':', + ':=', + '<=', + '>=', + '<>', + '&', + '+', + '-', + '*', + '**', + 'MOD', + '^', + 'or', + 'and', + 'not', + 'xor', + 'abs', + 'acos', + 'asin', + 'atan', + 'cos', + 'exp', + 'expt', + 'ln', + 'log', + 'sin', + 'sqrt', + 'tan', + 'sel', + 'max', + 'min', + 'limit', + 'mux', + 'shl', + 'shr', + 'rol', + 'ror', + 'indexof', + 'sizeof', + 'adr', + 'adrinst', + 'bitadr', + 'is_valid', + 'ref', + 'ref_to', + ], + builtinVariables: [], + builtinFunctions: [ + 'sr', + 'rs', + 'tp', + 'ton', + 'tof', + 'eq', + 'ge', + 'le', + 'lt', + 'ne', + 'round', + 'trunc', + 'ctd', + 'сtu', + 'ctud', + 'r_trig', + 'f_trig', + 'move', + 'concat', + 'delete', + 'find', + 'insert', + 'left', + 'len', + 'replace', + 'right', + 'rtc', + ], + symbols: /[=><!~?:&|+\-*\/\^%]+/, + escapes: /\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/, + tokenizer: { + root: [ + [/(\.\.)/, 'delimiter'], + [/\b(16#[0-9A-Fa-f\_]*)+\b/, 'number.hex'], + [/\b(2#[01\_]+)+\b/, 'number.binary'], + [/\b(8#[0-9\_]*)+\b/, 'number.octal'], + [/\b\d*\.\d+([eE][\-+]?\d+)?\b/, 'number.float'], + [/\b(L?REAL)#[0-9\_\.e]+\b/, 'number.float'], + [/\b(BYTE|(?:D|L)?WORD|U?(?:S|D|L)?INT)#[0-9\_]+\b/, 'number'], + [/\d+/, 'number'], + [/\b(T|DT|TOD)#[0-9:-_shmyd]+\b/, 'tag'], + [/\%(I|Q|M)(X|B|W|D|L)[0-9\.]+/, 'tag'], + [/\%(I|Q|M)[0-9\.]*/, 'tag'], + [/\b[A-Za-z]{1,6}#[0-9]+\b/, 'tag'], + [/\b(TO_|CTU_|CTD_|CTUD_|MUX_|SEL_)[A_Za-z]+\b/, 'predefined'], + [/\b[A_Za-z]+(_TO_)[A_Za-z]+\b/, 'predefined'], + [/[;]/, 'delimiter'], + [/[.]/, { token: 'delimiter', next: '@params' }], + [ + /[a-zA-Z_]\w*/, + { + cases: { + '@operators': 'operators', + '@keywords': 'keyword', + '@typeKeywords': 'type', + '@defineKeywords': 'variable', + '@constant': 'constant', + '@builtinVariables': 'predefined', + '@builtinFunctions': 'predefined', + '@default': 'identifier', + }, + }, + ], + { include: '@whitespace' }, + [/[{}()\[\]]/, '@brackets'], + [/"([^"\\]|\\.)*$/, 'string.invalid'], + [ + /"/, + { token: 'string.quote', bracket: '@open', next: '@string_dq' }, + ], + [ + /'/, + { token: 'string.quote', bracket: '@open', next: '@string_sq' }, + ], + [/'[^\\']'/, 'string'], + [/(')(@escapes)(')/, ['string', 'string.escape', 'string']], + [/'/, 'string.invalid'], + ], + params: [ + [ + /\b[A-Za-z0-9_]+\b(?=\()/, + { token: 'identifier', next: '@pop' }, + ], + [/\b[A-Za-z0-9_]+\b/, 'variable.name', '@pop'], + ], + comment: [ + [/[^\/*]+/, 'comment'], + [/\/\*/, 'comment', '@push'], + ['\\*/', 'comment', '@pop'], + [/[\/*]/, 'comment'], + ], + comment2: [ + [/[^\(*]+/, 'comment'], + [/\(\*/, 'comment', '@push'], + ['\\*\\)', 'comment', '@pop'], + [/[\(*]/, 'comment'], + ], + whitespace: [ + [/[ \t\r\n]+/, 'white'], + [/\/\/.*$/, 'comment'], + [/\/\*/, 'comment', '@comment'], + [/\(\*/, 'comment', '@comment2'], + ], + string_dq: [ + [/[^\\"]+/, 'string'], + [/@escapes/, 'string.escape'], + [/\\./, 'string.escape.invalid'], + [/"/, { token: 'string.quote', bracket: '@close', next: '@pop' }], + ], + string_sq: [ + [/[^\\']+/, 'string'], + [/@escapes/, 'string.escape'], + [/\\./, 'string.escape.invalid'], + [/'/, { token: 'string.quote', bracket: '@close', next: '@pop' }], + ], + }, + }; + }, + }, +]); diff --git a/docs/6717.6717.js b/docs/6717.6717.js new file mode 100644 index 00000000..7950a7c3 --- /dev/null +++ b/docs/6717.6717.js @@ -0,0 +1,322 @@ +(self.webpackChunkmermaid_live_editor = + self.webpackChunkmermaid_live_editor || []).push([ + [6717], + { + 96717: (e, t, n) => { + 'use strict'; + n.r(t), n.d(t, { conf: () => i, language: () => r }); + var o = n(89587), + i = { + wordPattern: /(-?\d*\.\d\w*)|([^\`\~\!\@\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g, + comments: { lineComment: '//', blockComment: ['/*', '*/'] }, + brackets: [ + ['{', '}'], + ['[', ']'], + ['(', ')'], + ], + onEnterRules: [ + { + beforeText: /^\s*\/\*\*(?!\/)([^\*]|\*(?!\/))*$/, + afterText: /^\s*\*\/$/, + action: { + indentAction: o.Mj.IndentAction.IndentOutdent, + appendText: ' * ', + }, + }, + { + beforeText: /^\s*\/\*\*(?!\/)([^\*]|\*(?!\/))*$/, + action: { + indentAction: o.Mj.IndentAction.None, + appendText: ' * ', + }, + }, + { + beforeText: /^(\t|(\ \ ))*\ \*(\ ([^\*]|\*(?!\/))*)?$/, + action: { + indentAction: o.Mj.IndentAction.None, + appendText: '* ', + }, + }, + { + beforeText: /^(\t|(\ \ ))*\ \*\/\s*$/, + action: { indentAction: o.Mj.IndentAction.None, removeText: 1 }, + }, + ], + autoClosingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"', notIn: ['string'] }, + { open: "'", close: "'", notIn: ['string', 'comment'] }, + { open: '`', close: '`', notIn: ['string', 'comment'] }, + { open: '/**', close: ' */', notIn: ['string'] }, + ], + folding: { + markers: { + start: new RegExp('^\\s*//\\s*#?region\\b'), + end: new RegExp('^\\s*//\\s*#?endregion\\b'), + }, + }, + }, + r = { + defaultToken: 'invalid', + tokenPostfix: '.ts', + keywords: [ + 'abstract', + 'any', + 'as', + 'asserts', + 'bigint', + 'boolean', + 'break', + 'case', + 'catch', + 'class', + 'continue', + 'const', + 'constructor', + 'debugger', + 'declare', + 'default', + 'delete', + 'do', + 'else', + 'enum', + 'export', + 'extends', + 'false', + 'finally', + 'for', + 'from', + 'function', + 'get', + 'if', + 'implements', + 'import', + 'in', + 'infer', + 'instanceof', + 'interface', + 'is', + 'keyof', + 'let', + 'module', + 'namespace', + 'never', + 'new', + 'null', + 'number', + 'object', + 'package', + 'private', + 'protected', + 'public', + 'readonly', + 'require', + 'global', + 'return', + 'set', + 'static', + 'string', + 'super', + 'switch', + 'symbol', + 'this', + 'throw', + 'true', + 'try', + 'type', + 'typeof', + 'undefined', + 'unique', + 'unknown', + 'var', + 'void', + 'while', + 'with', + 'yield', + 'async', + 'await', + 'of', + ], + operators: [ + '<=', + '>=', + '==', + '!=', + '===', + '!==', + '=>', + '+', + '-', + '**', + '*', + '/', + '%', + '++', + '--', + '<<', + '</', + '>>', + '>>>', + '&', + '|', + '^', + '!', + '~', + '&&', + '||', + '??', + '?', + ':', + '=', + '+=', + '-=', + '*=', + '**=', + '/=', + '%=', + '<<=', + '>>=', + '>>>=', + '&=', + '|=', + '^=', + '@', + ], + symbols: /[=><!~?:&|+\-*\/\^%]+/, + escapes: /\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/, + digits: /\d+(_+\d+)*/, + octaldigits: /[0-7]+(_+[0-7]+)*/, + binarydigits: /[0-1]+(_+[0-1]+)*/, + hexdigits: /[[0-9a-fA-F]+(_+[0-9a-fA-F]+)*/, + regexpctl: /[(){}\[\]\$\^|\-*+?\.]/, + regexpesc: /\\(?:[bBdDfnrstvwWn0\\\/]|@regexpctl|c[A-Z]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4})/, + tokenizer: { + root: [[/[{}]/, 'delimiter.bracket'], { include: 'common' }], + common: [ + [ + /[a-z_$][\w$]*/, + { cases: { '@keywords': 'keyword', '@default': 'identifier' } }, + ], + [/[A-Z][\w\$]*/, 'type.identifier'], + { include: '@whitespace' }, + [ + /\/(?=([^\\\/]|\\.)+\/([gimsuy]*)(\s*)(\.|;|,|\)|\]|\}|$))/, + { token: 'regexp', bracket: '@open', next: '@regexp' }, + ], + [/[()\[\]]/, '@brackets'], + [/[<>](?!@symbols)/, '@brackets'], + [/!(?=([^=]|$))/, 'delimiter'], + [ + /@symbols/, + { cases: { '@operators': 'delimiter', '@default': '' } }, + ], + [/(@digits)[eE]([\-+]?(@digits))?/, 'number.float'], + [/(@digits)\.(@digits)([eE][\-+]?(@digits))?/, 'number.float'], + [/0[xX](@hexdigits)n?/, 'number.hex'], + [/0[oO]?(@octaldigits)n?/, 'number.octal'], + [/0[bB](@binarydigits)n?/, 'number.binary'], + [/(@digits)n?/, 'number'], + [/[;,.]/, 'delimiter'], + [/"([^"\\]|\\.)*$/, 'string.invalid'], + [/'([^'\\]|\\.)*$/, 'string.invalid'], + [/"/, 'string', '@string_double'], + [/'/, 'string', '@string_single'], + [/`/, 'string', '@string_backtick'], + ], + whitespace: [ + [/[ \t\r\n]+/, ''], + [/\/\*\*(?!\/)/, 'comment.doc', '@jsdoc'], + [/\/\*/, 'comment', '@comment'], + [/\/\/.*$/, 'comment'], + ], + comment: [ + [/[^\/*]+/, 'comment'], + [/\*\//, 'comment', '@pop'], + [/[\/*]/, 'comment'], + ], + jsdoc: [ + [/[^\/*]+/, 'comment.doc'], + [/\*\//, 'comment.doc', '@pop'], + [/[\/*]/, 'comment.doc'], + ], + regexp: [ + [ + /(\{)(\d+(?:,\d*)?)(\})/, + [ + 'regexp.escape.control', + 'regexp.escape.control', + 'regexp.escape.control', + ], + ], + [ + /(\[)(\^?)(?=(?:[^\]\\\/]|\\.)+)/, + [ + 'regexp.escape.control', + { token: 'regexp.escape.control', next: '@regexrange' }, + ], + ], + [ + /(\()(\?:|\?=|\?!)/, + ['regexp.escape.control', 'regexp.escape.control'], + ], + [/[()]/, 'regexp.escape.control'], + [/@regexpctl/, 'regexp.escape.control'], + [/[^\\\/]/, 'regexp'], + [/@regexpesc/, 'regexp.escape'], + [/\\\./, 'regexp.invalid'], + [ + /(\/)([gimsuy]*)/, + [ + { token: 'regexp', bracket: '@close', next: '@pop' }, + 'keyword.other', + ], + ], + ], + regexrange: [ + [/-/, 'regexp.escape.control'], + [/\^/, 'regexp.invalid'], + [/@regexpesc/, 'regexp.escape'], + [/[^\]]/, 'regexp'], + [ + /\]/, + { + token: 'regexp.escape.control', + next: '@pop', + bracket: '@close', + }, + ], + ], + string_double: [ + [/[^\\"]+/, 'string'], + [/@escapes/, 'string.escape'], + [/\\./, 'string.escape.invalid'], + [/"/, 'string', '@pop'], + ], + string_single: [ + [/[^\\']+/, 'string'], + [/@escapes/, 'string.escape'], + [/\\./, 'string.escape.invalid'], + [/'/, 'string', '@pop'], + ], + string_backtick: [ + [ + /\$\{/, + { token: 'delimiter.bracket', next: '@bracketCounting' }, + ], + [/[^\\`$]+/, 'string'], + [/@escapes/, 'string.escape'], + [/\\./, 'string.escape.invalid'], + [/`/, 'string', '@pop'], + ], + bracketCounting: [ + [/\{/, 'delimiter.bracket', '@bracketCounting'], + [/\}/, 'delimiter.bracket', '@pop'], + { include: 'common' }, + ], + }, + }; + }, + }, +]); diff --git a/docs/6917.6917.js b/docs/6917.6917.js new file mode 100644 index 00000000..756f1e62 --- /dev/null +++ b/docs/6917.6917.js @@ -0,0 +1,32211 @@ +(self.webpackChunkmermaid_live_editor = + self.webpackChunkmermaid_live_editor || []).push([ + [6917], + { + 46917: (e, t, n) => { + 'use strict'; + n.r(t), n.d(t, { setupMode: () => fs }); + var r, + i, + o = n(61460), + s = (function () { + function e(e) { + var t = this; + (this._defaults = e), + (this._worker = null), + (this._idleCheckInterval = window.setInterval(function () { + return t._checkIfIdle(); + }, 3e4)), + (this._lastUsedTime = 0), + (this._configChangeListener = this._defaults.onDidChange( + function () { + return t._stopWorker(); + } + )); + } + return ( + (e.prototype._stopWorker = function () { + this._worker && (this._worker.dispose(), (this._worker = null)), + (this._client = null); + }), + (e.prototype.dispose = function () { + clearInterval(this._idleCheckInterval), + this._configChangeListener.dispose(), + this._stopWorker(); + }), + (e.prototype._checkIfIdle = function () { + this._worker && + Date.now() - this._lastUsedTime > 12e4 && + this._stopWorker(); + }), + (e.prototype._getClient = function () { + return ( + (this._lastUsedTime = Date.now()), + this._client || + ((this._worker = o.j6.createWebWorker({ + moduleId: 'vs/language/css/cssWorker', + label: this._defaults.languageId, + createData: { + languageSettings: this._defaults.diagnosticsOptions, + languageId: this._defaults.languageId, + }, + })), + (this._client = this._worker.getProxy())), + this._client + ); + }), + (e.prototype.getLanguageServiceWorker = function () { + for (var e, t = this, n = [], r = 0; r < arguments.length; r++) + n[r] = arguments[r]; + return this._getClient() + .then(function (t) { + e = t; + }) + .then(function (e) { + return t._worker.withSyncedResources(n); + }) + .then(function (t) { + return e; + }); + }), + e + ); + })(); + ((i = r || (r = {}))[(i.Ident = 0)] = 'Ident'), + (i[(i.AtKeyword = 1)] = 'AtKeyword'), + (i[(i.String = 2)] = 'String'), + (i[(i.BadString = 3)] = 'BadString'), + (i[(i.UnquotedString = 4)] = 'UnquotedString'), + (i[(i.Hash = 5)] = 'Hash'), + (i[(i.Num = 6)] = 'Num'), + (i[(i.Percentage = 7)] = 'Percentage'), + (i[(i.Dimension = 8)] = 'Dimension'), + (i[(i.UnicodeRange = 9)] = 'UnicodeRange'), + (i[(i.CDO = 10)] = 'CDO'), + (i[(i.CDC = 11)] = 'CDC'), + (i[(i.Colon = 12)] = 'Colon'), + (i[(i.SemiColon = 13)] = 'SemiColon'), + (i[(i.CurlyL = 14)] = 'CurlyL'), + (i[(i.CurlyR = 15)] = 'CurlyR'), + (i[(i.ParenthesisL = 16)] = 'ParenthesisL'), + (i[(i.ParenthesisR = 17)] = 'ParenthesisR'), + (i[(i.BracketL = 18)] = 'BracketL'), + (i[(i.BracketR = 19)] = 'BracketR'), + (i[(i.Whitespace = 20)] = 'Whitespace'), + (i[(i.Includes = 21)] = 'Includes'), + (i[(i.Dashmatch = 22)] = 'Dashmatch'), + (i[(i.SubstringOperator = 23)] = 'SubstringOperator'), + (i[(i.PrefixOperator = 24)] = 'PrefixOperator'), + (i[(i.SuffixOperator = 25)] = 'SuffixOperator'), + (i[(i.Delim = 26)] = 'Delim'), + (i[(i.EMS = 27)] = 'EMS'), + (i[(i.EXS = 28)] = 'EXS'), + (i[(i.Length = 29)] = 'Length'), + (i[(i.Angle = 30)] = 'Angle'), + (i[(i.Time = 31)] = 'Time'), + (i[(i.Freq = 32)] = 'Freq'), + (i[(i.Exclamation = 33)] = 'Exclamation'), + (i[(i.Resolution = 34)] = 'Resolution'), + (i[(i.Comma = 35)] = 'Comma'), + (i[(i.Charset = 36)] = 'Charset'), + (i[(i.EscapedJavaScript = 37)] = 'EscapedJavaScript'), + (i[(i.BadEscapedJavaScript = 38)] = 'BadEscapedJavaScript'), + (i[(i.Comment = 39)] = 'Comment'), + (i[(i.SingleLineComment = 40)] = 'SingleLineComment'), + (i[(i.EOF = 41)] = 'EOF'), + (i[(i.CustomToken = 42)] = 'CustomToken'); + var a = (function () { + function e(e) { + (this.source = e), (this.len = e.length), (this.position = 0); + } + return ( + (e.prototype.substring = function (e, t) { + return ( + void 0 === t && (t = this.position), this.source.substring(e, t) + ); + }), + (e.prototype.eos = function () { + return this.len <= this.position; + }), + (e.prototype.pos = function () { + return this.position; + }), + (e.prototype.goBackTo = function (e) { + this.position = e; + }), + (e.prototype.goBack = function (e) { + this.position -= e; + }), + (e.prototype.advance = function (e) { + this.position += e; + }), + (e.prototype.nextChar = function () { + return this.source.charCodeAt(this.position++) || 0; + }), + (e.prototype.peekChar = function (e) { + return ( + void 0 === e && (e = 0), + this.source.charCodeAt(this.position + e) || 0 + ); + }), + (e.prototype.lookbackChar = function (e) { + return ( + void 0 === e && (e = 0), + this.source.charCodeAt(this.position - e) || 0 + ); + }), + (e.prototype.advanceIfChar = function (e) { + return ( + e === this.source.charCodeAt(this.position) && + (this.position++, !0) + ); + }), + (e.prototype.advanceIfChars = function (e) { + if (this.position + e.length > this.source.length) return !1; + for (var t = 0; t < e.length; t++) + if (this.source.charCodeAt(this.position + t) !== e[t]) + return !1; + return this.advance(t), !0; + }), + (e.prototype.advanceWhileChar = function (e) { + for ( + var t = this.position; + this.position < this.len && + e(this.source.charCodeAt(this.position)); + + ) + this.position++; + return this.position - t; + }), + e + ); + })(), + l = 'a'.charCodeAt(0), + c = 'f'.charCodeAt(0), + d = 'z'.charCodeAt(0), + p = 'A'.charCodeAt(0), + h = 'F'.charCodeAt(0), + m = 'Z'.charCodeAt(0), + u = '0'.charCodeAt(0), + f = '9'.charCodeAt(0), + g = '~'.charCodeAt(0), + b = '^'.charCodeAt(0), + v = '='.charCodeAt(0), + y = '|'.charCodeAt(0), + w = '-'.charCodeAt(0), + x = '_'.charCodeAt(0), + S = '%'.charCodeAt(0), + k = '*'.charCodeAt(0), + C = '('.charCodeAt(0), + F = ')'.charCodeAt(0), + z = '<'.charCodeAt(0), + E = '>'.charCodeAt(0), + D = '@'.charCodeAt(0), + T = '#'.charCodeAt(0), + R = '$'.charCodeAt(0), + I = '\\'.charCodeAt(0), + M = '/'.charCodeAt(0), + P = '\n'.charCodeAt(0), + _ = '\r'.charCodeAt(0), + N = '\f'.charCodeAt(0), + A = '"'.charCodeAt(0), + O = "'".charCodeAt(0), + W = ' '.charCodeAt(0), + L = '\t'.charCodeAt(0), + U = ';'.charCodeAt(0), + j = ':'.charCodeAt(0), + V = '{'.charCodeAt(0), + B = '}'.charCodeAt(0), + $ = '['.charCodeAt(0), + q = ']'.charCodeAt(0), + K = ','.charCodeAt(0), + G = '.'.charCodeAt(0), + H = '!'.charCodeAt(0), + J = {}; + (J[U] = r.SemiColon), + (J[j] = r.Colon), + (J[V] = r.CurlyL), + (J[B] = r.CurlyR), + (J[q] = r.BracketR), + (J[$] = r.BracketL), + (J[C] = r.ParenthesisL), + (J[F] = r.ParenthesisR), + (J[K] = r.Comma); + var Y = {}; + (Y.em = r.EMS), + (Y.ex = r.EXS), + (Y.px = r.Length), + (Y.cm = r.Length), + (Y.mm = r.Length), + (Y.in = r.Length), + (Y.pt = r.Length), + (Y.pc = r.Length), + (Y.deg = r.Angle), + (Y.rad = r.Angle), + (Y.grad = r.Angle), + (Y.ms = r.Time), + (Y.s = r.Time), + (Y.hz = r.Freq), + (Y.khz = r.Freq), + (Y['%'] = r.Percentage), + (Y.fr = r.Percentage), + (Y.dpi = r.Resolution), + (Y.dpcm = r.Resolution); + var X = (function () { + function e() { + (this.stream = new a('')), + (this.ignoreComment = !0), + (this.ignoreWhitespace = !0), + (this.inURL = !1); + } + return ( + (e.prototype.setSource = function (e) { + this.stream = new a(e); + }), + (e.prototype.finishToken = function (e, t, n) { + return { + offset: e, + len: this.stream.pos() - e, + type: t, + text: n || this.stream.substring(e), + }; + }), + (e.prototype.substring = function (e, t) { + return this.stream.substring(e, e + t); + }), + (e.prototype.pos = function () { + return this.stream.pos(); + }), + (e.prototype.goBackTo = function (e) { + this.stream.goBackTo(e); + }), + (e.prototype.scanUnquotedString = function () { + var e = this.stream.pos(), + t = []; + return this._unquotedString(t) + ? this.finishToken(e, r.UnquotedString, t.join('')) + : null; + }), + (e.prototype.scan = function () { + var e = this.trivia(); + if (null !== e) return e; + var t = this.stream.pos(); + return this.stream.eos() + ? this.finishToken(t, r.EOF) + : this.scanNext(t); + }), + (e.prototype.scanNext = function (e) { + if (this.stream.advanceIfChars([z, H, w, w])) + return this.finishToken(e, r.CDO); + if (this.stream.advanceIfChars([w, w, E])) + return this.finishToken(e, r.CDC); + var t = []; + if (this.ident(t)) return this.finishToken(e, r.Ident, t.join('')); + if (this.stream.advanceIfChar(D)) { + if (((t = ['@']), this._name(t))) { + var n = t.join(''); + return '@charset' === n + ? this.finishToken(e, r.Charset, n) + : this.finishToken(e, r.AtKeyword, n); + } + return this.finishToken(e, r.Delim); + } + if (this.stream.advanceIfChar(T)) + return ( + (t = ['#']), + this._name(t) + ? this.finishToken(e, r.Hash, t.join('')) + : this.finishToken(e, r.Delim) + ); + if (this.stream.advanceIfChar(H)) + return this.finishToken(e, r.Exclamation); + if (this._number()) { + var i = this.stream.pos(); + if ( + ((t = [this.stream.substring(e, i)]), + this.stream.advanceIfChar(S)) + ) + return this.finishToken(e, r.Percentage); + if (this.ident(t)) { + var o = this.stream.substring(i).toLowerCase(), + s = Y[o]; + return void 0 !== s + ? this.finishToken(e, s, t.join('')) + : this.finishToken(e, r.Dimension, t.join('')); + } + return this.finishToken(e, r.Num); + } + t = []; + var a = this._string(t); + return null !== a + ? this.finishToken(e, a, t.join('')) + : void 0 !== (a = J[this.stream.peekChar()]) + ? (this.stream.advance(1), this.finishToken(e, a)) + : this.stream.peekChar(0) === g && this.stream.peekChar(1) === v + ? (this.stream.advance(2), this.finishToken(e, r.Includes)) + : this.stream.peekChar(0) === y && this.stream.peekChar(1) === v + ? (this.stream.advance(2), this.finishToken(e, r.Dashmatch)) + : this.stream.peekChar(0) === k && this.stream.peekChar(1) === v + ? (this.stream.advance(2), + this.finishToken(e, r.SubstringOperator)) + : this.stream.peekChar(0) === b && this.stream.peekChar(1) === v + ? (this.stream.advance(2), this.finishToken(e, r.PrefixOperator)) + : this.stream.peekChar(0) === R && this.stream.peekChar(1) === v + ? (this.stream.advance(2), this.finishToken(e, r.SuffixOperator)) + : (this.stream.nextChar(), this.finishToken(e, r.Delim)); + }), + (e.prototype.trivia = function () { + for (;;) { + var e = this.stream.pos(); + if (this._whitespace()) { + if (!this.ignoreWhitespace) + return this.finishToken(e, r.Whitespace); + } else { + if (!this.comment()) return null; + if (!this.ignoreComment) return this.finishToken(e, r.Comment); + } + } + }), + (e.prototype.comment = function () { + if (this.stream.advanceIfChars([M, k])) { + var e = !1, + t = !1; + return ( + this.stream.advanceWhileChar(function (n) { + return t && n === M ? ((e = !0), !1) : ((t = n === k), !0); + }), + e && this.stream.advance(1), + !0 + ); + } + return !1; + }), + (e.prototype._number = function () { + var e, + t = 0; + return ( + this.stream.peekChar() === G && (t = 1), + (e = this.stream.peekChar(t)) >= u && + e <= f && + (this.stream.advance(t + 1), + this.stream.advanceWhileChar(function (e) { + return (e >= u && e <= f) || (0 === t && e === G); + }), + !0) + ); + }), + (e.prototype._newline = function (e) { + var t = this.stream.peekChar(); + switch (t) { + case _: + case N: + case P: + return ( + this.stream.advance(1), + e.push(String.fromCharCode(t)), + t === _ && this.stream.advanceIfChar(P) && e.push('\n'), + !0 + ); + } + return !1; + }), + (e.prototype._escape = function (e, t) { + var n = this.stream.peekChar(); + if (n === I) { + this.stream.advance(1), (n = this.stream.peekChar()); + for ( + var r = 0; + r < 6 && + ((n >= u && n <= f) || + (n >= l && n <= c) || + (n >= p && n <= h)); + + ) + this.stream.advance(1), (n = this.stream.peekChar()), r++; + if (r > 0) { + try { + var i = parseInt( + this.stream.substring(this.stream.pos() - r), + 16 + ); + i && e.push(String.fromCharCode(i)); + } catch (e) {} + return ( + n === W || n === L + ? this.stream.advance(1) + : this._newline([]), + !0 + ); + } + if (n !== _ && n !== N && n !== P) + return ( + this.stream.advance(1), e.push(String.fromCharCode(n)), !0 + ); + if (t) return this._newline(e); + } + return !1; + }), + (e.prototype._stringChar = function (e, t) { + var n = this.stream.peekChar(); + return ( + 0 !== n && + n !== e && + n !== I && + n !== _ && + n !== N && + n !== P && + (this.stream.advance(1), t.push(String.fromCharCode(n)), !0) + ); + }), + (e.prototype._string = function (e) { + if (this.stream.peekChar() === O || this.stream.peekChar() === A) { + var t = this.stream.nextChar(); + for ( + e.push(String.fromCharCode(t)); + this._stringChar(t, e) || this._escape(e, !0); + + ); + return this.stream.peekChar() === t + ? (this.stream.nextChar(), + e.push(String.fromCharCode(t)), + r.String) + : r.BadString; + } + return null; + }), + (e.prototype._unquotedChar = function (e) { + var t = this.stream.peekChar(); + return ( + 0 !== t && + t !== I && + t !== O && + t !== A && + t !== C && + t !== F && + t !== W && + t !== L && + t !== P && + t !== N && + t !== _ && + (this.stream.advance(1), e.push(String.fromCharCode(t)), !0) + ); + }), + (e.prototype._unquotedString = function (e) { + for (var t = !1; this._unquotedChar(e) || this._escape(e); ) t = !0; + return t; + }), + (e.prototype._whitespace = function () { + return ( + this.stream.advanceWhileChar(function (e) { + return e === W || e === L || e === P || e === N || e === _; + }) > 0 + ); + }), + (e.prototype._name = function (e) { + for (var t = !1; this._identChar(e) || this._escape(e); ) t = !0; + return t; + }), + (e.prototype.ident = function (e) { + var t = this.stream.pos(); + if (this._minus(e) && this._minus(e)) { + if (this._identFirstChar(e) || this._escape(e)) { + for (; this._identChar(e) || this._escape(e); ); + return !0; + } + } else if (this._identFirstChar(e) || this._escape(e)) { + for (; this._identChar(e) || this._escape(e); ); + return !0; + } + return this.stream.goBackTo(t), !1; + }), + (e.prototype._identFirstChar = function (e) { + var t = this.stream.peekChar(); + return ( + (t === x || + (t >= l && t <= d) || + (t >= p && t <= m) || + (t >= 128 && t <= 65535)) && + (this.stream.advance(1), e.push(String.fromCharCode(t)), !0) + ); + }), + (e.prototype._minus = function (e) { + var t = this.stream.peekChar(); + return ( + t === w && + (this.stream.advance(1), e.push(String.fromCharCode(t)), !0) + ); + }), + (e.prototype._identChar = function (e) { + var t = this.stream.peekChar(); + return ( + (t === x || + t === w || + (t >= l && t <= d) || + (t >= p && t <= m) || + (t >= u && t <= f) || + (t >= 128 && t <= 65535)) && + (this.stream.advance(1), e.push(String.fromCharCode(t)), !0) + ); + }), + e + ); + })(); + function Z(e, t) { + if (e.length < t.length) return !1; + for (var n = 0; n < t.length; n++) if (e[n] !== t[n]) return !1; + return !0; + } + function Q(e, t) { + var n = e.length - t.length; + return n > 0 ? e.lastIndexOf(t) === n : 0 === n && e === t; + } + function ee(e, t) { + return ( + void 0 === t && (t = !0), + e ? (e.length < 140 ? e : e.slice(0, 140) + (t ? '…' : '')) : '' + ); + } + var te, + ne, + re, + ie, + oe = + ((te = function (e, t) { + return (te = + Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && + function (e, t) { + e.__proto__ = t; + }) || + function (e, t) { + for (var n in t) t.hasOwnProperty(n) && (e[n] = t[n]); + })(e, t); + }), + function (e, t) { + function n() { + this.constructor = e; + } + te(e, t), + (e.prototype = + null === t + ? Object.create(t) + : ((n.prototype = t.prototype), new n())); + }); + function se(e, t) { + var n = null; + return !e || t < e.offset || t > e.end + ? null + : (e.accept(function (e) { + return ( + (-1 === e.offset && -1 === e.length) || + (e.offset <= t && + e.end >= t && + (n ? e.length <= n.length && (n = e) : (n = e), !0)) + ); + }), + n); + } + function ae(e, t) { + for (var n = se(e, t), r = []; n; ) r.unshift(n), (n = n.parent); + return r; + } + ((ie = ne || (ne = {}))[(ie.Undefined = 0)] = 'Undefined'), + (ie[(ie.Identifier = 1)] = 'Identifier'), + (ie[(ie.Stylesheet = 2)] = 'Stylesheet'), + (ie[(ie.Ruleset = 3)] = 'Ruleset'), + (ie[(ie.Selector = 4)] = 'Selector'), + (ie[(ie.SimpleSelector = 5)] = 'SimpleSelector'), + (ie[(ie.SelectorInterpolation = 6)] = 'SelectorInterpolation'), + (ie[(ie.SelectorCombinator = 7)] = 'SelectorCombinator'), + (ie[(ie.SelectorCombinatorParent = 8)] = 'SelectorCombinatorParent'), + (ie[(ie.SelectorCombinatorSibling = 9)] = 'SelectorCombinatorSibling'), + (ie[(ie.SelectorCombinatorAllSiblings = 10)] = + 'SelectorCombinatorAllSiblings'), + (ie[(ie.SelectorCombinatorShadowPiercingDescendant = 11)] = + 'SelectorCombinatorShadowPiercingDescendant'), + (ie[(ie.Page = 12)] = 'Page'), + (ie[(ie.PageBoxMarginBox = 13)] = 'PageBoxMarginBox'), + (ie[(ie.ClassSelector = 14)] = 'ClassSelector'), + (ie[(ie.IdentifierSelector = 15)] = 'IdentifierSelector'), + (ie[(ie.ElementNameSelector = 16)] = 'ElementNameSelector'), + (ie[(ie.PseudoSelector = 17)] = 'PseudoSelector'), + (ie[(ie.AttributeSelector = 18)] = 'AttributeSelector'), + (ie[(ie.Declaration = 19)] = 'Declaration'), + (ie[(ie.Declarations = 20)] = 'Declarations'), + (ie[(ie.Property = 21)] = 'Property'), + (ie[(ie.Expression = 22)] = 'Expression'), + (ie[(ie.BinaryExpression = 23)] = 'BinaryExpression'), + (ie[(ie.Term = 24)] = 'Term'), + (ie[(ie.Operator = 25)] = 'Operator'), + (ie[(ie.Value = 26)] = 'Value'), + (ie[(ie.StringLiteral = 27)] = 'StringLiteral'), + (ie[(ie.URILiteral = 28)] = 'URILiteral'), + (ie[(ie.EscapedValue = 29)] = 'EscapedValue'), + (ie[(ie.Function = 30)] = 'Function'), + (ie[(ie.NumericValue = 31)] = 'NumericValue'), + (ie[(ie.HexColorValue = 32)] = 'HexColorValue'), + (ie[(ie.MixinDeclaration = 33)] = 'MixinDeclaration'), + (ie[(ie.MixinReference = 34)] = 'MixinReference'), + (ie[(ie.VariableName = 35)] = 'VariableName'), + (ie[(ie.VariableDeclaration = 36)] = 'VariableDeclaration'), + (ie[(ie.Prio = 37)] = 'Prio'), + (ie[(ie.Interpolation = 38)] = 'Interpolation'), + (ie[(ie.NestedProperties = 39)] = 'NestedProperties'), + (ie[(ie.ExtendsReference = 40)] = 'ExtendsReference'), + (ie[(ie.SelectorPlaceholder = 41)] = 'SelectorPlaceholder'), + (ie[(ie.Debug = 42)] = 'Debug'), + (ie[(ie.If = 43)] = 'If'), + (ie[(ie.Else = 44)] = 'Else'), + (ie[(ie.For = 45)] = 'For'), + (ie[(ie.Each = 46)] = 'Each'), + (ie[(ie.While = 47)] = 'While'), + (ie[(ie.MixinContentReference = 48)] = 'MixinContentReference'), + (ie[(ie.MixinContentDeclaration = 49)] = 'MixinContentDeclaration'), + (ie[(ie.Media = 50)] = 'Media'), + (ie[(ie.Keyframe = 51)] = 'Keyframe'), + (ie[(ie.FontFace = 52)] = 'FontFace'), + (ie[(ie.Import = 53)] = 'Import'), + (ie[(ie.Namespace = 54)] = 'Namespace'), + (ie[(ie.Invocation = 55)] = 'Invocation'), + (ie[(ie.FunctionDeclaration = 56)] = 'FunctionDeclaration'), + (ie[(ie.ReturnStatement = 57)] = 'ReturnStatement'), + (ie[(ie.MediaQuery = 58)] = 'MediaQuery'), + (ie[(ie.FunctionParameter = 59)] = 'FunctionParameter'), + (ie[(ie.FunctionArgument = 60)] = 'FunctionArgument'), + (ie[(ie.KeyframeSelector = 61)] = 'KeyframeSelector'), + (ie[(ie.ViewPort = 62)] = 'ViewPort'), + (ie[(ie.Document = 63)] = 'Document'), + (ie[(ie.AtApplyRule = 64)] = 'AtApplyRule'), + (ie[(ie.CustomPropertyDeclaration = 65)] = 'CustomPropertyDeclaration'), + (ie[(ie.CustomPropertySet = 66)] = 'CustomPropertySet'), + (ie[(ie.ListEntry = 67)] = 'ListEntry'), + (ie[(ie.Supports = 68)] = 'Supports'), + (ie[(ie.SupportsCondition = 69)] = 'SupportsCondition'), + (ie[(ie.NamespacePrefix = 70)] = 'NamespacePrefix'), + (ie[(ie.GridLine = 71)] = 'GridLine'), + (ie[(ie.Plugin = 72)] = 'Plugin'), + (ie[(ie.UnknownAtRule = 73)] = 'UnknownAtRule'), + (ie[(ie.Use = 74)] = 'Use'), + (ie[(ie.ModuleConfiguration = 75)] = 'ModuleConfiguration'), + (ie[(ie.Forward = 76)] = 'Forward'), + (ie[(ie.ForwardVisibility = 77)] = 'ForwardVisibility'), + (ie[(ie.Module = 78)] = 'Module'), + (function (e) { + (e[(e.Mixin = 0)] = 'Mixin'), + (e[(e.Rule = 1)] = 'Rule'), + (e[(e.Variable = 2)] = 'Variable'), + (e[(e.Function = 3)] = 'Function'), + (e[(e.Keyframe = 4)] = 'Keyframe'), + (e[(e.Unknown = 5)] = 'Unknown'), + (e[(e.Module = 6)] = 'Module'), + (e[(e.Forward = 7)] = 'Forward'), + (e[(e.ForwardVisibility = 8)] = 'ForwardVisibility'); + })(re || (re = {})); + var le, + ce = (function () { + function e(e, t, n) { + void 0 === e && (e = -1), + void 0 === t && (t = -1), + (this.parent = null), + (this.offset = e), + (this.length = t), + n && (this.nodeType = n); + } + return ( + Object.defineProperty(e.prototype, 'end', { + get: function () { + return this.offset + this.length; + }, + enumerable: !0, + configurable: !0, + }), + Object.defineProperty(e.prototype, 'type', { + get: function () { + return this.nodeType || ne.Undefined; + }, + set: function (e) { + this.nodeType = e; + }, + enumerable: !0, + configurable: !0, + }), + (e.prototype.getTextProvider = function () { + for (var e = this; e && !e.textProvider; ) e = e.parent; + return e + ? e.textProvider + : function () { + return 'unknown'; + }; + }), + (e.prototype.getText = function () { + return this.getTextProvider()(this.offset, this.length); + }), + (e.prototype.matches = function (e) { + return ( + this.length === e.length && + this.getTextProvider()(this.offset, this.length) === e + ); + }), + (e.prototype.startsWith = function (e) { + return ( + this.length >= e.length && + this.getTextProvider()(this.offset, e.length) === e + ); + }), + (e.prototype.endsWith = function (e) { + return ( + this.length >= e.length && + this.getTextProvider()(this.end - e.length, e.length) === e + ); + }), + (e.prototype.accept = function (e) { + if (e(this) && this.children) + for (var t = 0, n = this.children; t < n.length; t++) + n[t].accept(e); + }), + (e.prototype.acceptVisitor = function (e) { + this.accept(e.visitNode.bind(e)); + }), + (e.prototype.adoptChild = function (e, t) { + if ((void 0 === t && (t = -1), e.parent && e.parent.children)) { + var n = e.parent.children.indexOf(e); + n >= 0 && e.parent.children.splice(n, 1); + } + e.parent = this; + var r = this.children; + return ( + r || (r = this.children = []), + -1 !== t ? r.splice(t, 0, e) : r.push(e), + e + ); + }), + (e.prototype.attachTo = function (e, t) { + return void 0 === t && (t = -1), e && e.adoptChild(this, t), this; + }), + (e.prototype.collectIssues = function (e) { + this.issues && e.push.apply(e, this.issues); + }), + (e.prototype.addIssue = function (e) { + this.issues || (this.issues = []), this.issues.push(e); + }), + (e.prototype.hasIssue = function (e) { + return ( + Array.isArray(this.issues) && + this.issues.some(function (t) { + return t.getRule() === e; + }) + ); + }), + (e.prototype.isErroneous = function (e) { + return ( + void 0 === e && (e = !1), + !!(this.issues && this.issues.length > 0) || + (e && + Array.isArray(this.children) && + this.children.some(function (e) { + return e.isErroneous(!0); + })) + ); + }), + (e.prototype.setNode = function (e, t, n) { + return ( + void 0 === n && (n = -1), + !!t && (t.attachTo(this, n), (this[e] = t), !0) + ); + }), + (e.prototype.addChild = function (e) { + return ( + !!e && + (this.children || (this.children = []), + e.attachTo(this), + this.updateOffsetAndLength(e), + !0) + ); + }), + (e.prototype.updateOffsetAndLength = function (e) { + (e.offset < this.offset || -1 === this.offset) && + (this.offset = e.offset); + var t = e.end; + (t > this.end || -1 === this.length) && + (this.length = t - this.offset); + }), + (e.prototype.hasChildren = function () { + return !!this.children && this.children.length > 0; + }), + (e.prototype.getChildren = function () { + return this.children ? this.children.slice(0) : []; + }), + (e.prototype.getChild = function (e) { + return this.children && e < this.children.length + ? this.children[e] + : null; + }), + (e.prototype.addChildren = function (e) { + for (var t = 0, n = e; t < n.length; t++) { + var r = n[t]; + this.addChild(r); + } + }), + (e.prototype.findFirstChildBeforeOffset = function (e) { + if (this.children) + for (var t = null, n = this.children.length - 1; n >= 0; n--) + if ((t = this.children[n]).offset <= e) return t; + return null; + }), + (e.prototype.findChildAtOffset = function (e, t) { + var n = this.findFirstChildBeforeOffset(e); + return n && n.end >= e + ? (t && n.findChildAtOffset(e, !0)) || n + : null; + }), + (e.prototype.encloses = function (e) { + return ( + this.offset <= e.offset && + this.offset + this.length >= e.offset + e.length + ); + }), + (e.prototype.getParent = function () { + for (var e = this.parent; e instanceof de; ) e = e.parent; + return e; + }), + (e.prototype.findParent = function (e) { + for (var t = this; t && t.type !== e; ) t = t.parent; + return t; + }), + (e.prototype.findAParent = function () { + for (var e = [], t = 0; t < arguments.length; t++) + e[t] = arguments[t]; + for ( + var n = this; + n && + !e.some(function (e) { + return n.type === e; + }); + + ) + n = n.parent; + return n; + }), + (e.prototype.setData = function (e, t) { + this.options || (this.options = {}), (this.options[e] = t); + }), + (e.prototype.getData = function (e) { + return this.options && this.options.hasOwnProperty(e) + ? this.options[e] + : null; + }), + e + ); + })(), + de = (function (e) { + function t(t, n) { + void 0 === n && (n = -1); + var r = e.call(this, -1, -1) || this; + return r.attachTo(t, n), (r.offset = -1), (r.length = -1), r; + } + return oe(t, e), t; + })(ce), + pe = (function (e) { + function t(t, n) { + var r = e.call(this, t, n) || this; + return (r.isCustomProperty = !1), r; + } + return ( + oe(t, e), + Object.defineProperty(t.prototype, 'type', { + get: function () { + return ne.Identifier; + }, + enumerable: !0, + configurable: !0, + }), + (t.prototype.containsInterpolation = function () { + return this.hasChildren(); + }), + t + ); + })(ce), + he = (function (e) { + function t(t, n) { + return e.call(this, t, n) || this; + } + return ( + oe(t, e), + Object.defineProperty(t.prototype, 'type', { + get: function () { + return ne.Stylesheet; + }, + enumerable: !0, + configurable: !0, + }), + t + ); + })(ce), + me = (function (e) { + function t(t, n) { + return e.call(this, t, n) || this; + } + return ( + oe(t, e), + Object.defineProperty(t.prototype, 'type', { + get: function () { + return ne.Declarations; + }, + enumerable: !0, + configurable: !0, + }), + t + ); + })(ce), + ue = (function (e) { + function t(t, n) { + return e.call(this, t, n) || this; + } + return ( + oe(t, e), + (t.prototype.getDeclarations = function () { + return this.declarations; + }), + (t.prototype.setDeclarations = function (e) { + return this.setNode('declarations', e); + }), + t + ); + })(ce), + fe = (function (e) { + function t(t, n) { + return e.call(this, t, n) || this; + } + return ( + oe(t, e), + Object.defineProperty(t.prototype, 'type', { + get: function () { + return ne.Ruleset; + }, + enumerable: !0, + configurable: !0, + }), + (t.prototype.getSelectors = function () { + return ( + this.selectors || (this.selectors = new de(this)), + this.selectors + ); + }), + (t.prototype.isNested = function () { + return ( + !!this.parent && + null !== this.parent.findParent(ne.Declarations) + ); + }), + t + ); + })(ue), + ge = (function (e) { + function t(t, n) { + return e.call(this, t, n) || this; + } + return ( + oe(t, e), + Object.defineProperty(t.prototype, 'type', { + get: function () { + return ne.Selector; + }, + enumerable: !0, + configurable: !0, + }), + t + ); + })(ce), + be = (function (e) { + function t(t, n) { + return e.call(this, t, n) || this; + } + return ( + oe(t, e), + Object.defineProperty(t.prototype, 'type', { + get: function () { + return ne.SimpleSelector; + }, + enumerable: !0, + configurable: !0, + }), + t + ); + })(ce), + ve = (function (e) { + function t(t, n) { + return e.call(this, t, n) || this; + } + return ( + oe(t, e), + Object.defineProperty(t.prototype, 'type', { + get: function () { + return ne.AtApplyRule; + }, + enumerable: !0, + configurable: !0, + }), + (t.prototype.setIdentifier = function (e) { + return this.setNode('identifier', e, 0); + }), + (t.prototype.getIdentifier = function () { + return this.identifier; + }), + (t.prototype.getName = function () { + return this.identifier ? this.identifier.getText() : ''; + }), + t + ); + })(ce), + ye = (function (e) { + function t(t, n) { + return e.call(this, t, n) || this; + } + return oe(t, e), t; + })(ce), + we = (function (e) { + function t(t, n) { + return e.call(this, t, n) || this; + } + return ( + oe(t, e), + Object.defineProperty(t.prototype, 'type', { + get: function () { + return ne.CustomPropertyDeclaration; + }, + enumerable: !0, + configurable: !0, + }), + (t.prototype.setProperty = function (e) { + return this.setNode('property', e); + }), + (t.prototype.getProperty = function () { + return this.property; + }), + (t.prototype.setValue = function (e) { + return this.setNode('value', e); + }), + (t.prototype.getValue = function () { + return this.value; + }), + (t.prototype.setPropertySet = function (e) { + return this.setNode('propertySet', e); + }), + (t.prototype.getPropertySet = function () { + return this.propertySet; + }), + t + ); + })(ye), + xe = (function (e) { + function t(t, n) { + return e.call(this, t, n) || this; + } + return ( + oe(t, e), + Object.defineProperty(t.prototype, 'type', { + get: function () { + return ne.CustomPropertySet; + }, + enumerable: !0, + configurable: !0, + }), + t + ); + })(ue), + Se = (function (e) { + function t(t, n) { + var r = e.call(this, t, n) || this; + return (r.property = null), r; + } + return ( + oe(t, e), + Object.defineProperty(t.prototype, 'type', { + get: function () { + return ne.Declaration; + }, + enumerable: !0, + configurable: !0, + }), + (t.prototype.setProperty = function (e) { + return this.setNode('property', e); + }), + (t.prototype.getProperty = function () { + return this.property; + }), + (t.prototype.getFullPropertyName = function () { + var e = this.property ? this.property.getName() : 'unknown'; + if ( + this.parent instanceof me && + this.parent.getParent() instanceof Ne + ) { + var n = this.parent.getParent().getParent(); + if (n instanceof t) return n.getFullPropertyName() + e; + } + return e; + }), + (t.prototype.getNonPrefixedPropertyName = function () { + var e = this.getFullPropertyName(); + if (e && '-' === e.charAt(0)) { + var t = e.indexOf('-', 1); + if (-1 !== t) return e.substring(t + 1); + } + return e; + }), + (t.prototype.setValue = function (e) { + return this.setNode('value', e); + }), + (t.prototype.getValue = function () { + return this.value; + }), + (t.prototype.setNestedProperties = function (e) { + return this.setNode('nestedProperties', e); + }), + (t.prototype.getNestedProperties = function () { + return this.nestedProperties; + }), + t + ); + })(ye), + ke = (function (e) { + function t(t, n) { + return e.call(this, t, n) || this; + } + return ( + oe(t, e), + Object.defineProperty(t.prototype, 'type', { + get: function () { + return ne.Property; + }, + enumerable: !0, + configurable: !0, + }), + (t.prototype.setIdentifier = function (e) { + return this.setNode('identifier', e); + }), + (t.prototype.getIdentifier = function () { + return this.identifier; + }), + (t.prototype.getName = function () { + return ( + (e = this.getText()), + (t = /[_\+]+$/.exec(e)) && t[0].length + ? e.substr(0, e.length - t[0].length) + : e + ); + var e, t; + }), + (t.prototype.isCustomProperty = function () { + return !!this.identifier && this.identifier.isCustomProperty; + }), + t + ); + })(ce), + Ce = (function (e) { + function t(t, n) { + return e.call(this, t, n) || this; + } + return ( + oe(t, e), + Object.defineProperty(t.prototype, 'type', { + get: function () { + return ne.Function; + }, + enumerable: !0, + configurable: !0, + }), + (t.prototype.setIdentifier = function (e) { + return this.setNode('identifier', e, 0); + }), + (t.prototype.getIdentifier = function () { + return this.identifier; + }), + (t.prototype.getName = function () { + return this.identifier ? this.identifier.getText() : ''; + }), + t + ); + })( + (function (e) { + function t(t, n) { + return e.call(this, t, n) || this; + } + return ( + oe(t, e), + Object.defineProperty(t.prototype, 'type', { + get: function () { + return ne.Invocation; + }, + enumerable: !0, + configurable: !0, + }), + (t.prototype.getArguments = function () { + return ( + this.arguments || (this.arguments = new de(this)), + this.arguments + ); + }), + t + ); + })(ce) + ), + Fe = (function (e) { + function t(t, n) { + return e.call(this, t, n) || this; + } + return ( + oe(t, e), + Object.defineProperty(t.prototype, 'type', { + get: function () { + return ne.FunctionParameter; + }, + enumerable: !0, + configurable: !0, + }), + (t.prototype.setIdentifier = function (e) { + return this.setNode('identifier', e, 0); + }), + (t.prototype.getIdentifier = function () { + return this.identifier; + }), + (t.prototype.getName = function () { + return this.identifier ? this.identifier.getText() : ''; + }), + (t.prototype.setDefaultValue = function (e) { + return this.setNode('defaultValue', e, 0); + }), + (t.prototype.getDefaultValue = function () { + return this.defaultValue; + }), + t + ); + })(ce), + ze = (function (e) { + function t(t, n) { + return e.call(this, t, n) || this; + } + return ( + oe(t, e), + Object.defineProperty(t.prototype, 'type', { + get: function () { + return ne.FunctionArgument; + }, + enumerable: !0, + configurable: !0, + }), + (t.prototype.setIdentifier = function (e) { + return this.setNode('identifier', e, 0); + }), + (t.prototype.getIdentifier = function () { + return this.identifier; + }), + (t.prototype.getName = function () { + return this.identifier ? this.identifier.getText() : ''; + }), + (t.prototype.setValue = function (e) { + return this.setNode('value', e, 0); + }), + (t.prototype.getValue = function () { + return this.value; + }), + t + ); + })(ce), + Ee = (function (e) { + function t(t, n) { + return e.call(this, t, n) || this; + } + return ( + oe(t, e), + Object.defineProperty(t.prototype, 'type', { + get: function () { + return ne.If; + }, + enumerable: !0, + configurable: !0, + }), + (t.prototype.setExpression = function (e) { + return this.setNode('expression', e, 0); + }), + (t.prototype.setElseClause = function (e) { + return this.setNode('elseClause', e); + }), + t + ); + })(ue), + De = (function (e) { + function t(t, n) { + return e.call(this, t, n) || this; + } + return ( + oe(t, e), + Object.defineProperty(t.prototype, 'type', { + get: function () { + return ne.For; + }, + enumerable: !0, + configurable: !0, + }), + (t.prototype.setVariable = function (e) { + return this.setNode('variable', e, 0); + }), + t + ); + })(ue), + Te = (function (e) { + function t(t, n) { + return e.call(this, t, n) || this; + } + return ( + oe(t, e), + Object.defineProperty(t.prototype, 'type', { + get: function () { + return ne.Each; + }, + enumerable: !0, + configurable: !0, + }), + (t.prototype.getVariables = function () { + return ( + this.variables || (this.variables = new de(this)), + this.variables + ); + }), + t + ); + })(ue), + Re = (function (e) { + function t(t, n) { + return e.call(this, t, n) || this; + } + return ( + oe(t, e), + Object.defineProperty(t.prototype, 'type', { + get: function () { + return ne.While; + }, + enumerable: !0, + configurable: !0, + }), + t + ); + })(ue), + Ie = (function (e) { + function t(t, n) { + return e.call(this, t, n) || this; + } + return ( + oe(t, e), + Object.defineProperty(t.prototype, 'type', { + get: function () { + return ne.Else; + }, + enumerable: !0, + configurable: !0, + }), + t + ); + })(ue), + Me = (function (e) { + function t(t, n) { + return e.call(this, t, n) || this; + } + return ( + oe(t, e), + Object.defineProperty(t.prototype, 'type', { + get: function () { + return ne.FunctionDeclaration; + }, + enumerable: !0, + configurable: !0, + }), + (t.prototype.setIdentifier = function (e) { + return this.setNode('identifier', e, 0); + }), + (t.prototype.getIdentifier = function () { + return this.identifier; + }), + (t.prototype.getName = function () { + return this.identifier ? this.identifier.getText() : ''; + }), + (t.prototype.getParameters = function () { + return ( + this.parameters || (this.parameters = new de(this)), + this.parameters + ); + }), + t + ); + })(ue), + Pe = (function (e) { + function t(t, n) { + return e.call(this, t, n) || this; + } + return ( + oe(t, e), + Object.defineProperty(t.prototype, 'type', { + get: function () { + return ne.ViewPort; + }, + enumerable: !0, + configurable: !0, + }), + t + ); + })(ue), + _e = (function (e) { + function t(t, n) { + return e.call(this, t, n) || this; + } + return ( + oe(t, e), + Object.defineProperty(t.prototype, 'type', { + get: function () { + return ne.FontFace; + }, + enumerable: !0, + configurable: !0, + }), + t + ); + })(ue), + Ne = (function (e) { + function t(t, n) { + return e.call(this, t, n) || this; + } + return ( + oe(t, e), + Object.defineProperty(t.prototype, 'type', { + get: function () { + return ne.NestedProperties; + }, + enumerable: !0, + configurable: !0, + }), + t + ); + })(ue), + Ae = (function (e) { + function t(t, n) { + return e.call(this, t, n) || this; + } + return ( + oe(t, e), + Object.defineProperty(t.prototype, 'type', { + get: function () { + return ne.Keyframe; + }, + enumerable: !0, + configurable: !0, + }), + (t.prototype.setKeyword = function (e) { + return this.setNode('keyword', e, 0); + }), + (t.prototype.getKeyword = function () { + return this.keyword; + }), + (t.prototype.setIdentifier = function (e) { + return this.setNode('identifier', e, 0); + }), + (t.prototype.getIdentifier = function () { + return this.identifier; + }), + (t.prototype.getName = function () { + return this.identifier ? this.identifier.getText() : ''; + }), + t + ); + })(ue), + Oe = (function (e) { + function t(t, n) { + return e.call(this, t, n) || this; + } + return ( + oe(t, e), + Object.defineProperty(t.prototype, 'type', { + get: function () { + return ne.KeyframeSelector; + }, + enumerable: !0, + configurable: !0, + }), + t + ); + })(ue), + We = (function (e) { + function t(t, n) { + return e.call(this, t, n) || this; + } + return ( + oe(t, e), + Object.defineProperty(t.prototype, 'type', { + get: function () { + return ne.Import; + }, + enumerable: !0, + configurable: !0, + }), + (t.prototype.setMedialist = function (e) { + return !!e && (e.attachTo(this), !0); + }), + t + ); + })(ce), + Le = (function (e) { + function t() { + return (null !== e && e.apply(this, arguments)) || this; + } + return ( + oe(t, e), + Object.defineProperty(t.prototype, 'type', { + get: function () { + return ne.Use; + }, + enumerable: !0, + configurable: !0, + }), + (t.prototype.getParameters = function () { + return ( + this.parameters || (this.parameters = new de(this)), + this.parameters + ); + }), + (t.prototype.setIdentifier = function (e) { + return this.setNode('identifier', e, 0); + }), + (t.prototype.getIdentifier = function () { + return this.identifier; + }), + t + ); + })(ce), + Ue = (function (e) { + function t() { + return (null !== e && e.apply(this, arguments)) || this; + } + return ( + oe(t, e), + Object.defineProperty(t.prototype, 'type', { + get: function () { + return ne.ModuleConfiguration; + }, + enumerable: !0, + configurable: !0, + }), + (t.prototype.setIdentifier = function (e) { + return this.setNode('identifier', e, 0); + }), + (t.prototype.getIdentifier = function () { + return this.identifier; + }), + (t.prototype.getName = function () { + return this.identifier ? this.identifier.getText() : ''; + }), + (t.prototype.setValue = function (e) { + return this.setNode('value', e, 0); + }), + (t.prototype.getValue = function () { + return this.value; + }), + t + ); + })(ce), + je = (function (e) { + function t() { + return (null !== e && e.apply(this, arguments)) || this; + } + return ( + oe(t, e), + Object.defineProperty(t.prototype, 'type', { + get: function () { + return ne.Forward; + }, + enumerable: !0, + configurable: !0, + }), + (t.prototype.setIdentifier = function (e) { + return this.setNode('identifier', e, 0); + }), + (t.prototype.getIdentifier = function () { + return this.identifier; + }), + t + ); + })(ce), + Ve = (function (e) { + function t() { + return (null !== e && e.apply(this, arguments)) || this; + } + return ( + oe(t, e), + Object.defineProperty(t.prototype, 'type', { + get: function () { + return ne.ForwardVisibility; + }, + enumerable: !0, + configurable: !0, + }), + (t.prototype.setIdentifier = function (e) { + return this.setNode('identifier', e, 0); + }), + (t.prototype.getIdentifier = function () { + return this.identifier; + }), + t + ); + })(ce), + Be = (function (e) { + function t(t, n) { + return e.call(this, t, n) || this; + } + return ( + oe(t, e), + Object.defineProperty(t.prototype, 'type', { + get: function () { + return ne.Namespace; + }, + enumerable: !0, + configurable: !0, + }), + t + ); + })(ce), + $e = (function (e) { + function t(t, n) { + return e.call(this, t, n) || this; + } + return ( + oe(t, e), + Object.defineProperty(t.prototype, 'type', { + get: function () { + return ne.Media; + }, + enumerable: !0, + configurable: !0, + }), + t + ); + })(ue), + qe = (function (e) { + function t(t, n) { + return e.call(this, t, n) || this; + } + return ( + oe(t, e), + Object.defineProperty(t.prototype, 'type', { + get: function () { + return ne.Supports; + }, + enumerable: !0, + configurable: !0, + }), + t + ); + })(ue), + Ke = (function (e) { + function t(t, n) { + return e.call(this, t, n) || this; + } + return ( + oe(t, e), + Object.defineProperty(t.prototype, 'type', { + get: function () { + return ne.Document; + }, + enumerable: !0, + configurable: !0, + }), + t + ); + })(ue), + Ge = (function (e) { + function t(t, n) { + return e.call(this, t, n) || this; + } + return ( + oe(t, e), + (t.prototype.getMediums = function () { + return ( + this.mediums || (this.mediums = new de(this)), this.mediums + ); + }), + t + ); + })(ce), + He = (function (e) { + function t(t, n) { + return e.call(this, t, n) || this; + } + return ( + oe(t, e), + Object.defineProperty(t.prototype, 'type', { + get: function () { + return ne.MediaQuery; + }, + enumerable: !0, + configurable: !0, + }), + t + ); + })(ce), + Je = (function (e) { + function t(t, n) { + return e.call(this, t, n) || this; + } + return ( + oe(t, e), + Object.defineProperty(t.prototype, 'type', { + get: function () { + return ne.SupportsCondition; + }, + enumerable: !0, + configurable: !0, + }), + t + ); + })(ce), + Ye = (function (e) { + function t(t, n) { + return e.call(this, t, n) || this; + } + return ( + oe(t, e), + Object.defineProperty(t.prototype, 'type', { + get: function () { + return ne.Page; + }, + enumerable: !0, + configurable: !0, + }), + t + ); + })(ue), + Xe = (function (e) { + function t(t, n) { + return e.call(this, t, n) || this; + } + return ( + oe(t, e), + Object.defineProperty(t.prototype, 'type', { + get: function () { + return ne.PageBoxMarginBox; + }, + enumerable: !0, + configurable: !0, + }), + t + ); + })(ue), + Ze = (function (e) { + function t(t, n) { + return e.call(this, t, n) || this; + } + return ( + oe(t, e), + Object.defineProperty(t.prototype, 'type', { + get: function () { + return ne.Expression; + }, + enumerable: !0, + configurable: !0, + }), + t + ); + })(ce), + Qe = (function (e) { + function t(t, n) { + return e.call(this, t, n) || this; + } + return ( + oe(t, e), + Object.defineProperty(t.prototype, 'type', { + get: function () { + return ne.BinaryExpression; + }, + enumerable: !0, + configurable: !0, + }), + (t.prototype.setLeft = function (e) { + return this.setNode('left', e); + }), + (t.prototype.getLeft = function () { + return this.left; + }), + (t.prototype.setRight = function (e) { + return this.setNode('right', e); + }), + (t.prototype.getRight = function () { + return this.right; + }), + (t.prototype.setOperator = function (e) { + return this.setNode('operator', e); + }), + (t.prototype.getOperator = function () { + return this.operator; + }), + t + ); + })(ce), + et = (function (e) { + function t(t, n) { + return e.call(this, t, n) || this; + } + return ( + oe(t, e), + Object.defineProperty(t.prototype, 'type', { + get: function () { + return ne.Term; + }, + enumerable: !0, + configurable: !0, + }), + (t.prototype.setOperator = function (e) { + return this.setNode('operator', e); + }), + (t.prototype.getOperator = function () { + return this.operator; + }), + (t.prototype.setExpression = function (e) { + return this.setNode('expression', e); + }), + (t.prototype.getExpression = function () { + return this.expression; + }), + t + ); + })(ce), + tt = (function (e) { + function t(t, n) { + return e.call(this, t, n) || this; + } + return ( + oe(t, e), + Object.defineProperty(t.prototype, 'type', { + get: function () { + return ne.AttributeSelector; + }, + enumerable: !0, + configurable: !0, + }), + (t.prototype.setNamespacePrefix = function (e) { + return this.setNode('namespacePrefix', e); + }), + (t.prototype.getNamespacePrefix = function () { + return this.namespacePrefix; + }), + (t.prototype.setIdentifier = function (e) { + return this.setNode('identifier', e); + }), + (t.prototype.getIdentifier = function () { + return this.identifier; + }), + (t.prototype.setOperator = function (e) { + return this.setNode('operator', e); + }), + (t.prototype.getOperator = function () { + return this.operator; + }), + (t.prototype.setValue = function (e) { + return this.setNode('value', e); + }), + (t.prototype.getValue = function () { + return this.value; + }), + t + ); + })(ce), + nt = + ((function (e) { + function t(t, n) { + return e.call(this, t, n) || this; + } + oe(t, e), + Object.defineProperty(t.prototype, 'type', { + get: function () { + return ne.Operator; + }, + enumerable: !0, + configurable: !0, + }); + })(ce), + (function (e) { + function t(t, n) { + return e.call(this, t, n) || this; + } + return ( + oe(t, e), + Object.defineProperty(t.prototype, 'type', { + get: function () { + return ne.HexColorValue; + }, + enumerable: !0, + configurable: !0, + }), + t + ); + })(ce)), + rt = '.'.charCodeAt(0), + it = '0'.charCodeAt(0), + ot = '9'.charCodeAt(0), + st = (function (e) { + function t(t, n) { + return e.call(this, t, n) || this; + } + return ( + oe(t, e), + Object.defineProperty(t.prototype, 'type', { + get: function () { + return ne.NumericValue; + }, + enumerable: !0, + configurable: !0, + }), + (t.prototype.getValue = function () { + for ( + var e, t = this.getText(), n = 0, r = 0, i = t.length; + r < i && + ((e = t.charCodeAt(r)), (it <= e && e <= ot) || e === rt); + r++ + ) + n += 1; + return { + value: t.substring(0, n), + unit: n < t.length ? t.substring(n) : void 0, + }; + }), + t + ); + })(ce), + at = (function (e) { + function t(t, n) { + var r = e.call(this, t, n) || this; + return ( + (r.variable = null), (r.value = null), (r.needsSemicolon = !0), r + ); + } + return ( + oe(t, e), + Object.defineProperty(t.prototype, 'type', { + get: function () { + return ne.VariableDeclaration; + }, + enumerable: !0, + configurable: !0, + }), + (t.prototype.setVariable = function (e) { + return !!e && (e.attachTo(this), (this.variable = e), !0); + }), + (t.prototype.getVariable = function () { + return this.variable; + }), + (t.prototype.getName = function () { + return this.variable ? this.variable.getName() : ''; + }), + (t.prototype.setValue = function (e) { + return !!e && (e.attachTo(this), (this.value = e), !0); + }), + (t.prototype.getValue = function () { + return this.value; + }), + t + ); + })(ye), + lt = (function (e) { + function t(t, n) { + return e.call(this, t, n) || this; + } + return ( + oe(t, e), + Object.defineProperty(t.prototype, 'type', { + get: function () { + return ne.Interpolation; + }, + enumerable: !0, + configurable: !0, + }), + t + ); + })(ce), + ct = (function (e) { + function t(t, n) { + return e.call(this, t, n) || this; + } + return ( + oe(t, e), + Object.defineProperty(t.prototype, 'type', { + get: function () { + return ne.VariableName; + }, + enumerable: !0, + configurable: !0, + }), + (t.prototype.getName = function () { + return this.getText(); + }), + t + ); + })(ce), + dt = (function (e) { + function t(t, n) { + return e.call(this, t, n) || this; + } + return ( + oe(t, e), + Object.defineProperty(t.prototype, 'type', { + get: function () { + return ne.ExtendsReference; + }, + enumerable: !0, + configurable: !0, + }), + (t.prototype.getSelectors = function () { + return ( + this.selectors || (this.selectors = new de(this)), + this.selectors + ); + }), + t + ); + })(ce), + pt = (function (e) { + function t(t, n) { + return e.call(this, t, n) || this; + } + return ( + oe(t, e), + Object.defineProperty(t.prototype, 'type', { + get: function () { + return ne.MixinContentReference; + }, + enumerable: !0, + configurable: !0, + }), + (t.prototype.getArguments = function () { + return ( + this.arguments || (this.arguments = new de(this)), + this.arguments + ); + }), + t + ); + })(ce), + ht = (function (e) { + function t(t, n) { + return e.call(this, t, n) || this; + } + return ( + oe(t, e), + Object.defineProperty(t.prototype, 'type', { + get: function () { + return ne.MixinContentReference; + }, + enumerable: !0, + configurable: !0, + }), + (t.prototype.getParameters = function () { + return ( + this.parameters || (this.parameters = new de(this)), + this.parameters + ); + }), + t + ); + })(ue), + mt = (function (e) { + function t(t, n) { + return e.call(this, t, n) || this; + } + return ( + oe(t, e), + Object.defineProperty(t.prototype, 'type', { + get: function () { + return ne.MixinReference; + }, + enumerable: !0, + configurable: !0, + }), + (t.prototype.getNamespaces = function () { + return ( + this.namespaces || (this.namespaces = new de(this)), + this.namespaces + ); + }), + (t.prototype.setIdentifier = function (e) { + return this.setNode('identifier', e, 0); + }), + (t.prototype.getIdentifier = function () { + return this.identifier; + }), + (t.prototype.getName = function () { + return this.identifier ? this.identifier.getText() : ''; + }), + (t.prototype.getArguments = function () { + return ( + this.arguments || (this.arguments = new de(this)), + this.arguments + ); + }), + (t.prototype.setContent = function (e) { + return this.setNode('content', e); + }), + (t.prototype.getContent = function () { + return this.content; + }), + t + ); + })(ce), + ut = (function (e) { + function t(t, n) { + return e.call(this, t, n) || this; + } + return ( + oe(t, e), + Object.defineProperty(t.prototype, 'type', { + get: function () { + return ne.MixinDeclaration; + }, + enumerable: !0, + configurable: !0, + }), + (t.prototype.setIdentifier = function (e) { + return this.setNode('identifier', e, 0); + }), + (t.prototype.getIdentifier = function () { + return this.identifier; + }), + (t.prototype.getName = function () { + return this.identifier ? this.identifier.getText() : ''; + }), + (t.prototype.getParameters = function () { + return ( + this.parameters || (this.parameters = new de(this)), + this.parameters + ); + }), + (t.prototype.setGuard = function (e) { + return e && (e.attachTo(this), (this.guard = e)), !1; + }), + t + ); + })(ue), + ft = (function (e) { + function t(t, n) { + return e.call(this, t, n) || this; + } + return ( + oe(t, e), + Object.defineProperty(t.prototype, 'type', { + get: function () { + return ne.UnknownAtRule; + }, + enumerable: !0, + configurable: !0, + }), + (t.prototype.setAtRuleName = function (e) { + this.atRuleName = e; + }), + (t.prototype.getAtRuleName = function () { + return this.atRuleName; + }), + t + ); + })(ue), + gt = (function (e) { + function t() { + return (null !== e && e.apply(this, arguments)) || this; + } + return ( + oe(t, e), + Object.defineProperty(t.prototype, 'type', { + get: function () { + return ne.ListEntry; + }, + enumerable: !0, + configurable: !0, + }), + (t.prototype.setKey = function (e) { + return this.setNode('key', e, 0); + }), + (t.prototype.setValue = function (e) { + return this.setNode('value', e, 1); + }), + t + ); + })(ce), + bt = (function (e) { + function t() { + return (null !== e && e.apply(this, arguments)) || this; + } + return ( + oe(t, e), + (t.prototype.getConditions = function () { + return ( + this.conditions || (this.conditions = new de(this)), + this.conditions + ); + }), + t + ); + })(ce), + vt = (function (e) { + function t() { + return (null !== e && e.apply(this, arguments)) || this; + } + return ( + oe(t, e), + (t.prototype.setVariable = function (e) { + return this.setNode('variable', e); + }), + t + ); + })(ce), + yt = (function (e) { + function t() { + return (null !== e && e.apply(this, arguments)) || this; + } + return ( + oe(t, e), + Object.defineProperty(t.prototype, 'type', { + get: function () { + return ne.Module; + }, + enumerable: !0, + configurable: !0, + }), + (t.prototype.setIdentifier = function (e) { + return this.setNode('identifier', e, 0); + }), + (t.prototype.getIdentifier = function () { + return this.identifier; + }), + t + ); + })(ce); + !(function (e) { + (e[(e.Ignore = 1)] = 'Ignore'), + (e[(e.Warning = 2)] = 'Warning'), + (e[(e.Error = 4)] = 'Error'); + })(le || (le = {})); + var wt = (function () { + function e(e, t, n, r, i, o) { + void 0 === i && (i = e.offset), + void 0 === o && (o = e.length), + (this.node = e), + (this.rule = t), + (this.level = n), + (this.message = r || t.message), + (this.offset = i), + (this.length = o); + } + return ( + (e.prototype.getRule = function () { + return this.rule; + }), + (e.prototype.getLevel = function () { + return this.level; + }), + (e.prototype.getOffset = function () { + return this.offset; + }), + (e.prototype.getLength = function () { + return this.length; + }), + (e.prototype.getNode = function () { + return this.node; + }), + (e.prototype.getMessage = function () { + return this.message; + }), + e + ); + })(), + xt = (function () { + function e() { + this.entries = []; + } + return ( + (e.entries = function (t) { + var n = new e(); + return t.acceptVisitor(n), n.entries; + }), + (e.prototype.visitNode = function (e) { + return e.isErroneous() && e.collectIssues(this.entries), !0; + }), + e + ); + })(); + function St(e, t) { + return 0 === t.length + ? e + : e.replace(/\{(\d+)\}/g, function (e, n) { + var r = n[0]; + return void 0 !== t[r] ? t[r] : e; + }); + } + function kt(e, t) { + for (var n = [], r = 2; r < arguments.length; r++) + n[r - 2] = arguments[r]; + return St(t, n); + } + function Ct(e) { + return kt; + } + var Ft = Ct(), + zt = function (e, t) { + (this.id = e), (this.message = t); + }, + Et = { + NumberExpected: new zt( + 'css-numberexpected', + Ft('expected.number', 'number expected') + ), + ConditionExpected: new zt( + 'css-conditionexpected', + Ft('expected.condt', 'condition expected') + ), + RuleOrSelectorExpected: new zt( + 'css-ruleorselectorexpected', + Ft('expected.ruleorselector', 'at-rule or selector expected') + ), + DotExpected: new zt( + 'css-dotexpected', + Ft('expected.dot', 'dot expected') + ), + ColonExpected: new zt( + 'css-colonexpected', + Ft('expected.colon', 'colon expected') + ), + SemiColonExpected: new zt( + 'css-semicolonexpected', + Ft('expected.semicolon', 'semi-colon expected') + ), + TermExpected: new zt( + 'css-termexpected', + Ft('expected.term', 'term expected') + ), + ExpressionExpected: new zt( + 'css-expressionexpected', + Ft('expected.expression', 'expression expected') + ), + OperatorExpected: new zt( + 'css-operatorexpected', + Ft('expected.operator', 'operator expected') + ), + IdentifierExpected: new zt( + 'css-identifierexpected', + Ft('expected.ident', 'identifier expected') + ), + PercentageExpected: new zt( + 'css-percentageexpected', + Ft('expected.percentage', 'percentage expected') + ), + URIOrStringExpected: new zt( + 'css-uriorstringexpected', + Ft('expected.uriorstring', 'uri or string expected') + ), + URIExpected: new zt( + 'css-uriexpected', + Ft('expected.uri', 'URI expected') + ), + VariableNameExpected: new zt( + 'css-varnameexpected', + Ft('expected.varname', 'variable name expected') + ), + VariableValueExpected: new zt( + 'css-varvalueexpected', + Ft('expected.varvalue', 'variable value expected') + ), + PropertyValueExpected: new zt( + 'css-propertyvalueexpected', + Ft('expected.propvalue', 'property value expected') + ), + LeftCurlyExpected: new zt( + 'css-lcurlyexpected', + Ft('expected.lcurly', '{ expected') + ), + RightCurlyExpected: new zt( + 'css-rcurlyexpected', + Ft('expected.rcurly', '} expected') + ), + LeftSquareBracketExpected: new zt( + 'css-rbracketexpected', + Ft('expected.lsquare', '[ expected') + ), + RightSquareBracketExpected: new zt( + 'css-lbracketexpected', + Ft('expected.rsquare', '] expected') + ), + LeftParenthesisExpected: new zt( + 'css-lparentexpected', + Ft('expected.lparen', '( expected') + ), + RightParenthesisExpected: new zt( + 'css-rparentexpected', + Ft('expected.rparent', ') expected') + ), + CommaExpected: new zt( + 'css-commaexpected', + Ft('expected.comma', 'comma expected') + ), + PageDirectiveOrDeclarationExpected: new zt( + 'css-pagedirordeclexpected', + Ft( + 'expected.pagedirordecl', + 'page directive or declaraton expected' + ) + ), + UnknownAtRule: new zt( + 'css-unknownatrule', + Ft('unknown.atrule', 'at-rule unknown') + ), + UnknownKeyword: new zt( + 'css-unknownkeyword', + Ft('unknown.keyword', 'unknown keyword') + ), + SelectorExpected: new zt( + 'css-selectorexpected', + Ft('expected.selector', 'selector expected') + ), + StringLiteralExpected: new zt( + 'css-stringliteralexpected', + Ft('expected.stringliteral', 'string literal expected') + ), + WhitespaceExpected: new zt( + 'css-whitespaceexpected', + Ft('expected.whitespace', 'whitespace expected') + ), + MediaQueryExpected: new zt( + 'css-mediaqueryexpected', + Ft('expected.mediaquery', 'media query expected') + ), + IdentifierOrWildcardExpected: new zt( + 'css-idorwildcardexpected', + Ft('expected.idorwildcard', 'identifier or wildcard expected') + ), + WildcardExpected: new zt( + 'css-wildcardexpected', + Ft('expected.wildcard', 'wildcard expected') + ), + IdentifierOrVariableExpected: new zt( + 'css-idorvarexpected', + Ft('expected.idorvar', 'identifier or variable expected') + ), + }, + Dt = { + E: 'Edge', + FF: 'Firefox', + S: 'Safari', + C: 'Chrome', + IE: 'IE', + O: 'Opera', + }; + function Tt(e) { + switch (e) { + case 'experimental': + return '⚠️ Property is experimental. Be cautious when using it.️\n\n'; + case 'nonstandard': + return '🚨️ Property is nonstandard. Avoid using it.\n\n'; + case 'obsolete': + return '🚨️️️ Property is obsolete. Avoid using it.\n\n'; + default: + return ''; + } + } + function Rt(e, t) { + var n; + if ( + '' !== + (n = t + ? { kind: 'markdown', value: Pt(e) } + : { kind: 'plaintext', value: Mt(e) }).value + ) + return n; + } + function It(e) { + return (e = e.replace(/[\\`*_{}[\]()#+\-.!]/g, '\\$&')) + .replace(/</g, '<') + .replace(/>/g, '>'); + } + function Mt(e) { + if (!e.description || '' === e.description) return ''; + if ('string' != typeof e.description) return e.description.value; + var t = ''; + e.status && (t += Tt(e.status)), (t += e.description); + var n = _t(e.browsers); + return ( + n && (t += '\n(' + n + ')'), + 'syntax' in e && (t += '\n\nSyntax: ' + e.syntax), + e.references && + e.references.length > 0 && + ((t += '\n\n'), + (t += e.references + .map(function (e) { + return e.name + ': ' + e.url; + }) + .join(' | '))), + t + ); + } + function Pt(e) { + if (!e.description || '' === e.description) return ''; + var t = ''; + e.status && (t += Tt(e.status)), + (t += It( + 'string' == typeof e.description + ? e.description + : e.description.value + )); + var n = _t(e.browsers); + return ( + n && (t += '\n\n(' + It(n) + ')'), + 'syntax' in e && e.syntax && (t += '\n\nSyntax: ' + It(e.syntax)), + e.references && + e.references.length > 0 && + ((t += '\n\n'), + (t += e.references + .map(function (e) { + return '[' + e.name + '](' + e.url + ')'; + }) + .join(' | '))), + t + ); + } + function _t(e) { + return ( + void 0 === e && (e = []), + 0 === e.length + ? null + : e + .map(function (e) { + var t = '', + n = e.match(/([A-Z]+)(\d+)?/), + r = n[1], + i = n[2]; + return r in Dt && (t += Dt[r]), i && (t += ' ' + i), t; + }) + .join(', ') + ); + } + var Nt = Ct(), + At = [ + { + func: 'rgb($red, $green, $blue)', + desc: Nt( + 'css.builtin.rgb', + 'Creates a Color from red, green, and blue values.' + ), + }, + { + func: 'rgba($red, $green, $blue, $alpha)', + desc: Nt( + 'css.builtin.rgba', + 'Creates a Color from red, green, blue, and alpha values.' + ), + }, + { + func: 'hsl($hue, $saturation, $lightness)', + desc: Nt( + 'css.builtin.hsl', + 'Creates a Color from hue, saturation, and lightness values.' + ), + }, + { + func: 'hsla($hue, $saturation, $lightness, $alpha)', + desc: Nt( + 'css.builtin.hsla', + 'Creates a Color from hue, saturation, lightness, and alpha values.' + ), + }, + ], + Ot = { + aliceblue: '#f0f8ff', + antiquewhite: '#faebd7', + aqua: '#00ffff', + aquamarine: '#7fffd4', + azure: '#f0ffff', + beige: '#f5f5dc', + bisque: '#ffe4c4', + black: '#000000', + blanchedalmond: '#ffebcd', + blue: '#0000ff', + blueviolet: '#8a2be2', + brown: '#a52a2a', + burlywood: '#deb887', + cadetblue: '#5f9ea0', + chartreuse: '#7fff00', + chocolate: '#d2691e', + coral: '#ff7f50', + cornflowerblue: '#6495ed', + cornsilk: '#fff8dc', + crimson: '#dc143c', + cyan: '#00ffff', + darkblue: '#00008b', + darkcyan: '#008b8b', + darkgoldenrod: '#b8860b', + darkgray: '#a9a9a9', + darkgrey: '#a9a9a9', + darkgreen: '#006400', + darkkhaki: '#bdb76b', + darkmagenta: '#8b008b', + darkolivegreen: '#556b2f', + darkorange: '#ff8c00', + darkorchid: '#9932cc', + darkred: '#8b0000', + darksalmon: '#e9967a', + darkseagreen: '#8fbc8f', + darkslateblue: '#483d8b', + darkslategray: '#2f4f4f', + darkslategrey: '#2f4f4f', + darkturquoise: '#00ced1', + darkviolet: '#9400d3', + deeppink: '#ff1493', + deepskyblue: '#00bfff', + dimgray: '#696969', + dimgrey: '#696969', + dodgerblue: '#1e90ff', + firebrick: '#b22222', + floralwhite: '#fffaf0', + forestgreen: '#228b22', + fuchsia: '#ff00ff', + gainsboro: '#dcdcdc', + ghostwhite: '#f8f8ff', + gold: '#ffd700', + goldenrod: '#daa520', + gray: '#808080', + grey: '#808080', + green: '#008000', + greenyellow: '#adff2f', + honeydew: '#f0fff0', + hotpink: '#ff69b4', + indianred: '#cd5c5c', + indigo: '#4b0082', + ivory: '#fffff0', + khaki: '#f0e68c', + lavender: '#e6e6fa', + lavenderblush: '#fff0f5', + lawngreen: '#7cfc00', + lemonchiffon: '#fffacd', + lightblue: '#add8e6', + lightcoral: '#f08080', + lightcyan: '#e0ffff', + lightgoldenrodyellow: '#fafad2', + lightgray: '#d3d3d3', + lightgrey: '#d3d3d3', + lightgreen: '#90ee90', + lightpink: '#ffb6c1', + lightsalmon: '#ffa07a', + lightseagreen: '#20b2aa', + lightskyblue: '#87cefa', + lightslategray: '#778899', + lightslategrey: '#778899', + lightsteelblue: '#b0c4de', + lightyellow: '#ffffe0', + lime: '#00ff00', + limegreen: '#32cd32', + linen: '#faf0e6', + magenta: '#ff00ff', + maroon: '#800000', + mediumaquamarine: '#66cdaa', + mediumblue: '#0000cd', + mediumorchid: '#ba55d3', + mediumpurple: '#9370d8', + mediumseagreen: '#3cb371', + mediumslateblue: '#7b68ee', + mediumspringgreen: '#00fa9a', + mediumturquoise: '#48d1cc', + mediumvioletred: '#c71585', + midnightblue: '#191970', + mintcream: '#f5fffa', + mistyrose: '#ffe4e1', + moccasin: '#ffe4b5', + navajowhite: '#ffdead', + navy: '#000080', + oldlace: '#fdf5e6', + olive: '#808000', + olivedrab: '#6b8e23', + orange: '#ffa500', + orangered: '#ff4500', + orchid: '#da70d6', + palegoldenrod: '#eee8aa', + palegreen: '#98fb98', + paleturquoise: '#afeeee', + palevioletred: '#d87093', + papayawhip: '#ffefd5', + peachpuff: '#ffdab9', + peru: '#cd853f', + pink: '#ffc0cb', + plum: '#dda0dd', + powderblue: '#b0e0e6', + purple: '#800080', + red: '#ff0000', + rebeccapurple: '#663399', + rosybrown: '#bc8f8f', + royalblue: '#4169e1', + saddlebrown: '#8b4513', + salmon: '#fa8072', + sandybrown: '#f4a460', + seagreen: '#2e8b57', + seashell: '#fff5ee', + sienna: '#a0522d', + silver: '#c0c0c0', + skyblue: '#87ceeb', + slateblue: '#6a5acd', + slategray: '#708090', + slategrey: '#708090', + snow: '#fffafa', + springgreen: '#00ff7f', + steelblue: '#4682b4', + tan: '#d2b48c', + teal: '#008080', + thistle: '#d8bfd8', + tomato: '#ff6347', + turquoise: '#40e0d0', + violet: '#ee82ee', + wheat: '#f5deb3', + white: '#ffffff', + whitesmoke: '#f5f5f5', + yellow: '#ffff00', + yellowgreen: '#9acd32', + }, + Wt = { + currentColor: + "The value of the 'color' property. The computed value of the 'currentColor' keyword is the computed value of the 'color' property. If the 'currentColor' keyword is set on the 'color' property itself, it is treated as 'color:inherit' at parse time.", + transparent: + 'Fully transparent. This keyword can be considered a shorthand for rgba(0,0,0,0) which is its computed value.', + }; + function Lt(e, t) { + var n = e.getText().match(/^([-+]?[0-9]*\.?[0-9]+)(%?)$/); + if (n) { + n[2] && (t = 100); + var r = parseFloat(n[1]) / t; + if (r >= 0 && r <= 1) return r; + } + throw new Error(); + } + function Ut(e) { + return e < 48 + ? 0 + : e <= 57 + ? e - 48 + : (e < 97 && (e += 32), e >= 97 && e <= 102 ? e - 97 + 10 : 0); + } + function jt(e) { + if ('#' !== e[0]) return null; + switch (e.length) { + case 4: + return { + red: (17 * Ut(e.charCodeAt(1))) / 255, + green: (17 * Ut(e.charCodeAt(2))) / 255, + blue: (17 * Ut(e.charCodeAt(3))) / 255, + alpha: 1, + }; + case 5: + return { + red: (17 * Ut(e.charCodeAt(1))) / 255, + green: (17 * Ut(e.charCodeAt(2))) / 255, + blue: (17 * Ut(e.charCodeAt(3))) / 255, + alpha: (17 * Ut(e.charCodeAt(4))) / 255, + }; + case 7: + return { + red: (16 * Ut(e.charCodeAt(1)) + Ut(e.charCodeAt(2))) / 255, + green: (16 * Ut(e.charCodeAt(3)) + Ut(e.charCodeAt(4))) / 255, + blue: (16 * Ut(e.charCodeAt(5)) + Ut(e.charCodeAt(6))) / 255, + alpha: 1, + }; + case 9: + return { + red: (16 * Ut(e.charCodeAt(1)) + Ut(e.charCodeAt(2))) / 255, + green: (16 * Ut(e.charCodeAt(3)) + Ut(e.charCodeAt(4))) / 255, + blue: (16 * Ut(e.charCodeAt(5)) + Ut(e.charCodeAt(6))) / 255, + alpha: (16 * Ut(e.charCodeAt(7)) + Ut(e.charCodeAt(8))) / 255, + }; + } + return null; + } + var Vt = { + bottom: + 'Computes to ‘100%’ for the vertical position if one or two values are given, otherwise specifies the bottom edge as the origin for the next offset.', + center: + 'Computes to ‘50%’ (‘left 50%’) for the horizontal position if the horizontal position is not otherwise specified, or ‘50%’ (‘top 50%’) for the vertical position if it is.', + left: + 'Computes to ‘0%’ for the horizontal position if one or two values are given, otherwise specifies the left edge as the origin for the next offset.', + right: + 'Computes to ‘100%’ for the horizontal position if one or two values are given, otherwise specifies the right edge as the origin for the next offset.', + top: + 'Computes to ‘0%’ for the vertical position if one or two values are given, otherwise specifies the top edge as the origin for the next offset.', + }, + Bt = { + 'no-repeat': 'Placed once and not repeated in this direction.', + repeat: + 'Repeated in this direction as often as needed to cover the background painting area.', + 'repeat-x': 'Computes to ‘repeat no-repeat’.', + 'repeat-y': 'Computes to ‘no-repeat repeat’.', + round: + 'Repeated as often as will fit within the background positioning area. If it doesn’t fit a whole number of times, it is rescaled so that it does.', + space: + 'Repeated as often as will fit within the background positioning area without being clipped and then the images are spaced out to fill the area.', + }, + $t = { + dashed: 'A series of square-ended dashes.', + dotted: 'A series of round dots.', + double: 'Two parallel solid lines with some space between them.', + groove: 'Looks as if it were carved in the canvas.', + hidden: + 'Same as ‘none’, but has different behavior in the border conflict resolution rules for border-collapsed tables.', + inset: + 'Looks as if the content on the inside of the border is sunken into the canvas.', + none: 'No border. Color and width are ignored.', + outset: + 'Looks as if the content on the inside of the border is coming out of the canvas.', + ridge: 'Looks as if it were coming out of the canvas.', + solid: 'A single line segment.', + }, + qt = ['medium', 'thick', 'thin'], + Kt = { + 'border-box': + 'The background is painted within (clipped to) the border box.', + 'content-box': + 'The background is painted within (clipped to) the content box.', + 'padding-box': + 'The background is painted within (clipped to) the padding box.', + }, + Gt = { + 'margin-box': 'Uses the margin box as reference box.', + 'fill-box': 'Uses the object bounding box as reference box.', + 'stroke-box': 'Uses the stroke bounding box as reference box.', + 'view-box': 'Uses the nearest SVG viewport as reference box.', + }, + Ht = { + initial: + 'Represents the value specified as the property’s initial value.', + inherit: + 'Represents the computed value of the property on the element’s parent.', + unset: + 'Acts as either `inherit` or `initial`, depending on whether the property is inherited or not.', + }, + Jt = { + 'url()': 'Reference an image file by URL', + 'image()': 'Provide image fallbacks and annotations.', + '-webkit-image-set()': + 'Provide multiple resolutions. Remember to use unprefixed image-set() in addition.', + 'image-set()': + 'Provide multiple resolutions of an image and const the UA decide which is most appropriate in a given situation.', + '-moz-element()': + 'Use an element in the document as an image. Remember to use unprefixed element() in addition.', + 'element()': 'Use an element in the document as an image.', + 'cross-fade()': + 'Indicates the two images to be combined and how far along in the transition the combination is.', + '-webkit-gradient()': + 'Deprecated. Use modern linear-gradient() or radial-gradient() instead.', + '-webkit-linear-gradient()': + 'Linear gradient. Remember to use unprefixed version in addition.', + '-moz-linear-gradient()': + 'Linear gradient. Remember to use unprefixed version in addition.', + '-o-linear-gradient()': + 'Linear gradient. Remember to use unprefixed version in addition.', + 'linear-gradient()': + 'A linear gradient is created by specifying a straight gradient line, and then several colors placed along that line.', + '-webkit-repeating-linear-gradient()': + 'Repeating Linear gradient. Remember to use unprefixed version in addition.', + '-moz-repeating-linear-gradient()': + 'Repeating Linear gradient. Remember to use unprefixed version in addition.', + '-o-repeating-linear-gradient()': + 'Repeating Linear gradient. Remember to use unprefixed version in addition.', + 'repeating-linear-gradient()': + 'Same as linear-gradient, except the color-stops are repeated infinitely in both directions, with their positions shifted by multiples of the difference between the last specified color-stop’s position and the first specified color-stop’s position.', + '-webkit-radial-gradient()': + 'Radial gradient. Remember to use unprefixed version in addition.', + '-moz-radial-gradient()': + 'Radial gradient. Remember to use unprefixed version in addition.', + 'radial-gradient()': + 'Colors emerge from a single point and smoothly spread outward in a circular or elliptical shape.', + '-webkit-repeating-radial-gradient()': + 'Repeating radial gradient. Remember to use unprefixed version in addition.', + '-moz-repeating-radial-gradient()': + 'Repeating radial gradient. Remember to use unprefixed version in addition.', + 'repeating-radial-gradient()': + 'Same as radial-gradient, except the color-stops are repeated infinitely in both directions, with their positions shifted by multiples of the difference between the last specified color-stop’s position and the first specified color-stop’s position.', + }, + Yt = { + ease: 'Equivalent to cubic-bezier(0.25, 0.1, 0.25, 1.0).', + 'ease-in': 'Equivalent to cubic-bezier(0.42, 0, 1.0, 1.0).', + 'ease-in-out': 'Equivalent to cubic-bezier(0.42, 0, 0.58, 1.0).', + 'ease-out': 'Equivalent to cubic-bezier(0, 0, 0.58, 1.0).', + linear: 'Equivalent to cubic-bezier(0.0, 0.0, 1.0, 1.0).', + 'step-end': 'Equivalent to steps(1, end).', + 'step-start': 'Equivalent to steps(1, start).', + 'steps()': + 'The first parameter specifies the number of intervals in the function. The second parameter, which is optional, is either the value “start” or “end”.', + 'cubic-bezier()': + 'Specifies a cubic-bezier curve. The four values specify points P1 and P2 of the curve as (x1, y1, x2, y2).', + 'cubic-bezier(0.6, -0.28, 0.735, 0.045)': 'Ease-in Back. Overshoots.', + 'cubic-bezier(0.68, -0.55, 0.265, 1.55)': + 'Ease-in-out Back. Overshoots.', + 'cubic-bezier(0.175, 0.885, 0.32, 1.275)': + 'Ease-out Back. Overshoots.', + 'cubic-bezier(0.6, 0.04, 0.98, 0.335)': + 'Ease-in Circular. Based on half circle.', + 'cubic-bezier(0.785, 0.135, 0.15, 0.86)': + 'Ease-in-out Circular. Based on half circle.', + 'cubic-bezier(0.075, 0.82, 0.165, 1)': + 'Ease-out Circular. Based on half circle.', + 'cubic-bezier(0.55, 0.055, 0.675, 0.19)': + 'Ease-in Cubic. Based on power of three.', + 'cubic-bezier(0.645, 0.045, 0.355, 1)': + 'Ease-in-out Cubic. Based on power of three.', + 'cubic-bezier(0.215, 0.610, 0.355, 1)': + 'Ease-out Cubic. Based on power of three.', + 'cubic-bezier(0.95, 0.05, 0.795, 0.035)': + 'Ease-in Exponential. Based on two to the power ten.', + 'cubic-bezier(1, 0, 0, 1)': + 'Ease-in-out Exponential. Based on two to the power ten.', + 'cubic-bezier(0.19, 1, 0.22, 1)': + 'Ease-out Exponential. Based on two to the power ten.', + 'cubic-bezier(0.47, 0, 0.745, 0.715)': 'Ease-in Sine.', + 'cubic-bezier(0.445, 0.05, 0.55, 0.95)': 'Ease-in-out Sine.', + 'cubic-bezier(0.39, 0.575, 0.565, 1)': 'Ease-out Sine.', + 'cubic-bezier(0.55, 0.085, 0.68, 0.53)': + 'Ease-in Quadratic. Based on power of two.', + 'cubic-bezier(0.455, 0.03, 0.515, 0.955)': + 'Ease-in-out Quadratic. Based on power of two.', + 'cubic-bezier(0.25, 0.46, 0.45, 0.94)': + 'Ease-out Quadratic. Based on power of two.', + 'cubic-bezier(0.895, 0.03, 0.685, 0.22)': + 'Ease-in Quartic. Based on power of four.', + 'cubic-bezier(0.77, 0, 0.175, 1)': + 'Ease-in-out Quartic. Based on power of four.', + 'cubic-bezier(0.165, 0.84, 0.44, 1)': + 'Ease-out Quartic. Based on power of four.', + 'cubic-bezier(0.755, 0.05, 0.855, 0.06)': + 'Ease-in Quintic. Based on power of five.', + 'cubic-bezier(0.86, 0, 0.07, 1)': + 'Ease-in-out Quintic. Based on power of five.', + 'cubic-bezier(0.23, 1, 0.320, 1)': + 'Ease-out Quintic. Based on power of five.', + }, + Xt = { + 'circle()': 'Defines a circle.', + 'ellipse()': 'Defines an ellipse.', + 'inset()': 'Defines an inset rectangle.', + 'polygon()': 'Defines a polygon.', + }, + Zt = { + length: [ + 'em', + 'rem', + 'ex', + 'px', + 'cm', + 'mm', + 'in', + 'pt', + 'pc', + 'ch', + 'vw', + 'vh', + 'vmin', + 'vmax', + ], + angle: ['deg', 'rad', 'grad', 'turn'], + time: ['ms', 's'], + frequency: ['Hz', 'kHz'], + resolution: ['dpi', 'dpcm', 'dppx'], + percentage: ['%', 'fr'], + }, + Qt = [ + 'a', + 'abbr', + 'address', + 'area', + 'article', + 'aside', + 'audio', + 'b', + 'base', + 'bdi', + 'bdo', + 'blockquote', + 'body', + 'br', + 'button', + 'canvas', + 'caption', + 'cite', + 'code', + 'col', + 'colgroup', + 'data', + 'datalist', + 'dd', + 'del', + 'details', + 'dfn', + 'dialog', + 'div', + 'dl', + 'dt', + 'em', + 'embed', + 'fieldset', + 'figcaption', + 'figure', + 'footer', + 'form', + 'h1', + 'h2', + 'h3', + 'h4', + 'h5', + 'h6', + 'head', + 'header', + 'hgroup', + 'hr', + 'html', + 'i', + 'iframe', + 'img', + 'input', + 'ins', + 'kbd', + 'keygen', + 'label', + 'legend', + 'li', + 'link', + 'main', + 'map', + 'mark', + 'menu', + 'menuitem', + 'meta', + 'meter', + 'nav', + 'noscript', + 'object', + 'ol', + 'optgroup', + 'option', + 'output', + 'p', + 'param', + 'picture', + 'pre', + 'progress', + 'q', + 'rb', + 'rp', + 'rt', + 'rtc', + 'ruby', + 's', + 'samp', + 'script', + 'section', + 'select', + 'small', + 'source', + 'span', + 'strong', + 'style', + 'sub', + 'summary', + 'sup', + 'table', + 'tbody', + 'td', + 'template', + 'textarea', + 'tfoot', + 'th', + 'thead', + 'time', + 'title', + 'tr', + 'track', + 'u', + 'ul', + 'const', + 'video', + 'wbr', + ], + en = [ + 'circle', + 'clipPath', + 'cursor', + 'defs', + 'desc', + 'ellipse', + 'feBlend', + 'feColorMatrix', + 'feComponentTransfer', + 'feComposite', + 'feConvolveMatrix', + 'feDiffuseLighting', + 'feDisplacementMap', + 'feDistantLight', + 'feDropShadow', + 'feFlood', + 'feFuncA', + 'feFuncB', + 'feFuncG', + 'feFuncR', + 'feGaussianBlur', + 'feImage', + 'feMerge', + 'feMergeNode', + 'feMorphology', + 'feOffset', + 'fePointLight', + 'feSpecularLighting', + 'feSpotLight', + 'feTile', + 'feTurbulence', + 'filter', + 'foreignObject', + 'g', + 'hatch', + 'hatchpath', + 'image', + 'line', + 'linearGradient', + 'marker', + 'mask', + 'mesh', + 'meshpatch', + 'meshrow', + 'metadata', + 'mpath', + 'path', + 'pattern', + 'polygon', + 'polyline', + 'radialGradient', + 'rect', + 'set', + 'solidcolor', + 'stop', + 'svg', + 'switch', + 'symbol', + 'text', + 'textPath', + 'tspan', + 'use', + 'view', + ], + tn = [ + '@bottom-center', + '@bottom-left', + '@bottom-left-corner', + '@bottom-right', + '@bottom-right-corner', + '@left-bottom', + '@left-middle', + '@left-top', + '@right-bottom', + '@right-middle', + '@right-top', + '@top-center', + '@top-left', + '@top-left-corner', + '@top-right', + '@top-right-corner', + ]; + function nn(e) { + return Object.keys(e).map(function (t) { + return e[t]; + }); + } + function rn(e) { + return void 0 !== e; + } + var on = (function () { + function e(e) { + void 0 === e && (e = new X()), + (this.keyframeRegex = /^@(\-(webkit|ms|moz|o)\-)?keyframes$/i), + (this.scanner = e), + (this.token = { type: r.EOF, offset: -1, len: 0, text: '' }), + (this.prevToken = void 0); + } + return ( + (e.prototype.peekIdent = function (e) { + return ( + r.Ident === this.token.type && + e.length === this.token.text.length && + e === this.token.text.toLowerCase() + ); + }), + (e.prototype.peekKeyword = function (e) { + return ( + r.AtKeyword === this.token.type && + e.length === this.token.text.length && + e === this.token.text.toLowerCase() + ); + }), + (e.prototype.peekDelim = function (e) { + return r.Delim === this.token.type && e === this.token.text; + }), + (e.prototype.peek = function (e) { + return e === this.token.type; + }), + (e.prototype.peekRegExp = function (e, t) { + return e === this.token.type && t.test(this.token.text); + }), + (e.prototype.hasWhitespace = function () { + return ( + !!this.prevToken && + this.prevToken.offset + this.prevToken.len !== this.token.offset + ); + }), + (e.prototype.consumeToken = function () { + (this.prevToken = this.token), (this.token = this.scanner.scan()); + }), + (e.prototype.mark = function () { + return { + prev: this.prevToken, + curr: this.token, + pos: this.scanner.pos(), + }; + }), + (e.prototype.restoreAtMark = function (e) { + (this.prevToken = e.prev), + (this.token = e.curr), + this.scanner.goBackTo(e.pos); + }), + (e.prototype.try = function (e) { + var t = this.mark(); + return e() || (this.restoreAtMark(t), null); + }), + (e.prototype.acceptOneKeyword = function (e) { + if (r.AtKeyword === this.token.type) + for (var t = 0, n = e; t < n.length; t++) { + var i = n[t]; + if ( + i.length === this.token.text.length && + i === this.token.text.toLowerCase() + ) + return this.consumeToken(), !0; + } + return !1; + }), + (e.prototype.accept = function (e) { + return e === this.token.type && (this.consumeToken(), !0); + }), + (e.prototype.acceptIdent = function (e) { + return !!this.peekIdent(e) && (this.consumeToken(), !0); + }), + (e.prototype.acceptKeyword = function (e) { + return !!this.peekKeyword(e) && (this.consumeToken(), !0); + }), + (e.prototype.acceptDelim = function (e) { + return !!this.peekDelim(e) && (this.consumeToken(), !0); + }), + (e.prototype.acceptRegexp = function (e) { + return !!e.test(this.token.text) && (this.consumeToken(), !0); + }), + (e.prototype._parseRegexp = function (e) { + var t = this.createNode(ne.Identifier); + do {} while (this.acceptRegexp(e)); + return this.finish(t); + }), + (e.prototype.acceptUnquotedString = function () { + var e = this.scanner.pos(); + this.scanner.goBackTo(this.token.offset); + var t = this.scanner.scanUnquotedString(); + return t + ? ((this.token = t), this.consumeToken(), !0) + : (this.scanner.goBackTo(e), !1); + }), + (e.prototype.resync = function (e, t) { + for (;;) { + if (e && -1 !== e.indexOf(this.token.type)) + return this.consumeToken(), !0; + if (t && -1 !== t.indexOf(this.token.type)) return !0; + if (this.token.type === r.EOF) return !1; + this.token = this.scanner.scan(); + } + }), + (e.prototype.createNode = function (e) { + return new ce(this.token.offset, this.token.len, e); + }), + (e.prototype.create = function (e) { + return new e(this.token.offset, this.token.len); + }), + (e.prototype.finish = function (e, t, n, r) { + if ( + !(e instanceof de) && + (t && this.markError(e, t, n, r), this.prevToken) + ) { + var i = this.prevToken.offset + this.prevToken.len; + e.length = i > e.offset ? i - e.offset : 0; + } + return e; + }), + (e.prototype.markError = function (e, t, n, r) { + this.token !== this.lastErrorToken && + (e.addIssue( + new wt( + e, + t, + le.Error, + void 0, + this.token.offset, + this.token.len + ) + ), + (this.lastErrorToken = this.token)), + (n || r) && this.resync(n, r); + }), + (e.prototype.parseStylesheet = function (e) { + var t = e.version, + n = e.getText(); + return this.internalParse( + n, + this._parseStylesheet, + function (r, i) { + if (e.version !== t) + throw new Error( + 'Underlying model has changed, AST is no longer valid' + ); + return n.substr(r, i); + } + ); + }), + (e.prototype.internalParse = function (e, t, n) { + this.scanner.setSource(e), (this.token = this.scanner.scan()); + var r = t.bind(this)(); + return ( + r && + (r.textProvider = + n || + function (t, n) { + return e.substr(t, n); + }), + r + ); + }), + (e.prototype._parseStylesheet = function () { + for ( + var e = this.create(he); + e.addChild(this._parseStylesheetStart()); + + ); + var t = !1; + do { + var n = !1; + do { + n = !1; + var i = this._parseStylesheetStatement(); + for ( + i && + (e.addChild(i), + (n = !0), + (t = !1), + this.peek(r.EOF) || + !this._needsSemicolonAfter(i) || + this.accept(r.SemiColon) || + this.markError(e, Et.SemiColonExpected)); + this.accept(r.SemiColon) || + this.accept(r.CDO) || + this.accept(r.CDC); + + ) + (n = !0), (t = !1); + } while (n); + if (this.peek(r.EOF)) break; + t || + (this.peek(r.AtKeyword) + ? this.markError(e, Et.UnknownAtRule) + : this.markError(e, Et.RuleOrSelectorExpected), + (t = !0)), + this.consumeToken(); + } while (!this.peek(r.EOF)); + return this.finish(e); + }), + (e.prototype._parseStylesheetStart = function () { + return this._parseCharset(); + }), + (e.prototype._parseStylesheetStatement = function (e) { + return ( + void 0 === e && (e = !1), + this.peek(r.AtKeyword) + ? this._parseStylesheetAtStatement(e) + : this._parseRuleset(e) + ); + }), + (e.prototype._parseStylesheetAtStatement = function (e) { + return ( + void 0 === e && (e = !1), + this._parseImport() || + this._parseMedia(e) || + this._parsePage() || + this._parseFontFace() || + this._parseKeyframe() || + this._parseSupports(e) || + this._parseViewPort() || + this._parseNamespace() || + this._parseDocument() || + this._parseUnknownAtRule() + ); + }), + (e.prototype._tryParseRuleset = function (e) { + var t = this.mark(); + if (this._parseSelector(e)) { + for (; this.accept(r.Comma) && this._parseSelector(e); ); + if (this.accept(r.CurlyL)) + return this.restoreAtMark(t), this._parseRuleset(e); + } + return this.restoreAtMark(t), null; + }), + (e.prototype._parseRuleset = function (e) { + void 0 === e && (e = !1); + var t = this.create(fe), + n = t.getSelectors(); + if (!n.addChild(this._parseSelector(e))) return null; + for (; this.accept(r.Comma); ) + if (!n.addChild(this._parseSelector(e))) + return this.finish(t, Et.SelectorExpected); + return this._parseBody(t, this._parseRuleSetDeclaration.bind(this)); + }), + (e.prototype._parseRuleSetDeclarationAtStatement = function () { + return this._parseAtApply() || this._parseUnknownAtRule(); + }), + (e.prototype._parseRuleSetDeclaration = function () { + return this.peek(r.AtKeyword) + ? this._parseRuleSetDeclarationAtStatement() + : this._tryParseCustomPropertyDeclaration() || + this._parseDeclaration(); + }), + (e.prototype._parseAtApply = function () { + if (!this.peekKeyword('@apply')) return null; + var e = this.create(ve); + return ( + this.consumeToken(), + e.setIdentifier(this._parseIdent([re.Variable])) + ? this.finish(e) + : this.finish(e, Et.IdentifierExpected) + ); + }), + (e.prototype._needsSemicolonAfter = function (e) { + switch (e.type) { + case ne.Keyframe: + case ne.ViewPort: + case ne.Media: + case ne.Ruleset: + case ne.Namespace: + case ne.If: + case ne.For: + case ne.Each: + case ne.While: + case ne.MixinDeclaration: + case ne.FunctionDeclaration: + case ne.MixinContentDeclaration: + return !1; + case ne.ExtendsReference: + case ne.MixinContentReference: + case ne.ReturnStatement: + case ne.MediaQuery: + case ne.Debug: + case ne.Import: + case ne.AtApplyRule: + case ne.CustomPropertyDeclaration: + return !0; + case ne.VariableDeclaration: + return e.needsSemicolon; + case ne.MixinReference: + return !e.getContent(); + case ne.Declaration: + return !e.getNestedProperties(); + } + return !1; + }), + (e.prototype._parseDeclarations = function (e) { + var t = this.create(me); + if (!this.accept(r.CurlyL)) return null; + for (var n = e(); t.addChild(n) && !this.peek(r.CurlyR); ) { + if (this._needsSemicolonAfter(n) && !this.accept(r.SemiColon)) + return this.finish(t, Et.SemiColonExpected, [ + r.SemiColon, + r.CurlyR, + ]); + for ( + n && + this.prevToken && + this.prevToken.type === r.SemiColon && + (n.semicolonPosition = this.prevToken.offset); + this.accept(r.SemiColon); + + ); + n = e(); + } + return this.accept(r.CurlyR) + ? this.finish(t) + : this.finish(t, Et.RightCurlyExpected, [r.CurlyR, r.SemiColon]); + }), + (e.prototype._parseBody = function (e, t) { + return e.setDeclarations(this._parseDeclarations(t)) + ? this.finish(e) + : this.finish(e, Et.LeftCurlyExpected, [r.CurlyR, r.SemiColon]); + }), + (e.prototype._parseSelector = function (e) { + var t = this.create(ge), + n = !1; + for ( + e && (n = t.addChild(this._parseCombinator())); + t.addChild(this._parseSimpleSelector()); + + ) + (n = !0), t.addChild(this._parseCombinator()); + return n ? this.finish(t) : null; + }), + (e.prototype._parseDeclaration = function (e) { + var t = this.create(Se); + if (!t.setProperty(this._parseProperty())) return null; + if (!this.accept(r.Colon)) { + var n = e + ? (function () { + for (var e = 0, t = 0, n = arguments.length; t < n; t++) + e += arguments[t].length; + var r = Array(e), + i = 0; + for (t = 0; t < n; t++) + for ( + var o = arguments[t], s = 0, a = o.length; + s < a; + s++, i++ + ) + r[i] = o[s]; + return r; + })(e, [r.SemiColon]) + : [r.SemiColon]; + return this.finish(t, Et.ColonExpected, [r.Colon], n); + } + return ( + this.prevToken && (t.colonPosition = this.prevToken.offset), + t.setValue(this._parseExpr()) + ? (t.addChild(this._parsePrio()), + this.peek(r.SemiColon) && + (t.semicolonPosition = this.token.offset), + this.finish(t)) + : this.finish(t, Et.PropertyValueExpected) + ); + }), + (e.prototype._tryParseCustomPropertyDeclaration = function () { + if (!this.peekRegExp(r.Ident, /^--/)) return null; + var e = this.create(we); + if (!e.setProperty(this._parseProperty())) return null; + if (!this.accept(r.Colon)) + return this.finish(e, Et.ColonExpected, [r.Colon]); + this.prevToken && (e.colonPosition = this.prevToken.offset); + var t = this.mark(); + if (this.peek(r.CurlyL)) { + var n = this.create(xe), + i = this._parseDeclarations( + this._parseRuleSetDeclaration.bind(this) + ); + if ( + n.setDeclarations(i) && + !i.isErroneous(!0) && + (n.addChild(this._parsePrio()), this.peek(r.SemiColon)) + ) + return ( + this.finish(n), + e.setPropertySet(n), + (e.semicolonPosition = this.token.offset), + this.finish(e) + ); + this.restoreAtMark(t); + } + var o = this._parseExpr(); + return o && + !o.isErroneous(!0) && + (this._parsePrio(), this.peek(r.SemiColon)) + ? (e.setValue(o), + (e.semicolonPosition = this.token.offset), + this.finish(e)) + : (this.restoreAtMark(t), + e.addChild(this._parseCustomPropertyValue()), + e.addChild(this._parsePrio()), + rn(e.colonPosition) && this.token.offset === e.colonPosition + 1 + ? this.finish(e, Et.PropertyValueExpected) + : this.finish(e)); + }), + (e.prototype._parseCustomPropertyValue = function () { + var e = this.create(ce), + t = 0, + n = 0, + i = 0; + e: for (;;) { + switch (this.token.type) { + case r.SemiColon: + case r.Exclamation: + if (0 === t && 0 === n && 0 === i) break e; + break; + case r.CurlyL: + t++; + break; + case r.CurlyR: + if (--t < 0) { + if (0 === n && 0 === i) break e; + return this.finish(e, Et.LeftCurlyExpected); + } + break; + case r.ParenthesisL: + n++; + break; + case r.ParenthesisR: + if (--n < 0) + return this.finish(e, Et.LeftParenthesisExpected); + break; + case r.BracketL: + i++; + break; + case r.BracketR: + if (--i < 0) + return this.finish(e, Et.LeftSquareBracketExpected); + break; + case r.BadString: + break e; + case r.EOF: + var o = Et.RightCurlyExpected; + return ( + i > 0 + ? (o = Et.RightSquareBracketExpected) + : n > 0 && (o = Et.RightParenthesisExpected), + this.finish(e, o) + ); + } + this.consumeToken(); + } + return this.finish(e); + }), + (e.prototype._tryToParseDeclaration = function () { + var e = this.mark(); + return this._parseProperty() && this.accept(r.Colon) + ? (this.restoreAtMark(e), this._parseDeclaration()) + : (this.restoreAtMark(e), null); + }), + (e.prototype._parseProperty = function () { + var e = this.create(ke), + t = this.mark(); + return (this.acceptDelim('*') || this.acceptDelim('_')) && + this.hasWhitespace() + ? (this.restoreAtMark(t), null) + : e.setIdentifier(this._parsePropertyIdentifier()) + ? this.finish(e) + : null; + }), + (e.prototype._parsePropertyIdentifier = function () { + return this._parseIdent(); + }), + (e.prototype._parseCharset = function () { + if (!this.peek(r.Charset)) return null; + var e = this.create(ce); + return ( + this.consumeToken(), + this.accept(r.String) + ? this.accept(r.SemiColon) + ? this.finish(e) + : this.finish(e, Et.SemiColonExpected) + : this.finish(e, Et.IdentifierExpected) + ); + }), + (e.prototype._parseImport = function () { + if (!this.peekKeyword('@import')) return null; + var e = this.create(We); + return ( + this.consumeToken(), + e.addChild(this._parseURILiteral()) || + e.addChild(this._parseStringLiteral()) + ? (this.peek(r.SemiColon) || + this.peek(r.EOF) || + e.setMedialist(this._parseMediaQueryList()), + this.finish(e)) + : this.finish(e, Et.URIOrStringExpected) + ); + }), + (e.prototype._parseNamespace = function () { + if (!this.peekKeyword('@namespace')) return null; + var e = this.create(Be); + return ( + this.consumeToken(), + e.addChild(this._parseURILiteral()) || + (e.addChild(this._parseIdent()), + e.addChild(this._parseURILiteral()) || + e.addChild(this._parseStringLiteral())) + ? this.accept(r.SemiColon) + ? this.finish(e) + : this.finish(e, Et.SemiColonExpected) + : this.finish(e, Et.URIExpected, [r.SemiColon]) + ); + }), + (e.prototype._parseFontFace = function () { + if (!this.peekKeyword('@font-face')) return null; + var e = this.create(_e); + return ( + this.consumeToken(), + this._parseBody(e, this._parseRuleSetDeclaration.bind(this)) + ); + }), + (e.prototype._parseViewPort = function () { + if ( + !this.peekKeyword('@-ms-viewport') && + !this.peekKeyword('@-o-viewport') && + !this.peekKeyword('@viewport') + ) + return null; + var e = this.create(Pe); + return ( + this.consumeToken(), + this._parseBody(e, this._parseRuleSetDeclaration.bind(this)) + ); + }), + (e.prototype._parseKeyframe = function () { + if (!this.peekRegExp(r.AtKeyword, this.keyframeRegex)) return null; + var e = this.create(Ae), + t = this.create(ce); + return ( + this.consumeToken(), + e.setKeyword(this.finish(t)), + t.matches('@-ms-keyframes') && + this.markError(t, Et.UnknownKeyword), + e.setIdentifier(this._parseKeyframeIdent()) + ? this._parseBody(e, this._parseKeyframeSelector.bind(this)) + : this.finish(e, Et.IdentifierExpected, [r.CurlyR]) + ); + }), + (e.prototype._parseKeyframeIdent = function () { + return this._parseIdent([re.Keyframe]); + }), + (e.prototype._parseKeyframeSelector = function () { + var e = this.create(Oe); + if (!e.addChild(this._parseIdent()) && !this.accept(r.Percentage)) + return null; + for (; this.accept(r.Comma); ) + if (!e.addChild(this._parseIdent()) && !this.accept(r.Percentage)) + return this.finish(e, Et.PercentageExpected); + return this._parseBody(e, this._parseRuleSetDeclaration.bind(this)); + }), + (e.prototype._tryParseKeyframeSelector = function () { + var e = this.create(Oe), + t = this.mark(); + if (!e.addChild(this._parseIdent()) && !this.accept(r.Percentage)) + return null; + for (; this.accept(r.Comma); ) + if (!e.addChild(this._parseIdent()) && !this.accept(r.Percentage)) + return this.restoreAtMark(t), null; + return this.peek(r.CurlyL) + ? this._parseBody(e, this._parseRuleSetDeclaration.bind(this)) + : (this.restoreAtMark(t), null); + }), + (e.prototype._parseSupports = function (e) { + if ((void 0 === e && (e = !1), !this.peekKeyword('@supports'))) + return null; + var t = this.create(qe); + return ( + this.consumeToken(), + t.addChild(this._parseSupportsCondition()), + this._parseBody(t, this._parseSupportsDeclaration.bind(this, e)) + ); + }), + (e.prototype._parseSupportsDeclaration = function (e) { + return ( + void 0 === e && (e = !1), + e + ? this._tryParseRuleset(!0) || + this._tryToParseDeclaration() || + this._parseStylesheetStatement(!0) + : this._parseStylesheetStatement(!1) + ); + }), + (e.prototype._parseSupportsCondition = function () { + var e = this.create(Je); + if (this.acceptIdent('not')) + e.addChild(this._parseSupportsConditionInParens()); + else if ( + (e.addChild(this._parseSupportsConditionInParens()), + this.peekRegExp(r.Ident, /^(and|or)$/i)) + ) + for (var t = this.token.text.toLowerCase(); this.acceptIdent(t); ) + e.addChild(this._parseSupportsConditionInParens()); + return this.finish(e); + }), + (e.prototype._parseSupportsConditionInParens = function () { + var e = this.create(Je); + if (this.accept(r.ParenthesisL)) + return ( + this.prevToken && (e.lParent = this.prevToken.offset), + e.addChild(this._tryToParseDeclaration()) || + this._parseSupportsCondition() + ? this.accept(r.ParenthesisR) + ? (this.prevToken && (e.rParent = this.prevToken.offset), + this.finish(e)) + : this.finish( + e, + Et.RightParenthesisExpected, + [r.ParenthesisR], + [] + ) + : this.finish(e, Et.ConditionExpected) + ); + if (this.peek(r.Ident)) { + var t = this.mark(); + if ( + (this.consumeToken(), + !this.hasWhitespace() && this.accept(r.ParenthesisL)) + ) { + for (var n = 1; this.token.type !== r.EOF && 0 !== n; ) + this.token.type === r.ParenthesisL + ? n++ + : this.token.type === r.ParenthesisR && n--, + this.consumeToken(); + return this.finish(e); + } + this.restoreAtMark(t); + } + return this.finish( + e, + Et.LeftParenthesisExpected, + [], + [r.ParenthesisL] + ); + }), + (e.prototype._parseMediaDeclaration = function (e) { + return ( + void 0 === e && (e = !1), + e + ? this._tryParseRuleset(!0) || + this._tryToParseDeclaration() || + this._parseStylesheetStatement(!0) + : this._parseStylesheetStatement(!1) + ); + }), + (e.prototype._parseMedia = function (e) { + if ((void 0 === e && (e = !1), !this.peekKeyword('@media'))) + return null; + var t = this.create($e); + return ( + this.consumeToken(), + t.addChild(this._parseMediaQueryList()) + ? this._parseBody(t, this._parseMediaDeclaration.bind(this, e)) + : this.finish(t, Et.MediaQueryExpected) + ); + }), + (e.prototype._parseMediaQueryList = function () { + var e = this.create(Ge); + if (!e.addChild(this._parseMediaQuery([r.CurlyL]))) + return this.finish(e, Et.MediaQueryExpected); + for (; this.accept(r.Comma); ) + if (!e.addChild(this._parseMediaQuery([r.CurlyL]))) + return this.finish(e, Et.MediaQueryExpected); + return this.finish(e); + }), + (e.prototype._parseMediaQuery = function (e) { + var t = this.create(He), + n = !0, + i = !1; + if (!this.peek(r.ParenthesisL)) { + if ( + (this.acceptIdent('only') || this.acceptIdent('not'), + !t.addChild(this._parseIdent())) + ) + return null; + (i = !0), (n = this.acceptIdent('and')); + } + for (; n; ) + if (t.addChild(this._parseMediaContentStart())) + n = this.acceptIdent('and'); + else { + if (!this.accept(r.ParenthesisL)) + return i + ? this.finish(t, Et.LeftParenthesisExpected, [], e) + : null; + if (!t.addChild(this._parseMediaFeatureName())) + return this.finish(t, Et.IdentifierExpected, [], e); + if (this.accept(r.Colon) && !t.addChild(this._parseExpr())) + return this.finish(t, Et.TermExpected, [], e); + if (!this.accept(r.ParenthesisR)) + return this.finish(t, Et.RightParenthesisExpected, [], e); + n = this.acceptIdent('and'); + } + return this.finish(t); + }), + (e.prototype._parseMediaContentStart = function () { + return null; + }), + (e.prototype._parseMediaFeatureName = function () { + return this._parseIdent(); + }), + (e.prototype._parseMedium = function () { + var e = this.create(ce); + return e.addChild(this._parseIdent()) ? this.finish(e) : null; + }), + (e.prototype._parsePageDeclaration = function () { + return ( + this._parsePageMarginBox() || this._parseRuleSetDeclaration() + ); + }), + (e.prototype._parsePage = function () { + if (!this.peekKeyword('@page')) return null; + var e = this.create(Ye); + if ((this.consumeToken(), e.addChild(this._parsePageSelector()))) + for (; this.accept(r.Comma); ) + if (!e.addChild(this._parsePageSelector())) + return this.finish(e, Et.IdentifierExpected); + return this._parseBody(e, this._parsePageDeclaration.bind(this)); + }), + (e.prototype._parsePageMarginBox = function () { + if (!this.peek(r.AtKeyword)) return null; + var e = this.create(Xe); + return ( + this.acceptOneKeyword(tn) || + this.markError(e, Et.UnknownAtRule, [], [r.CurlyL]), + this._parseBody(e, this._parseRuleSetDeclaration.bind(this)) + ); + }), + (e.prototype._parsePageSelector = function () { + if (!this.peek(r.Ident) && !this.peek(r.Colon)) return null; + var e = this.create(ce); + return ( + e.addChild(this._parseIdent()), + this.accept(r.Colon) && !e.addChild(this._parseIdent()) + ? this.finish(e, Et.IdentifierExpected) + : this.finish(e) + ); + }), + (e.prototype._parseDocument = function () { + if (!this.peekKeyword('@-moz-document')) return null; + var e = this.create(Ke); + return ( + this.consumeToken(), + this.resync([], [r.CurlyL]), + this._parseBody(e, this._parseStylesheetStatement.bind(this)) + ); + }), + (e.prototype._parseUnknownAtRule = function () { + if (!this.peek(r.AtKeyword)) return null; + var e = this.create(ft); + e.addChild(this._parseUnknownAtRuleName()); + var t = 0, + n = 0, + i = 0, + o = 0; + e: for (;;) { + switch (this.token.type) { + case r.SemiColon: + if (0 === n && 0 === i && 0 === o) break e; + break; + case r.EOF: + return n > 0 + ? this.finish(e, Et.RightCurlyExpected) + : o > 0 + ? this.finish(e, Et.RightSquareBracketExpected) + : i > 0 + ? this.finish(e, Et.RightParenthesisExpected) + : this.finish(e); + case r.CurlyL: + t++, n++; + break; + case r.CurlyR: + if ((n--, t > 0 && 0 === n)) { + if ((this.consumeToken(), o > 0)) + return this.finish(e, Et.RightSquareBracketExpected); + if (i > 0) + return this.finish(e, Et.RightParenthesisExpected); + break e; + } + if (n < 0) { + if (0 === i && 0 === o) break e; + return this.finish(e, Et.LeftCurlyExpected); + } + break; + case r.ParenthesisL: + i++; + break; + case r.ParenthesisR: + if (--i < 0) + return this.finish(e, Et.LeftParenthesisExpected); + break; + case r.BracketL: + o++; + break; + case r.BracketR: + if (--o < 0) + return this.finish(e, Et.LeftSquareBracketExpected); + } + this.consumeToken(); + } + return e; + }), + (e.prototype._parseUnknownAtRuleName = function () { + var e = this.create(ce); + return this.accept(r.AtKeyword) ? this.finish(e) : e; + }), + (e.prototype._parseOperator = function () { + if ( + this.peekDelim('/') || + this.peekDelim('*') || + this.peekDelim('+') || + this.peekDelim('-') || + this.peek(r.Dashmatch) || + this.peek(r.Includes) || + this.peek(r.SubstringOperator) || + this.peek(r.PrefixOperator) || + this.peek(r.SuffixOperator) || + this.peekDelim('=') + ) { + var e = this.createNode(ne.Operator); + return this.consumeToken(), this.finish(e); + } + return null; + }), + (e.prototype._parseUnaryOperator = function () { + if (!this.peekDelim('+') && !this.peekDelim('-')) return null; + var e = this.create(ce); + return this.consumeToken(), this.finish(e); + }), + (e.prototype._parseCombinator = function () { + if (this.peekDelim('>')) { + var e = this.create(ce); + this.consumeToken(); + var t = this.mark(); + if (!this.hasWhitespace() && this.acceptDelim('>')) { + if (!this.hasWhitespace() && this.acceptDelim('>')) + return ( + (e.type = ne.SelectorCombinatorShadowPiercingDescendant), + this.finish(e) + ); + this.restoreAtMark(t); + } + return (e.type = ne.SelectorCombinatorParent), this.finish(e); + } + if (this.peekDelim('+')) + return ( + (e = this.create(ce)), + this.consumeToken(), + (e.type = ne.SelectorCombinatorSibling), + this.finish(e) + ); + if (this.peekDelim('~')) + return ( + (e = this.create(ce)), + this.consumeToken(), + (e.type = ne.SelectorCombinatorAllSiblings), + this.finish(e) + ); + if (this.peekDelim('/')) { + if ( + ((e = this.create(ce)), + this.consumeToken(), + (t = this.mark()), + !this.hasWhitespace() && + this.acceptIdent('deep') && + !this.hasWhitespace() && + this.acceptDelim('/')) + ) + return ( + (e.type = ne.SelectorCombinatorShadowPiercingDescendant), + this.finish(e) + ); + this.restoreAtMark(t); + } + return null; + }), + (e.prototype._parseSimpleSelector = function () { + var e = this.create(be), + t = 0; + for ( + e.addChild(this._parseElementName()) && t++; + (0 === t || !this.hasWhitespace()) && + e.addChild(this._parseSimpleSelectorBody()); + + ) + t++; + return t > 0 ? this.finish(e) : null; + }), + (e.prototype._parseSimpleSelectorBody = function () { + return ( + this._parsePseudo() || + this._parseHash() || + this._parseClass() || + this._parseAttrib() + ); + }), + (e.prototype._parseSelectorIdent = function () { + return this._parseIdent(); + }), + (e.prototype._parseHash = function () { + if (!this.peek(r.Hash) && !this.peekDelim('#')) return null; + var e = this.createNode(ne.IdentifierSelector); + if (this.acceptDelim('#')) { + if ( + this.hasWhitespace() || + !e.addChild(this._parseSelectorIdent()) + ) + return this.finish(e, Et.IdentifierExpected); + } else this.consumeToken(); + return this.finish(e); + }), + (e.prototype._parseClass = function () { + if (!this.peekDelim('.')) return null; + var e = this.createNode(ne.ClassSelector); + return ( + this.consumeToken(), + this.hasWhitespace() || !e.addChild(this._parseSelectorIdent()) + ? this.finish(e, Et.IdentifierExpected) + : this.finish(e) + ); + }), + (e.prototype._parseElementName = function () { + var e = this.mark(), + t = this.createNode(ne.ElementNameSelector); + return ( + t.addChild(this._parseNamespacePrefix()), + t.addChild(this._parseSelectorIdent()) || this.acceptDelim('*') + ? this.finish(t) + : (this.restoreAtMark(e), null) + ); + }), + (e.prototype._parseNamespacePrefix = function () { + var e = this.mark(), + t = this.createNode(ne.NamespacePrefix); + return ( + !t.addChild(this._parseIdent()) && this.acceptDelim('*'), + this.acceptDelim('|') + ? this.finish(t) + : (this.restoreAtMark(e), null) + ); + }), + (e.prototype._parseAttrib = function () { + if (!this.peek(r.BracketL)) return null; + var e = this.create(tt); + return ( + this.consumeToken(), + e.setNamespacePrefix(this._parseNamespacePrefix()), + e.setIdentifier(this._parseIdent()) + ? (e.setOperator(this._parseOperator()) && + (e.setValue(this._parseBinaryExpr()), + this.acceptIdent('i')), + this.accept(r.BracketR) + ? this.finish(e) + : this.finish(e, Et.RightSquareBracketExpected)) + : this.finish(e, Et.IdentifierExpected) + ); + }), + (e.prototype._parsePseudo = function () { + var e = this, + t = this._tryParsePseudoIdentifier(); + return t + ? this.hasWhitespace() || + !this.accept(r.ParenthesisL) || + (t.addChild( + this.try(function () { + var t = e.create(ce); + if (!t.addChild(e._parseSelector(!1))) return null; + for ( + ; + e.accept(r.Comma) && t.addChild(e._parseSelector(!1)); + + ); + return e.peek(r.ParenthesisR) ? e.finish(t) : null; + }) || this._parseBinaryExpr() + ), + this.accept(r.ParenthesisR)) + ? this.finish(t) + : this.finish(t, Et.RightParenthesisExpected) + : null; + }), + (e.prototype._tryParsePseudoIdentifier = function () { + if (!this.peek(r.Colon)) return null; + var e = this.mark(), + t = this.createNode(ne.PseudoSelector); + return ( + this.consumeToken(), + this.hasWhitespace() + ? (this.restoreAtMark(e), null) + : (this.accept(r.Colon) && + this.hasWhitespace() && + this.markError(t, Et.IdentifierExpected), + t.addChild(this._parseIdent()) || + this.markError(t, Et.IdentifierExpected), + t) + ); + }), + (e.prototype._tryParsePrio = function () { + var e = this.mark(); + return this._parsePrio() || (this.restoreAtMark(e), null); + }), + (e.prototype._parsePrio = function () { + if (!this.peek(r.Exclamation)) return null; + var e = this.createNode(ne.Prio); + return this.accept(r.Exclamation) && this.acceptIdent('important') + ? this.finish(e) + : null; + }), + (e.prototype._parseExpr = function (e) { + void 0 === e && (e = !1); + var t = this.create(Ze); + if (!t.addChild(this._parseBinaryExpr())) return null; + for (;;) { + if (this.peek(r.Comma)) { + if (e) return this.finish(t); + this.consumeToken(); + } + if (!t.addChild(this._parseBinaryExpr())) break; + } + return this.finish(t); + }), + (e.prototype._parseNamedLine = function () { + if (!this.peek(r.BracketL)) return null; + var e = this.createNode(ne.GridLine); + for (this.consumeToken(); e.addChild(this._parseIdent()); ); + return this.accept(r.BracketR) + ? this.finish(e) + : this.finish(e, Et.RightSquareBracketExpected); + }), + (e.prototype._parseBinaryExpr = function (e, t) { + var n = this.create(Qe); + if (!n.setLeft(e || this._parseTerm())) return null; + if (!n.setOperator(t || this._parseOperator())) + return this.finish(n); + if (!n.setRight(this._parseTerm())) + return this.finish(n, Et.TermExpected); + n = this.finish(n); + var r = this._parseOperator(); + return r && (n = this._parseBinaryExpr(n, r)), this.finish(n); + }), + (e.prototype._parseTerm = function () { + var e = this.create(et); + return ( + e.setOperator(this._parseUnaryOperator()), + e.setExpression(this._parseTermExpression()) + ? this.finish(e) + : null + ); + }), + (e.prototype._parseTermExpression = function () { + return ( + this._parseURILiteral() || + this._parseFunction() || + this._parseIdent() || + this._parseStringLiteral() || + this._parseNumeric() || + this._parseHexColor() || + this._parseOperation() || + this._parseNamedLine() + ); + }), + (e.prototype._parseOperation = function () { + if (!this.peek(r.ParenthesisL)) return null; + var e = this.create(ce); + return ( + this.consumeToken(), + e.addChild(this._parseExpr()), + this.accept(r.ParenthesisR) + ? this.finish(e) + : this.finish(e, Et.RightParenthesisExpected) + ); + }), + (e.prototype._parseNumeric = function () { + if ( + this.peek(r.Num) || + this.peek(r.Percentage) || + this.peek(r.Resolution) || + this.peek(r.Length) || + this.peek(r.EMS) || + this.peek(r.EXS) || + this.peek(r.Angle) || + this.peek(r.Time) || + this.peek(r.Dimension) || + this.peek(r.Freq) + ) { + var e = this.create(st); + return this.consumeToken(), this.finish(e); + } + return null; + }), + (e.prototype._parseStringLiteral = function () { + if (!this.peek(r.String) && !this.peek(r.BadString)) return null; + var e = this.createNode(ne.StringLiteral); + return this.consumeToken(), this.finish(e); + }), + (e.prototype._parseURILiteral = function () { + if (!this.peekRegExp(r.Ident, /^url(-prefix)?$/i)) return null; + var e = this.mark(), + t = this.createNode(ne.URILiteral); + return ( + this.accept(r.Ident), + this.hasWhitespace() || !this.peek(r.ParenthesisL) + ? (this.restoreAtMark(e), null) + : ((this.scanner.inURL = !0), + this.consumeToken(), + t.addChild(this._parseURLArgument()), + (this.scanner.inURL = !1), + this.accept(r.ParenthesisR) + ? this.finish(t) + : this.finish(t, Et.RightParenthesisExpected)) + ); + }), + (e.prototype._parseURLArgument = function () { + var e = this.create(ce); + return this.accept(r.String) || + this.accept(r.BadString) || + this.acceptUnquotedString() + ? this.finish(e) + : null; + }), + (e.prototype._parseIdent = function (e) { + if (!this.peek(r.Ident)) return null; + var t = this.create(pe); + return ( + e && (t.referenceTypes = e), + (t.isCustomProperty = this.peekRegExp(r.Ident, /^--/)), + this.consumeToken(), + this.finish(t) + ); + }), + (e.prototype._parseFunction = function () { + var e = this.mark(), + t = this.create(Ce); + if (!t.setIdentifier(this._parseFunctionIdentifier())) return null; + if (this.hasWhitespace() || !this.accept(r.ParenthesisL)) + return this.restoreAtMark(e), null; + if (t.getArguments().addChild(this._parseFunctionArgument())) + for (; this.accept(r.Comma) && !this.peek(r.ParenthesisR); ) + t.getArguments().addChild(this._parseFunctionArgument()) || + this.markError(t, Et.ExpressionExpected); + return this.accept(r.ParenthesisR) + ? this.finish(t) + : this.finish(t, Et.RightParenthesisExpected); + }), + (e.prototype._parseFunctionIdentifier = function () { + if (!this.peek(r.Ident)) return null; + var e = this.create(pe); + if ( + ((e.referenceTypes = [re.Function]), this.acceptIdent('progid')) + ) { + if (this.accept(r.Colon)) + for (; this.accept(r.Ident) && this.acceptDelim('.'); ); + return this.finish(e); + } + return this.consumeToken(), this.finish(e); + }), + (e.prototype._parseFunctionArgument = function () { + var e = this.create(ze); + return e.setValue(this._parseExpr(!0)) ? this.finish(e) : null; + }), + (e.prototype._parseHexColor = function () { + if ( + this.peekRegExp( + r.Hash, + /^#([A-Fa-f0-9]{3}|[A-Fa-f0-9]{4}|[A-Fa-f0-9]{6}|[A-Fa-f0-9]{8})$/g + ) + ) { + var e = this.create(nt); + return this.consumeToken(), this.finish(e); + } + return null; + }), + e + ); + })(); + function sn(e, t) { + return -1 !== e.indexOf(t); + } + function an() { + for (var e = [], t = 0; t < arguments.length; t++) e[t] = arguments[t]; + for (var n = [], r = 0, i = e; r < i.length; r++) + for (var o = i[r], s = 0, a = o; s < a.length; s++) { + var l = a[s]; + sn(n, l) || n.push(l); + } + return n; + } + var ln, + cn, + dn, + pn, + hn, + mn, + un, + fn, + gn, + bn, + vn, + yn, + wn, + xn, + Sn, + kn, + Cn, + Fn, + zn, + En, + Dn, + Tn, + Rn = (function () { + var e = function (t, n) { + return (e = + Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && + function (e, t) { + e.__proto__ = t; + }) || + function (e, t) { + for (var n in t) t.hasOwnProperty(n) && (e[n] = t[n]); + })(t, n); + }; + return function (t, n) { + function r() { + this.constructor = t; + } + e(t, n), + (t.prototype = + null === n + ? Object.create(n) + : ((r.prototype = n.prototype), new r())); + }; + })(), + In = (function () { + function e(e, t) { + (this.offset = e), + (this.length = t), + (this.symbols = []), + (this.parent = null), + (this.children = []); + } + return ( + (e.prototype.addChild = function (e) { + this.children.push(e), e.setParent(this); + }), + (e.prototype.setParent = function (e) { + this.parent = e; + }), + (e.prototype.findScope = function (e, t) { + return ( + void 0 === t && (t = 0), + (this.offset <= e && this.offset + this.length > e + t) || + (this.offset === e && this.length === t) + ? this.findInScope(e, t) + : null + ); + }), + (e.prototype.findInScope = function (e, t) { + void 0 === t && (t = 0); + var n = e + t, + r = (function (e, t) { + var r = 0, + i = e.length; + if (0 === i) return 0; + for (; r < i; ) { + var o = Math.floor((r + i) / 2); + e[o].offset > n ? (i = o) : (r = o + 1); + } + return r; + })(this.children); + if (0 === r) return this; + var i = this.children[r - 1]; + return i.offset <= e && i.offset + i.length >= e + t + ? i.findInScope(e, t) + : this; + }), + (e.prototype.addSymbol = function (e) { + this.symbols.push(e); + }), + (e.prototype.getSymbol = function (e, t) { + for (var n = 0; n < this.symbols.length; n++) { + var r = this.symbols[n]; + if (r.name === e && r.type === t) return r; + } + return null; + }), + (e.prototype.getSymbols = function () { + return this.symbols; + }), + e + ); + })(), + Mn = (function (e) { + function t() { + return e.call(this, 0, Number.MAX_VALUE) || this; + } + return Rn(t, e), t; + })(In), + Pn = function (e, t, n, r) { + (this.name = e), (this.value = t), (this.node = n), (this.type = r); + }, + _n = (function () { + function e(e) { + this.scope = e; + } + return ( + (e.prototype.addSymbol = function (e, t, n, r) { + if (-1 !== e.offset) { + var i = this.scope.findScope(e.offset, e.length); + i && i.addSymbol(new Pn(t, n, e, r)); + } + }), + (e.prototype.addScope = function (e) { + if (-1 !== e.offset) { + var t = this.scope.findScope(e.offset, e.length); + if (t && (t.offset !== e.offset || t.length !== e.length)) { + var n = new In(e.offset, e.length); + return t.addChild(n), n; + } + return t; + } + return null; + }), + (e.prototype.addSymbolToChildScope = function (e, t, n, r, i) { + if (e && -1 !== e.offset) { + var o = this.addScope(e); + o && o.addSymbol(new Pn(n, r, t, i)); + } + }), + (e.prototype.visitNode = function (e) { + switch (e.type) { + case ne.Keyframe: + return ( + this.addSymbol(e, e.getName(), void 0, re.Keyframe), !0 + ); + case ne.CustomPropertyDeclaration: + return this.visitCustomPropertyDeclarationNode(e); + case ne.VariableDeclaration: + return this.visitVariableDeclarationNode(e); + case ne.Ruleset: + return this.visitRuleSet(e); + case ne.MixinDeclaration: + return this.addSymbol(e, e.getName(), void 0, re.Mixin), !0; + case ne.FunctionDeclaration: + return ( + this.addSymbol(e, e.getName(), void 0, re.Function), !0 + ); + case ne.FunctionParameter: + return this.visitFunctionParameterNode(e); + case ne.Declarations: + return this.addScope(e), !0; + case ne.For: + var t = e, + n = t.getDeclarations(); + return ( + n && + t.variable && + this.addSymbolToChildScope( + n, + t.variable, + t.variable.getName(), + void 0, + re.Variable + ), + !0 + ); + case ne.Each: + var r = e, + i = r.getDeclarations(); + if (i) + for ( + var o = 0, s = r.getVariables().getChildren(); + o < s.length; + o++ + ) { + var a = s[o]; + this.addSymbolToChildScope( + i, + a, + a.getName(), + void 0, + re.Variable + ); + } + return !0; + } + return !0; + }), + (e.prototype.visitRuleSet = function (e) { + var t = this.scope.findScope(e.offset, e.length); + if (t) + for ( + var n = 0, r = e.getSelectors().getChildren(); + n < r.length; + n++ + ) { + var i = r[n]; + i instanceof ge && + 1 === i.getChildren().length && + t.addSymbol( + new Pn(i.getChild(0).getText(), void 0, i, re.Rule) + ); + } + return !0; + }), + (e.prototype.visitVariableDeclarationNode = function (e) { + var t = e.getValue() ? e.getValue().getText() : void 0; + return this.addSymbol(e, e.getName(), t, re.Variable), !0; + }), + (e.prototype.visitFunctionParameterNode = function (e) { + var t = e.getParent().getDeclarations(); + if (t) { + var n = e.getDefaultValue(), + r = n ? n.getText() : void 0; + this.addSymbolToChildScope(t, e, e.getName(), r, re.Variable); + } + return !0; + }), + (e.prototype.visitCustomPropertyDeclarationNode = function (e) { + var t = e.getValue() ? e.getValue().getText() : ''; + return ( + this.addCSSVariable( + e.getProperty(), + e.getProperty().getName(), + t, + re.Variable + ), + !0 + ); + }), + (e.prototype.addCSSVariable = function (e, t, n, r) { + -1 !== e.offset && this.scope.addSymbol(new Pn(t, n, e, r)); + }), + e + ); + })(), + Nn = (function () { + function e(e) { + (this.global = new Mn()), e.acceptVisitor(new _n(this.global)); + } + return ( + (e.prototype.findSymbolsAtOffset = function (e, t) { + for (var n = this.global.findScope(e, 0), r = [], i = {}; n; ) { + for (var o = n.getSymbols(), s = 0; s < o.length; s++) { + var a = o[s]; + a.type !== t || i[a.name] || (r.push(a), (i[a.name] = !0)); + } + n = n.parent; + } + return r; + }), + (e.prototype.internalFindSymbol = function (e, t) { + var n = e; + if ( + (e.parent instanceof Fe && + e.parent.getParent() instanceof ue && + (n = e.parent.getParent().getDeclarations()), + e.parent instanceof ze && e.parent.getParent() instanceof Ce) + ) { + var r = e.parent.getParent().getIdentifier(); + if (r) { + var i = this.internalFindSymbol(r, [re.Function]); + i && (n = i.node.getDeclarations()); + } + } + if (!n) return null; + for ( + var o = e.getText(), + s = this.global.findScope(n.offset, n.length); + s; + + ) { + for (var a = 0; a < t.length; a++) { + var l = t[a], + c = s.getSymbol(o, l); + if (c) return c; + } + s = s.parent; + } + return null; + }), + (e.prototype.evaluateReferenceTypes = function (e) { + if (e instanceof pe) { + var t = e.referenceTypes; + if (t) return t; + if (e.isCustomProperty) return [re.Variable]; + var n = (function (e) { + var t = e.findParent(ne.Declaration), + n = t && t.getValue(); + return n && n.encloses(e) ? t : null; + })(e); + if (n) { + var r = n.getNonPrefixedPropertyName(); + if ( + ('animation' === r || 'animation-name' === r) && + n.getValue() && + n.getValue().offset === e.offset + ) + return [re.Keyframe]; + } + } else if (e instanceof ct) return [re.Variable]; + return e.findAParent(ne.Selector, ne.ExtendsReference) + ? [re.Rule] + : null; + }), + (e.prototype.findSymbolFromNode = function (e) { + if (!e) return null; + for (; e.type === ne.Interpolation; ) e = e.getParent(); + var t = this.evaluateReferenceTypes(e); + return t ? this.internalFindSymbol(e, t) : null; + }), + (e.prototype.matchesSymbol = function (e, t) { + if (!e) return !1; + for (; e.type === ne.Interpolation; ) e = e.getParent(); + if (!e.matches(t.name)) return !1; + var n = this.evaluateReferenceTypes(e); + return ( + !(!n || -1 === n.indexOf(t.type)) && + this.internalFindSymbol(e, n) === t + ); + }), + (e.prototype.findSymbol = function (e, t, n) { + for (var r = this.global.findScope(n); r; ) { + var i = r.getSymbol(e, t); + if (i) return i; + r = r.parent; + } + return null; + }), + e + ); + })(); + !(function (e) { + (e.create = function (e, t) { + return { line: e, character: t }; + }), + (e.is = function (e) { + var t = e; + return ( + mr.objectLiteral(t) && mr.number(t.line) && mr.number(t.character) + ); + }); + })(ln || (ln = {})), + ((Tn = cn || (cn = {})).create = function (e, t, n, r) { + if (mr.number(e) && mr.number(t) && mr.number(n) && mr.number(r)) + return { start: ln.create(e, t), end: ln.create(n, r) }; + if (ln.is(e) && ln.is(t)) return { start: e, end: t }; + throw new Error( + 'Range#create called with invalid arguments[' + + e + + ', ' + + t + + ', ' + + n + + ', ' + + r + + ']' + ); + }), + (Tn.is = function (e) { + var t = e; + return mr.objectLiteral(t) && ln.is(t.start) && ln.is(t.end); + }), + (function (e) { + (e.create = function (e, t) { + return { uri: e, range: t }; + }), + (e.is = function (e) { + var t = e; + return ( + mr.defined(t) && + cn.is(t.range) && + (mr.string(t.uri) || mr.undefined(t.uri)) + ); + }); + })(dn || (dn = {})), + (function (e) { + (e.create = function (e, t, n, r) { + return { + targetUri: e, + targetRange: t, + targetSelectionRange: n, + originSelectionRange: r, + }; + }), + (e.is = function (e) { + var t = e; + return ( + mr.defined(t) && + cn.is(t.targetRange) && + mr.string(t.targetUri) && + (cn.is(t.targetSelectionRange) || + mr.undefined(t.targetSelectionRange)) && + (cn.is(t.originSelectionRange) || + mr.undefined(t.originSelectionRange)) + ); + }); + })(pn || (pn = {})), + (function (e) { + (e.create = function (e, t, n, r) { + return { red: e, green: t, blue: n, alpha: r }; + }), + (e.is = function (e) { + var t = e; + return ( + mr.number(t.red) && + mr.number(t.green) && + mr.number(t.blue) && + mr.number(t.alpha) + ); + }); + })(hn || (hn = {})), + (function (e) { + (e.create = function (e, t) { + return { range: e, color: t }; + }), + (e.is = function (e) { + var t = e; + return cn.is(t.range) && hn.is(t.color); + }); + })(mn || (mn = {})), + (function (e) { + (e.create = function (e, t, n) { + return { label: e, textEdit: t, additionalTextEdits: n }; + }), + (e.is = function (e) { + var t = e; + return ( + mr.string(t.label) && + (mr.undefined(t.textEdit) || kn.is(t)) && + (mr.undefined(t.additionalTextEdits) || + mr.typedArray(t.additionalTextEdits, kn.is)) + ); + }); + })(un || (un = {})), + (function (e) { + (e.Comment = 'comment'), + (e.Imports = 'imports'), + (e.Region = 'region'); + })(fn || (fn = {})), + (function (e) { + (e.create = function (e, t, n, r, i) { + var o = { startLine: e, endLine: t }; + return ( + mr.defined(n) && (o.startCharacter = n), + mr.defined(r) && (o.endCharacter = r), + mr.defined(i) && (o.kind = i), + o + ); + }), + (e.is = function (e) { + var t = e; + return ( + mr.number(t.startLine) && + mr.number(t.startLine) && + (mr.undefined(t.startCharacter) || + mr.number(t.startCharacter)) && + (mr.undefined(t.endCharacter) || mr.number(t.endCharacter)) && + (mr.undefined(t.kind) || mr.string(t.kind)) + ); + }); + })(gn || (gn = {})), + (function (e) { + (e.create = function (e, t) { + return { location: e, message: t }; + }), + (e.is = function (e) { + var t = e; + return mr.defined(t) && dn.is(t.location) && mr.string(t.message); + }); + })(bn || (bn = {})), + (function (e) { + (e.Error = 1), (e.Warning = 2), (e.Information = 3), (e.Hint = 4); + })(vn || (vn = {})), + (function (e) { + (e.Unnecessary = 1), (e.Deprecated = 2); + })(yn || (yn = {})), + (function (e) { + e.is = function (e) { + var t = e; + return ( + null != t && + (mr.number(t.value) || mr.string(t.value)) && + mr.string(t.target) + ); + }; + })(wn || (wn = {})), + (function (e) { + (e.create = function (e, t, n, r, i, o) { + var s = { range: e, message: t }; + return ( + mr.defined(n) && (s.severity = n), + mr.defined(r) && (s.code = r), + mr.defined(i) && (s.source = i), + mr.defined(o) && (s.relatedInformation = o), + s + ); + }), + (e.is = function (e) { + var t = e; + return ( + mr.defined(t) && + cn.is(t.range) && + mr.string(t.message) && + (mr.number(t.severity) || mr.undefined(t.severity)) && + (mr.number(t.code) || + mr.string(t.code) || + mr.undefined(t.code)) && + (mr.string(t.source) || mr.undefined(t.source)) && + (mr.undefined(t.relatedInformation) || + mr.typedArray(t.relatedInformation, bn.is)) + ); + }); + })(xn || (xn = {})), + (function (e) { + (e.create = function (e, t) { + for (var n = [], r = 2; r < arguments.length; r++) + n[r - 2] = arguments[r]; + var i = { title: e, command: t }; + return mr.defined(n) && n.length > 0 && (i.arguments = n), i; + }), + (e.is = function (e) { + var t = e; + return ( + mr.defined(t) && mr.string(t.title) && mr.string(t.command) + ); + }); + })(Sn || (Sn = {})), + (function (e) { + (e.replace = function (e, t) { + return { range: e, newText: t }; + }), + (e.insert = function (e, t) { + return { range: { start: e, end: e }, newText: t }; + }), + (e.del = function (e) { + return { range: e, newText: '' }; + }), + (e.is = function (e) { + var t = e; + return ( + mr.objectLiteral(t) && mr.string(t.newText) && cn.is(t.range) + ); + }); + })(kn || (kn = {})), + (function (e) { + (e.create = function (e, t) { + return { textDocument: e, edits: t }; + }), + (e.is = function (e) { + var t = e; + return ( + mr.defined(t) && On.is(t.textDocument) && Array.isArray(t.edits) + ); + }); + })(Cn || (Cn = {})), + (function (e) { + (e.create = function (e, t) { + var n = { kind: 'create', uri: e }; + return ( + void 0 === t || + (void 0 === t.overwrite && void 0 === t.ignoreIfExists) || + (n.options = t), + n + ); + }), + (e.is = function (e) { + var t = e; + return ( + t && + 'create' === t.kind && + mr.string(t.uri) && + (void 0 === t.options || + ((void 0 === t.options.overwrite || + mr.boolean(t.options.overwrite)) && + (void 0 === t.options.ignoreIfExists || + mr.boolean(t.options.ignoreIfExists)))) + ); + }); + })(Fn || (Fn = {})), + (function (e) { + (e.create = function (e, t, n) { + var r = { kind: 'rename', oldUri: e, newUri: t }; + return ( + void 0 === n || + (void 0 === n.overwrite && void 0 === n.ignoreIfExists) || + (r.options = n), + r + ); + }), + (e.is = function (e) { + var t = e; + return ( + t && + 'rename' === t.kind && + mr.string(t.oldUri) && + mr.string(t.newUri) && + (void 0 === t.options || + ((void 0 === t.options.overwrite || + mr.boolean(t.options.overwrite)) && + (void 0 === t.options.ignoreIfExists || + mr.boolean(t.options.ignoreIfExists)))) + ); + }); + })(zn || (zn = {})), + (function (e) { + (e.create = function (e, t) { + var n = { kind: 'delete', uri: e }; + return ( + void 0 === t || + (void 0 === t.recursive && void 0 === t.ignoreIfNotExists) || + (n.options = t), + n + ); + }), + (e.is = function (e) { + var t = e; + return ( + t && + 'delete' === t.kind && + mr.string(t.uri) && + (void 0 === t.options || + ((void 0 === t.options.recursive || + mr.boolean(t.options.recursive)) && + (void 0 === t.options.ignoreIfNotExists || + mr.boolean(t.options.ignoreIfNotExists)))) + ); + }); + })(En || (En = {})), + (function (e) { + e.is = function (e) { + var t = e; + return ( + t && + (void 0 !== t.changes || void 0 !== t.documentChanges) && + (void 0 === t.documentChanges || + t.documentChanges.every(function (e) { + return mr.string(e.kind) + ? Fn.is(e) || zn.is(e) || En.is(e) + : Cn.is(e); + })) + ); + }; + })(Dn || (Dn = {})); + var An, + On, + Wn, + Ln, + Un, + jn, + Vn, + Bn, + $n, + qn, + Kn, + Gn, + Hn, + Jn, + Yn, + Xn, + Zn, + Qn, + er, + tr, + nr, + rr, + ir, + or, + sr, + ar, + lr, + cr, + dr, + pr, + hr = (function () { + function e(e) { + this.edits = e; + } + return ( + (e.prototype.insert = function (e, t) { + this.edits.push(kn.insert(e, t)); + }), + (e.prototype.replace = function (e, t) { + this.edits.push(kn.replace(e, t)); + }), + (e.prototype.delete = function (e) { + this.edits.push(kn.del(e)); + }), + (e.prototype.add = function (e) { + this.edits.push(e); + }), + (e.prototype.all = function () { + return this.edits; + }), + (e.prototype.clear = function () { + this.edits.splice(0, this.edits.length); + }), + e + ); + })(); + !(function () { + function e(e) { + var t = this; + (this._textEditChanges = Object.create(null)), + e && + ((this._workspaceEdit = e), + e.documentChanges + ? e.documentChanges.forEach(function (e) { + if (Cn.is(e)) { + var n = new hr(e.edits); + t._textEditChanges[e.textDocument.uri] = n; + } + }) + : e.changes && + Object.keys(e.changes).forEach(function (n) { + var r = new hr(e.changes[n]); + t._textEditChanges[n] = r; + })); + } + Object.defineProperty(e.prototype, 'edit', { + get: function () { + return void 0 === this._workspaceEdit + ? { documentChanges: [] } + : this._workspaceEdit; + }, + enumerable: !0, + configurable: !0, + }), + (e.prototype.getTextEditChange = function (e) { + if (On.is(e)) { + if ( + (this._workspaceEdit || + (this._workspaceEdit = { documentChanges: [] }), + !this._workspaceEdit.documentChanges) + ) + throw new Error( + 'Workspace edit is not configured for document changes.' + ); + var t = e; + if (!(r = this._textEditChanges[t.uri])) { + var n = { textDocument: t, edits: (i = []) }; + this._workspaceEdit.documentChanges.push(n), + (r = new hr(i)), + (this._textEditChanges[t.uri] = r); + } + return r; + } + if ( + (this._workspaceEdit || + (this._workspaceEdit = { changes: Object.create(null) }), + !this._workspaceEdit.changes) + ) + throw new Error( + 'Workspace edit is not configured for normal text edit changes.' + ); + var r; + if (!(r = this._textEditChanges[e])) { + var i = []; + (this._workspaceEdit.changes[e] = i), + (r = new hr(i)), + (this._textEditChanges[e] = r); + } + return r; + }), + (e.prototype.createFile = function (e, t) { + this.checkDocumentChanges(), + this._workspaceEdit.documentChanges.push(Fn.create(e, t)); + }), + (e.prototype.renameFile = function (e, t, n) { + this.checkDocumentChanges(), + this._workspaceEdit.documentChanges.push(zn.create(e, t, n)); + }), + (e.prototype.deleteFile = function (e, t) { + this.checkDocumentChanges(), + this._workspaceEdit.documentChanges.push(En.create(e, t)); + }), + (e.prototype.checkDocumentChanges = function () { + if (!this._workspaceEdit || !this._workspaceEdit.documentChanges) + throw new Error( + 'Workspace edit is not configured for document changes.' + ); + }); + })(), + (function (e) { + (e.create = function (e) { + return { uri: e }; + }), + (e.is = function (e) { + var t = e; + return mr.defined(t) && mr.string(t.uri); + }); + })(An || (An = {})), + (function (e) { + (e.create = function (e, t) { + return { uri: e, version: t }; + }), + (e.is = function (e) { + var t = e; + return ( + mr.defined(t) && + mr.string(t.uri) && + (null === t.version || mr.number(t.version)) + ); + }); + })(On || (On = {})), + (function (e) { + (e.create = function (e, t, n, r) { + return { uri: e, languageId: t, version: n, text: r }; + }), + (e.is = function (e) { + var t = e; + return ( + mr.defined(t) && + mr.string(t.uri) && + mr.string(t.languageId) && + mr.number(t.version) && + mr.string(t.text) + ); + }); + })(Wn || (Wn = {})), + (function (e) { + (e.PlainText = 'plaintext'), (e.Markdown = 'markdown'); + })(Ln || (Ln = {})), + (function (e) { + e.is = function (t) { + var n = t; + return n === e.PlainText || n === e.Markdown; + }; + })(Ln || (Ln = {})), + (function (e) { + e.is = function (e) { + var t = e; + return mr.objectLiteral(e) && Ln.is(t.kind) && mr.string(t.value); + }; + })(Un || (Un = {})), + (function (e) { + (e.Text = 1), + (e.Method = 2), + (e.Function = 3), + (e.Constructor = 4), + (e.Field = 5), + (e.Variable = 6), + (e.Class = 7), + (e.Interface = 8), + (e.Module = 9), + (e.Property = 10), + (e.Unit = 11), + (e.Value = 12), + (e.Enum = 13), + (e.Keyword = 14), + (e.Snippet = 15), + (e.Color = 16), + (e.File = 17), + (e.Reference = 18), + (e.Folder = 19), + (e.EnumMember = 20), + (e.Constant = 21), + (e.Struct = 22), + (e.Event = 23), + (e.Operator = 24), + (e.TypeParameter = 25); + })(jn || (jn = {})), + (function (e) { + (e.PlainText = 1), (e.Snippet = 2); + })(Vn || (Vn = {})), + (function (e) { + e.Deprecated = 1; + })(Bn || (Bn = {})), + (function (e) { + (e.create = function (e, t, n) { + return { newText: e, insert: t, replace: n }; + }), + (e.is = function (e) { + var t = e; + return ( + t && mr.string(t.newText) && cn.is(t.insert) && cn.is(t.replace) + ); + }); + })($n || ($n = {})), + (function (e) { + e.create = function (e) { + return { label: e }; + }; + })(qn || (qn = {})), + (function (e) { + e.create = function (e, t) { + return { items: e || [], isIncomplete: !!t }; + }; + })(Kn || (Kn = {})), + (function (e) { + (e.fromPlainText = function (e) { + return e.replace(/[\\`*_{}[\]()#+\-.!]/g, '\\$&'); + }), + (e.is = function (e) { + var t = e; + return ( + mr.string(t) || + (mr.objectLiteral(t) && + mr.string(t.language) && + mr.string(t.value)) + ); + }); + })(Gn || (Gn = {})), + (function (e) { + e.is = function (e) { + var t = e; + return ( + !!t && + mr.objectLiteral(t) && + (Un.is(t.contents) || + Gn.is(t.contents) || + mr.typedArray(t.contents, Gn.is)) && + (void 0 === e.range || cn.is(e.range)) + ); + }; + })(Hn || (Hn = {})), + (function (e) { + e.create = function (e, t) { + return t ? { label: e, documentation: t } : { label: e }; + }; + })(Jn || (Jn = {})), + (function (e) { + e.create = function (e, t) { + for (var n = [], r = 2; r < arguments.length; r++) + n[r - 2] = arguments[r]; + var i = { label: e }; + return ( + mr.defined(t) && (i.documentation = t), + mr.defined(n) ? (i.parameters = n) : (i.parameters = []), + i + ); + }; + })(Yn || (Yn = {})), + (function (e) { + (e.Text = 1), (e.Read = 2), (e.Write = 3); + })(Xn || (Xn = {})), + (function (e) { + e.create = function (e, t) { + var n = { range: e }; + return mr.number(t) && (n.kind = t), n; + }; + })(Zn || (Zn = {})), + (function (e) { + (e.File = 1), + (e.Module = 2), + (e.Namespace = 3), + (e.Package = 4), + (e.Class = 5), + (e.Method = 6), + (e.Property = 7), + (e.Field = 8), + (e.Constructor = 9), + (e.Enum = 10), + (e.Interface = 11), + (e.Function = 12), + (e.Variable = 13), + (e.Constant = 14), + (e.String = 15), + (e.Number = 16), + (e.Boolean = 17), + (e.Array = 18), + (e.Object = 19), + (e.Key = 20), + (e.Null = 21), + (e.EnumMember = 22), + (e.Struct = 23), + (e.Event = 24), + (e.Operator = 25), + (e.TypeParameter = 26); + })(Qn || (Qn = {})), + (function (e) { + e.Deprecated = 1; + })(er || (er = {})), + (function (e) { + e.create = function (e, t, n, r, i) { + var o = { name: e, kind: t, location: { uri: r, range: n } }; + return i && (o.containerName = i), o; + }; + })(tr || (tr = {})), + (function (e) { + (e.create = function (e, t, n, r, i, o) { + var s = { + name: e, + detail: t, + kind: n, + range: r, + selectionRange: i, + }; + return void 0 !== o && (s.children = o), s; + }), + (e.is = function (e) { + var t = e; + return ( + t && + mr.string(t.name) && + mr.number(t.kind) && + cn.is(t.range) && + cn.is(t.selectionRange) && + (void 0 === t.detail || mr.string(t.detail)) && + (void 0 === t.deprecated || mr.boolean(t.deprecated)) && + (void 0 === t.children || Array.isArray(t.children)) && + (void 0 === t.tags || Array.isArray(t.tags)) + ); + }); + })(nr || (nr = {})), + (function (e) { + (e.Empty = ''), + (e.QuickFix = 'quickfix'), + (e.Refactor = 'refactor'), + (e.RefactorExtract = 'refactor.extract'), + (e.RefactorInline = 'refactor.inline'), + (e.RefactorRewrite = 'refactor.rewrite'), + (e.Source = 'source'), + (e.SourceOrganizeImports = 'source.organizeImports'), + (e.SourceFixAll = 'source.fixAll'); + })(rr || (rr = {})), + (function (e) { + (e.create = function (e, t) { + var n = { diagnostics: e }; + return null != t && (n.only = t), n; + }), + (e.is = function (e) { + var t = e; + return ( + mr.defined(t) && + mr.typedArray(t.diagnostics, xn.is) && + (void 0 === t.only || mr.typedArray(t.only, mr.string)) + ); + }); + })(ir || (ir = {})), + (function (e) { + (e.create = function (e, t, n) { + var r = { title: e }; + return ( + Sn.is(t) ? (r.command = t) : (r.edit = t), + void 0 !== n && (r.kind = n), + r + ); + }), + (e.is = function (e) { + var t = e; + return ( + t && + mr.string(t.title) && + (void 0 === t.diagnostics || + mr.typedArray(t.diagnostics, xn.is)) && + (void 0 === t.kind || mr.string(t.kind)) && + (void 0 !== t.edit || void 0 !== t.command) && + (void 0 === t.command || Sn.is(t.command)) && + (void 0 === t.isPreferred || mr.boolean(t.isPreferred)) && + (void 0 === t.edit || Dn.is(t.edit)) + ); + }); + })(or || (or = {})), + (function (e) { + (e.create = function (e, t) { + var n = { range: e }; + return mr.defined(t) && (n.data = t), n; + }), + (e.is = function (e) { + var t = e; + return ( + mr.defined(t) && + cn.is(t.range) && + (mr.undefined(t.command) || Sn.is(t.command)) + ); + }); + })(sr || (sr = {})), + (function (e) { + (e.create = function (e, t) { + return { tabSize: e, insertSpaces: t }; + }), + (e.is = function (e) { + var t = e; + return ( + mr.defined(t) && + mr.number(t.tabSize) && + mr.boolean(t.insertSpaces) + ); + }); + })(ar || (ar = {})), + (function (e) { + (e.create = function (e, t, n) { + return { range: e, target: t, data: n }; + }), + (e.is = function (e) { + var t = e; + return ( + mr.defined(t) && + cn.is(t.range) && + (mr.undefined(t.target) || mr.string(t.target)) + ); + }); + })(lr || (lr = {})), + ((dr = cr || (cr = {})).create = function (e, t) { + return { range: e, parent: t }; + }), + (dr.is = function (e) { + var t = e; + return ( + void 0 !== t && + cn.is(t.range) && + (void 0 === t.parent || dr.is(t.parent)) + ); + }), + (function (e) { + function t(e, n) { + if (e.length <= 1) return e; + var r = (e.length / 2) | 0, + i = e.slice(0, r), + o = e.slice(r); + t(i, n), t(o, n); + for (var s = 0, a = 0, l = 0; s < i.length && a < o.length; ) { + var c = n(i[s], o[a]); + e[l++] = c <= 0 ? i[s++] : o[a++]; + } + for (; s < i.length; ) e[l++] = i[s++]; + for (; a < o.length; ) e[l++] = o[a++]; + return e; + } + (e.create = function (e, t, n, r) { + return new ur(e, t, n, r); + }), + (e.is = function (e) { + var t = e; + return !!( + mr.defined(t) && + mr.string(t.uri) && + (mr.undefined(t.languageId) || mr.string(t.languageId)) && + mr.number(t.lineCount) && + mr.func(t.getText) && + mr.func(t.positionAt) && + mr.func(t.offsetAt) + ); + }), + (e.applyEdits = function (e, n) { + for ( + var r = e.getText(), + i = t(n, function (e, t) { + var n = e.range.start.line - t.range.start.line; + return 0 === n + ? e.range.start.character - t.range.start.character + : n; + }), + o = r.length, + s = i.length - 1; + s >= 0; + s-- + ) { + var a = i[s], + l = e.offsetAt(a.range.start), + c = e.offsetAt(a.range.end); + if (!(c <= o)) throw new Error('Overlapping edit'); + (r = r.substring(0, l) + a.newText + r.substring(c, r.length)), + (o = l); + } + return r; + }); + })(pr || (pr = {})); + var mr, + ur = (function () { + function e(e, t, n, r) { + (this._uri = e), + (this._languageId = t), + (this._version = n), + (this._content = r), + (this._lineOffsets = void 0); + } + return ( + Object.defineProperty(e.prototype, 'uri', { + get: function () { + return this._uri; + }, + enumerable: !0, + configurable: !0, + }), + Object.defineProperty(e.prototype, 'languageId', { + get: function () { + return this._languageId; + }, + enumerable: !0, + configurable: !0, + }), + Object.defineProperty(e.prototype, 'version', { + get: function () { + return this._version; + }, + enumerable: !0, + configurable: !0, + }), + (e.prototype.getText = function (e) { + if (e) { + var t = this.offsetAt(e.start), + n = this.offsetAt(e.end); + return this._content.substring(t, n); + } + return this._content; + }), + (e.prototype.update = function (e, t) { + (this._content = e.text), + (this._version = t), + (this._lineOffsets = void 0); + }), + (e.prototype.getLineOffsets = function () { + if (void 0 === this._lineOffsets) { + for ( + var e = [], t = this._content, n = !0, r = 0; + r < t.length; + r++ + ) { + n && (e.push(r), (n = !1)); + var i = t.charAt(r); + (n = '\r' === i || '\n' === i), + '\r' === i && + r + 1 < t.length && + '\n' === t.charAt(r + 1) && + r++; + } + n && t.length > 0 && e.push(t.length), (this._lineOffsets = e); + } + return this._lineOffsets; + }), + (e.prototype.positionAt = function (e) { + e = Math.max(Math.min(e, this._content.length), 0); + var t = this.getLineOffsets(), + n = 0, + r = t.length; + if (0 === r) return ln.create(0, e); + for (; n < r; ) { + var i = Math.floor((n + r) / 2); + t[i] > e ? (r = i) : (n = i + 1); + } + var o = n - 1; + return ln.create(o, e - t[o]); + }), + (e.prototype.offsetAt = function (e) { + var t = this.getLineOffsets(); + if (e.line >= t.length) return this._content.length; + if (e.line < 0) return 0; + var n = t[e.line], + r = + e.line + 1 < t.length ? t[e.line + 1] : this._content.length; + return Math.max(Math.min(n + e.character, r), n); + }), + Object.defineProperty(e.prototype, 'lineCount', { + get: function () { + return this.getLineOffsets().length; + }, + enumerable: !0, + configurable: !0, + }), + e + ); + })(); + !(function (e) { + var t = Object.prototype.toString; + (e.defined = function (e) { + return void 0 !== e; + }), + (e.undefined = function (e) { + return void 0 === e; + }), + (e.boolean = function (e) { + return !0 === e || !1 === e; + }), + (e.string = function (e) { + return '[object String]' === t.call(e); + }), + (e.number = function (e) { + return '[object Number]' === t.call(e); + }), + (e.func = function (e) { + return '[object Function]' === t.call(e); + }), + (e.objectLiteral = function (e) { + return null !== e && 'object' == typeof e; + }), + (e.typedArray = function (e, t) { + return Array.isArray(e) && e.every(t); + }); + })(mr || (mr = {})); + var fr, + gr, + br, + vr = (function () { + function e(e, t, n, r) { + (this._uri = e), + (this._languageId = t), + (this._version = n), + (this._content = r), + (this._lineOffsets = void 0); + } + return ( + Object.defineProperty(e.prototype, 'uri', { + get: function () { + return this._uri; + }, + enumerable: !0, + configurable: !0, + }), + Object.defineProperty(e.prototype, 'languageId', { + get: function () { + return this._languageId; + }, + enumerable: !0, + configurable: !0, + }), + Object.defineProperty(e.prototype, 'version', { + get: function () { + return this._version; + }, + enumerable: !0, + configurable: !0, + }), + (e.prototype.getText = function (e) { + if (e) { + var t = this.offsetAt(e.start), + n = this.offsetAt(e.end); + return this._content.substring(t, n); + } + return this._content; + }), + (e.prototype.update = function (t, n) { + for (var r = 0, i = t; r < i.length; r++) { + var o = i[r]; + if (e.isIncremental(o)) { + var s = xr(o.range), + a = this.offsetAt(s.start), + l = this.offsetAt(s.end); + this._content = + this._content.substring(0, a) + + o.text + + this._content.substring(l, this._content.length); + var c = Math.max(s.start.line, 0), + d = Math.max(s.end.line, 0), + p = this._lineOffsets, + h = wr(o.text, !1, a); + if (d - c === h.length) + for (var m = 0, u = h.length; m < u; m++) + p[m + c + 1] = h[m]; + else + h.length < 1e4 + ? p.splice.apply(p, [c + 1, d - c].concat(h)) + : (this._lineOffsets = p = p + .slice(0, c + 1) + .concat(h, p.slice(d + 1))); + var f = o.text.length - (l - a); + if (0 !== f) + for (m = c + 1 + h.length, u = p.length; m < u; m++) + p[m] = p[m] + f; + } else { + if (!e.isFull(o)) + throw new Error('Unknown change event received'); + (this._content = o.text), (this._lineOffsets = void 0); + } + } + this._version = n; + }), + (e.prototype.getLineOffsets = function () { + return ( + void 0 === this._lineOffsets && + (this._lineOffsets = wr(this._content, !0)), + this._lineOffsets + ); + }), + (e.prototype.positionAt = function (e) { + e = Math.max(Math.min(e, this._content.length), 0); + var t = this.getLineOffsets(), + n = 0, + r = t.length; + if (0 === r) return { line: 0, character: e }; + for (; n < r; ) { + var i = Math.floor((n + r) / 2); + t[i] > e ? (r = i) : (n = i + 1); + } + var o = n - 1; + return { line: o, character: e - t[o] }; + }), + (e.prototype.offsetAt = function (e) { + var t = this.getLineOffsets(); + if (e.line >= t.length) return this._content.length; + if (e.line < 0) return 0; + var n = t[e.line], + r = + e.line + 1 < t.length ? t[e.line + 1] : this._content.length; + return Math.max(Math.min(n + e.character, r), n); + }), + Object.defineProperty(e.prototype, 'lineCount', { + get: function () { + return this.getLineOffsets().length; + }, + enumerable: !0, + configurable: !0, + }), + (e.isIncremental = function (e) { + var t = e; + return ( + null != t && + 'string' == typeof t.text && + void 0 !== t.range && + (void 0 === t.rangeLength || 'number' == typeof t.rangeLength) + ); + }), + (e.isFull = function (e) { + var t = e; + return ( + null != t && + 'string' == typeof t.text && + void 0 === t.range && + void 0 === t.rangeLength + ); + }), + e + ); + })(); + function yr(e, t) { + if (e.length <= 1) return e; + var n = (e.length / 2) | 0, + r = e.slice(0, n), + i = e.slice(n); + yr(r, t), yr(i, t); + for (var o = 0, s = 0, a = 0; o < r.length && s < i.length; ) { + var l = t(r[o], i[s]); + e[a++] = l <= 0 ? r[o++] : i[s++]; + } + for (; o < r.length; ) e[a++] = r[o++]; + for (; s < i.length; ) e[a++] = i[s++]; + return e; + } + function wr(e, t, n) { + void 0 === n && (n = 0); + for (var r = t ? [n] : [], i = 0; i < e.length; i++) { + var o = e.charCodeAt(i); + (13 !== o && 10 !== o) || + (13 === o && i + 1 < e.length && 10 === e.charCodeAt(i + 1) && i++, + r.push(n + i + 1)); + } + return r; + } + function xr(e) { + var t = e.start, + n = e.end; + return t.line > n.line || + (t.line === n.line && t.character > n.character) + ? { start: n, end: t } + : e; + } + function Sr(e) { + var t = xr(e.range); + return t !== e.range ? { newText: e.newText, range: t } : e; + } + !(function (e) { + (e.create = function (e, t, n, r) { + return new vr(e, t, n, r); + }), + (e.update = function (e, t, n) { + if (e instanceof vr) return e.update(t, n), e; + throw new Error( + 'TextDocument.update: document must be created by TextDocument.create' + ); + }), + (e.applyEdits = function (e, t) { + for ( + var n = e.getText(), + r = 0, + i = [], + o = 0, + s = yr(t.map(Sr), function (e, t) { + var n = e.range.start.line - t.range.start.line; + return 0 === n + ? e.range.start.character - t.range.start.character + : n; + }); + o < s.length; + o++ + ) { + var a = s[o], + l = e.offsetAt(a.range.start); + if (l < r) throw new Error('Overlapping edit'); + l > r && i.push(n.substring(r, l)), + a.newText.length && i.push(a.newText), + (r = e.offsetAt(a.range.end)); + } + return i.push(n.substr(r)), i.join(''); + }); + })(fr || (fr = {})), + (function (e) { + e.LATEST = { + textDocument: { + completion: { + completionItem: { + documentationFormat: [Ln.Markdown, Ln.PlainText], + }, + }, + hover: { contentFormat: [Ln.Markdown, Ln.PlainText] }, + }, + }; + })(gr || (gr = {})), + (function (e) { + (e[(e.Unknown = 0)] = 'Unknown'), + (e[(e.File = 1)] = 'File'), + (e[(e.Directory = 2)] = 'Directory'), + (e[(e.SymbolicLink = 64)] = 'SymbolicLink'); + })(br || (br = {})); + var kr, + Cr, + Fr = (function () { + var e = function (t, n) { + return (e = + Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && + function (e, t) { + e.__proto__ = t; + }) || + function (e, t) { + for (var n in t) t.hasOwnProperty(n) && (e[n] = t[n]); + })(t, n); + }; + return function (t, n) { + function r() { + this.constructor = t; + } + e(t, n), + (t.prototype = + null === n + ? Object.create(n) + : ((r.prototype = n.prototype), new r())); + }; + })(); + if ('object' == typeof process) Cr = 'win32' === process.platform; + else if ('object' == typeof navigator) { + var zr = navigator.userAgent; + Cr = zr.indexOf('Windows') >= 0; + } + var Er = /^\w[\w\d+.-]*$/, + Dr = /^\//, + Tr = /^\/\//, + Rr = '', + Ir = '/', + Mr = /^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/, + Pr = (function () { + function e(e, t, n, r, i, o) { + void 0 === o && (o = !1), + 'object' == typeof e + ? ((this.scheme = e.scheme || Rr), + (this.authority = e.authority || Rr), + (this.path = e.path || Rr), + (this.query = e.query || Rr), + (this.fragment = e.fragment || Rr)) + : ((this.scheme = (function (e, t) { + return e || t ? e : 'file'; + })(e, o)), + (this.authority = t || Rr), + (this.path = (function (e, t) { + switch (e) { + case 'https': + case 'http': + case 'file': + t ? t[0] !== Ir && (t = Ir + t) : (t = Ir); + } + return t; + })(this.scheme, n || Rr)), + (this.query = r || Rr), + (this.fragment = i || Rr), + (function (e, t) { + if (!e.scheme && t) + throw new Error( + '[UriError]: Scheme is missing: {scheme: "", authority: "' + + e.authority + + '", path: "' + + e.path + + '", query: "' + + e.query + + '", fragment: "' + + e.fragment + + '"}' + ); + if (e.scheme && !Er.test(e.scheme)) + throw new Error( + '[UriError]: Scheme contains illegal characters.' + ); + if (e.path) + if (e.authority) { + if (!Dr.test(e.path)) + throw new Error( + '[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character' + ); + } else if (Tr.test(e.path)) + throw new Error( + '[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")' + ); + })(this, o)); + } + return ( + (e.isUri = function (t) { + return ( + t instanceof e || + (!!t && + 'string' == typeof t.authority && + 'string' == typeof t.fragment && + 'string' == typeof t.path && + 'string' == typeof t.query && + 'string' == typeof t.scheme && + 'function' == typeof t.fsPath && + 'function' == typeof t.with && + 'function' == typeof t.toString) + ); + }), + Object.defineProperty(e.prototype, 'fsPath', { + get: function () { + return Lr(this, !1); + }, + enumerable: !0, + configurable: !0, + }), + (e.prototype.with = function (e) { + if (!e) return this; + var t = e.scheme, + n = e.authority, + r = e.path, + i = e.query, + o = e.fragment; + return ( + void 0 === t ? (t = this.scheme) : null === t && (t = Rr), + void 0 === n ? (n = this.authority) : null === n && (n = Rr), + void 0 === r ? (r = this.path) : null === r && (r = Rr), + void 0 === i ? (i = this.query) : null === i && (i = Rr), + void 0 === o ? (o = this.fragment) : null === o && (o = Rr), + t === this.scheme && + n === this.authority && + r === this.path && + i === this.query && + o === this.fragment + ? this + : new Nr(t, n, r, i, o) + ); + }), + (e.parse = function (e, t) { + void 0 === t && (t = !1); + var n = Mr.exec(e); + return n + ? new Nr( + n[2] || Rr, + Br(n[4] || Rr), + Br(n[5] || Rr), + Br(n[7] || Rr), + Br(n[9] || Rr), + t + ) + : new Nr(Rr, Rr, Rr, Rr, Rr); + }), + (e.file = function (e) { + var t = Rr; + if ( + (Cr && (e = e.replace(/\\/g, Ir)), e[0] === Ir && e[1] === Ir) + ) { + var n = e.indexOf(Ir, 2); + -1 === n + ? ((t = e.substring(2)), (e = Ir)) + : ((t = e.substring(2, n)), (e = e.substring(n) || Ir)); + } + return new Nr('file', t, e, Rr, Rr); + }), + (e.from = function (e) { + return new Nr(e.scheme, e.authority, e.path, e.query, e.fragment); + }), + (e.prototype.toString = function (e) { + return void 0 === e && (e = !1), Ur(this, e); + }), + (e.prototype.toJSON = function () { + return this; + }), + (e.revive = function (t) { + if (t) { + if (t instanceof e) return t; + var n = new Nr(t); + return ( + (n._formatted = t.external), + (n._fsPath = t._sep === _r ? t.fsPath : null), + n + ); + } + return t; + }), + e + ); + })(), + _r = Cr ? 1 : void 0, + Nr = (function (e) { + function t() { + var t = (null !== e && e.apply(this, arguments)) || this; + return (t._formatted = null), (t._fsPath = null), t; + } + return ( + Fr(t, e), + Object.defineProperty(t.prototype, 'fsPath', { + get: function () { + return ( + this._fsPath || (this._fsPath = Lr(this, !1)), this._fsPath + ); + }, + enumerable: !0, + configurable: !0, + }), + (t.prototype.toString = function (e) { + return ( + void 0 === e && (e = !1), + e + ? Ur(this, !0) + : (this._formatted || (this._formatted = Ur(this, !1)), + this._formatted) + ); + }), + (t.prototype.toJSON = function () { + var e = { $mid: 1 }; + return ( + this._fsPath && ((e.fsPath = this._fsPath), (e._sep = _r)), + this._formatted && (e.external = this._formatted), + this.path && (e.path = this.path), + this.scheme && (e.scheme = this.scheme), + this.authority && (e.authority = this.authority), + this.query && (e.query = this.query), + this.fragment && (e.fragment = this.fragment), + e + ); + }), + t + ); + })(Pr), + Ar = + (((kr = {})[58] = '%3A'), + (kr[47] = '%2F'), + (kr[63] = '%3F'), + (kr[35] = '%23'), + (kr[91] = '%5B'), + (kr[93] = '%5D'), + (kr[64] = '%40'), + (kr[33] = '%21'), + (kr[36] = '%24'), + (kr[38] = '%26'), + (kr[39] = '%27'), + (kr[40] = '%28'), + (kr[41] = '%29'), + (kr[42] = '%2A'), + (kr[43] = '%2B'), + (kr[44] = '%2C'), + (kr[59] = '%3B'), + (kr[61] = '%3D'), + (kr[32] = '%20'), + kr); + function Or(e, t) { + for (var n = void 0, r = -1, i = 0; i < e.length; i++) { + var o = e.charCodeAt(i); + if ( + (o >= 97 && o <= 122) || + (o >= 65 && o <= 90) || + (o >= 48 && o <= 57) || + 45 === o || + 46 === o || + 95 === o || + 126 === o || + (t && 47 === o) + ) + -1 !== r && + ((n += encodeURIComponent(e.substring(r, i))), (r = -1)), + void 0 !== n && (n += e.charAt(i)); + else { + void 0 === n && (n = e.substr(0, i)); + var s = Ar[o]; + void 0 !== s + ? (-1 !== r && + ((n += encodeURIComponent(e.substring(r, i))), (r = -1)), + (n += s)) + : -1 === r && (r = i); + } + } + return ( + -1 !== r && (n += encodeURIComponent(e.substring(r))), + void 0 !== n ? n : e + ); + } + function Wr(e) { + for (var t = void 0, n = 0; n < e.length; n++) { + var r = e.charCodeAt(n); + 35 === r || 63 === r + ? (void 0 === t && (t = e.substr(0, n)), (t += Ar[r])) + : void 0 !== t && (t += e[n]); + } + return void 0 !== t ? t : e; + } + function Lr(e, t) { + var n; + return ( + (n = + e.authority && e.path.length > 1 && 'file' === e.scheme + ? '//' + e.authority + e.path + : 47 === e.path.charCodeAt(0) && + ((e.path.charCodeAt(1) >= 65 && e.path.charCodeAt(1) <= 90) || + (e.path.charCodeAt(1) >= 97 && + e.path.charCodeAt(1) <= 122)) && + 58 === e.path.charCodeAt(2) + ? t + ? e.path.substr(1) + : e.path[1].toLowerCase() + e.path.substr(2) + : e.path), + Cr && (n = n.replace(/\//g, '\\')), + n + ); + } + function Ur(e, t) { + var n = t ? Wr : Or, + r = '', + i = e.scheme, + o = e.authority, + s = e.path, + a = e.query, + l = e.fragment; + if ( + (i && ((r += i), (r += ':')), + (o || 'file' === i) && ((r += Ir), (r += Ir)), + o) + ) { + var c = o.indexOf('@'); + if (-1 !== c) { + var d = o.substr(0, c); + (o = o.substr(c + 1)), + -1 === (c = d.indexOf(':')) + ? (r += n(d, !1)) + : ((r += n(d.substr(0, c), !1)), + (r += ':'), + (r += n(d.substr(c + 1), !1))), + (r += '@'); + } + -1 === (c = (o = o.toLowerCase()).indexOf(':')) + ? (r += n(o, !1)) + : ((r += n(o.substr(0, c), !1)), (r += o.substr(c))); + } + if (s) { + if (s.length >= 3 && 47 === s.charCodeAt(0) && 58 === s.charCodeAt(2)) + (p = s.charCodeAt(1)) >= 65 && + p <= 90 && + (s = '/' + String.fromCharCode(p + 32) + ':' + s.substr(3)); + else if (s.length >= 2 && 58 === s.charCodeAt(1)) { + var p; + (p = s.charCodeAt(0)) >= 65 && + p <= 90 && + (s = String.fromCharCode(p + 32) + ':' + s.substr(2)); + } + r += n(s, !0); + } + return ( + a && ((r += '?'), (r += n(a, !1))), + l && ((r += '#'), (r += t ? l : Or(l, !1))), + r + ); + } + function jr(e) { + try { + return decodeURIComponent(e); + } catch (t) { + return e.length > 3 ? e.substr(0, 3) + jr(e.substr(3)) : e; + } + } + var Vr = /(%[0-9A-Za-z][0-9A-Za-z])+/g; + function Br(e) { + return e.match(Vr) + ? e.replace(Vr, function (e) { + return jr(e); + }) + : e; + } + var $r = '/'.charCodeAt(0), + qr = '.'.charCodeAt(0); + function Kr(e) { + var t = e.lastIndexOf('/'); + return -1 !== t ? e.substr(0, t) : ''; + } + function Gr(e) { + for (var t = [], n = 0, r = e; n < r.length; n++) { + var i = r[n]; + 0 === i.length || + (1 === i.length && i.charCodeAt(0) === qr) || + (2 === i.length && i.charCodeAt(0) === qr && i.charCodeAt(1) === qr + ? t.pop() + : t.push(i)); + } + e.length > 1 && 0 === e[e.length - 1].length && t.push(''); + var o = t.join('/'); + return 0 === e[0].length && (o = '/' + o), o; + } + function Hr(e) { + for (var t = [], n = 1; n < arguments.length; n++) + t[n - 1] = arguments[n]; + for ( + var r = Pr.parse(e), i = r.path.split('/'), o = 0, s = t; + o < s.length; + o++ + ) { + var a = s[o]; + i.push.apply(i, a.split('/')); + } + return r.with({ path: Gr(i) }).toString(); + } + var Jr = function (e, t, n, r) { + return new (n || (n = Promise))(function (i, o) { + function s(e) { + try { + l(r.next(e)); + } catch (e) { + o(e); + } + } + function a(e) { + try { + l(r.throw(e)); + } catch (e) { + o(e); + } + } + function l(e) { + var t; + e.done + ? i(e.value) + : ((t = e.value), + t instanceof n + ? t + : new n(function (e) { + e(t); + })).then(s, a); + } + l((r = r.apply(e, t || [])).next()); + }); + }, + Yr = function (e, t) { + var n, + r, + i, + o, + s = { + label: 0, + sent: function () { + if (1 & i[0]) throw i[1]; + return i[1]; + }, + trys: [], + ops: [], + }; + return ( + (o = { next: a(0), throw: a(1), return: a(2) }), + 'function' == typeof Symbol && + (o[Symbol.iterator] = function () { + return this; + }), + o + ); + function a(o) { + return function (a) { + return (function (o) { + if (n) throw new TypeError('Generator is already executing.'); + for (; s; ) + try { + if ( + ((n = 1), + r && + (i = + 2 & o[0] + ? r.return + : o[0] + ? r.throw || ((i = r.return) && i.call(r), 0) + : r.next) && + !(i = i.call(r, o[1])).done) + ) + return i; + switch (((r = 0), i && (o = [2 & o[0], i.value]), o[0])) { + case 0: + case 1: + i = o; + break; + case 4: + return s.label++, { value: o[1], done: !1 }; + case 5: + s.label++, (r = o[1]), (o = [0]); + continue; + case 7: + (o = s.ops.pop()), s.trys.pop(); + continue; + default: + if ( + !( + (i = (i = s.trys).length > 0 && i[i.length - 1]) || + (6 !== o[0] && 2 !== o[0]) + ) + ) { + s = 0; + continue; + } + if ( + 3 === o[0] && + (!i || (o[1] > i[0] && o[1] < i[3])) + ) { + s.label = o[1]; + break; + } + if (6 === o[0] && s.label < i[1]) { + (s.label = i[1]), (i = o); + break; + } + if (i && s.label < i[2]) { + (s.label = i[2]), s.ops.push(o); + break; + } + i[2] && s.ops.pop(), s.trys.pop(); + continue; + } + o = t.call(e, s); + } catch (e) { + (o = [6, e]), (r = 0); + } finally { + n = i = 0; + } + if (5 & o[0]) throw o[1]; + return { value: o[0] ? o[1] : void 0, done: !0 }; + })([o, a]); + }; + } + }, + Xr = (function () { + function e(e) { + (this.readDirectory = e), + (this.literalCompletions = []), + (this.importCompletions = []); + } + return ( + (e.prototype.onCssURILiteralValue = function (e) { + this.literalCompletions.push(e); + }), + (e.prototype.onCssImportPath = function (e) { + this.importCompletions.push(e); + }), + (e.prototype.computeCompletions = function (e, t) { + return Jr(this, void 0, void 0, function () { + var n, r, i, o, s, a, l, c, d, p, h, m, u, f, g, b, v; + return Yr(this, function (y) { + switch (y.label) { + case 0: + (n = { items: [], isIncomplete: !1 }), + (r = 0), + (i = this.literalCompletions), + (y.label = 1); + case 1: + return r < i.length + ? ((o = i[r]), + (s = o.uriValue), + '.' !== (u = Qr(s)) && '..' !== u + ? [3, 2] + : ((n.isIncomplete = !0), [3, 4])) + : [3, 5]; + case 2: + return [ + 4, + this.providePathSuggestions( + s, + o.position, + o.range, + e, + t + ), + ]; + case 3: + for (a = y.sent(), l = 0, c = a; l < c.length; l++) + (v = c[l]), n.items.push(v); + y.label = 4; + case 4: + return r++, [3, 1]; + case 5: + (d = 0), (p = this.importCompletions), (y.label = 6); + case 6: + return d < p.length + ? ((h = p[d]), + (m = h.pathValue), + '.' !== (u = Qr(m)) && '..' !== u + ? [3, 7] + : ((n.isIncomplete = !0), [3, 9])) + : [3, 10]; + case 7: + return [ + 4, + this.providePathSuggestions( + m, + h.position, + h.range, + e, + t + ), + ]; + case 8: + for ( + f = y.sent(), + 'scss' === e.languageId && + f.forEach(function (e) { + Z(e.label, '_') && + Q(e.label, '.scss') && + (e.textEdit + ? (e.textEdit.newText = e.label.slice(1, -5)) + : (e.label = e.label.slice(1, -5))); + }), + g = 0, + b = f; + g < b.length; + g++ + ) + (v = b[g]), n.items.push(v); + y.label = 9; + case 9: + return d++, [3, 6]; + case 10: + return [2, n]; + } + }); + }); + }), + (e.prototype.providePathSuggestions = function (e, t, n, r, i) { + return Jr(this, void 0, void 0, function () { + var o, s, a, l, c, d, p, h, m, u, f, g, b, v, y; + return Yr(this, function (w) { + switch (w.label) { + case 0: + if ( + ((o = Qr(e)), + (s = Z(e, "'") || Z(e, '"')), + (a = s + ? o.slice(0, t.character - (n.start.character + 1)) + : o.slice(0, t.character - n.start.character)), + (l = r.uri), + (c = s + ? (function (e, t, n) { + var r = ni(e.start, 1), + i = ni(e.end, -1); + return cn.create(r, i); + })(n) + : n), + (d = (function (e, t, n) { + var r, + i = e.lastIndexOf('/'); + if (-1 === i) r = n; + else { + var o, + s = t.slice(i + 1), + a = ni(n.end, -s.length), + l = s.indexOf(' '); + (o = -1 !== l ? ni(a, l) : n.end), + (r = cn.create(a, o)); + } + return r; + })(a, o, c)), + (p = a.substring(0, a.lastIndexOf('/') + 1)), + !(h = i.resolveReference(p || '.', l))) + ) + return [3, 4]; + w.label = 1; + case 1: + return ( + w.trys.push([1, 3, , 4]), + (m = []), + [4, this.readDirectory(h)] + ); + case 2: + for (u = w.sent(), f = 0, g = u; f < g.length; f++) + (b = g[f]), + (v = b[0]), + (y = b[1]), + v.charCodeAt(0) === Zr || + (y !== br.Directory && Hr(h, v) === l) || + m.push(ei(v, y === br.Directory, d)); + return [2, m]; + case 3: + return w.sent(), [3, 4]; + case 4: + return [2, []]; + } + }); + }); + }), + e + ); + })(), + Zr = '.'.charCodeAt(0); + function Qr(e) { + return Z(e, "'") || Z(e, '"') ? e.slice(1, -1) : e; + } + function ei(e, t, n) { + return t + ? { + label: ti((e += '/')), + kind: jn.Folder, + textEdit: kn.replace(n, ti(e)), + command: { + title: 'Suggest', + command: 'editor.action.triggerSuggest', + }, + } + : { label: ti(e), kind: jn.File, textEdit: kn.replace(n, ti(e)) }; + } + function ti(e) { + return e.replace(/(\s|\(|\)|,|"|')/g, '\\$1'); + } + function ni(e, t) { + return ln.create(e.line, e.character + t); + } + var ri, + ii = Ct(), + oi = Vn.Snippet; + !(function (e) { + (e.Enums = ' '), + (e.Normal = 'd'), + (e.VendorPrefixed = 'x'), + (e.Term = 'y'), + (e.Variable = 'z'); + })(ri || (ri = {})); + var si = (function () { + function e(e, t, n) { + void 0 === e && (e = null), + (this.variablePrefix = e), + (this.lsOptions = t), + (this.cssDataManager = n), + (this.completionParticipants = []); + } + return ( + (e.prototype.configure = function (e) { + this.settings = e; + }), + (e.prototype.getSymbolContext = function () { + return ( + this.symbolContext || + (this.symbolContext = new Nn(this.styleSheet)), + this.symbolContext + ); + }), + (e.prototype.setCompletionParticipants = function (e) { + this.completionParticipants = e || []; + }), + (e.prototype.doComplete2 = function (e, t, n, r) { + return ( + (i = this), + (o = void 0), + (a = function () { + var i, o, s, a; + return (function (e, t) { + var n, + r, + i, + o, + s = { + label: 0, + sent: function () { + if (1 & i[0]) throw i[1]; + return i[1]; + }, + trys: [], + ops: [], + }; + return ( + (o = { next: a(0), throw: a(1), return: a(2) }), + 'function' == typeof Symbol && + (o[Symbol.iterator] = function () { + return this; + }), + o + ); + function a(o) { + return function (a) { + return (function (o) { + if (n) + throw new TypeError( + 'Generator is already executing.' + ); + for (; s; ) + try { + if ( + ((n = 1), + r && + (i = + 2 & o[0] + ? r.return + : o[0] + ? r.throw || + ((i = r.return) && i.call(r), 0) + : r.next) && + !(i = i.call(r, o[1])).done) + ) + return i; + switch ( + ((r = 0), i && (o = [2 & o[0], i.value]), o[0]) + ) { + case 0: + case 1: + i = o; + break; + case 4: + return s.label++, { value: o[1], done: !1 }; + case 5: + s.label++, (r = o[1]), (o = [0]); + continue; + case 7: + (o = s.ops.pop()), s.trys.pop(); + continue; + default: + if ( + !( + (i = + (i = s.trys).length > 0 && + i[i.length - 1]) || + (6 !== o[0] && 2 !== o[0]) + ) + ) { + s = 0; + continue; + } + if ( + 3 === o[0] && + (!i || (o[1] > i[0] && o[1] < i[3])) + ) { + s.label = o[1]; + break; + } + if (6 === o[0] && s.label < i[1]) { + (s.label = i[1]), (i = o); + break; + } + if (i && s.label < i[2]) { + (s.label = i[2]), s.ops.push(o); + break; + } + i[2] && s.ops.pop(), s.trys.pop(); + continue; + } + o = t.call(e, s); + } catch (e) { + (o = [6, e]), (r = 0); + } finally { + n = i = 0; + } + if (5 & o[0]) throw o[1]; + return { value: o[0] ? o[1] : void 0, done: !0 }; + })([o, a]); + }; + } + })(this, function (l) { + switch (l.label) { + case 0: + if ( + !this.lsOptions.fileSystemProvider || + !this.lsOptions.fileSystemProvider.readDirectory + ) + return [2, this.doComplete(e, t, n)]; + (i = new Xr( + this.lsOptions.fileSystemProvider.readDirectory + )), + (o = this.completionParticipants), + (this.completionParticipants = [i].concat(o)), + (s = this.doComplete(e, t, n)), + (l.label = 1); + case 1: + return ( + l.trys.push([1, , 3, 4]), + [4, i.computeCompletions(e, r)] + ); + case 2: + return ( + (a = l.sent()), + [ + 2, + { + isIncomplete: s.isIncomplete || a.isIncomplete, + items: a.items.concat(s.items), + }, + ] + ); + case 3: + return (this.completionParticipants = o), [7]; + case 4: + return [2]; + } + }); + }), + new ((s = void 0) || (s = Promise))(function (e, t) { + function n(e) { + try { + l(a.next(e)); + } catch (e) { + t(e); + } + } + function r(e) { + try { + l(a.throw(e)); + } catch (e) { + t(e); + } + } + function l(t) { + var i; + t.done + ? e(t.value) + : ((i = t.value), + i instanceof s + ? i + : new s(function (e) { + e(i); + })).then(n, r); + } + l((a = a.apply(i, o || [])).next()); + }) + ); + var i, o, s, a; + }), + (e.prototype.doComplete = function (e, t, n) { + (this.offset = e.offsetAt(t)), + (this.position = t), + (this.currentWord = (function (e, t) { + for ( + var n = t - 1, r = e.getText(); + n >= 0 && -1 === ' \t\n\r":{[()]},*>+'.indexOf(r.charAt(n)); + + ) + n--; + return r.substring(n + 1, t); + })(e, this.offset)), + (this.defaultReplaceRange = cn.create( + ln.create( + this.position.line, + this.position.character - this.currentWord.length + ), + this.position + )), + (this.textDocument = e), + (this.styleSheet = n); + try { + var r = { isIncomplete: !1, items: [] }; + this.nodePath = ae(this.styleSheet, this.offset); + for (var i = this.nodePath.length - 1; i >= 0; i--) { + var o = this.nodePath[i]; + if (o instanceof ke) + this.getCompletionsForDeclarationProperty(o.getParent(), r); + else if (o instanceof Ze) + o.parent instanceof lt + ? this.getVariableProposals(null, r) + : this.getCompletionsForExpression(o, r); + else if (o instanceof be) { + var s = o.findAParent(ne.ExtendsReference, ne.Ruleset); + if (s) + if (s.type === ne.ExtendsReference) + this.getCompletionsForExtendsReference(s, o, r); + else { + var a = s; + this.getCompletionsForSelector(a, a && a.isNested(), r); + } + } else if (o instanceof ze) + this.getCompletionsForFunctionArgument(o, o.getParent(), r); + else if (o instanceof me) + this.getCompletionsForDeclarations(o, r); + else if (o instanceof at) + this.getCompletionsForVariableDeclaration(o, r); + else if (o instanceof fe) this.getCompletionsForRuleSet(o, r); + else if (o instanceof lt) + this.getCompletionsForInterpolation(o, r); + else if (o instanceof Me) + this.getCompletionsForFunctionDeclaration(o, r); + else if (o instanceof mt) + this.getCompletionsForMixinReference(o, r); + else if (o instanceof Ce) + this.getCompletionsForFunctionArgument(null, o, r); + else if (o instanceof qe) this.getCompletionsForSupports(o, r); + else if (o instanceof Je) + this.getCompletionsForSupportsCondition(o, r); + else if (o instanceof dt) + this.getCompletionsForExtendsReference(o, null, r); + else if (o.type === ne.URILiteral) + this.getCompletionForUriLiteralValue(o, r); + else if (null === o.parent) this.getCompletionForTopLevel(r); + else { + if ( + o.type !== ne.StringLiteral || + !this.isImportPathParent(o.parent.type) + ) + continue; + this.getCompletionForImportPath(o, r); + } + if (r.items.length > 0 || this.offset > o.offset) + return this.finalize(r); + } + return ( + this.getCompletionsForStylesheet(r), + 0 === r.items.length && + this.variablePrefix && + 0 === this.currentWord.indexOf(this.variablePrefix) && + this.getVariableProposals(null, r), + this.finalize(r) + ); + } finally { + (this.position = null), + (this.currentWord = null), + (this.textDocument = null), + (this.styleSheet = null), + (this.symbolContext = null), + (this.defaultReplaceRange = null), + (this.nodePath = null); + } + }), + (e.prototype.isImportPathParent = function (e) { + return e === ne.Import; + }), + (e.prototype.finalize = function (e) { + return e; + }), + (e.prototype.findInNodePath = function () { + for (var e = [], t = 0; t < arguments.length; t++) + e[t] = arguments[t]; + for (var n = this.nodePath.length - 1; n >= 0; n--) { + var r = this.nodePath[n]; + if (-1 !== e.indexOf(r.type)) return r; + } + return null; + }), + (e.prototype.getCompletionsForDeclarationProperty = function (e, t) { + return this.getPropertyProposals(e, t); + }), + (e.prototype.getPropertyProposals = function (e, t) { + var n = this, + r = this.isTriggerPropertyValueCompletionEnabled, + i = this.isCompletePropertyWithSemicolonEnabled; + return ( + this.cssDataManager.getProperties().forEach(function (o) { + var s, + a, + l = !1; + e + ? ((s = n.getCompletionRange(e.getProperty())), + (a = o.name), + rn(e.colonPosition) || ((a += ': '), (l = !0))) + : ((s = n.getCompletionRange(null)), + (a = o.name + ': '), + (l = !0)), + !e && i && (a += '$0;'), + e && + !e.semicolonPosition && + i && + n.offset >= n.textDocument.offsetAt(s.end) && + (a += '$0;'); + var c = { + label: o.name, + documentation: Rt(o, n.doesSupportMarkdown()), + tags: ai(o) ? [Bn.Deprecated] : [], + textEdit: kn.replace(s, a), + insertTextFormat: Vn.Snippet, + kind: jn.Property, + }; + o.restrictions || (l = !1), + r && + l && + (c.command = { + title: 'Suggest', + command: 'editor.action.triggerSuggest', + }); + var d = ( + 255 - + ('number' == typeof o.relevance + ? Math.min(Math.max(o.relevance, 0), 99) + : 50) + ).toString(16), + p = Z(o.name, '-') ? ri.VendorPrefixed : ri.Normal; + (c.sortText = p + '_' + d), t.items.push(c); + }), + this.completionParticipants.forEach(function (e) { + e.onCssProperty && + e.onCssProperty({ + propertyName: n.currentWord, + range: n.defaultReplaceRange, + }); + }), + t + ); + }), + Object.defineProperty( + e.prototype, + 'isTriggerPropertyValueCompletionEnabled', + { + get: function () { + return ( + !this.settings || + !this.settings.completion || + void 0 === + this.settings.completion.triggerPropertyValueCompletion || + this.settings.completion.triggerPropertyValueCompletion + ); + }, + enumerable: !0, + configurable: !0, + } + ), + Object.defineProperty( + e.prototype, + 'isCompletePropertyWithSemicolonEnabled', + { + get: function () { + return ( + !this.settings || + !this.settings.completion || + void 0 === + this.settings.completion.completePropertyWithSemicolon || + this.settings.completion.completePropertyWithSemicolon + ); + }, + enumerable: !0, + configurable: !0, + } + ), + (e.prototype.getCompletionsForDeclarationValue = function (e, t) { + for ( + var n = this, + r = e.getFullPropertyName(), + i = this.cssDataManager.getProperty(r), + o = e.getValue() || null; + o && o.hasChildren(); + + ) + o = o.findChildAtOffset(this.offset, !1); + if ( + (this.completionParticipants.forEach(function (e) { + e.onCssPropertyValue && + e.onCssPropertyValue({ + propertyName: r, + propertyValue: n.currentWord, + range: n.getCompletionRange(o), + }); + }), + i) + ) { + if (i.restrictions) + for (var s = 0, a = i.restrictions; s < a.length; s++) + switch (a[s]) { + case 'color': + this.getColorProposals(i, o, t); + break; + case 'position': + this.getPositionProposals(i, o, t); + break; + case 'repeat': + this.getRepeatStyleProposals(i, o, t); + break; + case 'line-style': + this.getLineStyleProposals(i, o, t); + break; + case 'line-width': + this.getLineWidthProposals(i, o, t); + break; + case 'geometry-box': + this.getGeometryBoxProposals(i, o, t); + break; + case 'box': + this.getBoxProposals(i, o, t); + break; + case 'image': + this.getImageProposals(i, o, t); + break; + case 'timing-function': + this.getTimingFunctionProposals(i, o, t); + break; + case 'shape': + this.getBasicShapeProposals(i, o, t); + } + this.getValueEnumProposals(i, o, t), + this.getCSSWideKeywordProposals(i, o, t), + this.getUnitProposals(i, o, t); + } else + for ( + var l = 0, + c = (function (e, t) { + var n = t.getFullPropertyName(), + r = new li(); + function i(e) { + return ( + (e instanceof pe || + e instanceof st || + e instanceof nt) && + r.add(e.getText()), + !0 + ); + } + return ( + e.accept(function (e) { + if ( + e instanceof Se && + e !== t && + (function (e) { + var t = e.getFullPropertyName(); + return n === t; + })(e) + ) { + var r = e.getValue(); + r && r.accept(i); + } + return !0; + }), + r + ); + })(this.styleSheet, e).getEntries(); + l < c.length; + l++ + ) { + var d = c[l]; + t.items.push({ + label: d, + textEdit: kn.replace(this.getCompletionRange(o), d), + kind: jn.Value, + }); + } + return ( + this.getVariableProposals(o, t), this.getTermProposals(i, o, t), t + ); + }), + (e.prototype.getValueEnumProposals = function (e, t, n) { + if (e.values) + for (var r = 0, i = e.values; r < i.length; r++) { + var o = i[r], + s = o.name, + a = void 0; + if (Q(s, ')')) { + var l = s.lastIndexOf('('); + -1 !== l && ((s = s.substr(0, l) + '($1)'), (a = oi)); + } + var c = ri.Enums; + Z(o.name, '-') && (c += ri.VendorPrefixed); + var d = { + label: o.name, + documentation: Rt(o, this.doesSupportMarkdown()), + tags: ai(e) ? [Bn.Deprecated] : [], + textEdit: kn.replace(this.getCompletionRange(t), s), + sortText: c, + kind: jn.Value, + insertTextFormat: a, + }; + n.items.push(d); + } + return n; + }), + (e.prototype.getCSSWideKeywordProposals = function (e, t, n) { + for (var r in Ht) + n.items.push({ + label: r, + documentation: Ht[r], + textEdit: kn.replace(this.getCompletionRange(t), r), + kind: jn.Value, + }); + return n; + }), + (e.prototype.getCompletionsForInterpolation = function (e, t) { + return ( + this.offset >= e.offset + 2 && this.getVariableProposals(null, t), + t + ); + }), + (e.prototype.getVariableProposals = function (e, t) { + for ( + var n = 0, + r = this.getSymbolContext().findSymbolsAtOffset( + this.offset, + re.Variable + ); + n < r.length; + n++ + ) { + var i = r[n], + o = Z(i.name, '--') ? 'var(' + i.name + ')' : i.name, + s = { + label: i.name, + documentation: i.value ? ee(i.value) : i.value, + textEdit: kn.replace(this.getCompletionRange(e), o), + kind: jn.Variable, + sortText: ri.Variable, + }; + if ( + ('string' == typeof s.documentation && + pi(s.documentation) && + (s.kind = jn.Color), + i.node.type === ne.FunctionParameter) + ) { + var a = i.node.getParent(); + a.type === ne.MixinDeclaration && + (s.detail = ii( + 'completion.argument', + "argument from '{0}'", + a.getName() + )); + } + t.items.push(s); + } + return t; + }), + (e.prototype.getVariableProposalsForCSSVarFunction = function (e) { + for ( + var t = this.getSymbolContext().findSymbolsAtOffset( + this.offset, + re.Variable + ), + n = 0, + r = (t = t.filter(function (e) { + return Z(e.name, '--'); + })); + n < r.length; + n++ + ) { + var i = r[n], + o = { + label: i.name, + documentation: i.value ? ee(i.value) : i.value, + textEdit: kn.replace(this.getCompletionRange(null), i.name), + kind: jn.Variable, + }; + 'string' == typeof o.documentation && + pi(o.documentation) && + (o.kind = jn.Color), + e.items.push(o); + } + return e; + }), + (e.prototype.getUnitProposals = function (e, t, n) { + var r = '0'; + if (this.currentWord.length > 0) { + var i = this.currentWord.match(/^-?\d[\.\d+]*/); + i && + ((r = i[0]), + (n.isIncomplete = r.length === this.currentWord.length)); + } else 0 === this.currentWord.length && (n.isIncomplete = !0); + if ( + (t && + t.parent && + t.parent.type === ne.Term && + (t = t.getParent()), + e.restrictions) + ) + for (var o = 0, s = e.restrictions; o < s.length; o++) { + var a = s[o], + l = Zt[a]; + if (l) + for (var c = 0, d = l; c < d.length; c++) { + var p = r + d[c]; + n.items.push({ + label: p, + textEdit: kn.replace(this.getCompletionRange(t), p), + kind: jn.Unit, + }); + } + } + return n; + }), + (e.prototype.getCompletionRange = function (e) { + if (e && e.offset <= this.offset && this.offset <= e.end) { + var t = + -1 !== e.end + ? this.textDocument.positionAt(e.end) + : this.position, + n = this.textDocument.positionAt(e.offset); + if (n.line === t.line) return cn.create(n, t); + } + return this.defaultReplaceRange; + }), + (e.prototype.getColorProposals = function (e, t, n) { + for (var r in Ot) + n.items.push({ + label: r, + documentation: Ot[r], + textEdit: kn.replace(this.getCompletionRange(t), r), + kind: jn.Color, + }); + for (var r in Wt) + n.items.push({ + label: r, + documentation: Wt[r], + textEdit: kn.replace(this.getCompletionRange(t), r), + kind: jn.Value, + }); + var i = new li(); + this.styleSheet.acceptVisitor(new di(i, this.offset)); + for (var o = 0, s = i.getEntries(); o < s.length; o++) + (r = s[o]), + n.items.push({ + label: r, + textEdit: kn.replace(this.getCompletionRange(t), r), + kind: jn.Color, + }); + for ( + var a = function (e) { + var r = 1, + i = e.func.replace(/\[?\$(\w+)\]?/g, function (e, t) { + return '${' + r++ + ':' + t + '}'; + }); + n.items.push({ + label: e.func.substr(0, e.func.indexOf('(')), + detail: e.func, + documentation: e.desc, + textEdit: kn.replace(l.getCompletionRange(t), i), + insertTextFormat: oi, + kind: jn.Function, + }); + }, + l = this, + c = 0, + d = At; + c < d.length; + c++ + ) + a(d[c]); + return n; + }), + (e.prototype.getPositionProposals = function (e, t, n) { + for (var r in Vt) + n.items.push({ + label: r, + documentation: Vt[r], + textEdit: kn.replace(this.getCompletionRange(t), r), + kind: jn.Value, + }); + return n; + }), + (e.prototype.getRepeatStyleProposals = function (e, t, n) { + for (var r in Bt) + n.items.push({ + label: r, + documentation: Bt[r], + textEdit: kn.replace(this.getCompletionRange(t), r), + kind: jn.Value, + }); + return n; + }), + (e.prototype.getLineStyleProposals = function (e, t, n) { + for (var r in $t) + n.items.push({ + label: r, + documentation: $t[r], + textEdit: kn.replace(this.getCompletionRange(t), r), + kind: jn.Value, + }); + return n; + }), + (e.prototype.getLineWidthProposals = function (e, t, n) { + for (var r = 0, i = qt; r < i.length; r++) { + var o = i[r]; + n.items.push({ + label: o, + textEdit: kn.replace(this.getCompletionRange(t), o), + kind: jn.Value, + }); + } + return n; + }), + (e.prototype.getGeometryBoxProposals = function (e, t, n) { + for (var r in Gt) + n.items.push({ + label: r, + documentation: Gt[r], + textEdit: kn.replace(this.getCompletionRange(t), r), + kind: jn.Value, + }); + return n; + }), + (e.prototype.getBoxProposals = function (e, t, n) { + for (var r in Kt) + n.items.push({ + label: r, + documentation: Kt[r], + textEdit: kn.replace(this.getCompletionRange(t), r), + kind: jn.Value, + }); + return n; + }), + (e.prototype.getImageProposals = function (e, t, n) { + for (var r in Jt) { + var i = ci(r); + n.items.push({ + label: r, + documentation: Jt[r], + textEdit: kn.replace(this.getCompletionRange(t), i), + kind: jn.Function, + insertTextFormat: r !== i ? oi : void 0, + }); + } + return n; + }), + (e.prototype.getTimingFunctionProposals = function (e, t, n) { + for (var r in Yt) { + var i = ci(r); + n.items.push({ + label: r, + documentation: Yt[r], + textEdit: kn.replace(this.getCompletionRange(t), i), + kind: jn.Function, + insertTextFormat: r !== i ? oi : void 0, + }); + } + return n; + }), + (e.prototype.getBasicShapeProposals = function (e, t, n) { + for (var r in Xt) { + var i = ci(r); + n.items.push({ + label: r, + documentation: Xt[r], + textEdit: kn.replace(this.getCompletionRange(t), i), + kind: jn.Function, + insertTextFormat: r !== i ? oi : void 0, + }); + } + return n; + }), + (e.prototype.getCompletionsForStylesheet = function (e) { + var t = this.styleSheet.findFirstChildBeforeOffset(this.offset); + return t + ? t instanceof fe + ? this.getCompletionsForRuleSet(t, e) + : t instanceof qe + ? this.getCompletionsForSupports(t, e) + : e + : this.getCompletionForTopLevel(e); + }), + (e.prototype.getCompletionForTopLevel = function (e) { + var t = this; + return ( + this.cssDataManager.getAtDirectives().forEach(function (n) { + e.items.push({ + label: n.name, + textEdit: kn.replace(t.getCompletionRange(null), n.name), + documentation: Rt(n, t.doesSupportMarkdown()), + tags: ai(n) ? [Bn.Deprecated] : [], + kind: jn.Keyword, + }); + }), + this.getCompletionsForSelector(null, !1, e), + e + ); + }), + (e.prototype.getCompletionsForRuleSet = function (e, t) { + var n = e.getDeclarations(); + return n && n.endsWith('}') && this.offset >= n.end + ? this.getCompletionForTopLevel(t) + : !n || this.offset <= n.offset + ? this.getCompletionsForSelector(e, e.isNested(), t) + : this.getCompletionsForDeclarations(e.getDeclarations(), t); + }), + (e.prototype.getCompletionsForSelector = function (e, t, n) { + var r = this, + i = this.findInNodePath( + ne.PseudoSelector, + ne.IdentifierSelector, + ne.ClassSelector, + ne.ElementNameSelector + ); + if ( + (!i && + this.offset - this.currentWord.length > 0 && + ':' === + this.textDocument.getText()[ + this.offset - this.currentWord.length - 1 + ] && + ((this.currentWord = ':' + this.currentWord), + (this.defaultReplaceRange = cn.create( + ln.create( + this.position.line, + this.position.character - this.currentWord.length + ), + this.position + ))), + this.cssDataManager.getPseudoClasses().forEach(function (e) { + var t = ci(e.name), + o = { + label: e.name, + textEdit: kn.replace(r.getCompletionRange(i), t), + documentation: Rt(e, r.doesSupportMarkdown()), + tags: ai(e) ? [Bn.Deprecated] : [], + kind: jn.Function, + insertTextFormat: e.name !== t ? oi : void 0, + }; + Z(e.name, ':-') && (o.sortText = ri.VendorPrefixed), + n.items.push(o); + }), + this.cssDataManager.getPseudoElements().forEach(function (e) { + var t = ci(e.name), + o = { + label: e.name, + textEdit: kn.replace(r.getCompletionRange(i), t), + documentation: Rt(e, r.doesSupportMarkdown()), + tags: ai(e) ? [Bn.Deprecated] : [], + kind: jn.Function, + insertTextFormat: e.name !== t ? oi : void 0, + }; + Z(e.name, '::-') && (o.sortText = ri.VendorPrefixed), + n.items.push(o); + }), + !t) + ) { + for (var o = 0, s = Qt; o < s.length; o++) { + var a = s[o]; + n.items.push({ + label: a, + textEdit: kn.replace(this.getCompletionRange(i), a), + kind: jn.Keyword, + }); + } + for (var l = 0, c = en; l < c.length; l++) + (a = c[l]), + n.items.push({ + label: a, + textEdit: kn.replace(this.getCompletionRange(i), a), + kind: jn.Keyword, + }); + } + var d = {}; + d[this.currentWord] = !0; + var p = this.textDocument.getText(); + if ( + (this.styleSheet.accept(function (e) { + if (e.type === ne.SimpleSelector && e.length > 0) { + var t = p.substr(e.offset, e.length); + return ( + '.' !== t.charAt(0) || + d[t] || + ((d[t] = !0), + n.items.push({ + label: t, + textEdit: kn.replace(r.getCompletionRange(i), t), + kind: jn.Keyword, + })), + !1 + ); + } + return !0; + }), + e && e.isNested()) + ) { + var h = e.getSelectors().findFirstChildBeforeOffset(this.offset); + h && + 0 === e.getSelectors().getChildren().indexOf(h) && + this.getPropertyProposals(null, n); + } + return n; + }), + (e.prototype.getCompletionsForDeclarations = function (e, t) { + if (!e || this.offset === e.offset) return t; + var n = e.findFirstChildBeforeOffset(this.offset); + if (!n) return this.getCompletionsForDeclarationProperty(null, t); + if (n instanceof ye) { + var r = n; + if (!rn(r.colonPosition) || this.offset <= r.colonPosition) + return this.getCompletionsForDeclarationProperty(r, t); + if (rn(r.semicolonPosition) && r.semicolonPosition < this.offset) + return this.offset === r.semicolonPosition + 1 + ? t + : this.getCompletionsForDeclarationProperty(null, t); + if (r instanceof Se) + return this.getCompletionsForDeclarationValue(r, t); + } else + n instanceof dt + ? this.getCompletionsForExtendsReference(n, null, t) + : ((this.currentWord && '@' === this.currentWord[0]) || + n instanceof fe) && + this.getCompletionsForDeclarationProperty(null, t); + return t; + }), + (e.prototype.getCompletionsForVariableDeclaration = function (e, t) { + return ( + this.offset && + rn(e.colonPosition) && + this.offset > e.colonPosition && + this.getVariableProposals(e.getValue(), t), + t + ); + }), + (e.prototype.getCompletionsForExpression = function (e, t) { + var n = e.getParent(); + if (n instanceof ze) + return ( + this.getCompletionsForFunctionArgument(n, n.getParent(), t), t + ); + var r = e.findParent(ne.Declaration); + if (!r) return this.getTermProposals(void 0, null, t), t; + var i = e.findChildAtOffset(this.offset, !0); + return i + ? i instanceof st || i instanceof pe + ? this.getCompletionsForDeclarationValue(r, t) + : t + : this.getCompletionsForDeclarationValue(r, t); + }), + (e.prototype.getCompletionsForFunctionArgument = function (e, t, n) { + var r = t.getIdentifier(); + return ( + r && + r.matches('var') && + ((t.getArguments().hasChildren() && + t.getArguments().getChild(0) !== e) || + this.getVariableProposalsForCSSVarFunction(n)), + n + ); + }), + (e.prototype.getCompletionsForFunctionDeclaration = function (e, t) { + var n = e.getDeclarations(); + return ( + n && + this.offset > n.offset && + this.offset < n.end && + this.getTermProposals(void 0, null, t), + t + ); + }), + (e.prototype.getCompletionsForMixinReference = function (e, t) { + for ( + var n = this, + r = 0, + i = this.getSymbolContext().findSymbolsAtOffset( + this.offset, + re.Mixin + ); + r < i.length; + r++ + ) { + var o = i[r]; + o.node instanceof ut && + t.items.push( + this.makeTermProposal(o, o.node.getParameters(), null) + ); + } + var s = e.getIdentifier() || null; + return ( + this.completionParticipants.forEach(function (e) { + e.onCssMixinReference && + e.onCssMixinReference({ + mixinName: n.currentWord, + range: n.getCompletionRange(s), + }); + }), + t + ); + }), + (e.prototype.getTermProposals = function (e, t, n) { + for ( + var r = 0, + i = this.getSymbolContext().findSymbolsAtOffset( + this.offset, + re.Function + ); + r < i.length; + r++ + ) { + var o = i[r]; + o.node instanceof Me && + n.items.push( + this.makeTermProposal(o, o.node.getParameters(), t) + ); + } + return n; + }), + (e.prototype.makeTermProposal = function (e, t, n) { + e.node; + var r = t.getChildren().map(function (e) { + return e instanceof Fe ? e.getName() : e.getText(); + }), + i = + e.name + + '(' + + r + .map(function (e, t) { + return '${' + (t + 1) + ':' + e + '}'; + }) + .join(', ') + + ')'; + return { + label: e.name, + detail: e.name + '(' + r.join(', ') + ')', + textEdit: kn.replace(this.getCompletionRange(n), i), + insertTextFormat: oi, + kind: jn.Function, + sortText: ri.Term, + }; + }), + (e.prototype.getCompletionsForSupportsCondition = function (e, t) { + var n = e.findFirstChildBeforeOffset(this.offset); + if (n) { + if (n instanceof Se) + return !rn(n.colonPosition) || this.offset <= n.colonPosition + ? this.getCompletionsForDeclarationProperty(n, t) + : this.getCompletionsForDeclarationValue(n, t); + if (n instanceof Je) + return this.getCompletionsForSupportsCondition(n, t); + } + return rn(e.lParent) && + this.offset > e.lParent && + (!rn(e.rParent) || this.offset <= e.rParent) + ? this.getCompletionsForDeclarationProperty(null, t) + : t; + }), + (e.prototype.getCompletionsForSupports = function (e, t) { + var n = e.getDeclarations(); + if (!n || this.offset <= n.offset) { + var r = e.findFirstChildBeforeOffset(this.offset); + return r instanceof Je + ? this.getCompletionsForSupportsCondition(r, t) + : t; + } + return this.getCompletionForTopLevel(t); + }), + (e.prototype.getCompletionsForExtendsReference = function (e, t, n) { + return n; + }), + (e.prototype.getCompletionForUriLiteralValue = function (e, t) { + var n, r, i; + if (e.hasChildren()) { + var o = e.getChild(0); + (n = o.getText()), + (r = this.position), + (i = this.getCompletionRange(o)); + } else { + (n = ''), (r = this.position); + var s = this.textDocument.positionAt(e.offset + 'url('.length); + i = cn.create(s, s); + } + return ( + this.completionParticipants.forEach(function (e) { + e.onCssURILiteralValue && + e.onCssURILiteralValue({ + uriValue: n, + position: r, + range: i, + }); + }), + t + ); + }), + (e.prototype.getCompletionForImportPath = function (e, t) { + var n = this; + return ( + this.completionParticipants.forEach(function (t) { + t.onCssImportPath && + t.onCssImportPath({ + pathValue: e.getText(), + position: n.position, + range: n.getCompletionRange(e), + }); + }), + t + ); + }), + (e.prototype.doesSupportMarkdown = function () { + var e, t, n; + if (!rn(this.supportsMarkdown)) { + if (!rn(this.lsOptions.clientCapabilities)) + return (this.supportsMarkdown = !0), this.supportsMarkdown; + var r = + null === + (n = + null === + (t = + null === + (e = this.lsOptions.clientCapabilities + .textDocument) || void 0 === e + ? void 0 + : e.completion) || void 0 === t + ? void 0 + : t.completionItem) || void 0 === n + ? void 0 + : n.documentationFormat; + this.supportsMarkdown = + Array.isArray(r) && -1 !== r.indexOf(Ln.Markdown); + } + return this.supportsMarkdown; + }), + e + ); + })(); + function ai(e) { + return !( + !e.status || + ('nonstandard' !== e.status && 'obsolete' !== e.status) + ); + } + var li = (function () { + function e() { + this.entries = {}; + } + return ( + (e.prototype.add = function (e) { + this.entries[e] = !0; + }), + (e.prototype.getEntries = function () { + return Object.keys(this.entries); + }), + e + ); + })(); + function ci(e) { + return e.replace(/\(\)$/, '($1)'); + } + var di = (function () { + function e(e, t) { + (this.entries = e), (this.currentOffset = t); + } + return ( + (e.prototype.visitNode = function (e) { + return ( + (e instanceof nt || + (e instanceof Ce && + (function (e) { + var t = e.getName(); + return !!t && /^(rgb|rgba|hsl|hsla)$/gi.test(t); + })(e))) && + (this.currentOffset < e.offset || e.end < this.currentOffset) && + this.entries.add(e.getText()), + !0 + ); + }), + e + ); + })(); + function pi(e) { + return ( + e.toLowerCase() in Ot || /(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(e) + ); + } + var hi, + mi = (function () { + var e = function (t, n) { + return (e = + Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && + function (e, t) { + e.__proto__ = t; + }) || + function (e, t) { + for (var n in t) t.hasOwnProperty(n) && (e[n] = t[n]); + })(t, n); + }; + return function (t, n) { + function r() { + this.constructor = t; + } + e(t, n), + (t.prototype = + null === n + ? Object.create(n) + : ((r.prototype = n.prototype), new r())); + }; + })(), + ui = Ct(), + fi = (function () { + function e() { + (this.parent = null), + (this.children = null), + (this.attributes = null); + } + return ( + (e.prototype.findAttribute = function (e) { + if (this.attributes) + for (var t = 0, n = this.attributes; t < n.length; t++) { + var r = n[t]; + if (r.name === e) return r.value; + } + return null; + }), + (e.prototype.addChild = function (t) { + t instanceof e && (t.parent = this), + this.children || (this.children = []), + this.children.push(t); + }), + (e.prototype.append = function (e) { + if (this.attributes) { + var t = this.attributes[this.attributes.length - 1]; + t.value = t.value + e; + } + }), + (e.prototype.prepend = function (e) { + if (this.attributes) { + var t = this.attributes[0]; + t.value = e + t.value; + } + }), + (e.prototype.findRoot = function () { + for (var e = this; e.parent && !(e.parent instanceof gi); ) + e = e.parent; + return e; + }), + (e.prototype.removeChild = function (e) { + if (this.children) { + var t = this.children.indexOf(e); + if (-1 !== t) return this.children.splice(t, 1), !0; + } + return !1; + }), + (e.prototype.addAttr = function (e, t) { + this.attributes || (this.attributes = []); + for (var n = 0, r = this.attributes; n < r.length; n++) { + var i = r[n]; + if (i.name === e) return void (i.value += ' ' + t); + } + this.attributes.push({ name: e, value: t }); + }), + (e.prototype.clone = function (t) { + void 0 === t && (t = !0); + var n = new e(); + if (this.attributes) { + n.attributes = []; + for (var r = 0, i = this.attributes; r < i.length; r++) { + var o = i[r]; + n.addAttr(o.name, o.value); + } + } + if (t && this.children) { + n.children = []; + for (var s = 0; s < this.children.length; s++) + n.addChild(this.children[s].clone()); + } + return n; + }), + (e.prototype.cloneWithParent = function () { + var e = this.clone(!1); + return ( + !this.parent || + this.parent instanceof gi || + this.parent.cloneWithParent().addChild(e), + e + ); + }), + e + ); + })(), + gi = (function (e) { + function t() { + return (null !== e && e.apply(this, arguments)) || this; + } + return mi(t, e), t; + })(fi), + bi = (function (e) { + function t(t) { + var n = e.call(this) || this; + return n.addAttr('name', t), n; + } + return mi(t, e), t; + })(fi), + vi = (function () { + function e(e) { + (this.quote = e), (this.result = []); + } + return ( + (e.prototype.print = function (e) { + return ( + (this.result = []), + e instanceof gi + ? e.children && this.doPrint(e.children, 0) + : this.doPrint([e], 0), + [{ language: 'html', value: this.result.join('\n') }] + ); + }), + (e.prototype.doPrint = function (e, t) { + for (var n = 0, r = e; n < r.length; n++) { + var i = r[n]; + this.doPrintElement(i, t), + i.children && this.doPrint(i.children, t + 1); + } + }), + (e.prototype.writeLine = function (e, t) { + var n = new Array(e + 1).join(' '); + this.result.push(n + t); + }), + (e.prototype.doPrintElement = function (e, t) { + var n = e.findAttribute('name'); + if (e instanceof bi || '…' === n) this.writeLine(t, n); + else { + var r = ['<']; + if ((n ? r.push(n) : r.push('element'), e.attributes)) + for (var i = 0, o = e.attributes; i < o.length; i++) { + var s = o[i]; + if ('name' !== s.name) { + r.push(' '), r.push(s.name); + var a = s.value; + a && (r.push('='), r.push(hi.ensure(a, this.quote))); + } + } + r.push('>'), this.writeLine(t, r.join('')); + } + }), + e + ); + })(); + !(function (e) { + function t(e) { + var t = e.match(/^['"](.*)["']$/); + return t ? t[1] : e; + } + (e.ensure = function (e, n) { + return n + t(e) + n; + }), + (e.remove = t); + })(hi || (hi = {})); + var yi = function () { + (this.id = 0), (this.attr = 0), (this.tag = 0); + }; + function wi(e, t) { + for (var n = new fi(), r = 0, i = e.getChildren(); r < i.length; r++) { + var o = i[r]; + switch (o.type) { + case ne.SelectorCombinator: + if (t) { + var s = o.getText().split('&'); + if (1 === s.length) { + n.addAttr('name', s[0]); + break; + } + (n = t.cloneWithParent()), s[0] && n.findRoot().prepend(s[0]); + for (var a = 1; a < s.length; a++) { + if (a > 1) { + var l = t.cloneWithParent(); + n.addChild(l.findRoot()), (n = l); + } + n.append(s[a]); + } + } + break; + case ne.SelectorPlaceholder: + if (o.matches('@at-root')) return n; + case ne.ElementNameSelector: + var c = o.getText(); + n.addAttr('name', '*' === c ? 'element' : xi(c)); + break; + case ne.ClassSelector: + n.addAttr('class', xi(o.getText().substring(1))); + break; + case ne.IdentifierSelector: + n.addAttr('id', xi(o.getText().substring(1))); + break; + case ne.MixinDeclaration: + n.addAttr('class', o.getName()); + break; + case ne.PseudoSelector: + n.addAttr(xi(o.getText()), ''); + break; + case ne.AttributeSelector: + var d = o, + p = d.getIdentifier(); + if (p) { + var h = d.getValue(), + m = d.getOperator(), + u = void 0; + if (h && m) + switch (xi(m.getText())) { + case '|=': + u = hi.remove(xi(h.getText())) + '-…'; + break; + case '^=': + u = hi.remove(xi(h.getText())) + '…'; + break; + case '$=': + u = '…' + hi.remove(xi(h.getText())); + break; + case '~=': + u = ' … ' + hi.remove(xi(h.getText())) + ' … '; + break; + case '*=': + u = '…' + hi.remove(xi(h.getText())) + '…'; + break; + default: + u = hi.remove(xi(h.getText())); + } + n.addAttr(xi(p.getText()), u); + } + } + } + return n; + } + function xi(e) { + var t = new X(); + t.setSource(e); + var n = t.scanUnquotedString(); + return n ? n.text : e; + } + var Si = (function () { + function e(e) { + this.cssDataManager = e; + } + return ( + (e.prototype.selectorToMarkedString = function (e) { + var t = (function (e) { + if (e.matches('@at-root')) return null; + var t = new gi(), + n = [], + r = e.getParent(); + if (r instanceof fe) + for (var i = r.getParent(); i && !Ci(i); ) { + if (i instanceof fe) { + if (i.getSelectors().matches('@at-root')) break; + n.push(i); + } + i = i.getParent(); + } + for (var o = new ki(t), s = n.length - 1; s >= 0; s--) { + var a = n[s].getSelectors().getChild(0); + a && o.processSelector(a); + } + return o.processSelector(e), t; + })(e); + if (t) { + var n = new vi('"').print(t); + return n.push(this.selectorToSpecificityMarkedString(e)), n; + } + return []; + }), + (e.prototype.simpleSelectorToMarkedString = function (e) { + var t = wi(e), + n = new vi('"').print(t); + return n.push(this.selectorToSpecificityMarkedString(e)), n; + }), + (e.prototype.isPseudoElementIdentifier = function (e) { + var t = e.match(/^::?([\w-]+)/); + return !!t && !!this.cssDataManager.getPseudoElement('::' + t[1]); + }), + (e.prototype.selectorToSpecificityMarkedString = function (e) { + var t = this, + n = function (e) { + for (var i = 0, o = e.getChildren(); i < o.length; i++) { + var s = o[i]; + switch (s.type) { + case ne.IdentifierSelector: + r.id++; + break; + case ne.ClassSelector: + case ne.AttributeSelector: + r.attr++; + break; + case ne.ElementNameSelector: + if (s.matches('*')) break; + r.tag++; + break; + case ne.PseudoSelector: + var a = s.getText(); + if (t.isPseudoElementIdentifier(a)) r.tag++; + else { + if (a.match(/^:not/i)) break; + r.attr++; + } + } + s.getChildren().length > 0 && n(s); + } + }, + r = new yi(); + return ( + n(e), + ui( + 'specificity', + '[Selector Specificity](https://developer.mozilla.org/en-US/docs/Web/CSS/Specificity): ({0}, {1}, {2})', + r.id, + r.attr, + r.tag + ) + ); + }), + e + ); + })(), + ki = (function () { + function e(e) { + (this.prev = null), (this.element = e); + } + return ( + (e.prototype.processSelector = function (e) { + var t = null; + if ( + !(this.element instanceof gi) && + e.getChildren().some(function (e) { + return ( + e.hasChildren() && + e.getChild(0).type === ne.SelectorCombinator + ); + }) + ) { + var n = this.element.findRoot(); + n.parent instanceof gi && + ((t = this.element), + (this.element = n.parent), + this.element.removeChild(n), + (this.prev = null)); + } + for (var r = 0, i = e.getChildren(); r < i.length; r++) { + var o = i[r]; + if (o instanceof be) { + if (this.prev instanceof be) { + var s = new bi('…'); + this.element.addChild(s), (this.element = s); + } else + this.prev && + (this.prev.matches('+') || this.prev.matches('~')) && + this.element.parent && + (this.element = this.element.parent); + this.prev && + this.prev.matches('~') && + (this.element.addChild(wi(o)), + this.element.addChild(new bi('⋮'))); + var a = wi(o, t), + l = a.findRoot(); + this.element.addChild(l), (this.element = a); + } + (o instanceof be || + o.type === ne.SelectorCombinatorParent || + o.type === ne.SelectorCombinatorShadowPiercingDescendant || + o.type === ne.SelectorCombinatorSibling || + o.type === ne.SelectorCombinatorAllSiblings) && + (this.prev = o); + } + }), + e + ); + })(); + function Ci(e) { + switch (e.type) { + case ne.MixinDeclaration: + case ne.Stylesheet: + return !0; + } + return !1; + } + !(function () { + function e(e, t) { + (this.clientCapabilities = e), + (this.cssDataManager = t), + (this.selectorPrinting = new Si(t)); + } + (e.prototype.doHover = function (e, t, n) { + function r(t) { + return cn.create(e.positionAt(t.offset), e.positionAt(t.end)); + } + for ( + var i = ae(n, e.offsetAt(t)), o = null, s = 0; + s < i.length; + s++ + ) { + var a = i[s]; + if (a instanceof ge) { + o = { + contents: this.selectorPrinting.selectorToMarkedString(a), + range: r(a), + }; + break; + } + if (a instanceof be) { + Z(a.getText(), '@') || + (o = { + contents: this.selectorPrinting.simpleSelectorToMarkedString( + a + ), + range: r(a), + }); + break; + } + if (a instanceof Se) { + var l = a.getFullPropertyName(); + (d = this.cssDataManager.getProperty(l)) && + (o = (p = Rt(d, this.doesSupportMarkdown())) + ? { contents: p, range: r(a) } + : null); + } else if (a instanceof ft) { + var c = a.getText(); + (d = this.cssDataManager.getAtDirective(c)) && + (o = (p = Rt(d, this.doesSupportMarkdown())) + ? { contents: p, range: r(a) } + : null); + } else if (a instanceof ce && a.type === ne.PseudoSelector) { + var d, + p, + h = a.getText(); + (d = + '::' === h.slice(0, 2) + ? this.cssDataManager.getPseudoElement(h) + : this.cssDataManager.getPseudoClass(h)) && + (o = (p = Rt(d, this.doesSupportMarkdown())) + ? { contents: p, range: r(a) } + : null); + } + } + return o && (o.contents = this.convertContents(o.contents)), o; + }), + (e.prototype.convertContents = function (e) { + return this.doesSupportMarkdown() || 'string' == typeof e + ? e + : 'kind' in e + ? { kind: 'plaintext', value: e.value } + : Array.isArray(e) + ? e.map(function (e) { + return 'string' == typeof e ? e : e.value; + }) + : e.value; + }), + (e.prototype.doesSupportMarkdown = function () { + if (!rn(this.supportsMarkdown)) { + if (!rn(this.clientCapabilities)) + return (this.supportsMarkdown = !0), this.supportsMarkdown; + var e = + this.clientCapabilities.textDocument && + this.clientCapabilities.textDocument.hover; + this.supportsMarkdown = + e && + e.contentFormat && + Array.isArray(e.contentFormat) && + -1 !== e.contentFormat.indexOf(Ln.Markdown); + } + return this.supportsMarkdown; + }); + })(); + var Fi = function (e, t, n, r) { + return new (n || (n = Promise))(function (i, o) { + function s(e) { + try { + l(r.next(e)); + } catch (e) { + o(e); + } + } + function a(e) { + try { + l(r.throw(e)); + } catch (e) { + o(e); + } + } + function l(e) { + var t; + e.done + ? i(e.value) + : ((t = e.value), + t instanceof n + ? t + : new n(function (e) { + e(t); + })).then(s, a); + } + l((r = r.apply(e, t || [])).next()); + }); + }, + zi = function (e, t) { + var n, + r, + i, + o, + s = { + label: 0, + sent: function () { + if (1 & i[0]) throw i[1]; + return i[1]; + }, + trys: [], + ops: [], + }; + return ( + (o = { next: a(0), throw: a(1), return: a(2) }), + 'function' == typeof Symbol && + (o[Symbol.iterator] = function () { + return this; + }), + o + ); + function a(o) { + return function (a) { + return (function (o) { + if (n) throw new TypeError('Generator is already executing.'); + for (; s; ) + try { + if ( + ((n = 1), + r && + (i = + 2 & o[0] + ? r.return + : o[0] + ? r.throw || ((i = r.return) && i.call(r), 0) + : r.next) && + !(i = i.call(r, o[1])).done) + ) + return i; + switch (((r = 0), i && (o = [2 & o[0], i.value]), o[0])) { + case 0: + case 1: + i = o; + break; + case 4: + return s.label++, { value: o[1], done: !1 }; + case 5: + s.label++, (r = o[1]), (o = [0]); + continue; + case 7: + (o = s.ops.pop()), s.trys.pop(); + continue; + default: + if ( + !( + (i = (i = s.trys).length > 0 && i[i.length - 1]) || + (6 !== o[0] && 2 !== o[0]) + ) + ) { + s = 0; + continue; + } + if ( + 3 === o[0] && + (!i || (o[1] > i[0] && o[1] < i[3])) + ) { + s.label = o[1]; + break; + } + if (6 === o[0] && s.label < i[1]) { + (s.label = i[1]), (i = o); + break; + } + if (i && s.label < i[2]) { + (s.label = i[2]), s.ops.push(o); + break; + } + i[2] && s.ops.pop(), s.trys.pop(); + continue; + } + o = t.call(e, s); + } catch (e) { + (o = [6, e]), (r = 0); + } finally { + n = i = 0; + } + if (5 & o[0]) throw o[1]; + return { value: o[0] ? o[1] : void 0, done: !0 }; + })([o, a]); + }; + } + }, + Ei = Ct(), + Di = (function () { + function e(e) { + this.fileSystemProvider = e; + } + return ( + (e.prototype.findDefinition = function (e, t, n) { + var r = new Nn(n), + i = se(n, e.offsetAt(t)); + if (!i) return null; + var o = r.findSymbolFromNode(i); + return o ? { uri: e.uri, range: Ti(o.node, e) } : null; + }), + (e.prototype.findReferences = function (e, t, n) { + return this.findDocumentHighlights(e, t, n).map(function (t) { + return { uri: e.uri, range: t.range }; + }); + }), + (e.prototype.findDocumentHighlights = function (e, t, n) { + var r = [], + i = se(n, e.offsetAt(t)); + if (!i || i.type === ne.Stylesheet || i.type === ne.Declarations) + return r; + i.type === ne.Identifier && + i.parent && + i.parent.type === ne.ClassSelector && + (i = i.parent); + var o = new Nn(n), + s = o.findSymbolFromNode(i), + a = i.getText(); + return ( + n.accept(function (t) { + if (s) { + if (o.matchesSymbol(t, s)) + return r.push({ kind: Ri(t), range: Ti(t, e) }), !1; + } else i && i.type === t.type && t.matches(a) && r.push({ kind: Ri(t), range: Ti(t, e) }); + return !0; + }), + r + ); + }), + (e.prototype.isRawStringDocumentLinkNode = function (e) { + return e.type === ne.Import; + }), + (e.prototype.findDocumentLinks = function (e, t, n) { + for ( + var r = this.findUnresolvedLinks(e, t), i = 0; + i < r.length; + i++ + ) { + var o = r[i].target; + if (o && !/^\w+:\/\//g.test(o)) { + var s = n.resolveReference(o, e.uri); + s && (r[i].target = s); + } + } + return r; + }), + (e.prototype.findDocumentLinks2 = function (e, t, n) { + return Fi(this, void 0, void 0, function () { + var r, i, o, s, a, l, c; + return zi(this, function (d) { + switch (d.label) { + case 0: + (r = this.findUnresolvedLinks(e, t)), + (i = []), + (o = 0), + (s = r), + (d.label = 1); + case 1: + return o < s.length + ? ((a = s[o]), + !(l = a.target) || /^\w+:\/\//g.test(l) + ? [3, 3] + : [4, this.resolveRelativeReference(l, e.uri, n)]) + : [3, 5]; + case 2: + return ( + void 0 !== (c = d.sent()) && + ((a.target = c), i.push(a)), + [3, 4] + ); + case 3: + i.push(a), (d.label = 4); + case 4: + return o++, [3, 1]; + case 5: + return [2, i]; + } + }); + }); + }), + (e.prototype.findUnresolvedLinks = function (e, t) { + var n = this, + r = [], + i = function (t) { + var n = t.getText(), + i = Ti(t, e); + (i.start.line === i.end.line && + i.start.character === i.end.character) || + ((Z(n, "'") || Z(n, '"')) && (n = n.slice(1, -1)), + r.push({ target: n, range: i })); + }; + return ( + t.accept(function (e) { + if (e.type === ne.URILiteral) { + var t = e.getChild(0); + return t && i(t), !1; + } + if (e.parent && n.isRawStringDocumentLinkNode(e.parent)) { + var r = e.getText(); + return (Z(r, "'") || Z(r, '"')) && i(e), !1; + } + return !0; + }), + r + ); + }), + (e.prototype.findDocumentSymbols = function (e, t) { + var n = []; + return ( + t.accept(function (t) { + var r = { name: null, kind: Qn.Class, location: null }, + i = t; + if (t instanceof ge) + return ( + (r.name = t.getText()), + (i = t.findAParent(ne.Ruleset, ne.ExtendsReference)) && + ((r.location = dn.create(e.uri, Ti(i, e))), n.push(r)), + !1 + ); + if (t instanceof at) + (r.name = t.getName()), (r.kind = Qn.Variable); + else if (t instanceof ut) + (r.name = t.getName()), (r.kind = Qn.Method); + else if (t instanceof Me) + (r.name = t.getName()), (r.kind = Qn.Function); + else if (t instanceof Ae) + r.name = Ei( + 'literal.keyframes', + '@keyframes {0}', + t.getName() + ); + else if (t instanceof _e) + r.name = Ei('literal.fontface', '@font-face'); + else if (t instanceof $e) { + var o = t.getChild(0); + o instanceof Ge && + ((r.name = '@media ' + o.getText()), + (r.kind = Qn.Module)); + } + return ( + r.name && + ((r.location = dn.create(e.uri, Ti(i, e))), n.push(r)), + !0 + ); + }), + n + ); + }), + (e.prototype.findDocumentColors = function (e, t) { + var n = []; + return ( + t.accept(function (t) { + var r = (function (e, t) { + var n = (function (e) { + if (e.type === ne.HexColorValue) return jt(e.getText()); + if (e.type === ne.Function) { + var t = e, + n = t.getName(), + r = t.getArguments().getChildren(); + if (!n || r.length < 3 || r.length > 4) return null; + try { + var i = 4 === r.length ? Lt(r[3], 1) : 1; + if ('rgb' === n || 'rgba' === n) + return { + red: Lt(r[0], 255), + green: Lt(r[1], 255), + blue: Lt(r[2], 255), + alpha: i, + }; + if ('hsl' === n || 'hsla' === n) + return (function (e, t, n, r) { + if ((void 0 === r && (r = 1), 0 === t)) + return { red: n, green: n, blue: n, alpha: r }; + var i = function (e, t, n) { + for (; n < 0; ) n += 6; + for (; n >= 6; ) n -= 6; + return n < 1 + ? (t - e) * n + e + : n < 3 + ? t + : n < 4 + ? (t - e) * (4 - n) + e + : e; + }, + o = n <= 0.5 ? n * (t + 1) : n + t - n * t, + s = 2 * n - o; + return { + red: i(s, o, 2 + (e /= 60)), + green: i(s, o, e), + blue: i(s, o, e - 2), + alpha: r, + }; + })( + (function (e) { + var t = e.getText(); + if (t.match(/^([-+]?[0-9]*\.?[0-9]+)(deg)?$/)) + return parseFloat(t) % 360; + throw new Error(); + })(r[0]), + Lt(r[1], 100), + Lt(r[2], 100), + i + ); + } catch (e) { + return null; + } + } else if (e.type === ne.Identifier) { + if (e.parent && e.parent.type !== ne.Term) return null; + var o = e.parent; + if ( + o && + o.parent && + o.parent.type === ne.BinaryExpression + ) { + var s = o.parent; + if ( + s.parent && + s.parent.type === ne.ListEntry && + s.parent.key === s + ) + return null; + } + var a = e.getText().toLowerCase(); + if ('none' === a) return null; + var l = Ot[a]; + if (l) return jt(l); + } + return null; + })(e); + return n ? { color: n, range: Ti(e, t) } : null; + })(t, e); + return r && n.push(r), !0; + }), + n + ); + }), + (e.prototype.getColorPresentations = function (e, t, n, r) { + var i, + o = [], + s = Math.round(255 * n.red), + a = Math.round(255 * n.green), + l = Math.round(255 * n.blue); + (i = + 1 === n.alpha + ? 'rgb(' + s + ', ' + a + ', ' + l + ')' + : 'rgba(' + s + ', ' + a + ', ' + l + ', ' + n.alpha + ')'), + o.push({ label: i, textEdit: kn.replace(r, i) }), + (i = + 1 === n.alpha + ? '#' + Ii(s) + Ii(a) + Ii(l) + : '#' + + Ii(s) + + Ii(a) + + Ii(l) + + Ii(Math.round(255 * n.alpha))), + o.push({ label: i, textEdit: kn.replace(r, i) }); + var c = (function (e) { + var t = e.red, + n = e.green, + r = e.blue, + i = e.alpha, + o = Math.max(t, n, r), + s = Math.min(t, n, r), + a = 0, + l = 0, + c = (s + o) / 2, + d = o - s; + if (d > 0) { + switch ( + ((l = Math.min( + c <= 0.5 ? d / (2 * c) : d / (2 - 2 * c), + 1 + )), + o) + ) { + case t: + a = (n - r) / d + (n < r ? 6 : 0); + break; + case n: + a = (r - t) / d + 2; + break; + case r: + a = (t - n) / d + 4; + } + (a *= 60), (a = Math.round(a)); + } + return { h: a, s: l, l: c, a: i }; + })(n); + return ( + (i = + 1 === c.a + ? 'hsl(' + + c.h + + ', ' + + Math.round(100 * c.s) + + '%, ' + + Math.round(100 * c.l) + + '%)' + : 'hsla(' + + c.h + + ', ' + + Math.round(100 * c.s) + + '%, ' + + Math.round(100 * c.l) + + '%, ' + + c.a + + ')'), + o.push({ label: i, textEdit: kn.replace(r, i) }), + o + ); + }), + (e.prototype.doRename = function (e, t, n, r) { + var i, + o = this.findDocumentHighlights(e, t, r).map(function (e) { + return kn.replace(e.range, n); + }); + return { changes: ((i = {}), (i[e.uri] = o), i) }; + }), + (e.prototype.resolveRelativeReference = function (e, t, n) { + return Fi(this, void 0, void 0, function () { + var r, i, o, s, a; + return zi(this, function (l) { + switch (l.label) { + case 0: + return '~' === e[0] && + '/' !== e[1] && + this.fileSystemProvider + ? ((e = e.substring(1)), + Z(t, 'file://') + ? ((r = + '@' === (c = e)[0] + ? c.substring( + 0, + c.indexOf('/', c.indexOf('/') + 1) + ) + : c.substring(0, c.indexOf('/'))), + (i = n.resolveReference('/', t)), + (o = Kr(t)), + [4, this.resolvePathToModule(r, o, i)]) + : [3, 2]) + : [3, 3]; + case 1: + if ((s = l.sent())) + return (a = e.substring(r.length + 1)), [2, Hr(s, a)]; + l.label = 2; + case 2: + case 3: + return [2, n.resolveReference(e, t)]; + } + var c; + }); + }); + }), + (e.prototype.resolvePathToModule = function (e, t, n) { + return Fi(this, void 0, void 0, function () { + var r; + return zi(this, function (i) { + switch (i.label) { + case 0: + return ( + (r = Hr(t, 'node_modules', e, 'package.json')), + [4, this.fileExists(r)] + ); + case 1: + return i.sent() + ? [2, Kr(r)] + : n && t.startsWith(n) && t.length !== n.length + ? [2, this.resolvePathToModule(e, Kr(t), n)] + : [2, void 0]; + } + }); + }); + }), + (e.prototype.fileExists = function (e) { + return Fi(this, void 0, void 0, function () { + var t; + return zi(this, function (n) { + switch (n.label) { + case 0: + if (!this.fileSystemProvider) return [2, !1]; + n.label = 1; + case 1: + return ( + n.trys.push([1, 3, , 4]), + [4, this.fileSystemProvider.stat(e)] + ); + case 2: + return (t = n.sent()).type === br.Unknown && -1 === t.size + ? [2, !1] + : [2, !0]; + case 3: + return n.sent(), [2, !1]; + case 4: + return [2]; + } + }); + }); + }), + e + ); + })(); + function Ti(e, t) { + return cn.create(t.positionAt(e.offset), t.positionAt(e.end)); + } + function Ri(e) { + if (e.type === ne.Selector) return Xn.Write; + if ( + e instanceof pe && + e.parent && + e.parent instanceof ke && + e.isCustomProperty + ) + return Xn.Write; + if (e.parent) + switch (e.parent.type) { + case ne.FunctionDeclaration: + case ne.MixinDeclaration: + case ne.Keyframe: + case ne.VariableDeclaration: + case ne.FunctionParameter: + return Xn.Write; + } + return Xn.Read; + } + function Ii(e) { + var t = e.toString(16); + return 2 !== t.length ? '0' + t : t; + } + var Mi = Ct(), + Pi = le.Warning, + _i = le.Error, + Ni = le.Ignore, + Ai = function (e, t, n) { + (this.id = e), (this.message = t), (this.defaultValue = n); + }, + Oi = { + AllVendorPrefixes: new Ai( + 'compatibleVendorPrefixes', + Mi( + 'rule.vendorprefixes.all', + 'When using a vendor-specific prefix make sure to also include all other vendor-specific properties' + ), + Ni + ), + IncludeStandardPropertyWhenUsingVendorPrefix: new Ai( + 'vendorPrefix', + Mi( + 'rule.standardvendorprefix.all', + 'When using a vendor-specific prefix also include the standard property' + ), + Pi + ), + DuplicateDeclarations: new Ai( + 'duplicateProperties', + Mi( + 'rule.duplicateDeclarations', + 'Do not use duplicate style definitions' + ), + Ni + ), + EmptyRuleSet: new Ai( + 'emptyRules', + Mi('rule.emptyRuleSets', 'Do not use empty rulesets'), + Pi + ), + ImportStatemement: new Ai( + 'importStatement', + Mi( + 'rule.importDirective', + 'Import statements do not load in parallel' + ), + Ni + ), + BewareOfBoxModelSize: new Ai( + 'boxModel', + Mi( + 'rule.bewareOfBoxModelSize', + 'Do not use width or height when using padding or border' + ), + Ni + ), + UniversalSelector: new Ai( + 'universalSelector', + Mi( + 'rule.universalSelector', + 'The universal selector (*) is known to be slow' + ), + Ni + ), + ZeroWithUnit: new Ai( + 'zeroUnits', + Mi('rule.zeroWidthUnit', 'No unit for zero needed'), + Ni + ), + RequiredPropertiesForFontFace: new Ai( + 'fontFaceProperties', + Mi( + 'rule.fontFaceProperties', + "@font-face rule must define 'src' and 'font-family' properties" + ), + Pi + ), + HexColorLength: new Ai( + 'hexColorLength', + Mi( + 'rule.hexColor', + 'Hex colors must consist of three, four, six or eight hex numbers' + ), + _i + ), + ArgsInColorFunction: new Ai( + 'argumentsInColorFunction', + Mi('rule.colorFunction', 'Invalid number of parameters'), + _i + ), + UnknownProperty: new Ai( + 'unknownProperties', + Mi('rule.unknownProperty', 'Unknown property.'), + Pi + ), + UnknownAtRules: new Ai( + 'unknownAtRules', + Mi('rule.unknownAtRules', 'Unknown at-rule.'), + Pi + ), + IEStarHack: new Ai( + 'ieHack', + Mi( + 'rule.ieHack', + 'IE hacks are only necessary when supporting IE7 and older' + ), + Ni + ), + UnknownVendorSpecificProperty: new Ai( + 'unknownVendorSpecificProperties', + Mi( + 'rule.unknownVendorSpecificProperty', + 'Unknown vendor specific property.' + ), + Ni + ), + PropertyIgnoredDueToDisplay: new Ai( + 'propertyIgnoredDueToDisplay', + Mi( + 'rule.propertyIgnoredDueToDisplay', + 'Property is ignored due to the display.' + ), + Pi + ), + AvoidImportant: new Ai( + 'important', + Mi( + 'rule.avoidImportant', + 'Avoid using !important. It is an indication that the specificity of the entire CSS has gotten out of control and needs to be refactored.' + ), + Ni + ), + AvoidFloat: new Ai( + 'float', + Mi( + 'rule.avoidFloat', + "Avoid using 'float'. Floats lead to fragile CSS that is easy to break if one aspect of the layout changes." + ), + Ni + ), + AvoidIdSelector: new Ai( + 'idSelector', + Mi( + 'rule.avoidIdSelector', + 'Selectors should not contain IDs because these rules are too tightly coupled with the HTML.' + ), + Ni + ), + }, + Wi = { + ValidProperties: new (function (e, t, n) { + (this.id = e), (this.message = t), (this.defaultValue = n); + })( + 'validProperties', + Mi( + 'rule.validProperties', + 'A list of properties that are not validated against the `unknownProperties` rule.' + ), + [] + ), + }, + Li = (function () { + function e(e) { + void 0 === e && (e = {}), (this.conf = e); + } + return ( + (e.prototype.getRule = function (e) { + if (this.conf.hasOwnProperty(e.id)) { + var t = (function (e) { + switch (e) { + case 'ignore': + return le.Ignore; + case 'warning': + return le.Warning; + case 'error': + return le.Error; + } + return null; + })(this.conf[e.id]); + if (t) return t; + } + return e.defaultValue; + }), + (e.prototype.getSetting = function (e) { + return this.conf[e.id]; + }), + e + ); + })(), + Ui = Ct(), + ji = + ((function () { + function e(e) { + this.cssDataManager = e; + } + (e.prototype.doCodeActions = function (e, t, n, r) { + return this.doCodeActions2(e, t, n, r).map(function (t) { + var n = + t.edit && t.edit.documentChanges && t.edit.documentChanges[0]; + return Sn.create( + t.title, + '_css.applyCodeAction', + e.uri, + e.version, + n && n.edits + ); + }); + }), + (e.prototype.doCodeActions2 = function (e, t, n, r) { + var i = []; + if (n.diagnostics) + for (var o = 0, s = n.diagnostics; o < s.length; o++) { + var a = s[o]; + this.appendFixesForMarker(e, r, a, i); + } + return i; + }), + (e.prototype.getFixesForUnknownProperty = function (e, t, n, r) { + var i = t.getName(), + o = []; + this.cssDataManager.getProperties().forEach(function (e) { + var t = (function (e, t, n) { + void 0 === n && (n = 4); + var r = Math.abs(e.length - t.length); + if (r > n) return 0; + var i, + o, + s = [], + a = []; + for (i = 0; i < t.length + 1; ++i) a.push(0); + for (i = 0; i < e.length + 1; ++i) s.push(a); + for (i = 1; i < e.length + 1; ++i) + for (o = 1; o < t.length + 1; ++o) + e[i - 1] === t[o - 1] + ? (s[i][o] = s[i - 1][o - 1] + 1) + : (s[i][o] = Math.max(s[i - 1][o], s[i][o - 1])); + return s[e.length][t.length] - Math.sqrt(r); + })(i, e.name); + t >= i.length / 2 && o.push({ property: e.name, score: t }); + }), + o.sort(function (e, t) { + return ( + t.score - e.score || e.property.localeCompare(t.property) + ); + }); + for (var s = 3, a = 0, l = o; a < l.length; a++) { + var c = l[a].property, + d = Ui('css.codeaction.rename', "Rename to '{0}'", c), + p = kn.replace(n.range, c), + h = On.create(e.uri, e.version), + m = { documentChanges: [Cn.create(h, [p])] }, + u = or.create(d, m, rr.QuickFix); + if (((u.diagnostics = [n]), r.push(u), --s <= 0)) return; + } + }), + (e.prototype.appendFixesForMarker = function (e, t, n, r) { + if (n.code === Oi.UnknownProperty.id) + for ( + var i = e.offsetAt(n.range.start), + o = e.offsetAt(n.range.end), + s = ae(t, i), + a = s.length - 1; + a >= 0; + a-- + ) { + var l = s[a]; + if (l instanceof Se) { + var c = l.getProperty(); + if (c && c.offset === i && c.end === o) + return void this.getFixesForUnknownProperty(e, c, n, r); + } + } + }); + })(), + function (e) { + (this.fullPropertyName = e.getFullPropertyName().toLowerCase()), + (this.node = e); + }); + function Vi(e, t, n, r) { + var i = e[t]; + (i.value = n), n && (sn(i.properties, r) || i.properties.push(r)); + } + function Bi(e, t, n, r) { + 'top' === t || 'right' === t || 'bottom' === t || 'left' === t + ? Vi(e, t, n, r) + : (function (e, t, n) { + Vi(e, 'top', t, n), + Vi(e, 'right', t, n), + Vi(e, 'bottom', t, n), + Vi(e, 'left', t, n); + })(e, n, r); + } + function $i(e, t, n) { + switch (t.length) { + case 1: + Bi(e, void 0, t[0], n); + break; + case 2: + Bi(e, 'top', t[0], n), + Bi(e, 'bottom', t[0], n), + Bi(e, 'right', t[1], n), + Bi(e, 'left', t[1], n); + break; + case 3: + Bi(e, 'top', t[0], n), + Bi(e, 'right', t[1], n), + Bi(e, 'left', t[1], n), + Bi(e, 'bottom', t[2], n); + break; + case 4: + Bi(e, 'top', t[0], n), + Bi(e, 'right', t[1], n), + Bi(e, 'bottom', t[2], n), + Bi(e, 'left', t[3], n); + } + } + function qi(e, t) { + for (var n = 0, r = t; n < r.length; n++) { + var i = r[n]; + if (e.matches(i)) return !0; + } + return !1; + } + function Ki(e, t) { + return ( + void 0 === t && (t = !0), + !((t && qi(e, ['initial', 'unset'])) || 0 === parseFloat(e.getText())) + ); + } + function Gi(e, t) { + return ( + void 0 === t && (t = !0), + e.map(function (e) { + return Ki(e, t); + }) + ); + } + function Hi(e, t) { + return ( + void 0 === t && (t = !0), + !(qi(e, ['none', 'hidden']) || (t && qi(e, ['initial', 'unset']))) + ); + } + function Ji(e, t) { + return ( + void 0 === t && (t = !0), + e.map(function (e) { + return Hi(e, t); + }) + ); + } + function Yi(e) { + var t = e.getChildren(); + if (1 === t.length) return Ki((i = t[0])) && Hi(i); + for (var n = 0, r = t; n < r.length; n++) { + var i; + if (!Ki((i = r[n]), !1) || !Hi(i, !1)) return !1; + } + return !0; + } + var Xi = Ct(), + Zi = (function () { + function e() { + this.data = {}; + } + return ( + (e.prototype.add = function (e, t, n) { + var r = this.data[e]; + r || ((r = { nodes: [], names: [] }), (this.data[e] = r)), + r.names.push(t), + n && r.nodes.push(n); + }), + e + ); + })(), + Qi = (function () { + function e(e, t, n) { + var r = this; + (this.cssDataManager = n), + (this.warnings = []), + (this.settings = t), + (this.documentText = e.getText()), + (this.keyframes = new Zi()), + (this.validProperties = {}); + var i = t.getSetting(Wi.ValidProperties); + Array.isArray(i) && + i.forEach(function (e) { + if ('string' == typeof e) { + var t = e.trim().toLowerCase(); + t.length && (r.validProperties[t] = !0); + } + }); + } + return ( + (e.entries = function (t, n, r, i, o) { + var s = new e(n, r, i); + return ( + t.acceptVisitor(s), s.completeValidations(), s.getEntries(o) + ); + }), + (e.prototype.isValidPropertyDeclaration = function (e) { + var t = e.fullPropertyName; + return this.validProperties[t]; + }), + (e.prototype.fetch = function (e, t) { + for (var n = [], r = 0, i = e; r < i.length; r++) { + var o = i[r]; + o.fullPropertyName === t && n.push(o); + } + return n; + }), + (e.prototype.fetchWithValue = function (e, t, n) { + for (var r = [], i = 0, o = e; i < o.length; i++) { + var s = o[i]; + if (s.fullPropertyName === t) { + var a = s.node.getValue(); + a && this.findValueInExpression(a, n) && r.push(s); + } + } + return r; + }), + (e.prototype.findValueInExpression = function (e, t) { + var n = !1; + return ( + e.accept(function (e) { + return ( + e.type === ne.Identifier && e.matches(t) && (n = !0), !n + ); + }), + n + ); + }), + (e.prototype.getEntries = function (e) { + return ( + void 0 === e && (e = le.Warning | le.Error), + this.warnings.filter(function (t) { + return 0 != (t.getLevel() & e); + }) + ); + }), + (e.prototype.addEntry = function (e, t, n) { + var r = new wt(e, t, this.settings.getRule(t), n); + this.warnings.push(r); + }), + (e.prototype.getMissingNames = function (e, t) { + for (var n = e.slice(0), r = 0; r < t.length; r++) { + var i = n.indexOf(t[r]); + -1 !== i && (n[i] = null); + } + var o = null; + for (r = 0; r < n.length; r++) { + var s = n[r]; + s && + (o = + null === o + ? Xi('namelist.single', "'{0}'", s) + : Xi('namelist.concatenated', "{0}, '{1}'", o, s)); + } + return o; + }), + (e.prototype.visitNode = function (e) { + switch (e.type) { + case ne.UnknownAtRule: + return this.visitUnknownAtRule(e); + case ne.Keyframe: + return this.visitKeyframe(e); + case ne.FontFace: + return this.visitFontFace(e); + case ne.Ruleset: + return this.visitRuleSet(e); + case ne.SimpleSelector: + return this.visitSimpleSelector(e); + case ne.Function: + return this.visitFunction(e); + case ne.NumericValue: + return this.visitNumericValue(e); + case ne.Import: + return this.visitImport(e); + case ne.HexColorValue: + return this.visitHexColorValue(e); + case ne.Prio: + return this.visitPrio(e); + } + return !0; + }), + (e.prototype.completeValidations = function () { + this.validateKeyframes(); + }), + (e.prototype.visitUnknownAtRule = function (e) { + var t = e.getChild(0); + return ( + !!t && + !this.cssDataManager.getAtDirective(t.getText()) && + (this.addEntry( + t, + Oi.UnknownAtRules, + 'Unknown at rule ' + t.getText() + ), + !0) + ); + }), + (e.prototype.visitKeyframe = function (e) { + var t = e.getKeyword(); + if (!t) return !1; + var n = t.getText(); + return ( + this.keyframes.add( + e.getName(), + n, + '@keyframes' !== n ? t : null + ), + !0 + ); + }), + (e.prototype.validateKeyframes = function () { + var e = [ + '@-webkit-keyframes', + '@-moz-keyframes', + '@-o-keyframes', + ]; + for (var t in this.keyframes.data) { + var n = this.keyframes.data[t].names, + r = -1 === n.indexOf('@keyframes'); + if (r || 1 !== n.length) { + var i = this.getMissingNames(e, n); + if (i || r) + for ( + var o = 0, s = this.keyframes.data[t].nodes; + o < s.length; + o++ + ) { + var a = s[o]; + if (r) { + var l = Xi( + 'keyframes.standardrule.missing', + "Always define standard rule '@keyframes' when defining keyframes." + ); + this.addEntry( + a, + Oi.IncludeStandardPropertyWhenUsingVendorPrefix, + l + ); + } + i && + ((l = Xi( + 'keyframes.vendorspecific.missing', + 'Always include all vendor specific rules: Missing: {0}', + i + )), + this.addEntry(a, Oi.AllVendorPrefixes, l)); + } + } + } + return !0; + }), + (e.prototype.visitSimpleSelector = function (e) { + var t = this.documentText.charAt(e.offset); + return ( + 1 === e.length && + '*' === t && + this.addEntry(e, Oi.UniversalSelector), + '#' === t && this.addEntry(e, Oi.AvoidIdSelector), + !0 + ); + }), + (e.prototype.visitImport = function (e) { + return this.addEntry(e, Oi.ImportStatemement), !0; + }), + (e.prototype.visitRuleSet = function (t) { + var n = t.getDeclarations(); + if (!n) return !1; + n.hasChildren() || + this.addEntry(t.getSelectors(), Oi.EmptyRuleSet); + for (var r = [], i = 0, o = n.getChildren(); i < o.length; i++) + (k = o[i]) instanceof Se && r.push(new ji(k)); + var s = (function (e) { + for ( + var t = { + top: { value: !1, properties: [] }, + right: { value: !1, properties: [] }, + bottom: { value: !1, properties: [] }, + left: { value: !1, properties: [] }, + }, + n = 0, + r = e; + n < r.length; + n++ + ) { + var i = r[n], + o = i.node.value; + if (void 0 !== o) + switch (i.fullPropertyName) { + case 'box-sizing': + return { + top: { value: !1, properties: [] }, + right: { value: !1, properties: [] }, + bottom: { value: !1, properties: [] }, + left: { value: !1, properties: [] }, + }; + case 'width': + t.width = i; + break; + case 'height': + t.height = i; + break; + default: + var s = i.fullPropertyName.split('-'); + switch (s[0]) { + case 'border': + switch (s[1]) { + case void 0: + case 'top': + case 'right': + case 'bottom': + case 'left': + switch (s[2]) { + case void 0: + Bi(t, s[1], Yi(o), i); + break; + case 'width': + Bi(t, s[1], Ki(o, !1), i); + break; + case 'style': + Bi(t, s[1], Hi(o, !0), i); + } + break; + case 'width': + $i(t, Gi(o.getChildren(), !1), i); + break; + case 'style': + $i(t, Ji(o.getChildren(), !0), i); + } + break; + case 'padding': + 1 === s.length + ? $i(t, Gi(o.getChildren(), !0), i) + : Bi(t, s[1], Ki(o, !0), i); + } + } + } + return t; + })(r); + if (s.width) { + var a = []; + if ( + (s.right.value && (a = an(a, s.right.properties)), + s.left.value && (a = an(a, s.left.properties)), + 0 !== a.length) + ) { + for (var l = 0, c = a; l < c.length; l++) { + var d = c[l]; + this.addEntry(d.node, Oi.BewareOfBoxModelSize); + } + this.addEntry(s.width.node, Oi.BewareOfBoxModelSize); + } + } + if ( + s.height && + ((a = []), + s.top.value && (a = an(a, s.top.properties)), + s.bottom.value && (a = an(a, s.bottom.properties)), + 0 !== a.length) + ) { + for (var p = 0, h = a; p < h.length; p++) + (d = h[p]), this.addEntry(d.node, Oi.BewareOfBoxModelSize); + this.addEntry(s.height.node, Oi.BewareOfBoxModelSize); + } + var m = this.fetchWithValue(r, 'display', 'inline'); + if (m.length > 0) + for ( + var u = 0, + f = [ + 'width', + 'height', + 'margin-top', + 'margin-bottom', + 'float', + ]; + u < f.length; + u++ + ) + for ( + var g = f[u], b = this.fetch(r, g), v = 0; + v < b.length; + v++ + ) { + var y = b[v].node, + w = y.getValue(); + ('float' !== g || (w && !w.matches('none'))) && + this.addEntry( + y, + Oi.PropertyIgnoredDueToDisplay, + Xi( + 'rule.propertyIgnoredDueToDisplayInline', + "Property is ignored due to the display. With 'display: inline', the width, height, margin-top, margin-bottom, and float properties have no effect." + ) + ); + } + if ( + (m = this.fetchWithValue(r, 'display', 'inline-block')).length > + 0 + ) + for (b = this.fetch(r, 'float'), v = 0; v < b.length; v++) { + var x = b[v].node; + (w = x.getValue()) && + !w.matches('none') && + this.addEntry( + x, + Oi.PropertyIgnoredDueToDisplay, + Xi( + 'rule.propertyIgnoredDueToDisplayInlineBlock', + "inline-block is ignored due to the float. If 'float' has a value other than 'none', the box is floated and 'display' is treated as 'block'" + ) + ); + } + if ((m = this.fetchWithValue(r, 'display', 'block')).length > 0) + for ( + b = this.fetch(r, 'vertical-align'), v = 0; + v < b.length; + v++ + ) + this.addEntry( + b[v].node, + Oi.PropertyIgnoredDueToDisplay, + Xi( + 'rule.propertyIgnoredDueToDisplayBlock', + "Property is ignored due to the display. With 'display: block', vertical-align should not be used." + ) + ); + var S = this.fetch(r, 'float'); + for (v = 0; v < S.length; v++) { + var k = S[v]; + this.isValidPropertyDeclaration(k) || + this.addEntry(k.node, Oi.AvoidFloat); + } + for (var C = 0; C < r.length; C++) + if ( + 'background' !== (k = r[C]).fullPropertyName && + !this.validProperties[k.fullPropertyName] && + (w = k.node.getValue()) && + '-' !== this.documentText.charAt(w.offset) + ) { + var F = this.fetch(r, k.fullPropertyName); + if (F.length > 1) + for (var z = 0; z < F.length; z++) { + var E = F[z].node.getValue(); + E && + '-' !== this.documentText.charAt(E.offset) && + F[z] !== k && + this.addEntry(k.node, Oi.DuplicateDeclarations); + } + } + if (!t.getSelectors().matches(':export')) { + for ( + var D = new Zi(), T = !1, R = 0, I = r; + R < I.length; + R++ + ) { + var M = (k = I[R]).node; + if (this.isCSSDeclaration(M)) { + var P = k.fullPropertyName, + _ = P.charAt(0); + if ('-' === _) { + if ('-' !== P.charAt(1)) { + this.cssDataManager.isKnownProperty(P) || + this.validProperties[P] || + this.addEntry( + M.getProperty(), + Oi.UnknownVendorSpecificProperty + ); + var N = M.getNonPrefixedPropertyName(); + D.add(N, P, M.getProperty()); + } + } else { + var A = P; + ('*' !== _ && '_' !== _) || + (this.addEntry(M.getProperty(), Oi.IEStarHack), + (P = P.substr(1))), + this.cssDataManager.isKnownProperty(A) || + this.cssDataManager.isKnownProperty(P) || + this.validProperties[P] || + this.addEntry( + M.getProperty(), + Oi.UnknownProperty, + Xi( + 'property.unknownproperty.detailed', + "Unknown property: '{0}'", + M.getFullPropertyName() + ) + ), + D.add(P, P, null); + } + } else T = !0; + } + if (!T) + for (var O in D.data) { + var W = D.data[O], + L = W.names, + U = + this.cssDataManager.isStandardProperty(O) && + -1 === L.indexOf(O); + if (U || 1 !== L.length) { + for ( + var j = [], V = ((C = 0), e.prefixes.length); + C < V; + C++ + ) { + var B = e.prefixes[C]; + this.cssDataManager.isStandardProperty(B + O) && + j.push(B + O); + } + var $ = this.getMissingNames(j, L); + if ($ || U) + for (var q = 0, K = W.nodes; q < K.length; q++) { + var G = K[q]; + if (U) { + var H = Xi( + 'property.standard.missing', + "Also define the standard property '{0}' for compatibility", + O + ); + this.addEntry( + G, + Oi.IncludeStandardPropertyWhenUsingVendorPrefix, + H + ); + } + $ && + ((H = Xi( + 'property.vendorspecific.missing', + 'Always include all vendor specific properties: Missing: {0}', + $ + )), + this.addEntry(G, Oi.AllVendorPrefixes, H)); + } + } + } + } + return !0; + }), + (e.prototype.visitPrio = function (e) { + return this.addEntry(e, Oi.AvoidImportant), !0; + }), + (e.prototype.visitNumericValue = function (e) { + var t = e.findParent(ne.Function); + if (t && 'calc' === t.getName()) return !0; + var n = e.findParent(ne.Declaration); + if (n && n.getValue()) { + var r = e.getValue(); + if (!r.unit || -1 === Zt.length.indexOf(r.unit.toLowerCase())) + return !0; + 0 === parseFloat(r.value) && + r.unit && + !this.validProperties[n.getFullPropertyName()] && + this.addEntry(e, Oi.ZeroWithUnit); + } + return !0; + }), + (e.prototype.visitFontFace = function (e) { + var t = e.getDeclarations(); + if (!t) return !1; + for ( + var n = !1, r = !1, i = !1, o = 0, s = t.getChildren(); + o < s.length; + o++ + ) { + var a = s[o]; + if (this.isCSSDeclaration(a)) { + var l = a.getProperty().getName().toLowerCase(); + 'src' === l && (n = !0), 'font-family' === l && (r = !0); + } else i = !0; + } + return ( + i || + (n && r) || + this.addEntry(e, Oi.RequiredPropertiesForFontFace), + !0 + ); + }), + (e.prototype.isCSSDeclaration = function (e) { + if (e instanceof Se) { + if (!e.getValue()) return !1; + var t = e.getProperty(); + if (!t) return !1; + var n = t.getIdentifier(); + return !(!n || n.containsInterpolation()); + } + return !1; + }), + (e.prototype.visitHexColorValue = function (e) { + var t = e.length; + return ( + 9 !== t && + 7 !== t && + 5 !== t && + 4 !== t && + this.addEntry(e, Oi.HexColorLength), + !1 + ); + }), + (e.prototype.visitFunction = function (e) { + var t = e.getName().toLowerCase(), + n = -1, + r = 0; + switch (t) { + case 'rgb(': + case 'hsl(': + n = 3; + break; + case 'rgba(': + case 'hsla(': + n = 4; + } + return ( + -1 !== n && + (e.getArguments().accept(function (e) { + return !(e instanceof Qe && ((r += 1), 1)); + }), + r !== n && this.addEntry(e, Oi.ArgsInColorFunction)), + !0 + ); + }), + (e.prefixes = ['-ms-', '-moz-', '-o-', '-webkit-']), + e + ); + })(), + eo = + ((function () { + function e(e) { + this.cssDataManager = e; + } + (e.prototype.configure = function (e) { + this.settings = e; + }), + (e.prototype.doValidation = function (e, t, n) { + if ( + (void 0 === n && (n = this.settings), n && !1 === n.validate) + ) + return []; + var r = []; + r.push.apply(r, xt.entries(t)), + r.push.apply( + r, + Qi.entries(t, e, new Li(n && n.lint), this.cssDataManager) + ); + var i = []; + for (var o in Oi) i.push(Oi[o].id); + return r + .filter(function (e) { + return e.getLevel() !== le.Ignore; + }) + .map(function (t) { + var n = cn.create( + e.positionAt(t.getOffset()), + e.positionAt(t.getOffset() + t.getLength()) + ), + r = e.languageId; + return { + code: t.getRule().id, + source: r, + message: t.getMessage(), + severity: + t.getLevel() === le.Warning ? vn.Warning : vn.Error, + range: n, + }; + }); + }); + })(), + (function () { + var e = function (t, n) { + return (e = + Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && + function (e, t) { + e.__proto__ = t; + }) || + function (e, t) { + for (var n in t) t.hasOwnProperty(n) && (e[n] = t[n]); + })(t, n); + }; + return function (t, n) { + function r() { + this.constructor = t; + } + e(t, n), + (t.prototype = + null === n + ? Object.create(n) + : ((r.prototype = n.prototype), new r())); + }; + })()), + to = '/'.charCodeAt(0), + no = '\n'.charCodeAt(0), + ro = '\r'.charCodeAt(0), + io = '\f'.charCodeAt(0), + oo = '$'.charCodeAt(0), + so = '#'.charCodeAt(0), + ao = '{'.charCodeAt(0), + lo = '='.charCodeAt(0), + co = '!'.charCodeAt(0), + po = '<'.charCodeAt(0), + ho = '>'.charCodeAt(0), + mo = '.'.charCodeAt(0), + uo = ('@'.charCodeAt(0), r.CustomToken), + fo = uo++, + go = uo++, + bo = (uo++, uo++), + vo = uo++, + yo = uo++, + wo = uo++, + xo = uo++, + So = + (uo++, + (function (e) { + function t() { + return (null !== e && e.apply(this, arguments)) || this; + } + return ( + eo(t, e), + (t.prototype.scanNext = function (t) { + if (this.stream.advanceIfChar(oo)) { + var n = ['$']; + if (this.ident(n)) return this.finishToken(t, fo, n.join('')); + this.stream.goBackTo(t); + } + return this.stream.advanceIfChars([so, ao]) + ? this.finishToken(t, go) + : this.stream.advanceIfChars([lo, lo]) + ? this.finishToken(t, bo) + : this.stream.advanceIfChars([co, lo]) + ? this.finishToken(t, vo) + : this.stream.advanceIfChar(po) + ? this.stream.advanceIfChar(lo) + ? this.finishToken(t, wo) + : this.finishToken(t, r.Delim) + : this.stream.advanceIfChar(ho) + ? this.stream.advanceIfChar(lo) + ? this.finishToken(t, yo) + : this.finishToken(t, r.Delim) + : this.stream.advanceIfChars([mo, mo, mo]) + ? this.finishToken(t, xo) + : e.prototype.scanNext.call(this, t); + }), + (t.prototype.comment = function () { + return ( + !!e.prototype.comment.call(this) || + (!(this.inURL || !this.stream.advanceIfChars([to, to])) && + (this.stream.advanceWhileChar(function (e) { + switch (e) { + case no: + case ro: + case io: + return !1; + default: + return !0; + } + }), + !0)) + ); + }), + t + ); + })(X)), + ko = Ct(), + Co = function (e, t) { + (this.id = e), (this.message = t); + }, + Fo = { + FromExpected: new Co( + 'scss-fromexpected', + ko('expected.from', "'from' expected") + ), + ThroughOrToExpected: new Co( + 'scss-throughexpected', + ko('expected.through', "'through' or 'to' expected") + ), + InExpected: new Co( + 'scss-fromexpected', + ko('expected.in', "'in' expected") + ), + }, + zo = (function () { + var e = function (t, n) { + return (e = + Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && + function (e, t) { + e.__proto__ = t; + }) || + function (e, t) { + for (var n in t) t.hasOwnProperty(n) && (e[n] = t[n]); + })(t, n); + }; + return function (t, n) { + function r() { + this.constructor = t; + } + e(t, n), + (t.prototype = + null === n + ? Object.create(n) + : ((r.prototype = n.prototype), new r())); + }; + })(), + Eo = + ((function (e) { + function t() { + return e.call(this, new So()) || this; + } + zo(t, e), + (t.prototype._parseStylesheetStatement = function (t) { + return ( + void 0 === t && (t = !1), + this.peek(r.AtKeyword) + ? this._parseWarnAndDebug() || + this._parseControlStatement() || + this._parseMixinDeclaration() || + this._parseMixinContent() || + this._parseMixinReference() || + this._parseFunctionDeclaration() || + this._parseForward() || + this._parseUse() || + this._parseRuleset(t) || + e.prototype._parseStylesheetAtStatement.call(this, t) + : this._parseRuleset(!0) || this._parseVariableDeclaration() + ); + }), + (t.prototype._parseImport = function () { + if (!this.peekKeyword('@import')) return null; + var e = this.create(We); + if ( + (this.consumeToken(), + !e.addChild(this._parseURILiteral()) && + !e.addChild(this._parseStringLiteral())) + ) + return this.finish(e, Et.URIOrStringExpected); + for (; this.accept(r.Comma); ) + if ( + !e.addChild(this._parseURILiteral()) && + !e.addChild(this._parseStringLiteral()) + ) + return this.finish(e, Et.URIOrStringExpected); + return ( + this.peek(r.SemiColon) || + this.peek(r.EOF) || + e.setMedialist(this._parseMediaQueryList()), + this.finish(e) + ); + }), + (t.prototype._parseVariableDeclaration = function (e) { + if ((void 0 === e && (e = []), !this.peek(fo))) return null; + var t = this.create(at); + if (!t.setVariable(this._parseVariable())) return null; + if (!this.accept(r.Colon)) + return this.finish(t, Et.ColonExpected); + if ( + (this.prevToken && (t.colonPosition = this.prevToken.offset), + !t.setValue(this._parseExpr())) + ) + return this.finish(t, Et.VariableValueExpected, [], e); + for (; this.peek(r.Exclamation); ) + if (t.addChild(this._tryParsePrio())); + else { + if ( + (this.consumeToken(), + !this.peekRegExp(r.Ident, /^(default|global)$/)) + ) + return this.finish(t, Et.UnknownKeyword); + this.consumeToken(); + } + return ( + this.peek(r.SemiColon) && + (t.semicolonPosition = this.token.offset), + this.finish(t) + ); + }), + (t.prototype._parseMediaContentStart = function () { + return this._parseInterpolation(); + }), + (t.prototype._parseMediaFeatureName = function () { + return ( + this._parseModuleMember() || + this._parseFunction() || + this._parseIdent() || + this._parseVariable() + ); + }), + (t.prototype._parseKeyframeSelector = function () { + return ( + this._tryParseKeyframeSelector() || + this._parseControlStatement( + this._parseKeyframeSelector.bind(this) + ) || + this._parseVariableDeclaration() || + this._parseMixinContent() + ); + }), + (t.prototype._parseVariable = function () { + if (!this.peek(fo)) return null; + var e = this.create(ct); + return this.consumeToken(), e; + }), + (t.prototype._parseModuleMember = function () { + var e = this.mark(), + t = this.create(yt); + return t.setIdentifier(this._parseIdent([re.Module])) + ? this.hasWhitespace() || + !this.acceptDelim('.') || + this.hasWhitespace() + ? (this.restoreAtMark(e), null) + : t.addChild(this._parseVariable() || this._parseFunction()) + ? t + : this.finish(t, Et.IdentifierOrVariableExpected) + : null; + }), + (t.prototype._parseIdent = function (e) { + var t = this; + if ( + !this.peek(r.Ident) && + !this.peek(go) && + !this.peekDelim('-') + ) + return null; + var n = this.create(pe); + (n.referenceTypes = e), + (n.isCustomProperty = this.peekRegExp(r.Ident, /^--/)); + for ( + var i, o = !1; + (this.accept(r.Ident) || + n.addChild( + (void 0, + (i = t.mark()), + t.acceptDelim('-') && + (t.hasWhitespace() || t.acceptDelim('-'), + t.hasWhitespace()) + ? (t.restoreAtMark(i), null) + : t._parseInterpolation()) + ) || + (o && this.acceptRegexp(/[\w-]/))) && + ((o = !0), !this.hasWhitespace()); + + ); + return o ? this.finish(n) : null; + }), + (t.prototype._parseTermExpression = function () { + return ( + this._parseModuleMember() || + this._parseVariable() || + this._parseSelectorCombinator() || + e.prototype._parseTermExpression.call(this) + ); + }), + (t.prototype._parseInterpolation = function () { + if (this.peek(go)) { + var e = this.create(lt); + return ( + this.consumeToken(), + e.addChild(this._parseExpr()) || + this._parseSelectorCombinator() + ? this.accept(r.CurlyR) + ? this.finish(e) + : this.finish(e, Et.RightCurlyExpected) + : this.accept(r.CurlyR) + ? this.finish(e) + : this.finish(e, Et.ExpressionExpected) + ); + } + return null; + }), + (t.prototype._parseOperator = function () { + if ( + this.peek(bo) || + this.peek(vo) || + this.peek(yo) || + this.peek(wo) || + this.peekDelim('>') || + this.peekDelim('<') || + this.peekIdent('and') || + this.peekIdent('or') || + this.peekDelim('%') + ) { + var t = this.createNode(ne.Operator); + return this.consumeToken(), this.finish(t); + } + return e.prototype._parseOperator.call(this); + }), + (t.prototype._parseUnaryOperator = function () { + if (this.peekIdent('not')) { + var t = this.create(ce); + return this.consumeToken(), this.finish(t); + } + return e.prototype._parseUnaryOperator.call(this); + }), + (t.prototype._parseRuleSetDeclaration = function () { + return this.peek(r.AtKeyword) + ? this._parseKeyframe() || + this._parseImport() || + this._parseMedia(!0) || + this._parseFontFace() || + this._parseWarnAndDebug() || + this._parseControlStatement() || + this._parseFunctionDeclaration() || + this._parseExtends() || + this._parseMixinReference() || + this._parseMixinContent() || + this._parseMixinDeclaration() || + this._parseRuleset(!0) || + this._parseSupports(!0) || + e.prototype._parseRuleSetDeclarationAtStatement.call(this) + : this._parseVariableDeclaration() || + this._tryParseRuleset(!0) || + e.prototype._parseRuleSetDeclaration.call(this); + }), + (t.prototype._parseDeclaration = function (e) { + var t = this.create(Se); + if (!t.setProperty(this._parseProperty())) return null; + if (!this.accept(r.Colon)) + return this.finish(t, Et.ColonExpected, [r.Colon], e); + this.prevToken && (t.colonPosition = this.prevToken.offset); + var n = !1; + if ( + (t.setValue(this._parseExpr()) && + ((n = !0), t.addChild(this._parsePrio())), + this.peek(r.CurlyL)) + ) + t.setNestedProperties(this._parseNestedProperties()); + else if (!n) return this.finish(t, Et.PropertyValueExpected); + return ( + this.peek(r.SemiColon) && + (t.semicolonPosition = this.token.offset), + this.finish(t) + ); + }), + (t.prototype._parseNestedProperties = function () { + var e = this.create(Ne); + return this._parseBody(e, this._parseDeclaration.bind(this)); + }), + (t.prototype._parseExtends = function () { + if (this.peekKeyword('@extend')) { + var e = this.create(dt); + if ( + (this.consumeToken(), + !e.getSelectors().addChild(this._parseSimpleSelector())) + ) + return this.finish(e, Et.SelectorExpected); + for (; this.accept(r.Comma); ) + e.getSelectors().addChild(this._parseSimpleSelector()); + return this.accept(r.Exclamation) && + !this.acceptIdent('optional') + ? this.finish(e, Et.UnknownKeyword) + : this.finish(e); + } + return null; + }), + (t.prototype._parseSimpleSelectorBody = function () { + return ( + this._parseSelectorCombinator() || + this._parseSelectorPlaceholder() || + e.prototype._parseSimpleSelectorBody.call(this) + ); + }), + (t.prototype._parseSelectorCombinator = function () { + if (this.peekDelim('&')) { + var e = this.createNode(ne.SelectorCombinator); + for ( + this.consumeToken(); + !this.hasWhitespace() && + (this.acceptDelim('-') || + this.accept(r.Num) || + this.accept(r.Dimension) || + e.addChild(this._parseIdent()) || + this.acceptDelim('&')); + + ); + return this.finish(e); + } + return null; + }), + (t.prototype._parseSelectorPlaceholder = function () { + if (this.peekDelim('%')) { + var e = this.createNode(ne.SelectorPlaceholder); + return ( + this.consumeToken(), this._parseIdent(), this.finish(e) + ); + } + return this.peekKeyword('@at-root') + ? ((e = this.createNode(ne.SelectorPlaceholder)), + this.consumeToken(), + this.finish(e)) + : null; + }), + (t.prototype._parseElementName = function () { + var t = this.mark(), + n = e.prototype._parseElementName.call(this); + return n && !this.hasWhitespace() && this.peek(r.ParenthesisL) + ? (this.restoreAtMark(t), null) + : n; + }), + (t.prototype._tryParsePseudoIdentifier = function () { + return ( + this._parseInterpolation() || + e.prototype._tryParsePseudoIdentifier.call(this) + ); + }), + (t.prototype._parseWarnAndDebug = function () { + if ( + !this.peekKeyword('@debug') && + !this.peekKeyword('@warn') && + !this.peekKeyword('@error') + ) + return null; + var e = this.createNode(ne.Debug); + return ( + this.consumeToken(), + e.addChild(this._parseExpr()), + this.finish(e) + ); + }), + (t.prototype._parseControlStatement = function (e) { + return ( + void 0 === e && + (e = this._parseRuleSetDeclaration.bind(this)), + this.peek(r.AtKeyword) + ? this._parseIfStatement(e) || + this._parseForStatement(e) || + this._parseEachStatement(e) || + this._parseWhileStatement(e) + : null + ); + }), + (t.prototype._parseIfStatement = function (e) { + return this.peekKeyword('@if') + ? this._internalParseIfStatement(e) + : null; + }), + (t.prototype._internalParseIfStatement = function (e) { + var t = this.create(Ee); + if ( + (this.consumeToken(), !t.setExpression(this._parseExpr(!0))) + ) + return this.finish(t, Et.ExpressionExpected); + if ((this._parseBody(t, e), this.acceptKeyword('@else'))) + if (this.peekIdent('if')) + t.setElseClause(this._internalParseIfStatement(e)); + else if (this.peek(r.CurlyL)) { + var n = this.create(Ie); + this._parseBody(n, e), t.setElseClause(n); + } + return this.finish(t); + }), + (t.prototype._parseForStatement = function (e) { + if (!this.peekKeyword('@for')) return null; + var t = this.create(De); + return ( + this.consumeToken(), + t.setVariable(this._parseVariable()) + ? this.acceptIdent('from') + ? t.addChild(this._parseBinaryExpr()) + ? this.acceptIdent('to') || this.acceptIdent('through') + ? t.addChild(this._parseBinaryExpr()) + ? this._parseBody(t, e) + : this.finish(t, Et.ExpressionExpected, [r.CurlyR]) + : this.finish(t, Fo.ThroughOrToExpected, [r.CurlyR]) + : this.finish(t, Et.ExpressionExpected, [r.CurlyR]) + : this.finish(t, Fo.FromExpected, [r.CurlyR]) + : this.finish(t, Et.VariableNameExpected, [r.CurlyR]) + ); + }), + (t.prototype._parseEachStatement = function (e) { + if (!this.peekKeyword('@each')) return null; + var t = this.create(Te); + this.consumeToken(); + var n = t.getVariables(); + if (!n.addChild(this._parseVariable())) + return this.finish(t, Et.VariableNameExpected, [r.CurlyR]); + for (; this.accept(r.Comma); ) + if (!n.addChild(this._parseVariable())) + return this.finish(t, Et.VariableNameExpected, [r.CurlyR]); + return ( + this.finish(n), + this.acceptIdent('in') + ? t.addChild(this._parseExpr()) + ? this._parseBody(t, e) + : this.finish(t, Et.ExpressionExpected, [r.CurlyR]) + : this.finish(t, Fo.InExpected, [r.CurlyR]) + ); + }), + (t.prototype._parseWhileStatement = function (e) { + if (!this.peekKeyword('@while')) return null; + var t = this.create(Re); + return ( + this.consumeToken(), + t.addChild(this._parseBinaryExpr()) + ? this._parseBody(t, e) + : this.finish(t, Et.ExpressionExpected, [r.CurlyR]) + ); + }), + (t.prototype._parseFunctionBodyDeclaration = function () { + return ( + this._parseVariableDeclaration() || + this._parseReturnStatement() || + this._parseWarnAndDebug() || + this._parseControlStatement( + this._parseFunctionBodyDeclaration.bind(this) + ) + ); + }), + (t.prototype._parseFunctionDeclaration = function () { + if (!this.peekKeyword('@function')) return null; + var e = this.create(Me); + if ( + (this.consumeToken(), + !e.setIdentifier(this._parseIdent([re.Function]))) + ) + return this.finish(e, Et.IdentifierExpected, [r.CurlyR]); + if (!this.accept(r.ParenthesisL)) + return this.finish(e, Et.LeftParenthesisExpected, [r.CurlyR]); + if ( + e.getParameters().addChild(this._parseParameterDeclaration()) + ) + for (; this.accept(r.Comma) && !this.peek(r.ParenthesisR); ) + if ( + !e + .getParameters() + .addChild(this._parseParameterDeclaration()) + ) + return this.finish(e, Et.VariableNameExpected); + return this.accept(r.ParenthesisR) + ? this._parseBody( + e, + this._parseFunctionBodyDeclaration.bind(this) + ) + : this.finish(e, Et.RightParenthesisExpected, [r.CurlyR]); + }), + (t.prototype._parseReturnStatement = function () { + if (!this.peekKeyword('@return')) return null; + var e = this.createNode(ne.ReturnStatement); + return ( + this.consumeToken(), + e.addChild(this._parseExpr()) + ? this.finish(e) + : this.finish(e, Et.ExpressionExpected) + ); + }), + (t.prototype._parseMixinDeclaration = function () { + if (!this.peekKeyword('@mixin')) return null; + var e = this.create(ut); + if ( + (this.consumeToken(), + !e.setIdentifier(this._parseIdent([re.Mixin]))) + ) + return this.finish(e, Et.IdentifierExpected, [r.CurlyR]); + if (this.accept(r.ParenthesisL)) { + if ( + e + .getParameters() + .addChild(this._parseParameterDeclaration()) + ) + for (; this.accept(r.Comma) && !this.peek(r.ParenthesisR); ) + if ( + !e + .getParameters() + .addChild(this._parseParameterDeclaration()) + ) + return this.finish(e, Et.VariableNameExpected); + if (!this.accept(r.ParenthesisR)) + return this.finish(e, Et.RightParenthesisExpected, [ + r.CurlyR, + ]); + } + return this._parseBody( + e, + this._parseRuleSetDeclaration.bind(this) + ); + }), + (t.prototype._parseParameterDeclaration = function () { + var e = this.create(Fe); + return e.setIdentifier(this._parseVariable()) + ? (this.accept(xo), + this.accept(r.Colon) && + !e.setDefaultValue(this._parseExpr(!0)) + ? this.finish( + e, + Et.VariableValueExpected, + [], + [r.Comma, r.ParenthesisR] + ) + : this.finish(e)) + : null; + }), + (t.prototype._parseMixinContent = function () { + if (!this.peekKeyword('@content')) return null; + var e = this.create(pt); + if ((this.consumeToken(), this.accept(r.ParenthesisL))) { + if (e.getArguments().addChild(this._parseFunctionArgument())) + for (; this.accept(r.Comma) && !this.peek(r.ParenthesisR); ) + if ( + !e + .getArguments() + .addChild(this._parseFunctionArgument()) + ) + return this.finish(e, Et.ExpressionExpected); + if (!this.accept(r.ParenthesisR)) + return this.finish(e, Et.RightParenthesisExpected); + } + return this.finish(e); + }), + (t.prototype._parseMixinReference = function () { + if (!this.peekKeyword('@include')) return null; + var e = this.create(mt); + this.consumeToken(); + var t = this._parseIdent([re.Mixin]); + if (!e.setIdentifier(t)) + return this.finish(e, Et.IdentifierExpected, [r.CurlyR]); + if ( + !this.hasWhitespace() && + this.acceptDelim('.') && + !this.hasWhitespace() + ) { + var n = this._parseIdent([re.Mixin]); + if (!n) + return this.finish(e, Et.IdentifierExpected, [r.CurlyR]); + var i = this.create(yt); + (t.referenceTypes = [re.Module]), + i.setIdentifier(t), + e.setIdentifier(n), + e.addChild(i); + } + if (this.accept(r.ParenthesisL)) { + if (e.getArguments().addChild(this._parseFunctionArgument())) + for (; this.accept(r.Comma) && !this.peek(r.ParenthesisR); ) + if ( + !e + .getArguments() + .addChild(this._parseFunctionArgument()) + ) + return this.finish(e, Et.ExpressionExpected); + if (!this.accept(r.ParenthesisR)) + return this.finish(e, Et.RightParenthesisExpected); + } + return ( + (this.peekIdent('using') || this.peek(r.CurlyL)) && + e.setContent(this._parseMixinContentDeclaration()), + this.finish(e) + ); + }), + (t.prototype._parseMixinContentDeclaration = function () { + var e = this.create(ht); + if (this.acceptIdent('using')) { + if (!this.accept(r.ParenthesisL)) + return this.finish(e, Et.LeftParenthesisExpected, [ + r.CurlyL, + ]); + if ( + e + .getParameters() + .addChild(this._parseParameterDeclaration()) + ) + for (; this.accept(r.Comma) && !this.peek(r.ParenthesisR); ) + if ( + !e + .getParameters() + .addChild(this._parseParameterDeclaration()) + ) + return this.finish(e, Et.VariableNameExpected); + if (!this.accept(r.ParenthesisR)) + return this.finish(e, Et.RightParenthesisExpected, [ + r.CurlyL, + ]); + } + return ( + this.peek(r.CurlyL) && + this._parseBody( + e, + this._parseMixinReferenceBodyStatement.bind(this) + ), + this.finish(e) + ); + }), + (t.prototype._parseMixinReferenceBodyStatement = function () { + return ( + this._tryParseKeyframeSelector() || + this._parseRuleSetDeclaration() + ); + }), + (t.prototype._parseFunctionArgument = function () { + var e = this.create(ze), + t = this.mark(), + n = this._parseVariable(); + if (n) + if (this.accept(r.Colon)) e.setIdentifier(n); + else { + if (this.accept(xo)) return e.setValue(n), this.finish(e); + this.restoreAtMark(t); + } + return e.setValue(this._parseExpr(!0)) + ? (this.accept(xo), + e.addChild(this._parsePrio()), + this.finish(e)) + : e.setValue(this._tryParsePrio()) + ? this.finish(e) + : null; + }), + (t.prototype._parseURLArgument = function () { + var t = this.mark(), + n = e.prototype._parseURLArgument.call(this); + if (!n || !this.peek(r.ParenthesisR)) { + this.restoreAtMark(t); + var i = this.create(ce); + return i.addChild(this._parseBinaryExpr()), this.finish(i); + } + return n; + }), + (t.prototype._parseOperation = function () { + if (!this.peek(r.ParenthesisL)) return null; + var e = this.create(ce); + for ( + this.consumeToken(); + e.addChild(this._parseListElement()); + + ) + this.accept(r.Comma); + return this.accept(r.ParenthesisR) + ? this.finish(e) + : this.finish(e, Et.RightParenthesisExpected); + }), + (t.prototype._parseListElement = function () { + var e = this.create(gt), + t = this._parseBinaryExpr(); + if (!t) return null; + if (this.accept(r.Colon)) { + if ((e.setKey(t), !e.setValue(this._parseBinaryExpr()))) + return this.finish(e, Et.ExpressionExpected); + } else e.setValue(t); + return this.finish(e); + }), + (t.prototype._parseUse = function () { + if (!this.peekKeyword('@use')) return null; + var e = this.create(Le); + if ( + (this.consumeToken(), !e.addChild(this._parseStringLiteral())) + ) + return this.finish(e, Et.StringLiteralExpected); + if (!this.peek(r.SemiColon) && !this.peek(r.EOF)) { + if (!this.peekRegExp(r.Ident, /as|with/)) + return this.finish(e, Et.UnknownKeyword); + if ( + this.acceptIdent('as') && + !e.setIdentifier(this._parseIdent([re.Module])) && + !this.acceptDelim('*') + ) + return this.finish(e, Et.IdentifierOrWildcardExpected); + if (this.acceptIdent('with')) { + if (!this.accept(r.ParenthesisL)) + return this.finish(e, Et.LeftParenthesisExpected, [ + r.ParenthesisR, + ]); + if ( + !e + .getParameters() + .addChild(this._parseModuleConfigDeclaration()) + ) + return this.finish(e, Et.VariableNameExpected); + for (; this.accept(r.Comma) && !this.peek(r.ParenthesisR); ) + if ( + !e + .getParameters() + .addChild(this._parseModuleConfigDeclaration()) + ) + return this.finish(e, Et.VariableNameExpected); + if (!this.accept(r.ParenthesisR)) + return this.finish(e, Et.RightParenthesisExpected); + } + } + return this.accept(r.SemiColon) || this.accept(r.EOF) + ? this.finish(e) + : this.finish(e, Et.SemiColonExpected); + }), + (t.prototype._parseModuleConfigDeclaration = function () { + var e = this.create(Ue); + return e.setIdentifier(this._parseVariable()) + ? this.accept(r.Colon) && e.setValue(this._parseExpr(!0)) + ? this.finish(e) + : this.finish( + e, + Et.VariableValueExpected, + [], + [r.Comma, r.ParenthesisR] + ) + : null; + }), + (t.prototype._parseForward = function () { + if (!this.peekKeyword('@forward')) return null; + var e = this.create(je); + if ( + (this.consumeToken(), !e.addChild(this._parseStringLiteral())) + ) + return this.finish(e, Et.StringLiteralExpected); + if (!this.peek(r.SemiColon) && !this.peek(r.EOF)) { + if (!this.peekRegExp(r.Ident, /as|hide|show/)) + return this.finish(e, Et.UnknownKeyword); + if (this.acceptIdent('as')) { + var t = this._parseIdent([re.Forward]); + if (!e.setIdentifier(t)) + return this.finish(e, Et.IdentifierExpected); + if (this.hasWhitespace() || !this.acceptDelim('*')) + return this.finish(e, Et.WildcardExpected); + } + if ( + (this.peekIdent('hide') || this.peekIdent('show')) && + !e.addChild(this._parseForwardVisibility()) + ) + return this.finish(e, Et.IdentifierOrVariableExpected); + } + return this.accept(r.SemiColon) || this.accept(r.EOF) + ? this.finish(e) + : this.finish(e, Et.SemiColonExpected); + }), + (t.prototype._parseForwardVisibility = function () { + var e = this.create(Ve); + for ( + e.setIdentifier(this._parseIdent()); + e.addChild(this._parseVariable() || this._parseIdent()); + + ); + return e.getChildren().length > 1 ? e : null; + }), + (t.prototype._parseSupportsCondition = function () { + return ( + this._parseInterpolation() || + e.prototype._parseSupportsCondition.call(this) + ); + }); + })(on), + (function () { + var e = function (t, n) { + return (e = + Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && + function (e, t) { + e.__proto__ = t; + }) || + function (e, t) { + for (var n in t) t.hasOwnProperty(n) && (e[n] = t[n]); + })(t, n); + }; + return function (t, n) { + function r() { + this.constructor = t; + } + e(t, n), + (t.prototype = + null === n + ? Object.create(n) + : ((r.prototype = n.prototype), new r())); + }; + })()), + Do = Ct(); + function To(e) { + e.forEach(function (e) { + if (e.documentation && e.references && e.references.length > 0) { + var t = + 'string' == typeof e.documentation + ? { kind: 'markdown', value: e.documentation } + : { kind: 'markdown', value: e.documentation.value }; + (t.value += '\n\n'), + (t.value += e.references + .map(function (e) { + return '[' + e.name + '](' + e.url + ')'; + }) + .join(' | ')), + (e.documentation = t); + } + }); + } + !(function (e) { + function t(n, r) { + var i = e.call(this, '$', n, r) || this; + return To(t.scssModuleLoaders), To(t.scssModuleBuiltIns), i; + } + Eo(t, e), + (t.prototype.isImportPathParent = function (t) { + return ( + t === ne.Forward || + t === ne.Use || + e.prototype.isImportPathParent.call(this, t) + ); + }), + (t.prototype.getCompletionForImportPath = function (n, r) { + var i = n.getParent().type; + if (i === ne.Forward || i === ne.Use) + for (var o = 0, s = t.scssModuleBuiltIns; o < s.length; o++) { + var a = s[o], + l = { + label: a.label, + documentation: a.documentation, + textEdit: kn.replace( + this.getCompletionRange(n), + "'" + a.label + "'" + ), + kind: jn.Module, + }; + r.items.push(l); + } + return e.prototype.getCompletionForImportPath.call(this, n, r); + }), + (t.prototype.createReplaceFunction = function () { + var e = 1; + return function (n, r) { + return ( + '\\' + + r + + ': ${' + + e++ + + ':' + + (t.variableDefaults[r] || '') + + '}' + ); + }; + }), + (t.prototype.createFunctionProposals = function (e, t, n, r) { + for (var i = 0, o = e; i < o.length; i++) { + var s = o[i], + a = s.func.replace( + /\[?(\$\w+)\]?/g, + this.createReplaceFunction() + ), + l = { + label: s.func.substr(0, s.func.indexOf('(')), + detail: s.func, + documentation: s.desc, + textEdit: kn.replace(this.getCompletionRange(t), a), + insertTextFormat: Vn.Snippet, + kind: jn.Function, + }; + n && (l.sortText = 'z'), r.items.push(l); + } + return r; + }), + (t.prototype.getCompletionsForSelector = function (n, r, i) { + return ( + this.createFunctionProposals(t.selectorFuncs, null, !0, i), + e.prototype.getCompletionsForSelector.call(this, n, r, i) + ); + }), + (t.prototype.getTermProposals = function (n, r, i) { + var o = t.builtInFuncs; + return ( + n && + (o = o.filter(function (e) { + return ( + !e.type || + !n.restrictions || + -1 !== n.restrictions.indexOf(e.type) + ); + })), + this.createFunctionProposals(o, r, !0, i), + e.prototype.getTermProposals.call(this, n, r, i) + ); + }), + (t.prototype.getColorProposals = function (n, r, i) { + return ( + this.createFunctionProposals(t.colorProposals, r, !1, i), + e.prototype.getColorProposals.call(this, n, r, i) + ); + }), + (t.prototype.getCompletionsForDeclarationProperty = function (t, n) { + return ( + this.getCompletionForAtDirectives(n), + this.getCompletionsForSelector(null, !0, n), + e.prototype.getCompletionsForDeclarationProperty.call(this, t, n) + ); + }), + (t.prototype.getCompletionsForExtendsReference = function (e, t, n) { + for ( + var r = 0, + i = this.getSymbolContext().findSymbolsAtOffset( + this.offset, + re.Rule + ); + r < i.length; + r++ + ) { + var o = i[r], + s = { + label: o.name, + textEdit: kn.replace(this.getCompletionRange(t), o.name), + kind: jn.Function, + }; + n.items.push(s); + } + return n; + }), + (t.prototype.getCompletionForAtDirectives = function (e) { + var n; + return (n = e.items).push.apply(n, t.scssAtDirectives), e; + }), + (t.prototype.getCompletionForTopLevel = function (t) { + return ( + this.getCompletionForAtDirectives(t), + this.getCompletionForModuleLoaders(t), + e.prototype.getCompletionForTopLevel.call(this, t), + t + ); + }), + (t.prototype.getCompletionForModuleLoaders = function (e) { + var n; + return (n = e.items).push.apply(n, t.scssModuleLoaders), e; + }), + (t.variableDefaults = { + $red: '1', + $green: '2', + $blue: '3', + $alpha: '1.0', + $color: '#000000', + $weight: '0.5', + $hue: '0', + $saturation: '0%', + $lightness: '0%', + $degrees: '0', + $amount: '0', + $string: '""', + $substring: '"s"', + $number: '0', + $limit: '1', + }), + (t.colorProposals = [ + { + func: 'red($color)', + desc: Do( + 'scss.builtin.red', + 'Gets the red component of a color.' + ), + }, + { + func: 'green($color)', + desc: Do( + 'scss.builtin.green', + 'Gets the green component of a color.' + ), + }, + { + func: 'blue($color)', + desc: Do( + 'scss.builtin.blue', + 'Gets the blue component of a color.' + ), + }, + { + func: 'mix($color, $color, [$weight])', + desc: Do('scss.builtin.mix', 'Mixes two colors together.'), + }, + { + func: 'hue($color)', + desc: Do( + 'scss.builtin.hue', + 'Gets the hue component of a color.' + ), + }, + { + func: 'saturation($color)', + desc: Do( + 'scss.builtin.saturation', + 'Gets the saturation component of a color.' + ), + }, + { + func: 'lightness($color)', + desc: Do( + 'scss.builtin.lightness', + 'Gets the lightness component of a color.' + ), + }, + { + func: 'adjust-hue($color, $degrees)', + desc: Do( + 'scss.builtin.adjust-hue', + 'Changes the hue of a color.' + ), + }, + { + func: 'lighten($color, $amount)', + desc: Do('scss.builtin.lighten', 'Makes a color lighter.'), + }, + { + func: 'darken($color, $amount)', + desc: Do('scss.builtin.darken', 'Makes a color darker.'), + }, + { + func: 'saturate($color, $amount)', + desc: Do( + 'scss.builtin.saturate', + 'Makes a color more saturated.' + ), + }, + { + func: 'desaturate($color, $amount)', + desc: Do( + 'scss.builtin.desaturate', + 'Makes a color less saturated.' + ), + }, + { + func: 'grayscale($color)', + desc: Do( + 'scss.builtin.grayscale', + 'Converts a color to grayscale.' + ), + }, + { + func: 'complement($color)', + desc: Do( + 'scss.builtin.complement', + 'Returns the complement of a color.' + ), + }, + { + func: 'invert($color)', + desc: Do( + 'scss.builtin.invert', + 'Returns the inverse of a color.' + ), + }, + { + func: 'alpha($color)', + desc: Do( + 'scss.builtin.alpha', + 'Gets the opacity component of a color.' + ), + }, + { + func: 'opacity($color)', + desc: 'Gets the alpha component (opacity) of a color.', + }, + { + func: 'rgba($color, $alpha)', + desc: Do( + 'scss.builtin.rgba', + 'Changes the alpha component for a color.' + ), + }, + { + func: 'opacify($color, $amount)', + desc: Do('scss.builtin.opacify', 'Makes a color more opaque.'), + }, + { + func: 'fade-in($color, $amount)', + desc: Do('scss.builtin.fade-in', 'Makes a color more opaque.'), + }, + { + func: 'transparentize($color, $amount)', + desc: Do( + 'scss.builtin.transparentize', + 'Makes a color more transparent.' + ), + }, + { + func: 'fade-out($color, $amount)', + desc: Do( + 'scss.builtin.fade-out', + 'Makes a color more transparent.' + ), + }, + { + func: + 'adjust-color($color, [$red], [$green], [$blue], [$hue], [$saturation], [$lightness], [$alpha])', + desc: Do( + 'scss.builtin.adjust-color', + 'Increases or decreases one or more components of a color.' + ), + }, + { + func: + 'scale-color($color, [$red], [$green], [$blue], [$saturation], [$lightness], [$alpha])', + desc: Do( + 'scss.builtin.scale-color', + 'Fluidly scales one or more properties of a color.' + ), + }, + { + func: + 'change-color($color, [$red], [$green], [$blue], [$hue], [$saturation], [$lightness], [$alpha])', + desc: Do( + 'scss.builtin.change-color', + 'Changes one or more properties of a color.' + ), + }, + { + func: 'ie-hex-str($color)', + desc: Do( + 'scss.builtin.ie-hex-str', + 'Converts a color into the format understood by IE filters.' + ), + }, + ]), + (t.selectorFuncs = [ + { + func: 'selector-nest($selectors…)', + desc: Do( + 'scss.builtin.selector-nest', + 'Nests selector beneath one another like they would be nested in the stylesheet.' + ), + }, + { + func: 'selector-append($selectors…)', + desc: Do( + 'scss.builtin.selector-append', + 'Appends selectors to one another without spaces in between.' + ), + }, + { + func: 'selector-extend($selector, $extendee, $extender)', + desc: Do( + 'scss.builtin.selector-extend', + 'Extends $extendee with $extender within $selector.' + ), + }, + { + func: 'selector-replace($selector, $original, $replacement)', + desc: Do( + 'scss.builtin.selector-replace', + 'Replaces $original with $replacement within $selector.' + ), + }, + { + func: 'selector-unify($selector1, $selector2)', + desc: Do( + 'scss.builtin.selector-unify', + 'Unifies two selectors to produce a selector that matches elements matched by both.' + ), + }, + { + func: 'is-superselector($super, $sub)', + desc: Do( + 'scss.builtin.is-superselector', + 'Returns whether $super matches all the elements $sub does, and possibly more.' + ), + }, + { + func: 'simple-selectors($selector)', + desc: Do( + 'scss.builtin.simple-selectors', + 'Returns the simple selectors that comprise a compound selector.' + ), + }, + { + func: 'selector-parse($selector)', + desc: Do( + 'scss.builtin.selector-parse', + 'Parses a selector into the format returned by &.' + ), + }, + ]), + (t.builtInFuncs = [ + { + func: 'unquote($string)', + desc: Do('scss.builtin.unquote', 'Removes quotes from a string.'), + }, + { + func: 'quote($string)', + desc: Do('scss.builtin.quote', 'Adds quotes to a string.'), + }, + { + func: 'str-length($string)', + desc: Do( + 'scss.builtin.str-length', + 'Returns the number of characters in a string.' + ), + }, + { + func: 'str-insert($string, $insert, $index)', + desc: Do( + 'scss.builtin.str-insert', + 'Inserts $insert into $string at $index.' + ), + }, + { + func: 'str-index($string, $substring)', + desc: Do( + 'scss.builtin.str-index', + 'Returns the index of the first occurance of $substring in $string.' + ), + }, + { + func: 'str-slice($string, $start-at, [$end-at])', + desc: Do( + 'scss.builtin.str-slice', + 'Extracts a substring from $string.' + ), + }, + { + func: 'to-upper-case($string)', + desc: Do( + 'scss.builtin.to-upper-case', + 'Converts a string to upper case.' + ), + }, + { + func: 'to-lower-case($string)', + desc: Do( + 'scss.builtin.to-lower-case', + 'Converts a string to lower case.' + ), + }, + { + func: 'percentage($number)', + desc: Do( + 'scss.builtin.percentage', + 'Converts a unitless number to a percentage.' + ), + type: 'percentage', + }, + { + func: 'round($number)', + desc: Do( + 'scss.builtin.round', + 'Rounds a number to the nearest whole number.' + ), + }, + { + func: 'ceil($number)', + desc: Do( + 'scss.builtin.ceil', + 'Rounds a number up to the next whole number.' + ), + }, + { + func: 'floor($number)', + desc: Do( + 'scss.builtin.floor', + 'Rounds a number down to the previous whole number.' + ), + }, + { + func: 'abs($number)', + desc: Do( + 'scss.builtin.abs', + 'Returns the absolute value of a number.' + ), + }, + { + func: 'min($numbers)', + desc: Do( + 'scss.builtin.min', + 'Finds the minimum of several numbers.' + ), + }, + { + func: 'max($numbers)', + desc: Do( + 'scss.builtin.max', + 'Finds the maximum of several numbers.' + ), + }, + { + func: 'random([$limit])', + desc: Do('scss.builtin.random', 'Returns a random number.'), + }, + { + func: 'length($list)', + desc: Do('scss.builtin.length', 'Returns the length of a list.'), + }, + { + func: 'nth($list, $n)', + desc: Do( + 'scss.builtin.nth', + 'Returns a specific item in a list.' + ), + }, + { + func: 'set-nth($list, $n, $value)', + desc: Do( + 'scss.builtin.set-nth', + 'Replaces the nth item in a list.' + ), + }, + { + func: 'join($list1, $list2, [$separator])', + desc: Do( + 'scss.builtin.join', + 'Joins together two lists into one.' + ), + }, + { + func: 'append($list1, $val, [$separator])', + desc: Do( + 'scss.builtin.append', + 'Appends a single value onto the end of a list.' + ), + }, + { + func: 'zip($lists)', + desc: Do( + 'scss.builtin.zip', + 'Combines several lists into a single multidimensional list.' + ), + }, + { + func: 'index($list, $value)', + desc: Do( + 'scss.builtin.index', + 'Returns the position of a value within a list.' + ), + }, + { + func: 'list-separator(#list)', + desc: Do( + 'scss.builtin.list-separator', + 'Returns the separator of a list.' + ), + }, + { + func: 'map-get($map, $key)', + desc: Do( + 'scss.builtin.map-get', + 'Returns the value in a map associated with a given key.' + ), + }, + { + func: 'map-merge($map1, $map2)', + desc: Do( + 'scss.builtin.map-merge', + 'Merges two maps together into a new map.' + ), + }, + { + func: 'map-remove($map, $keys)', + desc: Do( + 'scss.builtin.map-remove', + 'Returns a new map with keys removed.' + ), + }, + { + func: 'map-keys($map)', + desc: Do( + 'scss.builtin.map-keys', + 'Returns a list of all keys in a map.' + ), + }, + { + func: 'map-values($map)', + desc: Do( + 'scss.builtin.map-values', + 'Returns a list of all values in a map.' + ), + }, + { + func: 'map-has-key($map, $key)', + desc: Do( + 'scss.builtin.map-has-key', + 'Returns whether a map has a value associated with a given key.' + ), + }, + { + func: 'keywords($args)', + desc: Do( + 'scss.builtin.keywords', + 'Returns the keywords passed to a function that takes variable arguments.' + ), + }, + { + func: 'feature-exists($feature)', + desc: Do( + 'scss.builtin.feature-exists', + 'Returns whether a feature exists in the current Sass runtime.' + ), + }, + { + func: 'variable-exists($name)', + desc: Do( + 'scss.builtin.variable-exists', + 'Returns whether a variable with the given name exists in the current scope.' + ), + }, + { + func: 'global-variable-exists($name)', + desc: Do( + 'scss.builtin.global-variable-exists', + 'Returns whether a variable with the given name exists in the global scope.' + ), + }, + { + func: 'function-exists($name)', + desc: Do( + 'scss.builtin.function-exists', + 'Returns whether a function with the given name exists.' + ), + }, + { + func: 'mixin-exists($name)', + desc: Do( + 'scss.builtin.mixin-exists', + 'Returns whether a mixin with the given name exists.' + ), + }, + { + func: 'inspect($value)', + desc: Do( + 'scss.builtin.inspect', + 'Returns the string representation of a value as it would be represented in Sass.' + ), + }, + { + func: 'type-of($value)', + desc: Do('scss.builtin.type-of', 'Returns the type of a value.'), + }, + { + func: 'unit($number)', + desc: Do( + 'scss.builtin.unit', + 'Returns the unit(s) associated with a number.' + ), + }, + { + func: 'unitless($number)', + desc: Do( + 'scss.builtin.unitless', + 'Returns whether a number has units.' + ), + }, + { + func: 'comparable($number1, $number2)', + desc: Do( + 'scss.builtin.comparable', + 'Returns whether two numbers can be added, subtracted, or compared.' + ), + }, + { + func: 'call($name, $args…)', + desc: Do( + 'scss.builtin.call', + 'Dynamically calls a Sass function.' + ), + }, + ]), + (t.scssAtDirectives = [ + { + label: '@extend', + documentation: Do( + 'scss.builtin.@extend', + 'Inherits the styles of another selector.' + ), + kind: jn.Keyword, + }, + { + label: '@at-root', + documentation: Do( + 'scss.builtin.@at-root', + 'Causes one or more rules to be emitted at the root of the document.' + ), + kind: jn.Keyword, + }, + { + label: '@debug', + documentation: Do( + 'scss.builtin.@debug', + 'Prints the value of an expression to the standard error output stream. Useful for debugging complicated Sass files.' + ), + kind: jn.Keyword, + }, + { + label: '@warn', + documentation: Do( + 'scss.builtin.@warn', + 'Prints the value of an expression to the standard error output stream. Useful for libraries that need to warn users of deprecations or recovering from minor mixin usage mistakes. Warnings can be turned off with the `--quiet` command-line option or the `:quiet` Sass option.' + ), + kind: jn.Keyword, + }, + { + label: '@error', + documentation: Do( + 'scss.builtin.@error', + 'Throws the value of an expression as a fatal error with stack trace. Useful for validating arguments to mixins and functions.' + ), + kind: jn.Keyword, + }, + { + label: '@if', + documentation: Do( + 'scss.builtin.@if', + 'Includes the body if the expression does not evaluate to `false` or `null`.' + ), + insertText: '@if ${1:expr} {\n\t$0\n}', + insertTextFormat: Vn.Snippet, + kind: jn.Keyword, + }, + { + label: '@for', + documentation: Do( + 'scss.builtin.@for', + 'For loop that repeatedly outputs a set of styles for each `$var` in the `from/through` or `from/to` clause.' + ), + insertText: + '@for \\$${1:var} from ${2:start} ${3|to,through|} ${4:end} {\n\t$0\n}', + insertTextFormat: Vn.Snippet, + kind: jn.Keyword, + }, + { + label: '@each', + documentation: Do( + 'scss.builtin.@each', + 'Each loop that sets `$var` to each item in the list or map, then outputs the styles it contains using that value of `$var`.' + ), + insertText: '@each \\$${1:var} in ${2:list} {\n\t$0\n}', + insertTextFormat: Vn.Snippet, + kind: jn.Keyword, + }, + { + label: '@while', + documentation: Do( + 'scss.builtin.@while', + 'While loop that takes an expression and repeatedly outputs the nested styles until the statement evaluates to `false`.' + ), + insertText: '@while ${1:condition} {\n\t$0\n}', + insertTextFormat: Vn.Snippet, + kind: jn.Keyword, + }, + { + label: '@mixin', + documentation: Do( + 'scss.builtin.@mixin', + 'Defines styles that can be re-used throughout the stylesheet with `@include`.' + ), + insertText: '@mixin ${1:name} {\n\t$0\n}', + insertTextFormat: Vn.Snippet, + kind: jn.Keyword, + }, + { + label: '@include', + documentation: Do( + 'scss.builtin.@include', + 'Includes the styles defined by another mixin into the current rule.' + ), + kind: jn.Keyword, + }, + { + label: '@function', + documentation: Do( + 'scss.builtin.@function', + 'Defines complex operations that can be re-used throughout stylesheets.' + ), + kind: jn.Keyword, + }, + ]), + (t.scssModuleLoaders = [ + { + label: '@use', + documentation: Do( + 'scss.builtin.@use', + "Loads mixins, functions, and variables from other Sass stylesheets as 'modules', and combines CSS from multiple stylesheets together." + ), + references: [ + { + name: 'Sass documentation', + url: 'https://sass-lang.com/documentation/at-rules/use', + }, + ], + insertText: "@use '$0';", + insertTextFormat: Vn.Snippet, + kind: jn.Keyword, + }, + { + label: '@forward', + documentation: Do( + 'scss.builtin.@forward', + 'Loads a Sass stylesheet and makes its mixins, functions, and variables available when this stylesheet is loaded with the @use rule.' + ), + references: [ + { + name: 'Sass documentation', + url: 'https://sass-lang.com/documentation/at-rules/forward', + }, + ], + insertText: "@forward '$0';", + insertTextFormat: Vn.Snippet, + kind: jn.Keyword, + }, + ]), + (t.scssModuleBuiltIns = [ + { + label: 'sass:math', + documentation: Do( + 'scss.builtin.sass:math', + 'Provides functions that operate on numbers.' + ), + references: [ + { + name: 'Sass documentation', + url: 'https://sass-lang.com/documentation/modules/math', + }, + ], + }, + { + label: 'sass:string', + documentation: Do( + 'scss.builtin.sass:string', + 'Makes it easy to combine, search, or split apart strings.' + ), + references: [ + { + name: 'Sass documentation', + url: 'https://sass-lang.com/documentation/modules/string', + }, + ], + }, + { + label: 'sass:color', + documentation: Do( + 'scss.builtin.sass:color', + 'Generates new colors based on existing ones, making it easy to build color themes.' + ), + references: [ + { + name: 'Sass documentation', + url: 'https://sass-lang.com/documentation/modules/color', + }, + ], + }, + { + label: 'sass:list', + documentation: Do( + 'scss.builtin.sass:list', + 'Lets you access and modify values in lists.' + ), + references: [ + { + name: 'Sass documentation', + url: 'https://sass-lang.com/documentation/modules/list', + }, + ], + }, + { + label: 'sass:map', + documentation: Do( + 'scss.builtin.sass:map', + 'Makes it possible to look up the value associated with a key in a map, and much more.' + ), + references: [ + { + name: 'Sass documentation', + url: 'https://sass-lang.com/documentation/modules/map', + }, + ], + }, + { + label: 'sass:selector', + documentation: Do( + 'scss.builtin.sass:selector', + 'Provides access to Sass’s powerful selector engine.' + ), + references: [ + { + name: 'Sass documentation', + url: 'https://sass-lang.com/documentation/modules/selector', + }, + ], + }, + { + label: 'sass:meta', + documentation: Do( + 'scss.builtin.sass:meta', + 'Exposes the details of Sass’s inner workings.' + ), + references: [ + { + name: 'Sass documentation', + url: 'https://sass-lang.com/documentation/modules/meta', + }, + ], + }, + ]); + })(si); + var Ro = (function () { + var e = function (t, n) { + return (e = + Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && + function (e, t) { + e.__proto__ = t; + }) || + function (e, t) { + for (var n in t) t.hasOwnProperty(n) && (e[n] = t[n]); + })(t, n); + }; + return function (t, n) { + function r() { + this.constructor = t; + } + e(t, n), + (t.prototype = + null === n + ? Object.create(n) + : ((r.prototype = n.prototype), new r())); + }; + })(), + Io = '/'.charCodeAt(0), + Mo = '\n'.charCodeAt(0), + Po = '\r'.charCodeAt(0), + _o = '\f'.charCodeAt(0), + No = '`'.charCodeAt(0), + Ao = '.'.charCodeAt(0), + Oo = r.CustomToken, + Wo = Oo++, + Lo = (function (e) { + function t() { + return (null !== e && e.apply(this, arguments)) || this; + } + return ( + Ro(t, e), + (t.prototype.scanNext = function (t) { + var n = this.escapedJavaScript(); + return null !== n + ? this.finishToken(t, n) + : this.stream.advanceIfChars([Ao, Ao, Ao]) + ? this.finishToken(t, Wo) + : e.prototype.scanNext.call(this, t); + }), + (t.prototype.comment = function () { + return ( + !!e.prototype.comment.call(this) || + (!(this.inURL || !this.stream.advanceIfChars([Io, Io])) && + (this.stream.advanceWhileChar(function (e) { + switch (e) { + case Mo: + case Po: + case _o: + return !1; + default: + return !0; + } + }), + !0)) + ); + }), + (t.prototype.escapedJavaScript = function () { + return this.stream.peekChar() === No + ? (this.stream.advance(1), + this.stream.advanceWhileChar(function (e) { + return e !== No; + }), + this.stream.advanceIfChar(No) + ? r.EscapedJavaScript + : r.BadEscapedJavaScript) + : null; + }), + t + ); + })(X), + Uo = (function () { + var e = function (t, n) { + return (e = + Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && + function (e, t) { + e.__proto__ = t; + }) || + function (e, t) { + for (var n in t) t.hasOwnProperty(n) && (e[n] = t[n]); + })(t, n); + }; + return function (t, n) { + function r() { + this.constructor = t; + } + e(t, n), + (t.prototype = + null === n + ? Object.create(n) + : ((r.prototype = n.prototype), new r())); + }; + })(), + jo = + ((function (e) { + function t() { + return e.call(this, new Lo()) || this; + } + Uo(t, e), + (t.prototype._parseStylesheetStatement = function (t) { + return ( + void 0 === t && (t = !1), + this.peek(r.AtKeyword) + ? this._parseVariableDeclaration() || + this._parsePlugin() || + e.prototype._parseStylesheetAtStatement.call(this, t) + : this._tryParseMixinDeclaration() || + this._tryParseMixinReference() || + this._parseFunction() || + this._parseRuleset(!0) + ); + }), + (t.prototype._parseImport = function () { + if ( + !this.peekKeyword('@import') && + !this.peekKeyword('@import-once') + ) + return null; + var e = this.create(We); + if ((this.consumeToken(), this.accept(r.ParenthesisL))) { + if (!this.accept(r.Ident)) + return this.finish(e, Et.IdentifierExpected, [r.SemiColon]); + do { + if (!this.accept(r.Comma)) break; + } while (this.accept(r.Ident)); + if (!this.accept(r.ParenthesisR)) + return this.finish(e, Et.RightParenthesisExpected, [ + r.SemiColon, + ]); + } + return e.addChild(this._parseURILiteral()) || + e.addChild(this._parseStringLiteral()) + ? (this.peek(r.SemiColon) || + this.peek(r.EOF) || + e.setMedialist(this._parseMediaQueryList()), + this.finish(e)) + : this.finish(e, Et.URIOrStringExpected, [r.SemiColon]); + }), + (t.prototype._parsePlugin = function () { + if (!this.peekKeyword('@plugin')) return null; + var e = this.createNode(ne.Plugin); + return ( + this.consumeToken(), + e.addChild(this._parseStringLiteral()) + ? this.accept(r.SemiColon) + ? this.finish(e) + : this.finish(e, Et.SemiColonExpected) + : this.finish(e, Et.StringLiteralExpected) + ); + }), + (t.prototype._parseMediaQuery = function (t) { + var n = e.prototype._parseMediaQuery.call(this, t); + if (!n) { + var r = this.create(He); + return r.addChild(this._parseVariable()) + ? this.finish(r) + : null; + } + return n; + }), + (t.prototype._parseMediaDeclaration = function (e) { + return ( + void 0 === e && (e = !1), + this._tryParseRuleset(e) || + this._tryToParseDeclaration() || + this._tryParseMixinDeclaration() || + this._tryParseMixinReference() || + this._parseDetachedRuleSetMixin() || + this._parseStylesheetStatement(e) + ); + }), + (t.prototype._parseMediaFeatureName = function () { + return this._parseIdent() || this._parseVariable(); + }), + (t.prototype._parseVariableDeclaration = function (e) { + void 0 === e && (e = []); + var t = this.create(at), + n = this.mark(); + if (!t.setVariable(this._parseVariable(!0))) return null; + if (!this.accept(r.Colon)) return this.restoreAtMark(n), null; + if ( + (this.prevToken && (t.colonPosition = this.prevToken.offset), + t.setValue(this._parseDetachedRuleSet())) + ) + t.needsSemicolon = !1; + else if (!t.setValue(this._parseExpr())) + return this.finish(t, Et.VariableValueExpected, [], e); + return ( + t.addChild(this._parsePrio()), + this.peek(r.SemiColon) && + (t.semicolonPosition = this.token.offset), + this.finish(t) + ); + }), + (t.prototype._parseDetachedRuleSet = function () { + var e = this.mark(); + if (this.peekDelim('#') || this.peekDelim('.')) { + if ( + (this.consumeToken(), + this.hasWhitespace() || !this.accept(r.ParenthesisL)) + ) + return this.restoreAtMark(e), null; + var t = this.create(ut); + if (t.getParameters().addChild(this._parseMixinParameter())) + for ( + ; + (this.accept(r.Comma) || this.accept(r.SemiColon)) && + !this.peek(r.ParenthesisR); + + ) + t.getParameters().addChild(this._parseMixinParameter()) || + this.markError( + t, + Et.IdentifierExpected, + [], + [r.ParenthesisR] + ); + if (!this.accept(r.ParenthesisR)) + return this.restoreAtMark(e), null; + } + if (!this.peek(r.CurlyL)) return null; + var n = this.create(ue); + return ( + this._parseBody(n, this._parseDetachedRuleSetBody.bind(this)), + this.finish(n) + ); + }), + (t.prototype._parseDetachedRuleSetBody = function () { + return ( + this._tryParseKeyframeSelector() || + this._parseRuleSetDeclaration() + ); + }), + (t.prototype._addLookupChildren = function (e) { + if (!e.addChild(this._parseLookupValue())) return !1; + for ( + var t = !1; + this.peek(r.BracketL) && (t = !0), + e.addChild(this._parseLookupValue()); + + ) + t = !1; + return !t; + }), + (t.prototype._parseLookupValue = function () { + var e = this.create(ce), + t = this.mark(); + return this.accept(r.BracketL) && + (((e.addChild(this._parseVariable(!1, !0)) || + e.addChild(this._parsePropertyIdentifier())) && + this.accept(r.BracketR)) || + this.accept(r.BracketR)) + ? e + : (this.restoreAtMark(t), null); + }), + (t.prototype._parseVariable = function (e, t) { + void 0 === e && (e = !1), void 0 === t && (t = !1); + var n = !e && this.peekDelim('$'); + if (!this.peekDelim('@') && !n && !this.peek(r.AtKeyword)) + return null; + for ( + var i = this.create(ct), o = this.mark(); + this.acceptDelim('@') || (!e && this.acceptDelim('$')); + + ) + if (this.hasWhitespace()) return this.restoreAtMark(o), null; + return (!this.accept(r.AtKeyword) && !this.accept(r.Ident)) || + (!t && this.peek(r.BracketL) && !this._addLookupChildren(i)) + ? (this.restoreAtMark(o), null) + : i; + }), + (t.prototype._parseTermExpression = function () { + return ( + this._parseVariable() || + this._parseEscaped() || + e.prototype._parseTermExpression.call(this) || + this._tryParseMixinReference(!1) + ); + }), + (t.prototype._parseEscaped = function () { + if ( + this.peek(r.EscapedJavaScript) || + this.peek(r.BadEscapedJavaScript) + ) { + var e = this.createNode(ne.EscapedValue); + return this.consumeToken(), this.finish(e); + } + return this.peekDelim('~') + ? ((e = this.createNode(ne.EscapedValue)), + this.consumeToken(), + this.accept(r.String) || this.accept(r.EscapedJavaScript) + ? this.finish(e) + : this.finish(e, Et.TermExpected)) + : null; + }), + (t.prototype._parseOperator = function () { + return ( + this._parseGuardOperator() || + e.prototype._parseOperator.call(this) + ); + }), + (t.prototype._parseGuardOperator = function () { + if (this.peekDelim('>')) { + var e = this.createNode(ne.Operator); + return this.consumeToken(), this.acceptDelim('='), e; + } + return this.peekDelim('=') + ? ((e = this.createNode(ne.Operator)), + this.consumeToken(), + this.acceptDelim('<'), + e) + : this.peekDelim('<') + ? ((e = this.createNode(ne.Operator)), + this.consumeToken(), + this.acceptDelim('='), + e) + : null; + }), + (t.prototype._parseRuleSetDeclaration = function () { + return this.peek(r.AtKeyword) + ? this._parseKeyframe() || + this._parseMedia(!0) || + this._parseImport() || + this._parseSupports(!0) || + this._parseDetachedRuleSetMixin() || + this._parseVariableDeclaration() || + e.prototype._parseRuleSetDeclarationAtStatement.call(this) + : this._tryParseMixinDeclaration() || + this._tryParseRuleset(!0) || + this._tryParseMixinReference() || + this._parseFunction() || + this._parseExtend() || + e.prototype._parseRuleSetDeclaration.call(this); + }), + (t.prototype._parseKeyframeIdent = function () { + return this._parseIdent([re.Keyframe]) || this._parseVariable(); + }), + (t.prototype._parseKeyframeSelector = function () { + return ( + this._parseDetachedRuleSetMixin() || + e.prototype._parseKeyframeSelector.call(this) + ); + }), + (t.prototype._parseSimpleSelectorBody = function () { + return ( + this._parseSelectorCombinator() || + e.prototype._parseSimpleSelectorBody.call(this) + ); + }), + (t.prototype._parseSelector = function (e) { + var t = this.create(ge), + n = !1; + for ( + e && (n = t.addChild(this._parseCombinator())); + t.addChild(this._parseSimpleSelector()); + + ) { + n = !0; + var i = this.mark(); + if (t.addChild(this._parseGuard()) && this.peek(r.CurlyL)) + break; + this.restoreAtMark(i), t.addChild(this._parseCombinator()); + } + return n ? this.finish(t) : null; + }), + (t.prototype._parseSelectorCombinator = function () { + if (this.peekDelim('&')) { + var e = this.createNode(ne.SelectorCombinator); + for ( + this.consumeToken(); + !this.hasWhitespace() && + (this.acceptDelim('-') || + this.accept(r.Num) || + this.accept(r.Dimension) || + e.addChild(this._parseIdent()) || + this.acceptDelim('&')); + + ); + return this.finish(e); + } + return null; + }), + (t.prototype._parseSelectorIdent = function () { + if (!this.peekInterpolatedIdent()) return null; + var e = this.createNode(ne.SelectorInterpolation); + return this._acceptInterpolatedIdent(e) ? this.finish(e) : null; + }), + (t.prototype._parsePropertyIdentifier = function (e) { + void 0 === e && (e = !1); + var t = /^[\w-]+/; + if ( + !this.peekInterpolatedIdent() && + !this.peekRegExp(this.token.type, t) + ) + return null; + var n = this.mark(), + r = this.create(pe); + return ( + (r.isCustomProperty = + this.acceptDelim('-') && this.acceptDelim('-')), + ( + e + ? r.isCustomProperty + ? r.addChild(this._parseIdent()) + : r.addChild(this._parseRegexp(t)) + : r.isCustomProperty + ? this._acceptInterpolatedIdent(r) + : this._acceptInterpolatedIdent(r, t) + ) + ? (e || + this.hasWhitespace() || + (this.acceptDelim('+'), + this.hasWhitespace() || this.acceptIdent('_')), + this.finish(r)) + : (this.restoreAtMark(n), null) + ); + }), + (t.prototype.peekInterpolatedIdent = function () { + return ( + this.peek(r.Ident) || + this.peekDelim('@') || + this.peekDelim('$') || + this.peekDelim('-') + ); + }), + (t.prototype._acceptInterpolatedIdent = function (e, t) { + for ( + var n = this, + i = !1, + o = function () { + var e = n.mark(); + return n.acceptDelim('-') && + (n.hasWhitespace() || n.acceptDelim('-'), + n.hasWhitespace()) + ? (n.restoreAtMark(e), null) + : n._parseInterpolation(); + }, + s = t + ? function () { + return n.acceptRegexp(t); + } + : function () { + return n.accept(r.Ident); + }; + (s() || + e.addChild(this._parseInterpolation() || this.try(o))) && + ((i = !0), !this.hasWhitespace()); + + ); + return i; + }), + (t.prototype._parseInterpolation = function () { + var e = this.mark(); + if (this.peekDelim('@') || this.peekDelim('$')) { + var t = this.createNode(ne.Interpolation); + return ( + this.consumeToken(), + this.hasWhitespace() || !this.accept(r.CurlyL) + ? (this.restoreAtMark(e), null) + : t.addChild(this._parseIdent()) + ? this.accept(r.CurlyR) + ? this.finish(t) + : this.finish(t, Et.RightCurlyExpected) + : this.finish(t, Et.IdentifierExpected) + ); + } + return null; + }), + (t.prototype._tryParseMixinDeclaration = function () { + var e = this.mark(), + t = this.create(ut); + if ( + !t.setIdentifier(this._parseMixinDeclarationIdentifier()) || + !this.accept(r.ParenthesisL) + ) + return this.restoreAtMark(e), null; + if (t.getParameters().addChild(this._parseMixinParameter())) + for ( + ; + (this.accept(r.Comma) || this.accept(r.SemiColon)) && + !this.peek(r.ParenthesisR); + + ) + t.getParameters().addChild(this._parseMixinParameter()) || + this.markError( + t, + Et.IdentifierExpected, + [], + [r.ParenthesisR] + ); + return this.accept(r.ParenthesisR) + ? (t.setGuard(this._parseGuard()), + this.peek(r.CurlyL) + ? this._parseBody( + t, + this._parseMixInBodyDeclaration.bind(this) + ) + : (this.restoreAtMark(e), null)) + : (this.restoreAtMark(e), null); + }), + (t.prototype._parseMixInBodyDeclaration = function () { + return this._parseFontFace() || this._parseRuleSetDeclaration(); + }), + (t.prototype._parseMixinDeclarationIdentifier = function () { + var e; + if (this.peekDelim('#') || this.peekDelim('.')) { + if ( + ((e = this.create(pe)), + this.consumeToken(), + this.hasWhitespace() || !e.addChild(this._parseIdent())) + ) + return null; + } else { + if (!this.peek(r.Hash)) return null; + (e = this.create(pe)), this.consumeToken(); + } + return (e.referenceTypes = [re.Mixin]), this.finish(e); + }), + (t.prototype._parsePseudo = function () { + if (!this.peek(r.Colon)) return null; + var t = this.mark(), + n = this.create(dt); + return ( + this.consumeToken(), + this.acceptIdent('extend') + ? this._completeExtends(n) + : (this.restoreAtMark(t), + e.prototype._parsePseudo.call(this)) + ); + }), + (t.prototype._parseExtend = function () { + if (!this.peekDelim('&')) return null; + var e = this.mark(), + t = this.create(dt); + return ( + this.consumeToken(), + !this.hasWhitespace() && + this.accept(r.Colon) && + this.acceptIdent('extend') + ? this._completeExtends(t) + : (this.restoreAtMark(e), null) + ); + }), + (t.prototype._completeExtends = function (e) { + if (!this.accept(r.ParenthesisL)) + return this.finish(e, Et.LeftParenthesisExpected); + var t = e.getSelectors(); + if (!t.addChild(this._parseSelector(!0))) + return this.finish(e, Et.SelectorExpected); + for (; this.accept(r.Comma); ) + if (!t.addChild(this._parseSelector(!0))) + return this.finish(e, Et.SelectorExpected); + return this.accept(r.ParenthesisR) + ? this.finish(e) + : this.finish(e, Et.RightParenthesisExpected); + }), + (t.prototype._parseDetachedRuleSetMixin = function () { + if (!this.peek(r.AtKeyword)) return null; + var e = this.mark(), + t = this.create(mt); + return !t.addChild(this._parseVariable(!0)) || + (!this.hasWhitespace() && this.accept(r.ParenthesisL)) + ? this.accept(r.ParenthesisR) + ? this.finish(t) + : this.finish(t, Et.RightParenthesisExpected) + : (this.restoreAtMark(e), null); + }), + (t.prototype._tryParseMixinReference = function (e) { + void 0 === e && (e = !0); + for ( + var t = this.mark(), + n = this.create(mt), + i = this._parseMixinDeclarationIdentifier(); + i; + + ) { + this.acceptDelim('>'); + var o = this._parseMixinDeclarationIdentifier(); + if (!o) break; + n.getNamespaces().addChild(i), (i = o); + } + if (!n.setIdentifier(i)) return this.restoreAtMark(t), null; + var s = !1; + if (this.accept(r.ParenthesisL)) { + if ( + ((s = !0), + n.getArguments().addChild(this._parseMixinArgument())) + ) + for ( + ; + (this.accept(r.Comma) || this.accept(r.SemiColon)) && + !this.peek(r.ParenthesisR); + + ) + if ( + !n.getArguments().addChild(this._parseMixinArgument()) + ) + return this.finish(n, Et.ExpressionExpected); + if (!this.accept(r.ParenthesisR)) + return this.finish(n, Et.RightParenthesisExpected); + i.referenceTypes = [re.Mixin]; + } else i.referenceTypes = [re.Mixin, re.Rule]; + return ( + this.peek(r.BracketL) + ? e || this._addLookupChildren(n) + : n.addChild(this._parsePrio()), + s || + this.peek(r.SemiColon) || + this.peek(r.CurlyR) || + this.peek(r.EOF) + ? this.finish(n) + : (this.restoreAtMark(t), null) + ); + }), + (t.prototype._parseMixinArgument = function () { + var e = this.create(ze), + t = this.mark(), + n = this._parseVariable(); + return ( + n && + (this.accept(r.Colon) + ? e.setIdentifier(n) + : this.restoreAtMark(t)), + e.setValue( + this._parseDetachedRuleSet() || this._parseExpr(!0) + ) + ? this.finish(e) + : (this.restoreAtMark(t), null) + ); + }), + (t.prototype._parseMixinParameter = function () { + var e = this.create(Fe); + if (this.peekKeyword('@rest')) { + var t = this.create(ce); + return ( + this.consumeToken(), + this.accept(Wo) + ? (e.setIdentifier(this.finish(t)), this.finish(e)) + : this.finish( + e, + Et.DotExpected, + [], + [r.Comma, r.ParenthesisR] + ) + ); + } + if (this.peek(Wo)) { + var n = this.create(ce); + return ( + this.consumeToken(), + e.setIdentifier(this.finish(n)), + this.finish(e) + ); + } + var i = !1; + return ( + e.setIdentifier(this._parseVariable()) && + (this.accept(r.Colon), (i = !0)), + e.setDefaultValue( + this._parseDetachedRuleSet() || this._parseExpr(!0) + ) || i + ? this.finish(e) + : null + ); + }), + (t.prototype._parseGuard = function () { + if (!this.peekIdent('when')) return null; + var e = this.create(bt); + if ( + (this.consumeToken(), + (e.isNegated = this.acceptIdent('not')), + !e.getConditions().addChild(this._parseGuardCondition())) + ) + return this.finish(e, Et.ConditionExpected); + for (; this.acceptIdent('and') || this.accept(r.Comma); ) + if (!e.getConditions().addChild(this._parseGuardCondition())) + return this.finish(e, Et.ConditionExpected); + return this.finish(e); + }), + (t.prototype._parseGuardCondition = function () { + if (!this.peek(r.ParenthesisL)) return null; + var e = this.create(vt); + return ( + this.consumeToken(), + e.addChild(this._parseExpr()), + this.accept(r.ParenthesisR) + ? this.finish(e) + : this.finish(e, Et.RightParenthesisExpected) + ); + }), + (t.prototype._parseFunction = function () { + var e = this.mark(), + t = this.create(Ce); + if (!t.setIdentifier(this._parseFunctionIdentifier())) + return null; + if (this.hasWhitespace() || !this.accept(r.ParenthesisL)) + return this.restoreAtMark(e), null; + if (t.getArguments().addChild(this._parseMixinArgument())) + for ( + ; + (this.accept(r.Comma) || this.accept(r.SemiColon)) && + !this.peek(r.ParenthesisR); + + ) + if (!t.getArguments().addChild(this._parseMixinArgument())) + return this.finish(t, Et.ExpressionExpected); + return this.accept(r.ParenthesisR) + ? this.finish(t) + : this.finish(t, Et.RightParenthesisExpected); + }), + (t.prototype._parseFunctionIdentifier = function () { + if (this.peekDelim('%')) { + var t = this.create(pe); + return ( + (t.referenceTypes = [re.Function]), + this.consumeToken(), + this.finish(t) + ); + } + return e.prototype._parseFunctionIdentifier.call(this); + }), + (t.prototype._parseURLArgument = function () { + var t = this.mark(), + n = e.prototype._parseURLArgument.call(this); + if (!n || !this.peek(r.ParenthesisR)) { + this.restoreAtMark(t); + var i = this.create(ce); + return i.addChild(this._parseBinaryExpr()), this.finish(i); + } + return n; + }); + })(on), + (function () { + var e = function (t, n) { + return (e = + Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && + function (e, t) { + e.__proto__ = t; + }) || + function (e, t) { + for (var n in t) t.hasOwnProperty(n) && (e[n] = t[n]); + })(t, n); + }; + return function (t, n) { + function r() { + this.constructor = t; + } + e(t, n), + (t.prototype = + null === n + ? Object.create(n) + : ((r.prototype = n.prototype), new r())); + }; + })()), + Vo = Ct(); + !(function (e) { + function t(t, n) { + return e.call(this, '@', t, n) || this; + } + jo(t, e), + (t.prototype.createFunctionProposals = function (e, t, n, r) { + for (var i = 0, o = e; i < o.length; i++) { + var s = o[i], + a = { + label: s.name, + detail: s.example, + documentation: s.description, + textEdit: kn.replace( + this.getCompletionRange(t), + s.name + '($0)' + ), + insertTextFormat: Vn.Snippet, + kind: jn.Function, + }; + n && (a.sortText = 'z'), r.items.push(a); + } + return r; + }), + (t.prototype.getTermProposals = function (n, r, i) { + var o = t.builtInProposals; + return ( + n && + (o = o.filter(function (e) { + return ( + !e.type || + !n.restrictions || + -1 !== n.restrictions.indexOf(e.type) + ); + })), + this.createFunctionProposals(o, r, !0, i), + e.prototype.getTermProposals.call(this, n, r, i) + ); + }), + (t.prototype.getColorProposals = function (n, r, i) { + return ( + this.createFunctionProposals(t.colorProposals, r, !1, i), + e.prototype.getColorProposals.call(this, n, r, i) + ); + }), + (t.prototype.getCompletionsForDeclarationProperty = function (t, n) { + return ( + this.getCompletionsForSelector(null, !0, n), + e.prototype.getCompletionsForDeclarationProperty.call(this, t, n) + ); + }), + (t.builtInProposals = [ + { + name: 'if', + example: 'if(condition, trueValue [, falseValue]);', + description: Vo( + 'less.builtin.if', + 'returns one of two values depending on a condition.' + ), + }, + { + name: 'boolean', + example: 'boolean(condition);', + description: Vo( + 'less.builtin.boolean', + '"store" a boolean test for later evaluation in a guard or if().' + ), + }, + { + name: 'length', + example: 'length(@list);', + description: Vo( + 'less.builtin.length', + 'returns the number of elements in a value list' + ), + }, + { + name: 'extract', + example: 'extract(@list, index);', + description: Vo( + 'less.builtin.extract', + 'returns a value at the specified position in the list' + ), + }, + { + name: 'range', + example: 'range([start, ] end [, step]);', + description: Vo( + 'less.builtin.range', + 'generate a list spanning a range of values' + ), + }, + { + name: 'each', + example: 'each(@list, ruleset);', + description: Vo( + 'less.builtin.each', + 'bind the evaluation of a ruleset to each member of a list.' + ), + }, + { + name: 'escape', + example: 'escape(@string);', + description: Vo('less.builtin.escape', 'URL encodes a string'), + }, + { + name: 'e', + example: 'e(@string);', + description: Vo('less.builtin.e', 'escape string content'), + }, + { + name: 'replace', + example: 'replace(@string, @pattern, @replacement[, @flags]);', + description: Vo('less.builtin.replace', 'string replace'), + }, + { + name: 'unit', + example: "unit(@dimension, [@unit: '']);", + description: Vo( + 'less.builtin.unit', + 'remove or change the unit of a dimension' + ), + }, + { + name: 'color', + example: 'color(@string);', + description: Vo( + 'less.builtin.color', + 'parses a string to a color' + ), + type: 'color', + }, + { + name: 'convert', + example: 'convert(@value, unit);', + description: Vo( + 'less.builtin.convert', + 'converts numbers from one type into another' + ), + }, + { + name: 'data-uri', + example: 'data-uri([mimetype,] url);', + description: Vo( + 'less.builtin.data-uri', + 'inlines a resource and falls back to `url()`' + ), + type: 'url', + }, + { + name: 'abs', + description: Vo('less.builtin.abs', 'absolute value of a number'), + example: 'abs(number);', + }, + { + name: 'acos', + description: Vo( + 'less.builtin.acos', + 'arccosine - inverse of cosine function' + ), + example: 'acos(number);', + }, + { + name: 'asin', + description: Vo( + 'less.builtin.asin', + 'arcsine - inverse of sine function' + ), + example: 'asin(number);', + }, + { + name: 'ceil', + example: 'ceil(@number);', + description: Vo('less.builtin.ceil', 'rounds up to an integer'), + }, + { + name: 'cos', + description: Vo('less.builtin.cos', 'cosine function'), + example: 'cos(number);', + }, + { + name: 'floor', + description: Vo( + 'less.builtin.floor', + 'rounds down to an integer' + ), + example: 'floor(@number);', + }, + { + name: 'percentage', + description: Vo( + 'less.builtin.percentage', + 'converts to a %, e.g. 0.5 > 50%' + ), + example: 'percentage(@number);', + type: 'percentage', + }, + { + name: 'round', + description: Vo( + 'less.builtin.round', + 'rounds a number to a number of places' + ), + example: 'round(number, [places: 0]);', + }, + { + name: 'sqrt', + description: Vo( + 'less.builtin.sqrt', + 'calculates square root of a number' + ), + example: 'sqrt(number);', + }, + { + name: 'sin', + description: Vo('less.builtin.sin', 'sine function'), + example: 'sin(number);', + }, + { + name: 'tan', + description: Vo('less.builtin.tan', 'tangent function'), + example: 'tan(number);', + }, + { + name: 'atan', + description: Vo( + 'less.builtin.atan', + 'arctangent - inverse of tangent function' + ), + example: 'atan(number);', + }, + { + name: 'pi', + description: Vo('less.builtin.pi', 'returns pi'), + example: 'pi();', + }, + { + name: 'pow', + description: Vo( + 'less.builtin.pow', + 'first argument raised to the power of the second argument' + ), + example: 'pow(@base, @exponent);', + }, + { + name: 'mod', + description: Vo( + 'less.builtin.mod', + 'first argument modulus second argument' + ), + example: 'mod(number, number);', + }, + { + name: 'min', + description: Vo( + 'less.builtin.min', + 'returns the lowest of one or more values' + ), + example: 'min(@x, @y);', + }, + { + name: 'max', + description: Vo( + 'less.builtin.max', + 'returns the lowest of one or more values' + ), + example: 'max(@x, @y);', + }, + ]), + (t.colorProposals = [ + { + name: 'argb', + example: 'argb(@color);', + description: Vo('less.builtin.argb', 'creates a #AARRGGBB'), + }, + { + name: 'hsl', + example: 'hsl(@hue, @saturation, @lightness);', + description: Vo('less.builtin.hsl', 'creates a color'), + }, + { + name: 'hsla', + example: 'hsla(@hue, @saturation, @lightness, @alpha);', + description: Vo('less.builtin.hsla', 'creates a color'), + }, + { + name: 'hsv', + example: 'hsv(@hue, @saturation, @value);', + description: Vo('less.builtin.hsv', 'creates a color'), + }, + { + name: 'hsva', + example: 'hsva(@hue, @saturation, @value, @alpha);', + description: Vo('less.builtin.hsva', 'creates a color'), + }, + { + name: 'hue', + example: 'hue(@color);', + description: Vo( + 'less.builtin.hue', + 'returns the `hue` channel of `@color` in the HSL space' + ), + }, + { + name: 'saturation', + example: 'saturation(@color);', + description: Vo( + 'less.builtin.saturation', + 'returns the `saturation` channel of `@color` in the HSL space' + ), + }, + { + name: 'lightness', + example: 'lightness(@color);', + description: Vo( + 'less.builtin.lightness', + 'returns the `lightness` channel of `@color` in the HSL space' + ), + }, + { + name: 'hsvhue', + example: 'hsvhue(@color);', + description: Vo( + 'less.builtin.hsvhue', + 'returns the `hue` channel of `@color` in the HSV space' + ), + }, + { + name: 'hsvsaturation', + example: 'hsvsaturation(@color);', + description: Vo( + 'less.builtin.hsvsaturation', + 'returns the `saturation` channel of `@color` in the HSV space' + ), + }, + { + name: 'hsvvalue', + example: 'hsvvalue(@color);', + description: Vo( + 'less.builtin.hsvvalue', + 'returns the `value` channel of `@color` in the HSV space' + ), + }, + { + name: 'red', + example: 'red(@color);', + description: Vo( + 'less.builtin.red', + 'returns the `red` channel of `@color`' + ), + }, + { + name: 'green', + example: 'green(@color);', + description: Vo( + 'less.builtin.green', + 'returns the `green` channel of `@color`' + ), + }, + { + name: 'blue', + example: 'blue(@color);', + description: Vo( + 'less.builtin.blue', + 'returns the `blue` channel of `@color`' + ), + }, + { + name: 'alpha', + example: 'alpha(@color);', + description: Vo( + 'less.builtin.alpha', + 'returns the `alpha` channel of `@color`' + ), + }, + { + name: 'luma', + example: 'luma(@color);', + description: Vo( + 'less.builtin.luma', + 'returns the `luma` value (perceptual brightness) of `@color`' + ), + }, + { + name: 'saturate', + example: 'saturate(@color, 10%);', + description: Vo( + 'less.builtin.saturate', + 'return `@color` 10% points more saturated' + ), + }, + { + name: 'desaturate', + example: 'desaturate(@color, 10%);', + description: Vo( + 'less.builtin.desaturate', + 'return `@color` 10% points less saturated' + ), + }, + { + name: 'lighten', + example: 'lighten(@color, 10%);', + description: Vo( + 'less.builtin.lighten', + 'return `@color` 10% points lighter' + ), + }, + { + name: 'darken', + example: 'darken(@color, 10%);', + description: Vo( + 'less.builtin.darken', + 'return `@color` 10% points darker' + ), + }, + { + name: 'fadein', + example: 'fadein(@color, 10%);', + description: Vo( + 'less.builtin.fadein', + 'return `@color` 10% points less transparent' + ), + }, + { + name: 'fadeout', + example: 'fadeout(@color, 10%);', + description: Vo( + 'less.builtin.fadeout', + 'return `@color` 10% points more transparent' + ), + }, + { + name: 'fade', + example: 'fade(@color, 50%);', + description: Vo( + 'less.builtin.fade', + 'return `@color` with 50% transparency' + ), + }, + { + name: 'spin', + example: 'spin(@color, 10);', + description: Vo( + 'less.builtin.spin', + 'return `@color` with a 10 degree larger in hue' + ), + }, + { + name: 'mix', + example: 'mix(@color1, @color2, [@weight: 50%]);', + description: Vo( + 'less.builtin.mix', + 'return a mix of `@color1` and `@color2`' + ), + }, + { + name: 'greyscale', + example: 'greyscale(@color);', + description: Vo( + 'less.builtin.greyscale', + 'returns a grey, 100% desaturated color' + ), + }, + { + name: 'contrast', + example: + 'contrast(@color1, [@darkcolor: black], [@lightcolor: white], [@threshold: 43%]);', + description: Vo( + 'less.builtin.contrast', + 'return `@darkcolor` if `@color1 is> 43% luma` otherwise return `@lightcolor`, see notes' + ), + }, + { name: 'multiply', example: 'multiply(@color1, @color2);' }, + { name: 'screen', example: 'screen(@color1, @color2);' }, + { name: 'overlay', example: 'overlay(@color1, @color2);' }, + { name: 'softlight', example: 'softlight(@color1, @color2);' }, + { name: 'hardlight', example: 'hardlight(@color1, @color2);' }, + { name: 'difference', example: 'difference(@color1, @color2);' }, + { name: 'exclusion', example: 'exclusion(@color1, @color2);' }, + { name: 'average', example: 'average(@color1, @color2);' }, + { name: 'negation', example: 'negation(@color1, @color2);' }, + ]); + })(si); + var Bo = { + version: 1.1, + properties: [ + { + name: 'additive-symbols', + browsers: ['FF33'], + syntax: '[ <integer> && <symbol> ]#', + relevance: 50, + description: + "@counter-style descriptor. Specifies the symbols used by the marker-construction algorithm specified by the system descriptor. Needs to be specified if the counter system is 'additive'.", + restrictions: ['integer', 'string', 'image', 'identifier'], + }, + { + name: 'align-content', + values: [ + { + name: 'center', + description: + 'Lines are packed toward the center of the flex container.', + }, + { + name: 'flex-end', + description: + 'Lines are packed toward the end of the flex container.', + }, + { + name: 'flex-start', + description: + 'Lines are packed toward the start of the flex container.', + }, + { + name: 'space-around', + description: + 'Lines are evenly distributed in the flex container, with half-size spaces on either end.', + }, + { + name: 'space-between', + description: + 'Lines are evenly distributed in the flex container.', + }, + { + name: 'stretch', + description: 'Lines stretch to take up the remaining space.', + }, + ], + syntax: + 'normal | <baseline-position> | <content-distribution> | <overflow-position>? <content-position>', + relevance: 59, + description: + "Aligns a flex container’s lines within the flex container when there is extra space in the cross-axis, similar to how 'justify-content' aligns individual items within the main-axis.", + restrictions: ['enum'], + }, + { + name: 'align-items', + values: [ + { + name: 'baseline', + description: + "If the flex item’s inline axis is the same as the cross axis, this value is identical to 'flex-start'. Otherwise, it participates in baseline alignment.", + }, + { + name: 'center', + description: + 'The flex item’s margin box is centered in the cross axis within the line.', + }, + { + name: 'flex-end', + description: + 'The cross-end margin edge of the flex item is placed flush with the cross-end edge of the line.', + }, + { + name: 'flex-start', + description: + 'The cross-start margin edge of the flex item is placed flush with the cross-start edge of the line.', + }, + { + name: 'stretch', + description: + 'If the cross size property of the flex item computes to auto, and neither of the cross-axis margins are auto, the flex item is stretched.', + }, + ], + syntax: + 'normal | stretch | <baseline-position> | [ <overflow-position>? <self-position> ]', + relevance: 81, + description: + 'Aligns flex items along the cross axis of the current line of the flex container.', + restrictions: ['enum'], + }, + { + name: 'justify-items', + values: [ + { name: 'auto' }, + { name: 'normal' }, + { name: 'end' }, + { name: 'start' }, + { + name: 'flex-end', + description: + '"Flex items are packed toward the end of the line."', + }, + { + name: 'flex-start', + description: + '"Flex items are packed toward the start of the line."', + }, + { + name: 'self-end', + description: + 'The item is packed flush to the edge of the alignment container of the end side of the item, in the appropriate axis.', + }, + { + name: 'self-start', + description: + 'The item is packed flush to the edge of the alignment container of the start side of the item, in the appropriate axis..', + }, + { + name: 'center', + description: + 'The items are packed flush to each other toward the center of the of the alignment container.', + }, + { name: 'left' }, + { name: 'right' }, + { name: 'baseline' }, + { name: 'first baseline' }, + { name: 'last baseline' }, + { + name: 'stretch', + description: + 'If the cross size property of the flex item computes to auto, and neither of the cross-axis margins are auto, the flex item is stretched.', + }, + { name: 'save' }, + { name: 'unsave' }, + { name: 'legacy' }, + ], + syntax: + 'normal | stretch | <baseline-position> | <overflow-position>? [ <self-position> | left | right ] | legacy | legacy && [ left | right | center ]', + relevance: 50, + description: + 'Defines the default justify-self for all items of the box, giving them the default way of justifying each box along the appropriate axis', + restrictions: ['enum'], + }, + { + name: 'justify-self', + browsers: ['E16', 'FF45', 'S10.1', 'C57', 'O44'], + values: [ + { name: 'auto' }, + { name: 'normal' }, + { name: 'end' }, + { name: 'start' }, + { + name: 'flex-end', + description: + '"Flex items are packed toward the end of the line."', + }, + { + name: 'flex-start', + description: + '"Flex items are packed toward the start of the line."', + }, + { + name: 'self-end', + description: + 'The item is packed flush to the edge of the alignment container of the end side of the item, in the appropriate axis.', + }, + { + name: 'self-start', + description: + 'The item is packed flush to the edge of the alignment container of the start side of the item, in the appropriate axis..', + }, + { + name: 'center', + description: + 'The items are packed flush to each other toward the center of the of the alignment container.', + }, + { name: 'left' }, + { name: 'right' }, + { name: 'baseline' }, + { name: 'first baseline' }, + { name: 'last baseline' }, + { + name: 'stretch', + description: + 'If the cross size property of the flex item computes to auto, and neither of the cross-axis margins are auto, the flex item is stretched.', + }, + { name: 'save' }, + { name: 'unsave' }, + ], + syntax: + 'auto | normal | stretch | <baseline-position> | <overflow-position>? [ <self-position> | left | right ]', + relevance: 52, + description: + 'Defines the way of justifying a box inside its container along the appropriate axis.', + restrictions: ['enum'], + }, + { + name: 'align-self', + values: [ + { + name: 'auto', + description: + "Computes to the value of 'align-items' on the element’s parent, or 'stretch' if the element has no parent. On absolutely positioned elements, it computes to itself.", + }, + { + name: 'baseline', + description: + "If the flex item’s inline axis is the same as the cross axis, this value is identical to 'flex-start'. Otherwise, it participates in baseline alignment.", + }, + { + name: 'center', + description: + 'The flex item’s margin box is centered in the cross axis within the line.', + }, + { + name: 'flex-end', + description: + 'The cross-end margin edge of the flex item is placed flush with the cross-end edge of the line.', + }, + { + name: 'flex-start', + description: + 'The cross-start margin edge of the flex item is placed flush with the cross-start edge of the line.', + }, + { + name: 'stretch', + description: + 'If the cross size property of the flex item computes to auto, and neither of the cross-axis margins are auto, the flex item is stretched.', + }, + ], + syntax: + 'auto | normal | stretch | <baseline-position> | <overflow-position>? <self-position>', + relevance: 69, + description: + 'Allows the default alignment along the cross axis to be overridden for individual flex items.', + restrictions: ['enum'], + }, + { + name: 'all', + browsers: ['E79', 'FF27', 'S9.1', 'C37', 'O24'], + values: [], + syntax: 'initial | inherit | unset | revert', + relevance: 51, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/all', + }, + ], + description: + "Shorthand that resets all properties except 'direction' and 'unicode-bidi'.", + restrictions: ['enum'], + }, + { + name: 'alt', + browsers: ['S9'], + values: [], + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/alt', + }, + ], + description: + 'Provides alternative text for assistive technology to replace the generated content of a ::before or ::after element.', + restrictions: ['string', 'enum'], + }, + { + name: 'animation', + values: [ + { + name: 'alternate', + description: + 'The animation cycle iterations that are odd counts are played in the normal direction, and the animation cycle iterations that are even counts are played in a reverse direction.', + }, + { + name: 'alternate-reverse', + description: + 'The animation cycle iterations that are odd counts are played in the reverse direction, and the animation cycle iterations that are even counts are played in a normal direction.', + }, + { + name: 'backwards', + description: + "The beginning property value (as defined in the first @keyframes at-rule) is applied before the animation is displayed, during the period defined by 'animation-delay'.", + }, + { + name: 'both', + description: + 'Both forwards and backwards fill modes are applied.', + }, + { + name: 'forwards', + description: + 'The final property value (as defined in the last @keyframes at-rule) is maintained after the animation completes.', + }, + { + name: 'infinite', + description: 'Causes the animation to repeat forever.', + }, + { name: 'none', description: 'No animation is performed' }, + { name: 'normal', description: 'Normal playback.' }, + { + name: 'reverse', + description: + 'All iterations of the animation are played in the reverse direction from the way they were specified.', + }, + ], + syntax: '<single-animation>#', + relevance: 79, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/animation', + }, + ], + description: + 'Shorthand property combines six of the animation properties into a single property.', + restrictions: [ + 'time', + 'timing-function', + 'enum', + 'identifier', + 'number', + ], + }, + { + name: 'animation-delay', + syntax: '<time>#', + relevance: 62, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/animation-delay', + }, + ], + description: 'Defines when the animation will start.', + restrictions: ['time'], + }, + { + name: 'animation-direction', + values: [ + { + name: 'alternate', + description: + 'The animation cycle iterations that are odd counts are played in the normal direction, and the animation cycle iterations that are even counts are played in a reverse direction.', + }, + { + name: 'alternate-reverse', + description: + 'The animation cycle iterations that are odd counts are played in the reverse direction, and the animation cycle iterations that are even counts are played in a normal direction.', + }, + { name: 'normal', description: 'Normal playback.' }, + { + name: 'reverse', + description: + 'All iterations of the animation are played in the reverse direction from the way they were specified.', + }, + ], + syntax: '<single-animation-direction>#', + relevance: 55, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/animation-direction', + }, + ], + description: + 'Defines whether or not the animation should play in reverse on alternate cycles.', + restrictions: ['enum'], + }, + { + name: 'animation-duration', + syntax: '<time>#', + relevance: 64, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/animation-duration', + }, + ], + description: + 'Defines the length of time that an animation takes to complete one cycle.', + restrictions: ['time'], + }, + { + name: 'animation-fill-mode', + values: [ + { + name: 'backwards', + description: + "The beginning property value (as defined in the first @keyframes at-rule) is applied before the animation is displayed, during the period defined by 'animation-delay'.", + }, + { + name: 'both', + description: + 'Both forwards and backwards fill modes are applied.', + }, + { + name: 'forwards', + description: + 'The final property value (as defined in the last @keyframes at-rule) is maintained after the animation completes.', + }, + { + name: 'none', + description: + 'There is no change to the property value between the time the animation is applied and the time the animation begins playing or after the animation completes.', + }, + ], + syntax: '<single-animation-fill-mode>#', + relevance: 61, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/animation-fill-mode', + }, + ], + description: + 'Defines what values are applied by the animation outside the time it is executing.', + restrictions: ['enum'], + }, + { + name: 'animation-iteration-count', + values: [ + { + name: 'infinite', + description: 'Causes the animation to repeat forever.', + }, + ], + syntax: '<single-animation-iteration-count>#', + relevance: 59, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/animation-iteration-count', + }, + ], + description: + 'Defines the number of times an animation cycle is played. The default value is one, meaning the animation will play from beginning to end once.', + restrictions: ['number', 'enum'], + }, + { + name: 'animation-name', + values: [ + { name: 'none', description: 'No animation is performed' }, + ], + syntax: '[ none | <keyframes-name> ]#', + relevance: 64, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/animation-name', + }, + ], + description: + 'Defines a list of animations that apply. Each name is used to select the keyframe at-rule that provides the property values for the animation.', + restrictions: ['identifier', 'enum'], + }, + { + name: 'animation-play-state', + values: [ + { + name: 'paused', + description: 'A running animation will be paused.', + }, + { + name: 'running', + description: 'Resume playback of a paused animation.', + }, + ], + syntax: '<single-animation-play-state>#', + relevance: 53, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/animation-play-state', + }, + ], + description: + 'Defines whether the animation is running or paused.', + restrictions: ['enum'], + }, + { + name: 'animation-timing-function', + syntax: '<timing-function>#', + relevance: 68, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/animation-timing-function', + }, + ], + description: + 'Describes how the animation will progress over one cycle of its duration.', + restrictions: ['timing-function'], + }, + { + name: 'backface-visibility', + values: [ + { name: 'hidden', description: 'Back side is hidden.' }, + { name: 'visible', description: 'Back side is visible.' }, + ], + syntax: 'visible | hidden', + relevance: 59, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/backface-visibility', + }, + ], + description: + "Determines whether or not the 'back' side of a transformed element is visible when facing the viewer. With an identity transform, the front side of an element faces the viewer.", + restrictions: ['enum'], + }, + { + name: 'background', + values: [ + { + name: 'fixed', + description: + "The background is fixed with regard to the viewport. In paged media where there is no viewport, a 'fixed' background is fixed with respect to the page box and therefore replicated on every page.", + }, + { + name: 'local', + description: + "The background is fixed with regard to the element's contents: if the element has a scrolling mechanism, the background scrolls with the element's contents.", + }, + { + name: 'none', + description: + "A value of 'none' counts as an image layer but draws nothing.", + }, + { + name: 'scroll', + description: + "The background is fixed with regard to the element itself and does not scroll with its contents. (It is effectively attached to the element's border.)", + }, + ], + syntax: '[ <bg-layer> , ]* <final-bg-layer>', + relevance: 93, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/background', + }, + ], + description: + 'Shorthand property for setting most background properties at the same place in the style sheet.', + restrictions: [ + 'enum', + 'image', + 'color', + 'position', + 'length', + 'repeat', + 'percentage', + 'box', + ], + }, + { + name: 'background-attachment', + values: [ + { + name: 'fixed', + description: + "The background is fixed with regard to the viewport. In paged media where there is no viewport, a 'fixed' background is fixed with respect to the page box and therefore replicated on every page.", + }, + { + name: 'local', + description: + 'The background is fixed with regard to the element’s contents: if the element has a scrolling mechanism, the background scrolls with the element’s contents.', + }, + { + name: 'scroll', + description: + 'The background is fixed with regard to the element itself and does not scroll with its contents. (It is effectively attached to the element’s border.)', + }, + ], + syntax: '<attachment>#', + relevance: 53, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/background-attachment', + }, + ], + description: + "Specifies whether the background images are fixed with regard to the viewport ('fixed') or scroll along with the element ('scroll') or its contents ('local').", + restrictions: ['enum'], + }, + { + name: 'background-blend-mode', + browsers: ['E79', 'FF30', 'S8', 'C35', 'O22'], + values: [ + { + name: 'normal', + description: 'Default attribute which specifies no blending', + }, + { + name: 'multiply', + description: + 'The source color is multiplied by the destination color and replaces the destination.', + }, + { + name: 'screen', + description: + 'Multiplies the complements of the backdrop and source color values, then complements the result.', + }, + { + name: 'overlay', + description: + 'Multiplies or screens the colors, depending on the backdrop color value.', + }, + { + name: 'darken', + description: + 'Selects the darker of the backdrop and source colors.', + }, + { + name: 'lighten', + description: + 'Selects the lighter of the backdrop and source colors.', + }, + { + name: 'color-dodge', + description: + 'Brightens the backdrop color to reflect the source color.', + }, + { + name: 'color-burn', + description: + 'Darkens the backdrop color to reflect the source color.', + }, + { + name: 'hard-light', + description: + 'Multiplies or screens the colors, depending on the source color value.', + }, + { + name: 'soft-light', + description: + 'Darkens or lightens the colors, depending on the source color value.', + }, + { + name: 'difference', + description: + 'Subtracts the darker of the two constituent colors from the lighter color..', + }, + { + name: 'exclusion', + description: + 'Produces an effect similar to that of the Difference mode but lower in contrast.', + }, + { + name: 'hue', + browsers: ['E79', 'FF30', 'S8', 'C35', 'O22'], + description: + 'Creates a color with the hue of the source color and the saturation and luminosity of the backdrop color.', + }, + { + name: 'saturation', + browsers: ['E79', 'FF30', 'S8', 'C35', 'O22'], + description: + 'Creates a color with the saturation of the source color and the hue and luminosity of the backdrop color.', + }, + { + name: 'color', + browsers: ['E79', 'FF30', 'S8', 'C35', 'O22'], + description: + 'Creates a color with the hue and saturation of the source color and the luminosity of the backdrop color.', + }, + { + name: 'luminosity', + browsers: ['E79', 'FF30', 'S8', 'C35', 'O22'], + description: + 'Creates a color with the luminosity of the source color and the hue and saturation of the backdrop color.', + }, + ], + syntax: '<blend-mode>#', + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/background-blend-mode', + }, + ], + description: + 'Defines the blending mode of each background layer.', + restrictions: ['enum'], + }, + { + name: 'background-clip', + syntax: '<box>#', + relevance: 67, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/background-clip', + }, + ], + description: 'Determines the background painting area.', + restrictions: ['box'], + }, + { + name: 'background-color', + syntax: '<color>', + relevance: 94, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/background-color', + }, + ], + description: 'Sets the background color of an element.', + restrictions: ['color'], + }, + { + name: 'background-image', + values: [ + { + name: 'none', + description: 'Counts as an image layer but draws nothing.', + }, + ], + syntax: '<bg-image>#', + relevance: 88, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/background-image', + }, + ], + description: 'Sets the background image(s) of an element.', + restrictions: ['image', 'enum'], + }, + { + name: 'background-origin', + syntax: '<box>#', + relevance: 53, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/background-origin', + }, + ], + description: + "For elements rendered as a single box, specifies the background positioning area. For elements rendered as multiple boxes (e.g., inline boxes on several lines, boxes on several pages) specifies which boxes 'box-decoration-break' operates on to determine the background positioning area(s).", + restrictions: ['box'], + }, + { + name: 'background-position', + syntax: '<bg-position>#', + relevance: 87, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/background-position', + }, + ], + description: + 'Specifies the initial position of the background image(s) (after any resizing) within their corresponding background positioning area.', + restrictions: ['position', 'length', 'percentage'], + }, + { + name: 'background-position-x', + values: [ + { + name: 'center', + description: + "Equivalent to '50%' ('left 50%') for the horizontal position if the horizontal position is not otherwise specified, or '50%' ('top 50%') for the vertical position if it is.", + }, + { + name: 'left', + description: + "Equivalent to '0%' for the horizontal position if one or two values are given, otherwise specifies the left edge as the origin for the next offset.", + }, + { + name: 'right', + description: + "Equivalent to '100%' for the horizontal position if one or two values are given, otherwise specifies the right edge as the origin for the next offset.", + }, + ], + status: 'experimental', + syntax: + '[ center | [ [ left | right | x-start | x-end ]? <length-percentage>? ]! ]#', + relevance: 54, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/background-position-x', + }, + ], + description: + 'If background images have been specified, this property specifies their initial position (after any resizing) within their corresponding background positioning area.', + restrictions: ['length', 'percentage'], + }, + { + name: 'background-position-y', + values: [ + { + name: 'bottom', + description: + "Equivalent to '100%' for the vertical position if one or two values are given, otherwise specifies the bottom edge as the origin for the next offset.", + }, + { + name: 'center', + description: + "Equivalent to '50%' ('left 50%') for the horizontal position if the horizontal position is not otherwise specified, or '50%' ('top 50%') for the vertical position if it is.", + }, + { + name: 'top', + description: + "Equivalent to '0%' for the vertical position if one or two values are given, otherwise specifies the top edge as the origin for the next offset.", + }, + ], + status: 'experimental', + syntax: + '[ center | [ [ top | bottom | y-start | y-end ]? <length-percentage>? ]! ]#', + relevance: 53, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/background-position-y', + }, + ], + description: + 'If background images have been specified, this property specifies their initial position (after any resizing) within their corresponding background positioning area.', + restrictions: ['length', 'percentage'], + }, + { + name: 'background-repeat', + values: [], + syntax: '<repeat-style>#', + relevance: 85, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/background-repeat', + }, + ], + description: + 'Specifies how background images are tiled after they have been sized and positioned.', + restrictions: ['repeat'], + }, + { + name: 'background-size', + values: [ + { + name: 'auto', + description: + 'Resolved by using the image’s intrinsic ratio and the size of the other dimension, or failing that, using the image’s intrinsic size, or failing that, treating it as 100%.', + }, + { + name: 'contain', + description: + 'Scale the image, while preserving its intrinsic aspect ratio (if any), to the largest size such that both its width and its height can fit inside the background positioning area.', + }, + { + name: 'cover', + description: + 'Scale the image, while preserving its intrinsic aspect ratio (if any), to the smallest size such that both its width and its height can completely cover the background positioning area.', + }, + ], + syntax: '<bg-size>#', + relevance: 85, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/background-size', + }, + ], + description: 'Specifies the size of the background images.', + restrictions: ['length', 'percentage'], + }, + { + name: 'behavior', + browsers: ['IE6'], + relevance: 50, + description: 'IE only. Used to extend behaviors of the browser.', + restrictions: ['url'], + }, + { + name: 'block-size', + browsers: ['E79', 'FF41', 'S12.1', 'C57', 'O44'], + values: [ + { + name: 'auto', + description: 'Depends on the values of other properties.', + }, + ], + syntax: "<'width'>", + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/block-size', + }, + ], + description: + "Logical 'width'. Mapping depends on the element’s 'writing-mode'.", + restrictions: ['length', 'percentage'], + }, + { + name: 'border', + syntax: '<line-width> || <line-style> || <color>', + relevance: 95, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/border', + }, + ], + description: + 'Shorthand property for setting border width, style, and color.', + restrictions: ['length', 'line-width', 'line-style', 'color'], + }, + { + name: 'border-block-end', + browsers: ['E79', 'FF41', 'S12.1', 'C69', 'O56'], + syntax: + "<'border-top-width'> || <'border-top-style'> || <'color'>", + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/border-block-end', + }, + ], + description: + "Logical 'border-bottom'. Mapping depends on the parent element’s 'writing-mode', 'direction', and 'text-orientation'.", + restrictions: ['length', 'line-width', 'line-style', 'color'], + }, + { + name: 'border-block-start', + browsers: ['E79', 'FF41', 'S12.1', 'C69', 'O56'], + syntax: + "<'border-top-width'> || <'border-top-style'> || <'color'>", + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/border-block-start', + }, + ], + description: + "Logical 'border-top'. Mapping depends on the parent element’s 'writing-mode', 'direction', and 'text-orientation'.", + restrictions: ['length', 'line-width', 'line-style', 'color'], + }, + { + name: 'border-block-end-color', + browsers: ['E79', 'FF41', 'S12.1', 'C69', 'O56'], + syntax: "<'border-top-color'>", + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/border-block-end-color', + }, + ], + description: + "Logical 'border-bottom-color'. Mapping depends on the parent element’s 'writing-mode', 'direction', and 'text-orientation'.", + restrictions: ['color'], + }, + { + name: 'border-block-start-color', + browsers: ['E79', 'FF41', 'S12.1', 'C69', 'O56'], + syntax: "<'border-top-color'>", + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/border-block-start-color', + }, + ], + description: + "Logical 'border-top-color'. Mapping depends on the parent element’s 'writing-mode', 'direction', and 'text-orientation'.", + restrictions: ['color'], + }, + { + name: 'border-block-end-style', + browsers: ['E79', 'FF41', 'S12.1', 'C69', 'O56'], + syntax: "<'border-top-style'>", + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/border-block-end-style', + }, + ], + description: + "Logical 'border-bottom-style'. Mapping depends on the parent element’s 'writing-mode', 'direction', and 'text-orientation'.", + restrictions: ['line-style'], + }, + { + name: 'border-block-start-style', + browsers: ['E79', 'FF41', 'S12.1', 'C69', 'O56'], + syntax: "<'border-top-style'>", + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/border-block-start-style', + }, + ], + description: + "Logical 'border-top-style'. Mapping depends on the parent element’s 'writing-mode', 'direction', and 'text-orientation'.", + restrictions: ['line-style'], + }, + { + name: 'border-block-end-width', + browsers: ['E79', 'FF41', 'S12.1', 'C69', 'O56'], + syntax: "<'border-top-width'>", + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/border-block-end-width', + }, + ], + description: + "Logical 'border-bottom-width'. Mapping depends on the parent element’s 'writing-mode', 'direction', and 'text-orientation'.", + restrictions: ['length', 'line-width'], + }, + { + name: 'border-block-start-width', + browsers: ['E79', 'FF41', 'S12.1', 'C69', 'O56'], + syntax: "<'border-top-width'>", + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/border-block-start-width', + }, + ], + description: + "Logical 'border-top-width'. Mapping depends on the parent element’s 'writing-mode', 'direction', and 'text-orientation'.", + restrictions: ['length', 'line-width'], + }, + { + name: 'border-bottom', + syntax: '<line-width> || <line-style> || <color>', + relevance: 88, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/border-bottom', + }, + ], + description: + 'Shorthand property for setting border width, style and color.', + restrictions: ['length', 'line-width', 'line-style', 'color'], + }, + { + name: 'border-bottom-color', + syntax: "<'border-top-color'>", + relevance: 71, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/border-bottom-color', + }, + ], + description: 'Sets the color of the bottom border.', + restrictions: ['color'], + }, + { + name: 'border-bottom-left-radius', + syntax: '<length-percentage>{1,2}', + relevance: 74, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/border-bottom-left-radius', + }, + ], + description: + 'Defines the radii of the bottom left outer border edge.', + restrictions: ['length', 'percentage'], + }, + { + name: 'border-bottom-right-radius', + syntax: '<length-percentage>{1,2}', + relevance: 73, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/border-bottom-right-radius', + }, + ], + description: + 'Defines the radii of the bottom right outer border edge.', + restrictions: ['length', 'percentage'], + }, + { + name: 'border-bottom-style', + syntax: '<line-style>', + relevance: 57, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/border-bottom-style', + }, + ], + description: 'Sets the style of the bottom border.', + restrictions: ['line-style'], + }, + { + name: 'border-bottom-width', + syntax: '<line-width>', + relevance: 62, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/border-bottom-width', + }, + ], + description: 'Sets the thickness of the bottom border.', + restrictions: ['length', 'line-width'], + }, + { + name: 'border-collapse', + values: [ + { + name: 'collapse', + description: 'Selects the collapsing borders model.', + }, + { + name: 'separate', + description: 'Selects the separated borders border model.', + }, + ], + syntax: 'collapse | separate', + relevance: 75, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/border-collapse', + }, + ], + description: "Selects a table's border model.", + restrictions: ['enum'], + }, + { + name: 'border-color', + values: [], + syntax: '<color>{1,4}', + relevance: 86, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/border-color', + }, + ], + description: + 'The color of the border around all four edges of an element.', + restrictions: ['color'], + }, + { + name: 'border-image', + values: [ + { + name: 'auto', + description: + "If 'auto' is specified then the border image width is the intrinsic width or height (whichever is applicable) of the corresponding image slice. If the image does not have the required intrinsic dimension then the corresponding border-width is used instead.", + }, + { + name: 'fill', + description: + 'Causes the middle part of the border-image to be preserved.', + }, + { name: 'none', description: 'Use the border styles.' }, + { + name: 'repeat', + description: + 'The image is tiled (repeated) to fill the area.', + }, + { + name: 'round', + description: + 'The image is tiled (repeated) to fill the area. If it does not fill the area with a whole number of tiles, the image is rescaled so that it does.', + }, + { + name: 'space', + description: + 'The image is tiled (repeated) to fill the area. If it does not fill the area with a whole number of tiles, the extra space is distributed around the tiles.', + }, + { + name: 'stretch', + description: 'The image is stretched to fill the area.', + }, + { name: 'url()' }, + ], + syntax: + "<'border-image-source'> || <'border-image-slice'> [ / <'border-image-width'> | / <'border-image-width'>? / <'border-image-outset'> ]? || <'border-image-repeat'>", + relevance: 52, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/border-image', + }, + ], + description: + "Shorthand property for setting 'border-image-source', 'border-image-slice', 'border-image-width', 'border-image-outset' and 'border-image-repeat'. Omitted values are set to their initial values.", + restrictions: ['length', 'percentage', 'number', 'url', 'enum'], + }, + { + name: 'border-image-outset', + syntax: '[ <length> | <number> ]{1,4}', + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/border-image-outset', + }, + ], + description: + 'The values specify the amount by which the border image area extends beyond the border box on the top, right, bottom, and left sides respectively. If the fourth value is absent, it is the same as the second. If the third one is also absent, it is the same as the first. If the second one is also absent, it is the same as the first. Numbers represent multiples of the corresponding border-width.', + restrictions: ['length', 'number'], + }, + { + name: 'border-image-repeat', + values: [ + { + name: 'repeat', + description: + 'The image is tiled (repeated) to fill the area.', + }, + { + name: 'round', + description: + 'The image is tiled (repeated) to fill the area. If it does not fill the area with a whole number of tiles, the image is rescaled so that it does.', + }, + { + name: 'space', + description: + 'The image is tiled (repeated) to fill the area. If it does not fill the area with a whole number of tiles, the extra space is distributed around the tiles.', + }, + { + name: 'stretch', + description: 'The image is stretched to fill the area.', + }, + ], + syntax: '[ stretch | repeat | round | space ]{1,2}', + relevance: 51, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/border-image-repeat', + }, + ], + description: + 'Specifies how the images for the sides and the middle part of the border image are scaled and tiled. If the second keyword is absent, it is assumed to be the same as the first.', + restrictions: ['enum'], + }, + { + name: 'border-image-slice', + values: [ + { + name: 'fill', + description: + 'Causes the middle part of the border-image to be preserved.', + }, + ], + syntax: '<number-percentage>{1,4} && fill?', + relevance: 51, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/border-image-slice', + }, + ], + description: + 'Specifies inward offsets from the top, right, bottom, and left edges of the image, dividing it into nine regions: four corners, four edges and a middle.', + restrictions: ['number', 'percentage'], + }, + { + name: 'border-image-source', + values: [{ name: 'none', description: 'Use the border styles.' }], + syntax: 'none | <image>', + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/border-image-source', + }, + ], + description: + "Specifies an image to use instead of the border styles given by the 'border-style' properties and as an additional background layer for the element. If the value is 'none' or if the image cannot be displayed, the border styles will be used.", + restrictions: ['image'], + }, + { + name: 'border-image-width', + values: [ + { + name: 'auto', + description: + 'The border image width is the intrinsic width or height (whichever is applicable) of the corresponding image slice. If the image does not have the required intrinsic dimension then the corresponding border-width is used instead.', + }, + ], + syntax: '[ <length-percentage> | <number> | auto ]{1,4}', + relevance: 51, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/border-image-width', + }, + ], + description: + "The four values of 'border-image-width' specify offsets that are used to divide the border image area into nine parts. They represent inward distances from the top, right, bottom, and left sides of the area, respectively.", + restrictions: ['length', 'percentage', 'number'], + }, + { + name: 'border-inline-end', + browsers: ['E79', 'FF41', 'S12.1', 'C69', 'O56'], + syntax: + "<'border-top-width'> || <'border-top-style'> || <'color'>", + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/border-inline-end', + }, + ], + description: + "Logical 'border-right'. Mapping depends on the parent element’s 'writing-mode', 'direction', and 'text-orientation'.", + restrictions: ['length', 'line-width', 'line-style', 'color'], + }, + { + name: 'border-inline-start', + browsers: ['E79', 'FF41', 'S12.1', 'C69', 'O56'], + syntax: + "<'border-top-width'> || <'border-top-style'> || <'color'>", + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/border-inline-start', + }, + ], + description: + "Logical 'border-left'. Mapping depends on the parent element’s 'writing-mode', 'direction', and 'text-orientation'.", + restrictions: ['length', 'line-width', 'line-style', 'color'], + }, + { + name: 'border-inline-end-color', + browsers: ['E79', 'FF41', 'S12.1', 'C69', 'O56'], + syntax: "<'border-top-color'>", + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/border-inline-end-color', + }, + ], + description: + "Logical 'border-right-color'. Mapping depends on the parent element’s 'writing-mode', 'direction', and 'text-orientation'.", + restrictions: ['color'], + }, + { + name: 'border-inline-start-color', + browsers: ['E79', 'FF41', 'S12.1', 'C69', 'O56'], + syntax: "<'border-top-color'>", + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/border-inline-start-color', + }, + ], + description: + "Logical 'border-left-color'. Mapping depends on the parent element’s 'writing-mode', 'direction', and 'text-orientation'.", + restrictions: ['color'], + }, + { + name: 'border-inline-end-style', + browsers: ['E79', 'FF41', 'S12.1', 'C69', 'O56'], + syntax: "<'border-top-style'>", + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/border-inline-end-style', + }, + ], + description: + "Logical 'border-right-style'. Mapping depends on the parent element’s 'writing-mode', 'direction', and 'text-orientation'.", + restrictions: ['line-style'], + }, + { + name: 'border-inline-start-style', + browsers: ['E79', 'FF41', 'S12.1', 'C69', 'O56'], + syntax: "<'border-top-style'>", + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/border-inline-start-style', + }, + ], + description: + "Logical 'border-left-style'. Mapping depends on the parent element’s 'writing-mode', 'direction', and 'text-orientation'.", + restrictions: ['line-style'], + }, + { + name: 'border-inline-end-width', + browsers: ['E79', 'FF41', 'S12.1', 'C69', 'O56'], + syntax: "<'border-top-width'>", + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/border-inline-end-width', + }, + ], + description: + "Logical 'border-right-width'. Mapping depends on the parent element’s 'writing-mode', 'direction', and 'text-orientation'.", + restrictions: ['length', 'line-width'], + }, + { + name: 'border-inline-start-width', + browsers: ['E79', 'FF41', 'S12.1', 'C69', 'O56'], + syntax: "<'border-top-width'>", + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/border-inline-start-width', + }, + ], + description: + "Logical 'border-left-width'. Mapping depends on the parent element’s 'writing-mode', 'direction', and 'text-orientation'.", + restrictions: ['length', 'line-width'], + }, + { + name: 'border-left', + syntax: '<line-width> || <line-style> || <color>', + relevance: 82, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/border-left', + }, + ], + description: + 'Shorthand property for setting border width, style and color', + restrictions: ['length', 'line-width', 'line-style', 'color'], + }, + { + name: 'border-left-color', + syntax: '<color>', + relevance: 65, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/border-left-color', + }, + ], + description: 'Sets the color of the left border.', + restrictions: ['color'], + }, + { + name: 'border-left-style', + syntax: '<line-style>', + relevance: 54, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/border-left-style', + }, + ], + description: 'Sets the style of the left border.', + restrictions: ['line-style'], + }, + { + name: 'border-left-width', + syntax: '<line-width>', + relevance: 58, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/border-left-width', + }, + ], + description: 'Sets the thickness of the left border.', + restrictions: ['length', 'line-width'], + }, + { + name: 'border-radius', + syntax: + '<length-percentage>{1,4} [ / <length-percentage>{1,4} ]?', + relevance: 91, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/border-radius', + }, + ], + description: 'Defines the radii of the outer border edge.', + restrictions: ['length', 'percentage'], + }, + { + name: 'border-right', + syntax: '<line-width> || <line-style> || <color>', + relevance: 81, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/border-right', + }, + ], + description: + 'Shorthand property for setting border width, style and color', + restrictions: ['length', 'line-width', 'line-style', 'color'], + }, + { + name: 'border-right-color', + syntax: '<color>', + relevance: 64, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/border-right-color', + }, + ], + description: 'Sets the color of the right border.', + restrictions: ['color'], + }, + { + name: 'border-right-style', + syntax: '<line-style>', + relevance: 54, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/border-right-style', + }, + ], + description: 'Sets the style of the right border.', + restrictions: ['line-style'], + }, + { + name: 'border-right-width', + syntax: '<line-width>', + relevance: 60, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/border-right-width', + }, + ], + description: 'Sets the thickness of the right border.', + restrictions: ['length', 'line-width'], + }, + { + name: 'border-spacing', + syntax: '<length> <length>?', + relevance: 68, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/border-spacing', + }, + ], + description: + 'The lengths specify the distance that separates adjoining cell borders. If one length is specified, it gives both the horizontal and vertical spacing. If two are specified, the first gives the horizontal spacing and the second the vertical spacing. Lengths may not be negative.', + restrictions: ['length'], + }, + { + name: 'border-style', + values: [], + syntax: '<line-style>{1,4}', + relevance: 79, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/border-style', + }, + ], + description: + 'The style of the border around edges of an element.', + restrictions: ['line-style'], + }, + { + name: 'border-top', + syntax: '<line-width> || <line-style> || <color>', + relevance: 87, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/border-top', + }, + ], + description: + 'Shorthand property for setting border width, style and color', + restrictions: ['length', 'line-width', 'line-style', 'color'], + }, + { + name: 'border-top-color', + syntax: '<color>', + relevance: 71, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/border-top-color', + }, + ], + description: 'Sets the color of the top border.', + restrictions: ['color'], + }, + { + name: 'border-top-left-radius', + syntax: '<length-percentage>{1,2}', + relevance: 74, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/border-top-left-radius', + }, + ], + description: + 'Defines the radii of the top left outer border edge.', + restrictions: ['length', 'percentage'], + }, + { + name: 'border-top-right-radius', + syntax: '<length-percentage>{1,2}', + relevance: 72, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/border-top-right-radius', + }, + ], + description: + 'Defines the radii of the top right outer border edge.', + restrictions: ['length', 'percentage'], + }, + { + name: 'border-top-style', + syntax: '<line-style>', + relevance: 57, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/border-top-style', + }, + ], + description: 'Sets the style of the top border.', + restrictions: ['line-style'], + }, + { + name: 'border-top-width', + syntax: '<line-width>', + relevance: 61, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/border-top-width', + }, + ], + description: 'Sets the thickness of the top border.', + restrictions: ['length', 'line-width'], + }, + { + name: 'border-width', + values: [], + syntax: '<line-width>{1,4}', + relevance: 81, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/border-width', + }, + ], + description: + "Shorthand that sets the four 'border-*-width' properties. If it has four values, they set top, right, bottom and left in that order. If left is missing, it is the same as right; if bottom is missing, it is the same as top; if right is missing, it is the same as top.", + restrictions: ['length', 'line-width'], + }, + { + name: 'bottom', + values: [ + { + name: 'auto', + description: + "For non-replaced elements, the effect of this value depends on which of related properties have the value 'auto' as well", + }, + ], + syntax: '<length> | <percentage> | auto', + relevance: 89, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/bottom', + }, + ], + description: + "Specifies how far an absolutely positioned box's bottom margin edge is offset above the bottom edge of the box's 'containing block'.", + restrictions: ['length', 'percentage'], + }, + { + name: 'box-decoration-break', + browsers: ['E79', 'FF32', 'S6.1', 'C22', 'O15'], + values: [ + { + name: 'clone', + description: + 'Each box is independently wrapped with the border and padding.', + }, + { + name: 'slice', + description: + 'The effect is as though the element were rendered with no breaks present, and then sliced by the breaks afterward.', + }, + ], + syntax: 'slice | clone', + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/box-decoration-break', + }, + ], + description: + 'Specifies whether individual boxes are treated as broken pieces of one continuous box, or whether each box is individually wrapped with the border and padding.', + restrictions: ['enum'], + }, + { + name: 'box-shadow', + values: [ + { + name: 'inset', + description: + 'Changes the drop shadow from an outer shadow (one that shadows the box onto the canvas, as if it were lifted above the canvas) to an inner shadow (one that shadows the canvas onto the box, as if the box were cut out of the canvas and shifted behind it).', + }, + { name: 'none', description: 'No shadow.' }, + ], + syntax: 'none | <shadow>#', + relevance: 89, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/box-shadow', + }, + ], + description: + "Attaches one or more drop-shadows to the box. The property is a comma-separated list of shadows, each specified by 2-4 length values, an optional color, and an optional 'inset' keyword. Omitted lengths are 0; omitted colors are a user agent chosen color.", + restrictions: ['length', 'color', 'enum'], + }, + { + name: 'box-sizing', + values: [ + { + name: 'border-box', + description: + 'The specified width and height (and respective min/max properties) on this element determine the border box of the element.', + }, + { + name: 'content-box', + description: + 'Behavior of width and height as specified by CSS2.1. The specified width and height (and respective min/max properties) apply to the width and height respectively of the content box of the element.', + }, + ], + syntax: 'content-box | border-box', + relevance: 92, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/box-sizing', + }, + ], + description: + "Specifies the behavior of the 'width' and 'height' properties.", + restrictions: ['enum'], + }, + { + name: 'break-after', + values: [ + { + name: 'always', + description: + 'Always force a page break before/after the generated box.', + }, + { + name: 'auto', + description: + 'Neither force nor forbid a page/column break before/after the principal box.', + }, + { + name: 'avoid', + description: 'Avoid a break before/after the principal box.', + }, + { + name: 'avoid-column', + description: + 'Avoid a column break before/after the principal box.', + }, + { + name: 'avoid-page', + description: + 'Avoid a page break before/after the principal box.', + }, + { + name: 'column', + description: + 'Always force a column break before/after the principal box.', + }, + { + name: 'left', + description: + 'Force one or two page breaks before/after the generated box so that the next page is formatted as a left page.', + }, + { + name: 'page', + description: + 'Always force a page break before/after the principal box.', + }, + { + name: 'right', + description: + 'Force one or two page breaks before/after the generated box so that the next page is formatted as a right page.', + }, + ], + syntax: + 'auto | avoid | always | all | avoid-page | page | left | right | recto | verso | avoid-column | column | avoid-region | region', + relevance: 50, + description: + 'Describes the page/column/region break behavior after the generated box.', + restrictions: ['enum'], + }, + { + name: 'break-before', + values: [ + { + name: 'always', + description: + 'Always force a page break before/after the generated box.', + }, + { + name: 'auto', + description: + 'Neither force nor forbid a page/column break before/after the principal box.', + }, + { + name: 'avoid', + description: 'Avoid a break before/after the principal box.', + }, + { + name: 'avoid-column', + description: + 'Avoid a column break before/after the principal box.', + }, + { + name: 'avoid-page', + description: + 'Avoid a page break before/after the principal box.', + }, + { + name: 'column', + description: + 'Always force a column break before/after the principal box.', + }, + { + name: 'left', + description: + 'Force one or two page breaks before/after the generated box so that the next page is formatted as a left page.', + }, + { + name: 'page', + description: + 'Always force a page break before/after the principal box.', + }, + { + name: 'right', + description: + 'Force one or two page breaks before/after the generated box so that the next page is formatted as a right page.', + }, + ], + syntax: + 'auto | avoid | always | all | avoid-page | page | left | right | recto | verso | avoid-column | column | avoid-region | region', + relevance: 50, + description: + 'Describes the page/column/region break behavior before the generated box.', + restrictions: ['enum'], + }, + { + name: 'break-inside', + values: [ + { + name: 'auto', + description: + 'Impose no additional breaking constraints within the box.', + }, + { name: 'avoid', description: 'Avoid breaks within the box.' }, + { + name: 'avoid-column', + description: 'Avoid a column break within the box.', + }, + { + name: 'avoid-page', + description: 'Avoid a page break within the box.', + }, + ], + syntax: 'auto | avoid | avoid-page | avoid-column | avoid-region', + relevance: 50, + description: + 'Describes the page/column/region break behavior inside the principal box.', + restrictions: ['enum'], + }, + { + name: 'caption-side', + values: [ + { + name: 'bottom', + description: 'Positions the caption box below the table box.', + }, + { + name: 'top', + description: 'Positions the caption box above the table box.', + }, + ], + syntax: + 'top | bottom | block-start | block-end | inline-start | inline-end', + relevance: 51, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/caption-side', + }, + ], + description: + 'Specifies the position of the caption box with respect to the table box.', + restrictions: ['enum'], + }, + { + name: 'caret-color', + browsers: ['E79', 'FF53', 'S11.1', 'C57', 'O44'], + values: [ + { + name: 'auto', + description: + 'The user agent selects an appropriate color for the caret. This is generally currentcolor, but the user agent may choose a different color to ensure good visibility and contrast with the surrounding content, taking into account the value of currentcolor, the background, shadows, and other factors.', + }, + ], + syntax: 'auto | <color>', + relevance: 51, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/caret-color', + }, + ], + description: + 'Controls the color of the text insertion indicator.', + restrictions: ['color', 'enum'], + }, + { + name: 'clear', + values: [ + { + name: 'both', + description: + 'The clearance of the generated box is set to the amount necessary to place the top border edge below the bottom outer edge of any right-floating and left-floating boxes that resulted from elements earlier in the source document.', + }, + { + name: 'left', + description: + 'The clearance of the generated box is set to the amount necessary to place the top border edge below the bottom outer edge of any left-floating boxes that resulted from elements earlier in the source document.', + }, + { + name: 'none', + description: + "No constraint on the box's position with respect to floats.", + }, + { + name: 'right', + description: + 'The clearance of the generated box is set to the amount necessary to place the top border edge below the bottom outer edge of any right-floating boxes that resulted from elements earlier in the source document.', + }, + ], + syntax: 'none | left | right | both | inline-start | inline-end', + relevance: 84, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/clear', + }, + ], + description: + "Indicates which sides of an element's box(es) may not be adjacent to an earlier floating box. The 'clear' property does not consider floats inside the element itself or in other block formatting contexts.", + restrictions: ['enum'], + }, + { + name: 'clip', + values: [ + { name: 'auto', description: 'The element does not clip.' }, + { + name: 'rect()', + description: + 'Specifies offsets from the edges of the border box.', + }, + ], + syntax: '<shape> | auto', + relevance: 73, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/clip', + }, + ], + description: + "Deprecated. Use the 'clip-path' property when support allows. Defines the visible portion of an element’s box.", + restrictions: ['enum'], + }, + { + name: 'clip-path', + values: [ + { name: 'none', description: 'No clipping path gets created.' }, + { + name: 'url()', + description: + 'References a <clipPath> element to create a clipping path.', + }, + ], + syntax: + '<clip-source> | [ <basic-shape> || <geometry-box> ] | none', + relevance: 55, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/clip-path', + }, + ], + description: + 'Specifies a clipping path where everything inside the path is visible and everything outside is clipped out.', + restrictions: ['url', 'shape', 'geometry-box', 'enum'], + }, + { + name: 'clip-rule', + browsers: ['E', 'C5', 'FF3', 'IE10', 'O9', 'S6'], + values: [ + { + name: 'evenodd', + description: + 'Determines the ‘insideness’ of a point on the canvas by drawing a ray from that point to infinity in any direction and counting the number of path segments from the given shape that the ray crosses.', + }, + { + name: 'nonzero', + description: + 'Determines the ‘insideness’ of a point on the canvas by drawing a ray from that point to infinity in any direction and then examining the places where a segment of the shape crosses the ray.', + }, + ], + relevance: 50, + description: + 'Indicates the algorithm which is to be used to determine what parts of the canvas are included inside the shape.', + restrictions: ['enum'], + }, + { + name: 'color', + syntax: '<color>', + relevance: 94, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/color', + }, + ], + description: "Sets the color of an element's text", + restrictions: ['color'], + }, + { + name: 'color-interpolation-filters', + browsers: ['E', 'C5', 'FF3', 'IE10', 'O9', 'S6'], + values: [ + { + name: 'auto', + description: + 'Color operations are not required to occur in a particular color space.', + }, + { + name: 'linearRGB', + description: + 'Color operations should occur in the linearized RGB color space.', + }, + { + name: 'sRGB', + description: + 'Color operations should occur in the sRGB color space.', + }, + ], + relevance: 50, + description: + 'Specifies the color space for imaging operations performed via filter effects.', + restrictions: ['enum'], + }, + { + name: 'column-count', + values: [ + { + name: 'auto', + description: + "Determines the number of columns by the 'column-width' property and the element width.", + }, + ], + syntax: '<integer> | auto', + relevance: 52, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/column-count', + }, + ], + description: + 'Describes the optimal number of columns into which the content of the element will be flowed.', + restrictions: ['integer', 'enum'], + }, + { + name: 'column-fill', + values: [ + { name: 'auto', description: 'Fills columns sequentially.' }, + { + name: 'balance', + description: + 'Balance content equally between columns, if possible.', + }, + ], + syntax: 'auto | balance | balance-all', + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/column-fill', + }, + ], + description: + 'In continuous media, this property will only be consulted if the length of columns has been constrained. Otherwise, columns will automatically be balanced.', + restrictions: ['enum'], + }, + { + name: 'column-gap', + values: [ + { + name: 'normal', + description: + 'User agent specific and typically equivalent to 1em.', + }, + ], + syntax: 'normal | <length-percentage>', + relevance: 52, + description: + 'Sets the gap between columns. If there is a column rule between columns, it will appear in the middle of the gap.', + restrictions: ['length', 'enum'], + }, + { + name: 'column-rule', + syntax: + "<'column-rule-width'> || <'column-rule-style'> || <'column-rule-color'>", + relevance: 51, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/column-rule', + }, + ], + description: + "Shorthand for setting 'column-rule-width', 'column-rule-style', and 'column-rule-color' at the same place in the style sheet. Omitted values are set to their initial values.", + restrictions: ['length', 'line-width', 'line-style', 'color'], + }, + { + name: 'column-rule-color', + syntax: '<color>', + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/column-rule-color', + }, + ], + description: 'Sets the color of the column rule', + restrictions: ['color'], + }, + { + name: 'column-rule-style', + syntax: "<'border-style'>", + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/column-rule-style', + }, + ], + description: + 'Sets the style of the rule between columns of an element.', + restrictions: ['line-style'], + }, + { + name: 'column-rule-width', + syntax: "<'border-width'>", + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/column-rule-width', + }, + ], + description: + 'Sets the width of the rule between columns. Negative values are not allowed.', + restrictions: ['length', 'line-width'], + }, + { + name: 'columns', + values: [ + { + name: 'auto', + description: + 'The width depends on the values of other properties.', + }, + ], + syntax: "<'column-width'> || <'column-count'>", + relevance: 51, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/columns', + }, + ], + description: + "A shorthand property which sets both 'column-width' and 'column-count'.", + restrictions: ['length', 'integer', 'enum'], + }, + { + name: 'column-span', + values: [ + { + name: 'all', + description: + 'The element spans across all columns. Content in the normal flow that appears before the element is automatically balanced across all columns before the element appear.', + }, + { + name: 'none', + description: 'The element does not span multiple columns.', + }, + ], + syntax: 'none | all', + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/column-span', + }, + ], + description: + 'Describes the page/column break behavior after the generated box.', + restrictions: ['enum'], + }, + { + name: 'column-width', + values: [ + { + name: 'auto', + description: + 'The width depends on the values of other properties.', + }, + ], + syntax: '<length> | auto', + relevance: 51, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/column-width', + }, + ], + description: + 'Describes the width of columns in multicol elements.', + restrictions: ['length', 'enum'], + }, + { + name: 'contain', + browsers: ['E79', 'FF69', 'C52', 'O40'], + values: [ + { + name: 'none', + description: 'Indicates that the property has no effect.', + }, + { + name: 'strict', + description: + 'Turns on all forms of containment for the element.', + }, + { + name: 'content', + description: + 'All containment rules except size are applied to the element.', + }, + { + name: 'size', + description: + "For properties that can have effects on more than just an element and its descendants, those effects don't escape the containing element.", + }, + { + name: 'layout', + description: 'Turns on layout containment for the element.', + }, + { + name: 'style', + description: 'Turns on style containment for the element.', + }, + { + name: 'paint', + description: 'Turns on paint containment for the element.', + }, + ], + syntax: + 'none | strict | content | [ size || layout || style || paint ]', + relevance: 55, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/contain', + }, + ], + description: + 'Indicates that an element and its contents are, as much as possible, independent of the rest of the document tree.', + restrictions: ['enum'], + }, + { + name: 'content', + values: [ + { + name: 'attr()', + description: + 'The attr(n) function returns as a string the value of attribute n for the subject of the selector.', + }, + { + name: 'counter(name)', + description: + "Counters are denoted by identifiers (see the 'counter-increment' and 'counter-reset' properties).", + }, + { + name: 'icon', + description: + "The (pseudo-)element is replaced in its entirety by the resource referenced by its 'icon' property, and treated as a replaced element.", + }, + { + name: 'none', + description: + 'On elements, this inhibits the children of the element from being rendered as children of this element, as if the element was empty. On pseudo-elements it causes the pseudo-element to have no content.', + }, + { + name: 'normal', + description: + 'See http://www.w3.org/TR/css3-content/#content for computation rules.', + }, + { name: 'url()' }, + ], + syntax: + 'normal | none | [ <content-replacement> | <content-list> ] [/ <string> ]?', + relevance: 89, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/content', + }, + ], + description: + 'Determines which page-based occurrence of a given element is applied to a counter or string value.', + restrictions: ['string', 'url'], + }, + { + name: 'counter-increment', + values: [ + { + name: 'none', + description: + 'This element does not alter the value of any counters.', + }, + ], + syntax: '[ <custom-ident> <integer>? ]+ | none', + relevance: 52, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/counter-increment', + }, + ], + description: 'Manipulate the value of existing counters.', + restrictions: ['identifier', 'integer'], + }, + { + name: 'counter-reset', + values: [ + { name: 'none', description: 'The counter is not modified.' }, + ], + syntax: '[ <custom-ident> <integer>? ]+ | none', + relevance: 52, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/counter-reset', + }, + ], + description: + 'Property accepts one or more names of counters (identifiers), each one optionally followed by an integer. The integer gives the value that the counter is set to on each occurrence of the element.', + restrictions: ['identifier', 'integer'], + }, + { + name: 'cursor', + values: [ + { + name: 'alias', + description: + 'Indicates an alias of/shortcut to something is to be created. Often rendered as an arrow with a small curved arrow next to it.', + }, + { + name: 'all-scroll', + description: + 'Indicates that the something can be scrolled in any direction. Often rendered as arrows pointing up, down, left, and right with a dot in the middle.', + }, + { + name: 'auto', + description: + 'The UA determines the cursor to display based on the current context.', + }, + { + name: 'cell', + description: + 'Indicates that a cell or set of cells may be selected. Often rendered as a thick plus-sign with a dot in the middle.', + }, + { + name: 'col-resize', + description: + 'Indicates that the item/column can be resized horizontally. Often rendered as arrows pointing left and right with a vertical bar separating them.', + }, + { + name: 'context-menu', + description: + 'A context menu is available for the object under the cursor. Often rendered as an arrow with a small menu-like graphic next to it.', + }, + { + name: 'copy', + description: + 'Indicates something is to be copied. Often rendered as an arrow with a small plus sign next to it.', + }, + { + name: 'crosshair', + description: + "A simple crosshair (e.g., short line segments resembling a '+' sign). Often used to indicate a two dimensional bitmap selection mode.", + }, + { + name: 'default', + description: + 'The platform-dependent default cursor. Often rendered as an arrow.', + }, + { + name: 'e-resize', + description: 'Indicates that east edge is to be moved.', + }, + { + name: 'ew-resize', + description: + 'Indicates a bidirectional east-west resize cursor.', + }, + { + name: 'grab', + description: 'Indicates that something can be grabbed.', + }, + { + name: 'grabbing', + description: 'Indicates that something is being grabbed.', + }, + { + name: 'help', + description: + 'Help is available for the object under the cursor. Often rendered as a question mark or a balloon.', + }, + { + name: 'move', + description: 'Indicates something is to be moved.', + }, + { + name: '-moz-grab', + description: 'Indicates that something can be grabbed.', + }, + { + name: '-moz-grabbing', + description: 'Indicates that something is being grabbed.', + }, + { + name: '-moz-zoom-in', + description: + 'Indicates that something can be zoomed (magnified) in.', + }, + { + name: '-moz-zoom-out', + description: + 'Indicates that something can be zoomed (magnified) out.', + }, + { + name: 'ne-resize', + description: + 'Indicates that movement starts from north-east corner.', + }, + { + name: 'nesw-resize', + description: + 'Indicates a bidirectional north-east/south-west cursor.', + }, + { + name: 'no-drop', + description: + 'Indicates that the dragged item cannot be dropped at the current cursor location. Often rendered as a hand or pointer with a small circle with a line through it.', + }, + { + name: 'none', + description: 'No cursor is rendered for the element.', + }, + { + name: 'not-allowed', + description: + 'Indicates that the requested action will not be carried out. Often rendered as a circle with a line through it.', + }, + { + name: 'n-resize', + description: 'Indicates that north edge is to be moved.', + }, + { + name: 'ns-resize', + description: 'Indicates a bidirectional north-south cursor.', + }, + { + name: 'nw-resize', + description: + 'Indicates that movement starts from north-west corner.', + }, + { + name: 'nwse-resize', + description: + 'Indicates a bidirectional north-west/south-east cursor.', + }, + { + name: 'pointer', + description: 'The cursor is a pointer that indicates a link.', + }, + { + name: 'progress', + description: + "A progress indicator. The program is performing some processing, but is different from 'wait' in that the user may still interact with the program. Often rendered as a spinning beach ball, or an arrow with a watch or hourglass.", + }, + { + name: 'row-resize', + description: + 'Indicates that the item/row can be resized vertically. Often rendered as arrows pointing up and down with a horizontal bar separating them.', + }, + { + name: 'se-resize', + description: + 'Indicates that movement starts from south-east corner.', + }, + { + name: 's-resize', + description: 'Indicates that south edge is to be moved.', + }, + { + name: 'sw-resize', + description: + 'Indicates that movement starts from south-west corner.', + }, + { + name: 'text', + description: + 'Indicates text that may be selected. Often rendered as a vertical I-beam.', + }, + { + name: 'vertical-text', + description: + 'Indicates vertical-text that may be selected. Often rendered as a horizontal I-beam.', + }, + { + name: 'wait', + description: + 'Indicates that the program is busy and the user should wait. Often rendered as a watch or hourglass.', + }, + { + name: '-webkit-grab', + description: 'Indicates that something can be grabbed.', + }, + { + name: '-webkit-grabbing', + description: 'Indicates that something is being grabbed.', + }, + { + name: '-webkit-zoom-in', + description: + 'Indicates that something can be zoomed (magnified) in.', + }, + { + name: '-webkit-zoom-out', + description: + 'Indicates that something can be zoomed (magnified) out.', + }, + { + name: 'w-resize', + description: 'Indicates that west edge is to be moved.', + }, + { + name: 'zoom-in', + description: + 'Indicates that something can be zoomed (magnified) in.', + }, + { + name: 'zoom-out', + description: + 'Indicates that something can be zoomed (magnified) out.', + }, + ], + syntax: + '[ [ <url> [ <x> <y> ]? , ]* [ auto | default | none | context-menu | help | pointer | progress | wait | cell | crosshair | text | vertical-text | alias | copy | move | no-drop | not-allowed | e-resize | n-resize | ne-resize | nw-resize | s-resize | se-resize | sw-resize | w-resize | ew-resize | ns-resize | nesw-resize | nwse-resize | col-resize | row-resize | all-scroll | zoom-in | zoom-out | grab | grabbing ] ]', + relevance: 91, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/cursor', + }, + ], + description: + 'Allows control over cursor appearance in an element', + restrictions: ['url', 'number', 'enum'], + }, + { + name: 'direction', + values: [ + { name: 'ltr', description: 'Left-to-right direction.' }, + { name: 'rtl', description: 'Right-to-left direction.' }, + ], + syntax: 'ltr | rtl', + relevance: 68, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/direction', + }, + ], + description: + "Specifies the inline base direction or directionality of any bidi paragraph, embedding, isolate, or override established by the box. Note: for HTML content use the 'dir' attribute and 'bdo' element rather than this property.", + restrictions: ['enum'], + }, + { + name: 'display', + values: [ + { + name: 'block', + description: 'The element generates a block-level box', + }, + { + name: 'contents', + description: + 'The element itself does not generate any boxes, but its children and pseudo-elements still generate boxes as normal.', + }, + { + name: 'flex', + description: + 'The element generates a principal flex container box and establishes a flex formatting context.', + }, + { + name: 'flexbox', + description: + "The element lays out its contents using flow layout (block-and-inline layout). Standardized as 'flex'.", + }, + { + name: 'flow-root', + description: + 'The element generates a block container box, and lays out its contents using flow layout.', + }, + { + name: 'grid', + description: + 'The element generates a principal grid container box, and establishes a grid formatting context.', + }, + { + name: 'inline', + description: 'The element generates an inline-level box.', + }, + { + name: 'inline-block', + description: + 'A block box, which itself is flowed as a single inline box, similar to a replaced element. The inside of an inline-block is formatted as a block box, and the box itself is formatted as an inline box.', + }, + { + name: 'inline-flex', + description: 'Inline-level flex container.', + }, + { + name: 'inline-flexbox', + description: + "Inline-level flex container. Standardized as 'inline-flex'", + }, + { + name: 'inline-table', + description: + 'Inline-level table wrapper box containing table box.', + }, + { + name: 'list-item', + description: 'One or more block boxes and one marker box.', + }, + { + name: '-moz-box', + description: + "The element lays out its contents using flow layout (block-and-inline layout). Standardized as 'flex'.", + }, + { name: '-moz-deck' }, + { name: '-moz-grid' }, + { name: '-moz-grid-group' }, + { name: '-moz-grid-line' }, + { name: '-moz-groupbox' }, + { + name: '-moz-inline-box', + description: + "Inline-level flex container. Standardized as 'inline-flex'", + }, + { name: '-moz-inline-grid' }, + { name: '-moz-inline-stack' }, + { name: '-moz-marker' }, + { name: '-moz-popup' }, + { name: '-moz-stack' }, + { + name: '-ms-flexbox', + description: + "The element lays out its contents using flow layout (block-and-inline layout). Standardized as 'flex'.", + }, + { + name: '-ms-grid', + description: + 'The element generates a principal grid container box, and establishes a grid formatting context.', + }, + { + name: '-ms-inline-flexbox', + description: + "Inline-level flex container. Standardized as 'inline-flex'", + }, + { + name: '-ms-inline-grid', + description: 'Inline-level grid container.', + }, + { + name: 'none', + description: + 'The element and its descendants generates no boxes.', + }, + { + name: 'ruby', + description: + 'The element generates a principal ruby container box, and establishes a ruby formatting context.', + }, + { name: 'ruby-base' }, + { name: 'ruby-base-container' }, + { name: 'ruby-text' }, + { name: 'ruby-text-container' }, + { + name: 'run-in', + description: + 'The element generates a run-in box. Run-in elements act like inlines or blocks, depending on the surrounding elements.', + }, + { + name: 'table', + description: + 'The element generates a principal table wrapper box containing an additionally-generated table box, and establishes a table formatting context.', + }, + { name: 'table-caption' }, + { name: 'table-cell' }, + { name: 'table-column' }, + { name: 'table-column-group' }, + { name: 'table-footer-group' }, + { name: 'table-header-group' }, + { name: 'table-row' }, + { name: 'table-row-group' }, + { + name: '-webkit-box', + description: + "The element lays out its contents using flow layout (block-and-inline layout). Standardized as 'flex'.", + }, + { + name: '-webkit-flex', + description: + 'The element lays out its contents using flow layout (block-and-inline layout).', + }, + { + name: '-webkit-inline-box', + description: + "Inline-level flex container. Standardized as 'inline-flex'", + }, + { + name: '-webkit-inline-flex', + description: 'Inline-level flex container.', + }, + ], + syntax: + '[ <display-outside> || <display-inside> ] | <display-listitem> | <display-internal> | <display-box> | <display-legacy>', + relevance: 96, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/display', + }, + ], + description: + "In combination with 'float' and 'position', determines the type of box or boxes that are generated for an element.", + restrictions: ['enum'], + }, + { + name: 'empty-cells', + values: [ + { + name: 'hide', + description: + 'No borders or backgrounds are drawn around/behind empty cells.', + }, + { name: '-moz-show-background' }, + { + name: 'show', + description: + 'Borders and backgrounds are drawn around/behind empty cells (like normal cells).', + }, + ], + syntax: 'show | hide', + relevance: 51, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/empty-cells', + }, + ], + description: + 'In the separated borders model, this property controls the rendering of borders and backgrounds around cells that have no visible content.', + restrictions: ['enum'], + }, + { + name: 'enable-background', + values: [ + { + name: 'accumulate', + description: + "If the ancestor container element has a property of new, then all graphics elements within the current container are rendered both on the parent's background image and onto the target.", + }, + { + name: 'new', + description: + "Create a new background image canvas. All children of the current container element can access the background, and they will be rendered onto both the parent's background image canvas in addition to the target device.", + }, + ], + relevance: 50, + description: + "Deprecated. Use 'isolation' property instead when support allows. Specifies how the accumulation of the background image is managed.", + restrictions: ['integer', 'length', 'percentage', 'enum'], + }, + { + name: 'fallback', + browsers: ['FF33'], + syntax: '<counter-style-name>', + relevance: 50, + description: + '@counter-style descriptor. Specifies a fallback counter style to be used when the current counter style can’t create a representation for a given counter value.', + restrictions: ['identifier'], + }, + { + name: 'fill', + values: [ + { + name: 'url()', + description: + 'A URL reference to a paint server element, which is an element that defines a paint server: ‘hatch’, ‘linearGradient’, ‘mesh’, ‘pattern’, ‘radialGradient’ and ‘solidcolor’.', + }, + { + name: 'none', + description: 'No paint is applied in this layer.', + }, + ], + relevance: 74, + description: + 'Paints the interior of the given graphical element.', + restrictions: ['color', 'enum', 'url'], + }, + { + name: 'fill-opacity', + relevance: 52, + description: + 'Specifies the opacity of the painting operation used to paint the interior the current object.', + restrictions: ['number(0-1)'], + }, + { + name: 'fill-rule', + values: [ + { + name: 'evenodd', + description: + 'Determines the ‘insideness’ of a point on the canvas by drawing a ray from that point to infinity in any direction and counting the number of path segments from the given shape that the ray crosses.', + }, + { + name: 'nonzero', + description: + 'Determines the ‘insideness’ of a point on the canvas by drawing a ray from that point to infinity in any direction and then examining the places where a segment of the shape crosses the ray.', + }, + ], + relevance: 50, + description: + 'Indicates the algorithm (or winding rule) which is to be used to determine what parts of the canvas are included inside the shape.', + restrictions: ['enum'], + }, + { + name: 'filter', + browsers: ['E12', 'FF35', 'S9.1', 'C53', 'O40'], + values: [ + { name: 'none', description: 'No filter effects are applied.' }, + { + name: 'blur()', + description: 'Applies a Gaussian blur to the input image.', + }, + { + name: 'brightness()', + description: + 'Applies a linear multiplier to input image, making it appear more or less bright.', + }, + { + name: 'contrast()', + description: 'Adjusts the contrast of the input.', + }, + { + name: 'drop-shadow()', + description: + 'Applies a drop shadow effect to the input image.', + }, + { + name: 'grayscale()', + description: 'Converts the input image to grayscale.', + }, + { + name: 'hue-rotate()', + description: 'Applies a hue rotation on the input image. ', + }, + { + name: 'invert()', + description: 'Inverts the samples in the input image.', + }, + { + name: 'opacity()', + description: + 'Applies transparency to the samples in the input image.', + }, + { + name: 'saturate()', + description: 'Saturates the input image.', + }, + { + name: 'sepia()', + description: 'Converts the input image to sepia.', + }, + { + name: 'url()', + browsers: ['E12', 'FF35', 'S9.1', 'C53', 'O40'], + description: 'A filter reference to a <filter> element.', + }, + ], + syntax: 'none | <filter-function-list>', + relevance: 64, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/filter', + }, + ], + description: + 'Processes an element’s rendering before it is displayed in the document, by applying one or more filter effects.', + restrictions: ['enum', 'url'], + }, + { + name: 'flex', + values: [ + { + name: 'auto', + description: + "Retrieves the value of the main size property as the used 'flex-basis'.", + }, + { + name: 'content', + description: + 'Indicates automatic sizing, based on the flex item’s content.', + }, + { name: 'none', description: "Expands to '0 0 auto'." }, + ], + syntax: + "none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ]", + relevance: 77, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/flex', + }, + ], + description: + 'Specifies the components of a flexible length: the flex grow factor and flex shrink factor, and the flex basis.', + restrictions: ['length', 'number', 'percentage'], + }, + { + name: 'flex-basis', + values: [ + { + name: 'auto', + description: + "Retrieves the value of the main size property as the used 'flex-basis'.", + }, + { + name: 'content', + description: + 'Indicates automatic sizing, based on the flex item’s content.', + }, + ], + syntax: "content | <'width'>", + relevance: 62, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/flex-basis', + }, + ], + description: 'Sets the flex basis.', + restrictions: ['length', 'number', 'percentage'], + }, + { + name: 'flex-direction', + values: [ + { + name: 'column', + description: + 'The flex container’s main axis has the same orientation as the block axis of the current writing mode.', + }, + { + name: 'column-reverse', + description: + "Same as 'column', except the main-start and main-end directions are swapped.", + }, + { + name: 'row', + description: + 'The flex container’s main axis has the same orientation as the inline axis of the current writing mode.', + }, + { + name: 'row-reverse', + description: + "Same as 'row', except the main-start and main-end directions are swapped.", + }, + ], + syntax: 'row | row-reverse | column | column-reverse', + relevance: 78, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/flex-direction', + }, + ], + description: + 'Specifies how flex items are placed in the flex container, by setting the direction of the flex container’s main axis.', + restrictions: ['enum'], + }, + { + name: 'flex-flow', + values: [ + { + name: 'column', + description: + 'The flex container’s main axis has the same orientation as the block axis of the current writing mode.', + }, + { + name: 'column-reverse', + description: + "Same as 'column', except the main-start and main-end directions are swapped.", + }, + { + name: 'nowrap', + description: 'The flex container is single-line.', + }, + { + name: 'row', + description: + 'The flex container’s main axis has the same orientation as the inline axis of the current writing mode.', + }, + { + name: 'row-reverse', + description: + "Same as 'row', except the main-start and main-end directions are swapped.", + }, + { name: 'wrap', description: 'The flexbox is multi-line.' }, + { + name: 'wrap-reverse', + description: + "Same as 'wrap', except the cross-start and cross-end directions are swapped.", + }, + ], + syntax: "<'flex-direction'> || <'flex-wrap'>", + relevance: 58, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/flex-flow', + }, + ], + description: + 'Specifies how flexbox items are placed in the flexbox.', + restrictions: ['enum'], + }, + { + name: 'flex-grow', + syntax: '<number>', + relevance: 71, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/flex-grow', + }, + ], + description: + 'Sets the flex grow factor. Negative numbers are invalid.', + restrictions: ['number'], + }, + { + name: 'flex-shrink', + syntax: '<number>', + relevance: 69, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/flex-shrink', + }, + ], + description: + 'Sets the flex shrink factor. Negative numbers are invalid.', + restrictions: ['number'], + }, + { + name: 'flex-wrap', + values: [ + { + name: 'nowrap', + description: 'The flex container is single-line.', + }, + { name: 'wrap', description: 'The flexbox is multi-line.' }, + { + name: 'wrap-reverse', + description: + "Same as 'wrap', except the cross-start and cross-end directions are swapped.", + }, + ], + syntax: 'nowrap | wrap | wrap-reverse', + relevance: 74, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/flex-wrap', + }, + ], + description: + 'Controls whether the flex container is single-line or multi-line, and the direction of the cross-axis, which determines the direction new lines are stacked in.', + restrictions: ['enum'], + }, + { + name: 'float', + values: [ + { + name: 'inline-end', + description: + 'A keyword indicating that the element must float on the end side of its containing block. That is the right side with ltr scripts, and the left side with rtl scripts.', + }, + { + name: 'inline-start', + description: + 'A keyword indicating that the element must float on the start side of its containing block. That is the left side with ltr scripts, and the right side with rtl scripts.', + }, + { + name: 'left', + description: + "The element generates a block box that is floated to the left. Content flows on the right side of the box, starting at the top (subject to the 'clear' property).", + }, + { name: 'none', description: 'The box is not floated.' }, + { + name: 'right', + description: + "Similar to 'left', except the box is floated to the right, and content flows on the left side of the box, starting at the top.", + }, + ], + syntax: 'left | right | none | inline-start | inline-end', + relevance: 92, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/float', + }, + ], + description: + 'Specifies how a box should be floated. It may be set for any element, but only applies to elements that generate boxes that are not absolutely positioned.', + restrictions: ['enum'], + }, + { + name: 'flood-color', + browsers: ['E', 'C5', 'FF3', 'IE10', 'O9', 'S6'], + relevance: 50, + description: + 'Indicates what color to use to flood the current filter primitive subregion.', + restrictions: ['color'], + }, + { + name: 'flood-opacity', + browsers: ['E', 'C5', 'FF3', 'IE10', 'O9', 'S6'], + relevance: 50, + description: + 'Indicates what opacity to use to flood the current filter primitive subregion.', + restrictions: ['number(0-1)', 'percentage'], + }, + { + name: 'font', + values: [ + { name: '100', description: 'Thin' }, + { name: '200', description: 'Extra Light (Ultra Light)' }, + { name: '300', description: 'Light' }, + { name: '400', description: 'Normal' }, + { name: '500', description: 'Medium' }, + { name: '600', description: 'Semi Bold (Demi Bold)' }, + { name: '700', description: 'Bold' }, + { name: '800', description: 'Extra Bold (Ultra Bold)' }, + { name: '900', description: 'Black (Heavy)' }, + { name: 'bold', description: 'Same as 700' }, + { + name: 'bolder', + description: + 'Specifies the weight of the face bolder than the inherited value.', + }, + { + name: 'caption', + description: + 'The font used for captioned controls (e.g., buttons, drop-downs, etc.).', + }, + { name: 'icon', description: 'The font used to label icons.' }, + { + name: 'italic', + description: + "Selects a font that is labeled 'italic', or, if that is not available, one labeled 'oblique'.", + }, + { name: 'large' }, + { name: 'larger' }, + { + name: 'lighter', + description: + 'Specifies the weight of the face lighter than the inherited value.', + }, + { name: 'medium' }, + { + name: 'menu', + description: + 'The font used in menus (e.g., dropdown menus and menu lists).', + }, + { + name: 'message-box', + description: 'The font used in dialog boxes.', + }, + { + name: 'normal', + description: + 'Specifies a face that is not labeled as a small-caps font.', + }, + { + name: 'oblique', + description: "Selects a font that is labeled 'oblique'.", + }, + { name: 'small' }, + { + name: 'small-caps', + description: + 'Specifies a font that is labeled as a small-caps font. If a genuine small-caps font is not available, user agents should simulate a small-caps font.', + }, + { + name: 'small-caption', + description: 'The font used for labeling small controls.', + }, + { name: 'smaller' }, + { + name: 'status-bar', + description: 'The font used in window status bars.', + }, + { name: 'x-large' }, + { name: 'x-small' }, + { name: 'xx-large' }, + { name: 'xx-small' }, + ], + syntax: + "[ [ <'font-style'> || <font-variant-css21> || <'font-weight'> || <'font-stretch'> ]? <'font-size'> [ / <'line-height'> ]? <'font-family'> ] | caption | icon | menu | message-box | small-caption | status-bar", + relevance: 82, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/font', + }, + ], + description: + "Shorthand property for setting 'font-style', 'font-variant', 'font-weight', 'font-size', 'line-height', and 'font-family', at the same place in the style sheet. The syntax of this property is based on a traditional typographical shorthand notation to set multiple properties related to fonts.", + restrictions: ['font'], + }, + { + name: 'font-family', + values: [ + { + name: + "-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif", + }, + { name: 'Arial, Helvetica, sans-serif' }, + { + name: + "Cambria, Cochin, Georgia, Times, 'Times New Roman', serif", + }, + { name: "'Courier New', Courier, monospace" }, + { name: 'cursive' }, + { name: 'fantasy' }, + { + name: + "'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif", + }, + { name: "Georgia, 'Times New Roman', Times, serif" }, + { + name: + "'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif", + }, + { + name: + "Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif", + }, + { + name: + "'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif", + }, + { name: 'monospace' }, + { name: 'sans-serif' }, + { name: "'Segoe UI', Tahoma, Geneva, Verdana, sans-serif" }, + { name: 'serif' }, + { name: "'Times New Roman', Times, serif" }, + { + name: + "'Trebuchet MS', 'Lucida Sans Unicode', 'Lucida Grande', 'Lucida Sans', Arial, sans-serif", + }, + { name: 'Verdana, Geneva, Tahoma, sans-serif' }, + ], + syntax: '<family-name>', + relevance: 92, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/font-family', + }, + ], + description: + 'Specifies a prioritized list of font family names or generic family names. A user agent iterates through the list of family names until it matches an available font that contains a glyph for the character to be rendered.', + restrictions: ['font'], + }, + { + name: 'font-feature-settings', + values: [ + { name: '"aalt"', description: 'Access All Alternates.' }, + { + name: '"abvf"', + description: 'Above-base Forms. Required in Khmer script.', + }, + { + name: '"abvm"', + description: + 'Above-base Mark Positioning. Required in Indic scripts.', + }, + { + name: '"abvs"', + description: + 'Above-base Substitutions. Required in Indic scripts.', + }, + { name: '"afrc"', description: 'Alternative Fractions.' }, + { + name: '"akhn"', + description: 'Akhand. Required in most Indic scripts.', + }, + { + name: '"blwf"', + description: + 'Below-base Form. Required in a number of Indic scripts.', + }, + { + name: '"blwm"', + description: + 'Below-base Mark Positioning. Required in Indic scripts.', + }, + { + name: '"blws"', + description: + 'Below-base Substitutions. Required in Indic scripts.', + }, + { name: '"calt"', description: 'Contextual Alternates.' }, + { + name: '"case"', + description: + 'Case-Sensitive Forms. Applies only to European scripts; particularly prominent in Spanish-language setting.', + }, + { + name: '"ccmp"', + description: 'Glyph Composition/Decomposition.', + }, + { + name: '"cfar"', + description: + 'Conjunct Form After Ro. Required in Khmer scripts.', + }, + { + name: '"cjct"', + description: + 'Conjunct Forms. Required in Indic scripts that show similarity to Devanagari.', + }, + { name: '"clig"', description: 'Contextual Ligatures.' }, + { + name: '"cpct"', + description: + 'Centered CJK Punctuation. Used primarily in Chinese fonts.', + }, + { + name: '"cpsp"', + description: + 'Capital Spacing. Should not be used in connecting scripts (e.g. most Arabic).', + }, + { name: '"cswh"', description: 'Contextual Swash.' }, + { + name: '"curs"', + description: + 'Cursive Positioning. Can be used in any cursive script.', + }, + { + name: '"c2pc"', + description: + 'Petite Capitals From Capitals. Applies only to bicameral scripts.', + }, + { + name: '"c2sc"', + description: + 'Small Capitals From Capitals. Applies only to bicameral scripts.', + }, + { + name: '"dist"', + description: 'Distances. Required in Indic scripts.', + }, + { name: '"dlig"', description: 'Discretionary ligatures.' }, + { name: '"dnom"', description: 'Denominators.' }, + { + name: '"dtls"', + description: 'Dotless Forms. Applied to math formula layout.', + }, + { + name: '"expt"', + description: 'Expert Forms. Applies only to Japanese.', + }, + { + name: '"falt"', + description: + 'Final Glyph on Line Alternates. Can be used in any cursive script.', + }, + { + name: '"fin2"', + description: + 'Terminal Form #2. Used only with the Syriac script.', + }, + { + name: '"fin3"', + description: + 'Terminal Form #3. Used only with the Syriac script.', + }, + { + name: '"fina"', + description: + 'Terminal Forms. Can be used in any alphabetic script.', + }, + { + name: '"flac"', + description: + 'Flattened ascent forms. Applied to math formula layout.', + }, + { name: '"frac"', description: 'Fractions.' }, + { + name: '"fwid"', + description: + 'Full Widths. Applies to any script which can use monospaced forms.', + }, + { + name: '"half"', + description: + 'Half Forms. Required in Indic scripts that show similarity to Devanagari.', + }, + { + name: '"haln"', + description: 'Halant Forms. Required in Indic scripts.', + }, + { + name: '"halt"', + description: + 'Alternate Half Widths. Used only in CJKV fonts.', + }, + { name: '"hist"', description: 'Historical Forms.' }, + { + name: '"hkna"', + description: + 'Horizontal Kana Alternates. Applies only to fonts that support kana (hiragana and katakana).', + }, + { name: '"hlig"', description: 'Historical Ligatures.' }, + { name: '"hngl"', description: 'Hangul. Korean only.' }, + { + name: '"hojo"', + description: + 'Hojo Kanji Forms (JIS X 0212-1990 Kanji Forms). Used only with Kanji script.', + }, + { + name: '"hwid"', + description: + 'Half Widths. Generally used only in CJKV fonts.', + }, + { + name: '"init"', + description: + 'Initial Forms. Can be used in any alphabetic script.', + }, + { + name: '"isol"', + description: + 'Isolated Forms. Can be used in any cursive script.', + }, + { + name: '"ital"', + description: + 'Italics. Applies mostly to Latin; note that many non-Latin fonts contain Latin as well.', + }, + { + name: '"jalt"', + description: + 'Justification Alternates. Can be used in any cursive script.', + }, + { + name: '"jp78"', + description: 'JIS78 Forms. Applies only to Japanese.', + }, + { + name: '"jp83"', + description: 'JIS83 Forms. Applies only to Japanese.', + }, + { + name: '"jp90"', + description: 'JIS90 Forms. Applies only to Japanese.', + }, + { + name: '"jp04"', + description: 'JIS2004 Forms. Applies only to Japanese.', + }, + { name: '"kern"', description: 'Kerning.' }, + { name: '"lfbd"', description: 'Left Bounds.' }, + { name: '"liga"', description: 'Standard Ligatures.' }, + { + name: '"ljmo"', + description: + 'Leading Jamo Forms. Required for Hangul script when Ancient Hangul writing system is supported.', + }, + { name: '"lnum"', description: 'Lining Figures.' }, + { name: '"locl"', description: 'Localized Forms.' }, + { + name: '"ltra"', + description: 'Left-to-right glyph alternates.', + }, + { + name: '"ltrm"', + description: 'Left-to-right mirrored forms.', + }, + { name: '"mark"', description: 'Mark Positioning.' }, + { + name: '"med2"', + description: + 'Medial Form #2. Used only with the Syriac script.', + }, + { name: '"medi"', description: 'Medial Forms.' }, + { name: '"mgrk"', description: 'Mathematical Greek.' }, + { name: '"mkmk"', description: 'Mark to Mark Positioning.' }, + { name: '"nalt"', description: 'Alternate Annotation Forms.' }, + { + name: '"nlck"', + description: 'NLC Kanji Forms. Used only with Kanji script.', + }, + { + name: '"nukt"', + description: 'Nukta Forms. Required in Indic scripts..', + }, + { name: '"numr"', description: 'Numerators.' }, + { name: '"onum"', description: 'Oldstyle Figures.' }, + { name: '"opbd"', description: 'Optical Bounds.' }, + { + name: '"ordn"', + description: 'Ordinals. Applies mostly to Latin script.', + }, + { name: '"ornm"', description: 'Ornaments.' }, + { + name: '"palt"', + description: + 'Proportional Alternate Widths. Used mostly in CJKV fonts.', + }, + { name: '"pcap"', description: 'Petite Capitals.' }, + { + name: '"pkna"', + description: + 'Proportional Kana. Generally used only in Japanese fonts.', + }, + { name: '"pnum"', description: 'Proportional Figures.' }, + { + name: '"pref"', + description: + 'Pre-base Forms. Required in Khmer and Myanmar (Burmese) scripts and southern Indic scripts that may display a pre-base form of Ra.', + }, + { + name: '"pres"', + description: + 'Pre-base Substitutions. Required in Indic scripts.', + }, + { + name: '"pstf"', + description: + 'Post-base Forms. Required in scripts of south and southeast Asia that have post-base forms for consonants eg: Gurmukhi, Malayalam, Khmer.', + }, + { name: '"psts"', description: 'Post-base Substitutions.' }, + { name: '"pwid"', description: 'Proportional Widths.' }, + { + name: '"qwid"', + description: + 'Quarter Widths. Generally used only in CJKV fonts.', + }, + { name: '"rand"', description: 'Randomize.' }, + { + name: '"rclt"', + description: + 'Required Contextual Alternates. May apply to any script, but is especially important for many styles of Arabic.', + }, + { + name: '"rlig"', + description: + 'Required Ligatures. Applies to Arabic and Syriac. May apply to some other scripts.', + }, + { + name: '"rkrf"', + description: + 'Rakar Forms. Required in Devanagari and Gujarati scripts.', + }, + { + name: '"rphf"', + description: + 'Reph Form. Required in Indic scripts. E.g. Devanagari, Kannada.', + }, + { name: '"rtbd"', description: 'Right Bounds.' }, + { name: '"rtla"', description: 'Right-to-left alternates.' }, + { + name: '"rtlm"', + description: 'Right-to-left mirrored forms.', + }, + { + name: '"ruby"', + description: 'Ruby Notation Forms. Applies only to Japanese.', + }, + { name: '"salt"', description: 'Stylistic Alternates.' }, + { name: '"sinf"', description: 'Scientific Inferiors.' }, + { name: '"size"', description: 'Optical size.' }, + { + name: '"smcp"', + description: + 'Small Capitals. Applies only to bicameral scripts.', + }, + { + name: '"smpl"', + description: + 'Simplified Forms. Applies only to Chinese and Japanese.', + }, + { + name: '"ssty"', + description: 'Math script style alternates.', + }, + { + name: '"stch"', + description: 'Stretching Glyph Decomposition.', + }, + { name: '"subs"', description: 'Subscript.' }, + { name: '"sups"', description: 'Superscript.' }, + { + name: '"swsh"', + description: 'Swash. Does not apply to ideographic scripts.', + }, + { name: '"titl"', description: 'Titling.' }, + { + name: '"tjmo"', + description: + 'Trailing Jamo Forms. Required for Hangul script when Ancient Hangul writing system is supported.', + }, + { + name: '"tnam"', + description: + 'Traditional Name Forms. Applies only to Japanese.', + }, + { name: '"tnum"', description: 'Tabular Figures.' }, + { + name: '"trad"', + description: + 'Traditional Forms. Applies only to Chinese and Japanese.', + }, + { + name: '"twid"', + description: + 'Third Widths. Generally used only in CJKV fonts.', + }, + { name: '"unic"', description: 'Unicase.' }, + { + name: '"valt"', + description: + 'Alternate Vertical Metrics. Applies only to scripts with vertical writing modes.', + }, + { + name: '"vatu"', + description: + 'Vattu Variants. Used for Indic scripts. E.g. Devanagari.', + }, + { + name: '"vert"', + description: + 'Vertical Alternates. Applies only to scripts with vertical writing modes.', + }, + { + name: '"vhal"', + description: + 'Alternate Vertical Half Metrics. Used only in CJKV fonts.', + }, + { + name: '"vjmo"', + description: + 'Vowel Jamo Forms. Required for Hangul script when Ancient Hangul writing system is supported.', + }, + { + name: '"vkna"', + description: + 'Vertical Kana Alternates. Applies only to fonts that support kana (hiragana and katakana).', + }, + { name: '"vkrn"', description: 'Vertical Kerning.' }, + { + name: '"vpal"', + description: + 'Proportional Alternate Vertical Metrics. Used mostly in CJKV fonts.', + }, + { + name: '"vrt2"', + description: + 'Vertical Alternates and Rotation. Applies only to scripts with vertical writing modes.', + }, + { name: '"zero"', description: 'Slashed Zero.' }, + { + name: 'normal', + description: + 'No change in glyph substitution or positioning occurs.', + }, + { name: 'off', description: 'Disable feature.' }, + { name: 'on', description: 'Enable feature.' }, + ], + syntax: 'normal | <feature-tag-value>#', + relevance: 55, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/font-feature-settings', + }, + ], + description: + 'Provides low-level control over OpenType font features. It is intended as a way of providing access to font features that are not widely used but are needed for a particular use case.', + restrictions: ['string', 'integer'], + }, + { + name: 'font-kerning', + browsers: ['E79', 'FF32', 'S9', 'C33', 'O20'], + values: [ + { + name: 'auto', + description: + 'Specifies that kerning is applied at the discretion of the user agent.', + }, + { + name: 'none', + description: 'Specifies that kerning is not applied.', + }, + { + name: 'normal', + description: 'Specifies that kerning is applied.', + }, + ], + syntax: 'auto | normal | none', + relevance: 51, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/font-kerning', + }, + ], + description: + 'Kerning is the contextual adjustment of inter-glyph spacing. This property controls metric kerning, kerning that utilizes adjustment data contained in the font.', + restrictions: ['enum'], + }, + { + name: 'font-language-override', + browsers: ['FF34'], + values: [ + { + name: 'normal', + description: + 'Implies that when rendering with OpenType fonts the language of the document is used to infer the OpenType language system, used to select language specific features when rendering.', + }, + ], + syntax: 'normal | <string>', + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/font-language-override', + }, + ], + description: + "The value of 'normal' implies that when rendering with OpenType fonts the language of the document is used to infer the OpenType language system, used to select language specific features when rendering.", + restrictions: ['string'], + }, + { + name: 'font-size', + values: [ + { name: 'large' }, + { name: 'larger' }, + { name: 'medium' }, + { name: 'small' }, + { name: 'smaller' }, + { name: 'x-large' }, + { name: 'x-small' }, + { name: 'xx-large' }, + { name: 'xx-small' }, + ], + syntax: '<absolute-size> | <relative-size> | <length-percentage>', + relevance: 94, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/font-size', + }, + ], + description: + 'Indicates the desired height of glyphs from the font. For scalable fonts, the font-size is a scale factor applied to the EM unit of the font. (Note that certain glyphs may bleed outside their EM box.) For non-scalable fonts, the font-size is converted into absolute units and matched against the declared font-size of the font, using the same absolute coordinate space for both of the matched values.', + restrictions: ['length', 'percentage'], + }, + { + name: 'font-size-adjust', + browsers: ['E79', 'FF40', 'C43', 'O30'], + values: [ + { + name: 'none', + description: 'Do not preserve the font’s x-height.', + }, + ], + syntax: 'none | <number>', + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/font-size-adjust', + }, + ], + description: + 'Preserves the readability of text when font fallback occurs by adjusting the font-size so that the x-height is the same regardless of the font used.', + restrictions: ['number'], + }, + { + name: 'font-stretch', + values: [ + { name: 'condensed' }, + { name: 'expanded' }, + { name: 'extra-condensed' }, + { name: 'extra-expanded' }, + { + name: 'narrower', + description: + 'Indicates a narrower value relative to the width of the parent element.', + }, + { name: 'normal' }, + { name: 'semi-condensed' }, + { name: 'semi-expanded' }, + { name: 'ultra-condensed' }, + { name: 'ultra-expanded' }, + { + name: 'wider', + description: + 'Indicates a wider value relative to the width of the parent element.', + }, + ], + syntax: '<font-stretch-absolute>{1,2}', + relevance: 53, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/font-stretch', + }, + ], + description: + 'Selects a normal, condensed, or expanded face from a font family.', + restrictions: ['enum'], + }, + { + name: 'font-style', + values: [ + { + name: 'italic', + description: + "Selects a font that is labeled as an 'italic' face, or an 'oblique' face if one is not", + }, + { + name: 'normal', + description: "Selects a face that is classified as 'normal'.", + }, + { + name: 'oblique', + description: + "Selects a font that is labeled as an 'oblique' face, or an 'italic' face if one is not.", + }, + ], + syntax: 'normal | italic | oblique <angle>{0,2}', + relevance: 83, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/font-style', + }, + ], + description: + 'Allows italic or oblique faces to be selected. Italic forms are generally cursive in nature while oblique faces are typically sloped versions of the regular face.', + restrictions: ['enum'], + }, + { + name: 'font-synthesis', + browsers: ['FF34', 'S9'], + values: [ + { name: 'none', description: 'Disallow all synthetic faces.' }, + { name: 'style', description: 'Allow synthetic italic faces.' }, + { name: 'weight', description: 'Allow synthetic bold faces.' }, + ], + syntax: 'none | [ weight || style ]', + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/font-synthesis', + }, + ], + description: + 'Controls whether user agents are allowed to synthesize bold or oblique font faces when a font family lacks bold or italic faces.', + restrictions: ['enum'], + }, + { + name: 'font-variant', + values: [ + { + name: 'normal', + description: + 'Specifies a face that is not labeled as a small-caps font.', + }, + { + name: 'small-caps', + description: + 'Specifies a font that is labeled as a small-caps font. If a genuine small-caps font is not available, user agents should simulate a small-caps font.', + }, + ], + syntax: + 'normal | none | [ <common-lig-values> || <discretionary-lig-values> || <historical-lig-values> || <contextual-alt-values> || stylistic(<feature-value-name>) || historical-forms || styleset(<feature-value-name>#) || character-variant(<feature-value-name>#) || swash(<feature-value-name>) || ornaments(<feature-value-name>) || annotation(<feature-value-name>) || [ small-caps | all-small-caps | petite-caps | all-petite-caps | unicase | titling-caps ] || <numeric-figure-values> || <numeric-spacing-values> || <numeric-fraction-values> || ordinal || slashed-zero || <east-asian-variant-values> || <east-asian-width-values> || ruby ]', + relevance: 63, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/font-variant', + }, + ], + description: 'Specifies variant representations of the font', + restrictions: ['enum'], + }, + { + name: 'font-variant-alternates', + browsers: ['FF34'], + values: [ + { + name: 'annotation()', + description: 'Enables display of alternate annotation forms.', + }, + { + name: 'character-variant()', + description: + 'Enables display of specific character variants.', + }, + { + name: 'historical-forms', + description: 'Enables display of historical forms.', + }, + { + name: 'normal', + description: 'None of the features are enabled.', + }, + { + name: 'ornaments()', + description: + 'Enables replacement of default glyphs with ornaments, if provided in the font.', + }, + { + name: 'styleset()', + description: 'Enables display with stylistic sets.', + }, + { + name: 'stylistic()', + description: 'Enables display of stylistic alternates.', + }, + { + name: 'swash()', + description: 'Enables display of swash glyphs.', + }, + ], + syntax: + 'normal | [ stylistic( <feature-value-name> ) || historical-forms || styleset( <feature-value-name># ) || character-variant( <feature-value-name># ) || swash( <feature-value-name> ) || ornaments( <feature-value-name> ) || annotation( <feature-value-name> ) ]', + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/font-variant-alternates', + }, + ], + description: + 'For any given character, fonts can provide a variety of alternate glyphs in addition to the default glyph for that character. This property provides control over the selection of these alternate glyphs.', + restrictions: ['enum'], + }, + { + name: 'font-variant-caps', + browsers: ['E79', 'FF34', 'C52', 'O39'], + values: [ + { + name: 'all-petite-caps', + description: + 'Enables display of petite capitals for both upper and lowercase letters.', + }, + { + name: 'all-small-caps', + description: + 'Enables display of small capitals for both upper and lowercase letters.', + }, + { + name: 'normal', + description: 'None of the features are enabled.', + }, + { + name: 'petite-caps', + description: 'Enables display of petite capitals.', + }, + { + name: 'small-caps', + description: + 'Enables display of small capitals. Small-caps glyphs typically use the form of uppercase letters but are reduced to the size of lowercase letters.', + }, + { + name: 'titling-caps', + description: 'Enables display of titling capitals.', + }, + { + name: 'unicase', + description: + 'Enables display of mixture of small capitals for uppercase letters with normal lowercase letters.', + }, + ], + syntax: + 'normal | small-caps | all-small-caps | petite-caps | all-petite-caps | unicase | titling-caps', + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/font-variant-caps', + }, + ], + description: 'Specifies control over capitalized forms.', + restrictions: ['enum'], + }, + { + name: 'font-variant-east-asian', + browsers: ['E79', 'FF34', 'C63', 'O50'], + values: [ + { + name: 'full-width', + description: 'Enables rendering of full-width variants.', + }, + { + name: 'jis04', + description: 'Enables rendering of JIS04 forms.', + }, + { + name: 'jis78', + description: 'Enables rendering of JIS78 forms.', + }, + { + name: 'jis83', + description: 'Enables rendering of JIS83 forms.', + }, + { + name: 'jis90', + description: 'Enables rendering of JIS90 forms.', + }, + { + name: 'normal', + description: 'None of the features are enabled.', + }, + { + name: 'proportional-width', + description: + 'Enables rendering of proportionally-spaced variants.', + }, + { + name: 'ruby', + description: 'Enables display of ruby variant glyphs.', + }, + { + name: 'simplified', + description: 'Enables rendering of simplified forms.', + }, + { + name: 'traditional', + description: 'Enables rendering of traditional forms.', + }, + ], + syntax: + 'normal | [ <east-asian-variant-values> || <east-asian-width-values> || ruby ]', + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/font-variant-east-asian', + }, + ], + description: + 'Allows control of glyph substitute and positioning in East Asian text.', + restrictions: ['enum'], + }, + { + name: 'font-variant-ligatures', + browsers: ['E79', 'FF34', 'S9.1', 'C34', 'O21'], + values: [ + { + name: 'additional-ligatures', + description: 'Enables display of additional ligatures.', + }, + { + name: 'common-ligatures', + description: 'Enables display of common ligatures.', + }, + { + name: 'contextual', + browsers: ['E79', 'FF34', 'S9.1', 'C34', 'O21'], + description: 'Enables display of contextual alternates.', + }, + { + name: 'discretionary-ligatures', + description: 'Enables display of discretionary ligatures.', + }, + { + name: 'historical-ligatures', + description: 'Enables display of historical ligatures.', + }, + { + name: 'no-additional-ligatures', + description: 'Disables display of additional ligatures.', + }, + { + name: 'no-common-ligatures', + description: 'Disables display of common ligatures.', + }, + { + name: 'no-contextual', + browsers: ['E79', 'FF34', 'S9.1', 'C34', 'O21'], + description: 'Disables display of contextual alternates.', + }, + { + name: 'no-discretionary-ligatures', + description: 'Disables display of discretionary ligatures.', + }, + { + name: 'no-historical-ligatures', + description: 'Disables display of historical ligatures.', + }, + { + name: 'none', + browsers: ['E79', 'FF34', 'S9.1', 'C34', 'O21'], + description: 'Disables all ligatures.', + }, + { + name: 'normal', + description: + 'Implies that the defaults set by the font are used.', + }, + ], + syntax: + 'normal | none | [ <common-lig-values> || <discretionary-lig-values> || <historical-lig-values> || <contextual-alt-values> ]', + relevance: 51, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/font-variant-ligatures', + }, + ], + description: + 'Specifies control over which ligatures are enabled or disabled. A value of ‘normal’ implies that the defaults set by the font are used.', + restrictions: ['enum'], + }, + { + name: 'font-variant-numeric', + browsers: ['E79', 'FF34', 'S9.1', 'C52', 'O39'], + values: [ + { + name: 'diagonal-fractions', + description: 'Enables display of lining diagonal fractions.', + }, + { + name: 'lining-nums', + description: 'Enables display of lining numerals.', + }, + { + name: 'normal', + description: 'None of the features are enabled.', + }, + { + name: 'oldstyle-nums', + description: 'Enables display of old-style numerals.', + }, + { + name: 'ordinal', + description: + 'Enables display of letter forms used with ordinal numbers.', + }, + { + name: 'proportional-nums', + description: 'Enables display of proportional numerals.', + }, + { + name: 'slashed-zero', + description: 'Enables display of slashed zeros.', + }, + { + name: 'stacked-fractions', + description: 'Enables display of lining stacked fractions.', + }, + { + name: 'tabular-nums', + description: 'Enables display of tabular numerals.', + }, + ], + syntax: + 'normal | [ <numeric-figure-values> || <numeric-spacing-values> || <numeric-fraction-values> || ordinal || slashed-zero ]', + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/font-variant-numeric', + }, + ], + description: 'Specifies control over numerical forms.', + restrictions: ['enum'], + }, + { + name: 'font-variant-position', + browsers: ['FF34'], + values: [ + { + name: 'normal', + description: 'None of the features are enabled.', + }, + { + name: 'sub', + description: + 'Enables display of subscript variants (OpenType feature: subs).', + }, + { + name: 'super', + description: + 'Enables display of superscript variants (OpenType feature: sups).', + }, + ], + syntax: 'normal | sub | super', + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/font-variant-position', + }, + ], + description: 'Specifies the vertical position', + restrictions: ['enum'], + }, + { + name: 'font-weight', + values: [ + { name: '100', description: 'Thin' }, + { name: '200', description: 'Extra Light (Ultra Light)' }, + { name: '300', description: 'Light' }, + { name: '400', description: 'Normal' }, + { name: '500', description: 'Medium' }, + { name: '600', description: 'Semi Bold (Demi Bold)' }, + { name: '700', description: 'Bold' }, + { name: '800', description: 'Extra Bold (Ultra Bold)' }, + { name: '900', description: 'Black (Heavy)' }, + { name: 'bold', description: 'Same as 700' }, + { + name: 'bolder', + description: + 'Specifies the weight of the face bolder than the inherited value.', + }, + { + name: 'lighter', + description: + 'Specifies the weight of the face lighter than the inherited value.', + }, + { name: 'normal', description: 'Same as 400' }, + ], + syntax: '<font-weight-absolute>{1,2}', + relevance: 93, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/font-weight', + }, + ], + description: + 'Specifies weight of glyphs in the font, their degree of blackness or stroke thickness.', + restrictions: ['enum'], + }, + { + name: 'glyph-orientation-horizontal', + relevance: 50, + description: + 'Controls glyph orientation when the inline-progression-direction is horizontal.', + restrictions: ['angle', 'number'], + }, + { + name: 'glyph-orientation-vertical', + values: [ + { + name: 'auto', + description: + 'Sets the orientation based on the fullwidth or non-fullwidth characters and the most common orientation.', + }, + ], + relevance: 50, + description: + 'Controls glyph orientation when the inline-progression-direction is vertical.', + restrictions: ['angle', 'number', 'enum'], + }, + { + name: 'grid-area', + browsers: ['E16', 'FF52', 'S10.1', 'C57', 'O44'], + values: [ + { + name: 'auto', + description: + 'The property contributes nothing to the grid item’s placement, indicating auto-placement, an automatic span, or a default span of one.', + }, + { + name: 'span', + description: + 'Contributes a grid span to the grid item’s placement such that the corresponding edge of the grid item’s grid area is N lines from its opposite edge.', + }, + ], + syntax: '<grid-line> [ / <grid-line> ]{0,3}', + relevance: 51, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/grid-area', + }, + ], + description: + "Determine a grid item’s size and location within the grid by contributing a line, a span, or nothing (automatic) to its grid placement. Shorthand for 'grid-row-start', 'grid-column-start', 'grid-row-end', and 'grid-column-end'.", + restrictions: ['identifier', 'integer'], + }, + { + name: 'grid', + browsers: ['E16', 'FF52', 'S10.1', 'C57', 'O44'], + syntax: + "<'grid-template'> | <'grid-template-rows'> / [ auto-flow && dense? ] <'grid-auto-columns'>? | [ auto-flow && dense? ] <'grid-auto-rows'>? / <'grid-template-columns'>", + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/grid', + }, + ], + description: + "The grid CSS property is a shorthand property that sets all of the explicit grid properties ('grid-template-rows', 'grid-template-columns', and 'grid-template-areas'), and all the implicit grid properties ('grid-auto-rows', 'grid-auto-columns', and 'grid-auto-flow'), in a single declaration.", + restrictions: [ + 'identifier', + 'length', + 'percentage', + 'string', + 'enum', + ], + }, + { + name: 'grid-auto-columns', + values: [ + { + name: 'min-content', + description: + 'Represents the largest min-content contribution of the grid items occupying the grid track.', + }, + { + name: 'max-content', + description: + 'Represents the largest max-content contribution of the grid items occupying the grid track.', + }, + { + name: 'auto', + description: + "As a maximum, identical to 'max-content'. As a minimum, represents the largest minimum size (as specified by min-width/min-height) of the grid items occupying the grid track.", + }, + { + name: 'minmax()', + description: + 'Defines a size range greater than or equal to min and less than or equal to max.', + }, + ], + syntax: '<track-size>+', + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/grid-auto-columns', + }, + ], + description: 'Specifies the size of implicitly created columns.', + restrictions: ['length', 'percentage'], + }, + { + name: 'grid-auto-flow', + browsers: ['E16', 'FF52', 'S10.1', 'C57', 'O44'], + values: [ + { + name: 'row', + description: + 'The auto-placement algorithm places items by filling each row in turn, adding new rows as necessary.', + }, + { + name: 'column', + description: + 'The auto-placement algorithm places items by filling each column in turn, adding new columns as necessary.', + }, + { + name: 'dense', + description: + 'If specified, the auto-placement algorithm uses a “dense” packing algorithm, which attempts to fill in holes earlier in the grid if smaller items come up later.', + }, + ], + syntax: '[ row | column ] || dense', + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/grid-auto-flow', + }, + ], + description: + 'Controls how the auto-placement algorithm works, specifying exactly how auto-placed items get flowed into the grid.', + restrictions: ['enum'], + }, + { + name: 'grid-auto-rows', + values: [ + { + name: 'min-content', + description: + 'Represents the largest min-content contribution of the grid items occupying the grid track.', + }, + { + name: 'max-content', + description: + 'Represents the largest max-content contribution of the grid items occupying the grid track.', + }, + { + name: 'auto', + description: + "As a maximum, identical to 'max-content'. As a minimum, represents the largest minimum size (as specified by min-width/min-height) of the grid items occupying the grid track.", + }, + { + name: 'minmax()', + description: + 'Defines a size range greater than or equal to min and less than or equal to max.', + }, + ], + syntax: '<track-size>+', + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/grid-auto-rows', + }, + ], + description: 'Specifies the size of implicitly created rows.', + restrictions: ['length', 'percentage'], + }, + { + name: 'grid-column', + browsers: ['E16', 'FF52', 'S10.1', 'C57', 'O44'], + values: [ + { + name: 'auto', + description: + 'The property contributes nothing to the grid item’s placement, indicating auto-placement, an automatic span, or a default span of one.', + }, + { + name: 'span', + description: + 'Contributes a grid span to the grid item’s placement such that the corresponding edge of the grid item’s grid area is N lines from its opposite edge.', + }, + ], + syntax: '<grid-line> [ / <grid-line> ]?', + relevance: 51, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/grid-column', + }, + ], + description: + "Shorthand for 'grid-column-start' and 'grid-column-end'.", + restrictions: ['identifier', 'integer', 'enum'], + }, + { + name: 'grid-column-end', + browsers: ['E16', 'FF52', 'S10.1', 'C57', 'O44'], + values: [ + { + name: 'auto', + description: + 'The property contributes nothing to the grid item’s placement, indicating auto-placement, an automatic span, or a default span of one.', + }, + { + name: 'span', + description: + 'Contributes a grid span to the grid item’s placement such that the corresponding edge of the grid item’s grid area is N lines from its opposite edge.', + }, + ], + syntax: '<grid-line>', + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/grid-column-end', + }, + ], + description: + 'Determine a grid item’s size and location within the grid by contributing a line, a span, or nothing (automatic) to its grid placement.', + restrictions: ['identifier', 'integer', 'enum'], + }, + { + name: 'grid-column-gap', + browsers: ['FF52', 'C57', 'S10.1', 'O44'], + status: 'obsolete', + syntax: '<length-percentage>', + relevance: 1, + description: + "Specifies the gutters between grid columns. Replaced by 'column-gap' property.", + restrictions: ['length'], + }, + { + name: 'grid-column-start', + browsers: ['E16', 'FF52', 'S10.1', 'C57', 'O44'], + values: [ + { + name: 'auto', + description: + 'The property contributes nothing to the grid item’s placement, indicating auto-placement, an automatic span, or a default span of one.', + }, + { + name: 'span', + description: + 'Contributes a grid span to the grid item’s placement such that the corresponding edge of the grid item’s grid area is N lines from its opposite edge.', + }, + ], + syntax: '<grid-line>', + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/grid-column-start', + }, + ], + description: + 'Determine a grid item’s size and location within the grid by contributing a line, a span, or nothing (automatic) to its grid placement.', + restrictions: ['identifier', 'integer', 'enum'], + }, + { + name: 'grid-gap', + browsers: ['FF52', 'C57', 'S10.1', 'O44'], + status: 'obsolete', + syntax: "<'grid-row-gap'> <'grid-column-gap'>?", + relevance: 1, + description: + "Shorthand that specifies the gutters between grid columns and grid rows in one declaration. Replaced by 'gap' property.", + restrictions: ['length'], + }, + { + name: 'grid-row', + browsers: ['E16', 'FF52', 'S10.1', 'C57', 'O44'], + values: [ + { + name: 'auto', + description: + 'The property contributes nothing to the grid item’s placement, indicating auto-placement, an automatic span, or a default span of one.', + }, + { + name: 'span', + description: + 'Contributes a grid span to the grid item’s placement such that the corresponding edge of the grid item’s grid area is N lines from its opposite edge.', + }, + ], + syntax: '<grid-line> [ / <grid-line> ]?', + relevance: 51, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/grid-row', + }, + ], + description: "Shorthand for 'grid-row-start' and 'grid-row-end'.", + restrictions: ['identifier', 'integer', 'enum'], + }, + { + name: 'grid-row-end', + browsers: ['E16', 'FF52', 'S10.1', 'C57', 'O44'], + values: [ + { + name: 'auto', + description: + 'The property contributes nothing to the grid item’s placement, indicating auto-placement, an automatic span, or a default span of one.', + }, + { + name: 'span', + description: + 'Contributes a grid span to the grid item’s placement such that the corresponding edge of the grid item’s grid area is N lines from its opposite edge.', + }, + ], + syntax: '<grid-line>', + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/grid-row-end', + }, + ], + description: + 'Determine a grid item’s size and location within the grid by contributing a line, a span, or nothing (automatic) to its grid placement.', + restrictions: ['identifier', 'integer', 'enum'], + }, + { + name: 'grid-row-gap', + browsers: ['FF52', 'C57', 'S10.1', 'O44'], + status: 'obsolete', + syntax: '<length-percentage>', + relevance: 1, + description: + "Specifies the gutters between grid rows. Replaced by 'row-gap' property.", + restrictions: ['length'], + }, + { + name: 'grid-row-start', + browsers: ['E16', 'FF52', 'S10.1', 'C57', 'O44'], + values: [ + { + name: 'auto', + description: + 'The property contributes nothing to the grid item’s placement, indicating auto-placement, an automatic span, or a default span of one.', + }, + { + name: 'span', + description: + 'Contributes a grid span to the grid item’s placement such that the corresponding edge of the grid item’s grid area is N lines from its opposite edge.', + }, + ], + syntax: '<grid-line>', + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/grid-row-start', + }, + ], + description: + 'Determine a grid item’s size and location within the grid by contributing a line, a span, or nothing (automatic) to its grid placement.', + restrictions: ['identifier', 'integer', 'enum'], + }, + { + name: 'grid-template', + browsers: ['E16', 'FF52', 'S10.1', 'C57', 'O44'], + values: [ + { + name: 'none', + description: + 'Sets all three properties to their initial values.', + }, + { + name: 'min-content', + description: + 'Represents the largest min-content contribution of the grid items occupying the grid track.', + }, + { + name: 'max-content', + description: + 'Represents the largest max-content contribution of the grid items occupying the grid track.', + }, + { + name: 'auto', + description: + "As a maximum, identical to 'max-content'. As a minimum, represents the largest minimum size (as specified by min-width/min-height) of the grid items occupying the grid track.", + }, + { + name: 'subgrid', + description: + "Sets 'grid-template-rows' and 'grid-template-columns' to 'subgrid', and 'grid-template-areas' to its initial value.", + }, + { + name: 'minmax()', + description: + 'Defines a size range greater than or equal to min and less than or equal to max.', + }, + { + name: 'repeat()', + description: + 'Represents a repeated fragment of the track list, allowing a large number of columns or rows that exhibit a recurring pattern to be written in a more compact form.', + }, + ], + syntax: + "none | [ <'grid-template-rows'> / <'grid-template-columns'> ] | [ <line-names>? <string> <track-size>? <line-names>? ]+ [ / <explicit-track-list> ]?", + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/grid-template', + }, + ], + description: + 'Shorthand for setting grid-template-columns, grid-template-rows, and grid-template-areas in a single declaration.', + restrictions: [ + 'identifier', + 'length', + 'percentage', + 'string', + 'enum', + ], + }, + { + name: 'grid-template-areas', + browsers: ['E16', 'FF52', 'S10.1', 'C57', 'O44'], + values: [ + { + name: 'none', + description: + 'The grid container doesn’t define any named grid areas.', + }, + ], + syntax: 'none | <string>+', + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/grid-template-areas', + }, + ], + description: + 'Specifies named grid areas, which are not associated with any particular grid item, but can be referenced from the grid-placement properties.', + restrictions: ['string'], + }, + { + name: 'grid-template-columns', + browsers: ['E16', 'FF52', 'S10.1', 'C57', 'O44'], + values: [ + { + name: 'none', + description: + 'There is no explicit grid; any rows/columns will be implicitly generated.', + }, + { + name: 'min-content', + description: + 'Represents the largest min-content contribution of the grid items occupying the grid track.', + }, + { + name: 'max-content', + description: + 'Represents the largest max-content contribution of the grid items occupying the grid track.', + }, + { + name: 'auto', + description: + "As a maximum, identical to 'max-content'. As a minimum, represents the largest minimum size (as specified by min-width/min-height) of the grid items occupying the grid track.", + }, + { + name: 'subgrid', + description: + 'Indicates that the grid will align to its parent grid in that axis.', + }, + { + name: 'minmax()', + description: + 'Defines a size range greater than or equal to min and less than or equal to max.', + }, + { + name: 'repeat()', + description: + 'Represents a repeated fragment of the track list, allowing a large number of columns or rows that exhibit a recurring pattern to be written in a more compact form.', + }, + ], + syntax: + 'none | <track-list> | <auto-track-list> | subgrid <line-name-list>?', + relevance: 55, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/grid-template-columns', + }, + ], + description: + 'specifies, as a space-separated track list, the line names and track sizing functions of the grid.', + restrictions: ['identifier', 'length', 'percentage', 'enum'], + }, + { + name: 'grid-template-rows', + browsers: ['E16', 'FF52', 'S10.1', 'C57', 'O44'], + values: [ + { + name: 'none', + description: + 'There is no explicit grid; any rows/columns will be implicitly generated.', + }, + { + name: 'min-content', + description: + 'Represents the largest min-content contribution of the grid items occupying the grid track.', + }, + { + name: 'max-content', + description: + 'Represents the largest max-content contribution of the grid items occupying the grid track.', + }, + { + name: 'auto', + description: + "As a maximum, identical to 'max-content'. As a minimum, represents the largest minimum size (as specified by min-width/min-height) of the grid items occupying the grid track.", + }, + { + name: 'subgrid', + description: + 'Indicates that the grid will align to its parent grid in that axis.', + }, + { + name: 'minmax()', + description: + 'Defines a size range greater than or equal to min and less than or equal to max.', + }, + { + name: 'repeat()', + description: + 'Represents a repeated fragment of the track list, allowing a large number of columns or rows that exhibit a recurring pattern to be written in a more compact form.', + }, + ], + syntax: + 'none | <track-list> | <auto-track-list> | subgrid <line-name-list>?', + relevance: 52, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/grid-template-rows', + }, + ], + description: + 'specifies, as a space-separated track list, the line names and track sizing functions of the grid.', + restrictions: [ + 'identifier', + 'length', + 'percentage', + 'string', + 'enum', + ], + }, + { + name: 'height', + values: [ + { + name: 'auto', + description: + 'The height depends on the values of other properties.', + }, + { + name: 'fit-content', + description: + 'Use the fit-content inline size or fit-content block size, as appropriate to the writing mode.', + }, + { + name: 'max-content', + description: + 'Use the max-content inline size or max-content block size, as appropriate to the writing mode.', + }, + { + name: 'min-content', + description: + 'Use the min-content inline size or min-content block size, as appropriate to the writing mode.', + }, + ], + syntax: '<viewport-length>{1,2}', + relevance: 96, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/height', + }, + ], + description: + "Specifies the height of the content area, padding area or border area (depending on 'box-sizing') of certain boxes.", + restrictions: ['length', 'percentage'], + }, + { + name: 'hyphens', + values: [ + { + name: 'auto', + description: + 'Conditional hyphenation characters inside a word, if present, take priority over automatic resources when determining hyphenation points within the word.', + }, + { + name: 'manual', + description: + 'Words are only broken at line breaks where there are characters inside the word that suggest line break opportunities', + }, + { + name: 'none', + description: + 'Words are not broken at line breaks, even if characters inside the word suggest line break points.', + }, + ], + syntax: 'none | manual | auto', + relevance: 53, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/hyphens', + }, + ], + description: + 'Controls whether hyphenation is allowed to create more break opportunities within a line of text.', + restrictions: ['enum'], + }, + { + name: 'image-orientation', + browsers: ['E81', 'FF26', 'S13.1', 'C81', 'O67'], + values: [ + { + name: 'flip', + description: + 'After rotating by the precededing angle, the image is flipped horizontally. Defaults to 0deg if the angle is ommitted.', + }, + { + name: 'from-image', + description: + 'If the image has an orientation specified in its metadata, such as EXIF, this value computes to the angle that the metadata specifies is necessary to correctly orient the image.', + }, + ], + syntax: 'from-image | <angle> | [ <angle>? flip ]', + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/image-orientation', + }, + ], + description: + 'Specifies an orthogonal rotation to be applied to an image before it is laid out.', + restrictions: ['angle'], + }, + { + name: 'image-rendering', + browsers: ['E79', 'FF3.6', 'S6', 'C13', 'O15'], + values: [ + { + name: 'auto', + description: + 'The image should be scaled with an algorithm that maximizes the appearance of the image.', + }, + { + name: 'crisp-edges', + description: + 'The image must be scaled with an algorithm that preserves contrast and edges in the image, and which does not smooth colors or introduce blur to the image in the process.', + }, + { + name: '-moz-crisp-edges', + browsers: ['E79', 'FF3.6', 'S6', 'C13', 'O15'], + }, + { name: 'optimizeQuality', description: 'Deprecated.' }, + { name: 'optimizeSpeed', description: 'Deprecated.' }, + { + name: 'pixelated', + description: + "When scaling the image up, the 'nearest neighbor' or similar algorithm must be used, so that the image appears to be simply composed of very large pixels.", + }, + ], + syntax: 'auto | crisp-edges | pixelated', + relevance: 55, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/image-rendering', + }, + ], + description: + 'Provides a hint to the user-agent about what aspects of an image are most important to preserve when the image is scaled, to aid the user-agent in the choice of an appropriate scaling algorithm.', + restrictions: ['enum'], + }, + { + name: 'ime-mode', + browsers: ['E12', 'FF3', 'IE5'], + values: [ + { + name: 'active', + description: + 'The input method editor is initially active; text entry is performed using it unless the user specifically dismisses it.', + }, + { + name: 'auto', + description: + 'No change is made to the current input method editor state. This is the default.', + }, + { + name: 'disabled', + description: + 'The input method editor is disabled and may not be activated by the user.', + }, + { + name: 'inactive', + description: + 'The input method editor is initially inactive, but the user may activate it if they wish.', + }, + { + name: 'normal', + description: + 'The IME state should be normal; this value can be used in a user style sheet to override the page setting.', + }, + ], + status: 'obsolete', + syntax: 'auto | normal | active | inactive | disabled', + relevance: 0, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/ime-mode', + }, + ], + description: + 'Controls the state of the input method editor for text fields.', + restrictions: ['enum'], + }, + { + name: 'inline-size', + browsers: ['E79', 'FF41', 'S12.1', 'C57', 'O44'], + values: [ + { + name: 'auto', + description: 'Depends on the values of other properties.', + }, + ], + syntax: "<'width'>", + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/inline-size', + }, + ], + description: + "Logical 'height'. Mapping depends on the element’s 'writing-mode'.", + restrictions: ['length', 'percentage'], + }, + { + name: 'isolation', + browsers: ['E79', 'FF36', 'S8', 'C41', 'O30'], + values: [ + { + name: 'auto', + description: + 'Elements are not isolated unless an operation is applied that causes the creation of a stacking context.', + }, + { + name: 'isolate', + description: + 'In CSS will turn the element into a stacking context.', + }, + ], + syntax: 'auto | isolate', + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/isolation', + }, + ], + description: + "In CSS setting to 'isolate' will turn the element into a stacking context. In SVG, it defines whether an element is isolated or not.", + restrictions: ['enum'], + }, + { + name: 'justify-content', + values: [ + { + name: 'center', + description: + 'Flex items are packed toward the center of the line.', + }, + { + name: 'start', + description: + 'The items are packed flush to each other toward the start edge of the alignment container in the main axis.', + }, + { + name: 'end', + description: + 'The items are packed flush to each other toward the end edge of the alignment container in the main axis.', + }, + { + name: 'left', + description: + 'The items are packed flush to each other toward the left edge of the alignment container in the main axis.', + }, + { + name: 'right', + description: + 'The items are packed flush to each other toward the right edge of the alignment container in the main axis.', + }, + { + name: 'safe', + description: + 'If the size of the item overflows the alignment container, the item is instead aligned as if the alignment mode were start.', + }, + { + name: 'unsafe', + description: + 'Regardless of the relative sizes of the item and alignment container, the given alignment value is honored.', + }, + { + name: 'stretch', + description: + 'If the combined size of the alignment subjects is less than the size of the alignment container, any auto-sized alignment subjects have their size increased equally (not proportionally), while still respecting the constraints imposed by max-height/max-width (or equivalent functionality), so that the combined size exactly fills the alignment container.', + }, + { + name: 'space-evenly', + description: + 'The items are evenly distributed within the alignment container along the main axis.', + }, + { + name: 'flex-end', + description: + 'Flex items are packed toward the end of the line.', + }, + { + name: 'flex-start', + description: + 'Flex items are packed toward the start of the line.', + }, + { + name: 'space-around', + description: + 'Flex items are evenly distributed in the line, with half-size spaces on either end.', + }, + { + name: 'space-between', + description: 'Flex items are evenly distributed in the line.', + }, + { + name: 'baseline', + description: + 'Specifies participation in first-baseline alignment.', + }, + { + name: 'first baseline', + description: + 'Specifies participation in first-baseline alignment.', + }, + { + name: 'last baseline', + description: + 'Specifies participation in last-baseline alignment.', + }, + ], + syntax: + 'normal | <content-distribution> | <overflow-position>? [ <content-position> | left | right ]', + relevance: 82, + description: + 'Aligns flex items along the main axis of the current line of the flex container.', + restrictions: ['enum'], + }, + { + name: 'kerning', + values: [ + { + name: 'auto', + description: + 'Indicates that the user agent should adjust inter-glyph spacing based on kerning tables that are included in the font that will be used.', + }, + ], + relevance: 50, + description: + 'Indicates whether the user agent should adjust inter-glyph spacing based on kerning tables that are included in the relevant font or instead disable auto-kerning and set inter-character spacing to a specific length.', + restrictions: ['length', 'enum'], + }, + { + name: 'left', + values: [ + { + name: 'auto', + description: + "For non-replaced elements, the effect of this value depends on which of related properties have the value 'auto' as well", + }, + ], + syntax: '<length> | <percentage> | auto', + relevance: 95, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/left', + }, + ], + description: + "Specifies how far an absolutely positioned box's left margin edge is offset to the right of the left edge of the box's 'containing block'.", + restrictions: ['length', 'percentage'], + }, + { + name: 'letter-spacing', + values: [ + { + name: 'normal', + description: + 'The spacing is the normal spacing for the current font. It is typically zero-length.', + }, + ], + syntax: 'normal | <length>', + relevance: 79, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/letter-spacing', + }, + ], + description: + 'Specifies the minimum, maximum, and optimal spacing between grapheme clusters.', + restrictions: ['length'], + }, + { + name: 'lighting-color', + browsers: ['E', 'C5', 'FF3', 'IE10', 'O9', 'S6'], + relevance: 50, + description: + "Defines the color of the light source for filter primitives 'feDiffuseLighting' and 'feSpecularLighting'.", + restrictions: ['color'], + }, + { + name: 'line-break', + values: [ + { + name: 'auto', + description: + 'The UA determines the set of line-breaking restrictions to use for CJK scripts, and it may vary the restrictions based on the length of the line; e.g., use a less restrictive set of line-break rules for short lines.', + }, + { + name: 'loose', + description: + 'Breaks text using the least restrictive set of line-breaking rules. Typically used for short lines, such as in newspapers.', + }, + { + name: 'normal', + description: + 'Breaks text using the most common set of line-breaking rules.', + }, + { + name: 'strict', + description: + "Breaks CJK scripts using a more restrictive set of line-breaking rules than 'normal'.", + }, + ], + syntax: 'auto | loose | normal | strict | anywhere', + relevance: 51, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/line-break', + }, + ], + description: + 'Specifies what set of line breaking restrictions are in effect within the element.', + restrictions: ['enum'], + }, + { + name: 'line-height', + values: [ + { + name: 'normal', + description: + "Tells user agents to set the computed value to a 'reasonable' value based on the font size of the element.", + }, + ], + syntax: 'normal | <number> | <length> | <percentage>', + relevance: 92, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/line-height', + }, + ], + description: + 'Determines the block-progression dimension of the text content area of an inline box.', + restrictions: ['number', 'length', 'percentage'], + }, + { + name: 'list-style', + values: [ + { name: 'armenian' }, + { name: 'circle', description: 'A hollow circle.' }, + { name: 'decimal' }, + { name: 'decimal-leading-zero' }, + { name: 'disc', description: 'A filled circle.' }, + { name: 'georgian' }, + { + name: 'inside', + description: + 'The marker box is outside the principal block box, as described in the section on the ::marker pseudo-element below.', + }, + { name: 'lower-alpha' }, + { name: 'lower-greek' }, + { name: 'lower-latin' }, + { name: 'lower-roman' }, + { name: 'none' }, + { + name: 'outside', + description: + "The ::marker pseudo-element is an inline element placed immediately before all ::before pseudo-elements in the principal block box, after which the element's content flows.", + }, + { name: 'square', description: 'A filled square.' }, + { + name: 'symbols()', + description: 'Allows a counter style to be defined inline.', + }, + { name: 'upper-alpha' }, + { name: 'upper-latin' }, + { name: 'upper-roman' }, + { name: 'url()' }, + ], + syntax: + "<'list-style-type'> || <'list-style-position'> || <'list-style-image'>", + relevance: 84, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/list-style', + }, + ], + description: + "Shorthand for setting 'list-style-type', 'list-style-position' and 'list-style-image'", + restrictions: ['image', 'enum', 'url'], + }, + { + name: 'list-style-image', + values: [ + { + name: 'none', + description: + "The default contents of the of the list item’s marker are given by 'list-style-type' instead.", + }, + ], + syntax: '<url> | none', + relevance: 52, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/list-style-image', + }, + ], + description: + "Sets the image that will be used as the list item marker. When the image is available, it will replace the marker set with the 'list-style-type' marker.", + restrictions: ['image'], + }, + { + name: 'list-style-position', + values: [ + { + name: 'inside', + description: + 'The marker box is outside the principal block box, as described in the section on the ::marker pseudo-element below.', + }, + { + name: 'outside', + description: + "The ::marker pseudo-element is an inline element placed immediately before all ::before pseudo-elements in the principal block box, after which the element's content flows.", + }, + ], + syntax: 'inside | outside', + relevance: 55, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/list-style-position', + }, + ], + description: + "Specifies the position of the '::marker' pseudo-element's box in the list item.", + restrictions: ['enum'], + }, + { + name: 'list-style-type', + values: [ + { + name: 'armenian', + description: 'Traditional uppercase Armenian numbering.', + }, + { name: 'circle', description: 'A hollow circle.' }, + { name: 'decimal', description: 'Western decimal numbers.' }, + { + name: 'decimal-leading-zero', + description: 'Decimal numbers padded by initial zeros.', + }, + { name: 'disc', description: 'A filled circle.' }, + { + name: 'georgian', + description: 'Traditional Georgian numbering.', + }, + { + name: 'lower-alpha', + description: 'Lowercase ASCII letters.', + }, + { + name: 'lower-greek', + description: 'Lowercase classical Greek.', + }, + { + name: 'lower-latin', + description: 'Lowercase ASCII letters.', + }, + { + name: 'lower-roman', + description: 'Lowercase ASCII Roman numerals.', + }, + { name: 'none', description: 'No marker' }, + { name: 'square', description: 'A filled square.' }, + { + name: 'symbols()', + description: 'Allows a counter style to be defined inline.', + }, + { + name: 'upper-alpha', + description: 'Uppercase ASCII letters.', + }, + { + name: 'upper-latin', + description: 'Uppercase ASCII letters.', + }, + { + name: 'upper-roman', + description: 'Uppercase ASCII Roman numerals.', + }, + ], + syntax: '<counter-style> | <string> | none', + relevance: 74, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/list-style-type', + }, + ], + description: + 'Used to construct the default contents of a list item’s marker', + restrictions: ['enum', 'string'], + }, + { + name: 'margin', + values: [{ name: 'auto' }], + syntax: '[ <length> | <percentage> | auto ]{1,4}', + relevance: 95, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/margin', + }, + ], + description: + 'Shorthand property to set values the thickness of the margin area. If left is omitted, it is the same as right. If bottom is omitted it is the same as top, if right is omitted it is the same as top. Negative values for margin properties are allowed, but there may be implementation-specific limits.', + restrictions: ['length', 'percentage'], + }, + { + name: 'margin-block-end', + browsers: ['E79', 'FF41', 'S12.1', 'C69', 'O56'], + values: [{ name: 'auto' }], + syntax: "<'margin-left'>", + relevance: 53, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/margin-block-end', + }, + ], + description: + "Logical 'margin-bottom'. Mapping depends on the parent element’s 'writing-mode', 'direction', and 'text-orientation'.", + restrictions: ['length', 'percentage'], + }, + { + name: 'margin-block-start', + browsers: ['E79', 'FF41', 'S12.1', 'C69', 'O56'], + values: [{ name: 'auto' }], + syntax: "<'margin-left'>", + relevance: 52, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/margin-block-start', + }, + ], + description: + "Logical 'margin-top'. Mapping depends on the parent element’s 'writing-mode', 'direction', and 'text-orientation'.", + restrictions: ['length', 'percentage'], + }, + { + name: 'margin-bottom', + values: [{ name: 'auto' }], + syntax: '<length> | <percentage> | auto', + relevance: 91, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/margin-bottom', + }, + ], + description: + 'Shorthand property to set values the thickness of the margin area. If left is omitted, it is the same as right. If bottom is omitted it is the same as top, if right is omitted it is the same as top. Negative values for margin properties are allowed, but there may be implementation-specific limits..', + restrictions: ['length', 'percentage'], + }, + { + name: 'margin-inline-end', + browsers: ['E79', 'FF41', 'S12.1', 'C69', 'O56'], + values: [{ name: 'auto' }], + syntax: "<'margin-left'>", + relevance: 51, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/margin-inline-end', + }, + ], + description: + "Logical 'margin-right'. Mapping depends on the parent element’s 'writing-mode', 'direction', and 'text-orientation'.", + restrictions: ['length', 'percentage'], + }, + { + name: 'margin-inline-start', + browsers: ['E79', 'FF41', 'S12.1', 'C69', 'O56'], + values: [{ name: 'auto' }], + syntax: "<'margin-left'>", + relevance: 51, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/margin-inline-start', + }, + ], + description: + "Logical 'margin-left'. Mapping depends on the parent element’s 'writing-mode', 'direction', and 'text-orientation'.", + restrictions: ['length', 'percentage'], + }, + { + name: 'margin-left', + values: [{ name: 'auto' }], + syntax: '<length> | <percentage> | auto', + relevance: 91, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/margin-left', + }, + ], + description: + 'Shorthand property to set values the thickness of the margin area. If left is omitted, it is the same as right. If bottom is omitted it is the same as top, if right is omitted it is the same as top. Negative values for margin properties are allowed, but there may be implementation-specific limits..', + restrictions: ['length', 'percentage'], + }, + { + name: 'margin-right', + values: [{ name: 'auto' }], + syntax: '<length> | <percentage> | auto', + relevance: 90, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/margin-right', + }, + ], + description: + 'Shorthand property to set values the thickness of the margin area. If left is omitted, it is the same as right. If bottom is omitted it is the same as top, if right is omitted it is the same as top. Negative values for margin properties are allowed, but there may be implementation-specific limits..', + restrictions: ['length', 'percentage'], + }, + { + name: 'margin-top', + values: [{ name: 'auto' }], + syntax: '<length> | <percentage> | auto', + relevance: 95, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/margin-top', + }, + ], + description: + 'Shorthand property to set values the thickness of the margin area. If left is omitted, it is the same as right. If bottom is omitted it is the same as top, if right is omitted it is the same as top. Negative values for margin properties are allowed, but there may be implementation-specific limits..', + restrictions: ['length', 'percentage'], + }, + { + name: 'marker', + values: [ + { + name: 'none', + description: + 'Indicates that no marker symbol will be drawn at the given vertex or vertices.', + }, + { + name: 'url()', + description: + 'Indicates that the <marker> element referenced will be used.', + }, + ], + relevance: 50, + description: + 'Specifies the marker symbol that shall be used for all points on the sets the value for all vertices on the given ‘path’ element or basic shape.', + restrictions: ['url'], + }, + { + name: 'marker-end', + values: [ + { + name: 'none', + description: + 'Indicates that no marker symbol will be drawn at the given vertex or vertices.', + }, + { + name: 'url()', + description: + 'Indicates that the <marker> element referenced will be used.', + }, + ], + relevance: 50, + description: + 'Specifies the marker that will be drawn at the last vertices of the given markable element.', + restrictions: ['url'], + }, + { + name: 'marker-mid', + values: [ + { + name: 'none', + description: + 'Indicates that no marker symbol will be drawn at the given vertex or vertices.', + }, + { + name: 'url()', + description: + 'Indicates that the <marker> element referenced will be used.', + }, + ], + relevance: 50, + description: + 'Specifies the marker that will be drawn at all vertices except the first and last.', + restrictions: ['url'], + }, + { + name: 'marker-start', + values: [ + { + name: 'none', + description: + 'Indicates that no marker symbol will be drawn at the given vertex or vertices.', + }, + { + name: 'url()', + description: + 'Indicates that the <marker> element referenced will be used.', + }, + ], + relevance: 50, + description: + 'Specifies the marker that will be drawn at the first vertices of the given markable element.', + restrictions: ['url'], + }, + { + name: 'mask-image', + browsers: ['E16', 'FF53', 'S4', 'C1', 'O15'], + values: [ + { + name: 'none', + description: 'Counts as a transparent black image layer.', + }, + { + name: 'url()', + description: + 'Reference to a <mask element or to a CSS image.', + }, + ], + syntax: '<mask-reference>#', + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/mask-image', + }, + ], + description: 'Sets the mask layer image of an element.', + restrictions: ['url', 'image', 'enum'], + }, + { + name: 'mask-mode', + browsers: ['FF53'], + values: [ + { + name: 'alpha', + description: + 'Alpha values of the mask layer image should be used as the mask values.', + }, + { + name: 'auto', + description: + "Use alpha values if 'mask-image' is an image, luminance if a <mask> element or a CSS image.", + }, + { + name: 'luminance', + description: + 'Luminance values of the mask layer image should be used as the mask values.', + }, + ], + syntax: '<masking-mode>#', + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/mask-mode', + }, + ], + description: + 'Indicates whether the mask layer image is treated as luminance mask or alpha mask.', + restrictions: ['url', 'image', 'enum'], + }, + { + name: 'mask-origin', + browsers: ['E79', 'FF53', 'S4', 'C1', 'O15'], + syntax: '<geometry-box>#', + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/mask-origin', + }, + ], + description: 'Specifies the mask positioning area.', + restrictions: ['geometry-box', 'enum'], + }, + { + name: 'mask-position', + browsers: ['E18', 'FF53', 'S3.2', 'C1', 'O15'], + syntax: '<position>#', + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/mask-position', + }, + ], + description: 'Specifies how mask layer images are positioned.', + restrictions: ['position', 'length', 'percentage'], + }, + { + name: 'mask-repeat', + browsers: ['E18', 'FF53', 'S3.2', 'C1', 'O15'], + syntax: '<repeat-style>#', + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/mask-repeat', + }, + ], + description: + 'Specifies how mask layer images are tiled after they have been sized and positioned.', + restrictions: ['repeat'], + }, + { + name: 'mask-size', + browsers: ['E18', 'FF53', 'S4', 'C4', 'O15'], + values: [ + { + name: 'auto', + description: + 'Resolved by using the image’s intrinsic ratio and the size of the other dimension, or failing that, using the image’s intrinsic size, or failing that, treating it as 100%.', + }, + { + name: 'contain', + description: + 'Scale the image, while preserving its intrinsic aspect ratio (if any), to the largest size such that both its width and its height can fit inside the background positioning area.', + }, + { + name: 'cover', + description: + 'Scale the image, while preserving its intrinsic aspect ratio (if any), to the smallest size such that both its width and its height can completely cover the background positioning area.', + }, + ], + syntax: '<bg-size>#', + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/mask-size', + }, + ], + description: 'Specifies the size of the mask layer images.', + restrictions: ['length', 'percentage', 'enum'], + }, + { + name: 'mask-type', + browsers: ['E79', 'FF35', 'S6.1', 'C24', 'O15'], + values: [ + { + name: 'alpha', + description: + 'Indicates that the alpha values of the mask should be used.', + }, + { + name: 'luminance', + description: + 'Indicates that the luminance values of the mask should be used.', + }, + ], + syntax: 'luminance | alpha', + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/mask-type', + }, + ], + description: + 'Defines whether the content of the <mask> element is treated as as luminance mask or alpha mask.', + restrictions: ['enum'], + }, + { + name: 'max-block-size', + browsers: ['E79', 'FF41', 'S12.1', 'C57', 'O44'], + values: [ + { + name: 'none', + description: 'No limit on the width of the box.', + }, + ], + syntax: "<'max-width'>", + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/max-block-size', + }, + ], + description: + "Logical 'max-width'. Mapping depends on the element’s 'writing-mode'.", + restrictions: ['length', 'percentage'], + }, + { + name: 'max-height', + values: [ + { + name: 'none', + description: 'No limit on the height of the box.', + }, + { + name: 'fit-content', + description: + 'Use the fit-content inline size or fit-content block size, as appropriate to the writing mode.', + }, + { + name: 'max-content', + description: + 'Use the max-content inline size or max-content block size, as appropriate to the writing mode.', + }, + { + name: 'min-content', + description: + 'Use the min-content inline size or min-content block size, as appropriate to the writing mode.', + }, + ], + syntax: '<viewport-length>', + relevance: 84, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/max-height', + }, + ], + description: + 'Allows authors to constrain content height to a certain range.', + restrictions: ['length', 'percentage'], + }, + { + name: 'max-inline-size', + browsers: ['E79', 'FF41', 'S10.1', 'C57', 'O44'], + values: [ + { + name: 'none', + description: 'No limit on the height of the box.', + }, + ], + syntax: "<'max-width'>", + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/max-inline-size', + }, + ], + description: + "Logical 'max-height'. Mapping depends on the element’s 'writing-mode'.", + restrictions: ['length', 'percentage'], + }, + { + name: 'max-width', + values: [ + { + name: 'none', + description: 'No limit on the width of the box.', + }, + { + name: 'fit-content', + description: + 'Use the fit-content inline size or fit-content block size, as appropriate to the writing mode.', + }, + { + name: 'max-content', + description: + 'Use the max-content inline size or max-content block size, as appropriate to the writing mode.', + }, + { + name: 'min-content', + description: + 'Use the min-content inline size or min-content block size, as appropriate to the writing mode.', + }, + ], + syntax: '<viewport-length>', + relevance: 89, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/max-width', + }, + ], + description: + 'Allows authors to constrain content width to a certain range.', + restrictions: ['length', 'percentage'], + }, + { + name: 'min-block-size', + browsers: ['E79', 'FF41', 'S12.1', 'C57', 'O44'], + syntax: "<'min-width'>", + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/min-block-size', + }, + ], + description: + "Logical 'min-width'. Mapping depends on the element’s 'writing-mode'.", + restrictions: ['length', 'percentage'], + }, + { + name: 'min-height', + values: [ + { name: 'auto' }, + { + name: 'fit-content', + description: + 'Use the fit-content inline size or fit-content block size, as appropriate to the writing mode.', + }, + { + name: 'max-content', + description: + 'Use the max-content inline size or max-content block size, as appropriate to the writing mode.', + }, + { + name: 'min-content', + description: + 'Use the min-content inline size or min-content block size, as appropriate to the writing mode.', + }, + ], + syntax: '<viewport-length>', + relevance: 88, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/min-height', + }, + ], + description: + 'Allows authors to constrain content height to a certain range.', + restrictions: ['length', 'percentage'], + }, + { + name: 'min-inline-size', + browsers: ['E79', 'FF41', 'S12.1', 'C57', 'O44'], + syntax: "<'min-width'>", + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/min-inline-size', + }, + ], + description: + "Logical 'min-height'. Mapping depends on the element’s 'writing-mode'.", + restrictions: ['length', 'percentage'], + }, + { + name: 'min-width', + values: [ + { name: 'auto' }, + { + name: 'fit-content', + description: + 'Use the fit-content inline size or fit-content block size, as appropriate to the writing mode.', + }, + { + name: 'max-content', + description: + 'Use the max-content inline size or max-content block size, as appropriate to the writing mode.', + }, + { + name: 'min-content', + description: + 'Use the min-content inline size or min-content block size, as appropriate to the writing mode.', + }, + ], + syntax: '<viewport-length>', + relevance: 87, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/min-width', + }, + ], + description: + 'Allows authors to constrain content width to a certain range.', + restrictions: ['length', 'percentage'], + }, + { + name: 'mix-blend-mode', + browsers: ['E79', 'FF32', 'S8', 'C41', 'O28'], + values: [ + { + name: 'normal', + description: 'Default attribute which specifies no blending', + }, + { + name: 'multiply', + description: + 'The source color is multiplied by the destination color and replaces the destination.', + }, + { + name: 'screen', + description: + 'Multiplies the complements of the backdrop and source color values, then complements the result.', + }, + { + name: 'overlay', + description: + 'Multiplies or screens the colors, depending on the backdrop color value.', + }, + { + name: 'darken', + description: + 'Selects the darker of the backdrop and source colors.', + }, + { + name: 'lighten', + description: + 'Selects the lighter of the backdrop and source colors.', + }, + { + name: 'color-dodge', + description: + 'Brightens the backdrop color to reflect the source color.', + }, + { + name: 'color-burn', + description: + 'Darkens the backdrop color to reflect the source color.', + }, + { + name: 'hard-light', + description: + 'Multiplies or screens the colors, depending on the source color value.', + }, + { + name: 'soft-light', + description: + 'Darkens or lightens the colors, depending on the source color value.', + }, + { + name: 'difference', + description: + 'Subtracts the darker of the two constituent colors from the lighter color..', + }, + { + name: 'exclusion', + description: + 'Produces an effect similar to that of the Difference mode but lower in contrast.', + }, + { + name: 'hue', + browsers: ['E79', 'FF32', 'S8', 'C41', 'O28'], + description: + 'Creates a color with the hue of the source color and the saturation and luminosity of the backdrop color.', + }, + { + name: 'saturation', + browsers: ['E79', 'FF32', 'S8', 'C41', 'O28'], + description: + 'Creates a color with the saturation of the source color and the hue and luminosity of the backdrop color.', + }, + { + name: 'color', + browsers: ['E79', 'FF32', 'S8', 'C41', 'O28'], + description: + 'Creates a color with the hue and saturation of the source color and the luminosity of the backdrop color.', + }, + { + name: 'luminosity', + browsers: ['E79', 'FF32', 'S8', 'C41', 'O28'], + description: + 'Creates a color with the luminosity of the source color and the hue and saturation of the backdrop color.', + }, + ], + syntax: '<blend-mode>', + relevance: 51, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/mix-blend-mode', + }, + ], + description: + 'Defines the formula that must be used to mix the colors with the backdrop.', + restrictions: ['enum'], + }, + { + name: 'motion', + browsers: ['C46', 'O33'], + values: [ + { name: 'none', description: 'No motion path gets created.' }, + { + name: 'path()', + description: + "Defines an SVG path as a string, with optional 'fill-rule' as the first argument.", + }, + { + name: 'auto', + description: + 'Indicates that the object is rotated by the angle of the direction of the motion path.', + }, + { + name: 'reverse', + description: + 'Indicates that the object is rotated by the angle of the direction of the motion path plus 180 degrees.', + }, + ], + relevance: 50, + description: + "Shorthand property for setting 'motion-path', 'motion-offset' and 'motion-rotation'.", + restrictions: [ + 'url', + 'length', + 'percentage', + 'angle', + 'shape', + 'geometry-box', + 'enum', + ], + }, + { + name: 'motion-offset', + browsers: ['C46', 'O33'], + relevance: 50, + description: + 'A distance that describes the position along the specified motion path.', + restrictions: ['length', 'percentage'], + }, + { + name: 'motion-path', + browsers: ['C46', 'O33'], + values: [ + { name: 'none', description: 'No motion path gets created.' }, + { + name: 'path()', + description: + "Defines an SVG path as a string, with optional 'fill-rule' as the first argument.", + }, + ], + relevance: 50, + description: + 'Specifies the motion path the element gets positioned at.', + restrictions: ['url', 'shape', 'geometry-box', 'enum'], + }, + { + name: 'motion-rotation', + browsers: ['C46', 'O33'], + values: [ + { + name: 'auto', + description: + 'Indicates that the object is rotated by the angle of the direction of the motion path.', + }, + { + name: 'reverse', + description: + 'Indicates that the object is rotated by the angle of the direction of the motion path plus 180 degrees.', + }, + ], + relevance: 50, + description: + 'Defines the direction of the element while positioning along the motion path.', + restrictions: ['angle'], + }, + { + name: '-moz-animation', + browsers: ['FF9'], + values: [ + { + name: 'alternate', + description: + 'The animation cycle iterations that are odd counts are played in the normal direction, and the animation cycle iterations that are even counts are played in a reverse direction.', + }, + { + name: 'alternate-reverse', + description: + 'The animation cycle iterations that are odd counts are played in the reverse direction, and the animation cycle iterations that are even counts are played in a normal direction.', + }, + { + name: 'backwards', + description: + "The beginning property value (as defined in the first @keyframes at-rule) is applied before the animation is displayed, during the period defined by 'animation-delay'.", + }, + { + name: 'both', + description: + 'Both forwards and backwards fill modes are applied.', + }, + { + name: 'forwards', + description: + 'The final property value (as defined in the last @keyframes at-rule) is maintained after the animation completes.', + }, + { + name: 'infinite', + description: 'Causes the animation to repeat forever.', + }, + { name: 'none', description: 'No animation is performed' }, + { name: 'normal', description: 'Normal playback.' }, + { + name: 'reverse', + description: + 'All iterations of the animation are played in the reverse direction from the way they were specified.', + }, + ], + relevance: 50, + description: + 'Shorthand property combines six of the animation properties into a single property.', + restrictions: [ + 'time', + 'enum', + 'timing-function', + 'identifier', + 'number', + ], + }, + { + name: '-moz-animation-delay', + browsers: ['FF9'], + relevance: 50, + description: 'Defines when the animation will start.', + restrictions: ['time'], + }, + { + name: '-moz-animation-direction', + browsers: ['FF9'], + values: [ + { + name: 'alternate', + description: + 'The animation cycle iterations that are odd counts are played in the normal direction, and the animation cycle iterations that are even counts are played in a reverse direction.', + }, + { + name: 'alternate-reverse', + description: + 'The animation cycle iterations that are odd counts are played in the reverse direction, and the animation cycle iterations that are even counts are played in a normal direction.', + }, + { name: 'normal', description: 'Normal playback.' }, + { + name: 'reverse', + description: + 'All iterations of the animation are played in the reverse direction from the way they were specified.', + }, + ], + relevance: 50, + description: + 'Defines whether or not the animation should play in reverse on alternate cycles.', + restrictions: ['enum'], + }, + { + name: '-moz-animation-duration', + browsers: ['FF9'], + relevance: 50, + description: + 'Defines the length of time that an animation takes to complete one cycle.', + restrictions: ['time'], + }, + { + name: '-moz-animation-iteration-count', + browsers: ['FF9'], + values: [ + { + name: 'infinite', + description: 'Causes the animation to repeat forever.', + }, + ], + relevance: 50, + description: + 'Defines the number of times an animation cycle is played. The default value is one, meaning the animation will play from beginning to end once.', + restrictions: ['number', 'enum'], + }, + { + name: '-moz-animation-name', + browsers: ['FF9'], + values: [ + { name: 'none', description: 'No animation is performed' }, + ], + relevance: 50, + description: + 'Defines a list of animations that apply. Each name is used to select the keyframe at-rule that provides the property values for the animation.', + restrictions: ['identifier', 'enum'], + }, + { + name: '-moz-animation-play-state', + browsers: ['FF9'], + values: [ + { + name: 'paused', + description: 'A running animation will be paused.', + }, + { + name: 'running', + description: 'Resume playback of a paused animation.', + }, + ], + relevance: 50, + description: + 'Defines whether the animation is running or paused.', + restrictions: ['enum'], + }, + { + name: '-moz-animation-timing-function', + browsers: ['FF9'], + relevance: 50, + description: + "Describes how the animation will progress over one cycle of its duration. See the 'transition-timing-function'.", + restrictions: ['timing-function'], + }, + { + name: '-moz-appearance', + browsers: ['FF1'], + values: [ + { name: 'button' }, + { name: 'button-arrow-down' }, + { name: 'button-arrow-next' }, + { name: 'button-arrow-previous' }, + { name: 'button-arrow-up' }, + { name: 'button-bevel' }, + { name: 'checkbox' }, + { name: 'checkbox-container' }, + { name: 'checkbox-label' }, + { name: 'dialog' }, + { name: 'groupbox' }, + { name: 'listbox' }, + { name: 'menuarrow' }, + { name: 'menuimage' }, + { name: 'menuitem' }, + { name: 'menuitemtext' }, + { name: 'menulist' }, + { name: 'menulist-button' }, + { name: 'menulist-text' }, + { name: 'menulist-textfield' }, + { name: 'menupopup' }, + { name: 'menuradio' }, + { name: 'menuseparator' }, + { name: '-moz-mac-unified-toolbar' }, + { name: '-moz-win-borderless-glass' }, + { name: '-moz-win-browsertabbar-toolbox' }, + { name: '-moz-win-communications-toolbox' }, + { name: '-moz-win-glass' }, + { name: '-moz-win-media-toolbox' }, + { name: 'none' }, + { name: 'progressbar' }, + { name: 'progresschunk' }, + { name: 'radio' }, + { name: 'radio-container' }, + { name: 'radio-label' }, + { name: 'radiomenuitem' }, + { name: 'resizer' }, + { name: 'resizerpanel' }, + { name: 'scrollbarbutton-down' }, + { name: 'scrollbarbutton-left' }, + { name: 'scrollbarbutton-right' }, + { name: 'scrollbarbutton-up' }, + { name: 'scrollbar-small' }, + { name: 'scrollbartrack-horizontal' }, + { name: 'scrollbartrack-vertical' }, + { name: 'separator' }, + { name: 'spinner' }, + { name: 'spinner-downbutton' }, + { name: 'spinner-textfield' }, + { name: 'spinner-upbutton' }, + { name: 'statusbar' }, + { name: 'statusbarpanel' }, + { name: 'tab' }, + { name: 'tabpanels' }, + { name: 'tab-scroll-arrow-back' }, + { name: 'tab-scroll-arrow-forward' }, + { name: 'textfield' }, + { name: 'textfield-multiline' }, + { name: 'toolbar' }, + { name: 'toolbox' }, + { name: 'tooltip' }, + { name: 'treeheadercell' }, + { name: 'treeheadersortarrow' }, + { name: 'treeitem' }, + { name: 'treetwistyopen' }, + { name: 'treeview' }, + { name: 'treewisty' }, + { name: 'window' }, + ], + status: 'nonstandard', + syntax: + 'none | button | button-arrow-down | button-arrow-next | button-arrow-previous | button-arrow-up | button-bevel | button-focus | caret | checkbox | checkbox-container | checkbox-label | checkmenuitem | dualbutton | groupbox | listbox | listitem | menuarrow | menubar | menucheckbox | menuimage | menuitem | menuitemtext | menulist | menulist-button | menulist-text | menulist-textfield | menupopup | menuradio | menuseparator | meterbar | meterchunk | progressbar | progressbar-vertical | progresschunk | progresschunk-vertical | radio | radio-container | radio-label | radiomenuitem | range | range-thumb | resizer | resizerpanel | scale-horizontal | scalethumbend | scalethumb-horizontal | scalethumbstart | scalethumbtick | scalethumb-vertical | scale-vertical | scrollbarbutton-down | scrollbarbutton-left | scrollbarbutton-right | scrollbarbutton-up | scrollbarthumb-horizontal | scrollbarthumb-vertical | scrollbartrack-horizontal | scrollbartrack-vertical | searchfield | separator | sheet | spinner | spinner-downbutton | spinner-textfield | spinner-upbutton | splitter | statusbar | statusbarpanel | tab | tabpanel | tabpanels | tab-scroll-arrow-back | tab-scroll-arrow-forward | textfield | textfield-multiline | toolbar | toolbarbutton | toolbarbutton-dropdown | toolbargripper | toolbox | tooltip | treeheader | treeheadercell | treeheadersortarrow | treeitem | treeline | treetwisty | treetwistyopen | treeview | -moz-mac-unified-toolbar | -moz-win-borderless-glass | -moz-win-browsertabbar-toolbox | -moz-win-communicationstext | -moz-win-communications-toolbox | -moz-win-exclude-glass | -moz-win-glass | -moz-win-mediatext | -moz-win-media-toolbox | -moz-window-button-box | -moz-window-button-box-maximized | -moz-window-button-close | -moz-window-button-maximize | -moz-window-button-minimize | -moz-window-button-restore | -moz-window-frame-bottom | -moz-window-frame-left | -moz-window-frame-right | -moz-window-titlebar | -moz-window-titlebar-maximized', + relevance: 0, + description: + "Used in Gecko (Firefox) to display an element using a platform-native styling based on the operating system's theme.", + restrictions: ['enum'], + }, + { + name: '-moz-backface-visibility', + browsers: ['FF10'], + values: [{ name: 'hidden' }, { name: 'visible' }], + relevance: 50, + description: + "Determines whether or not the 'back' side of a transformed element is visible when facing the viewer. With an identity transform, the front side of an element faces the viewer.", + restrictions: ['enum'], + }, + { + name: '-moz-background-clip', + browsers: ['FF1-3.6'], + values: [{ name: 'padding' }], + relevance: 50, + description: 'Determines the background painting area.', + restrictions: ['box', 'enum'], + }, + { + name: '-moz-background-inline-policy', + browsers: ['FF1'], + values: [ + { name: 'bounding-box' }, + { name: 'continuous' }, + { name: 'each-box' }, + ], + relevance: 50, + description: + 'In Gecko-based applications like Firefox, the -moz-background-inline-policy CSS property specifies how the background image of an inline element is determined when the content of the inline element wraps onto multiple lines. The choice of position has significant effects on repetition.', + restrictions: ['enum'], + }, + { + name: '-moz-background-origin', + browsers: ['FF1'], + relevance: 50, + description: + "For elements rendered as a single box, specifies the background positioning area. For elements rendered as multiple boxes (e.g., inline boxes on several lines, boxes on several pages) specifies which boxes 'box-decoration-break' operates on to determine the background positioning area(s).", + restrictions: ['box'], + }, + { + name: '-moz-border-bottom-colors', + browsers: ['FF1'], + status: 'nonstandard', + syntax: '<color>+ | none', + relevance: 0, + description: 'Sets a list of colors for the bottom border.', + restrictions: ['color'], + }, + { + name: '-moz-border-image', + browsers: ['FF3.6'], + values: [ + { + name: 'auto', + description: + "If 'auto' is specified then the border image width is the intrinsic width or height (whichever is applicable) of the corresponding image slice. If the image does not have the required intrinsic dimension then the corresponding border-width is used instead.", + }, + { + name: 'fill', + description: + 'Causes the middle part of the border-image to be preserved.', + }, + { name: 'none' }, + { + name: 'repeat', + description: + 'The image is tiled (repeated) to fill the area.', + }, + { + name: 'round', + description: + 'The image is tiled (repeated) to fill the area. If it does not fill the area with a whole number of tiles, the image is rescaled so that it does.', + }, + { + name: 'space', + description: + 'The image is tiled (repeated) to fill the area. If it does not fill the area with a whole number of tiles, the extra space is distributed around the tiles.', + }, + { + name: 'stretch', + description: 'The image is stretched to fill the area.', + }, + { name: 'url()' }, + ], + relevance: 50, + description: + "Shorthand property for setting 'border-image-source', 'border-image-slice', 'border-image-width', 'border-image-outset' and 'border-image-repeat'. Omitted values are set to their initial values.", + restrictions: ['length', 'percentage', 'number', 'url', 'enum'], + }, + { + name: '-moz-border-left-colors', + browsers: ['FF1'], + status: 'nonstandard', + syntax: '<color>+ | none', + relevance: 0, + description: 'Sets a list of colors for the bottom border.', + restrictions: ['color'], + }, + { + name: '-moz-border-right-colors', + browsers: ['FF1'], + status: 'nonstandard', + syntax: '<color>+ | none', + relevance: 0, + description: 'Sets a list of colors for the bottom border.', + restrictions: ['color'], + }, + { + name: '-moz-border-top-colors', + browsers: ['FF1'], + status: 'nonstandard', + syntax: '<color>+ | none', + relevance: 0, + description: + 'Ske Firefox, -moz-border-bottom-colors sets a list of colors for the bottom border.', + restrictions: ['color'], + }, + { + name: '-moz-box-align', + browsers: ['FF1'], + values: [ + { + name: 'baseline', + description: + 'If this box orientation is inline-axis or horizontal, all children are placed with their baselines aligned, and extra space placed before or after as necessary. For block flows, the baseline of the first non-empty line box located within the element is used. For tables, the baseline of the first cell is used.', + }, + { + name: 'center', + description: + 'Any extra space is divided evenly, with half placed above the child and the other half placed after the child.', + }, + { + name: 'end', + description: + 'For normal direction boxes, the bottom edge of each child is placed along the bottom of the box. Extra space is placed above the element. For reverse direction boxes, the top edge of each child is placed along the top of the box. Extra space is placed below the element.', + }, + { + name: 'start', + description: + 'For normal direction boxes, the top edge of each child is placed along the top of the box. Extra space is placed below the element. For reverse direction boxes, the bottom edge of each child is placed along the bottom of the box. Extra space is placed above the element.', + }, + { + name: 'stretch', + description: + 'The height of each child is adjusted to that of the containing block.', + }, + ], + relevance: 50, + description: + 'Specifies how a XUL box aligns its contents across (perpendicular to) the direction of its layout. The effect of this is only visible if there is extra space in the box.', + restrictions: ['enum'], + }, + { + name: '-moz-box-direction', + browsers: ['FF1'], + values: [ + { + name: 'normal', + description: + 'A box with a computed value of horizontal for box-orient displays its children from left to right. A box with a computed value of vertical displays its children from top to bottom.', + }, + { + name: 'reverse', + description: + 'A box with a computed value of horizontal for box-orient displays its children from right to left. A box with a computed value of vertical displays its children from bottom to top.', + }, + ], + relevance: 50, + description: + 'Specifies whether a box lays out its contents normally (from the top or left edge), or in reverse (from the bottom or right edge).', + restrictions: ['enum'], + }, + { + name: '-moz-box-flex', + browsers: ['FF1'], + relevance: 50, + description: + "Specifies how a box grows to fill the box that contains it, in the direction of the containing box's layout.", + restrictions: ['number'], + }, + { + name: '-moz-box-flexgroup', + browsers: ['FF1'], + relevance: 50, + description: + "Flexible elements can be assigned to flex groups using the 'box-flex-group' property.", + restrictions: ['integer'], + }, + { + name: '-moz-box-ordinal-group', + browsers: ['FF1'], + relevance: 50, + description: + 'Indicates the ordinal group the element belongs to. Elements with a lower ordinal group are displayed before those with a higher ordinal group.', + restrictions: ['integer'], + }, + { + name: '-moz-box-orient', + browsers: ['FF1'], + values: [ + { + name: 'block-axis', + description: "Elements are oriented along the box's axis.", + }, + { + name: 'horizontal', + description: + 'The box displays its children from left to right in a horizontal line.', + }, + { + name: 'inline-axis', + description: 'Elements are oriented vertically.', + }, + { + name: 'vertical', + description: + 'The box displays its children from stacked from top to bottom vertically.', + }, + ], + relevance: 50, + description: + 'In Mozilla applications, -moz-box-orient specifies whether a box lays out its contents horizontally or vertically.', + restrictions: ['enum'], + }, + { + name: '-moz-box-pack', + browsers: ['FF1'], + values: [ + { + name: 'center', + description: + 'The extra space is divided evenly, with half placed before the first child and the other half placed after the last child.', + }, + { + name: 'end', + description: + 'For normal direction boxes, the right edge of the last child is placed at the right side, with all extra space placed before the first child. For reverse direction boxes, the left edge of the first child is placed at the left side, with all extra space placed after the last child.', + }, + { + name: 'justify', + description: + 'The space is divided evenly in-between each child, with none of the extra space placed before the first child or after the last child. If there is only one child, treat the pack value as if it were start.', + }, + { + name: 'start', + description: + 'For normal direction boxes, the left edge of the first child is placed at the left side, with all extra space placed after the last child. For reverse direction boxes, the right edge of the last child is placed at the right side, with all extra space placed before the first child.', + }, + ], + relevance: 50, + description: + 'Specifies how a box packs its contents in the direction of its layout. The effect of this is only visible if there is extra space in the box.', + restrictions: ['enum'], + }, + { + name: '-moz-box-sizing', + browsers: ['FF1'], + values: [ + { + name: 'border-box', + description: + 'The specified width and height (and respective min/max properties) on this element determine the border box of the element.', + }, + { + name: 'content-box', + description: + 'Behavior of width and height as specified by CSS2.1. The specified width and height (and respective min/max properties) apply to the width and height respectively of the content box of the element.', + }, + { + name: 'padding-box', + description: + 'The specified width and height (and respective min/max properties) on this element determine the padding box of the element.', + }, + ], + relevance: 50, + description: 'Box Model addition in CSS3.', + restrictions: ['enum'], + }, + { + name: '-moz-column-count', + browsers: ['FF3.5'], + values: [ + { + name: 'auto', + description: + "Determines the number of columns by the 'column-width' property and the element width.", + }, + ], + relevance: 50, + description: + 'Describes the optimal number of columns into which the content of the element will be flowed.', + restrictions: ['integer'], + }, + { + name: '-moz-column-gap', + browsers: ['FF3.5'], + values: [ + { + name: 'normal', + description: + 'User agent specific and typically equivalent to 1em.', + }, + ], + relevance: 50, + description: + 'Sets the gap between columns. If there is a column rule between columns, it will appear in the middle of the gap.', + restrictions: ['length'], + }, + { + name: '-moz-column-rule', + browsers: ['FF3.5'], + relevance: 50, + description: + "Shorthand for setting 'column-rule-width', 'column-rule-style', and 'column-rule-color' at the same place in the style sheet. Omitted values are set to their initial values.", + restrictions: ['length', 'line-width', 'line-style', 'color'], + }, + { + name: '-moz-column-rule-color', + browsers: ['FF3.5'], + relevance: 50, + description: 'Sets the color of the column rule', + restrictions: ['color'], + }, + { + name: '-moz-column-rule-style', + browsers: ['FF3.5'], + relevance: 50, + description: + 'Sets the style of the rule between columns of an element.', + restrictions: ['line-style'], + }, + { + name: '-moz-column-rule-width', + browsers: ['FF3.5'], + relevance: 50, + description: + 'Sets the width of the rule between columns. Negative values are not allowed.', + restrictions: ['length', 'line-width'], + }, + { + name: '-moz-columns', + browsers: ['FF9'], + values: [ + { + name: 'auto', + description: + 'The width depends on the values of other properties.', + }, + ], + relevance: 50, + description: + "A shorthand property which sets both 'column-width' and 'column-count'.", + restrictions: ['length', 'integer'], + }, + { + name: '-moz-column-width', + browsers: ['FF3.5'], + values: [ + { + name: 'auto', + description: + 'The width depends on the values of other properties.', + }, + ], + relevance: 50, + description: + 'This property describes the width of columns in multicol elements.', + restrictions: ['length'], + }, + { + name: '-moz-font-feature-settings', + browsers: ['FF4'], + values: [ + { name: '"c2cs"' }, + { name: '"dlig"' }, + { name: '"kern"' }, + { name: '"liga"' }, + { name: '"lnum"' }, + { name: '"onum"' }, + { name: '"smcp"' }, + { name: '"swsh"' }, + { name: '"tnum"' }, + { + name: 'normal', + description: + 'No change in glyph substitution or positioning occurs.', + }, + { name: 'off', browsers: ['FF4'] }, + { name: 'on', browsers: ['FF4'] }, + ], + relevance: 50, + description: + 'Provides low-level control over OpenType font features. It is intended as a way of providing access to font features that are not widely used but are needed for a particular use case.', + restrictions: ['string', 'integer'], + }, + { + name: '-moz-hyphens', + browsers: ['FF9'], + values: [ + { + name: 'auto', + description: + 'Conditional hyphenation characters inside a word, if present, take priority over automatic resources when determining hyphenation points within the word.', + }, + { + name: 'manual', + description: + 'Words are only broken at line breaks where there are characters inside the word that suggest line break opportunities', + }, + { + name: 'none', + description: + 'Words are not broken at line breaks, even if characters inside the word suggest line break points.', + }, + ], + relevance: 50, + description: + 'Controls whether hyphenation is allowed to create more break opportunities within a line of text.', + restrictions: ['enum'], + }, + { + name: '-moz-perspective', + browsers: ['FF10'], + values: [ + { + name: 'none', + description: 'No perspective transform is applied.', + }, + ], + relevance: 50, + description: + 'Applies the same transform as the perspective(<number>) transform function, except that it applies only to the positioned or transformed children of the element, not to the transform on the element itself.', + restrictions: ['length'], + }, + { + name: '-moz-perspective-origin', + browsers: ['FF10'], + relevance: 50, + description: + 'Establishes the origin for the perspective property. It effectively sets the X and Y position at which the viewer appears to be looking at the children of the element.', + restrictions: ['position', 'percentage', 'length'], + }, + { + name: '-moz-text-align-last', + browsers: ['FF12'], + values: [ + { name: 'auto' }, + { + name: 'center', + description: + 'The inline contents are centered within the line box.', + }, + { + name: 'justify', + description: + "The text is justified according to the method specified by the 'text-justify' property.", + }, + { + name: 'left', + description: + "The inline contents are aligned to the left edge of the line box. In vertical text, 'left' aligns to the edge of the line box that would be the start edge for left-to-right text.", + }, + { + name: 'right', + description: + "The inline contents are aligned to the right edge of the line box. In vertical text, 'right' aligns to the edge of the line box that would be the end edge for left-to-right text.", + }, + ], + relevance: 50, + description: + "Describes how the last line of a block or a line right before a forced line break is aligned when 'text-align' is set to 'justify'.", + restrictions: ['enum'], + }, + { + name: '-moz-text-decoration-color', + browsers: ['FF6'], + relevance: 50, + description: + 'Specifies the color of text decoration (underlines overlines, and line-throughs) set on the element with text-decoration-line.', + restrictions: ['color'], + }, + { + name: '-moz-text-decoration-line', + browsers: ['FF6'], + values: [ + { + name: 'line-through', + description: + 'Each line of text has a line through the middle.', + }, + { + name: 'none', + description: 'Neither produces nor inhibits text decoration.', + }, + { + name: 'overline', + description: 'Each line of text has a line above it.', + }, + { + name: 'underline', + description: 'Each line of text is underlined.', + }, + ], + relevance: 50, + description: + 'Specifies what line decorations, if any, are added to the element.', + restrictions: ['enum'], + }, + { + name: '-moz-text-decoration-style', + browsers: ['FF6'], + values: [ + { + name: 'dashed', + description: 'Produces a dashed line style.', + }, + { name: 'dotted', description: 'Produces a dotted line.' }, + { name: 'double', description: 'Produces a double line.' }, + { name: 'none', description: 'Produces no line.' }, + { name: 'solid', description: 'Produces a solid line.' }, + { name: 'wavy', description: 'Produces a wavy line.' }, + ], + relevance: 50, + description: + 'Specifies the line style for underline, line-through and overline text decoration.', + restrictions: ['enum'], + }, + { + name: '-moz-text-size-adjust', + browsers: ['FF'], + values: [ + { + name: 'auto', + description: + 'Renderers must use the default size adjustment when displaying on a small device.', + }, + { + name: 'none', + description: + 'Renderers must not do size adjustment when displaying on a small device.', + }, + ], + relevance: 50, + description: + 'Specifies a size adjustment for displaying text content in mobile browsers.', + restrictions: ['enum', 'percentage'], + }, + { + name: '-moz-transform', + browsers: ['FF3.5'], + values: [ + { + name: 'matrix()', + description: + 'Specifies a 2D transformation in the form of a transformation matrix of six values. matrix(a,b,c,d,e,f) is equivalent to applying the transformation matrix [a b c d e f]', + }, + { + name: 'matrix3d()', + description: + 'Specifies a 3D transformation as a 4x4 homogeneous matrix of 16 values in column-major order.', + }, + { name: 'none' }, + { + name: 'perspective', + description: 'Specifies a perspective projection matrix.', + }, + { + name: 'rotate()', + description: + 'Specifies a 2D rotation by the angle specified in the parameter about the origin of the element, as defined by the transform-origin property.', + }, + { + name: 'rotate3d()', + description: + 'Specifies a clockwise 3D rotation by the angle specified in last parameter about the [x,y,z] direction vector described by the first 3 parameters.', + }, + { + name: "rotateX('angle')", + description: + 'Specifies a clockwise rotation by the given angle about the X axis.', + }, + { + name: "rotateY('angle')", + description: + 'Specifies a clockwise rotation by the given angle about the Y axis.', + }, + { + name: "rotateZ('angle')", + description: + 'Specifies a clockwise rotation by the given angle about the Z axis.', + }, + { + name: 'scale()', + description: + 'Specifies a 2D scale operation by the [sx,sy] scaling vector described by the 2 parameters. If the second parameter is not provided, it is takes a value equal to the first.', + }, + { + name: 'scale3d()', + description: + 'Specifies a 3D scale operation by the [sx,sy,sz] scaling vector described by the 3 parameters.', + }, + { + name: 'scaleX()', + description: + 'Specifies a scale operation using the [sx,1] scaling vector, where sx is given as the parameter.', + }, + { + name: 'scaleY()', + description: + 'Specifies a scale operation using the [sy,1] scaling vector, where sy is given as the parameter.', + }, + { + name: 'scaleZ()', + description: + 'Specifies a scale operation using the [1,1,sz] scaling vector, where sz is given as the parameter.', + }, + { + name: 'skew()', + description: + 'Specifies a skew transformation along the X and Y axes. The first angle parameter specifies the skew on the X axis. The second angle parameter specifies the skew on the Y axis. If the second parameter is not given then a value of 0 is used for the Y angle (ie: no skew on the Y axis).', + }, + { + name: 'skewX()', + description: + 'Specifies a skew transformation along the X axis by the given angle.', + }, + { + name: 'skewY()', + description: + 'Specifies a skew transformation along the Y axis by the given angle.', + }, + { + name: 'translate()', + description: + 'Specifies a 2D translation by the vector [tx, ty], where tx is the first translation-value parameter and ty is the optional second translation-value parameter.', + }, + { + name: 'translate3d()', + description: + 'Specifies a 3D translation by the vector [tx,ty,tz], with tx, ty and tz being the first, second and third translation-value parameters respectively.', + }, + { + name: 'translateX()', + description: + 'Specifies a translation by the given amount in the X direction.', + }, + { + name: 'translateY()', + description: + 'Specifies a translation by the given amount in the Y direction.', + }, + { + name: 'translateZ()', + description: + 'Specifies a translation by the given amount in the Z direction. Note that percentage values are not allowed in the translateZ translation-value, and if present are evaluated as 0.', + }, + ], + relevance: 50, + description: + "A two-dimensional transformation is applied to an element through the 'transform' property. This property contains a list of transform functions similar to those allowed by SVG.", + restrictions: ['enum'], + }, + { + name: '-moz-transform-origin', + browsers: ['FF3.5'], + relevance: 50, + description: + 'Establishes the origin of transformation for an element.', + restrictions: ['position', 'length', 'percentage'], + }, + { + name: '-moz-transition', + browsers: ['FF4'], + values: [ + { + name: 'all', + description: + 'Every property that is able to undergo a transition will do so.', + }, + { name: 'none', description: 'No property will transition.' }, + ], + relevance: 50, + description: + 'Shorthand property combines four of the transition properties into a single property.', + restrictions: ['time', 'property', 'timing-function', 'enum'], + }, + { + name: '-moz-transition-delay', + browsers: ['FF4'], + relevance: 50, + description: + 'Defines when the transition will start. It allows a transition to begin execution some period of time from when it is applied.', + restrictions: ['time'], + }, + { + name: '-moz-transition-duration', + browsers: ['FF4'], + relevance: 50, + description: + 'Specifies how long the transition from the old value to the new value should take.', + restrictions: ['time'], + }, + { + name: '-moz-transition-property', + browsers: ['FF4'], + values: [ + { + name: 'all', + description: + 'Every property that is able to undergo a transition will do so.', + }, + { name: 'none', description: 'No property will transition.' }, + ], + relevance: 50, + description: + 'Specifies the name of the CSS property to which the transition is applied.', + restrictions: ['property'], + }, + { + name: '-moz-transition-timing-function', + browsers: ['FF4'], + relevance: 50, + description: + 'Describes how the intermediate values used during a transition will be calculated.', + restrictions: ['timing-function'], + }, + { + name: '-moz-user-focus', + browsers: ['FF1'], + values: [{ name: 'ignore' }, { name: 'normal' }], + status: 'nonstandard', + syntax: + 'ignore | normal | select-after | select-before | select-menu | select-same | select-all | none', + relevance: 0, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/-moz-user-focus', + }, + ], + description: + 'Used to indicate whether the element can have focus.', + }, + { + name: '-moz-user-select', + browsers: ['FF1.5'], + values: [ + { name: 'all' }, + { name: 'element' }, + { name: 'elements' }, + { name: '-moz-all' }, + { name: '-moz-none' }, + { name: 'none' }, + { name: 'text' }, + { name: 'toggle' }, + ], + relevance: 50, + description: 'Controls the appearance of selection.', + restrictions: ['enum'], + }, + { + name: '-ms-accelerator', + browsers: ['E', 'IE10'], + values: [ + { + name: 'false', + description: + 'The element does not contain an accelerator key sequence.', + }, + { + name: 'true', + description: + 'The element contains an accelerator key sequence.', + }, + ], + status: 'nonstandard', + syntax: 'false | true', + relevance: 0, + description: + 'IE only. Has the ability to turn off its system underlines for accelerator keys until the ALT key is pressed', + restrictions: ['enum'], + }, + { + name: '-ms-behavior', + browsers: ['IE8'], + relevance: 50, + description: 'IE only. Used to extend behaviors of the browser', + restrictions: ['url'], + }, + { + name: '-ms-block-progression', + browsers: ['IE8'], + values: [ + { + name: 'bt', + description: + 'Bottom-to-top block flow. Layout is horizontal.', + }, + { + name: 'lr', + description: + 'Left-to-right direction. The flow orientation is vertical.', + }, + { + name: 'rl', + description: + 'Right-to-left direction. The flow orientation is vertical.', + }, + { + name: 'tb', + description: + 'Top-to-bottom direction. The flow orientation is horizontal.', + }, + ], + status: 'nonstandard', + syntax: 'tb | rl | bt | lr', + relevance: 0, + description: + 'Sets the block-progression value and the flow orientation', + restrictions: ['enum'], + }, + { + name: '-ms-content-zoom-chaining', + browsers: ['E', 'IE10'], + values: [ + { + name: 'chained', + description: + 'The nearest zoomable parent element begins zooming when the user hits a zoom limit during a manipulation. No bounce effect is shown.', + }, + { + name: 'none', + description: + 'A bounce effect is shown when the user hits a zoom limit during a manipulation.', + }, + ], + status: 'nonstandard', + syntax: 'none | chained', + relevance: 0, + description: + 'Specifies the zoom behavior that occurs when a user hits the zoom limit during a manipulation.', + }, + { + name: '-ms-content-zooming', + browsers: ['E', 'IE10'], + values: [ + { name: 'none', description: 'The element is not zoomable.' }, + { name: 'zoom', description: 'The element is zoomable.' }, + ], + status: 'nonstandard', + syntax: 'none | zoom', + relevance: 0, + description: 'Specifies whether zooming is enabled.', + restrictions: ['enum'], + }, + { + name: '-ms-content-zoom-limit', + browsers: ['E', 'IE10'], + status: 'nonstandard', + syntax: + "<'-ms-content-zoom-limit-min'> <'-ms-content-zoom-limit-max'>", + relevance: 0, + description: + 'Shorthand property for the -ms-content-zoom-limit-min and -ms-content-zoom-limit-max properties.', + restrictions: ['percentage'], + }, + { + name: '-ms-content-zoom-limit-max', + browsers: ['E', 'IE10'], + status: 'nonstandard', + syntax: '<percentage>', + relevance: 0, + description: 'Specifies the maximum zoom factor.', + restrictions: ['percentage'], + }, + { + name: '-ms-content-zoom-limit-min', + browsers: ['E', 'IE10'], + status: 'nonstandard', + syntax: '<percentage>', + relevance: 0, + description: 'Specifies the minimum zoom factor.', + restrictions: ['percentage'], + }, + { + name: '-ms-content-zoom-snap', + browsers: ['E', 'IE10'], + values: [ + { + name: 'mandatory', + description: + 'Indicates that the motion of the content after the contact is picked up is always adjusted so that it lands on a snap-point.', + }, + { + name: 'none', + description: + 'Indicates that zooming is unaffected by any defined snap-points.', + }, + { + name: 'proximity', + description: + 'Indicates that the motion of the content after the contact is picked up may be adjusted if the content would normally stop "close enough" to a snap-point.', + }, + { + name: 'snapInterval(100%, 100%)', + description: + 'Specifies where the snap-points will be placed.', + }, + { + name: 'snapList()', + description: + 'Specifies the position of individual snap-points as a comma-separated list of zoom factors.', + }, + ], + status: 'nonstandard', + syntax: + "<'-ms-content-zoom-snap-type'> || <'-ms-content-zoom-snap-points'>", + relevance: 0, + description: + 'Shorthand property for the -ms-content-zoom-snap-type and -ms-content-zoom-snap-points properties.', + }, + { + name: '-ms-content-zoom-snap-points', + browsers: ['E', 'IE10'], + values: [ + { + name: 'snapInterval(100%, 100%)', + description: + 'Specifies where the snap-points will be placed.', + }, + { + name: 'snapList()', + description: + 'Specifies the position of individual snap-points as a comma-separated list of zoom factors.', + }, + ], + status: 'nonstandard', + syntax: + 'snapInterval( <percentage>, <percentage> ) | snapList( <percentage># )', + relevance: 0, + description: 'Defines where zoom snap-points are located.', + }, + { + name: '-ms-content-zoom-snap-type', + browsers: ['E', 'IE10'], + values: [ + { + name: 'mandatory', + description: + 'Indicates that the motion of the content after the contact is picked up is always adjusted so that it lands on a snap-point.', + }, + { + name: 'none', + description: + 'Indicates that zooming is unaffected by any defined snap-points.', + }, + { + name: 'proximity', + description: + 'Indicates that the motion of the content after the contact is picked up may be adjusted if the content would normally stop "close enough" to a snap-point.', + }, + ], + status: 'nonstandard', + syntax: 'none | proximity | mandatory', + relevance: 0, + description: + 'Specifies how zooming is affected by defined snap-points.', + restrictions: ['enum'], + }, + { + name: '-ms-filter', + browsers: ['IE8-9'], + status: 'nonstandard', + syntax: '<string>', + relevance: 0, + description: 'IE only. Used to produce visual effects.', + restrictions: ['string'], + }, + { + name: '-ms-flex', + browsers: ['IE10'], + values: [ + { + name: 'auto', + description: + "Retrieves the value of the main size property as the used 'flex-basis'.", + }, + { name: 'none', description: "Expands to '0 0 auto'." }, + ], + relevance: 50, + description: + 'specifies the parameters of a flexible length: the positive and negative flexibility, and the preferred size.', + restrictions: ['length', 'number', 'percentage'], + }, + { + name: '-ms-flex-align', + browsers: ['IE10'], + values: [ + { + name: 'baseline', + description: + "If the flex item’s inline axis is the same as the cross axis, this value is identical to 'flex-start'. Otherwise, it participates in baseline alignment.", + }, + { + name: 'center', + description: + 'The flex item’s margin box is centered in the cross axis within the line.', + }, + { + name: 'end', + description: + 'The cross-end margin edge of the flex item is placed flush with the cross-end edge of the line.', + }, + { + name: 'start', + description: + 'The cross-start margin edge of the flexbox item is placed flush with the cross-start edge of the line.', + }, + { + name: 'stretch', + description: + "If the cross size property of the flexbox item is anything other than 'auto', this value is identical to 'start'.", + }, + ], + relevance: 50, + description: + 'Aligns flex items along the cross axis of the current line of the flex container.', + restrictions: ['enum'], + }, + { + name: '-ms-flex-direction', + browsers: ['IE10'], + values: [ + { + name: 'column', + description: + 'The flex container’s main axis has the same orientation as the block axis of the current writing mode.', + }, + { + name: 'column-reverse', + description: + "Same as 'column', except the main-start and main-end directions are swapped.", + }, + { + name: 'row', + description: + 'The flex container’s main axis has the same orientation as the inline axis of the current writing mode.', + }, + { + name: 'row-reverse', + description: + "Same as 'row', except the main-start and main-end directions are swapped.", + }, + ], + relevance: 50, + description: + 'Specifies how flex items are placed in the flex container, by setting the direction of the flex container’s main axis.', + restrictions: ['enum'], + }, + { + name: '-ms-flex-flow', + browsers: ['IE10'], + values: [ + { + name: 'column', + description: + 'The flex container’s main axis has the same orientation as the block axis of the current writing mode.', + }, + { + name: 'column-reverse', + description: + "Same as 'column', except the main-start and main-end directions are swapped.", + }, + { + name: 'nowrap', + description: 'The flex container is single-line.', + }, + { + name: 'row', + description: + 'The flex container’s main axis has the same orientation as the inline axis of the current writing mode.', + }, + { name: 'wrap', description: 'The flexbox is multi-line.' }, + { + name: 'wrap-reverse', + description: + "Same as 'wrap', except the cross-start and cross-end directions are swapped.", + }, + ], + relevance: 50, + description: + 'Specifies how flexbox items are placed in the flexbox.', + restrictions: ['enum'], + }, + { + name: '-ms-flex-item-align', + browsers: ['IE10'], + values: [ + { + name: 'auto', + description: + "Computes to the value of 'align-items' on the element’s parent, or 'stretch' if the element has no parent. On absolutely positioned elements, it computes to itself.", + }, + { + name: 'baseline', + description: + "If the flex item’s inline axis is the same as the cross axis, this value is identical to 'flex-start'. Otherwise, it participates in baseline alignment.", + }, + { + name: 'center', + description: + 'The flex item’s margin box is centered in the cross axis within the line.', + }, + { + name: 'end', + description: + 'The cross-end margin edge of the flex item is placed flush with the cross-end edge of the line.', + }, + { + name: 'start', + description: + 'The cross-start margin edge of the flex item is placed flush with the cross-start edge of the line.', + }, + { + name: 'stretch', + description: + 'If the cross size property of the flex item computes to auto, and neither of the cross-axis margins are auto, the flex item is stretched.', + }, + ], + relevance: 50, + description: + 'Allows the default alignment along the cross axis to be overridden for individual flex items.', + restrictions: ['enum'], + }, + { + name: '-ms-flex-line-pack', + browsers: ['IE10'], + values: [ + { + name: 'center', + description: + 'Lines are packed toward the center of the flex container.', + }, + { + name: 'distribute', + description: + 'Lines are evenly distributed in the flex container, with half-size spaces on either end.', + }, + { + name: 'end', + description: + 'Lines are packed toward the end of the flex container.', + }, + { + name: 'justify', + description: + 'Lines are evenly distributed in the flex container.', + }, + { + name: 'start', + description: + 'Lines are packed toward the start of the flex container.', + }, + { + name: 'stretch', + description: 'Lines stretch to take up the remaining space.', + }, + ], + relevance: 50, + description: + "Aligns a flex container’s lines within the flex container when there is extra space in the cross-axis, similar to how 'justify-content' aligns individual items within the main-axis.", + restrictions: ['enum'], + }, + { + name: '-ms-flex-order', + browsers: ['IE10'], + relevance: 50, + description: + 'Controls the order in which children of a flex container appear within the flex container, by assigning them to ordinal groups.', + restrictions: ['integer'], + }, + { + name: '-ms-flex-pack', + browsers: ['IE10'], + values: [ + { + name: 'center', + description: + 'Flex items are packed toward the center of the line.', + }, + { + name: 'distribute', + description: + 'Flex items are evenly distributed in the line, with half-size spaces on either end.', + }, + { + name: 'end', + description: + 'Flex items are packed toward the end of the line.', + }, + { + name: 'justify', + description: 'Flex items are evenly distributed in the line.', + }, + { + name: 'start', + description: + 'Flex items are packed toward the start of the line.', + }, + ], + relevance: 50, + description: + 'Aligns flex items along the main axis of the current line of the flex container.', + restrictions: ['enum'], + }, + { + name: '-ms-flex-wrap', + browsers: ['IE10'], + values: [ + { + name: 'nowrap', + description: 'The flex container is single-line.', + }, + { name: 'wrap', description: 'The flexbox is multi-line.' }, + { + name: 'wrap-reverse', + description: + "Same as 'wrap', except the cross-start and cross-end directions are swapped.", + }, + ], + relevance: 50, + description: + 'Controls whether the flex container is single-line or multi-line, and the direction of the cross-axis, which determines the direction new lines are stacked in.', + restrictions: ['enum'], + }, + { + name: '-ms-flow-from', + browsers: ['E', 'IE10'], + values: [ + { + name: 'none', + description: 'The block container is not a CSS Region.', + }, + ], + status: 'nonstandard', + syntax: '[ none | <custom-ident> ]#', + relevance: 0, + description: + 'Makes a block container a region and associates it with a named flow.', + restrictions: ['identifier'], + }, + { + name: '-ms-flow-into', + browsers: ['E', 'IE10'], + values: [ + { + name: 'none', + description: + 'The element is not moved to a named flow and normal CSS processing takes place.', + }, + ], + status: 'nonstandard', + syntax: '[ none | <custom-ident> ]#', + relevance: 0, + description: + 'Places an element or its contents into a named flow.', + restrictions: ['identifier'], + }, + { + name: '-ms-grid-column', + browsers: ['E12', 'IE10'], + values: [{ name: 'auto' }, { name: 'end' }, { name: 'start' }], + relevance: 50, + description: + 'Used to place grid items and explicitly defined grid cells in the Grid.', + restrictions: ['integer', 'string', 'enum'], + }, + { + name: '-ms-grid-column-align', + browsers: ['E12', 'IE10'], + values: [ + { + name: 'center', + description: + "Places the center of the Grid Item's margin box at the center of the Grid Item's column.", + }, + { + name: 'end', + description: + "Aligns the end edge of the Grid Item's margin box to the end edge of the Grid Item's column.", + }, + { + name: 'start', + description: + "Aligns the starting edge of the Grid Item's margin box to the starting edge of the Grid Item's column.", + }, + { + name: 'stretch', + description: + "Ensures that the Grid Item's margin box is equal to the size of the Grid Item's column.", + }, + ], + relevance: 50, + description: 'Aligns the columns in a grid.', + restrictions: ['enum'], + }, + { + name: '-ms-grid-columns', + browsers: ['E12', 'IE10'], + relevance: 50, + description: 'Lays out the columns of the grid.', + }, + { + name: '-ms-grid-column-span', + browsers: ['E12', 'IE10'], + relevance: 50, + description: 'Specifies the number of columns to span.', + restrictions: ['integer'], + }, + { + name: '-ms-grid-layer', + browsers: ['E', 'IE10'], + relevance: 50, + description: + 'Grid-layer is similar in concept to z-index, but avoids overloading the meaning of the z-index property, which is applicable only to positioned elements.', + restrictions: ['integer'], + }, + { + name: '-ms-grid-row', + browsers: ['E12', 'IE10'], + values: [{ name: 'auto' }, { name: 'end' }, { name: 'start' }], + relevance: 50, + description: + 'grid-row is used to place grid items and explicitly defined grid cells in the Grid.', + restrictions: ['integer', 'string', 'enum'], + }, + { + name: '-ms-grid-row-align', + browsers: ['E12', 'IE10'], + values: [ + { + name: 'center', + description: + "Places the center of the Grid Item's margin box at the center of the Grid Item's row.", + }, + { + name: 'end', + description: + "Aligns the end edge of the Grid Item's margin box to the end edge of the Grid Item's row.", + }, + { + name: 'start', + description: + "Aligns the starting edge of the Grid Item's margin box to the starting edge of the Grid Item's row.", + }, + { + name: 'stretch', + description: + "Ensures that the Grid Item's margin box is equal to the size of the Grid Item's row.", + }, + ], + relevance: 50, + description: 'Aligns the rows in a grid.', + restrictions: ['enum'], + }, + { + name: '-ms-grid-rows', + browsers: ['E12', 'IE10'], + relevance: 50, + description: 'Lays out the columns of the grid.', + }, + { + name: '-ms-grid-row-span', + browsers: ['E12', 'IE10'], + relevance: 50, + description: 'Specifies the number of rows to span.', + restrictions: ['integer'], + }, + { + name: '-ms-high-contrast-adjust', + browsers: ['E', 'IE10'], + values: [ + { + name: 'auto', + description: 'Properties will be adjusted as applicable.', + }, + { + name: 'none', + description: 'No adjustments will be applied.', + }, + ], + status: 'nonstandard', + syntax: 'auto | none', + relevance: 0, + description: + 'Specifies if properties should be adjusted in high contrast mode.', + restrictions: ['enum'], + }, + { + name: '-ms-hyphenate-limit-chars', + browsers: ['E', 'IE10'], + values: [ + { + name: 'auto', + description: + 'The user agent chooses a value that adapts to the current layout.', + }, + ], + status: 'nonstandard', + syntax: 'auto | <integer>{1,3}', + relevance: 0, + description: + 'Specifies the minimum number of characters in a hyphenated word.', + restrictions: ['integer'], + }, + { + name: '-ms-hyphenate-limit-lines', + browsers: ['E', 'IE10'], + values: [{ name: 'no-limit', description: 'There is no limit.' }], + status: 'nonstandard', + syntax: 'no-limit | <integer>', + relevance: 0, + description: + 'Indicates the maximum number of successive hyphenated lines in an element.', + restrictions: ['integer'], + }, + { + name: '-ms-hyphenate-limit-zone', + browsers: ['E', 'IE10'], + status: 'nonstandard', + syntax: '<percentage> | <length>', + relevance: 0, + description: + 'Specifies the maximum amount of unfilled space (before justification) that may be left in the line box before hyphenation is triggered to pull part of a word from the next line back up into the current line.', + restrictions: ['percentage', 'length'], + }, + { + name: '-ms-hyphens', + browsers: ['E', 'IE10'], + values: [ + { + name: 'auto', + description: + 'Conditional hyphenation characters inside a word, if present, take priority over automatic resources when determining hyphenation points within the word.', + }, + { + name: 'manual', + description: + 'Words are only broken at line breaks where there are characters inside the word that suggest line break opportunities', + }, + { + name: 'none', + description: + 'Words are not broken at line breaks, even if characters inside the word suggest line break points.', + }, + ], + relevance: 50, + description: + 'Controls whether hyphenation is allowed to create more break opportunities within a line of text.', + restrictions: ['enum'], + }, + { + name: '-ms-ime-mode', + browsers: ['IE10'], + values: [ + { + name: 'active', + description: + 'The input method editor is initially active; text entry is performed using it unless the user specifically dismisses it.', + }, + { + name: 'auto', + description: + 'No change is made to the current input method editor state. This is the default.', + }, + { + name: 'disabled', + description: + 'The input method editor is disabled and may not be activated by the user.', + }, + { + name: 'inactive', + description: + 'The input method editor is initially inactive, but the user may activate it if they wish.', + }, + { + name: 'normal', + description: + 'The IME state should be normal; this value can be used in a user style sheet to override the page setting.', + }, + ], + relevance: 50, + description: + 'Controls the state of the input method editor for text fields.', + restrictions: ['enum'], + }, + { + name: '-ms-interpolation-mode', + browsers: ['IE7'], + values: [{ name: 'bicubic' }, { name: 'nearest-neighbor' }], + relevance: 50, + description: + 'Gets or sets the interpolation (resampling) method used to stretch images.', + restrictions: ['enum'], + }, + { + name: '-ms-layout-grid', + browsers: ['E', 'IE10'], + values: [ + { + name: 'char', + description: + 'Any of the range of character values available to the -ms-layout-grid-char property.', + }, + { + name: 'line', + description: + 'Any of the range of line values available to the -ms-layout-grid-line property.', + }, + { + name: 'mode', + description: + 'Any of the range of mode values available to the -ms-layout-grid-mode property.', + }, + { + name: 'type', + description: + 'Any of the range of type values available to the -ms-layout-grid-type property.', + }, + ], + relevance: 50, + description: + 'Sets or retrieves the composite document grid properties that specify the layout of text characters.', + }, + { + name: '-ms-layout-grid-char', + browsers: ['E', 'IE10'], + values: [ + { + name: 'auto', + description: + 'Largest character in the font of the element is used to set the character grid.', + }, + { + name: 'none', + description: 'Default. No character grid is set.', + }, + ], + relevance: 50, + description: + 'Sets or retrieves the size of the character grid used for rendering the text content of an element.', + restrictions: ['enum', 'length', 'percentage'], + }, + { + name: '-ms-layout-grid-line', + browsers: ['E', 'IE10'], + values: [ + { + name: 'auto', + description: + 'Largest character in the font of the element is used to set the character grid.', + }, + { name: 'none', description: 'Default. No grid line is set.' }, + ], + relevance: 50, + description: + 'Sets or retrieves the gridline value used for rendering the text content of an element.', + restrictions: ['length'], + }, + { + name: '-ms-layout-grid-mode', + browsers: ['E', 'IE10'], + values: [ + { + name: 'both', + description: + 'Default. Both the char and line grid modes are enabled. This setting is necessary to fully enable the layout grid on an element.', + }, + { + name: 'char', + description: + 'Only a character grid is used. This is recommended for use with block-level elements, such as a blockquote, where the line grid is intended to be disabled.', + }, + { + name: 'line', + description: + 'Only a line grid is used. This is recommended for use with inline elements, such as a span, to disable the horizontal grid on runs of text that act as a single entity in the grid layout.', + }, + { name: 'none', description: 'No grid is used.' }, + ], + relevance: 50, + description: + 'Gets or sets whether the text layout grid uses two dimensions.', + restrictions: ['enum'], + }, + { + name: '-ms-layout-grid-type', + browsers: ['E', 'IE10'], + values: [ + { + name: 'fixed', + description: + 'Grid used for monospaced layout. All noncursive characters are treated as equal; every character is centered within a single grid space by default.', + }, + { + name: 'loose', + description: + 'Default. Grid used for Japanese and Korean characters.', + }, + { + name: 'strict', + description: + 'Grid used for Chinese, as well as Japanese (Genko) and Korean characters. Only the ideographs, kanas, and wide characters are snapped to the grid.', + }, + ], + relevance: 50, + description: + 'Sets or retrieves the type of grid used for rendering the text content of an element.', + restrictions: ['enum'], + }, + { + name: '-ms-line-break', + browsers: ['E', 'IE10'], + values: [ + { + name: 'auto', + description: + 'The UA determines the set of line-breaking restrictions to use for CJK scripts, and it may vary the restrictions based on the length of the line; e.g., use a less restrictive set of line-break rules for short lines.', + }, + { + name: 'keep-all', + description: + 'Sequences of CJK characters can no longer break on implied break points. This option should only be used where the presence of word separator characters still creates line-breaking opportunities, as in Korean.', + }, + { + name: 'newspaper', + description: + 'Breaks CJK scripts using the least restrictive set of line-breaking rules. Typically used for short lines, such as in newspapers.', + }, + { + name: 'normal', + description: + 'Breaks CJK scripts using a normal set of line-breaking rules.', + }, + { + name: 'strict', + description: + "Breaks CJK scripts using a more restrictive set of line-breaking rules than 'normal'.", + }, + ], + relevance: 50, + description: + 'Specifies what set of line breaking restrictions are in effect within the element.', + restrictions: ['enum'], + }, + { + name: '-ms-overflow-style', + browsers: ['E', 'IE10'], + values: [ + { + name: 'auto', + description: + 'No preference, UA should use the first scrolling method in the list that it supports.', + }, + { + name: '-ms-autohiding-scrollbar', + description: + 'Indicates the element displays auto-hiding scrollbars during mouse interactions and panning indicators during touch and keyboard interactions.', + }, + { + name: 'none', + description: + 'Indicates the element does not display scrollbars or panning indicators, even when its content overflows.', + }, + { + name: 'scrollbar', + description: + 'Scrollbars are typically narrow strips inserted on one or two edges of an element and which often have arrows to click on and a "thumb" to drag up and down (or left and right) to move the contents of the element.', + }, + ], + status: 'nonstandard', + syntax: 'auto | none | scrollbar | -ms-autohiding-scrollbar', + relevance: 0, + description: + "Specify whether content is clipped when it overflows the element's content area.", + restrictions: ['enum'], + }, + { + name: '-ms-perspective', + browsers: ['IE10'], + values: [ + { + name: 'none', + description: 'No perspective transform is applied.', + }, + ], + relevance: 50, + description: + 'Applies the same transform as the perspective(<number>) transform function, except that it applies only to the positioned or transformed children of the element, not to the transform on the element itself.', + restrictions: ['length'], + }, + { + name: '-ms-perspective-origin', + browsers: ['IE10'], + relevance: 50, + description: + 'Establishes the origin for the perspective property. It effectively sets the X and Y position at which the viewer appears to be looking at the children of the element.', + restrictions: ['position', 'percentage', 'length'], + }, + { + name: '-ms-perspective-origin-x', + browsers: ['IE10'], + relevance: 50, + description: + 'Establishes the origin for the perspective property. It effectively sets the X position at which the viewer appears to be looking at the children of the element.', + restrictions: ['position', 'percentage', 'length'], + }, + { + name: '-ms-perspective-origin-y', + browsers: ['IE10'], + relevance: 50, + description: + 'Establishes the origin for the perspective property. It effectively sets the Y position at which the viewer appears to be looking at the children of the element.', + restrictions: ['position', 'percentage', 'length'], + }, + { + name: '-ms-progress-appearance', + browsers: ['IE10'], + values: [{ name: 'bar' }, { name: 'ring' }], + relevance: 50, + description: + 'Gets or sets a value that specifies whether a progress control displays as a bar or a ring.', + restrictions: ['enum'], + }, + { + name: '-ms-scrollbar-3dlight-color', + browsers: ['IE8'], + status: 'nonstandard', + syntax: '<color>', + relevance: 0, + description: + 'Determines the color of the top and left edges of the scroll box and scroll arrows of a scroll bar.', + restrictions: ['color'], + }, + { + name: '-ms-scrollbar-arrow-color', + browsers: ['IE8'], + status: 'nonstandard', + syntax: '<color>', + relevance: 0, + description: + 'Determines the color of the arrow elements of a scroll arrow.', + restrictions: ['color'], + }, + { + name: '-ms-scrollbar-base-color', + browsers: ['IE8'], + status: 'nonstandard', + syntax: '<color>', + relevance: 0, + description: + 'Determines the color of the main elements of a scroll bar, which include the scroll box, track, and scroll arrows.', + restrictions: ['color'], + }, + { + name: '-ms-scrollbar-darkshadow-color', + browsers: ['IE8'], + status: 'nonstandard', + syntax: '<color>', + relevance: 0, + description: + 'Determines the color of the gutter of a scroll bar.', + restrictions: ['color'], + }, + { + name: '-ms-scrollbar-face-color', + browsers: ['IE8'], + status: 'nonstandard', + syntax: '<color>', + relevance: 0, + description: + 'Determines the color of the scroll box and scroll arrows of a scroll bar.', + restrictions: ['color'], + }, + { + name: '-ms-scrollbar-highlight-color', + browsers: ['IE8'], + status: 'nonstandard', + syntax: '<color>', + relevance: 0, + description: + 'Determines the color of the top and left edges of the scroll box and scroll arrows of a scroll bar.', + restrictions: ['color'], + }, + { + name: '-ms-scrollbar-shadow-color', + browsers: ['IE8'], + status: 'nonstandard', + syntax: '<color>', + relevance: 0, + description: + 'Determines the color of the bottom and right edges of the scroll box and scroll arrows of a scroll bar.', + restrictions: ['color'], + }, + { + name: '-ms-scrollbar-track-color', + browsers: ['IE5'], + status: 'nonstandard', + syntax: '<color>', + relevance: 0, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/-ms-scrollbar-track-color', + }, + ], + description: + 'Determines the color of the track element of a scroll bar.', + restrictions: ['color'], + }, + { + name: '-ms-scroll-chaining', + browsers: ['E', 'IE10'], + values: [{ name: 'chained' }, { name: 'none' }], + status: 'nonstandard', + syntax: 'chained | none', + relevance: 0, + description: + 'Gets or sets a value that indicates the scrolling behavior that occurs when a user hits the content boundary during a manipulation.', + restrictions: ['enum', 'length'], + }, + { + name: '-ms-scroll-limit', + browsers: ['E', 'IE10'], + values: [{ name: 'auto' }], + status: 'nonstandard', + syntax: + "<'-ms-scroll-limit-x-min'> <'-ms-scroll-limit-y-min'> <'-ms-scroll-limit-x-max'> <'-ms-scroll-limit-y-max'>", + relevance: 0, + description: + 'Gets or sets a shorthand value that sets values for the -ms-scroll-limit-x-min, -ms-scroll-limit-y-min, -ms-scroll-limit-x-max, and -ms-scroll-limit-y-max properties.', + restrictions: ['length'], + }, + { + name: '-ms-scroll-limit-x-max', + browsers: ['E', 'IE10'], + values: [{ name: 'auto' }], + status: 'nonstandard', + syntax: 'auto | <length>', + relevance: 0, + description: + 'Gets or sets a value that specifies the maximum value for the scrollLeft property.', + restrictions: ['length'], + }, + { + name: '-ms-scroll-limit-x-min', + browsers: ['E', 'IE10'], + status: 'nonstandard', + syntax: '<length>', + relevance: 0, + description: + 'Gets or sets a value that specifies the minimum value for the scrollLeft property.', + restrictions: ['length'], + }, + { + name: '-ms-scroll-limit-y-max', + browsers: ['E', 'IE10'], + values: [{ name: 'auto' }], + status: 'nonstandard', + syntax: 'auto | <length>', + relevance: 0, + description: + 'Gets or sets a value that specifies the maximum value for the scrollTop property.', + restrictions: ['length'], + }, + { + name: '-ms-scroll-limit-y-min', + browsers: ['E', 'IE10'], + status: 'nonstandard', + syntax: '<length>', + relevance: 0, + description: + 'Gets or sets a value that specifies the minimum value for the scrollTop property.', + restrictions: ['length'], + }, + { + name: '-ms-scroll-rails', + browsers: ['E', 'IE10'], + values: [{ name: 'none' }, { name: 'railed' }], + status: 'nonstandard', + syntax: 'none | railed', + relevance: 0, + description: + 'Gets or sets a value that indicates whether or not small motions perpendicular to the primary axis of motion will result in either changes to both the scrollTop and scrollLeft properties or a change to the primary axis (for instance, either the scrollTop or scrollLeft properties will change, but not both).', + restrictions: ['enum', 'length'], + }, + { + name: '-ms-scroll-snap-points-x', + browsers: ['E', 'IE10'], + values: [ + { name: 'snapInterval(100%, 100%)' }, + { name: 'snapList()' }, + ], + status: 'nonstandard', + syntax: + 'snapInterval( <length-percentage>, <length-percentage> ) | snapList( <length-percentage># )', + relevance: 0, + description: + 'Gets or sets a value that defines where snap-points will be located along the x-axis.', + restrictions: ['enum'], + }, + { + name: '-ms-scroll-snap-points-y', + browsers: ['E', 'IE10'], + values: [ + { name: 'snapInterval(100%, 100%)' }, + { name: 'snapList()' }, + ], + status: 'nonstandard', + syntax: + 'snapInterval( <length-percentage>, <length-percentage> ) | snapList( <length-percentage># )', + relevance: 0, + description: + 'Gets or sets a value that defines where snap-points will be located along the y-axis.', + restrictions: ['enum'], + }, + { + name: '-ms-scroll-snap-type', + browsers: ['E', 'IE10'], + values: [ + { + name: 'none', + description: + 'The visual viewport of this scroll container must ignore snap points, if any, when scrolled.', + }, + { + name: 'mandatory', + description: + 'The visual viewport of this scroll container is guaranteed to rest on a snap point when there are no active scrolling operations.', + }, + { + name: 'proximity', + description: + 'The visual viewport of this scroll container may come to rest on a snap point at the termination of a scroll at the discretion of the UA given the parameters of the scroll.', + }, + ], + status: 'nonstandard', + syntax: 'none | proximity | mandatory', + relevance: 0, + description: + 'Gets or sets a value that defines what type of snap-point should be used for the current element. There are two type of snap-points, with the primary difference being whether or not the user is guaranteed to always stop on a snap-point.', + restrictions: ['enum'], + }, + { + name: '-ms-scroll-snap-x', + browsers: ['E', 'IE10'], + values: [ + { name: 'mandatory' }, + { name: 'none' }, + { name: 'proximity' }, + { name: 'snapInterval(100%, 100%)' }, + { name: 'snapList()' }, + ], + status: 'nonstandard', + syntax: "<'-ms-scroll-snap-type'> <'-ms-scroll-snap-points-x'>", + relevance: 0, + description: + 'Gets or sets a shorthand value that sets values for the -ms-scroll-snap-type and -ms-scroll-snap-points-x properties.', + restrictions: ['enum'], + }, + { + name: '-ms-scroll-snap-y', + browsers: ['E', 'IE10'], + values: [ + { name: 'mandatory' }, + { name: 'none' }, + { name: 'proximity' }, + { name: 'snapInterval(100%, 100%)' }, + { name: 'snapList()' }, + ], + status: 'nonstandard', + syntax: "<'-ms-scroll-snap-type'> <'-ms-scroll-snap-points-y'>", + relevance: 0, + description: + 'Gets or sets a shorthand value that sets values for the -ms-scroll-snap-type and -ms-scroll-snap-points-y properties.', + restrictions: ['enum'], + }, + { + name: '-ms-scroll-translation', + browsers: ['E', 'IE10'], + values: [{ name: 'none' }, { name: 'vertical-to-horizontal' }], + status: 'nonstandard', + syntax: 'none | vertical-to-horizontal', + relevance: 0, + description: + 'Gets or sets a value that specifies whether vertical-to-horizontal scroll wheel translation occurs on the specified element.', + restrictions: ['enum'], + }, + { + name: '-ms-text-align-last', + browsers: ['E', 'IE8'], + values: [ + { name: 'auto' }, + { + name: 'center', + description: + 'The inline contents are centered within the line box.', + }, + { + name: 'justify', + description: + "The text is justified according to the method specified by the 'text-justify' property.", + }, + { + name: 'left', + description: + "The inline contents are aligned to the left edge of the line box. In vertical text, 'left' aligns to the edge of the line box that would be the start edge for left-to-right text.", + }, + { + name: 'right', + description: + "The inline contents are aligned to the right edge of the line box. In vertical text, 'right' aligns to the edge of the line box that would be the end edge for left-to-right text.", + }, + ], + relevance: 50, + description: + "Describes how the last line of a block or a line right before a forced line break is aligned when 'text-align' is set to 'justify'.", + restrictions: ['enum'], + }, + { + name: '-ms-text-autospace', + browsers: ['E', 'IE8'], + values: [ + { + name: 'ideograph-alpha', + description: + 'Creates 1/4em extra spacing between runs of ideographic letters and non-ideographic letters, such as Latin-based, Cyrillic, Greek, Arabic or Hebrew.', + }, + { + name: 'ideograph-numeric', + description: + 'Creates 1/4em extra spacing between runs of ideographic letters and numeric glyphs.', + }, + { + name: 'ideograph-parenthesis', + description: + 'Creates extra spacing between normal (non wide) parenthesis and ideographs.', + }, + { + name: 'ideograph-space', + description: + 'Extends the width of the space character while surrounded by ideographs.', + }, + { name: 'none', description: 'No extra space is created.' }, + { + name: 'punctuation', + description: + 'Creates extra non-breaking spacing around punctuation as required by language-specific typographic conventions.', + }, + ], + status: 'nonstandard', + syntax: + 'none | ideograph-alpha | ideograph-numeric | ideograph-parenthesis | ideograph-space', + relevance: 0, + description: + "Determines whether or not a full-width punctuation mark character should be trimmed if it appears at the beginning of a line, so that its 'ink' lines up with the first glyph in the line above and below.", + restrictions: ['enum'], + }, + { + name: '-ms-text-combine-horizontal', + browsers: ['E', 'IE11'], + values: [ + { + name: 'all', + description: + 'Attempt to typeset horizontally all consecutive characters within the box such that they take up the space of a single character within the vertical line box.', + }, + { + name: 'digits', + description: + 'Attempt to typeset horizontally each maximal sequence of consecutive ASCII digits (U+0030–U+0039) that has as many or fewer characters than the specified integer such that it takes up the space of a single character within the vertical line box.', + }, + { name: 'none', description: 'No special processing.' }, + ], + relevance: 50, + description: + 'This property specifies the combination of multiple characters into the space of a single character.', + restrictions: ['enum', 'integer'], + }, + { + name: '-ms-text-justify', + browsers: ['E', 'IE8'], + values: [ + { + name: 'auto', + description: + 'The UA determines the justification algorithm to follow, based on a balance between performance and adequate presentation quality.', + }, + { + name: 'distribute', + description: + "Justification primarily changes spacing both at word separators and at grapheme cluster boundaries in all scripts except those in the connected and cursive groups. This value is sometimes used in e.g. Japanese, often with the 'text-align-last' property.", + }, + { + name: 'inter-cluster', + description: + 'Justification primarily changes spacing at word separators and at grapheme cluster boundaries in clustered scripts. This value is typically used for Southeast Asian scripts such as Thai.', + }, + { + name: 'inter-ideograph', + description: + 'Justification primarily changes spacing at word separators and at inter-graphemic boundaries in scripts that use no word spaces. This value is typically used for CJK languages.', + }, + { + name: 'inter-word', + description: + 'Justification primarily changes spacing at word separators. This value is typically used for languages that separate words using spaces, like English or (sometimes) Korean.', + }, + { + name: 'kashida', + description: + 'Justification primarily stretches Arabic and related scripts through the use of kashida or other calligraphic elongation.', + }, + ], + relevance: 50, + description: + "Selects the justification algorithm used when 'text-align' is set to 'justify'. The property applies to block containers, but the UA may (but is not required to) also support it on inline elements.", + restrictions: ['enum'], + }, + { + name: '-ms-text-kashida-space', + browsers: ['E', 'IE10'], + relevance: 50, + description: + 'Sets or retrieves the ratio of kashida expansion to white space expansion when justifying lines of text in the object.', + restrictions: ['percentage'], + }, + { + name: '-ms-text-overflow', + browsers: ['IE10'], + values: [ + { + name: 'clip', + description: + 'Clip inline content that overflows. Characters may be only partially rendered.', + }, + { + name: 'ellipsis', + description: + 'Render an ellipsis character (U+2026) to represent clipped inline content.', + }, + ], + relevance: 50, + description: + 'Text can overflow for example when it is prevented from wrapping', + restrictions: ['enum'], + }, + { + name: '-ms-text-size-adjust', + browsers: ['E', 'IE10'], + values: [ + { + name: 'auto', + description: + 'Renderers must use the default size adjustment when displaying on a small device.', + }, + { + name: 'none', + description: + 'Renderers must not do size adjustment when displaying on a small device.', + }, + ], + relevance: 50, + description: + 'Specifies a size adjustment for displaying text content in mobile browsers.', + restrictions: ['enum', 'percentage'], + }, + { + name: '-ms-text-underline-position', + browsers: ['E', 'IE10'], + values: [ + { + name: 'alphabetic', + description: + 'The underline is aligned with the alphabetic baseline. In this case the underline is likely to cross some descenders.', + }, + { + name: 'auto', + description: + "The user agent may use any algorithm to determine the underline's position. In horizontal line layout, the underline should be aligned as for alphabetic. In vertical line layout, if the language is set to Japanese or Korean, the underline should be aligned as for over.", + }, + { + name: 'over', + description: + "The underline is aligned with the 'top' (right in vertical writing) edge of the element's em-box. In this mode, an overline also switches sides.", + }, + { + name: 'under', + description: + "The underline is aligned with the 'bottom' (left in vertical writing) edge of the element's em-box. In this case the underline usually does not cross the descenders. This is sometimes called 'accounting' underline.", + }, + ], + relevance: 50, + description: + "Sets the position of an underline specified on the same element: it does not affect underlines specified by ancestor elements.This property is typically used in vertical writing contexts such as in Japanese documents where it often desired to have the underline appear 'over' (to the right of) the affected run of text", + restrictions: ['enum'], + }, + { + name: '-ms-touch-action', + browsers: ['IE10'], + values: [ + { + name: 'auto', + description: + 'The element is a passive element, with several exceptions.', + }, + { + name: 'double-tap-zoom', + description: 'The element will zoom on double-tap.', + }, + { + name: 'manipulation', + description: 'The element is a manipulation-causing element.', + }, + { + name: 'none', + description: + 'The element is a manipulation-blocking element.', + }, + { + name: 'pan-x', + description: + 'The element permits touch-driven panning on the horizontal axis. The touch pan is performed on the nearest ancestor with horizontally scrollable content.', + }, + { + name: 'pan-y', + description: + 'The element permits touch-driven panning on the vertical axis. The touch pan is performed on the nearest ancestor with vertically scrollable content.', + }, + { + name: 'pinch-zoom', + description: + 'The element permits pinch-zooming. The pinch-zoom is performed on the nearest ancestor with zoomable content.', + }, + ], + relevance: 50, + description: + 'Gets or sets a value that indicates whether and how a given region can be manipulated by the user.', + restrictions: ['enum'], + }, + { + name: '-ms-touch-select', + browsers: ['E', 'IE10'], + values: [ + { name: 'grippers', description: 'Grippers are always on.' }, + { name: 'none', description: 'Grippers are always off.' }, + ], + status: 'nonstandard', + syntax: 'grippers | none', + relevance: 0, + description: + "Gets or sets a value that toggles the 'gripper' visual elements that enable touch text selection.", + restrictions: ['enum'], + }, + { + name: '-ms-transform', + browsers: ['IE9-9'], + values: [ + { + name: 'matrix()', + description: + 'Specifies a 2D transformation in the form of a transformation matrix of six values. matrix(a,b,c,d,e,f) is equivalent to applying the transformation matrix [a b c d e f]', + }, + { + name: 'matrix3d()', + description: + 'Specifies a 3D transformation as a 4x4 homogeneous matrix of 16 values in column-major order.', + }, + { name: 'none' }, + { + name: 'rotate()', + description: + 'Specifies a 2D rotation by the angle specified in the parameter about the origin of the element, as defined by the transform-origin property.', + }, + { + name: 'rotate3d()', + description: + 'Specifies a clockwise 3D rotation by the angle specified in last parameter about the [x,y,z] direction vector described by the first 3 parameters.', + }, + { + name: "rotateX('angle')", + description: + 'Specifies a clockwise rotation by the given angle about the X axis.', + }, + { + name: "rotateY('angle')", + description: + 'Specifies a clockwise rotation by the given angle about the Y axis.', + }, + { + name: "rotateZ('angle')", + description: + 'Specifies a clockwise rotation by the given angle about the Z axis.', + }, + { + name: 'scale()', + description: + 'Specifies a 2D scale operation by the [sx,sy] scaling vector described by the 2 parameters. If the second parameter is not provided, it is takes a value equal to the first.', + }, + { + name: 'scale3d()', + description: + 'Specifies a 3D scale operation by the [sx,sy,sz] scaling vector described by the 3 parameters.', + }, + { + name: 'scaleX()', + description: + 'Specifies a scale operation using the [sx,1] scaling vector, where sx is given as the parameter.', + }, + { + name: 'scaleY()', + description: + 'Specifies a scale operation using the [sy,1] scaling vector, where sy is given as the parameter.', + }, + { + name: 'scaleZ()', + description: + 'Specifies a scale operation using the [1,1,sz] scaling vector, where sz is given as the parameter.', + }, + { + name: 'skew()', + description: + 'Specifies a skew transformation along the X and Y axes. The first angle parameter specifies the skew on the X axis. The second angle parameter specifies the skew on the Y axis. If the second parameter is not given then a value of 0 is used for the Y angle (ie: no skew on the Y axis).', + }, + { + name: 'skewX()', + description: + 'Specifies a skew transformation along the X axis by the given angle.', + }, + { + name: 'skewY()', + description: + 'Specifies a skew transformation along the Y axis by the given angle.', + }, + { + name: 'translate()', + description: + 'Specifies a 2D translation by the vector [tx, ty], where tx is the first translation-value parameter and ty is the optional second translation-value parameter.', + }, + { + name: 'translate3d()', + description: + 'Specifies a 3D translation by the vector [tx,ty,tz], with tx, ty and tz being the first, second and third translation-value parameters respectively.', + }, + { + name: 'translateX()', + description: + 'Specifies a translation by the given amount in the X direction.', + }, + { + name: 'translateY()', + description: + 'Specifies a translation by the given amount in the Y direction.', + }, + { + name: 'translateZ()', + description: + 'Specifies a translation by the given amount in the Z direction. Note that percentage values are not allowed in the translateZ translation-value, and if present are evaluated as 0.', + }, + ], + relevance: 50, + description: + "A two-dimensional transformation is applied to an element through the 'transform' property. This property contains a list of transform functions similar to those allowed by SVG.", + restrictions: ['enum'], + }, + { + name: '-ms-transform-origin', + browsers: ['IE9-9'], + relevance: 50, + description: + 'Establishes the origin of transformation for an element.', + restrictions: ['position', 'length', 'percentage'], + }, + { + name: '-ms-transform-origin-x', + browsers: ['IE10'], + relevance: 50, + description: + 'The x coordinate of the origin for transforms applied to an element with respect to its border box.', + restrictions: ['length', 'percentage'], + }, + { + name: '-ms-transform-origin-y', + browsers: ['IE10'], + relevance: 50, + description: + 'The y coordinate of the origin for transforms applied to an element with respect to its border box.', + restrictions: ['length', 'percentage'], + }, + { + name: '-ms-transform-origin-z', + browsers: ['IE10'], + relevance: 50, + description: + 'The z coordinate of the origin for transforms applied to an element with respect to its border box.', + restrictions: ['length', 'percentage'], + }, + { + name: '-ms-user-select', + browsers: ['E', 'IE10'], + values: [{ name: 'element' }, { name: 'none' }, { name: 'text' }], + status: 'nonstandard', + syntax: 'none | element | text', + relevance: 0, + description: 'Controls the appearance of selection.', + restrictions: ['enum'], + }, + { + name: '-ms-word-break', + browsers: ['IE8'], + values: [ + { + name: 'break-all', + description: + 'Lines may break between any two grapheme clusters for non-CJK scripts.', + }, + { + name: 'keep-all', + description: + 'Block characters can no longer create implied break points.', + }, + { + name: 'normal', + description: + 'Breaks non-CJK scripts according to their own rules.', + }, + ], + relevance: 50, + description: + 'Specifies line break opportunities for non-CJK scripts.', + restrictions: ['enum'], + }, + { + name: '-ms-word-wrap', + browsers: ['IE8'], + values: [ + { + name: 'break-word', + description: + "An unbreakable 'word' may be broken at an arbitrary point if there are no otherwise-acceptable break points in the line.", + }, + { + name: 'normal', + description: 'Lines may break only at allowed break points.', + }, + ], + relevance: 50, + description: + 'Specifies whether the UA may break within a word to prevent overflow when an otherwise-unbreakable string is too long to fit.', + restrictions: ['enum'], + }, + { + name: '-ms-wrap-flow', + browsers: ['E', 'IE10'], + values: [ + { + name: 'auto', + description: + 'For floats an exclusion is created, for all other elements an exclusion is not created.', + }, + { + name: 'both', + description: + 'Inline flow content can flow on all sides of the exclusion.', + }, + { + name: 'clear', + description: + 'Inline flow content can only wrap on top and bottom of the exclusion and must leave the areas to the start and end edges of the exclusion box empty.', + }, + { + name: 'end', + description: + 'Inline flow content can wrap on the end side of the exclusion area but must leave the area to the start edge of the exclusion area empty.', + }, + { + name: 'maximum', + description: + 'Inline flow content can wrap on the side of the exclusion with the largest available space for the given line, and must leave the other side of the exclusion empty.', + }, + { + name: 'minimum', + description: + 'Inline flow content can flow around the edge of the exclusion with the smallest available space within the flow content’s containing block, and must leave the other edge of the exclusion empty.', + }, + { + name: 'start', + description: + 'Inline flow content can wrap on the start edge of the exclusion area but must leave the area to end edge of the exclusion area empty.', + }, + ], + status: 'nonstandard', + syntax: 'auto | both | start | end | maximum | clear', + relevance: 0, + description: + "An element becomes an exclusion when its 'wrap-flow' property has a computed value other than 'auto'.", + restrictions: ['enum'], + }, + { + name: '-ms-wrap-margin', + browsers: ['E', 'IE10'], + status: 'nonstandard', + syntax: '<length>', + relevance: 0, + description: + 'Gets or sets a value that is used to offset the inner wrap shape from other shapes.', + restrictions: ['length', 'percentage'], + }, + { + name: '-ms-wrap-through', + browsers: ['E', 'IE10'], + values: [ + { + name: 'none', + description: + "The exclusion element does not inherit its parent node's wrapping context. Its descendants are only subject to exclusion shapes defined inside the element.", + }, + { + name: 'wrap', + description: + "The exclusion element inherits its parent node's wrapping context. Its descendant inline content wraps around exclusions defined outside the element.", + }, + ], + status: 'nonstandard', + syntax: 'wrap | none', + relevance: 0, + description: + 'Specifies if an element inherits its parent wrapping context. In other words if it is subject to the exclusions defined outside the element.', + restrictions: ['enum'], + }, + { + name: '-ms-writing-mode', + browsers: ['IE8'], + values: [ + { name: 'bt-lr' }, + { name: 'bt-rl' }, + { name: 'lr-bt' }, + { name: 'lr-tb' }, + { name: 'rl-bt' }, + { name: 'rl-tb' }, + { name: 'tb-lr' }, + { name: 'tb-rl' }, + ], + relevance: 50, + description: + "Shorthand property for both 'direction' and 'block-progression'.", + restrictions: ['enum'], + }, + { + name: '-ms-zoom', + browsers: ['IE8'], + values: [{ name: 'normal' }], + relevance: 50, + description: + 'Sets or retrieves the magnification scale of the object.', + restrictions: ['enum', 'integer', 'number', 'percentage'], + }, + { + name: '-ms-zoom-animation', + browsers: ['IE10'], + values: [{ name: 'default' }, { name: 'none' }], + relevance: 50, + description: + 'Gets or sets a value that indicates whether an animation is used when zooming.', + restrictions: ['enum'], + }, + { + name: 'nav-down', + browsers: ['O9.5'], + values: [ + { + name: 'auto', + description: + 'The user agent automatically determines which element to navigate the focus to in response to directional navigational input.', + }, + { + name: 'current', + description: + 'Indicates that the user agent should target the frame that the element is in.', + }, + { + name: 'root', + description: + 'Indicates that the user agent should target the full window.', + }, + ], + relevance: 50, + description: + 'Provides an way to control directional focus navigation.', + restrictions: ['enum', 'identifier', 'string'], + }, + { + name: 'nav-index', + browsers: ['O9.5'], + values: [ + { + name: 'auto', + description: + "The element's sequential navigation order is assigned automatically by the user agent.", + }, + ], + relevance: 50, + description: + "Provides an input-method-neutral way of specifying the sequential navigation order (also known as 'tabbing order').", + restrictions: ['number'], + }, + { + name: 'nav-left', + browsers: ['O9.5'], + values: [ + { + name: 'auto', + description: + 'The user agent automatically determines which element to navigate the focus to in response to directional navigational input.', + }, + { + name: 'current', + description: + 'Indicates that the user agent should target the frame that the element is in.', + }, + { + name: 'root', + description: + 'Indicates that the user agent should target the full window.', + }, + ], + relevance: 50, + description: + 'Provides an way to control directional focus navigation.', + restrictions: ['enum', 'identifier', 'string'], + }, + { + name: 'nav-right', + browsers: ['O9.5'], + values: [ + { + name: 'auto', + description: + 'The user agent automatically determines which element to navigate the focus to in response to directional navigational input.', + }, + { + name: 'current', + description: + 'Indicates that the user agent should target the frame that the element is in.', + }, + { + name: 'root', + description: + 'Indicates that the user agent should target the full window.', + }, + ], + relevance: 50, + description: + 'Provides an way to control directional focus navigation.', + restrictions: ['enum', 'identifier', 'string'], + }, + { + name: 'nav-up', + browsers: ['O9.5'], + values: [ + { + name: 'auto', + description: + 'The user agent automatically determines which element to navigate the focus to in response to directional navigational input.', + }, + { + name: 'current', + description: + 'Indicates that the user agent should target the frame that the element is in.', + }, + { + name: 'root', + description: + 'Indicates that the user agent should target the full window.', + }, + ], + relevance: 50, + description: + 'Provides an way to control directional focus navigation.', + restrictions: ['enum', 'identifier', 'string'], + }, + { + name: 'negative', + browsers: ['FF33'], + syntax: '<symbol> <symbol>?', + relevance: 50, + description: + '@counter-style descriptor. Defines how to alter the representation when the counter value is negative.', + restrictions: ['image', 'identifier', 'string'], + }, + { + name: '-o-animation', + browsers: ['O12'], + values: [ + { + name: 'alternate', + description: + 'The animation cycle iterations that are odd counts are played in the normal direction, and the animation cycle iterations that are even counts are played in a reverse direction.', + }, + { + name: 'alternate-reverse', + description: + 'The animation cycle iterations that are odd counts are played in the reverse direction, and the animation cycle iterations that are even counts are played in a normal direction.', + }, + { + name: 'backwards', + description: + "The beginning property value (as defined in the first @keyframes at-rule) is applied before the animation is displayed, during the period defined by 'animation-delay'.", + }, + { + name: 'both', + description: + 'Both forwards and backwards fill modes are applied.', + }, + { + name: 'forwards', + description: + 'The final property value (as defined in the last @keyframes at-rule) is maintained after the animation completes.', + }, + { + name: 'infinite', + description: 'Causes the animation to repeat forever.', + }, + { name: 'none', description: 'No animation is performed' }, + { name: 'normal', description: 'Normal playback.' }, + { + name: 'reverse', + description: + 'All iterations of the animation are played in the reverse direction from the way they were specified.', + }, + ], + relevance: 50, + description: + 'Shorthand property combines six of the animation properties into a single property.', + restrictions: [ + 'time', + 'enum', + 'timing-function', + 'identifier', + 'number', + ], + }, + { + name: '-o-animation-delay', + browsers: ['O12'], + relevance: 50, + description: 'Defines when the animation will start.', + restrictions: ['time'], + }, + { + name: '-o-animation-direction', + browsers: ['O12'], + values: [ + { + name: 'alternate', + description: + 'The animation cycle iterations that are odd counts are played in the normal direction, and the animation cycle iterations that are even counts are played in a reverse direction.', + }, + { + name: 'alternate-reverse', + description: + 'The animation cycle iterations that are odd counts are played in the reverse direction, and the animation cycle iterations that are even counts are played in a normal direction.', + }, + { name: 'normal', description: 'Normal playback.' }, + { + name: 'reverse', + description: + 'All iterations of the animation are played in the reverse direction from the way they were specified.', + }, + ], + relevance: 50, + description: + 'Defines whether or not the animation should play in reverse on alternate cycles.', + restrictions: ['enum'], + }, + { + name: '-o-animation-duration', + browsers: ['O12'], + relevance: 50, + description: + 'Defines the length of time that an animation takes to complete one cycle.', + restrictions: ['time'], + }, + { + name: '-o-animation-fill-mode', + browsers: ['O12'], + values: [ + { + name: 'backwards', + description: + "The beginning property value (as defined in the first @keyframes at-rule) is applied before the animation is displayed, during the period defined by 'animation-delay'.", + }, + { + name: 'both', + description: + 'Both forwards and backwards fill modes are applied.', + }, + { + name: 'forwards', + description: + 'The final property value (as defined in the last @keyframes at-rule) is maintained after the animation completes.', + }, + { + name: 'none', + description: + 'There is no change to the property value between the time the animation is applied and the time the animation begins playing or after the animation completes.', + }, + ], + relevance: 50, + description: + 'Defines what values are applied by the animation outside the time it is executing.', + restrictions: ['enum'], + }, + { + name: '-o-animation-iteration-count', + browsers: ['O12'], + values: [ + { + name: 'infinite', + description: 'Causes the animation to repeat forever.', + }, + ], + relevance: 50, + description: + 'Defines the number of times an animation cycle is played. The default value is one, meaning the animation will play from beginning to end once.', + restrictions: ['number', 'enum'], + }, + { + name: '-o-animation-name', + browsers: ['O12'], + values: [ + { name: 'none', description: 'No animation is performed' }, + ], + relevance: 50, + description: + 'Defines a list of animations that apply. Each name is used to select the keyframe at-rule that provides the property values for the animation.', + restrictions: ['identifier', 'enum'], + }, + { + name: '-o-animation-play-state', + browsers: ['O12'], + values: [ + { + name: 'paused', + description: 'A running animation will be paused.', + }, + { + name: 'running', + description: 'Resume playback of a paused animation.', + }, + ], + relevance: 50, + description: + 'Defines whether the animation is running or paused.', + restrictions: ['enum'], + }, + { + name: '-o-animation-timing-function', + browsers: ['O12'], + relevance: 50, + description: + "Describes how the animation will progress over one cycle of its duration. See the 'transition-timing-function'.", + restrictions: ['timing-function'], + }, + { + name: 'object-fit', + browsers: ['E16', 'FF36', 'S10', 'C31', 'O19'], + values: [ + { + name: 'contain', + description: + "The replaced content is sized to maintain its aspect ratio while fitting within the element’s content box: its concrete object size is resolved as a contain constraint against the element's used width and height.", + }, + { + name: 'cover', + description: + "The replaced content is sized to maintain its aspect ratio while filling the element's entire content box: its concrete object size is resolved as a cover constraint against the element’s used width and height.", + }, + { + name: 'fill', + description: + "The replaced content is sized to fill the element’s content box: the object's concrete object size is the element's used width and height.", + }, + { + name: 'none', + description: + "The replaced content is not resized to fit inside the element's content box", + }, + { + name: 'scale-down', + description: + 'Size the content as if ‘none’ or ‘contain’ were specified, whichever would result in a smaller concrete object size.', + }, + ], + syntax: 'fill | contain | cover | none | scale-down', + relevance: 61, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/object-fit', + }, + ], + description: + 'Specifies how the contents of a replaced element should be scaled relative to the box established by its used height and width.', + restrictions: ['enum'], + }, + { + name: 'object-position', + browsers: ['E16', 'FF36', 'S10', 'C31', 'O19'], + syntax: '<position>', + relevance: 52, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/object-position', + }, + ], + description: + 'Determines the alignment of the replaced element inside its box.', + restrictions: ['position', 'length', 'percentage'], + }, + { + name: '-o-border-image', + browsers: ['O11.6'], + values: [ + { + name: 'auto', + description: + "If 'auto' is specified then the border image width is the intrinsic width or height (whichever is applicable) of the corresponding image slice. If the image does not have the required intrinsic dimension then the corresponding border-width is used instead.", + }, + { + name: 'fill', + description: + 'Causes the middle part of the border-image to be preserved.', + }, + { name: 'none' }, + { + name: 'repeat', + description: + 'The image is tiled (repeated) to fill the area.', + }, + { + name: 'round', + description: + 'The image is tiled (repeated) to fill the area. If it does not fill the area with a whole number of tiles, the image is rescaled so that it does.', + }, + { + name: 'space', + description: + 'The image is tiled (repeated) to fill the area. If it does not fill the area with a whole number of tiles, the extra space is distributed around the tiles.', + }, + { + name: 'stretch', + description: 'The image is stretched to fill the area.', + }, + ], + relevance: 50, + description: + "Shorthand property for setting 'border-image-source', 'border-image-slice', 'border-image-width', 'border-image-outset' and 'border-image-repeat'. Omitted values are set to their initial values.", + restrictions: ['length', 'percentage', 'number', 'image', 'enum'], + }, + { + name: '-o-object-fit', + browsers: ['O10.6'], + values: [ + { + name: 'contain', + description: + "The replaced content is sized to maintain its aspect ratio while fitting within the element’s content box: its concrete object size is resolved as a contain constraint against the element's used width and height.", + }, + { + name: 'cover', + description: + "The replaced content is sized to maintain its aspect ratio while filling the element's entire content box: its concrete object size is resolved as a cover constraint against the element’s used width and height.", + }, + { + name: 'fill', + description: + "The replaced content is sized to fill the element’s content box: the object's concrete object size is the element's used width and height.", + }, + { + name: 'none', + description: + "The replaced content is not resized to fit inside the element's content box", + }, + { + name: 'scale-down', + description: + 'Size the content as if ‘none’ or ‘contain’ were specified, whichever would result in a smaller concrete object size.', + }, + ], + relevance: 50, + description: + 'Specifies how the contents of a replaced element should be scaled relative to the box established by its used height and width.', + restrictions: ['enum'], + }, + { + name: '-o-object-position', + browsers: ['O10.6'], + relevance: 50, + description: + 'Determines the alignment of the replaced element inside its box.', + restrictions: ['position', 'length', 'percentage'], + }, + { + name: 'opacity', + syntax: '<alpha-value>', + relevance: 93, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/opacity', + }, + ], + description: + "Opacity of an element's text, where 1 is opaque and 0 is entirely transparent.", + restrictions: ['number(0-1)'], + }, + { + name: 'order', + syntax: '<integer>', + relevance: 61, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/order', + }, + ], + description: + 'Controls the order in which children of a flex container appear within the flex container, by assigning them to ordinal groups.', + restrictions: ['integer'], + }, + { + name: 'orphans', + browsers: ['E12', 'S1.3', 'C25', 'IE8', 'O9.2'], + syntax: '<integer>', + relevance: 51, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/orphans', + }, + ], + description: + 'Specifies the minimum number of line boxes in a block container that must be left in a fragment before a fragmentation break.', + restrictions: ['integer'], + }, + { + name: '-o-table-baseline', + browsers: ['O9.6'], + relevance: 50, + description: + 'Determines which row of a inline-table should be used as baseline of inline-table.', + restrictions: ['integer'], + }, + { + name: '-o-tab-size', + browsers: ['O10.6'], + relevance: 50, + description: + 'This property determines the width of the tab character (U+0009), in space characters (U+0020), when rendered.', + restrictions: ['integer', 'length'], + }, + { + name: '-o-text-overflow', + browsers: ['O10'], + values: [ + { + name: 'clip', + description: + 'Clip inline content that overflows. Characters may be only partially rendered.', + }, + { + name: 'ellipsis', + description: + 'Render an ellipsis character (U+2026) to represent clipped inline content.', + }, + ], + relevance: 50, + description: + 'Text can overflow for example when it is prevented from wrapping', + restrictions: ['enum'], + }, + { + name: '-o-transform', + browsers: ['O10.5'], + values: [ + { + name: 'matrix()', + description: + 'Specifies a 2D transformation in the form of a transformation matrix of six values. matrix(a,b,c,d,e,f) is equivalent to applying the transformation matrix [a b c d e f]', + }, + { + name: 'matrix3d()', + description: + 'Specifies a 3D transformation as a 4x4 homogeneous matrix of 16 values in column-major order.', + }, + { name: 'none' }, + { + name: 'rotate()', + description: + 'Specifies a 2D rotation by the angle specified in the parameter about the origin of the element, as defined by the transform-origin property.', + }, + { + name: 'rotate3d()', + description: + 'Specifies a clockwise 3D rotation by the angle specified in last parameter about the [x,y,z] direction vector described by the first 3 parameters.', + }, + { + name: "rotateX('angle')", + description: + 'Specifies a clockwise rotation by the given angle about the X axis.', + }, + { + name: "rotateY('angle')", + description: + 'Specifies a clockwise rotation by the given angle about the Y axis.', + }, + { + name: "rotateZ('angle')", + description: + 'Specifies a clockwise rotation by the given angle about the Z axis.', + }, + { + name: 'scale()', + description: + 'Specifies a 2D scale operation by the [sx,sy] scaling vector described by the 2 parameters. If the second parameter is not provided, it is takes a value equal to the first.', + }, + { + name: 'scale3d()', + description: + 'Specifies a 3D scale operation by the [sx,sy,sz] scaling vector described by the 3 parameters.', + }, + { + name: 'scaleX()', + description: + 'Specifies a scale operation using the [sx,1] scaling vector, where sx is given as the parameter.', + }, + { + name: 'scaleY()', + description: + 'Specifies a scale operation using the [sy,1] scaling vector, where sy is given as the parameter.', + }, + { + name: 'scaleZ()', + description: + 'Specifies a scale operation using the [1,1,sz] scaling vector, where sz is given as the parameter.', + }, + { + name: 'skew()', + description: + 'Specifies a skew transformation along the X and Y axes. The first angle parameter specifies the skew on the X axis. The second angle parameter specifies the skew on the Y axis. If the second parameter is not given then a value of 0 is used for the Y angle (ie: no skew on the Y axis).', + }, + { + name: 'skewX()', + description: + 'Specifies a skew transformation along the X axis by the given angle.', + }, + { + name: 'skewY()', + description: + 'Specifies a skew transformation along the Y axis by the given angle.', + }, + { + name: 'translate()', + description: + 'Specifies a 2D translation by the vector [tx, ty], where tx is the first translation-value parameter and ty is the optional second translation-value parameter.', + }, + { + name: 'translate3d()', + description: + 'Specifies a 3D translation by the vector [tx,ty,tz], with tx, ty and tz being the first, second and third translation-value parameters respectively.', + }, + { + name: 'translateX()', + description: + 'Specifies a translation by the given amount in the X direction.', + }, + { + name: 'translateY()', + description: + 'Specifies a translation by the given amount in the Y direction.', + }, + { + name: 'translateZ()', + description: + 'Specifies a translation by the given amount in the Z direction. Note that percentage values are not allowed in the translateZ translation-value, and if present are evaluated as 0.', + }, + ], + relevance: 50, + description: + "A two-dimensional transformation is applied to an element through the 'transform' property. This property contains a list of transform functions similar to those allowed by SVG.", + restrictions: ['enum'], + }, + { + name: '-o-transform-origin', + browsers: ['O10.5'], + relevance: 50, + description: + 'Establishes the origin of transformation for an element.', + restrictions: ['positon', 'length', 'percentage'], + }, + { + name: '-o-transition', + browsers: ['O11.5'], + values: [ + { + name: 'all', + description: + 'Every property that is able to undergo a transition will do so.', + }, + { name: 'none', description: 'No property will transition.' }, + ], + relevance: 50, + description: + 'Shorthand property combines four of the transition properties into a single property.', + restrictions: ['time', 'property', 'timing-function', 'enum'], + }, + { + name: '-o-transition-delay', + browsers: ['O11.5'], + relevance: 50, + description: + 'Defines when the transition will start. It allows a transition to begin execution some period of time from when it is applied.', + restrictions: ['time'], + }, + { + name: '-o-transition-duration', + browsers: ['O11.5'], + relevance: 50, + description: + 'Specifies how long the transition from the old value to the new value should take.', + restrictions: ['time'], + }, + { + name: '-o-transition-property', + browsers: ['O11.5'], + values: [ + { + name: 'all', + description: + 'Every property that is able to undergo a transition will do so.', + }, + { name: 'none', description: 'No property will transition.' }, + ], + relevance: 50, + description: + 'Specifies the name of the CSS property to which the transition is applied.', + restrictions: ['property'], + }, + { + name: '-o-transition-timing-function', + browsers: ['O11.5'], + relevance: 50, + description: + 'Describes how the intermediate values used during a transition will be calculated.', + restrictions: ['timing-function'], + }, + { + name: 'offset-block-end', + browsers: ['FF41'], + values: [ + { + name: 'auto', + description: + "For non-replaced elements, the effect of this value depends on which of related properties have the value 'auto' as well.", + }, + ], + relevance: 50, + description: + "Logical 'bottom'. Mapping depends on the parent element’s 'writing-mode', 'direction', and 'text-orientation'.", + restrictions: ['length', 'percentage'], + }, + { + name: 'offset-block-start', + browsers: ['FF41'], + values: [ + { + name: 'auto', + description: + "For non-replaced elements, the effect of this value depends on which of related properties have the value 'auto' as well.", + }, + ], + relevance: 50, + description: + "Logical 'top'. Mapping depends on the parent element’s 'writing-mode', 'direction', and 'text-orientation'.", + restrictions: ['length', 'percentage'], + }, + { + name: 'offset-inline-end', + browsers: ['FF41'], + values: [ + { + name: 'auto', + description: + "For non-replaced elements, the effect of this value depends on which of related properties have the value 'auto' as well.", + }, + ], + relevance: 50, + description: + "Logical 'right'. Mapping depends on the parent element’s 'writing-mode', 'direction', and 'text-orientation'.", + restrictions: ['length', 'percentage'], + }, + { + name: 'offset-inline-start', + browsers: ['FF41'], + values: [ + { + name: 'auto', + description: + "For non-replaced elements, the effect of this value depends on which of related properties have the value 'auto' as well.", + }, + ], + relevance: 50, + description: + "Logical 'left'. Mapping depends on the parent element’s 'writing-mode', 'direction', and 'text-orientation'.", + restrictions: ['length', 'percentage'], + }, + { + name: 'outline', + values: [ + { + name: 'auto', + description: + 'Permits the user agent to render a custom outline style, typically the default platform style.', + }, + { + name: 'invert', + description: + 'Performs a color inversion on the pixels on the screen.', + }, + ], + syntax: + "[ <'outline-color'> || <'outline-style'> || <'outline-width'> ]", + relevance: 87, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/outline', + }, + ], + description: + "Shorthand property for 'outline-style', 'outline-width', and 'outline-color'.", + restrictions: [ + 'length', + 'line-width', + 'line-style', + 'color', + 'enum', + ], + }, + { + name: 'outline-color', + values: [ + { + name: 'invert', + description: + 'Performs a color inversion on the pixels on the screen.', + }, + ], + syntax: '<color> | invert', + relevance: 53, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/outline-color', + }, + ], + description: 'The color of the outline.', + restrictions: ['enum', 'color'], + }, + { + name: 'outline-offset', + browsers: ['E15', 'FF1.5', 'S1.2', 'C1', 'O9.5'], + syntax: '<length>', + relevance: 59, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/outline-offset', + }, + ], + description: + 'Offset the outline and draw it beyond the border edge.', + restrictions: ['length'], + }, + { + name: 'outline-style', + values: [ + { + name: 'auto', + description: + 'Permits the user agent to render a custom outline style, typically the default platform style.', + }, + ], + syntax: "auto | <'border-style'>", + relevance: 60, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/outline-style', + }, + ], + description: 'Style of the outline.', + restrictions: ['line-style', 'enum'], + }, + { + name: 'outline-width', + syntax: '<line-width>', + relevance: 60, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/outline-width', + }, + ], + description: 'Width of the outline.', + restrictions: ['length', 'line-width'], + }, + { + name: 'overflow', + values: [ + { + name: 'auto', + description: + "The behavior of the 'auto' value is UA-dependent, but should cause a scrolling mechanism to be provided for overflowing boxes.", + }, + { + name: 'hidden', + description: + 'Content is clipped and no scrolling mechanism should be provided to view the content outside the clipping region.', + }, + { + name: '-moz-hidden-unscrollable', + description: + "Same as the standardized 'clip', except doesn’t establish a block formatting context.", + }, + { + name: 'scroll', + description: + 'Content is clipped and if the user agent uses a scrolling mechanism that is visible on the screen (such as a scroll bar or a panner), that mechanism should be displayed for a box whether or not any of its content is clipped.', + }, + { + name: 'visible', + description: + 'Content is not clipped, i.e., it may be rendered outside the content box.', + }, + ], + syntax: '[ visible | hidden | clip | scroll | auto ]{1,2}', + relevance: 92, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/overflow', + }, + ], + description: + "Shorthand for setting 'overflow-x' and 'overflow-y'.", + restrictions: ['enum'], + }, + { + name: 'overflow-wrap', + values: [ + { + name: 'break-word', + description: + 'An otherwise unbreakable sequence of characters may be broken at an arbitrary point if there are no otherwise-acceptable break points in the line.', + }, + { + name: 'normal', + description: 'Lines may break only at allowed break points.', + }, + ], + syntax: 'normal | break-word | anywhere', + relevance: 63, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/overflow-wrap', + }, + ], + description: + 'Specifies whether the UA may break within a word to prevent overflow when an otherwise-unbreakable string is too long to fit within the line box.', + restrictions: ['enum'], + }, + { + name: 'overflow-x', + values: [ + { + name: 'auto', + description: + "The behavior of the 'auto' value is UA-dependent, but should cause a scrolling mechanism to be provided for overflowing boxes.", + }, + { + name: 'hidden', + description: + 'Content is clipped and no scrolling mechanism should be provided to view the content outside the clipping region.', + }, + { + name: 'scroll', + description: + 'Content is clipped and if the user agent uses a scrolling mechanism that is visible on the screen (such as a scroll bar or a panner), that mechanism should be displayed for a box whether or not any of its content is clipped.', + }, + { + name: 'visible', + description: + 'Content is not clipped, i.e., it may be rendered outside the content box.', + }, + ], + syntax: 'visible | hidden | clip | scroll | auto', + relevance: 79, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/overflow-x', + }, + ], + description: + 'Specifies the handling of overflow in the horizontal direction.', + restrictions: ['enum'], + }, + { + name: 'overflow-y', + values: [ + { + name: 'auto', + description: + "The behavior of the 'auto' value is UA-dependent, but should cause a scrolling mechanism to be provided for overflowing boxes.", + }, + { + name: 'hidden', + description: + 'Content is clipped and no scrolling mechanism should be provided to view the content outside the clipping region.', + }, + { + name: 'scroll', + description: + 'Content is clipped and if the user agent uses a scrolling mechanism that is visible on the screen (such as a scroll bar or a panner), that mechanism should be displayed for a box whether or not any of its content is clipped.', + }, + { + name: 'visible', + description: + 'Content is not clipped, i.e., it may be rendered outside the content box.', + }, + ], + syntax: 'visible | hidden | clip | scroll | auto', + relevance: 81, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/overflow-y', + }, + ], + description: + 'Specifies the handling of overflow in the vertical direction.', + restrictions: ['enum'], + }, + { + name: 'pad', + browsers: ['FF33'], + syntax: '<integer> && <symbol>', + relevance: 50, + description: + '@counter-style descriptor. Specifies a “fixed-width” counter style, where representations shorter than the pad value are padded with a particular <symbol>', + restrictions: ['integer', 'image', 'string', 'identifier'], + }, + { + name: 'padding', + values: [], + syntax: '[ <length> | <percentage> ]{1,4}', + relevance: 96, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/padding', + }, + ], + description: + 'Shorthand property to set values the thickness of the padding area. If left is omitted, it is the same as right. If bottom is omitted it is the same as top, if right is omitted it is the same as top. The value may not be negative.', + restrictions: ['length', 'percentage'], + }, + { + name: 'padding-bottom', + syntax: '<length> | <percentage>', + relevance: 88, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/padding-bottom', + }, + ], + description: + 'Shorthand property to set values the thickness of the padding area. If left is omitted, it is the same as right. If bottom is omitted it is the same as top, if right is omitted it is the same as top. The value may not be negative.', + restrictions: ['length', 'percentage'], + }, + { + name: 'padding-block-end', + browsers: ['E79', 'FF41', 'S12.1', 'C69', 'O56'], + syntax: "<'padding-left'>", + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/padding-block-end', + }, + ], + description: + "Logical 'padding-bottom'. Mapping depends on the parent element’s 'writing-mode', 'direction', and 'text-orientation'.", + restrictions: ['length', 'percentage'], + }, + { + name: 'padding-block-start', + browsers: ['E79', 'FF41', 'S12.1', 'C69', 'O56'], + syntax: "<'padding-left'>", + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/padding-block-start', + }, + ], + description: + "Logical 'padding-top'. Mapping depends on the parent element’s 'writing-mode', 'direction', and 'text-orientation'.", + restrictions: ['length', 'percentage'], + }, + { + name: 'padding-inline-end', + browsers: ['E79', 'FF41', 'S12.1', 'C69', 'O56'], + syntax: "<'padding-left'>", + relevance: 51, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/padding-inline-end', + }, + ], + description: + "Logical 'padding-right'. Mapping depends on the parent element’s 'writing-mode', 'direction', and 'text-orientation'.", + restrictions: ['length', 'percentage'], + }, + { + name: 'padding-inline-start', + browsers: ['E79', 'FF41', 'S12.1', 'C69', 'O56'], + syntax: "<'padding-left'>", + relevance: 52, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/padding-inline-start', + }, + ], + description: + "Logical 'padding-left'. Mapping depends on the parent element’s 'writing-mode', 'direction', and 'text-orientation'.", + restrictions: ['length', 'percentage'], + }, + { + name: 'padding-left', + syntax: '<length> | <percentage>', + relevance: 90, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/padding-left', + }, + ], + description: + 'Shorthand property to set values the thickness of the padding area. If left is omitted, it is the same as right. If bottom is omitted it is the same as top, if right is omitted it is the same as top. The value may not be negative.', + restrictions: ['length', 'percentage'], + }, + { + name: 'padding-right', + syntax: '<length> | <percentage>', + relevance: 88, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/padding-right', + }, + ], + description: + 'Shorthand property to set values the thickness of the padding area. If left is omitted, it is the same as right. If bottom is omitted it is the same as top, if right is omitted it is the same as top. The value may not be negative.', + restrictions: ['length', 'percentage'], + }, + { + name: 'padding-top', + syntax: '<length> | <percentage>', + relevance: 90, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/padding-top', + }, + ], + description: + 'Shorthand property to set values the thickness of the padding area. If left is omitted, it is the same as right. If bottom is omitted it is the same as top, if right is omitted it is the same as top. The value may not be negative.', + restrictions: ['length', 'percentage'], + }, + { + name: 'page-break-after', + values: [ + { + name: 'always', + description: + 'Always force a page break after the generated box.', + }, + { + name: 'auto', + description: + 'Neither force nor forbid a page break after generated box.', + }, + { + name: 'avoid', + description: 'Avoid a page break after the generated box.', + }, + { + name: 'left', + description: + 'Force one or two page breaks after the generated box so that the next page is formatted as a left page.', + }, + { + name: 'right', + description: + 'Force one or two page breaks after the generated box so that the next page is formatted as a right page.', + }, + ], + syntax: 'auto | always | avoid | left | right | recto | verso', + relevance: 52, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/page-break-after', + }, + ], + description: 'Defines rules for page breaks after an element.', + restrictions: ['enum'], + }, + { + name: 'page-break-before', + values: [ + { + name: 'always', + description: + 'Always force a page break before the generated box.', + }, + { + name: 'auto', + description: + 'Neither force nor forbid a page break before the generated box.', + }, + { + name: 'avoid', + description: 'Avoid a page break before the generated box.', + }, + { + name: 'left', + description: + 'Force one or two page breaks before the generated box so that the next page is formatted as a left page.', + }, + { + name: 'right', + description: + 'Force one or two page breaks before the generated box so that the next page is formatted as a right page.', + }, + ], + syntax: 'auto | always | avoid | left | right | recto | verso', + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/page-break-before', + }, + ], + description: 'Defines rules for page breaks before an element.', + restrictions: ['enum'], + }, + { + name: 'page-break-inside', + values: [ + { + name: 'auto', + description: + 'Neither force nor forbid a page break inside the generated box.', + }, + { + name: 'avoid', + description: 'Avoid a page break inside the generated box.', + }, + ], + syntax: 'auto | avoid', + relevance: 52, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/page-break-inside', + }, + ], + description: 'Defines rules for page breaks inside an element.', + restrictions: ['enum'], + }, + { + name: 'paint-order', + browsers: ['E17', 'FF60', 'S8', 'C35', 'O22'], + values: [ + { name: 'fill' }, + { name: 'markers' }, + { + name: 'normal', + description: + "The element is painted with the standard order of painting operations: the 'fill' is painted first, then its 'stroke' and finally its markers.", + }, + { name: 'stroke' }, + ], + syntax: 'normal | [ fill || stroke || markers ]', + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/paint-order', + }, + ], + description: + 'Controls the order that the three paint operations that shapes and text are rendered with: their fill, their stroke and any markers they might have.', + restrictions: ['enum'], + }, + { + name: 'perspective', + values: [ + { + name: 'none', + description: 'No perspective transform is applied.', + }, + ], + syntax: 'none | <length>', + relevance: 55, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/perspective', + }, + ], + description: + 'Applies the same transform as the perspective(<number>) transform function, except that it applies only to the positioned or transformed children of the element, not to the transform on the element itself.', + restrictions: ['length', 'enum'], + }, + { + name: 'perspective-origin', + syntax: '<position>', + relevance: 51, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/perspective-origin', + }, + ], + description: + 'Establishes the origin for the perspective property. It effectively sets the X and Y position at which the viewer appears to be looking at the children of the element.', + restrictions: ['position', 'percentage', 'length'], + }, + { + name: 'pointer-events', + values: [ + { + name: 'all', + description: + 'The given element can be the target element for pointer events whenever the pointer is over either the interior or the perimeter of the element.', + }, + { + name: 'fill', + description: + 'The given element can be the target element for pointer events whenever the pointer is over the interior of the element.', + }, + { + name: 'none', + description: + 'The given element does not receive pointer events.', + }, + { + name: 'painted', + description: + 'The given element can be the target element for pointer events when the pointer is over a "painted" area. ', + }, + { + name: 'stroke', + description: + 'The given element can be the target element for pointer events whenever the pointer is over the perimeter of the element.', + }, + { + name: 'visible', + description: + 'The given element can be the target element for pointer events when the ‘visibility’ property is set to visible and the pointer is over either the interior or the perimete of the element.', + }, + { + name: 'visibleFill', + description: + 'The given element can be the target element for pointer events when the ‘visibility’ property is set to visible and when the pointer is over the interior of the element.', + }, + { + name: 'visiblePainted', + description: + 'The given element can be the target element for pointer events when the ‘visibility’ property is set to visible and when the pointer is over a ‘painted’ area.', + }, + { + name: 'visibleStroke', + description: + 'The given element can be the target element for pointer events when the ‘visibility’ property is set to visible and when the pointer is over the perimeter of the element.', + }, + ], + syntax: + 'auto | none | visiblePainted | visibleFill | visibleStroke | visible | painted | fill | stroke | all | inherit', + relevance: 80, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/pointer-events', + }, + ], + description: + 'Specifies under what circumstances a given element can be the target element for a pointer event.', + restrictions: ['enum'], + }, + { + name: 'position', + values: [ + { + name: 'absolute', + description: + "The box's position (and possibly size) is specified with the 'top', 'right', 'bottom', and 'left' properties. These properties specify offsets with respect to the box's 'containing block'.", + }, + { + name: 'fixed', + description: + "The box's position is calculated according to the 'absolute' model, but in addition, the box is fixed with respect to some reference. As with the 'absolute' model, the box's margins do not collapse with any other margins.", + }, + { + name: '-ms-page', + description: + "The box's position is calculated according to the 'absolute' model.", + }, + { + name: 'relative', + description: + "The box's position is calculated according to the normal flow (this is called the position in normal flow). Then the box is offset relative to its normal position.", + }, + { + name: 'static', + description: + "The box is a normal box, laid out according to the normal flow. The 'top', 'right', 'bottom', and 'left' properties do not apply.", + }, + { + name: 'sticky', + description: + "The box's position is calculated according to the normal flow. Then the box is offset relative to its flow root and containing block and in all cases, including table elements, does not affect the position of any following boxes.", + }, + { + name: '-webkit-sticky', + description: + "The box's position is calculated according to the normal flow. Then the box is offset relative to its flow root and containing block and in all cases, including table elements, does not affect the position of any following boxes.", + }, + ], + syntax: 'static | relative | absolute | sticky | fixed', + relevance: 96, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/position', + }, + ], + description: + 'The position CSS property sets how an element is positioned in a document. The top, right, bottom, and left properties determine the final location of positioned elements.', + restrictions: ['enum'], + }, + { + name: 'prefix', + browsers: ['FF33'], + syntax: '<symbol>', + relevance: 50, + description: + '@counter-style descriptor. Specifies a <symbol> that is prepended to the marker representation.', + restrictions: ['image', 'string', 'identifier'], + }, + { + name: 'quotes', + values: [ + { + name: 'none', + description: + "The 'open-quote' and 'close-quote' values of the 'content' property produce no quotations marks, as if they were 'no-open-quote' and 'no-close-quote' respectively.", + }, + ], + syntax: 'none | auto | [ <string> <string> ]+', + relevance: 53, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/quotes', + }, + ], + description: + 'Specifies quotation marks for any number of embedded quotations.', + restrictions: ['string'], + }, + { + name: 'range', + browsers: ['FF33'], + values: [ + { + name: 'auto', + description: 'The range depends on the counter system.', + }, + { + name: 'infinite', + description: + 'If used as the first value in a range, it represents negative infinity; if used as the second value, it represents positive infinity.', + }, + ], + syntax: '[ [ <integer> | infinite ]{2} ]# | auto', + relevance: 50, + description: + '@counter-style descriptor. Defines the ranges over which the counter style is defined.', + restrictions: ['integer', 'enum'], + }, + { + name: 'resize', + browsers: ['E79', 'FF4', 'S3', 'C1', 'O12.1'], + values: [ + { + name: 'both', + description: + 'The UA presents a bidirectional resizing mechanism to allow the user to adjust both the height and the width of the element.', + }, + { + name: 'horizontal', + description: + 'The UA presents a unidirectional horizontal resizing mechanism to allow the user to adjust only the width of the element.', + }, + { + name: 'none', + description: + 'The UA does not present a resizing mechanism on the element, and the user is given no direct manipulation mechanism to resize the element.', + }, + { + name: 'vertical', + description: + 'The UA presents a unidirectional vertical resizing mechanism to allow the user to adjust only the height of the element.', + }, + ], + syntax: 'none | both | horizontal | vertical | block | inline', + relevance: 60, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/resize', + }, + ], + description: + 'Specifies whether or not an element is resizable by the user, and if so, along which axis/axes.', + restrictions: ['enum'], + }, + { + name: 'right', + values: [ + { + name: 'auto', + description: + "For non-replaced elements, the effect of this value depends on which of related properties have the value 'auto' as well", + }, + ], + syntax: '<length> | <percentage> | auto', + relevance: 90, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/right', + }, + ], + description: + "Specifies how far an absolutely positioned box's right margin edge is offset to the left of the right edge of the box's 'containing block'.", + restrictions: ['length', 'percentage'], + }, + { + name: 'ruby-align', + browsers: ['FF38'], + values: [ + { + name: 'auto', + browsers: ['FF38'], + description: + 'The user agent determines how the ruby contents are aligned. This is the initial value.', + }, + { + name: 'center', + description: 'The ruby content is centered within its box.', + }, + { + name: 'distribute-letter', + browsers: ['FF38'], + description: + 'If the width of the ruby text is smaller than that of the base, then the ruby text contents are evenly distributed across the width of the base, with the first and last ruby text glyphs lining up with the corresponding first and last base glyphs. If the width of the ruby text is at least the width of the base, then the letters of the base are evenly distributed across the width of the ruby text.', + }, + { + name: 'distribute-space', + browsers: ['FF38'], + description: + 'If the width of the ruby text is smaller than that of the base, then the ruby text contents are evenly distributed across the width of the base, with a certain amount of white space preceding the first and following the last character in the ruby text. That amount of white space is normally equal to half the amount of inter-character space of the ruby text.', + }, + { + name: 'left', + description: + 'The ruby text content is aligned with the start edge of the base.', + }, + { + name: 'line-edge', + browsers: ['FF38'], + description: + "If the ruby text is not adjacent to a line edge, it is aligned as in 'auto'. If it is adjacent to a line edge, then it is still aligned as in auto, but the side of the ruby text that touches the end of the line is lined up with the corresponding edge of the base.", + }, + { + name: 'right', + browsers: ['FF38'], + description: + 'The ruby text content is aligned with the end edge of the base.', + }, + { + name: 'start', + browsers: ['FF38'], + description: + 'The ruby text content is aligned with the start edge of the base.', + }, + { + name: 'space-between', + browsers: ['FF38'], + description: + "The ruby content expands as defined for normal text justification (as defined by 'text-justify'),", + }, + { + name: 'space-around', + browsers: ['FF38'], + description: + "As for 'space-between' except that there exists an extra justification opportunities whose space is distributed half before and half after the ruby content.", + }, + ], + status: 'experimental', + syntax: 'start | center | space-between | space-around', + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/ruby-align', + }, + ], + description: + 'Specifies how text is distributed within the various ruby boxes when their contents do not exactly fill their respective boxes.', + restrictions: ['enum'], + }, + { + name: 'ruby-overhang', + browsers: ['FF10', 'IE5'], + values: [ + { + name: 'auto', + description: + 'The ruby text can overhang text adjacent to the base on either side. This is the initial value.', + }, + { + name: 'end', + description: + 'The ruby text can overhang the text that follows it.', + }, + { + name: 'none', + description: + 'The ruby text cannot overhang any text adjacent to its base, only its own base.', + }, + { + name: 'start', + description: + 'The ruby text can overhang the text that precedes it.', + }, + ], + relevance: 50, + description: + 'Determines whether, and on which side, ruby text is allowed to partially overhang any adjacent text in addition to its own base, when the ruby text is wider than the ruby base.', + restrictions: ['enum'], + }, + { + name: 'ruby-position', + browsers: ['E12', 'FF38'], + values: [ + { + name: 'after', + description: + 'The ruby text appears after the base. This is a relatively rare setting used in ideographic East Asian writing systems, most easily found in educational text.', + }, + { + name: 'before', + description: + 'The ruby text appears before the base. This is the most common setting used in ideographic East Asian writing systems.', + }, + { name: 'inline' }, + { + name: 'right', + description: + "The ruby text appears on the right of the base. Unlike 'before' and 'after', this value is not relative to the text flow direction.", + }, + ], + status: 'experimental', + syntax: 'over | under | inter-character', + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/ruby-position', + }, + ], + description: + 'Used by the parent of elements with display: ruby-text to control the position of the ruby text with respect to its base.', + restrictions: ['enum'], + }, + { + name: 'ruby-span', + browsers: ['FF10'], + values: [ + { + name: 'attr(x)', + description: + "The value of attribute 'x' is a string value. The string value is evaluated as a <number> to determine the number of ruby base elements to be spanned by the annotation element.", + }, + { + name: 'none', + description: "No spanning. The computed value is '1'.", + }, + ], + relevance: 50, + description: + 'Determines whether, and on which side, ruby text is allowed to partially overhang any adjacent text in addition to its own base, when the ruby text is wider than the ruby base.', + restrictions: ['enum'], + }, + { + name: 'scrollbar-3dlight-color', + browsers: ['IE5'], + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/scrollbar-3dlight-color', + }, + ], + description: + 'Determines the color of the top and left edges of the scroll box and scroll arrows of a scroll bar.', + restrictions: ['color'], + }, + { + name: 'scrollbar-arrow-color', + browsers: ['IE5'], + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/scrollbar-arrow-color', + }, + ], + description: + 'Determines the color of the arrow elements of a scroll arrow.', + restrictions: ['color'], + }, + { + name: 'scrollbar-base-color', + browsers: ['IE5'], + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/scrollbar-base-color', + }, + ], + description: + 'Determines the color of the main elements of a scroll bar, which include the scroll box, track, and scroll arrows.', + restrictions: ['color'], + }, + { + name: 'scrollbar-darkshadow-color', + browsers: ['IE5'], + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/scrollbar-darkshadow-color', + }, + ], + description: + 'Determines the color of the gutter of a scroll bar.', + restrictions: ['color'], + }, + { + name: 'scrollbar-face-color', + browsers: ['IE5'], + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/scrollbar-face-color', + }, + ], + description: + 'Determines the color of the scroll box and scroll arrows of a scroll bar.', + restrictions: ['color'], + }, + { + name: 'scrollbar-highlight-color', + browsers: ['IE5'], + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/scrollbar-highlight-color', + }, + ], + description: + 'Determines the color of the top and left edges of the scroll box and scroll arrows of a scroll bar.', + restrictions: ['color'], + }, + { + name: 'scrollbar-shadow-color', + browsers: ['IE5'], + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/scrollbar-shadow-color', + }, + ], + description: + 'Determines the color of the bottom and right edges of the scroll box and scroll arrows of a scroll bar.', + restrictions: ['color'], + }, + { + name: 'scrollbar-track-color', + browsers: ['IE6'], + relevance: 50, + description: + 'Determines the color of the track element of a scroll bar.', + restrictions: ['color'], + }, + { + name: 'scroll-behavior', + browsers: ['E79', 'FF36', 'C61', 'O48'], + values: [ + { name: 'auto', description: 'Scrolls in an instant fashion.' }, + { + name: 'smooth', + description: + 'Scrolls in a smooth fashion using a user-agent-defined timing function and time period.', + }, + ], + syntax: 'auto | smooth', + relevance: 51, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/scroll-behavior', + }, + ], + description: + 'Specifies the scrolling behavior for a scrolling box, when scrolling happens due to navigation or CSSOM scrolling APIs.', + restrictions: ['enum'], + }, + { + name: 'scroll-snap-coordinate', + browsers: ['FF39'], + values: [ + { + name: 'none', + description: + 'Specifies that this element does not contribute a snap point.', + }, + ], + status: 'obsolete', + syntax: 'none | <position>#', + relevance: 0, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/scroll-snap-coordinate', + }, + ], + description: + 'Defines the x and y coordinate within the element which will align with the nearest ancestor scroll container’s snap-destination for the respective axis.', + restrictions: ['position', 'length', 'percentage', 'enum'], + }, + { + name: 'scroll-snap-destination', + browsers: ['FF39'], + status: 'obsolete', + syntax: '<position>', + relevance: 0, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/scroll-snap-destination', + }, + ], + description: + 'Define the x and y coordinate within the scroll container’s visual viewport which element snap points will align with.', + restrictions: ['position', 'length', 'percentage'], + }, + { + name: 'scroll-snap-points-x', + browsers: ['FF39', 'S9'], + values: [ + { + name: 'none', + description: + 'No snap points are defined by this scroll container.', + }, + { + name: 'repeat()', + description: + 'Defines an interval at which snap points are defined, starting from the container’s relevant start edge.', + }, + ], + status: 'obsolete', + syntax: 'none | repeat( <length-percentage> )', + relevance: 0, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/scroll-snap-points-x', + }, + ], + description: + 'Defines the positioning of snap points along the x axis of the scroll container it is applied to.', + restrictions: ['enum'], + }, + { + name: 'scroll-snap-points-y', + browsers: ['FF39', 'S9'], + values: [ + { + name: 'none', + description: + 'No snap points are defined by this scroll container.', + }, + { + name: 'repeat()', + description: + 'Defines an interval at which snap points are defined, starting from the container’s relevant start edge.', + }, + ], + status: 'obsolete', + syntax: 'none | repeat( <length-percentage> )', + relevance: 0, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/scroll-snap-points-y', + }, + ], + description: + 'Defines the positioning of snap points along the y axis of the scroll container it is applied to.', + restrictions: ['enum'], + }, + { + name: 'scroll-snap-type', + values: [ + { + name: 'none', + description: + 'The visual viewport of this scroll container must ignore snap points, if any, when scrolled.', + }, + { + name: 'mandatory', + description: + 'The visual viewport of this scroll container is guaranteed to rest on a snap point when there are no active scrolling operations.', + }, + { + name: 'proximity', + description: + 'The visual viewport of this scroll container may come to rest on a snap point at the termination of a scroll at the discretion of the UA given the parameters of the scroll.', + }, + ], + syntax: + 'none | [ x | y | block | inline | both ] [ mandatory | proximity ]?', + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/scroll-snap-type', + }, + ], + description: + 'Defines how strictly snap points are enforced on the scroll container.', + restrictions: ['enum'], + }, + { + name: 'shape-image-threshold', + browsers: ['E79', 'FF62', 'S10.1', 'C37', 'O24'], + syntax: '<alpha-value>', + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/shape-image-threshold', + }, + ], + description: + 'Defines the alpha channel threshold used to extract the shape using an image. A value of 0.5 means that the shape will enclose all the pixels that are more than 50% opaque.', + restrictions: ['number'], + }, + { + name: 'shape-margin', + browsers: ['E79', 'FF62', 'S10.1', 'C37', 'O24'], + syntax: '<length-percentage>', + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/shape-margin', + }, + ], + description: + "Adds a margin to a 'shape-outside'. This defines a new shape that is the smallest contour that includes all the points that are the 'shape-margin' distance outward in the perpendicular direction from a point on the underlying shape.", + restrictions: ['url', 'length', 'percentage'], + }, + { + name: 'shape-outside', + browsers: ['E79', 'FF62', 'S10.1', 'C37', 'O24'], + values: [ + { + name: 'margin-box', + description: + 'The background is painted within (clipped to) the margin box.', + }, + { name: 'none', description: 'The float area is unaffected.' }, + ], + syntax: 'none | <shape-box> || <basic-shape> | <image>', + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/shape-outside', + }, + ], + description: + 'Specifies an orthogonal rotation to be applied to an image before it is laid out.', + restrictions: ['image', 'box', 'shape', 'enum'], + }, + { + name: 'shape-rendering', + values: [ + { name: 'auto', description: 'Suppresses aural rendering.' }, + { + name: 'crispEdges', + description: + 'Emphasize the contrast between clean edges of artwork over rendering speed and geometric precision.', + }, + { + name: 'geometricPrecision', + description: + 'Emphasize geometric precision over speed and crisp edges.', + }, + { + name: 'optimizeSpeed', + description: + 'Emphasize rendering speed over geometric precision and crisp edges.', + }, + ], + relevance: 50, + description: + 'Provides hints about what tradeoffs to make as it renders vector graphics elements such as <path> elements and basic shapes such as circles and rectangles.', + restrictions: ['enum'], + }, + { + name: 'size', + browsers: ['C', 'O8'], + syntax: + '<length>{1,2} | auto | [ <page-size> || [ portrait | landscape ] ]', + relevance: 52, + description: + 'The size CSS at-rule descriptor, used with the @page at-rule, defines the size and orientation of the box which is used to represent a page. Most of the time, this size corresponds to the target size of the printed page if applicable.', + restrictions: ['length'], + }, + { + name: 'src', + values: [ + { name: 'url()', description: 'Reference font by URL' }, + { + name: 'format()', + description: + 'Optional hint describing the format of the font resource.', + }, + { + name: 'local()', + description: + 'Format-specific string that identifies a locally available copy of a given font.', + }, + ], + syntax: + '[ <url> [ format( <string># ) ]? | local( <family-name> ) ]#', + relevance: 67, + description: + '@font-face descriptor. Specifies the resource containing font data. It is required, whether the font is downloadable or locally installed.', + restrictions: ['enum', 'url', 'identifier'], + }, + { + name: 'stop-color', + relevance: 51, + description: 'Indicates what color to use at that gradient stop.', + restrictions: ['color'], + }, + { + name: 'stop-opacity', + relevance: 50, + description: 'Defines the opacity of a given gradient stop.', + restrictions: ['number(0-1)'], + }, + { + name: 'stroke', + values: [ + { + name: 'url()', + description: + 'A URL reference to a paint server element, which is an element that defines a paint server: ‘hatch’, ‘linearGradient’, ‘mesh’, ‘pattern’, ‘radialGradient’ and ‘solidcolor’.', + }, + { + name: 'none', + description: 'No paint is applied in this layer.', + }, + ], + relevance: 63, + description: + 'Paints along the outline of the given graphical element.', + restrictions: ['color', 'enum', 'url'], + }, + { + name: 'stroke-dasharray', + values: [ + { + name: 'none', + description: 'Indicates that no dashing is used.', + }, + ], + relevance: 58, + description: + 'Controls the pattern of dashes and gaps used to stroke paths.', + restrictions: ['length', 'percentage', 'number', 'enum'], + }, + { + name: 'stroke-dashoffset', + relevance: 58, + description: + 'Specifies the distance into the dash pattern to start the dash.', + restrictions: ['percentage', 'length'], + }, + { + name: 'stroke-linecap', + values: [ + { + name: 'butt', + description: + 'Indicates that the stroke for each subpath does not extend beyond its two endpoints.', + }, + { + name: 'round', + description: + 'Indicates that at each end of each subpath, the shape representing the stroke will be extended by a half circle with a radius equal to the stroke width.', + }, + { + name: 'square', + description: + 'Indicates that at the end of each subpath, the shape representing the stroke will be extended by a rectangle with the same width as the stroke width and whose length is half of the stroke width.', + }, + ], + relevance: 53, + description: + 'Specifies the shape to be used at the end of open subpaths when they are stroked.', + restrictions: ['enum'], + }, + { + name: 'stroke-linejoin', + values: [ + { + name: 'bevel', + description: + 'Indicates that a bevelled corner is to be used to join path segments.', + }, + { + name: 'miter', + description: + 'Indicates that a sharp corner is to be used to join path segments.', + }, + { + name: 'round', + description: + 'Indicates that a round corner is to be used to join path segments.', + }, + ], + relevance: 50, + description: + 'Specifies the shape to be used at the corners of paths or basic shapes when they are stroked.', + restrictions: ['enum'], + }, + { + name: 'stroke-miterlimit', + relevance: 50, + description: + "When two line segments meet at a sharp angle and miter joins have been specified for 'stroke-linejoin', it is possible for the miter to extend far beyond the thickness of the line stroking the path.", + restrictions: ['number'], + }, + { + name: 'stroke-opacity', + relevance: 51, + description: + 'Specifies the opacity of the painting operation used to stroke the current object.', + restrictions: ['number(0-1)'], + }, + { + name: 'stroke-width', + relevance: 60, + description: + 'Specifies the width of the stroke on the current object.', + restrictions: ['percentage', 'length'], + }, + { + name: 'suffix', + browsers: ['FF33'], + syntax: '<symbol>', + relevance: 50, + description: + '@counter-style descriptor. Specifies a <symbol> that is appended to the marker representation.', + restrictions: ['image', 'string', 'identifier'], + }, + { + name: 'system', + browsers: ['FF33'], + values: [ + { + name: 'additive', + description: + 'Represents “sign-value” numbering systems, which, rather than using reusing digits in different positions to change their value, define additional digits with much larger values, so that the value of the number can be obtained by adding all the digits together.', + }, + { + name: 'alphabetic', + description: + 'Interprets the list of counter symbols as digits to an alphabetic numbering system, similar to the default lower-alpha counter style, which wraps from "a", "b", "c", to "aa", "ab", "ac".', + }, + { + name: 'cyclic', + description: + 'Cycles repeatedly through its provided symbols, looping back to the beginning when it reaches the end of the list.', + }, + { + name: 'extends', + description: + 'Use the algorithm of another counter style, but alter other aspects.', + }, + { + name: 'fixed', + description: + 'Runs through its list of counter symbols once, then falls back.', + }, + { + name: 'numeric', + description: + 'interprets the list of counter symbols as digits to a "place-value" numbering system, similar to the default \'decimal\' counter style.', + }, + { + name: 'symbolic', + description: + 'Cycles repeatedly through its provided symbols, doubling, tripling, etc. the symbols on each successive pass through the list.', + }, + ], + syntax: + 'cyclic | numeric | alphabetic | symbolic | additive | [ fixed <integer>? ] | [ extends <counter-style-name> ]', + relevance: 50, + description: + '@counter-style descriptor. Specifies which algorithm will be used to construct the counter’s representation based on the counter value.', + restrictions: ['enum', 'integer'], + }, + { + name: 'symbols', + browsers: ['FF33'], + syntax: '<symbol>+', + relevance: 50, + description: + '@counter-style descriptor. Specifies the symbols used by the marker-construction algorithm specified by the system descriptor.', + restrictions: ['image', 'string', 'identifier'], + }, + { + name: 'table-layout', + values: [ + { + name: 'auto', + description: 'Use any automatic table layout algorithm.', + }, + { + name: 'fixed', + description: 'Use the fixed table layout algorithm.', + }, + ], + syntax: 'auto | fixed', + relevance: 61, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/table-layout', + }, + ], + description: + 'Controls the algorithm used to lay out the table cells, rows, and columns.', + restrictions: ['enum'], + }, + { + name: 'tab-size', + browsers: ['E79', 'FF4', 'S6.1', 'C21', 'O15'], + syntax: '<integer> | <length>', + relevance: 51, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/tab-size', + }, + ], + description: + 'Determines the width of the tab character (U+0009), in space characters (U+0020), when rendered.', + restrictions: ['integer', 'length'], + }, + { + name: 'text-align', + values: [ + { + name: 'center', + description: + 'The inline contents are centered within the line box.', + }, + { + name: 'end', + description: + 'The inline contents are aligned to the end edge of the line box.', + }, + { + name: 'justify', + description: + "The text is justified according to the method specified by the 'text-justify' property.", + }, + { + name: 'left', + description: + "The inline contents are aligned to the left edge of the line box. In vertical text, 'left' aligns to the edge of the line box that would be the start edge for left-to-right text.", + }, + { + name: 'right', + description: + "The inline contents are aligned to the right edge of the line box. In vertical text, 'right' aligns to the edge of the line box that would be the end edge for left-to-right text.", + }, + { + name: 'start', + description: + 'The inline contents are aligned to the start edge of the line box.', + }, + ], + syntax: + 'start | end | left | right | center | justify | match-parent', + relevance: 93, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/text-align', + }, + ], + description: + 'Describes how inline contents of a block are horizontally aligned if the contents do not completely fill the line box.', + restrictions: ['string'], + }, + { + name: 'text-align-last', + browsers: ['E12', 'FF49', 'C47', 'IE5.5', 'O34'], + values: [ + { + name: 'auto', + description: + "Content on the affected line is aligned per 'text-align' unless 'text-align' is set to 'justify', in which case it is 'start-aligned'.", + }, + { + name: 'center', + description: + 'The inline contents are centered within the line box.', + }, + { + name: 'justify', + description: + "The text is justified according to the method specified by the 'text-justify' property.", + }, + { + name: 'left', + description: + "The inline contents are aligned to the left edge of the line box. In vertical text, 'left' aligns to the edge of the line box that would be the start edge for left-to-right text.", + }, + { + name: 'right', + description: + "The inline contents are aligned to the right edge of the line box. In vertical text, 'right' aligns to the edge of the line box that would be the end edge for left-to-right text.", + }, + ], + syntax: 'auto | start | end | left | right | center | justify', + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/text-align-last', + }, + ], + description: + "Describes how the last line of a block or a line right before a forced line break is aligned when 'text-align' is set to 'justify'.", + restrictions: ['enum'], + }, + { + name: 'text-anchor', + values: [ + { + name: 'end', + description: + 'The rendered characters are aligned such that the end of the resulting rendered text is at the initial current text position.', + }, + { + name: 'middle', + description: + 'The rendered characters are aligned such that the geometric middle of the resulting rendered text is at the initial current text position.', + }, + { + name: 'start', + description: + 'The rendered characters are aligned such that the start of the resulting rendered text is at the initial current text position.', + }, + ], + relevance: 50, + description: + 'Used to align (start-, middle- or end-alignment) a string of text relative to a given point.', + restrictions: ['enum'], + }, + { + name: 'text-decoration', + values: [ + { + name: 'dashed', + description: 'Produces a dashed line style.', + }, + { name: 'dotted', description: 'Produces a dotted line.' }, + { name: 'double', description: 'Produces a double line.' }, + { + name: 'line-through', + description: + 'Each line of text has a line through the middle.', + }, + { name: 'none', description: 'Produces no line.' }, + { + name: 'overline', + description: 'Each line of text has a line above it.', + }, + { name: 'solid', description: 'Produces a solid line.' }, + { + name: 'underline', + description: 'Each line of text is underlined.', + }, + { name: 'wavy', description: 'Produces a wavy line.' }, + ], + syntax: + "<'text-decoration-line'> || <'text-decoration-style'> || <'text-decoration-color'> || <'text-decoration-thickness'>", + relevance: 91, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/text-decoration', + }, + ], + description: + "Decorations applied to font used for an element's text.", + restrictions: ['enum', 'color'], + }, + { + name: 'text-decoration-color', + browsers: ['E79', 'FF36', 'S12.1', 'C57', 'O44'], + syntax: '<color>', + relevance: 52, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/text-decoration-color', + }, + ], + description: + 'Specifies the color of text decoration (underlines overlines, and line-throughs) set on the element with text-decoration-line.', + restrictions: ['color'], + }, + { + name: 'text-decoration-line', + browsers: ['E79', 'FF36', 'S12.1', 'C57', 'O44'], + values: [ + { + name: 'line-through', + description: + 'Each line of text has a line through the middle.', + }, + { + name: 'none', + description: 'Neither produces nor inhibits text decoration.', + }, + { + name: 'overline', + description: 'Each line of text has a line above it.', + }, + { + name: 'underline', + description: 'Each line of text is underlined.', + }, + ], + syntax: + 'none | [ underline || overline || line-through || blink ] | spelling-error | grammar-error', + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/text-decoration-line', + }, + ], + description: + 'Specifies what line decorations, if any, are added to the element.', + restrictions: ['enum'], + }, + { + name: 'text-decoration-style', + browsers: ['E79', 'FF36', 'S12.1', 'C57', 'O44'], + values: [ + { + name: 'dashed', + description: 'Produces a dashed line style.', + }, + { name: 'dotted', description: 'Produces a dotted line.' }, + { name: 'double', description: 'Produces a double line.' }, + { name: 'none', description: 'Produces no line.' }, + { name: 'solid', description: 'Produces a solid line.' }, + { name: 'wavy', description: 'Produces a wavy line.' }, + ], + syntax: 'solid | double | dotted | dashed | wavy', + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/text-decoration-style', + }, + ], + description: + 'Specifies the line style for underline, line-through and overline text decoration.', + restrictions: ['enum'], + }, + { + name: 'text-indent', + values: [], + syntax: '<length-percentage> && hanging? && each-line?', + relevance: 68, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/text-indent', + }, + ], + description: + "Specifies the indentation applied to lines of inline content in a block. The indentation only affects the first line of inline content in the block unless the 'hanging' keyword is specified, in which case it affects all lines except the first.", + restrictions: ['percentage', 'length'], + }, + { + name: 'text-justify', + browsers: ['E12', 'FF55', 'C32', 'IE11', 'O19'], + values: [ + { + name: 'auto', + description: + 'The UA determines the justification algorithm to follow, based on a balance between performance and adequate presentation quality.', + }, + { + name: 'distribute', + description: + "Justification primarily changes spacing both at word separators and at grapheme cluster boundaries in all scripts except those in the connected and cursive groups. This value is sometimes used in e.g. Japanese, often with the 'text-align-last' property.", + }, + { name: 'distribute-all-lines' }, + { + name: 'inter-cluster', + description: + 'Justification primarily changes spacing at word separators and at grapheme cluster boundaries in clustered scripts. This value is typically used for Southeast Asian scripts such as Thai.', + }, + { + name: 'inter-ideograph', + description: + 'Justification primarily changes spacing at word separators and at inter-graphemic boundaries in scripts that use no word spaces. This value is typically used for CJK languages.', + }, + { + name: 'inter-word', + description: + 'Justification primarily changes spacing at word separators. This value is typically used for languages that separate words using spaces, like English or (sometimes) Korean.', + }, + { + name: 'kashida', + description: + 'Justification primarily stretches Arabic and related scripts through the use of kashida or other calligraphic elongation.', + }, + { name: 'newspaper' }, + ], + syntax: 'auto | inter-character | inter-word | none', + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/text-justify', + }, + ], + description: + "Selects the justification algorithm used when 'text-align' is set to 'justify'. The property applies to block containers, but the UA may (but is not required to) also support it on inline elements.", + restrictions: ['enum'], + }, + { + name: 'text-orientation', + browsers: ['E79', 'FF41', 'S5.1', 'C48', 'O15'], + values: [ + { + name: 'sideways', + browsers: ['E79', 'FF41', 'S5.1', 'C48', 'O15'], + description: + "This value is equivalent to 'sideways-right' in 'vertical-rl' writing mode and equivalent to 'sideways-left' in 'vertical-lr' writing mode.", + }, + { + name: 'sideways-right', + browsers: ['E79', 'FF41', 'S5.1', 'C48', 'O15'], + description: + 'In vertical writing modes, this causes text to be set as if in a horizontal layout, but rotated 90° clockwise.', + }, + { + name: 'upright', + description: + 'In vertical writing modes, characters from horizontal-only scripts are rendered upright, i.e. in their standard horizontal orientation.', + }, + ], + syntax: 'mixed | upright | sideways', + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/text-orientation', + }, + ], + description: 'Specifies the orientation of text within a line.', + restrictions: ['enum'], + }, + { + name: 'text-overflow', + values: [ + { + name: 'clip', + description: + 'Clip inline content that overflows. Characters may be only partially rendered.', + }, + { + name: 'ellipsis', + description: + 'Render an ellipsis character (U+2026) to represent clipped inline content.', + }, + ], + syntax: '[ clip | ellipsis | <string> ]{1,2}', + relevance: 81, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/text-overflow', + }, + ], + description: + 'Text can overflow for example when it is prevented from wrapping.', + restrictions: ['enum', 'string'], + }, + { + name: 'text-rendering', + browsers: ['E79', 'FF1', 'S5', 'C4', 'O15'], + values: [ + { name: 'auto' }, + { + name: 'geometricPrecision', + description: + 'Indicates that the user agent shall emphasize geometric precision over legibility and rendering speed.', + }, + { + name: 'optimizeLegibility', + description: + 'Indicates that the user agent shall emphasize legibility over rendering speed and geometric precision.', + }, + { + name: 'optimizeSpeed', + description: + 'Indicates that the user agent shall emphasize rendering speed over legibility and geometric precision.', + }, + ], + syntax: + 'auto | optimizeSpeed | optimizeLegibility | geometricPrecision', + relevance: 68, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/text-rendering', + }, + ], + description: + 'The creator of SVG content might want to provide a hint to the implementation about what tradeoffs to make as it renders text. The ‘text-rendering’ property provides these hints.', + restrictions: ['enum'], + }, + { + name: 'text-shadow', + values: [{ name: 'none', description: 'No shadow.' }], + syntax: 'none | <shadow-t>#', + relevance: 74, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/text-shadow', + }, + ], + description: + 'Enables shadow effects to be applied to the text of the element.', + restrictions: ['length', 'color'], + }, + { + name: 'text-transform', + values: [ + { + name: 'capitalize', + description: + 'Puts the first typographic letter unit of each word in titlecase.', + }, + { + name: 'lowercase', + description: 'Puts all letters in lowercase.', + }, + { name: 'none', description: 'No effects.' }, + { + name: 'uppercase', + description: 'Puts all letters in uppercase.', + }, + ], + syntax: + 'none | capitalize | uppercase | lowercase | full-width | full-size-kana', + relevance: 84, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/text-transform', + }, + ], + description: + 'Controls capitalization effects of an element’s text.', + restrictions: ['enum'], + }, + { + name: 'text-underline-position', + values: [ + { name: 'above' }, + { + name: 'auto', + description: + 'The user agent may use any algorithm to determine the underline’s position. In horizontal line layout, the underline should be aligned as for alphabetic. In vertical line layout, if the language is set to Japanese or Korean, the underline should be aligned as for over.', + }, + { + name: 'below', + description: + 'The underline is aligned with the under edge of the element’s content box.', + }, + ], + syntax: 'auto | from-font | [ under || [ left | right ] ]', + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/text-underline-position', + }, + ], + description: + "Sets the position of an underline specified on the same element: it does not affect underlines specified by ancestor elements. This property is typically used in vertical writing contexts such as in Japanese documents where it often desired to have the underline appear 'over' (to the right of) the affected run of text", + restrictions: ['enum'], + }, + { + name: 'top', + values: [ + { + name: 'auto', + description: + "For non-replaced elements, the effect of this value depends on which of related properties have the value 'auto' as well", + }, + ], + syntax: '<length> | <percentage> | auto', + relevance: 95, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/top', + }, + ], + description: + "Specifies how far an absolutely positioned box's top margin edge is offset below the top edge of the box's 'containing block'.", + restrictions: ['length', 'percentage'], + }, + { + name: 'touch-action', + values: [ + { + name: 'auto', + description: + 'The user agent may determine any permitted touch behaviors for touches that begin on the element.', + }, + { name: 'cross-slide-x' }, + { name: 'cross-slide-y' }, + { name: 'double-tap-zoom' }, + { + name: 'manipulation', + description: + 'The user agent may consider touches that begin on the element only for the purposes of scrolling and continuous zooming.', + }, + { + name: 'none', + description: + 'Touches that begin on the element must not trigger default touch behaviors.', + }, + { + name: 'pan-x', + description: + 'The user agent may consider touches that begin on the element only for the purposes of horizontally scrolling the element’s nearest ancestor with horizontally scrollable content.', + }, + { + name: 'pan-y', + description: + 'The user agent may consider touches that begin on the element only for the purposes of vertically scrolling the element’s nearest ancestor with vertically scrollable content.', + }, + { name: 'pinch-zoom' }, + ], + syntax: + 'auto | none | [ [ pan-x | pan-left | pan-right ] || [ pan-y | pan-up | pan-down ] || pinch-zoom ] | manipulation', + relevance: 65, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/touch-action', + }, + ], + description: + 'Determines whether touch input may trigger default behavior supplied by user agent.', + restrictions: ['enum'], + }, + { + name: 'transform', + values: [ + { + name: 'matrix()', + description: + 'Specifies a 2D transformation in the form of a transformation matrix of six values. matrix(a,b,c,d,e,f) is equivalent to applying the transformation matrix [a b c d e f]', + }, + { + name: 'matrix3d()', + description: + 'Specifies a 3D transformation as a 4x4 homogeneous matrix of 16 values in column-major order.', + }, + { name: 'none' }, + { + name: 'perspective()', + description: 'Specifies a perspective projection matrix.', + }, + { + name: 'rotate()', + description: + 'Specifies a 2D rotation by the angle specified in the parameter about the origin of the element, as defined by the transform-origin property.', + }, + { + name: 'rotate3d()', + description: + 'Specifies a clockwise 3D rotation by the angle specified in last parameter about the [x,y,z] direction vector described by the first 3 parameters.', + }, + { + name: "rotateX('angle')", + description: + 'Specifies a clockwise rotation by the given angle about the X axis.', + }, + { + name: "rotateY('angle')", + description: + 'Specifies a clockwise rotation by the given angle about the Y axis.', + }, + { + name: "rotateZ('angle')", + description: + 'Specifies a clockwise rotation by the given angle about the Z axis.', + }, + { + name: 'scale()', + description: + 'Specifies a 2D scale operation by the [sx,sy] scaling vector described by the 2 parameters. If the second parameter is not provided, it is takes a value equal to the first.', + }, + { + name: 'scale3d()', + description: + 'Specifies a 3D scale operation by the [sx,sy,sz] scaling vector described by the 3 parameters.', + }, + { + name: 'scaleX()', + description: + 'Specifies a scale operation using the [sx,1] scaling vector, where sx is given as the parameter.', + }, + { + name: 'scaleY()', + description: + 'Specifies a scale operation using the [sy,1] scaling vector, where sy is given as the parameter.', + }, + { + name: 'scaleZ()', + description: + 'Specifies a scale operation using the [1,1,sz] scaling vector, where sz is given as the parameter.', + }, + { + name: 'skew()', + description: + 'Specifies a skew transformation along the X and Y axes. The first angle parameter specifies the skew on the X axis. The second angle parameter specifies the skew on the Y axis. If the second parameter is not given then a value of 0 is used for the Y angle (ie: no skew on the Y axis).', + }, + { + name: 'skewX()', + description: + 'Specifies a skew transformation along the X axis by the given angle.', + }, + { + name: 'skewY()', + description: + 'Specifies a skew transformation along the Y axis by the given angle.', + }, + { + name: 'translate()', + description: + 'Specifies a 2D translation by the vector [tx, ty], where tx is the first translation-value parameter and ty is the optional second translation-value parameter.', + }, + { + name: 'translate3d()', + description: + 'Specifies a 3D translation by the vector [tx,ty,tz], with tx, ty and tz being the first, second and third translation-value parameters respectively.', + }, + { + name: 'translateX()', + description: + 'Specifies a translation by the given amount in the X direction.', + }, + { + name: 'translateY()', + description: + 'Specifies a translation by the given amount in the Y direction.', + }, + { + name: 'translateZ()', + description: + 'Specifies a translation by the given amount in the Z direction. Note that percentage values are not allowed in the translateZ translation-value, and if present are evaluated as 0.', + }, + ], + syntax: 'none | <transform-list>', + relevance: 88, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/transform', + }, + ], + description: + "A two-dimensional transformation is applied to an element through the 'transform' property. This property contains a list of transform functions similar to those allowed by SVG.", + restrictions: ['enum'], + }, + { + name: 'transform-origin', + syntax: + '[ <length-percentage> | left | center | right | top | bottom ] | [ [ <length-percentage> | left | center | right ] && [ <length-percentage> | top | center | bottom ] ] <length>?', + relevance: 74, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/transform-origin', + }, + ], + description: + 'Establishes the origin of transformation for an element.', + restrictions: ['position', 'length', 'percentage'], + }, + { + name: 'transform-style', + browsers: ['E12', 'FF16', 'S9', 'C36', 'O23'], + values: [ + { + name: 'flat', + description: + 'All children of this element are rendered flattened into the 2D plane of the element.', + }, + { + name: 'preserve-3d', + browsers: ['E12', 'FF16', 'S9', 'C36', 'O23'], + description: + 'Flattening is not performed, so children maintain their position in 3D space.', + }, + ], + syntax: 'flat | preserve-3d', + relevance: 54, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/transform-style', + }, + ], + description: + 'Defines how nested elements are rendered in 3D space.', + restrictions: ['enum'], + }, + { + name: 'transition', + values: [ + { + name: 'all', + description: + 'Every property that is able to undergo a transition will do so.', + }, + { name: 'none', description: 'No property will transition.' }, + ], + syntax: '<single-transition>#', + relevance: 87, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/transition', + }, + ], + description: + 'Shorthand property combines four of the transition properties into a single property.', + restrictions: ['time', 'property', 'timing-function', 'enum'], + }, + { + name: 'transition-delay', + syntax: '<time>#', + relevance: 62, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/transition-delay', + }, + ], + description: + 'Defines when the transition will start. It allows a transition to begin execution some period of time from when it is applied.', + restrictions: ['time'], + }, + { + name: 'transition-duration', + syntax: '<time>#', + relevance: 62, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/transition-duration', + }, + ], + description: + 'Specifies how long the transition from the old value to the new value should take.', + restrictions: ['time'], + }, + { + name: 'transition-property', + values: [ + { + name: 'all', + description: + 'Every property that is able to undergo a transition will do so.', + }, + { name: 'none', description: 'No property will transition.' }, + ], + syntax: 'none | <single-transition-property>#', + relevance: 64, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/transition-property', + }, + ], + description: + 'Specifies the name of the CSS property to which the transition is applied.', + restrictions: ['property'], + }, + { + name: 'transition-timing-function', + syntax: '<timing-function>#', + relevance: 60, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/transition-timing-function', + }, + ], + description: + 'Describes how the intermediate values used during a transition will be calculated.', + restrictions: ['timing-function'], + }, + { + name: 'unicode-bidi', + values: [ + { + name: 'bidi-override', + description: + "Inside the element, reordering is strictly in sequence according to the 'direction' property; the implicit part of the bidirectional algorithm is ignored.", + }, + { + name: 'embed', + description: + "If the element is inline-level, this value opens an additional level of embedding with respect to the bidirectional algorithm. The direction of this embedding level is given by the 'direction' property.", + }, + { + name: 'isolate', + description: + 'The contents of the element are considered to be inside a separate, independent paragraph.', + }, + { + name: 'isolate-override', + description: + "This combines the isolation behavior of 'isolate' with the directional override behavior of 'bidi-override'", + }, + { + name: 'normal', + description: + 'The element does not open an additional level of embedding with respect to the bidirectional algorithm. For inline-level elements, implicit reordering works across element boundaries.', + }, + { + name: 'plaintext', + description: + "For the purposes of the Unicode bidirectional algorithm, the base directionality of each bidi paragraph for which the element forms the containing block is determined not by the element's computed 'direction'.", + }, + ], + syntax: + 'normal | embed | isolate | bidi-override | isolate-override | plaintext', + relevance: 57, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/unicode-bidi', + }, + ], + description: + 'The level of embedding with respect to the bidirectional algorithm.', + restrictions: ['enum'], + }, + { + name: 'unicode-range', + values: [ + { name: 'U+26', description: 'Ampersand.' }, + { + name: + 'U+20-24F, U+2B0-2FF, U+370-4FF, U+1E00-1EFF, U+2000-20CF, U+2100-23FF, U+2500-26FF, U+E000-F8FF, U+FB00–FB4F', + description: 'WGL4 character set (Pan-European).', + }, + { + name: + 'U+20-17F, U+2B0-2FF, U+2000-206F, U+20A0-20CF, U+2100-21FF, U+2600-26FF', + description: + 'The Multilingual European Subset No. 1. Latin. Covers ~44 languages.', + }, + { + name: + 'U+20-2FF, U+370-4FF, U+1E00-20CF, U+2100-23FF, U+2500-26FF, U+FB00-FB4F, U+FFF0-FFFD', + description: + 'The Multilingual European Subset No. 2. Latin, Greek, and Cyrillic. Covers ~128 language.', + }, + { + name: + 'U+20-4FF, U+530-58F, U+10D0-10FF, U+1E00-23FF, U+2440-245F, U+2500-26FF, U+FB00-FB4F, U+FE20-FE2F, U+FFF0-FFFD', + description: + 'The Multilingual European Subset No. 3. Covers all characters belonging to European scripts.', + }, + { name: 'U+00-7F', description: 'Basic Latin (ASCII).' }, + { + name: 'U+80-FF', + description: + 'Latin-1 Supplement. Accented characters for Western European languages, common punctuation characters, multiplication and division signs.', + }, + { + name: 'U+100-17F', + description: + 'Latin Extended-A. Accented characters for for Czech, Dutch, Polish, and Turkish.', + }, + { + name: 'U+180-24F', + description: + 'Latin Extended-B. Croatian, Slovenian, Romanian, Non-European and historic latin, Khoisan, Pinyin, Livonian, Sinology.', + }, + { + name: 'U+1E00-1EFF', + description: + 'Latin Extended Additional. Vietnamese, German captial sharp s, Medievalist, Latin general use.', + }, + { + name: 'U+250-2AF', + description: 'International Phonetic Alphabet Extensions.', + }, + { name: 'U+370-3FF', description: 'Greek and Coptic.' }, + { + name: 'U+1F00-1FFF', + description: + 'Greek Extended. Accented characters for polytonic Greek.', + }, + { name: 'U+400-4FF', description: 'Cyrillic.' }, + { + name: 'U+500-52F', + description: + 'Cyrillic Supplement. Extra letters for Komi, Khanty, Chukchi, Mordvin, Kurdish, Aleut, Chuvash, Abkhaz, Azerbaijani, and Orok.', + }, + { + name: 'U+00-52F, U+1E00-1FFF, U+2200–22FF', + description: + 'Latin, Greek, Cyrillic, some punctuation and symbols.', + }, + { name: 'U+530–58F', description: 'Armenian.' }, + { name: 'U+590–5FF', description: 'Hebrew.' }, + { name: 'U+600–6FF', description: 'Arabic.' }, + { + name: 'U+750–77F', + description: + 'Arabic Supplement. Additional letters for African languages, Khowar, Torwali, Burushaski, and early Persian.', + }, + { + name: 'U+8A0–8FF', + description: + 'Arabic Extended-A. Additional letters for African languages, European and Central Asian languages, Rohingya, Tamazight, Arwi, and Koranic annotation signs.', + }, + { name: 'U+700–74F', description: 'Syriac.' }, + { name: 'U+900–97F', description: 'Devanagari.' }, + { name: 'U+980–9FF', description: 'Bengali.' }, + { name: 'U+A00–A7F', description: 'Gurmukhi.' }, + { name: 'U+A80–AFF', description: 'Gujarati.' }, + { name: 'U+B00–B7F', description: 'Oriya.' }, + { name: 'U+B80–BFF', description: 'Tamil.' }, + { name: 'U+C00–C7F', description: 'Telugu.' }, + { name: 'U+C80–CFF', description: 'Kannada.' }, + { name: 'U+D00–D7F', description: 'Malayalam.' }, + { name: 'U+D80–DFF', description: 'Sinhala.' }, + { name: 'U+118A0–118FF', description: 'Warang Citi.' }, + { name: 'U+E00–E7F', description: 'Thai.' }, + { name: 'U+1A20–1AAF', description: 'Tai Tham.' }, + { name: 'U+AA80–AADF', description: 'Tai Viet.' }, + { name: 'U+E80–EFF', description: 'Lao.' }, + { name: 'U+F00–FFF', description: 'Tibetan.' }, + { name: 'U+1000–109F', description: 'Myanmar (Burmese).' }, + { name: 'U+10A0–10FF', description: 'Georgian.' }, + { name: 'U+1200–137F', description: 'Ethiopic.' }, + { + name: 'U+1380–139F', + description: + 'Ethiopic Supplement. Extra Syllables for Sebatbeit, and Tonal marks', + }, + { + name: 'U+2D80–2DDF', + description: + "Ethiopic Extended. Extra Syllables for Me'en, Blin, and Sebatbeit.", + }, + { + name: 'U+AB00–AB2F', + description: + 'Ethiopic Extended-A. Extra characters for Gamo-Gofa-Dawro, Basketo, and Gumuz.', + }, + { name: 'U+1780–17FF', description: 'Khmer.' }, + { name: 'U+1800–18AF', description: 'Mongolian.' }, + { name: 'U+1B80–1BBF', description: 'Sundanese.' }, + { + name: 'U+1CC0–1CCF', + description: 'Sundanese Supplement. Punctuation.', + }, + { + name: 'U+4E00–9FD5', + description: + 'CJK (Chinese, Japanese, Korean) Unified Ideographs. Most common ideographs for modern Chinese and Japanese.', + }, + { + name: 'U+3400–4DB5', + description: + 'CJK Unified Ideographs Extension A. Rare ideographs.', + }, + { name: 'U+2F00–2FDF', description: 'Kangxi Radicals.' }, + { + name: 'U+2E80–2EFF', + description: + 'CJK Radicals Supplement. Alternative forms of Kangxi Radicals.', + }, + { name: 'U+1100–11FF', description: 'Hangul Jamo.' }, + { name: 'U+AC00–D7AF', description: 'Hangul Syllables.' }, + { name: 'U+3040–309F', description: 'Hiragana.' }, + { name: 'U+30A0–30FF', description: 'Katakana.' }, + { + name: 'U+A5, U+4E00-9FFF, U+30??, U+FF00-FF9F', + description: + 'Japanese Kanji, Hiragana and Katakana characters plus Yen/Yuan symbol.', + }, + { name: 'U+A4D0–A4FF', description: 'Lisu.' }, + { name: 'U+A000–A48F', description: 'Yi Syllables.' }, + { name: 'U+A490–A4CF', description: 'Yi Radicals.' }, + { name: 'U+2000-206F', description: 'General Punctuation.' }, + { + name: 'U+3000–303F', + description: 'CJK Symbols and Punctuation.', + }, + { + name: 'U+2070–209F', + description: 'Superscripts and Subscripts.', + }, + { name: 'U+20A0–20CF', description: 'Currency Symbols.' }, + { name: 'U+2100–214F', description: 'Letterlike Symbols.' }, + { name: 'U+2150–218F', description: 'Number Forms.' }, + { name: 'U+2190–21FF', description: 'Arrows.' }, + { name: 'U+2200–22FF', description: 'Mathematical Operators.' }, + { + name: 'U+2300–23FF', + description: 'Miscellaneous Technical.', + }, + { name: 'U+E000-F8FF', description: 'Private Use Area.' }, + { + name: 'U+FB00–FB4F', + description: + 'Alphabetic Presentation Forms. Ligatures for latin, Armenian, and Hebrew.', + }, + { + name: 'U+FB50–FDFF', + description: + 'Arabic Presentation Forms-A. Contextual forms / ligatures for Persian, Urdu, Sindhi, Central Asian languages, etc, Arabic pedagogical symbols, word ligatures.', + }, + { name: 'U+1F600–1F64F', description: 'Emoji: Emoticons.' }, + { + name: 'U+2600–26FF', + description: 'Emoji: Miscellaneous Symbols.', + }, + { + name: 'U+1F300–1F5FF', + description: 'Emoji: Miscellaneous Symbols and Pictographs.', + }, + { + name: 'U+1F900–1F9FF', + description: 'Emoji: Supplemental Symbols and Pictographs.', + }, + { + name: 'U+1F680–1F6FF', + description: 'Emoji: Transport and Map Symbols.', + }, + ], + syntax: '<unicode-range>#', + relevance: 58, + description: + '@font-face descriptor. Defines the set of Unicode codepoints that may be supported by the font face for which it is declared.', + restrictions: ['unicode-range'], + }, + { + name: 'user-select', + values: [ + { + name: 'all', + description: + 'The content of the element must be selected atomically', + }, + { name: 'auto' }, + { + name: 'contain', + description: + 'UAs must not allow a selection which is started in this element to be extended outside of this element.', + }, + { + name: 'none', + description: + 'The UA must not allow selections to be started in this element.', + }, + { + name: 'text', + description: + 'The element imposes no constraint on the selection.', + }, + ], + status: 'nonstandard', + syntax: 'auto | text | none | contain | all', + relevance: 24, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/user-select', + }, + ], + description: 'Controls the appearance of selection.', + restrictions: ['enum'], + }, + { + name: 'vertical-align', + values: [ + { + name: 'auto', + description: + 'Align the dominant baseline of the parent box with the equivalent, or heuristically reconstructed, baseline of the element inline box.', + }, + { + name: 'baseline', + description: + "Align the 'alphabetic' baseline of the element with the 'alphabetic' baseline of the parent element.", + }, + { + name: 'bottom', + description: + 'Align the after edge of the extended inline box with the after-edge of the line box.', + }, + { + name: 'middle', + description: + "Align the 'middle' baseline of the inline element with the middle baseline of the parent.", + }, + { + name: 'sub', + description: + "Lower the baseline of the box to the proper position for subscripts of the parent's box. (This value has no effect on the font size of the element's text.)", + }, + { + name: 'super', + description: + "Raise the baseline of the box to the proper position for superscripts of the parent's box. (This value has no effect on the font size of the element's text.)", + }, + { + name: 'text-bottom', + description: + "Align the bottom of the box with the after-edge of the parent element's font.", + }, + { + name: 'text-top', + description: + "Align the top of the box with the before-edge of the parent element's font.", + }, + { + name: 'top', + description: + 'Align the before edge of the extended inline box with the before-edge of the line box.', + }, + { name: '-webkit-baseline-middle' }, + ], + syntax: + 'baseline | sub | super | text-top | text-bottom | middle | top | bottom | <percentage> | <length>', + relevance: 91, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/vertical-align', + }, + ], + description: + 'Affects the vertical positioning of the inline boxes generated by an inline-level element inside a line box.', + restrictions: ['percentage', 'length'], + }, + { + name: 'visibility', + values: [ + { + name: 'collapse', + description: + "Table-specific. If used on elements other than rows, row groups, columns, or column groups, 'collapse' has the same meaning as 'hidden'.", + }, + { + name: 'hidden', + description: + 'The generated box is invisible (fully transparent, nothing is drawn), but still affects layout.', + }, + { + name: 'visible', + description: 'The generated box is visible.', + }, + ], + syntax: 'visible | hidden | collapse', + relevance: 88, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/visibility', + }, + ], + description: + 'Specifies whether the boxes generated by an element are rendered. Invisible boxes still affect layout (set the ‘display’ property to ‘none’ to suppress box generation altogether).', + restrictions: ['enum'], + }, + { + name: '-webkit-animation', + browsers: ['C', 'S5'], + values: [ + { + name: 'alternate', + description: + 'The animation cycle iterations that are odd counts are played in the normal direction, and the animation cycle iterations that are even counts are played in a reverse direction.', + }, + { + name: 'alternate-reverse', + description: + 'The animation cycle iterations that are odd counts are played in the reverse direction, and the animation cycle iterations that are even counts are played in a normal direction.', + }, + { + name: 'backwards', + description: + "The beginning property value (as defined in the first @keyframes at-rule) is applied before the animation is displayed, during the period defined by 'animation-delay'.", + }, + { + name: 'both', + description: + 'Both forwards and backwards fill modes are applied.', + }, + { + name: 'forwards', + description: + 'The final property value (as defined in the last @keyframes at-rule) is maintained after the animation completes.', + }, + { + name: 'infinite', + description: 'Causes the animation to repeat forever.', + }, + { name: 'none', description: 'No animation is performed' }, + { name: 'normal', description: 'Normal playback.' }, + { + name: 'reverse', + description: + 'All iterations of the animation are played in the reverse direction from the way they were specified.', + }, + ], + relevance: 50, + description: + 'Shorthand property combines six of the animation properties into a single property.', + restrictions: [ + 'time', + 'enum', + 'timing-function', + 'identifier', + 'number', + ], + }, + { + name: '-webkit-animation-delay', + browsers: ['C', 'S5'], + relevance: 50, + description: 'Defines when the animation will start.', + restrictions: ['time'], + }, + { + name: '-webkit-animation-direction', + browsers: ['C', 'S5'], + values: [ + { + name: 'alternate', + description: + 'The animation cycle iterations that are odd counts are played in the normal direction, and the animation cycle iterations that are even counts are played in a reverse direction.', + }, + { + name: 'alternate-reverse', + description: + 'The animation cycle iterations that are odd counts are played in the reverse direction, and the animation cycle iterations that are even counts are played in a normal direction.', + }, + { name: 'normal', description: 'Normal playback.' }, + { + name: 'reverse', + description: + 'All iterations of the animation are played in the reverse direction from the way they were specified.', + }, + ], + relevance: 50, + description: + 'Defines whether or not the animation should play in reverse on alternate cycles.', + restrictions: ['enum'], + }, + { + name: '-webkit-animation-duration', + browsers: ['C', 'S5'], + relevance: 50, + description: + 'Defines the length of time that an animation takes to complete one cycle.', + restrictions: ['time'], + }, + { + name: '-webkit-animation-fill-mode', + browsers: ['C', 'S5'], + values: [ + { + name: 'backwards', + description: + "The beginning property value (as defined in the first @keyframes at-rule) is applied before the animation is displayed, during the period defined by 'animation-delay'.", + }, + { + name: 'both', + description: + 'Both forwards and backwards fill modes are applied.', + }, + { + name: 'forwards', + description: + 'The final property value (as defined in the last @keyframes at-rule) is maintained after the animation completes.', + }, + { + name: 'none', + description: + 'There is no change to the property value between the time the animation is applied and the time the animation begins playing or after the animation completes.', + }, + ], + relevance: 50, + description: + 'Defines what values are applied by the animation outside the time it is executing.', + restrictions: ['enum'], + }, + { + name: '-webkit-animation-iteration-count', + browsers: ['C', 'S5'], + values: [ + { + name: 'infinite', + description: 'Causes the animation to repeat forever.', + }, + ], + relevance: 50, + description: + 'Defines the number of times an animation cycle is played. The default value is one, meaning the animation will play from beginning to end once.', + restrictions: ['number', 'enum'], + }, + { + name: '-webkit-animation-name', + browsers: ['C', 'S5'], + values: [ + { name: 'none', description: 'No animation is performed' }, + ], + relevance: 50, + description: + 'Defines a list of animations that apply. Each name is used to select the keyframe at-rule that provides the property values for the animation.', + restrictions: ['identifier', 'enum'], + }, + { + name: '-webkit-animation-play-state', + browsers: ['C', 'S5'], + values: [ + { + name: 'paused', + description: 'A running animation will be paused.', + }, + { + name: 'running', + description: 'Resume playback of a paused animation.', + }, + ], + relevance: 50, + description: + 'Defines whether the animation is running or paused.', + restrictions: ['enum'], + }, + { + name: '-webkit-animation-timing-function', + browsers: ['C', 'S5'], + relevance: 50, + description: + "Describes how the animation will progress over one cycle of its duration. See the 'transition-timing-function'.", + restrictions: ['timing-function'], + }, + { + name: '-webkit-appearance', + browsers: ['C', 'S3'], + values: [ + { name: 'button' }, + { name: 'button-bevel' }, + { name: 'caps-lock-indicator' }, + { name: 'caret' }, + { name: 'checkbox' }, + { name: 'default-button' }, + { name: 'listbox' }, + { name: 'listitem' }, + { name: 'media-fullscreen-button' }, + { name: 'media-mute-button' }, + { name: 'media-play-button' }, + { name: 'media-seek-back-button' }, + { name: 'media-seek-forward-button' }, + { name: 'media-slider' }, + { name: 'media-sliderthumb' }, + { name: 'menulist' }, + { name: 'menulist-button' }, + { name: 'menulist-text' }, + { name: 'menulist-textfield' }, + { name: 'none' }, + { name: 'push-button' }, + { name: 'radio' }, + { name: 'scrollbarbutton-down' }, + { name: 'scrollbarbutton-left' }, + { name: 'scrollbarbutton-right' }, + { name: 'scrollbarbutton-up' }, + { name: 'scrollbargripper-horizontal' }, + { name: 'scrollbargripper-vertical' }, + { name: 'scrollbarthumb-horizontal' }, + { name: 'scrollbarthumb-vertical' }, + { name: 'scrollbartrack-horizontal' }, + { name: 'scrollbartrack-vertical' }, + { name: 'searchfield' }, + { name: 'searchfield-cancel-button' }, + { name: 'searchfield-decoration' }, + { name: 'searchfield-results-button' }, + { name: 'searchfield-results-decoration' }, + { name: 'slider-horizontal' }, + { name: 'sliderthumb-horizontal' }, + { name: 'sliderthumb-vertical' }, + { name: 'slider-vertical' }, + { name: 'square-button' }, + { name: 'textarea' }, + { name: 'textfield' }, + ], + status: 'nonstandard', + syntax: + 'none | button | button-bevel | caret | checkbox | default-button | inner-spin-button | listbox | listitem | media-controls-background | media-controls-fullscreen-background | media-current-time-display | media-enter-fullscreen-button | media-exit-fullscreen-button | media-fullscreen-button | media-mute-button | media-overlay-play-button | media-play-button | media-seek-back-button | media-seek-forward-button | media-slider | media-sliderthumb | media-time-remaining-display | media-toggle-closed-captions-button | media-volume-slider | media-volume-slider-container | media-volume-sliderthumb | menulist | menulist-button | menulist-text | menulist-textfield | meter | progress-bar | progress-bar-value | push-button | radio | searchfield | searchfield-cancel-button | searchfield-decoration | searchfield-results-button | searchfield-results-decoration | slider-horizontal | slider-vertical | sliderthumb-horizontal | sliderthumb-vertical | square-button | textarea | textfield', + relevance: 0, + description: + 'Changes the appearance of buttons and other controls to resemble native controls.', + restrictions: ['enum'], + }, + { + name: '-webkit-backdrop-filter', + browsers: ['S9'], + values: [ + { name: 'none', description: 'No filter effects are applied.' }, + { + name: 'blur()', + description: 'Applies a Gaussian blur to the input image.', + }, + { + name: 'brightness()', + description: + 'Applies a linear multiplier to input image, making it appear more or less bright.', + }, + { + name: 'contrast()', + description: 'Adjusts the contrast of the input.', + }, + { + name: 'drop-shadow()', + description: + 'Applies a drop shadow effect to the input image.', + }, + { + name: 'grayscale()', + description: 'Converts the input image to grayscale.', + }, + { + name: 'hue-rotate()', + description: 'Applies a hue rotation on the input image. ', + }, + { + name: 'invert()', + description: 'Inverts the samples in the input image.', + }, + { + name: 'opacity()', + description: + 'Applies transparency to the samples in the input image.', + }, + { + name: 'saturate()', + description: 'Saturates the input image.', + }, + { + name: 'sepia()', + description: 'Converts the input image to sepia.', + }, + { + name: 'url()', + description: 'A filter reference to a <filter> element.', + }, + ], + relevance: 50, + description: + "Applies a filter effect where the first filter in the list takes the element's background image as the input image.", + restrictions: ['enum', 'url'], + }, + { + name: '-webkit-backface-visibility', + browsers: ['C', 'S5'], + values: [{ name: 'hidden' }, { name: 'visible' }], + relevance: 50, + description: + "Determines whether or not the 'back' side of a transformed element is visible when facing the viewer. With an identity transform, the front side of an element faces the viewer.", + restrictions: ['enum'], + }, + { + name: '-webkit-background-clip', + browsers: ['C', 'S3'], + relevance: 50, + description: 'Determines the background painting area.', + restrictions: ['box'], + }, + { + name: '-webkit-background-composite', + browsers: ['C', 'S3'], + values: [{ name: 'border' }, { name: 'padding' }], + relevance: 50, + restrictions: ['enum'], + }, + { + name: '-webkit-background-origin', + browsers: ['C', 'S3'], + relevance: 50, + description: + "For elements rendered as a single box, specifies the background positioning area. For elements rendered as multiple boxes (e.g., inline boxes on several lines, boxes on several pages) specifies which boxes 'box-decoration-break' operates on to determine the background positioning area(s).", + restrictions: ['box'], + }, + { + name: '-webkit-border-image', + browsers: ['C', 'S5'], + values: [ + { + name: 'auto', + description: + "If 'auto' is specified then the border image width is the intrinsic width or height (whichever is applicable) of the corresponding image slice. If the image does not have the required intrinsic dimension then the corresponding border-width is used instead.", + }, + { + name: 'fill', + description: + 'Causes the middle part of the border-image to be preserved.', + }, + { name: 'none' }, + { + name: 'repeat', + description: + 'The image is tiled (repeated) to fill the area.', + }, + { + name: 'round', + description: + 'The image is tiled (repeated) to fill the area. If it does not fill the area with a whole number of tiles, the image is rescaled so that it does.', + }, + { + name: 'space', + description: + 'The image is tiled (repeated) to fill the area. If it does not fill the area with a whole number of tiles, the extra space is distributed around the tiles.', + }, + { + name: 'stretch', + description: 'The image is stretched to fill the area.', + }, + { name: 'url()' }, + ], + relevance: 50, + description: + "Shorthand property for setting 'border-image-source', 'border-image-slice', 'border-image-width', 'border-image-outset' and 'border-image-repeat'. Omitted values are set to their initial values.", + restrictions: ['length', 'percentage', 'number', 'url', 'enum'], + }, + { + name: '-webkit-box-align', + browsers: ['C', 'S3'], + values: [ + { + name: 'baseline', + description: + 'If this box orientation is inline-axis or horizontal, all children are placed with their baselines aligned, and extra space placed before or after as necessary. For block flows, the baseline of the first non-empty line box located within the element is used. For tables, the baseline of the first cell is used.', + }, + { + name: 'center', + description: + 'Any extra space is divided evenly, with half placed above the child and the other half placed after the child.', + }, + { + name: 'end', + description: + 'For normal direction boxes, the bottom edge of each child is placed along the bottom of the box. Extra space is placed above the element. For reverse direction boxes, the top edge of each child is placed along the top of the box. Extra space is placed below the element.', + }, + { + name: 'start', + description: + 'For normal direction boxes, the top edge of each child is placed along the top of the box. Extra space is placed below the element. For reverse direction boxes, the bottom edge of each child is placed along the bottom of the box. Extra space is placed above the element.', + }, + { + name: 'stretch', + description: + 'The height of each child is adjusted to that of the containing block.', + }, + ], + relevance: 50, + description: + 'Specifies the alignment of nested elements within an outer flexible box element.', + restrictions: ['enum'], + }, + { + name: '-webkit-box-direction', + browsers: ['C', 'S3'], + values: [ + { + name: 'normal', + description: + 'A box with a computed value of horizontal for box-orient displays its children from left to right. A box with a computed value of vertical displays its children from top to bottom.', + }, + { + name: 'reverse', + description: + 'A box with a computed value of horizontal for box-orient displays its children from right to left. A box with a computed value of vertical displays its children from bottom to top.', + }, + ], + relevance: 50, + description: + 'In webkit applications, -webkit-box-direction specifies whether a box lays out its contents normally (from the top or left edge), or in reverse (from the bottom or right edge).', + restrictions: ['enum'], + }, + { + name: '-webkit-box-flex', + browsers: ['C', 'S3'], + relevance: 50, + description: "Specifies an element's flexibility.", + restrictions: ['number'], + }, + { + name: '-webkit-box-flex-group', + browsers: ['C', 'S3'], + relevance: 50, + description: + "Flexible elements can be assigned to flex groups using the 'box-flex-group' property.", + restrictions: ['integer'], + }, + { + name: '-webkit-box-ordinal-group', + browsers: ['C', 'S3'], + relevance: 50, + description: + 'Indicates the ordinal group the element belongs to. Elements with a lower ordinal group are displayed before those with a higher ordinal group.', + restrictions: ['integer'], + }, + { + name: '-webkit-box-orient', + browsers: ['C', 'S3'], + values: [ + { + name: 'block-axis', + description: "Elements are oriented along the box's axis.", + }, + { + name: 'horizontal', + description: + 'The box displays its children from left to right in a horizontal line.', + }, + { + name: 'inline-axis', + description: 'Elements are oriented vertically.', + }, + { + name: 'vertical', + description: + 'The box displays its children from stacked from top to bottom vertically.', + }, + ], + relevance: 50, + description: + 'In webkit applications, -webkit-box-orient specifies whether a box lays out its contents horizontally or vertically.', + restrictions: ['enum'], + }, + { + name: '-webkit-box-pack', + browsers: ['C', 'S3'], + values: [ + { + name: 'center', + description: + 'The extra space is divided evenly, with half placed before the first child and the other half placed after the last child.', + }, + { + name: 'end', + description: + 'For normal direction boxes, the right edge of the last child is placed at the right side, with all extra space placed before the first child. For reverse direction boxes, the left edge of the first child is placed at the left side, with all extra space placed after the last child.', + }, + { + name: 'justify', + description: + 'The space is divided evenly in-between each child, with none of the extra space placed before the first child or after the last child. If there is only one child, treat the pack value as if it were start.', + }, + { + name: 'start', + description: + 'For normal direction boxes, the left edge of the first child is placed at the left side, with all extra space placed after the last child. For reverse direction boxes, the right edge of the last child is placed at the right side, with all extra space placed before the first child.', + }, + ], + relevance: 50, + description: + 'Specifies alignment of child elements within the current element in the direction of orientation.', + restrictions: ['enum'], + }, + { + name: '-webkit-box-reflect', + browsers: ['E79', 'S4', 'C4', 'O15'], + values: [ + { + name: 'above', + description: 'The reflection appears above the border box.', + }, + { + name: 'below', + description: 'The reflection appears below the border box.', + }, + { + name: 'left', + description: + 'The reflection appears to the left of the border box.', + }, + { + name: 'right', + description: + 'The reflection appears to the right of the border box.', + }, + ], + status: 'nonstandard', + syntax: '[ above | below | right | left ]? <length>? <image>?', + relevance: 0, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/-webkit-box-reflect', + }, + ], + description: 'Defines a reflection of a border box.', + }, + { + name: '-webkit-box-sizing', + browsers: ['C', 'S3'], + values: [ + { + name: 'border-box', + description: + 'The specified width and height (and respective min/max properties) on this element determine the border box of the element.', + }, + { + name: 'content-box', + description: + 'Behavior of width and height as specified by CSS2.1. The specified width and height (and respective min/max properties) apply to the width and height respectively of the content box of the element.', + }, + ], + relevance: 50, + description: 'Box Model addition in CSS3.', + restrictions: ['enum'], + }, + { + name: '-webkit-break-after', + browsers: ['S7'], + values: [ + { + name: 'always', + description: + 'Always force a page break before/after the generated box.', + }, + { + name: 'auto', + description: + 'Neither force nor forbid a page/column break before/after the generated box.', + }, + { + name: 'avoid', + description: + 'Avoid a page/column break before/after the generated box.', + }, + { + name: 'avoid-column', + description: + 'Avoid a column break before/after the generated box.', + }, + { + name: 'avoid-page', + description: + 'Avoid a page break before/after the generated box.', + }, + { name: 'avoid-region' }, + { + name: 'column', + description: + 'Always force a column break before/after the generated box.', + }, + { + name: 'left', + description: + 'Force one or two page breaks before/after the generated box so that the next page is formatted as a left page.', + }, + { + name: 'page', + description: + 'Always force a page break before/after the generated box.', + }, + { name: 'region' }, + { + name: 'right', + description: + 'Force one or two page breaks before/after the generated box so that the next page is formatted as a right page.', + }, + ], + relevance: 50, + description: + 'Describes the page/column break behavior before the generated box.', + restrictions: ['enum'], + }, + { + name: '-webkit-break-before', + browsers: ['S7'], + values: [ + { + name: 'always', + description: + 'Always force a page break before/after the generated box.', + }, + { + name: 'auto', + description: + 'Neither force nor forbid a page/column break before/after the generated box.', + }, + { + name: 'avoid', + description: + 'Avoid a page/column break before/after the generated box.', + }, + { + name: 'avoid-column', + description: + 'Avoid a column break before/after the generated box.', + }, + { + name: 'avoid-page', + description: + 'Avoid a page break before/after the generated box.', + }, + { name: 'avoid-region' }, + { + name: 'column', + description: + 'Always force a column break before/after the generated box.', + }, + { + name: 'left', + description: + 'Force one or two page breaks before/after the generated box so that the next page is formatted as a left page.', + }, + { + name: 'page', + description: + 'Always force a page break before/after the generated box.', + }, + { name: 'region' }, + { + name: 'right', + description: + 'Force one or two page breaks before/after the generated box so that the next page is formatted as a right page.', + }, + ], + relevance: 50, + description: + 'Describes the page/column break behavior before the generated box.', + restrictions: ['enum'], + }, + { + name: '-webkit-break-inside', + browsers: ['S7'], + values: [ + { + name: 'auto', + description: + 'Neither force nor forbid a page/column break inside the generated box.', + }, + { + name: 'avoid', + description: + 'Avoid a page/column break inside the generated box.', + }, + { + name: 'avoid-column', + description: 'Avoid a column break inside the generated box.', + }, + { + name: 'avoid-page', + description: 'Avoid a page break inside the generated box.', + }, + { name: 'avoid-region' }, + ], + relevance: 50, + description: + 'Describes the page/column break behavior inside the generated box.', + restrictions: ['enum'], + }, + { + name: '-webkit-column-break-after', + browsers: ['C', 'S3'], + values: [ + { + name: 'always', + description: + 'Always force a page break before/after the generated box.', + }, + { + name: 'auto', + description: + 'Neither force nor forbid a page/column break before/after the generated box.', + }, + { + name: 'avoid', + description: + 'Avoid a page/column break before/after the generated box.', + }, + { + name: 'avoid-column', + description: + 'Avoid a column break before/after the generated box.', + }, + { + name: 'avoid-page', + description: + 'Avoid a page break before/after the generated box.', + }, + { name: 'avoid-region' }, + { + name: 'column', + description: + 'Always force a column break before/after the generated box.', + }, + { + name: 'left', + description: + 'Force one or two page breaks before/after the generated box so that the next page is formatted as a left page.', + }, + { + name: 'page', + description: + 'Always force a page break before/after the generated box.', + }, + { name: 'region' }, + { + name: 'right', + description: + 'Force one or two page breaks before/after the generated box so that the next page is formatted as a right page.', + }, + ], + relevance: 50, + description: + 'Describes the page/column break behavior before the generated box.', + restrictions: ['enum'], + }, + { + name: '-webkit-column-break-before', + browsers: ['C', 'S3'], + values: [ + { + name: 'always', + description: + 'Always force a page break before/after the generated box.', + }, + { + name: 'auto', + description: + 'Neither force nor forbid a page/column break before/after the generated box.', + }, + { + name: 'avoid', + description: + 'Avoid a page/column break before/after the generated box.', + }, + { + name: 'avoid-column', + description: + 'Avoid a column break before/after the generated box.', + }, + { + name: 'avoid-page', + description: + 'Avoid a page break before/after the generated box.', + }, + { name: 'avoid-region' }, + { + name: 'column', + description: + 'Always force a column break before/after the generated box.', + }, + { + name: 'left', + description: + 'Force one or two page breaks before/after the generated box so that the next page is formatted as a left page.', + }, + { + name: 'page', + description: + 'Always force a page break before/after the generated box.', + }, + { name: 'region' }, + { + name: 'right', + description: + 'Force one or two page breaks before/after the generated box so that the next page is formatted as a right page.', + }, + ], + relevance: 50, + description: + 'Describes the page/column break behavior before the generated box.', + restrictions: ['enum'], + }, + { + name: '-webkit-column-break-inside', + browsers: ['C', 'S3'], + values: [ + { + name: 'auto', + description: + 'Neither force nor forbid a page/column break inside the generated box.', + }, + { + name: 'avoid', + description: + 'Avoid a page/column break inside the generated box.', + }, + { + name: 'avoid-column', + description: 'Avoid a column break inside the generated box.', + }, + { + name: 'avoid-page', + description: 'Avoid a page break inside the generated box.', + }, + { name: 'avoid-region' }, + ], + relevance: 50, + description: + 'Describes the page/column break behavior inside the generated box.', + restrictions: ['enum'], + }, + { + name: '-webkit-column-count', + browsers: ['C', 'S3'], + values: [ + { + name: 'auto', + description: + "Determines the number of columns by the 'column-width' property and the element width.", + }, + ], + relevance: 50, + description: + 'Describes the optimal number of columns into which the content of the element will be flowed.', + restrictions: ['integer'], + }, + { + name: '-webkit-column-gap', + browsers: ['C', 'S3'], + values: [ + { + name: 'normal', + description: + 'User agent specific and typically equivalent to 1em.', + }, + ], + relevance: 50, + description: + 'Sets the gap between columns. If there is a column rule between columns, it will appear in the middle of the gap.', + restrictions: ['length'], + }, + { + name: '-webkit-column-rule', + browsers: ['C', 'S3'], + relevance: 50, + description: + "This property is a shorthand for setting 'column-rule-width', 'column-rule-style', and 'column-rule-color' at the same place in the style sheet. Omitted values are set to their initial values.", + restrictions: ['length', 'line-width', 'line-style', 'color'], + }, + { + name: '-webkit-column-rule-color', + browsers: ['C', 'S3'], + relevance: 50, + description: 'Sets the color of the column rule', + restrictions: ['color'], + }, + { + name: '-webkit-column-rule-style', + browsers: ['C', 'S3'], + relevance: 50, + description: + 'Sets the style of the rule between columns of an element.', + restrictions: ['line-style'], + }, + { + name: '-webkit-column-rule-width', + browsers: ['C', 'S3'], + relevance: 50, + description: + 'Sets the width of the rule between columns. Negative values are not allowed.', + restrictions: ['length', 'line-width'], + }, + { + name: '-webkit-columns', + browsers: ['C', 'S3'], + values: [ + { + name: 'auto', + description: + 'The width depends on the values of other properties.', + }, + ], + relevance: 50, + description: + "A shorthand property which sets both 'column-width' and 'column-count'.", + restrictions: ['length', 'integer'], + }, + { + name: '-webkit-column-span', + browsers: ['C', 'S3'], + values: [ + { + name: 'all', + description: + 'The element spans across all columns. Content in the normal flow that appears before the element is automatically balanced across all columns before the element appear.', + }, + { + name: 'none', + description: 'The element does not span multiple columns.', + }, + ], + relevance: 50, + description: + 'Describes the page/column break behavior after the generated box.', + restrictions: ['enum'], + }, + { + name: '-webkit-column-width', + browsers: ['C', 'S3'], + values: [ + { + name: 'auto', + description: + 'The width depends on the values of other properties.', + }, + ], + relevance: 50, + description: + 'This property describes the width of columns in multicol elements.', + restrictions: ['length'], + }, + { + name: '-webkit-filter', + browsers: ['C18', 'O15', 'S6'], + values: [ + { name: 'none', description: 'No filter effects are applied.' }, + { + name: 'blur()', + description: 'Applies a Gaussian blur to the input image.', + }, + { + name: 'brightness()', + description: + 'Applies a linear multiplier to input image, making it appear more or less bright.', + }, + { + name: 'contrast()', + description: 'Adjusts the contrast of the input.', + }, + { + name: 'drop-shadow()', + description: + 'Applies a drop shadow effect to the input image.', + }, + { + name: 'grayscale()', + description: 'Converts the input image to grayscale.', + }, + { + name: 'hue-rotate()', + description: 'Applies a hue rotation on the input image. ', + }, + { + name: 'invert()', + description: 'Inverts the samples in the input image.', + }, + { + name: 'opacity()', + description: + 'Applies transparency to the samples in the input image.', + }, + { + name: 'saturate()', + description: 'Saturates the input image.', + }, + { + name: 'sepia()', + description: 'Converts the input image to sepia.', + }, + { + name: 'url()', + description: 'A filter reference to a <filter> element.', + }, + ], + relevance: 50, + description: + 'Processes an element’s rendering before it is displayed in the document, by applying one or more filter effects.', + restrictions: ['enum', 'url'], + }, + { + name: '-webkit-flow-from', + browsers: ['S6.1'], + values: [ + { + name: 'none', + description: 'The block container is not a CSS Region.', + }, + ], + relevance: 50, + description: + 'Makes a block container a region and associates it with a named flow.', + restrictions: ['identifier'], + }, + { + name: '-webkit-flow-into', + browsers: ['S6.1'], + values: [ + { + name: 'none', + description: + 'The element is not moved to a named flow and normal CSS processing takes place.', + }, + ], + relevance: 50, + description: + 'Places an element or its contents into a named flow.', + restrictions: ['identifier'], + }, + { + name: '-webkit-font-feature-settings', + browsers: ['C16'], + values: [ + { name: '"c2cs"' }, + { name: '"dlig"' }, + { name: '"kern"' }, + { name: '"liga"' }, + { name: '"lnum"' }, + { name: '"onum"' }, + { name: '"smcp"' }, + { name: '"swsh"' }, + { name: '"tnum"' }, + { + name: 'normal', + description: + 'No change in glyph substitution or positioning occurs.', + }, + { name: 'off' }, + { name: 'on' }, + ], + relevance: 50, + description: + 'This property provides low-level control over OpenType font features. It is intended as a way of providing access to font features that are not widely used but are needed for a particular use case.', + restrictions: ['string', 'integer'], + }, + { + name: '-webkit-hyphens', + browsers: ['S5.1'], + values: [ + { + name: 'auto', + description: + 'Conditional hyphenation characters inside a word, if present, take priority over automatic resources when determining hyphenation points within the word.', + }, + { + name: 'manual', + description: + 'Words are only broken at line breaks where there are characters inside the word that suggest line break opportunities', + }, + { + name: 'none', + description: + 'Words are not broken at line breaks, even if characters inside the word suggest line break points.', + }, + ], + relevance: 50, + description: + 'Controls whether hyphenation is allowed to create more break opportunities within a line of text.', + restrictions: ['enum'], + }, + { + name: '-webkit-line-break', + browsers: ['C', 'S3'], + values: [{ name: 'after-white-space' }, { name: 'normal' }], + relevance: 50, + description: + 'Specifies line-breaking rules for CJK (Chinese, Japanese, and Korean) text.', + }, + { + name: '-webkit-margin-bottom-collapse', + browsers: ['C', 'S3'], + values: [ + { name: 'collapse' }, + { name: 'discard' }, + { name: 'separate' }, + ], + relevance: 50, + restrictions: ['enum'], + }, + { + name: '-webkit-margin-collapse', + browsers: ['C', 'S3'], + values: [ + { name: 'collapse' }, + { name: 'discard' }, + { name: 'separate' }, + ], + relevance: 50, + restrictions: ['enum'], + }, + { + name: '-webkit-margin-start', + browsers: ['C', 'S3'], + values: [{ name: 'auto' }], + relevance: 50, + restrictions: ['percentage', 'length'], + }, + { + name: '-webkit-margin-top-collapse', + browsers: ['C', 'S3'], + values: [ + { name: 'collapse' }, + { name: 'discard' }, + { name: 'separate' }, + ], + relevance: 50, + restrictions: ['enum'], + }, + { + name: '-webkit-mask-clip', + browsers: ['C', 'O15', 'S4'], + status: 'nonstandard', + syntax: '[ <box> | border | padding | content | text ]#', + relevance: 0, + description: + 'Determines the mask painting area, which determines the area that is affected by the mask.', + restrictions: ['box'], + }, + { + name: '-webkit-mask-image', + browsers: ['C', 'O15', 'S4'], + values: [ + { + name: 'none', + description: 'Counts as a transparent black image layer.', + }, + { + name: 'url()', + description: + 'Reference to a <mask element or to a CSS image.', + }, + ], + status: 'nonstandard', + syntax: '<mask-reference>#', + relevance: 0, + description: 'Sets the mask layer image of an element.', + restrictions: ['url', 'image', 'enum'], + }, + { + name: '-webkit-mask-origin', + browsers: ['C', 'O15', 'S4'], + status: 'nonstandard', + syntax: '[ <box> | border | padding | content ]#', + relevance: 0, + description: 'Specifies the mask positioning area.', + restrictions: ['box'], + }, + { + name: '-webkit-mask-repeat', + browsers: ['C', 'O15', 'S4'], + status: 'nonstandard', + syntax: '<repeat-style>#', + relevance: 0, + description: + 'Specifies how mask layer images are tiled after they have been sized and positioned.', + restrictions: ['repeat'], + }, + { + name: '-webkit-mask-size', + browsers: ['C', 'O15', 'S4'], + values: [ + { + name: 'auto', + description: + 'Resolved by using the image’s intrinsic ratio and the size of the other dimension, or failing that, using the image’s intrinsic size, or failing that, treating it as 100%.', + }, + { + name: 'contain', + description: + 'Scale the image, while preserving its intrinsic aspect ratio (if any), to the largest size such that both its width and its height can fit inside the background positioning area.', + }, + { + name: 'cover', + description: + 'Scale the image, while preserving its intrinsic aspect ratio (if any), to the smallest size such that both its width and its height can completely cover the background positioning area.', + }, + ], + status: 'nonstandard', + syntax: '<bg-size>#', + relevance: 0, + description: 'Specifies the size of the mask layer images.', + restrictions: ['length', 'percentage', 'enum'], + }, + { + name: '-webkit-nbsp-mode', + browsers: ['C', 'S3'], + values: [{ name: 'normal' }, { name: 'space' }], + relevance: 50, + description: + 'Defines the behavior of nonbreaking spaces within text.', + }, + { + name: '-webkit-overflow-scrolling', + browsers: ['C', 'S5'], + values: [{ name: 'auto' }, { name: 'touch' }], + status: 'nonstandard', + syntax: 'auto | touch', + relevance: 0, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/-webkit-overflow-scrolling', + }, + ], + description: + 'Specifies whether to use native-style scrolling in an overflow:scroll element.', + }, + { + name: '-webkit-padding-start', + browsers: ['C', 'S3'], + relevance: 50, + restrictions: ['percentage', 'length'], + }, + { + name: '-webkit-perspective', + browsers: ['C', 'S4'], + values: [ + { + name: 'none', + description: 'No perspective transform is applied.', + }, + ], + relevance: 50, + description: + 'Applies the same transform as the perspective(<number>) transform function, except that it applies only to the positioned or transformed children of the element, not to the transform on the element itself.', + restrictions: ['length'], + }, + { + name: '-webkit-perspective-origin', + browsers: ['C', 'S4'], + relevance: 50, + description: + 'Establishes the origin for the perspective property. It effectively sets the X and Y position at which the viewer appears to be looking at the children of the element.', + restrictions: ['position', 'percentage', 'length'], + }, + { + name: '-webkit-region-fragment', + browsers: ['S7'], + values: [ + { + name: 'auto', + description: + 'Content flows as it would in a regular content box.', + }, + { + name: 'break', + description: + 'If the content fits within the CSS Region, then this property has no effect.', + }, + ], + relevance: 50, + description: + "The 'region-fragment' property controls the behavior of the last region associated with a named flow.", + restrictions: ['enum'], + }, + { + name: '-webkit-tap-highlight-color', + browsers: ['E12', 'C16', 'O≤15'], + status: 'nonstandard', + syntax: '<color>', + relevance: 0, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/-webkit-tap-highlight-color', + }, + ], + restrictions: ['color'], + }, + { + name: '-webkit-text-fill-color', + browsers: ['E12', 'FF49', 'S3', 'C1', 'O15'], + status: 'nonstandard', + syntax: '<color>', + relevance: 0, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/-webkit-text-fill-color', + }, + ], + restrictions: ['color'], + }, + { + name: '-webkit-text-size-adjust', + browsers: ['E', 'C', 'S3'], + values: [ + { + name: 'auto', + description: + 'Renderers must use the default size adjustment when displaying on a small device.', + }, + { + name: 'none', + description: + 'Renderers must not do size adjustment when displaying on a small device.', + }, + ], + relevance: 50, + description: + 'Specifies a size adjustment for displaying text content in mobile browsers.', + restrictions: ['percentage'], + }, + { + name: '-webkit-text-stroke', + browsers: ['E15', 'FF49', 'S3', 'C4', 'O15'], + status: 'nonstandard', + syntax: '<length> || <color>', + relevance: 0, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/-webkit-text-stroke', + }, + ], + restrictions: ['length', 'line-width', 'color', 'percentage'], + }, + { + name: '-webkit-text-stroke-color', + browsers: ['E15', 'FF49', 'S3', 'C1', 'O15'], + status: 'nonstandard', + syntax: '<color>', + relevance: 0, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/-webkit-text-stroke-color', + }, + ], + restrictions: ['color'], + }, + { + name: '-webkit-text-stroke-width', + browsers: ['E15', 'FF49', 'S3', 'C1', 'O15'], + status: 'nonstandard', + syntax: '<length>', + relevance: 0, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/-webkit-text-stroke-width', + }, + ], + restrictions: ['length', 'line-width', 'percentage'], + }, + { + name: '-webkit-touch-callout', + browsers: ['S3'], + values: [{ name: 'none' }], + status: 'nonstandard', + syntax: 'default | none', + relevance: 0, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/-webkit-touch-callout', + }, + ], + restrictions: ['enum'], + }, + { + name: '-webkit-transform', + browsers: ['C', 'O12', 'S3.1'], + values: [ + { + name: 'matrix()', + description: + 'Specifies a 2D transformation in the form of a transformation matrix of six values. matrix(a,b,c,d,e,f) is equivalent to applying the transformation matrix [a b c d e f]', + }, + { + name: 'matrix3d()', + description: + 'Specifies a 3D transformation as a 4x4 homogeneous matrix of 16 values in column-major order.', + }, + { name: 'none' }, + { + name: 'perspective()', + description: 'Specifies a perspective projection matrix.', + }, + { + name: 'rotate()', + description: + 'Specifies a 2D rotation by the angle specified in the parameter about the origin of the element, as defined by the transform-origin property.', + }, + { + name: 'rotate3d()', + description: + 'Specifies a clockwise 3D rotation by the angle specified in last parameter about the [x,y,z] direction vector described by the first 3 parameters.', + }, + { + name: "rotateX('angle')", + description: + 'Specifies a clockwise rotation by the given angle about the X axis.', + }, + { + name: "rotateY('angle')", + description: + 'Specifies a clockwise rotation by the given angle about the Y axis.', + }, + { + name: "rotateZ('angle')", + description: + 'Specifies a clockwise rotation by the given angle about the Z axis.', + }, + { + name: 'scale()', + description: + 'Specifies a 2D scale operation by the [sx,sy] scaling vector described by the 2 parameters. If the second parameter is not provided, it is takes a value equal to the first.', + }, + { + name: 'scale3d()', + description: + 'Specifies a 3D scale operation by the [sx,sy,sz] scaling vector described by the 3 parameters.', + }, + { + name: 'scaleX()', + description: + 'Specifies a scale operation using the [sx,1] scaling vector, where sx is given as the parameter.', + }, + { + name: 'scaleY()', + description: + 'Specifies a scale operation using the [sy,1] scaling vector, where sy is given as the parameter.', + }, + { + name: 'scaleZ()', + description: + 'Specifies a scale operation using the [1,1,sz] scaling vector, where sz is given as the parameter.', + }, + { + name: 'skew()', + description: + 'Specifies a skew transformation along the X and Y axes. The first angle parameter specifies the skew on the X axis. The second angle parameter specifies the skew on the Y axis. If the second parameter is not given then a value of 0 is used for the Y angle (ie: no skew on the Y axis).', + }, + { + name: 'skewX()', + description: + 'Specifies a skew transformation along the X axis by the given angle.', + }, + { + name: 'skewY()', + description: + 'Specifies a skew transformation along the Y axis by the given angle.', + }, + { + name: 'translate()', + description: + 'Specifies a 2D translation by the vector [tx, ty], where tx is the first translation-value parameter and ty is the optional second translation-value parameter.', + }, + { + name: 'translate3d()', + description: + 'Specifies a 3D translation by the vector [tx,ty,tz], with tx, ty and tz being the first, second and third translation-value parameters respectively.', + }, + { + name: 'translateX()', + description: + 'Specifies a translation by the given amount in the X direction.', + }, + { + name: 'translateY()', + description: + 'Specifies a translation by the given amount in the Y direction.', + }, + { + name: 'translateZ()', + description: + 'Specifies a translation by the given amount in the Z direction. Note that percentage values are not allowed in the translateZ translation-value, and if present are evaluated as 0.', + }, + ], + relevance: 50, + description: + "A two-dimensional transformation is applied to an element through the 'transform' property. This property contains a list of transform functions similar to those allowed by SVG.", + restrictions: ['enum'], + }, + { + name: '-webkit-transform-origin', + browsers: ['C', 'O15', 'S3.1'], + relevance: 50, + description: + 'Establishes the origin of transformation for an element.', + restrictions: ['position', 'length', 'percentage'], + }, + { + name: '-webkit-transform-origin-x', + browsers: ['C', 'S3.1'], + relevance: 50, + description: + 'The x coordinate of the origin for transforms applied to an element with respect to its border box.', + restrictions: ['length', 'percentage'], + }, + { + name: '-webkit-transform-origin-y', + browsers: ['C', 'S3.1'], + relevance: 50, + description: + 'The y coordinate of the origin for transforms applied to an element with respect to its border box.', + restrictions: ['length', 'percentage'], + }, + { + name: '-webkit-transform-origin-z', + browsers: ['C', 'S4'], + relevance: 50, + description: + 'The z coordinate of the origin for transforms applied to an element with respect to its border box.', + restrictions: ['length', 'percentage'], + }, + { + name: '-webkit-transform-style', + browsers: ['C', 'S4'], + values: [ + { + name: 'flat', + description: + 'All children of this element are rendered flattened into the 2D plane of the element.', + }, + ], + relevance: 50, + description: + 'Defines how nested elements are rendered in 3D space.', + restrictions: ['enum'], + }, + { + name: '-webkit-transition', + browsers: ['C', 'O12', 'S5'], + values: [ + { + name: 'all', + description: + 'Every property that is able to undergo a transition will do so.', + }, + { name: 'none', description: 'No property will transition.' }, + ], + relevance: 50, + description: + 'Shorthand property combines four of the transition properties into a single property.', + restrictions: ['time', 'property', 'timing-function', 'enum'], + }, + { + name: '-webkit-transition-delay', + browsers: ['C', 'O12', 'S5'], + relevance: 50, + description: + 'Defines when the transition will start. It allows a transition to begin execution some period of time from when it is applied.', + restrictions: ['time'], + }, + { + name: '-webkit-transition-duration', + browsers: ['C', 'O12', 'S5'], + relevance: 50, + description: + 'Specifies how long the transition from the old value to the new value should take.', + restrictions: ['time'], + }, + { + name: '-webkit-transition-property', + browsers: ['C', 'O12', 'S5'], + values: [ + { + name: 'all', + description: + 'Every property that is able to undergo a transition will do so.', + }, + { name: 'none', description: 'No property will transition.' }, + ], + relevance: 50, + description: + 'Specifies the name of the CSS property to which the transition is applied.', + restrictions: ['property'], + }, + { + name: '-webkit-transition-timing-function', + browsers: ['C', 'O12', 'S5'], + relevance: 50, + description: + 'Describes how the intermediate values used during a transition will be calculated.', + restrictions: ['timing-function'], + }, + { + name: '-webkit-user-drag', + browsers: ['S3'], + values: [{ name: 'auto' }, { name: 'element' }, { name: 'none' }], + relevance: 50, + restrictions: ['enum'], + }, + { + name: '-webkit-user-modify', + browsers: ['C', 'S3'], + values: [ + { name: 'read-only' }, + { name: 'read-write' }, + { name: 'read-write-plaintext-only' }, + ], + status: 'nonstandard', + syntax: 'read-only | read-write | read-write-plaintext-only', + relevance: 0, + description: + 'Determines whether a user can edit the content of an element.', + restrictions: ['enum'], + }, + { + name: '-webkit-user-select', + browsers: ['C', 'S3'], + values: [{ name: 'auto' }, { name: 'none' }, { name: 'text' }], + relevance: 50, + description: 'Controls the appearance of selection.', + restrictions: ['enum'], + }, + { + name: 'white-space', + values: [ + { + name: 'normal', + description: + "Sets 'white-space-collapsing' to 'collapse' and 'text-wrap' to 'normal'.", + }, + { + name: 'nowrap', + description: + "Sets 'white-space-collapsing' to 'collapse' and 'text-wrap' to 'none'.", + }, + { + name: 'pre', + description: + "Sets 'white-space-collapsing' to 'preserve' and 'text-wrap' to 'none'.", + }, + { + name: 'pre-line', + description: + "Sets 'white-space-collapsing' to 'preserve-breaks' and 'text-wrap' to 'normal'.", + }, + { + name: 'pre-wrap', + description: + "Sets 'white-space-collapsing' to 'preserve' and 'text-wrap' to 'normal'.", + }, + ], + syntax: + 'normal | pre | nowrap | pre-wrap | pre-line | break-spaces', + relevance: 88, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/white-space', + }, + ], + description: + "Shorthand property for the 'white-space-collapsing' and 'text-wrap' properties.", + restrictions: ['enum'], + }, + { + name: 'widows', + browsers: ['E12', 'S1.3', 'C25', 'IE8', 'O9.2'], + syntax: '<integer>', + relevance: 51, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/widows', + }, + ], + description: + 'Specifies the minimum number of line boxes of a block container that must be left in a fragment after a break.', + restrictions: ['integer'], + }, + { + name: 'width', + values: [ + { + name: 'auto', + description: + 'The width depends on the values of other properties.', + }, + { + name: 'fit-content', + description: + 'Use the fit-content inline size or fit-content block size, as appropriate to the writing mode.', + }, + { + name: 'max-content', + description: + 'Use the max-content inline size or max-content block size, as appropriate to the writing mode.', + }, + { + name: 'min-content', + description: + 'Use the min-content inline size or min-content block size, as appropriate to the writing mode.', + }, + ], + syntax: '<viewport-length>{1,2}', + relevance: 96, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/width', + }, + ], + description: + "Specifies the width of the content area, padding area or border area (depending on 'box-sizing') of certain boxes.", + restrictions: ['length', 'percentage'], + }, + { + name: 'will-change', + browsers: ['E79', 'FF36', 'S9.1', 'C36', 'O24'], + values: [ + { + name: 'auto', + description: 'Expresses no particular intent.', + }, + { + name: 'contents', + description: + 'Indicates that the author expects to animate or change something about the element’s contents in the near future.', + }, + { + name: 'scroll-position', + description: + 'Indicates that the author expects to animate or change the scroll position of the element in the near future.', + }, + ], + syntax: 'auto | <animateable-feature>#', + relevance: 62, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/will-change', + }, + ], + description: + 'Provides a rendering hint to the user agent, stating what kinds of changes the author expects to perform on the element.', + restrictions: ['enum', 'identifier'], + }, + { + name: 'word-break', + values: [ + { + name: 'break-all', + description: + 'Lines may break between any two grapheme clusters for non-CJK scripts.', + }, + { + name: 'keep-all', + description: + 'Block characters can no longer create implied break points.', + }, + { + name: 'normal', + description: + 'Breaks non-CJK scripts according to their own rules.', + }, + ], + syntax: 'normal | break-all | keep-all | break-word', + relevance: 72, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/word-break', + }, + ], + description: + 'Specifies line break opportunities for non-CJK scripts.', + restrictions: ['enum'], + }, + { + name: 'word-spacing', + values: [ + { + name: 'normal', + description: + 'No additional spacing is applied. Computes to zero.', + }, + ], + syntax: 'normal | <length-percentage>', + relevance: 57, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/word-spacing', + }, + ], + description: 'Specifies additional spacing between “words”.', + restrictions: ['length', 'percentage'], + }, + { + name: 'word-wrap', + values: [ + { + name: 'break-word', + description: + 'An otherwise unbreakable sequence of characters may be broken at an arbitrary point if there are no otherwise-acceptable break points in the line.', + }, + { + name: 'normal', + description: 'Lines may break only at allowed break points.', + }, + ], + syntax: 'normal | break-word', + relevance: 77, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/overflow-wrap', + }, + ], + description: + 'Specifies whether the UA may break within a word to prevent overflow when an otherwise-unbreakable string is too long to fit.', + restrictions: ['enum'], + }, + { + name: 'writing-mode', + values: [ + { + name: 'horizontal-tb', + description: + 'Top-to-bottom block flow direction. The writing mode is horizontal.', + }, + { + name: 'sideways-lr', + description: + 'Left-to-right block flow direction. The writing mode is vertical, while the typographic mode is horizontal.', + }, + { + name: 'sideways-rl', + description: + 'Right-to-left block flow direction. The writing mode is vertical, while the typographic mode is horizontal.', + }, + { + name: 'vertical-lr', + description: + 'Left-to-right block flow direction. The writing mode is vertical.', + }, + { + name: 'vertical-rl', + description: + 'Right-to-left block flow direction. The writing mode is vertical.', + }, + ], + syntax: + 'horizontal-tb | vertical-rl | vertical-lr | sideways-rl | sideways-lr', + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/writing-mode', + }, + ], + description: + "This is a shorthand property for both 'direction' and 'block-progression'.", + restrictions: ['enum'], + }, + { + name: 'z-index', + values: [ + { + name: 'auto', + description: + 'The stack level of the generated box in the current stacking context is 0. The box does not establish a new stacking context unless it is the root element.', + }, + ], + syntax: 'auto | <integer>', + relevance: 91, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/z-index', + }, + ], + description: + "For a positioned box, the 'z-index' property specifies the stack level of the box in the current stacking context and whether the box establishes a local stacking context.", + restrictions: ['integer'], + }, + { + name: 'zoom', + browsers: ['E12', 'S3.1', 'C1', 'IE5.5', 'O15'], + values: [{ name: 'normal' }], + syntax: 'auto | <number> | <percentage>', + relevance: 74, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/zoom', + }, + ], + description: + "Non-standard. Specifies the magnification scale of the object. See 'transform: scale()' for a standards-based alternative.", + restrictions: ['enum', 'integer', 'number', 'percentage'], + }, + { + name: '-ms-ime-align', + status: 'nonstandard', + syntax: 'auto | after', + relevance: 0, + description: + 'Aligns the Input Method Editor (IME) candidate window box relative to the element on which the IME composition is active.', + }, + { + name: '-moz-binding', + status: 'nonstandard', + syntax: '<url> | none', + relevance: 0, + browsers: ['FF1'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/-moz-binding', + }, + ], + description: + 'The -moz-binding CSS property is used by Mozilla-based applications to attach an XBL binding to a DOM element.', + }, + { + name: '-moz-context-properties', + status: 'nonstandard', + syntax: + 'none | [ fill | fill-opacity | stroke | stroke-opacity ]#', + relevance: 0, + browsers: ['FF55'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/-moz-context-properties', + }, + ], + description: + 'If you reference an SVG image in a webpage (such as with the <img> element or as a background image), the SVG image can coordinate with the embedding element (its context) to have the image adopt property values set on the embedding element. To do this the embedding element needs to list the properties that are to be made available to the image by listing them as values of the -moz-context-properties property, and the image needs to opt in to using those properties by using values such as the context-fill value.\n\nThis feature is available since Firefox 55, but is only currently supported with SVG images loaded via chrome:// or resource:// URLs. To experiment with the feature in SVG on the Web it is necessary to set the svg.context-properties.content.enabled pref to true.', + }, + { + name: '-moz-float-edge', + status: 'nonstandard', + syntax: 'border-box | content-box | margin-box | padding-box', + relevance: 0, + browsers: ['FF1'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/-moz-float-edge', + }, + ], + description: + 'The non-standard -moz-float-edge CSS property specifies whether the height and width properties of the element include the margin, border, or padding thickness.', + }, + { + name: '-moz-force-broken-image-icon', + status: 'nonstandard', + syntax: '<integer>', + relevance: 0, + browsers: ['FF1'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/-moz-force-broken-image-icon', + }, + ], + description: + 'The -moz-force-broken-image-icon extended CSS property can be used to force the broken image icon to be shown even when a broken image has an alt attribute.', + }, + { + name: '-moz-image-region', + status: 'nonstandard', + syntax: '<shape> | auto', + relevance: 0, + browsers: ['FF1'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/-moz-image-region', + }, + ], + description: + 'For certain XUL elements and pseudo-elements that use an image from the list-style-image property, this property specifies a region of the image that is used in place of the whole image. This allows elements to use different pieces of the same image to improve performance.', + }, + { + name: '-moz-orient', + status: 'nonstandard', + syntax: 'inline | block | horizontal | vertical', + relevance: 0, + browsers: ['FF6'], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/-moz-orient', + }, + ], + description: + "The -moz-orient CSS property specifies the orientation of the element to which it's applied.", + }, + { + name: '-moz-outline-radius', + status: 'nonstandard', + syntax: '<outline-radius>{1,4} [ / <outline-radius>{1,4} ]?', + relevance: 0, + browsers: ['FF1'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/-moz-outline-radius', + }, + ], + description: + "In Mozilla applications like Firefox, the -moz-outline-radius CSS property can be used to give an element's outline rounded corners.", + }, + { + name: '-moz-outline-radius-bottomleft', + status: 'nonstandard', + syntax: '<outline-radius>', + relevance: 0, + browsers: ['FF1'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/-moz-outline-radius-bottomleft', + }, + ], + description: + "In Mozilla applications, the -moz-outline-radius-bottomleft CSS property can be used to round the bottom-left corner of an element's outline.", + }, + { + name: '-moz-outline-radius-bottomright', + status: 'nonstandard', + syntax: '<outline-radius>', + relevance: 0, + browsers: ['FF1'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/-moz-outline-radius-bottomright', + }, + ], + description: + "In Mozilla applications, the -moz-outline-radius-bottomright CSS property can be used to round the bottom-right corner of an element's outline.", + }, + { + name: '-moz-outline-radius-topleft', + status: 'nonstandard', + syntax: '<outline-radius>', + relevance: 0, + browsers: ['FF1'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/-moz-outline-radius-topleft', + }, + ], + description: + "In Mozilla applications, the -moz-outline-radius-topleft CSS property can be used to round the top-left corner of an element's outline.", + }, + { + name: '-moz-outline-radius-topright', + status: 'nonstandard', + syntax: '<outline-radius>', + relevance: 0, + browsers: ['FF1'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/-moz-outline-radius-topright', + }, + ], + description: + "In Mozilla applications, the -moz-outline-radius-topright CSS property can be used to round the top-right corner of an element's outline.", + }, + { + name: '-moz-stack-sizing', + status: 'nonstandard', + syntax: 'ignore | stretch-to-fit', + relevance: 0, + description: + '-moz-stack-sizing is an extended CSS property. Normally, a stack will change its size so that all of its child elements are completely visible. For example, moving a child of the stack far to the right will widen the stack so the child remains visible.', + }, + { + name: '-moz-text-blink', + status: 'nonstandard', + syntax: 'none | blink', + relevance: 0, + description: + 'The -moz-text-blink non-standard Mozilla CSS extension specifies the blink mode.', + }, + { + name: '-moz-user-input', + status: 'nonstandard', + syntax: 'auto | none | enabled | disabled', + relevance: 0, + browsers: ['FF1'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/-moz-user-input', + }, + ], + description: + 'In Mozilla applications, -moz-user-input determines if an element will accept user input.', + }, + { + name: '-moz-user-modify', + status: 'nonstandard', + syntax: 'read-only | read-write | write-only', + relevance: 0, + description: + 'The -moz-user-modify property has no effect. It was originally planned to determine whether or not the content of an element can be edited by a user.', + }, + { + name: '-moz-window-dragging', + status: 'nonstandard', + syntax: 'drag | no-drag', + relevance: 0, + description: + 'The -moz-window-dragging CSS property specifies whether a window is draggable or not. It only works in Chrome code, and only on Mac OS X.', + }, + { + name: '-moz-window-shadow', + status: 'nonstandard', + syntax: 'default | menu | tooltip | sheet | none', + relevance: 0, + description: + 'The -moz-window-shadow CSS property specifies whether a window will have a shadow. It only works on Mac OS X.', + }, + { + name: '-webkit-border-before', + status: 'nonstandard', + syntax: "<'border-width'> || <'border-style'> || <'color'>", + relevance: 0, + browsers: ['E79', 'S5.1', 'C8', 'O15'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/-webkit-border-before', + }, + ], + description: + 'The -webkit-border-before CSS property is a shorthand property for setting the individual logical block start border property values in a single place in the style sheet.', + }, + { + name: '-webkit-border-before-color', + status: 'nonstandard', + syntax: "<'color'>", + relevance: 0, + description: + 'The -webkit-border-before-color CSS property sets the color of the individual logical block start border in a single place in the style sheet.', + }, + { + name: '-webkit-border-before-style', + status: 'nonstandard', + syntax: "<'border-style'>", + relevance: 0, + description: + 'The -webkit-border-before-style CSS property sets the style of the individual logical block start border in a single place in the style sheet.', + }, + { + name: '-webkit-border-before-width', + status: 'nonstandard', + syntax: "<'border-width'>", + relevance: 0, + description: + 'The -webkit-border-before-width CSS property sets the width of the individual logical block start border in a single place in the style sheet.', + }, + { + name: '-webkit-line-clamp', + syntax: 'none | <integer>', + relevance: 50, + browsers: ['E17', 'FF68', 'S5', 'C6', 'O15'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/-webkit-line-clamp', + }, + ], + description: + 'The -webkit-line-clamp CSS property allows limiting of the contents of a block container to the specified number of lines.', + }, + { + name: '-webkit-mask', + status: 'nonstandard', + syntax: + '[ <mask-reference> || <position> [ / <bg-size> ]? || <repeat-style> || [ <box> | border | padding | content | text ] || [ <box> | border | padding | content ] ]#', + relevance: 0, + description: + 'The mask CSS property alters the visibility of an element by either partially or fully hiding it. This is accomplished by either masking or clipping the image at specific points.', + }, + { + name: '-webkit-mask-attachment', + status: 'nonstandard', + syntax: '<attachment>#', + relevance: 0, + browsers: ['S4', 'C1'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/-webkit-mask-attachment', + }, + ], + description: + "If a -webkit-mask-image is specified, -webkit-mask-attachment determines whether the mask image's position is fixed within the viewport, or scrolls along with its containing block.", + }, + { + name: '-webkit-mask-composite', + status: 'nonstandard', + syntax: '<composite-style>#', + relevance: 0, + browsers: ['E18', 'FF53', 'S3.2', 'C1', 'O15'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/-webkit-mask-composite', + }, + ], + description: + 'The -webkit-mask-composite property specifies the manner in which multiple mask images applied to the same element are composited with one another. Mask images are composited in the opposite order that they are declared with the -webkit-mask-image property.', + }, + { + name: '-webkit-mask-position', + status: 'nonstandard', + syntax: '<position>#', + relevance: 0, + description: + 'The mask-position CSS property sets the initial position, relative to the mask position layer defined by mask-origin, for each defined mask image.', + }, + { + name: '-webkit-mask-position-x', + status: 'nonstandard', + syntax: '[ <length-percentage> | left | center | right ]#', + relevance: 0, + browsers: ['E18', 'FF49', 'S3.2', 'C1', 'O15'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/-webkit-mask-position-x', + }, + ], + description: + 'The -webkit-mask-position-x CSS property sets the initial horizontal position of a mask image.', + }, + { + name: '-webkit-mask-position-y', + status: 'nonstandard', + syntax: '[ <length-percentage> | top | center | bottom ]#', + relevance: 0, + browsers: ['E18', 'FF49', 'S3.2', 'C1', 'O15'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/-webkit-mask-position-y', + }, + ], + description: + 'The -webkit-mask-position-y CSS property sets the initial vertical position of a mask image.', + }, + { + name: '-webkit-mask-repeat-x', + status: 'nonstandard', + syntax: 'repeat | no-repeat | space | round', + relevance: 0, + browsers: ['E18', 'S5', 'C3', 'O15'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/-webkit-mask-repeat-x', + }, + ], + description: + 'The -webkit-mask-repeat-x property specifies whether and how a mask image is repeated (tiled) horizontally.', + }, + { + name: '-webkit-mask-repeat-y', + status: 'nonstandard', + syntax: 'repeat | no-repeat | space | round', + relevance: 0, + browsers: ['E18', 'S5', 'C3', 'O15'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/-webkit-mask-repeat-y', + }, + ], + description: + 'The -webkit-mask-repeat-y property specifies whether and how a mask image is repeated (tiled) vertically.', + }, + { + name: 'appearance', + status: 'experimental', + syntax: + 'none | auto | button | textfield | menulist-button | <compat-auto>', + relevance: 60, + browsers: ['E84', 'FF1', 'S3', 'C84', 'O70'], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/appearance', + }, + ], + description: + 'Changes the appearance of buttons and other controls to resemble native controls.', + }, + { + name: 'aspect-ratio', + status: 'experimental', + syntax: 'auto | <ratio>', + relevance: 50, + browsers: ['E79', 'FF71', 'C79'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/aspect-ratio', + }, + ], + description: + 'The aspect-ratio CSS property sets a preferred aspect ratio for the box, which will be used in the calculation of auto sizes and some other layout functions.', + }, + { + name: 'azimuth', + status: 'obsolete', + syntax: + '<angle> | [ [ left-side | far-left | left | center-left | center | center-right | right | far-right | right-side ] || behind ] | leftwards | rightwards', + relevance: 0, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/azimuth', + }, + ], + description: + 'In combination with elevation, the azimuth CSS property enables different audio sources to be positioned spatially for aural presentation. This is important in that it provides a natural way to tell several voices apart, as each can be positioned to originate at a different location on the sound stage. Stereo output produce a lateral sound stage, while binaural headphones and multi-speaker setups allow for a fully three-dimensional stage.', + }, + { + name: 'backdrop-filter', + syntax: 'none | <filter-function-list>', + relevance: 51, + browsers: ['E17', 'FF70', 'S9', 'C76', 'O34'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/backdrop-filter', + }, + ], + description: + 'The backdrop-filter CSS property lets you apply graphical effects such as blurring or color shifting to the area behind an element. Because it applies to everything behind the element, to see the effect you must make the element or its background at least partially transparent.', + }, + { + name: 'border-block', + syntax: + "<'border-top-width'> || <'border-top-style'> || <'color'>", + relevance: 50, + browsers: ['E79', 'FF66', 'C69', 'O56'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/border-block', + }, + ], + description: + 'The border-block CSS property is a shorthand property for setting the individual logical block border property values in a single place in the style sheet.', + }, + { + name: 'border-block-color', + syntax: "<'border-top-color'>{1,2}", + relevance: 50, + browsers: ['E79', 'FF66', 'C69', 'O56'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/border-block-color', + }, + ], + description: + "The border-block-color CSS property defines the color of the logical block borders of an element, which maps to a physical border color depending on the element's writing mode, directionality, and text orientation. It corresponds to the border-top-color and border-bottom-color, or border-right-color and border-left-color property depending on the values defined for writing-mode, direction, and text-orientation.", + }, + { + name: 'border-block-style', + syntax: "<'border-top-style'>", + relevance: 50, + browsers: ['E79', 'FF66', 'C69', 'O56'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/border-block-style', + }, + ], + description: + "The border-block-style CSS property defines the style of the logical block borders of an element, which maps to a physical border style depending on the element's writing mode, directionality, and text orientation. It corresponds to the border-top-style and border-bottom-style, or border-left-style and border-right-style properties depending on the values defined for writing-mode, direction, and text-orientation.", + }, + { + name: 'border-block-width', + syntax: "<'border-top-width'>", + relevance: 50, + browsers: ['E79', 'FF66', 'C69', 'O56'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/border-block-width', + }, + ], + description: + "The border-block-width CSS property defines the width of the logical block borders of an element, which maps to a physical border width depending on the element's writing mode, directionality, and text orientation. It corresponds to the border-top-width and border-bottom-width, or border-left-width, and border-right-width property depending on the values defined for writing-mode, direction, and text-orientation.", + }, + { + name: 'border-end-end-radius', + syntax: '<length-percentage>{1,2}', + relevance: 50, + browsers: ['FF66'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/border-end-end-radius', + }, + ], + description: + "The border-end-end-radius CSS property defines a logical border radius on an element, which maps to a physical border radius that depends on on the element's writing-mode, direction, and text-orientation.", + }, + { + name: 'border-end-start-radius', + syntax: '<length-percentage>{1,2}', + relevance: 50, + browsers: ['FF66'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/border-end-start-radius', + }, + ], + description: + "The border-end-start-radius CSS property defines a logical border radius on an element, which maps to a physical border radius depending on the element's writing-mode, direction, and text-orientation.", + }, + { + name: 'border-inline', + syntax: + "<'border-top-width'> || <'border-top-style'> || <'color'>", + relevance: 50, + browsers: ['E79', 'FF66', 'C69', 'O56'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/border-inline', + }, + ], + description: + 'The border-inline CSS property is a shorthand property for setting the individual logical inline border property values in a single place in the style sheet.', + }, + { + name: 'border-inline-color', + syntax: "<'border-top-color'>{1,2}", + relevance: 50, + browsers: ['E79', 'FF66', 'C69', 'O56'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/border-inline-color', + }, + ], + description: + "The border-inline-color CSS property defines the color of the logical inline borders of an element, which maps to a physical border color depending on the element's writing mode, directionality, and text orientation. It corresponds to the border-top-color and border-bottom-color, or border-right-color and border-left-color property depending on the values defined for writing-mode, direction, and text-orientation.", + }, + { + name: 'border-inline-style', + syntax: "<'border-top-style'>", + relevance: 50, + browsers: ['E79', 'FF66', 'C69', 'O56'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/border-inline-style', + }, + ], + description: + "The border-inline-style CSS property defines the style of the logical inline borders of an element, which maps to a physical border style depending on the element's writing mode, directionality, and text orientation. It corresponds to the border-top-style and border-bottom-style, or border-left-style and border-right-style properties depending on the values defined for writing-mode, direction, and text-orientation.", + }, + { + name: 'border-inline-width', + syntax: "<'border-top-width'>", + relevance: 50, + browsers: ['E79', 'FF66', 'C69', 'O56'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/border-inline-width', + }, + ], + description: + "The border-inline-width CSS property defines the width of the logical inline borders of an element, which maps to a physical border width depending on the element's writing mode, directionality, and text orientation. It corresponds to the border-top-width and border-bottom-width, or border-left-width, and border-right-width property depending on the values defined for writing-mode, direction, and text-orientation.", + }, + { + name: 'border-start-end-radius', + syntax: '<length-percentage>{1,2}', + relevance: 50, + browsers: ['FF66'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/border-start-end-radius', + }, + ], + description: + "The border-start-end-radius CSS property defines a logical border radius on an element, which maps to a physical border radius depending on the element's writing-mode, direction, and text-orientation.", + }, + { + name: 'border-start-start-radius', + syntax: '<length-percentage>{1,2}', + relevance: 50, + browsers: ['FF66'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/border-start-start-radius', + }, + ], + description: + "The border-start-start-radius CSS property defines a logical border radius on an element, which maps to a physical border radius that depends on the element's writing-mode, direction, and text-orientation.", + }, + { + name: 'box-align', + status: 'nonstandard', + syntax: 'start | center | end | baseline | stretch', + relevance: 0, + browsers: ['E12', 'FF1', 'S3', 'C1', 'O15'], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/box-align', + }, + ], + description: + 'The box-align CSS property specifies how an element aligns its contents across its layout in a perpendicular direction. The effect of the property is only visible if there is extra space in the box.', + }, + { + name: 'box-direction', + status: 'nonstandard', + syntax: 'normal | reverse | inherit', + relevance: 0, + browsers: ['E12', 'FF1', 'S3', 'C1', 'O15'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/box-direction', + }, + ], + description: + 'The box-direction CSS property specifies whether a box lays out its contents normally (from the top or left edge), or in reverse (from the bottom or right edge).', + }, + { + name: 'box-flex', + status: 'nonstandard', + syntax: '<number>', + relevance: 0, + browsers: ['E12', 'FF1', 'S3', 'C1', 'O15'], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/box-flex', + }, + ], + description: + "The -moz-box-flex and -webkit-box-flex CSS properties specify how a -moz-box or -webkit-box grows to fill the box that contains it, in the direction of the containing box's layout.", + }, + { + name: 'box-flex-group', + status: 'nonstandard', + syntax: '<integer>', + relevance: 0, + browsers: ['S3', 'C1', 'O15'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/box-flex-group', + }, + ], + description: + "The box-flex-group CSS property assigns the flexbox's child elements to a flex group.", + }, + { + name: 'box-lines', + status: 'nonstandard', + syntax: 'single | multiple', + relevance: 0, + browsers: ['S3', 'C1', 'O15'], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/box-lines', + }, + ], + description: + 'The box-lines CSS property determines whether the box may have a single or multiple lines (rows for horizontally oriented boxes, columns for vertically oriented boxes).', + }, + { + name: 'box-ordinal-group', + status: 'nonstandard', + syntax: '<integer>', + relevance: 0, + browsers: ['E12', 'FF1', 'S3', 'C1', 'O15'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/box-ordinal-group', + }, + ], + description: + "The box-ordinal-group CSS property assigns the flexbox's child elements to an ordinal group.", + }, + { + name: 'box-orient', + status: 'nonstandard', + syntax: + 'horizontal | vertical | inline-axis | block-axis | inherit', + relevance: 0, + browsers: ['E12', 'FF1', 'S3', 'C1', 'O15'], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/box-orient', + }, + ], + description: + 'The box-orient CSS property specifies whether an element lays out its contents horizontally or vertically.', + }, + { + name: 'box-pack', + status: 'nonstandard', + syntax: 'start | center | end | justify', + relevance: 0, + browsers: ['E12', 'FF1', 'S3', 'C1', 'O15'], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/box-pack', + }, + ], + description: + 'The -moz-box-pack and -webkit-box-pack CSS properties specify how a -moz-box or -webkit-box packs its contents in the direction of its layout. The effect of this is only visible if there is extra space in the box.', + }, + { + name: 'color-adjust', + syntax: 'economy | exact', + relevance: 50, + browsers: ['E79', 'FF48', 'S6', 'C49', 'O15'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/color-adjust', + }, + ], + description: + 'The color-adjust property is a non-standard CSS extension that can be used to force printing of background colors and images in browsers based on the WebKit engine.', + }, + { + name: 'counter-set', + syntax: '[ <custom-ident> <integer>? ]+ | none', + relevance: 50, + browsers: ['FF68'], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/counter-set', + }, + ], + description: + "The counter-set CSS property sets a CSS counter to a given value. It manipulates the value of existing counters, and will only create new counters if there isn't already a counter of the given name on the element.", + }, + { + name: 'font-optical-sizing', + syntax: 'auto | none', + relevance: 50, + browsers: ['E17', 'FF62', 'S11', 'C79', 'O66'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/font-optical-sizing', + }, + ], + description: + 'The font-optical-sizing CSS property allows developers to control whether browsers render text with slightly differing visual representations to optimize viewing at different sizes, or not. This only works for fonts that have an optical size variation axis.', + }, + { + name: 'font-variation-settings', + syntax: 'normal | [ <string> <number> ]#', + relevance: 50, + browsers: ['E17', 'FF62', 'S11', 'C62', 'O49'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/font-variation-settings', + }, + ], + description: + 'The font-variation-settings CSS property provides low-level control over OpenType or TrueType font variations, by specifying the four letter axis names of the features you want to vary, along with their variation values.', + }, + { + name: 'font-smooth', + status: 'nonstandard', + syntax: 'auto | never | always | <absolute-size> | <length>', + relevance: 0, + browsers: ['E79', 'FF25', 'S4', 'C5', 'O15'], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/font-smooth', + }, + ], + description: '', + }, + { + name: 'gap', + syntax: "<'row-gap'> <'column-gap'>?", + relevance: 50, + browsers: ['E84', 'FF63', 'S10.1', 'C84', 'O70'], + description: + 'The gap CSS property is a shorthand property for row-gap and column-gap specifying the gutters between grid rows and columns.', + }, + { + name: 'hanging-punctuation', + syntax: 'none | [ first || [ force-end | allow-end ] || last ]', + relevance: 50, + browsers: ['S10'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/hanging-punctuation', + }, + ], + description: + 'The hanging-punctuation CSS property specifies whether a punctuation mark should hang at the start or end of a line of text. Hanging punctuation may be placed outside the line box.', + }, + { + name: 'image-resolution', + status: 'experimental', + syntax: '[ from-image || <resolution> ] && snap?', + relevance: 50, + description: + 'The image-resolution property specifies the intrinsic resolution of all raster images used in or on the element. It affects both content images (e.g. replaced elements and generated content) and decorative images (such as background-image). The intrinsic resolution of an image is used to determine the image’s intrinsic dimensions.', + }, + { + name: 'initial-letter', + status: 'experimental', + syntax: 'normal | [ <number> <integer>? ]', + relevance: 50, + browsers: ['S9'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/initial-letter', + }, + ], + description: + 'The initial-letter CSS property specifies styling for dropped, raised, and sunken initial letters.', + }, + { + name: 'initial-letter-align', + status: 'experimental', + syntax: '[ auto | alphabetic | hanging | ideographic ]', + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/initial-letter-align', + }, + ], + description: + 'The initial-letter-align CSS property specifies the alignment of initial letters within a paragraph.', + }, + { + name: 'inset', + syntax: "<'top'>{1,4}", + relevance: 50, + browsers: ['FF66'], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/inset', + }, + ], + description: + "The inset CSS property defines the logical block and inline start and end offsets of an element, which map to physical offsets depending on the element's writing mode, directionality, and text orientation. It corresponds to the top and bottom, or right and left properties depending on the values defined for writing-mode, direction, and text-orientation.", + }, + { + name: 'inset-block', + syntax: "<'top'>{1,2}", + relevance: 50, + browsers: ['E79', 'FF63', 'C69', 'O56'], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/inset-block', + }, + ], + description: + "The inset-block CSS property defines the logical block start and end offsets of an element, which maps to physical offsets depending on the element's writing mode, directionality, and text orientation. It corresponds to the top and bottom, or right and left properties depending on the values defined for writing-mode, direction, and text-orientation.", + }, + { + name: 'inset-block-end', + syntax: "<'top'>", + relevance: 50, + browsers: ['E79', 'FF63', 'C69', 'O56'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/inset-block-end', + }, + ], + description: + "The inset-block-end CSS property defines the logical block end offset of an element, which maps to a physical offset depending on the element's writing mode, directionality, and text orientation. It corresponds to the top, right, bottom, or left property depending on the values defined for writing-mode, direction, and text-orientation.", + }, + { + name: 'inset-block-start', + syntax: "<'top'>", + relevance: 50, + browsers: ['E79', 'FF63', 'C69', 'O56'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/inset-block-start', + }, + ], + description: + "The inset-block-start CSS property defines the logical block start offset of an element, which maps to a physical offset depending on the element's writing mode, directionality, and text orientation. It corresponds to the top, right, bottom, or left property depending on the values defined for writing-mode, direction, and text-orientation.", + }, + { + name: 'inset-inline', + syntax: "<'top'>{1,2}", + relevance: 50, + browsers: ['E79', 'FF63', 'C69', 'O56'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/inset-inline', + }, + ], + description: + "The inset-inline CSS property defines the logical block start and end offsets of an element, which maps to physical offsets depending on the element's writing mode, directionality, and text orientation. It corresponds to the top and bottom, or right and left properties depending on the values defined for writing-mode, direction, and text-orientation.", + }, + { + name: 'inset-inline-end', + syntax: "<'top'>", + relevance: 50, + browsers: ['E79', 'FF63', 'C69', 'O56'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/inset-inline-end', + }, + ], + description: + "The inset-inline-end CSS property defines the logical inline end inset of an element, which maps to a physical inset depending on the element's writing mode, directionality, and text orientation. It corresponds to the top, right, bottom, or left property depending on the values defined for writing-mode, direction, and text-orientation.", + }, + { + name: 'inset-inline-start', + syntax: "<'top'>", + relevance: 50, + browsers: ['E79', 'FF63', 'C69', 'O56'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/inset-inline-start', + }, + ], + description: + "The inset-inline-start CSS property defines the logical inline start inset of an element, which maps to a physical offset depending on the element's writing mode, directionality, and text orientation. It corresponds to the top, right, bottom, or left property depending on the values defined for writing-mode, direction, and text-orientation.", + }, + { + name: 'line-clamp', + status: 'experimental', + syntax: 'none | <integer>', + relevance: 50, + description: + 'The line-clamp property allows limiting the contents of a block container to the specified number of lines; remaining content is fragmented away and neither rendered nor measured. Optionally, it also allows inserting content into the last line box to indicate the continuity of truncated/interrupted content.', + }, + { + name: 'line-height-step', + status: 'experimental', + syntax: '<length>', + relevance: 50, + browsers: ['E79', 'C60', 'O47'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/line-height-step', + }, + ], + description: + 'The line-height-step CSS property defines the step units for line box heights. When the step unit is positive, line box heights are rounded up to the closest multiple of the unit. Negative values are invalid.', + }, + { + name: 'margin-block', + syntax: "<'margin-left'>{1,2}", + relevance: 50, + browsers: ['E79', 'FF66', 'C69', 'O56'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/margin-block', + }, + ], + description: + "The margin-block CSS property defines the logical block start and end margins of an element, which maps to physical margins depending on the element's writing mode, directionality, and text orientation.", + }, + { + name: 'margin-inline', + syntax: "<'margin-left'>{1,2}", + relevance: 50, + browsers: ['E79', 'FF66', 'C69', 'O56'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/margin-inline', + }, + ], + description: + "The margin-inline CSS property defines the logical inline start and end margins of an element, which maps to physical margins depending on the element's writing mode, directionality, and text orientation.", + }, + { + name: 'margin-trim', + status: 'experimental', + syntax: 'none | in-flow | all', + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/margin-trim', + }, + ], + description: + 'The margin-trim property allows the container to trim the margins of its children where they adjoin the container’s edges.', + }, + { + name: 'mask', + syntax: '<mask-layer>#', + relevance: 50, + browsers: ['E12', 'FF2', 'S3.2', 'C1', 'O15'], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/mask', + }, + ], + description: + 'The mask CSS property alters the visibility of an element by either partially or fully hiding it. This is accomplished by either masking or clipping the image at specific points.', + }, + { + name: 'mask-border', + syntax: + "<'mask-border-source'> || <'mask-border-slice'> [ / <'mask-border-width'>? [ / <'mask-border-outset'> ]? ]? || <'mask-border-repeat'> || <'mask-border-mode'>", + relevance: 50, + description: + "The mask-border CSS property lets you create a mask along the edge of an element's border.\n\nThis property is a shorthand for mask-border-source, mask-border-slice, mask-border-width, mask-border-outset, mask-border-repeat, and mask-border-mode. As with all shorthand properties, any omitted sub-values will be set to their initial value.", + }, + { + name: 'mask-border-mode', + syntax: 'luminance | alpha', + relevance: 50, + description: + 'The mask-border-mode CSS property specifies the blending mode used in a mask border.', + }, + { + name: 'mask-border-outset', + syntax: '[ <length> | <number> ]{1,4}', + relevance: 50, + description: + "The mask-border-outset CSS property specifies the distance by which an element's mask border is set out from its border box.", + }, + { + name: 'mask-border-repeat', + syntax: '[ stretch | repeat | round | space ]{1,2}', + relevance: 50, + description: + "The mask-border-repeat CSS property defines how the edge regions of a source image are adjusted to fit the dimensions of an element's mask border.", + }, + { + name: 'mask-border-slice', + syntax: '<number-percentage>{1,4} fill?', + relevance: 50, + description: + "The mask-border-slice CSS property divides the image specified by mask-border-source into regions. These regions are used to form the components of an element's mask border.", + }, + { + name: 'mask-border-source', + syntax: 'none | <image>', + relevance: 50, + description: + "The mask-border-source CSS property specifies the source image used to create an element's mask border.\n\nThe mask-border-slice property is used to divide the source image into regions, which are then dynamically applied to the final mask border.", + }, + { + name: 'mask-border-width', + syntax: '[ <length-percentage> | <number> | auto ]{1,4}', + relevance: 50, + description: + "The mask-border-width CSS property specifies the width of an element's mask border.", + }, + { + name: 'mask-clip', + syntax: '[ <geometry-box> | no-clip ]#', + relevance: 50, + browsers: ['E79', 'FF53', 'S4', 'C1', 'O15'], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/mask-clip', + }, + ], + description: + 'The mask-clip CSS property determines the area, which is affected by a mask. The painted content of an element must be restricted to this area.', + }, + { + name: 'mask-composite', + syntax: '<compositing-operator>#', + relevance: 50, + browsers: ['E18', 'FF53'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/mask-composite', + }, + ], + description: + 'The mask-composite CSS property represents a compositing operation used on the current mask layer with the mask layers below it.', + }, + { + name: 'max-lines', + status: 'experimental', + syntax: 'none | <integer>', + relevance: 50, + description: + 'The max-liens property forces a break after a set number of lines', + }, + { + name: 'offset', + syntax: + "[ <'offset-position'>? [ <'offset-path'> [ <'offset-distance'> || <'offset-rotate'> ]? ]? ]! [ / <'offset-anchor'> ]?", + relevance: 50, + browsers: ['E79', 'FF72', 'C55', 'O42'], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/offset', + }, + ], + description: + 'The offset CSS property is a shorthand property for animating an element along a defined path.', + }, + { + name: 'offset-anchor', + syntax: 'auto | <position>', + relevance: 50, + browsers: ['E79', 'FF72', 'C79'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/offset-anchor', + }, + ], + description: + 'Defines an anchor point of the box positioned along the path. The anchor point specifies the point of the box which is to be considered as the point that is moved along the path.', + }, + { + name: 'offset-distance', + syntax: '<length-percentage>', + relevance: 50, + browsers: ['E79', 'FF72', 'C55', 'O42'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/offset-distance', + }, + ], + description: + 'The offset-distance CSS property specifies a position along an offset-path.', + }, + { + name: 'offset-path', + syntax: + 'none | ray( [ <angle> && <size>? && contain? ] ) | <path()> | <url> | [ <basic-shape> || <geometry-box> ]', + relevance: 50, + browsers: ['E79', 'FF72', 'C55', 'O45'], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/offset-path', + }, + ], + description: + 'The offset-path CSS property specifies the offset path where the element gets positioned. The exact element’s position on the offset path is determined by the offset-distance property. An offset path is either a specified path with one or multiple sub-paths or the geometry of a not-styled basic shape. Each shape or path must define an initial position for the computed value of "0" for offset-distance and an initial direction which specifies the rotation of the object to the initial position.\n\nIn this specification, a direction (or rotation) of 0 degrees is equivalent to the direction of the positive x-axis in the object’s local coordinate system. In other words, a rotation of 0 degree points to the right side of the UA if the object and its ancestors have no transformation applied.', + }, + { + name: 'offset-position', + status: 'experimental', + syntax: 'auto | <position>', + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/offset-position', + }, + ], + description: + 'Specifies the initial position of the offset path. If position is specified with static, offset-position would be ignored.', + }, + { + name: 'offset-rotate', + syntax: '[ auto | reverse ] || <angle>', + relevance: 50, + browsers: ['E79', 'FF72', 'C56', 'O43'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/offset-rotate', + }, + ], + description: + 'The offset-rotate CSS property defines the direction of the element while positioning along the offset path.', + }, + { + name: 'overflow-anchor', + syntax: 'auto | none', + relevance: 51, + browsers: ['E79', 'FF66', 'C56', 'O43'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/overflow-anchor', + }, + ], + description: + 'The overflow-anchor CSS property provides a way to opt out browser scroll anchoring behavior which adjusts scroll position to minimize content shifts.', + }, + { + name: 'overflow-block', + syntax: 'visible | hidden | clip | scroll | auto', + relevance: 50, + browsers: ['FF69'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/overflow-block', + }, + ], + description: + 'The overflow-block CSS media feature can be used to test how the output device handles content that overflows the initial containing block along the block axis.', + }, + { + name: 'overflow-clip-box', + status: 'nonstandard', + syntax: 'padding-box | content-box', + relevance: 0, + browsers: ['FF29'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Mozilla/Gecko/Chrome/CSS/overflow-clip-box', + }, + ], + description: + 'The overflow-clip-box CSS property specifies relative to which box the clipping happens when there is an overflow. It is short hand for the overflow-clip-box-inline and overflow-clip-box-block properties.', + }, + { + name: 'overflow-inline', + syntax: 'visible | hidden | clip | scroll | auto', + relevance: 50, + browsers: ['FF69'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/overflow-inline', + }, + ], + description: + 'The overflow-inline CSS media feature can be used to test how the output device handles content that overflows the initial containing block along the inline axis.', + }, + { + name: 'overscroll-behavior', + syntax: '[ contain | none | auto ]{1,2}', + relevance: 50, + browsers: ['E18', 'FF59', 'C63', 'O50'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior', + }, + ], + description: + "The overscroll-behavior CSS property is shorthand for the overscroll-behavior-x and overscroll-behavior-y properties, which allow you to control the browser's scroll overflow behavior — what happens when the boundary of a scrolling area is reached.", + }, + { + name: 'overscroll-behavior-block', + syntax: 'contain | none | auto', + relevance: 50, + browsers: ['E79', 'FF73', 'C77', 'O64'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-block', + }, + ], + description: + "The overscroll-behavior-block CSS property sets the browser's behavior when the block direction boundary of a scrolling area is reached.", + }, + { + name: 'overscroll-behavior-inline', + syntax: 'contain | none | auto', + relevance: 50, + browsers: ['E79', 'FF73', 'C77', 'O64'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-inline', + }, + ], + description: + "The overscroll-behavior-inline CSS property sets the browser's behavior when the inline direction boundary of a scrolling area is reached.", + }, + { + name: 'overscroll-behavior-x', + syntax: 'contain | none | auto', + relevance: 50, + browsers: ['E18', 'FF59', 'C63', 'O50'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-x', + }, + ], + description: + "The overscroll-behavior-x CSS property is allows you to control the browser's scroll overflow behavior — what happens when the boundary of a scrolling area is reached — in the x axis direction.", + }, + { + name: 'overscroll-behavior-y', + syntax: 'contain | none | auto', + relevance: 50, + browsers: ['E18', 'FF59', 'C63', 'O50'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-y', + }, + ], + description: + "The overscroll-behavior-y CSS property is allows you to control the browser's scroll overflow behavior — what happens when the boundary of a scrolling area is reached — in the y axis direction.", + }, + { + name: 'padding-block', + syntax: "<'padding-left'>{1,2}", + relevance: 50, + browsers: ['E79', 'FF66', 'C69', 'O56'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/padding-block', + }, + ], + description: + "The padding-block CSS property defines the logical block start and end padding of an element, which maps to physical padding properties depending on the element's writing mode, directionality, and text orientation.", + }, + { + name: 'padding-inline', + syntax: "<'padding-left'>{1,2}", + relevance: 50, + browsers: ['E79', 'FF66', 'C69', 'O56'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/padding-inline', + }, + ], + description: + "The padding-inline CSS property defines the logical inline start and end padding of an element, which maps to physical padding properties depending on the element's writing mode, directionality, and text orientation.", + }, + { + name: 'place-content', + syntax: "<'align-content'> <'justify-content'>?", + relevance: 50, + browsers: ['E79', 'FF53', 'S9', 'C59', 'O46'], + description: + 'The place-content CSS shorthand property sets both the align-content and justify-content properties.', + }, + { + name: 'place-items', + syntax: "<'align-items'> <'justify-items'>?", + relevance: 50, + browsers: ['E79', 'FF45', 'S11', 'C59', 'O46'], + description: + 'The CSS place-items shorthand property sets both the align-items and justify-items properties. The first value is the align-items property value, the second the justify-items one. If the second value is not present, the first value is also used for it.', + }, + { + name: 'place-self', + syntax: "<'align-self'> <'justify-self'>?", + relevance: 50, + browsers: ['E79', 'FF45', 'C59', 'O46'], + description: + 'The place-self CSS property is a shorthand property sets both the align-self and justify-self properties. The first value is the align-self property value, the second the justify-self one. If the second value is not present, the first value is also used for it.', + }, + { + name: 'rotate', + syntax: 'none | <angle> | [ x | y | z | <number>{3} ] && <angle>', + relevance: 50, + browsers: ['FF72'], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/rotate', + }, + ], + description: + 'The rotate CSS property allows you to specify rotation transforms individually and independently of the transform property. This maps better to typical user interface usage, and saves having to remember the exact order of transform functions to specify in the transform value.', + }, + { + name: 'row-gap', + syntax: 'normal | <length-percentage>', + relevance: 50, + browsers: ['E84', 'FF63', 'S10.1', 'C84', 'O70'], + description: + 'The row-gap CSS property specifies the gutter between grid rows.', + }, + { + name: 'ruby-merge', + status: 'experimental', + syntax: 'separate | collapse | auto', + relevance: 50, + description: + 'This property controls how ruby annotation boxes should be rendered when there are more than one in a ruby container box: whether each pair should be kept separate, the annotations should be collapsed and rendered as a group, or the separation should be determined based on the space available.', + }, + { + name: 'scale', + syntax: 'none | <number>{1,3}', + relevance: 50, + browsers: ['FF72'], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/scale', + }, + ], + description: + 'The scale CSS property allows you to specify scale transforms individually and independently of the transform property. This maps better to typical user interface usage, and saves having to remember the exact order of transform functions to specify in the transform value.', + }, + { + name: 'scrollbar-color', + syntax: 'auto | dark | light | <color>{2}', + relevance: 50, + browsers: ['FF64'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/scrollbar-color', + }, + ], + description: + 'The scrollbar-color CSS property sets the color of the scrollbar track and thumb.', + }, + { + name: 'scrollbar-width', + syntax: 'auto | thin | none', + relevance: 50, + browsers: ['FF64'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/scrollbar-width', + }, + ], + description: + 'The scrollbar-width property allows the author to set the maximum thickness of an element’s scrollbars when they are shown. ', + }, + { + name: 'scroll-margin', + syntax: '<length>{1,4}', + relevance: 50, + browsers: ['E79', 'FF68', 'S11', 'C69', 'O56'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/scroll-margin', + }, + ], + description: + 'The scroll-margin property is a shorthand property which sets all of the scroll-margin longhands, assigning values much like the margin property does for the margin-* longhands.', + }, + { + name: 'scroll-margin-block', + syntax: '<length>{1,2}', + relevance: 50, + browsers: ['E79', 'FF68', 'C69', 'O56'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/scroll-margin-block', + }, + ], + description: + 'The scroll-margin-block property is a shorthand property which sets the scroll-margin longhands in the block dimension.', + }, + { + name: 'scroll-margin-block-start', + syntax: '<length>', + relevance: 50, + browsers: ['E79', 'FF68', 'C69', 'O56'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/scroll-margin-block-start', + }, + ], + description: + 'The scroll-margin-block-start property defines the margin of the scroll snap area at the start of the block dimension that is used for snapping this box to the snapport. The scroll snap area is determined by taking the transformed border box, finding its rectangular bounding box (axis-aligned in the scroll container’s coordinate space), then adding the specified outsets.', + }, + { + name: 'scroll-margin-block-end', + syntax: '<length>', + relevance: 50, + browsers: ['E79', 'FF68', 'C69', 'O56'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/scroll-margin-block-end', + }, + ], + description: + 'The scroll-margin-block-end property defines the margin of the scroll snap area at the end of the block dimension that is used for snapping this box to the snapport. The scroll snap area is determined by taking the transformed border box, finding its rectangular bounding box (axis-aligned in the scroll container’s coordinate space), then adding the specified outsets.', + }, + { + name: 'scroll-margin-bottom', + syntax: '<length>', + relevance: 50, + browsers: ['E79', 'FF68', 'S11', 'C69', 'O56'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/scroll-margin-bottom', + }, + ], + description: + 'The scroll-margin-bottom property defines the bottom margin of the scroll snap area that is used for snapping this box to the snapport. The scroll snap area is determined by taking the transformed border box, finding its rectangular bounding box (axis-aligned in the scroll container’s coordinate space), then adding the specified outsets.', + }, + { + name: 'scroll-margin-inline', + syntax: '<length>{1,2}', + relevance: 50, + browsers: ['FF68'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/scroll-margin-inline', + }, + ], + description: + 'The scroll-margin-inline property is a shorthand property which sets the scroll-margin longhands in the inline dimension.', + }, + { + name: 'scroll-margin-inline-start', + syntax: '<length>', + relevance: 50, + browsers: ['E79', 'FF68', 'C69', 'O56'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/scroll-margin-inline-start', + }, + ], + description: + 'The scroll-margin-inline-start property defines the margin of the scroll snap area at the start of the inline dimension that is used for snapping this box to the snapport. The scroll snap area is determined by taking the transformed border box, finding its rectangular bounding box (axis-aligned in the scroll container’s coordinate space), then adding the specified outsets.', + }, + { + name: 'scroll-margin-inline-end', + syntax: '<length>', + relevance: 50, + browsers: ['E79', 'FF68', 'C69', 'O56'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/scroll-margin-inline-end', + }, + ], + description: + 'The scroll-margin-inline-end property defines the margin of the scroll snap area at the end of the inline dimension that is used for snapping this box to the snapport. The scroll snap area is determined by taking the transformed border box, finding its rectangular bounding box (axis-aligned in the scroll container’s coordinate space), then adding the specified outsets.', + }, + { + name: 'scroll-margin-left', + syntax: '<length>', + relevance: 50, + browsers: ['E79', 'FF68', 'S11', 'C69', 'O56'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/scroll-margin-left', + }, + ], + description: + 'The scroll-margin-left property defines the left margin of the scroll snap area that is used for snapping this box to the snapport. The scroll snap area is determined by taking the transformed border box, finding its rectangular bounding box (axis-aligned in the scroll container’s coordinate space), then adding the specified outsets.', + }, + { + name: 'scroll-margin-right', + syntax: '<length>', + relevance: 50, + browsers: ['E79', 'FF68', 'S11', 'C69', 'O56'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/scroll-margin-right', + }, + ], + description: + 'The scroll-margin-right property defines the right margin of the scroll snap area that is used for snapping this box to the snapport. The scroll snap area is determined by taking the transformed border box, finding its rectangular bounding box (axis-aligned in the scroll container’s coordinate space), then adding the specified outsets.', + }, + { + name: 'scroll-margin-top', + syntax: '<length>', + relevance: 50, + browsers: ['E79', 'FF68', 'S11', 'C69', 'O56'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/scroll-margin-top', + }, + ], + description: + 'The scroll-margin-top property defines the top margin of the scroll snap area that is used for snapping this box to the snapport. The scroll snap area is determined by taking the transformed border box, finding its rectangular bounding box (axis-aligned in the scroll container’s coordinate space), then adding the specified outsets.', + }, + { + name: 'scroll-padding', + syntax: '[ auto | <length-percentage> ]{1,4}', + relevance: 50, + browsers: ['E79', 'FF68', 'S11', 'C69', 'O56'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/scroll-padding', + }, + ], + description: + 'The scroll-padding property is a shorthand property which sets all of the scroll-padding longhands, assigning values much like the padding property does for the padding-* longhands.', + }, + { + name: 'scroll-padding-block', + syntax: '[ auto | <length-percentage> ]{1,2}', + relevance: 50, + browsers: ['E79', 'FF68', 'C69', 'O56'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/scroll-padding-block', + }, + ], + description: + 'The scroll-padding-block property is a shorthand property which sets the scroll-padding longhands for the block dimension.', + }, + { + name: 'scroll-padding-block-start', + syntax: 'auto | <length-percentage>', + relevance: 50, + browsers: ['E79', 'FF68', 'C69', 'O56'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/scroll-padding-block-start', + }, + ], + description: + 'The scroll-padding-block-start property defines offsets for the start edge in the block dimension of the optimal viewing region of the scrollport: the region used as the target region for placing things in view of the user. This allows the author to exclude regions of the scrollport that are obscured by other content (such as fixed-positioned toolbars or sidebars) or simply to put more breathing room between a targeted element and the edges of the scrollport.', + }, + { + name: 'scroll-padding-block-end', + syntax: 'auto | <length-percentage>', + relevance: 50, + browsers: ['E79', 'FF68', 'C69', 'O56'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/scroll-padding-block-end', + }, + ], + description: + 'The scroll-padding-block-end property defines offsets for the end edge in the block dimension of the optimal viewing region of the scrollport: the region used as the target region for placing things in view of the user. This allows the author to exclude regions of the scrollport that are obscured by other content (such as fixed-positioned toolbars or sidebars) or simply to put more breathing room between a targeted element and the edges of the scrollport.', + }, + { + name: 'scroll-padding-bottom', + syntax: 'auto | <length-percentage>', + relevance: 50, + browsers: ['E79', 'FF68', 'S11', 'C69', 'O56'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/scroll-padding-bottom', + }, + ], + description: + 'The scroll-padding-bottom property defines offsets for the bottom of the optimal viewing region of the scrollport: the region used as the target region for placing things in view of the user. This allows the author to exclude regions of the scrollport that are obscured by other content (such as fixed-positioned toolbars or sidebars) or simply to put more breathing room between a targeted element and the edges of the scrollport.', + }, + { + name: 'scroll-padding-inline', + syntax: '[ auto | <length-percentage> ]{1,2}', + relevance: 50, + browsers: ['E79', 'FF68', 'C69', 'O56'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/scroll-padding-inline', + }, + ], + description: + 'The scroll-padding-inline property is a shorthand property which sets the scroll-padding longhands for the inline dimension.', + }, + { + name: 'scroll-padding-inline-start', + syntax: 'auto | <length-percentage>', + relevance: 50, + browsers: ['E79', 'FF68', 'C69', 'O56'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/scroll-padding-inline-start', + }, + ], + description: + 'The scroll-padding-inline-start property defines offsets for the start edge in the inline dimension of the optimal viewing region of the scrollport: the region used as the target region for placing things in view of the user. This allows the author to exclude regions of the scrollport that are obscured by other content (such as fixed-positioned toolbars or sidebars) or simply to put more breathing room between a targeted element and the edges of the scrollport.', + }, + { + name: 'scroll-padding-inline-end', + syntax: 'auto | <length-percentage>', + relevance: 50, + browsers: ['E79', 'FF68', 'C69', 'O56'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/scroll-padding-inline-end', + }, + ], + description: + 'The scroll-padding-inline-end property defines offsets for the end edge in the inline dimension of the optimal viewing region of the scrollport: the region used as the target region for placing things in view of the user. This allows the author to exclude regions of the scrollport that are obscured by other content (such as fixed-positioned toolbars or sidebars) or simply to put more breathing room between a targeted element and the edges of the scrollport.', + }, + { + name: 'scroll-padding-left', + syntax: 'auto | <length-percentage>', + relevance: 50, + browsers: ['E79', 'FF68', 'S11', 'C69', 'O56'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/scroll-padding-left', + }, + ], + description: + 'The scroll-padding-left property defines offsets for the left of the optimal viewing region of the scrollport: the region used as the target region for placing things in view of the user. This allows the author to exclude regions of the scrollport that are obscured by other content (such as fixed-positioned toolbars or sidebars) or simply to put more breathing room between a targeted element and the edges of the scrollport.', + }, + { + name: 'scroll-padding-right', + syntax: 'auto | <length-percentage>', + relevance: 50, + browsers: ['E79', 'FF68', 'S11', 'C69', 'O56'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/scroll-padding-right', + }, + ], + description: + 'The scroll-padding-right property defines offsets for the right of the optimal viewing region of the scrollport: the region used as the target region for placing things in view of the user. This allows the author to exclude regions of the scrollport that are obscured by other content (such as fixed-positioned toolbars or sidebars) or simply to put more breathing room between a targeted element and the edges of the scrollport.', + }, + { + name: 'scroll-padding-top', + syntax: 'auto | <length-percentage>', + relevance: 50, + browsers: ['E79', 'FF68', 'S11', 'C69', 'O56'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/scroll-padding-top', + }, + ], + description: + 'The scroll-padding-top property defines offsets for the top of the optimal viewing region of the scrollport: the region used as the target region for placing things in view of the user. This allows the author to exclude regions of the scrollport that are obscured by other content (such as fixed-positioned toolbars or sidebars) or simply to put more breathing room between a targeted element and the edges of the scrollport.', + }, + { + name: 'scroll-snap-align', + syntax: '[ none | start | end | center ]{1,2}', + relevance: 50, + browsers: ['E79', 'FF68', 'S11', 'C69', 'O56'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/scroll-snap-align', + }, + ], + description: + 'The scroll-snap-align property specifies the box’s snap position as an alignment of its snap area (as the alignment subject) within its snap container’s snapport (as the alignment container). The two values specify the snapping alignment in the block axis and inline axis, respectively. If only one value is specified, the second value defaults to the same value.', + }, + { + name: 'scroll-snap-stop', + syntax: 'normal | always', + relevance: 50, + browsers: ['E79', 'C75', 'O62'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/scroll-snap-stop', + }, + ], + description: + 'The scroll-snap-stop CSS property defines whether the scroll container is allowed to "pass over" possible snap positions.', + }, + { + name: 'scroll-snap-type-x', + status: 'obsolete', + syntax: 'none | mandatory | proximity', + relevance: 0, + browsers: ['FF39', 'S9'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/scroll-snap-type-x', + }, + ], + description: + 'The scroll-snap-type-x CSS property defines how strictly snap points are enforced on the horizontal axis of the scroll container in case there is one.\n\nSpecifying any precise animations or physics used to enforce those snap points is not covered by this property but instead left up to the user agent.', + }, + { + name: 'scroll-snap-type-y', + status: 'obsolete', + syntax: 'none | mandatory | proximity', + relevance: 0, + browsers: ['FF39'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/scroll-snap-type-y', + }, + ], + description: + 'The scroll-snap-type-y CSS property defines how strictly snap points are enforced on the vertical axis of the scroll container in case there is one.\n\nSpecifying any precise animations or physics used to enforce those snap points is not covered by this property but instead left up to the user agent.', + }, + { + name: 'text-combine-upright', + syntax: 'none | all | [ digits <integer>? ]', + relevance: 50, + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/text-combine-upright', + }, + ], + description: + 'The text-combine-upright CSS property specifies the combination of multiple characters into the space of a single character. If the combined text is wider than 1em, the user agent must fit the contents within 1em. The resulting composition is treated as a single upright glyph for layout and decoration. This property only has an effect in vertical writing modes.\n\nThis is used to produce an effect that is known as tate-chū-yoko (縦中横) in Japanese, or as 直書橫向 in Chinese.', + }, + { + name: 'text-decoration-skip', + status: 'experimental', + syntax: + 'none | [ objects || [ spaces | [ leading-spaces || trailing-spaces ] ] || edges || box-decoration ]', + relevance: 52, + browsers: ['S12.1', 'C57', 'O44'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/text-decoration-skip', + }, + ], + description: + 'The text-decoration-skip CSS property specifies what parts of the element’s content any text decoration affecting the element must skip over. It controls all text decoration lines drawn by the element and also any text decoration lines drawn by its ancestors.', + }, + { + name: 'text-decoration-skip-ink', + syntax: 'auto | all | none', + relevance: 50, + browsers: ['E79', 'FF70', 'C64', 'O50'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/text-decoration-skip-ink', + }, + ], + description: + 'The text-decoration-skip-ink CSS property specifies how overlines and underlines are drawn when they pass over glyph ascenders and descenders.', + }, + { + name: 'text-decoration-thickness', + syntax: 'auto | from-font | <length> | <percentage> ', + relevance: 50, + browsers: ['FF70', 'S12.1'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/text-decoration-thickness', + }, + ], + description: + 'The text-decoration-thickness CSS property sets the thickness, or width, of the decoration line that is used on text in an element, such as a line-through, underline, or overline.', + }, + { + name: 'text-emphasis', + syntax: "<'text-emphasis-style'> || <'text-emphasis-color'>", + relevance: 50, + browsers: ['E79', 'FF46', 'S6.1', 'C25', 'O15'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/text-emphasis', + }, + ], + description: + "The text-emphasis CSS property is a shorthand property for setting text-emphasis-style and text-emphasis-color in one declaration. This property will apply the specified emphasis mark to each character of the element's text, except separator characters, like spaces, and control characters.", + }, + { + name: 'text-emphasis-color', + syntax: '<color>', + relevance: 50, + browsers: ['E79', 'FF46', 'S6.1', 'C25', 'O15'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/text-emphasis-color', + }, + ], + description: + 'The text-emphasis-color CSS property defines the color used to draw emphasis marks on text being rendered in the HTML document. This value can also be set and reset using the text-emphasis shorthand.', + }, + { + name: 'text-emphasis-position', + syntax: '[ over | under ] && [ right | left ]', + relevance: 50, + browsers: ['E79', 'FF46', 'S6.1', 'C25', 'O15'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/text-emphasis-position', + }, + ], + description: + "The text-emphasis-position CSS property describes where emphasis marks are drawn at. The effect of emphasis marks on the line height is the same as for ruby text: if there isn't enough place, the line height is increased.", + }, + { + name: 'text-emphasis-style', + syntax: + 'none | [ [ filled | open ] || [ dot | circle | double-circle | triangle | sesame ] ] | <string>', + relevance: 50, + browsers: ['E79', 'FF46', 'S6.1', 'C25', 'O15'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/text-emphasis-style', + }, + ], + description: + 'The text-emphasis-style CSS property defines the type of emphasis used. It can also be set, and reset, using the text-emphasis shorthand.', + }, + { + name: 'text-size-adjust', + status: 'experimental', + syntax: 'none | auto | <percentage>', + relevance: 56, + browsers: ['E79', 'C54', 'O41'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/text-size-adjust', + }, + ], + description: + 'The text-size-adjust CSS property controls the text inflation algorithm used on some smartphones and tablets. Other browsers will ignore this property.', + }, + { + name: 'text-underline-offset', + syntax: 'auto | <length> | <percentage> ', + relevance: 50, + browsers: ['FF70', 'S12.1'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/text-underline-offset', + }, + ], + description: + 'The text-underline-offset CSS property sets the offset distance of an underline text decoration line (applied using text-decoration) from its original position.', + }, + { + name: 'transform-box', + syntax: + 'content-box | border-box | fill-box | stroke-box | view-box', + relevance: 50, + browsers: ['E79', 'FF55', 'S11', 'C64', 'O51'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/transform-box', + }, + ], + description: + 'The transform-box CSS property defines the layout box to which the transform and transform-origin properties relate.', + }, + { + name: 'translate', + syntax: + 'none | <length-percentage> [ <length-percentage> <length>? ]?', + relevance: 50, + browsers: ['FF72'], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/translate', + }, + ], + description: + 'The translate CSS property allows you to specify translation transforms individually and independently of the transform property. This maps better to typical user interface usage, and saves having to remember the exact order of transform functions to specify in the transform value.', + }, + { + name: 'speak-as', + syntax: + 'auto | bullets | numbers | words | spell-out | <counter-style-name>', + relevance: 50, + description: + 'The speak-as descriptor specifies how a counter symbol constructed with a given @counter-style will be represented in the spoken form. For example, an author can specify a counter symbol to be either spoken as its numerical value or just represented with an audio cue.', + }, + { + name: 'font-display', + status: 'experimental', + syntax: '[ auto | block | swap | fallback | optional ]', + relevance: 54, + description: + 'The font-display descriptor determines how a font face is displayed based on whether and when it is downloaded and ready to use.', + }, + { + name: 'bleed', + syntax: 'auto | <length>', + relevance: 50, + description: + 'The bleed CSS at-rule descriptor, used with the @page at-rule, specifies the extent of the page bleed area outside the page box. This property only has effect if crop marks are enabled using the marks property.', + }, + { + name: 'marks', + syntax: 'none | [ crop || cross ]', + relevance: 50, + description: + 'The marks CSS at-rule descriptor, used with the @page at-rule, adds crop and/or cross marks to the presentation of the document. Crop marks indicate where the page should be cut. Cross marks are used to align sheets.', + }, + { + name: 'max-zoom', + syntax: 'auto | <number> | <percentage>', + relevance: 50, + description: + "The max-zoom CSS descriptor sets the maximum zoom factor of a document defined by the @viewport at-rule. The browser will not zoom in any further than this, whether automatically or at the user's request.\n\nA zoom factor of 1.0 or 100% corresponds to no zooming. Larger values are zoomed in. Smaller values are zoomed out.", + }, + { + name: 'min-zoom', + syntax: 'auto | <number> | <percentage>', + relevance: 50, + description: + "The min-zoom CSS descriptor sets the minimum zoom factor of a document defined by the @viewport at-rule. The browser will not zoom out any further than this, whether automatically or at the user's request.\n\nA zoom factor of 1.0 or 100% corresponds to no zooming. Larger values are zoomed in. Smaller values are zoomed out.", + }, + { + name: 'orientation', + syntax: 'auto | portrait | landscape', + relevance: 50, + description: + 'The orientation CSS @media media feature can be used to apply styles based on the orientation of the viewport (or the page box, for paged media).', + }, + { + name: 'user-zoom', + syntax: 'zoom | fixed', + relevance: 50, + description: + 'The user-zoom CSS descriptor controls whether or not the user can change the zoom factor of a document defined by @viewport.', + }, + { + name: 'viewport-fit', + syntax: 'auto | contain | cover', + relevance: 50, + description: + "The border-block-style CSS property defines the style of the logical block borders of an element, which maps to a physical border style depending on the element's writing mode, directionality, and text orientation.", + }, + ], + atDirectives: [ + { + name: '@charset', + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/@charset', + }, + ], + description: 'Defines character set of the document.', + }, + { + name: '@counter-style', + browsers: ['FF33'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/@counter-style', + }, + ], + description: 'Defines a custom counter style.', + }, + { + name: '@font-face', + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/@font-face', + }, + ], + description: + "Allows for linking to fonts that are automatically activated when needed. This permits authors to work around the limitation of 'web-safe' fonts, allowing for consistent rendering independent of the fonts available in a given user's environment.", + }, + { + name: '@font-feature-values', + browsers: ['FF34', 'S9.1'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/@font-feature-values', + }, + ], + description: + 'Defines named values for the indices used to select alternate glyphs for a given font family.', + }, + { + name: '@import', + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/@import', + }, + ], + description: 'Includes content of another file.', + }, + { + name: '@keyframes', + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/@keyframes', + }, + ], + description: 'Defines set of animation key frames.', + }, + { + name: '@media', + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/@media', + }, + ], + description: 'Defines a stylesheet for a particular media type.', + }, + { + name: '@-moz-document', + browsers: ['FF1.8'], + description: + 'Gecko-specific at-rule that restricts the style rules contained within it based on the URL of the document.', + }, + { + name: '@-moz-keyframes', + browsers: ['FF5'], + description: 'Defines set of animation key frames.', + }, + { + name: '@-ms-viewport', + browsers: ['E', 'IE10'], + description: + 'Specifies the size, zoom factor, and orientation of the viewport.', + }, + { + name: '@namespace', + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/@namespace', + }, + ], + description: + 'Declares a prefix and associates it with a namespace name.', + }, + { + name: '@-o-keyframes', + browsers: ['O12'], + description: 'Defines set of animation key frames.', + }, + { + name: '@-o-viewport', + browsers: ['O11'], + description: + 'Specifies the size, zoom factor, and orientation of the viewport.', + }, + { + name: '@page', + browsers: ['E12', 'FF19', 'C2', 'IE8', 'O6'], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/@page', + }, + ], + description: 'Directive defines various page parameters.', + }, + { + name: '@supports', + browsers: ['E12', 'FF22', 'S9', 'C28', 'O12.1'], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/@supports', + }, + ], + description: + 'A conditional group rule whose condition tests whether the user agent supports CSS property:value pairs.', + }, + { + name: '@-webkit-keyframes', + browsers: ['C', 'S4'], + description: 'Defines set of animation key frames.', + }, + ], + pseudoClasses: [ + { + name: ':active', + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/:active', + }, + ], + description: + 'Applies while an element is being activated by the user. For example, between the times the user presses the mouse button and releases it.', + }, + { + name: ':any-link', + browsers: ['E79', 'FF50', 'S9', 'C65', 'O52'], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/:any-link', + }, + ], + description: + 'Represents an element that acts as the source anchor of a hyperlink. Applies to both visited and unvisited links.', + }, + { + name: ':checked', + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/:checked', + }, + ], + description: + "Radio and checkbox elements can be toggled by the user. Some menu items are 'checked' when the user selects them. When such elements are toggled 'on' the :checked pseudo-class applies.", + }, + { + name: ':corner-present', + browsers: ['C', 'S5'], + description: + 'Non-standard. Indicates whether or not a scrollbar corner is present.', + }, + { + name: ':decrement', + browsers: ['C', 'S5'], + description: + 'Non-standard. Applies to buttons and track pieces. Indicates whether or not the button or track piece will decrement the view’s position when used.', + }, + { + name: ':default', + browsers: ['E79', 'FF4', 'S5', 'C10', 'O10'], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/:default', + }, + ], + description: + 'Applies to the one or more UI elements that are the default among a set of similar elements. Typically applies to context menu items, buttons, and select lists/menus.', + }, + { + name: ':disabled', + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/:disabled', + }, + ], + description: + 'Represents user interface elements that are in a disabled state; such elements have a corresponding enabled state.', + }, + { + name: ':double-button', + browsers: ['C', 'S5'], + description: + 'Non-standard. Applies to buttons and track pieces. Applies when both buttons are displayed together at the same end of the scrollbar.', + }, + { + name: ':empty', + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/:empty', + }, + ], + description: 'Represents an element that has no children at all.', + }, + { + name: ':enabled', + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/:enabled', + }, + ], + description: + 'Represents user interface elements that are in an enabled state; such elements have a corresponding disabled state.', + }, + { + name: ':end', + browsers: ['C', 'S5'], + description: + 'Non-standard. Applies to buttons and track pieces. Indicates whether the object is placed after the thumb.', + }, + { + name: ':first', + browsers: ['E12', 'S6', 'C18', 'IE8', 'O9.2'], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/:first', + }, + ], + description: + 'When printing double-sided documents, the page boxes on left and right pages may be different. This can be expressed through CSS pseudo-classes defined in the page context.', + }, + { + name: ':first-child', + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/:first-child', + }, + ], + description: + 'Same as :nth-child(1). Represents an element that is the first child of some other element.', + }, + { + name: ':first-of-type', + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/:first-of-type', + }, + ], + description: + 'Same as :nth-of-type(1). Represents an element that is the first sibling of its type in the list of children of its parent element.', + }, + { + name: ':focus', + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/:focus', + }, + ], + description: + 'Applies while an element has the focus (accepts keyboard or mouse events, or other forms of input).', + }, + { + name: ':fullscreen', + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/:fullscreen', + }, + ], + description: + 'Matches any element that has its fullscreen flag set.', + }, + { + name: ':future', + browsers: ['C', 'O16', 'S6'], + description: + 'Represents any element that is defined to occur entirely after a :current element.', + }, + { + name: ':horizontal', + browsers: ['C', 'S5'], + description: + 'Non-standard. Applies to any scrollbar pieces that have a horizontal orientation.', + }, + { + name: ':host', + browsers: ['E79', 'FF63', 'S10', 'C54', 'O41'], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/:host', + }, + ], + description: + 'When evaluated in the context of a shadow tree, matches the shadow tree’s host element.', + }, + { + name: ':host()', + browsers: ['C35', 'O22'], + description: + 'When evaluated in the context of a shadow tree, it matches the shadow tree’s host element if the host element, in its normal context, matches the selector argument.', + }, + { + name: ':host-context()', + browsers: ['C35', 'O22'], + description: + 'Tests whether there is an ancestor, outside the shadow tree, which matches a particular selector.', + }, + { + name: ':hover', + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/:hover', + }, + ], + description: + 'Applies while the user designates an element with a pointing device, but does not necessarily activate it. For example, a visual user agent could apply this pseudo-class when the cursor (mouse pointer) hovers over a box generated by the element.', + }, + { + name: ':increment', + browsers: ['C', 'S5'], + description: + 'Non-standard. Applies to buttons and track pieces. Indicates whether or not the button or track piece will increment the view’s position when used.', + }, + { + name: ':indeterminate', + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/:indeterminate', + }, + ], + description: + 'Applies to UI elements whose value is in an indeterminate state.', + }, + { + name: ':in-range', + browsers: ['E13', 'FF29', 'S5.1', 'C10', 'O11'], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/:in-range', + }, + ], + description: + 'Used in conjunction with the min and max attributes, whether on a range input, a number field, or any other types that accept those attributes.', + }, + { + name: ':invalid', + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/:invalid', + }, + ], + description: + 'An element is :valid or :invalid when it is, respectively, valid or invalid with respect to data validity semantics defined by a different specification.', + }, + { + name: ':lang()', + browsers: ['E', 'C', 'FF1', 'IE8', 'O8', 'S3'], + description: + 'Represents an element that is in language specified.', + }, + { + name: ':last-child', + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/:last-child', + }, + ], + description: + 'Same as :nth-last-child(1). Represents an element that is the last child of some other element.', + }, + { + name: ':last-of-type', + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/:last-of-type', + }, + ], + description: + 'Same as :nth-last-of-type(1). Represents an element that is the last sibling of its type in the list of children of its parent element.', + }, + { + name: ':left', + browsers: ['E12', 'S5.1', 'C6', 'IE8', 'O9.2'], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/:left', + }, + ], + description: + 'When printing double-sided documents, the page boxes on left and right pages may be different. This can be expressed through CSS pseudo-classes defined in the page context.', + }, + { + name: ':link', + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/:link', + }, + ], + description: 'Applies to links that have not yet been visited.', + }, + { + name: ':matches()', + browsers: ['S9'], + description: + 'Takes a selector list as its argument. It represents an element that is represented by its argument.', + }, + { + name: ':-moz-any()', + browsers: ['FF4'], + description: + 'Represents an element that is represented by the selector list passed as its argument. Standardized as :matches().', + }, + { + name: ':-moz-any-link', + browsers: ['FF1'], + description: + 'Represents an element that acts as the source anchor of a hyperlink. Applies to both visited and unvisited links.', + }, + { + name: ':-moz-broken', + browsers: ['FF3'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/:-moz-broken', + }, + ], + description: + 'Non-standard. Matches elements representing broken images.', + }, + { + name: ':-moz-drag-over', + browsers: ['FF1'], + description: + 'Non-standard. Matches elements when a drag-over event applies to it.', + }, + { + name: ':-moz-first-node', + browsers: ['FF1'], + description: + 'Non-standard. Represents an element that is the first child node of some other element.', + }, + { + name: ':-moz-focusring', + browsers: ['FF4'], + description: + 'Non-standard. Matches an element that has focus and focus ring drawing is enabled in the browser.', + }, + { + name: ':-moz-full-screen', + browsers: ['FF9'], + description: + 'Matches any element that has its fullscreen flag set. Standardized as :fullscreen.', + }, + { + name: ':-moz-last-node', + browsers: ['FF1'], + description: + 'Non-standard. Represents an element that is the last child node of some other element.', + }, + { + name: ':-moz-loading', + browsers: ['FF3'], + description: + 'Non-standard. Matches elements, such as images, that haven’t started loading yet.', + }, + { + name: ':-moz-only-whitespace', + browsers: ['FF1'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/:-moz-only-whitespace', + }, + ], + description: + 'The same as :empty, except that it additionally matches elements that only contain code points affected by whitespace processing. Standardized as :blank.', + }, + { + name: ':-moz-placeholder', + browsers: ['FF4'], + description: + 'Deprecated. Represents placeholder text in an input field. Use ::-moz-placeholder for Firefox 19+.', + }, + { + name: ':-moz-submit-invalid', + browsers: ['FF4'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/:-moz-submit-invalid', + }, + ], + description: + 'Non-standard. Represents any submit button when the contents of the associated form are not valid.', + }, + { + name: ':-moz-suppressed', + browsers: ['FF3'], + description: + 'Non-standard. Matches elements representing images that have been blocked from loading.', + }, + { + name: ':-moz-ui-invalid', + browsers: ['FF4'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/:-moz-ui-invalid', + }, + ], + description: + "Non-standard. Represents any validated form element whose value isn't valid ", + }, + { + name: ':-moz-ui-valid', + browsers: ['FF4'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/:-moz-ui-valid', + }, + ], + description: + 'Non-standard. Represents any validated form element whose value is valid ', + }, + { + name: ':-moz-user-disabled', + browsers: ['FF3'], + description: + 'Non-standard. Matches elements representing images that have been disabled due to the user’s preferences.', + }, + { + name: ':-moz-window-inactive', + browsers: ['FF4'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/:-moz-window-inactive', + }, + ], + description: + 'Non-standard. Matches elements in an inactive window.', + }, + { + name: ':-ms-fullscreen', + browsers: ['IE11'], + description: + 'Matches any element that has its fullscreen flag set.', + }, + { + name: ':-ms-input-placeholder', + browsers: ['IE10'], + description: + 'Represents placeholder text in an input field. Note: for Edge use the pseudo-element ::-ms-input-placeholder. Standardized as ::placeholder.', + }, + { + name: ':-ms-keyboard-active', + browsers: ['IE10'], + description: + 'Windows Store apps only. Applies one or more styles to an element when it has focus and the user presses the space bar.', + }, + { + name: ':-ms-lang()', + browsers: ['E', 'IE10'], + description: + 'Represents an element that is in the language specified. Accepts a comma separated list of language tokens.', + }, + { + name: ':no-button', + browsers: ['C', 'S5'], + description: + 'Non-standard. Applies to track pieces. Applies when there is no button at that end of the track.', + }, + { + name: ':not()', + browsers: ['E', 'C', 'FF1', 'IE9', 'O9.5', 'S2'], + description: + 'The negation pseudo-class, :not(X), is a functional notation taking a simple selector (excluding the negation pseudo-class itself) as an argument. It represents an element that is not represented by its argument.', + }, + { + name: ':nth-child()', + browsers: ['E', 'C', 'FF3.5', 'IE9', 'O9.5', 'S3.1'], + description: + 'Represents an element that has an+b-1 siblings before it in the document tree, for any positive integer or zero value of n, and has a parent element.', + }, + { + name: ':nth-last-child()', + browsers: ['E', 'C', 'FF3.5', 'IE9', 'O9.5', 'S3.1'], + description: + 'Represents an element that has an+b-1 siblings after it in the document tree, for any positive integer or zero value of n, and has a parent element.', + }, + { + name: ':nth-last-of-type()', + browsers: ['E', 'C', 'FF3.5', 'IE9', 'O9.5', 'S3.1'], + description: + 'Represents an element that has an+b-1 siblings with the same expanded element name after it in the document tree, for any zero or positive integer value of n, and has a parent element.', + }, + { + name: ':nth-of-type()', + browsers: ['E', 'C', 'FF3.5', 'IE9', 'O9.5', 'S3.1'], + description: + 'Represents an element that has an+b-1 siblings with the same expanded element name before it in the document tree, for any zero or positive integer value of n, and has a parent element.', + }, + { + name: ':only-child', + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/:only-child', + }, + ], + description: + 'Represents an element that has a parent element and whose parent element has no other element children. Same as :first-child:last-child or :nth-child(1):nth-last-child(1), but with a lower specificity.', + }, + { + name: ':only-of-type', + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/:only-of-type', + }, + ], + description: + 'Matches every element that is the only child of its type, of its parent. Same as :first-of-type:last-of-type or :nth-of-type(1):nth-last-of-type(1), but with a lower specificity.', + }, + { + name: ':optional', + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/:optional', + }, + ], + description: + 'A form element is :required or :optional if a value for it is, respectively, required or optional before the form it belongs to is submitted. Elements that are not form elements are neither required nor optional.', + }, + { + name: ':out-of-range', + browsers: ['E13', 'FF29', 'S5.1', 'C10', 'O11'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/:out-of-range', + }, + ], + description: + 'Used in conjunction with the min and max attributes, whether on a range input, a number field, or any other types that accept those attributes.', + }, + { + name: ':past', + browsers: ['C', 'O16', 'S6'], + description: + 'Represents any element that is defined to occur entirely prior to a :current element.', + }, + { + name: ':read-only', + browsers: ['E13', 'FF78', 'S4', 'C1', 'O9'], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/:read-only', + }, + ], + description: + 'An element whose contents are not user-alterable is :read-only. However, elements whose contents are user-alterable (such as text input fields) are considered to be in a :read-write state. In typical documents, most elements are :read-only.', + }, + { + name: ':read-write', + browsers: ['E13', 'FF78', 'S4', 'C1', 'O9'], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/:read-write', + }, + ], + description: + 'An element whose contents are not user-alterable is :read-only. However, elements whose contents are user-alterable (such as text input fields) are considered to be in a :read-write state. In typical documents, most elements are :read-only.', + }, + { + name: ':required', + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/:required', + }, + ], + description: + 'A form element is :required or :optional if a value for it is, respectively, required or optional before the form it belongs to is submitted. Elements that are not form elements are neither required nor optional.', + }, + { + name: ':right', + browsers: ['E12', 'S5.1', 'C6', 'IE8', 'O9.2'], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/:right', + }, + ], + description: + 'When printing double-sided documents, the page boxes on left and right pages may be different. This can be expressed through CSS pseudo-classes defined in the page context.', + }, + { + name: ':root', + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/:root', + }, + ], + description: + 'Represents an element that is the root of the document. In HTML 4, this is always the HTML element.', + }, + { + name: ':scope', + browsers: ['E79', 'FF32', 'S7', 'C27', 'O15'], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/:scope', + }, + ], + description: + 'Represents any element that is in the contextual reference element set.', + }, + { + name: ':single-button', + browsers: ['C', 'S5'], + description: + 'Non-standard. Applies to buttons and track pieces. Applies when both buttons are displayed separately at either end of the scrollbar.', + }, + { + name: ':start', + browsers: ['C', 'S5'], + description: + 'Non-standard. Applies to buttons and track pieces. Indicates whether the object is placed before the thumb.', + }, + { + name: ':target', + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/:target', + }, + ], + description: + "Some URIs refer to a location within a resource. This kind of URI ends with a 'number sign' (#) followed by an anchor identifier (called the fragment identifier).", + }, + { + name: ':valid', + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/:valid', + }, + ], + description: + 'An element is :valid or :invalid when it is, respectively, valid or invalid with respect to data validity semantics defined by a different specification.', + }, + { + name: ':vertical', + browsers: ['C', 'S5'], + description: + 'Non-standard. Applies to any scrollbar pieces that have a vertical orientation.', + }, + { + name: ':visited', + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/:visited', + }, + ], + description: + 'Applies once the link has been visited by the user.', + }, + { + name: ':-webkit-any()', + browsers: ['C', 'S5'], + description: + 'Represents an element that is represented by the selector list passed as its argument. Standardized as :matches().', + }, + { + name: ':-webkit-full-screen', + browsers: ['C', 'S6'], + description: + 'Matches any element that has its fullscreen flag set. Standardized as :fullscreen.', + }, + { + name: ':window-inactive', + browsers: ['C', 'S3'], + description: + 'Non-standard. Applies to all scrollbar pieces. Indicates whether or not the window containing the scrollbar is currently active.', + }, + { + name: ':blank', + status: 'experimental', + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/:blank', + }, + ], + description: + 'The :blank CSS pseudo-class selects empty user input elements (eg. <input> or <textarea>).', + }, + { + name: ':defined', + status: 'experimental', + browsers: ['E79', 'FF63', 'S10', 'C54', 'O41'], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/:defined', + }, + ], + description: + 'The :defined CSS pseudo-class represents any element that has been defined. This includes any standard element built in to the browser, and custom elements that have been successfully defined (i.e. with the CustomElementRegistry.define() method).', + }, + { + name: ':dir', + browsers: ['FF49'], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/:dir', + }, + ], + description: + 'The :dir() CSS pseudo-class matches elements based on the directionality of the text contained in them.', + }, + { + name: ':focus-visible', + status: 'experimental', + browsers: ['E79', 'FF4', 'C67', 'O54'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/:focus-visible', + }, + ], + description: + 'The :focus-visible pseudo-class applies while an element matches the :focus pseudo-class and the UA determines via heuristics that the focus should be made evident on the element.', + }, + { + name: ':focus-within', + status: 'experimental', + browsers: ['E79', 'FF52', 'S10.1', 'C60', 'O47'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/:focus-within', + }, + ], + description: + 'The :focus-within pseudo-class applies to any element for which the :focus pseudo class applies as well as to an element whose descendant in the flat tree (including non-element nodes, such as text nodes) matches the conditions for matching :focus.', + }, + { + name: ':has', + status: 'experimental', + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/:has', + }, + ], + description: + ':The :has() CSS pseudo-class represents an element if any of the selectors passed as parameters (relative to the :scope of the given element), match at least one element.', + }, + { + name: ':is', + status: 'experimental', + browsers: ['E79', 'FF78', 'S9', 'C68', 'O55'], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/:is', + }, + ], + description: + 'The :is() CSS pseudo-class function takes a selector list as its argument, and selects any element that can be selected by one of the selectors in that list. This is useful for writing large selectors in a more compact form.', + }, + { + name: ':placeholder-shown', + status: 'experimental', + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/:placeholder-shown', + }, + ], + description: + 'The :placeholder-shown CSS pseudo-class represents any <input> or <textarea> element that is currently displaying placeholder text.', + }, + { + name: ':where', + status: 'experimental', + browsers: ['FF78', 'C72'], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/:where', + }, + ], + description: + 'The :where() CSS pseudo-class function takes a selector list as its argument, and selects any element that can be selected by one of the selectors in that list.', + }, + ], + pseudoElements: [ + { + name: '::after', + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/::after', + }, + ], + description: + 'Represents a styleable child pseudo-element immediately after the originating element’s actual content.', + }, + { + name: '::backdrop', + browsers: ['E12', 'FF47', 'C37', 'IE11', 'O24'], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/::backdrop', + }, + ], + description: + 'Used to create a backdrop that hides the underlying document for an element in a top layer (such as an element that is displayed fullscreen).', + }, + { + name: '::before', + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/::before', + }, + ], + description: + 'Represents a styleable child pseudo-element immediately before the originating element’s actual content.', + }, + { + name: '::content', + browsers: ['C35', 'O22'], + description: + 'Deprecated. Matches the distribution list itself, on elements that have one. Use ::slotted for forward compatibility.', + }, + { + name: '::cue', + browsers: ['E79', 'FF55', 'S6.1', 'C26', 'O15'], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/::cue', + }, + ], + }, + { name: '::cue()', browsers: ['C', 'O16', 'S6'] }, + { name: '::cue-region', browsers: ['C', 'O16', 'S6'] }, + { name: '::cue-region()', browsers: ['C', 'O16', 'S6'] }, + { + name: '::first-letter', + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/::first-letter', + }, + ], + description: + 'Represents the first letter of an element, if it is not preceded by any other content (such as images or inline tables) on its line.', + }, + { + name: '::first-line', + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/::first-line', + }, + ], + description: + 'Describes the contents of the first formatted line of its originating element.', + }, + { name: '::-moz-focus-inner', browsers: ['FF4'] }, + { name: '::-moz-focus-outer', browsers: ['FF4'] }, + { + name: '::-moz-list-bullet', + browsers: ['FF1'], + description: + 'Used to style the bullet of a list element. Similar to the standardized ::marker.', + }, + { + name: '::-moz-list-number', + browsers: ['FF1'], + description: + 'Used to style the numbers of a list element. Similar to the standardized ::marker.', + }, + { + name: '::-moz-placeholder', + browsers: ['FF19'], + description: 'Represents placeholder text in an input field', + }, + { + name: '::-moz-progress-bar', + browsers: ['FF9'], + description: 'Represents the bar portion of a progress bar.', + }, + { + name: '::-moz-selection', + browsers: ['FF1'], + description: + 'Represents the portion of a document that has been highlighted by the user.', + }, + { + name: '::-ms-backdrop', + browsers: ['IE11'], + description: + 'Used to create a backdrop that hides the underlying document for an element in a top layer (such as an element that is displayed fullscreen).', + }, + { + name: '::-ms-browse', + browsers: ['E', 'IE10'], + description: + 'Represents the browse button of an input type=file control.', + }, + { + name: '::-ms-check', + browsers: ['E', 'IE10'], + description: + 'Represents the check of a checkbox or radio button input control.', + }, + { + name: '::-ms-clear', + browsers: ['E', 'IE10'], + description: + 'Represents the clear button of a text input control', + }, + { + name: '::-ms-expand', + browsers: ['E', 'IE10'], + description: + 'Represents the drop-down button of a select control.', + }, + { + name: '::-ms-fill', + browsers: ['E', 'IE10'], + description: 'Represents the bar portion of a progress bar.', + }, + { + name: '::-ms-fill-lower', + browsers: ['E', 'IE10'], + description: + 'Represents the portion of the slider track from its smallest value up to the value currently selected by the thumb. In a left-to-right layout, this is the portion of the slider track to the left of the thumb.', + }, + { + name: '::-ms-fill-upper', + browsers: ['E', 'IE10'], + description: + "Represents the portion of the slider track from the value currently selected by the thumb up to the slider's largest value. In a left-to-right layout, this is the portion of the slider track to the right of the thumb.", + }, + { + name: '::-ms-reveal', + browsers: ['E', 'IE10'], + description: + 'Represents the password reveal button of an input type=password control.', + }, + { + name: '::-ms-thumb', + browsers: ['E', 'IE10'], + description: + 'Represents the portion of range input control (also known as a slider control) that the user drags.', + }, + { + name: '::-ms-ticks-after', + browsers: ['E', 'IE10'], + description: + "Represents the tick marks of a slider that begin just after the thumb and continue up to the slider's largest value. In a left-to-right layout, these are the ticks to the right of the thumb.", + }, + { + name: '::-ms-ticks-before', + browsers: ['E', 'IE10'], + description: + 'Represents the tick marks of a slider that represent its smallest values up to the value currently selected by the thumb. In a left-to-right layout, these are the ticks to the left of the thumb.', + }, + { + name: '::-ms-tooltip', + browsers: ['E', 'IE10'], + description: + 'Represents the tooltip of a slider (input type=range).', + }, + { + name: '::-ms-track', + browsers: ['E', 'IE10'], + description: 'Represents the track of a slider.', + }, + { + name: '::-ms-value', + browsers: ['E', 'IE10'], + description: + 'Represents the content of a text or password input control, or a select control.', + }, + { + name: '::selection', + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/::selection', + }, + ], + description: + 'Represents the portion of a document that has been highlighted by the user.', + }, + { + name: '::shadow', + browsers: ['C35', 'O22'], + description: + 'Matches the shadow root if an element has a shadow tree.', + }, + { + name: '::-webkit-file-upload-button', + browsers: ['E79', 'S3', 'C1', 'O15'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/::-webkit-file-upload-button', + }, + ], + }, + { + name: '::-webkit-inner-spin-button', + browsers: ['E79', 'S5', 'C6', 'O15'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/::-webkit-inner-spin-button', + }, + ], + }, + { name: '::-webkit-input-placeholder', browsers: ['C', 'S4'] }, + { name: '::-webkit-keygen-select', browsers: ['C', 'O', 'S6'] }, + { + name: '::-webkit-meter-bar', + browsers: ['E79', 'S5.1', 'C12', 'O15'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/::-webkit-meter-bar', + }, + ], + }, + { + name: '::-webkit-meter-even-less-good-value', + browsers: ['E79', 'S5.1', 'C12', 'O15'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/::-webkit-meter-even-less-good-value', + }, + ], + }, + { + name: '::-webkit-meter-optimum-value', + browsers: ['E79', 'S5.1', 'C12', 'O15'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/::-webkit-meter-optimum-value', + }, + ], + }, + { + name: '::-webkit-meter-suboptimum-value', + browsers: ['E79', 'S5.1', 'C12', 'O15'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/::-webkit-meter-suboptimum-value', + }, + ], + }, + { + name: '::-webkit-outer-spin-button', + browsers: ['S5', 'C6'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/::-webkit-outer-spin-button', + }, + ], + }, + { + name: '::-webkit-progress-bar', + browsers: ['E79', 'S6.1', 'C25', 'O15'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/::-webkit-progress-bar', + }, + ], + }, + { + name: '::-webkit-progress-inner-element', + browsers: ['E79', 'S6.1', 'C23', 'O15'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/::-webkit-progress-inner-element', + }, + ], + }, + { + name: '::-webkit-progress-value', + browsers: ['E79', 'S6.1', 'C25', 'O15'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/::-webkit-progress-value', + }, + ], + }, + { + name: '::-webkit-resizer', + browsers: ['E79', 'S4', 'C2', 'O15'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/::-webkit-scrollbar', + }, + ], + }, + { + name: '::-webkit-scrollbar', + browsers: ['E79', 'S4', 'C2', 'O15'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/::-webkit-scrollbar', + }, + ], + }, + { + name: '::-webkit-scrollbar-button', + browsers: ['E79', 'S4', 'C2', 'O15'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/::-webkit-scrollbar', + }, + ], + }, + { + name: '::-webkit-scrollbar-corner', + browsers: ['E79', 'S4', 'C2', 'O15'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/::-webkit-scrollbar', + }, + ], + }, + { + name: '::-webkit-scrollbar-thumb', + browsers: ['E79', 'S4', 'C2', 'O15'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/::-webkit-scrollbar', + }, + ], + }, + { + name: '::-webkit-scrollbar-track', + browsers: ['E79', 'S4', 'C2', 'O15'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/::-webkit-scrollbar', + }, + ], + }, + { + name: '::-webkit-scrollbar-track-piece', + browsers: ['E79', 'S4', 'C2', 'O15'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/::-webkit-scrollbar', + }, + ], + }, + { + name: '::-webkit-search-cancel-button', + browsers: ['E79', 'S3', 'C1', 'O15'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/::-webkit-search-cancel-button', + }, + ], + }, + { name: '::-webkit-search-decoration', browsers: ['C', 'S4'] }, + { + name: '::-webkit-search-results-button', + browsers: ['E79', 'S3', 'C1', 'O15'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/::-webkit-search-results-button', + }, + ], + }, + { + name: '::-webkit-search-results-decoration', + browsers: ['C', 'S4'], + }, + { + name: '::-webkit-slider-runnable-track', + browsers: ['C', 'O', 'S6'], + }, + { name: '::-webkit-slider-thumb', browsers: ['C', 'O', 'S6'] }, + { + name: '::-webkit-textfield-decoration-container', + browsers: ['C', 'O', 'S6'], + }, + { name: '::-webkit-validation-bubble', browsers: ['C', 'O', 'S6'] }, + { + name: '::-webkit-validation-bubble-arrow', + browsers: ['C', 'O', 'S6'], + }, + { + name: '::-webkit-validation-bubble-arrow-clipper', + browsers: ['C', 'O', 'S6'], + }, + { + name: '::-webkit-validation-bubble-heading', + browsers: ['C', 'O', 'S6'], + }, + { + name: '::-webkit-validation-bubble-message', + browsers: ['C', 'O', 'S6'], + }, + { + name: '::-webkit-validation-bubble-text-block', + browsers: ['C', 'O', 'S6'], + }, + { + name: '::-moz-range-progress', + status: 'nonstandard', + browsers: ['FF22'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/::-moz-range-progress', + }, + ], + description: + 'The ::-moz-range-progress CSS pseudo-element is a Mozilla extension that represents the lower portion of the track (i.e., groove) in which the indicator slides in an <input> of type="range". This portion corresponds to values lower than the value currently selected by the thumb (i.e., virtual knob).', + }, + { + name: '::-moz-range-thumb', + status: 'nonstandard', + browsers: ['FF21'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/::-moz-range-thumb', + }, + ], + description: + 'The ::-moz-range-thumb CSS pseudo-element is a Mozilla extension that represents the thumb (i.e., virtual knob) of an <input> of type="range". The user can move the thumb along the input\'s track to alter its numerical value.', + }, + { + name: '::-moz-range-track', + status: 'nonstandard', + browsers: ['FF21'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/::-moz-range-track', + }, + ], + description: + 'The ::-moz-range-track CSS pseudo-element is a Mozilla extension that represents the track (i.e., groove) in which the indicator slides in an <input> of type="range".', + }, + { + name: '::-webkit-progress-inner-value', + status: 'nonstandard', + description: + 'The ::-webkit-progress-value CSS pseudo-element represents the filled-in portion of the bar of a <progress> element. It is a child of the ::-webkit-progress-bar pseudo-element.\n\nIn order to let ::-webkit-progress-value take effect, -webkit-appearance needs to be set to none on the <progress> element.', + }, + { + name: '::grammar-error', + status: 'experimental', + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/::grammar-error', + }, + ], + description: + 'The ::grammar-error CSS pseudo-element represents a text segment which the user agent has flagged as grammatically incorrect.', + }, + { + name: '::marker', + browsers: ['E80', 'FF68', 'S11.1', 'C80'], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/::marker', + }, + ], + description: + 'The ::marker CSS pseudo-element selects the marker box of a list item, which typically contains a bullet or number. It works on any element or pseudo-element set to display: list-item, such as the <li> and <summary> elements.', + }, + { + name: '::part', + status: 'experimental', + browsers: ['E79', 'FF72', 'S13.1', 'C73', 'O60'], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/::part', + }, + ], + description: + 'The ::part CSS pseudo-element represents any element within a shadow tree that has a matching part attribute.', + }, + { + name: '::placeholder', + browsers: ['E12', 'FF51', 'S10.1', 'C57', 'O44'], + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/::placeholder', + }, + ], + description: + 'The ::placeholder CSS pseudo-element represents the placeholder text of a form element.', + }, + { + name: '::slotted', + browsers: ['E79', 'FF63', 'S10', 'C50', 'O37'], + references: [ + { + name: 'MDN Reference', + url: 'https://developer.mozilla.org/docs/Web/CSS/::slotted', + }, + ], + description: + 'The :slotted() CSS pseudo-element represents any element that has been placed into a slot inside an HTML template.', + }, + { + name: '::spelling-error', + status: 'experimental', + references: [ + { + name: 'MDN Reference', + url: + 'https://developer.mozilla.org/docs/Web/CSS/::spelling-error', + }, + ], + description: + 'The ::spelling-error CSS pseudo-element represents a text segment which the user agent has flagged as incorrectly spelled.', + }, + ], + }, + $o = (function () { + function e(e) { + (this._properties = []), + (this._atDirectives = []), + (this._pseudoClasses = []), + (this._pseudoElements = []), + this.addData(e); + } + return ( + (e.prototype.provideProperties = function () { + return this._properties; + }), + (e.prototype.provideAtDirectives = function () { + return this._atDirectives; + }), + (e.prototype.providePseudoClasses = function () { + return this._pseudoClasses; + }), + (e.prototype.providePseudoElements = function () { + return this._pseudoElements; + }), + (e.prototype.addData = function (e) { + if (Array.isArray(e.properties)) + for (var t = 0, n = e.properties; t < n.length; t++) { + var r = n[t]; + 'string' == typeof r.name && this._properties.push(r); + } + if (Array.isArray(e.atDirectives)) + for (var i = 0, o = e.atDirectives; i < o.length; i++) + 'string' == typeof (r = o[i]).name && + this._atDirectives.push(r); + if (Array.isArray(e.pseudoClasses)) + for (var s = 0, a = e.pseudoClasses; s < a.length; s++) + qo((r = a[s])) && this._pseudoClasses.push(r); + if (Array.isArray(e.pseudoElements)) + for (var l = 0, c = e.pseudoElements; l < c.length; l++) + Ko((r = c[l])) && this._pseudoElements.push(r); + }), + e + ); + })(); + function qo(e) { + return 'string' == typeof e.name; + } + function Ko(e) { + return 'string' == typeof e.name; + } + !(function () { + function e(e) { + (this.dataProviders = []), + (this._propertySet = {}), + (this._atDirectiveSet = {}), + (this._pseudoClassSet = {}), + (this._pseudoElementSet = {}), + (this._properties = []), + (this._atDirectives = []), + (this._pseudoClasses = []), + (this._pseudoElements = []), + this.setDataProviders( + !1 !== (null == e ? void 0 : e.useDefaultDataProvider), + (null == e ? void 0 : e.customDataProviders) || [] + ); + } + (e.prototype.setDataProviders = function (e, t) { + var n; + (this.dataProviders = []), + e && this.dataProviders.push(new $o(Bo)), + (n = this.dataProviders).push.apply(n, t), + this.collectData(); + }), + (e.prototype.collectData = function () { + var e = this; + (this._propertySet = {}), + (this._atDirectiveSet = {}), + (this._pseudoClassSet = {}), + (this._pseudoElementSet = {}), + this.dataProviders.forEach(function (t) { + t.provideProperties().forEach(function (t) { + e._propertySet[t.name] || (e._propertySet[t.name] = t); + }), + t.provideAtDirectives().forEach(function (t) { + e._atDirectiveSet[t.name] || + (e._atDirectiveSet[t.name] = t); + }), + t.providePseudoClasses().forEach(function (t) { + e._pseudoClassSet[t.name] || + (e._pseudoClassSet[t.name] = t); + }), + t.providePseudoElements().forEach(function (t) { + e._pseudoElementSet[t.name] || + (e._pseudoElementSet[t.name] = t); + }); + }), + (this._properties = nn(this._propertySet)), + (this._atDirectives = nn(this._atDirectiveSet)), + (this._pseudoClasses = nn(this._pseudoClassSet)), + (this._pseudoElements = nn(this._pseudoElementSet)); + }), + (e.prototype.getProperty = function (e) { + return this._propertySet[e]; + }), + (e.prototype.getAtDirective = function (e) { + return this._atDirectiveSet[e]; + }), + (e.prototype.getPseudoClass = function (e) { + return this._pseudoClassSet[e]; + }), + (e.prototype.getPseudoElement = function (e) { + return this._pseudoElementSet[e]; + }), + (e.prototype.getProperties = function () { + return this._properties; + }), + (e.prototype.getAtDirectives = function () { + return this._atDirectives; + }), + (e.prototype.getPseudoClasses = function () { + return this._pseudoClasses; + }), + (e.prototype.getPseudoElements = function () { + return this._pseudoElements; + }), + (e.prototype.isKnownProperty = function (e) { + return e.toLowerCase() in this._propertySet; + }), + (e.prototype.isStandardProperty = function (e) { + return ( + this.isKnownProperty(e) && + (!this._propertySet[e.toLowerCase()].status || + 'standard' === this._propertySet[e.toLowerCase()].status) + ); + }); + })(); + var Go = (function () { + var e = function (t, n) { + return (e = + Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && + function (e, t) { + e.__proto__ = t; + }) || + function (e, t) { + for (var n in t) t.hasOwnProperty(n) && (e[n] = t[n]); + })(t, n); + }; + return function (t, n) { + function r() { + this.constructor = t; + } + e(t, n), + (t.prototype = + null === n + ? Object.create(n) + : ((r.prototype = n.prototype), new r())); + }; + })(); + !(function (e) { + function t(t) { + return e.call(this, t) || this; + } + Go(t, e), + (t.prototype.isRawStringDocumentLinkNode = function (t) { + return ( + e.prototype.isRawStringDocumentLinkNode.call(this, t) || + t.type === ne.Use || + t.type === ne.Forward + ); + }), + (t.prototype.resolveRelativeReference = function (t, n, r) { + return ( + (i = this), + (o = void 0), + (a = function () { + var i, o, s, a; + return (function (e, t) { + var n, + r, + i, + o, + s = { + label: 0, + sent: function () { + if (1 & i[0]) throw i[1]; + return i[1]; + }, + trys: [], + ops: [], + }; + return ( + (o = { next: a(0), throw: a(1), return: a(2) }), + 'function' == typeof Symbol && + (o[Symbol.iterator] = function () { + return this; + }), + o + ); + function a(o) { + return function (a) { + return (function (o) { + if (n) + throw new TypeError( + 'Generator is already executing.' + ); + for (; s; ) + try { + if ( + ((n = 1), + r && + (i = + 2 & o[0] + ? r.return + : o[0] + ? r.throw || + ((i = r.return) && i.call(r), 0) + : r.next) && + !(i = i.call(r, o[1])).done) + ) + return i; + switch ( + ((r = 0), i && (o = [2 & o[0], i.value]), o[0]) + ) { + case 0: + case 1: + i = o; + break; + case 4: + return s.label++, { value: o[1], done: !1 }; + case 5: + s.label++, (r = o[1]), (o = [0]); + continue; + case 7: + (o = s.ops.pop()), s.trys.pop(); + continue; + default: + if ( + !( + (i = + (i = s.trys).length > 0 && + i[i.length - 1]) || + (6 !== o[0] && 2 !== o[0]) + ) + ) { + s = 0; + continue; + } + if ( + 3 === o[0] && + (!i || (o[1] > i[0] && o[1] < i[3])) + ) { + s.label = o[1]; + break; + } + if (6 === o[0] && s.label < i[1]) { + (s.label = i[1]), (i = o); + break; + } + if (i && s.label < i[2]) { + (s.label = i[2]), s.ops.push(o); + break; + } + i[2] && s.ops.pop(), s.trys.pop(); + continue; + } + o = t.call(e, s); + } catch (e) { + (o = [6, e]), (r = 0); + } finally { + n = i = 0; + } + if (5 & o[0]) throw o[1]; + return { value: o[0] ? o[1] : void 0, done: !0 }; + })([o, a]); + }; + } + })(this, function (l) { + switch (l.label) { + case 0: + return Z(t, 'sass:') + ? [2, void 0] + : [ + 4, + e.prototype.resolveRelativeReference.call( + this, + t, + n, + r + ), + ]; + case 1: + if ( + ((i = l.sent()), + !this.fileSystemProvider || + !i || + 0 !== + (function (e) { + for (var t = e.length - 1; t >= 0; t--) { + var n = e.charCodeAt(t); + if (n === qr) { + if (t > 0 && e.charCodeAt(t - 1) !== $r) + return e.substr(t); + break; + } + if (n === $r) break; + } + return ''; + })(i).length) + ) + return [3, 8]; + l.label = 2; + case 2: + if ( + (l.trys.push([2, 7, , 8]), + (o = Pr.parse(i)), + !(s = (function (e) { + if ( + '' !== e.path && + !e.path.endsWith('.scss') && + !e.path.endsWith('.css') + ) { + if (e.path.endsWith('/')) + return [ + e + .with({ path: e.path + 'index.scss' }) + .toString(), + e + .with({ path: e.path + '_index.scss' }) + .toString(), + ]; + var t = e.path.split('/'), + n = t[t.length - 1], + r = e.path.slice(0, -n.length); + if (n.startsWith('_')) + return e.path.endsWith('.scss') + ? void 0 + : [ + e + .with({ path: e.path + '.scss' }) + .toString(), + ]; + var i = n + '.scss', + o = function (t) { + return e.with({ path: r + t }).toString(); + }; + return [ + o(i), + o('_' + i), + o(i.slice(0, -5) + '/index.scss'), + o(i.slice(0, -5) + '/_index.scss'), + o(i.slice(0, -5) + '.css'), + ]; + } + })(o))) + ) + return [3, 6]; + (a = 0), (l.label = 3); + case 3: + return a < s.length ? [4, this.fileExists(s[a])] : [3, 6]; + case 4: + if (l.sent()) return [2, s[a]]; + l.label = 5; + case 5: + return a++, [3, 3]; + case 6: + return [2, void 0]; + case 7: + return l.sent(), [3, 8]; + case 8: + return [2, i]; + } + }); + }), + new ((s = void 0) || (s = Promise))(function (e, t) { + function n(e) { + try { + l(a.next(e)); + } catch (e) { + t(e); + } + } + function r(e) { + try { + l(a.throw(e)); + } catch (e) { + t(e); + } + } + function l(t) { + var i; + t.done + ? e(t.value) + : ((i = t.value), + i instanceof s + ? i + : new s(function (e) { + e(i); + })).then(n, r); + } + l((a = a.apply(i, o || [])).next()); + }) + ); + var i, o, s, a; + }); + })(Di); + var Ho = (function () { + function e(e, t, n) { + var r = this; + (this._languageId = e), + (this._worker = t), + (this._disposables = []), + (this._listener = Object.create(null)); + var i = function (e) { + var t, + n = e.getModeId(); + n === r._languageId && + ((r._listener[e.uri.toString()] = e.onDidChangeContent( + function () { + window.clearTimeout(t), + (t = window.setTimeout(function () { + return r._doValidate(e.uri, n); + }, 500)); + } + )), + r._doValidate(e.uri, n)); + }, + s = function (e) { + o.j6.setModelMarkers(e, r._languageId, []); + var t = e.uri.toString(), + n = r._listener[t]; + n && (n.dispose(), delete r._listener[t]); + }; + this._disposables.push(o.j6.onDidCreateModel(i)), + this._disposables.push(o.j6.onWillDisposeModel(s)), + this._disposables.push( + o.j6.onDidChangeModelLanguage(function (e) { + s(e.model), i(e.model); + }) + ), + n.onDidChange(function (e) { + o.j6.getModels().forEach(function (e) { + e.getModeId() === r._languageId && (s(e), i(e)); + }); + }), + this._disposables.push({ + dispose: function () { + for (var e in r._listener) r._listener[e].dispose(); + }, + }), + o.j6.getModels().forEach(i); + } + return ( + (e.prototype.dispose = function () { + this._disposables.forEach(function (e) { + return e && e.dispose(); + }), + (this._disposables = []); + }), + (e.prototype._doValidate = function (e, t) { + this._worker(e) + .then(function (t) { + return t.doValidation(e.toString()); + }) + .then(function (n) { + var r = n.map(function (e) { + return ( + (n = + 'number' == typeof (t = e).code + ? String(t.code) + : t.code), + { + severity: Jo(t.severity), + startLineNumber: t.range.start.line + 1, + startColumn: t.range.start.character + 1, + endLineNumber: t.range.end.line + 1, + endColumn: t.range.end.character + 1, + message: t.message, + code: n, + source: t.source, + } + ); + var t, n; + }), + i = o.j6.getModel(e); + i.getModeId() === t && o.j6.setModelMarkers(i, t, r); + }) + .then(void 0, function (e) { + console.error(e); + }); + }), + e + ); + })(); + function Jo(e) { + switch (e) { + case vn.Error: + return o.ZL.Error; + case vn.Warning: + return o.ZL.Warning; + case vn.Information: + return o.ZL.Info; + case vn.Hint: + return o.ZL.Hint; + default: + return o.ZL.Info; + } + } + function Yo(e) { + if (e) return { character: e.column - 1, line: e.lineNumber - 1 }; + } + function Xo(e) { + if (e) + return new o.e6( + e.start.line + 1, + e.start.character + 1, + e.end.line + 1, + e.end.character + 1 + ); + } + function Zo(e) { + var t = o.Mj.CompletionItemKind; + switch (e) { + case jn.Text: + return t.Text; + case jn.Method: + return t.Method; + case jn.Function: + return t.Function; + case jn.Constructor: + return t.Constructor; + case jn.Field: + return t.Field; + case jn.Variable: + return t.Variable; + case jn.Class: + return t.Class; + case jn.Interface: + return t.Interface; + case jn.Module: + return t.Module; + case jn.Property: + return t.Property; + case jn.Unit: + return t.Unit; + case jn.Value: + return t.Value; + case jn.Enum: + return t.Enum; + case jn.Keyword: + return t.Keyword; + case jn.Snippet: + return t.Snippet; + case jn.Color: + return t.Color; + case jn.File: + return t.File; + case jn.Reference: + return t.Reference; + } + return t.Property; + } + function Qo(e) { + if (e) return { range: Xo(e.range), text: e.newText }; + } + var es = (function () { + function e(e) { + this._worker = e; + } + return ( + Object.defineProperty(e.prototype, 'triggerCharacters', { + get: function () { + return [' ', ':']; + }, + enumerable: !1, + configurable: !0, + }), + (e.prototype.provideCompletionItems = function (e, t, n, r) { + var i = e.uri; + return this._worker(i) + .then(function (e) { + return e.doComplete(i.toString(), Yo(t)); + }) + .then(function (n) { + if (n) { + var r = e.getWordUntilPosition(t), + i = new o.e6( + t.lineNumber, + r.startColumn, + t.lineNumber, + r.endColumn + ), + s = n.items.map(function (e) { + var t, + n = { + label: e.label, + insertText: e.insertText || e.label, + sortText: e.sortText, + filterText: e.filterText, + documentation: e.documentation, + detail: e.detail, + range: i, + kind: Zo(e.kind), + }; + return ( + e.textEdit && + (void 0 !== (t = e.textEdit).insert && + void 0 !== t.replace + ? (n.range = { + insert: Xo(e.textEdit.insert), + replace: Xo(e.textEdit.replace), + }) + : (n.range = Xo(e.textEdit.range)), + (n.insertText = e.textEdit.newText)), + e.additionalTextEdits && + (n.additionalTextEdits = e.additionalTextEdits.map( + Qo + )), + e.insertTextFormat === Vn.Snippet && + (n.insertTextRules = + o.Mj.CompletionItemInsertTextRule.InsertAsSnippet), + n + ); + }); + return { isIncomplete: n.isIncomplete, suggestions: s }; + } + }); + }), + e + ); + })(); + function ts(e) { + return 'string' == typeof e + ? { value: e } + : (t = e) && 'object' == typeof t && 'string' == typeof t.kind + ? 'plaintext' === e.kind + ? { value: e.value.replace(/[\\`*_{}[\]()#+\-.!]/g, '\\$&') } + : { value: e.value } + : { value: '```' + e.language + '\n' + e.value + '\n```\n' }; + var t; + } + function ns(e) { + if (e) return Array.isArray(e) ? e.map(ts) : [ts(e)]; + } + var rs = (function () { + function e(e) { + this._worker = e; + } + return ( + (e.prototype.provideHover = function (e, t, n) { + var r = e.uri; + return this._worker(r) + .then(function (e) { + return e.doHover(r.toString(), Yo(t)); + }) + .then(function (e) { + if (e) return { range: Xo(e.range), contents: ns(e.contents) }; + }); + }), + e + ); + })(); + function is(e) { + switch (e) { + case Xn.Read: + return o.Mj.DocumentHighlightKind.Read; + case Xn.Write: + return o.Mj.DocumentHighlightKind.Write; + case Xn.Text: + return o.Mj.DocumentHighlightKind.Text; + } + return o.Mj.DocumentHighlightKind.Text; + } + var os = (function () { + function e(e) { + this._worker = e; + } + return ( + (e.prototype.provideDocumentHighlights = function (e, t, n) { + var r = e.uri; + return this._worker(r) + .then(function (e) { + return e.findDocumentHighlights(r.toString(), Yo(t)); + }) + .then(function (e) { + if (e) + return e.map(function (e) { + return { range: Xo(e.range), kind: is(e.kind) }; + }); + }); + }), + e + ); + })(); + function ss(e) { + return { uri: o.Sf.parse(e.uri), range: Xo(e.range) }; + } + var as = (function () { + function e(e) { + this._worker = e; + } + return ( + (e.prototype.provideDefinition = function (e, t, n) { + var r = e.uri; + return this._worker(r) + .then(function (e) { + return e.findDefinition(r.toString(), Yo(t)); + }) + .then(function (e) { + if (e) return [ss(e)]; + }); + }), + e + ); + })(), + ls = (function () { + function e(e) { + this._worker = e; + } + return ( + (e.prototype.provideReferences = function (e, t, n, r) { + var i = e.uri; + return this._worker(i) + .then(function (e) { + return e.findReferences(i.toString(), Yo(t)); + }) + .then(function (e) { + if (e) return e.map(ss); + }); + }), + e + ); + })(), + cs = (function () { + function e(e) { + this._worker = e; + } + return ( + (e.prototype.provideRenameEdits = function (e, t, n, r) { + var i = e.uri; + return this._worker(i) + .then(function (e) { + return e.doRename(i.toString(), Yo(t), n); + }) + .then(function (e) { + return (function (e) { + if (e && e.changes) { + var t = []; + for (var n in e.changes) + for ( + var r = o.Sf.parse(n), i = 0, s = e.changes[n]; + i < s.length; + i++ + ) { + var a = s[i]; + t.push({ + resource: r, + edit: { range: Xo(a.range), text: a.newText }, + }); + } + return { edits: t }; + } + })(e); + }); + }), + e + ); + })(); + function ds(e) { + var t = o.Mj.SymbolKind; + switch (e) { + case Qn.File: + return t.Array; + case Qn.Module: + return t.Module; + case Qn.Namespace: + return t.Namespace; + case Qn.Package: + return t.Package; + case Qn.Class: + return t.Class; + case Qn.Method: + return t.Method; + case Qn.Property: + return t.Property; + case Qn.Field: + return t.Field; + case Qn.Constructor: + return t.Constructor; + case Qn.Enum: + return t.Enum; + case Qn.Interface: + return t.Interface; + case Qn.Function: + return t.Function; + case Qn.Variable: + return t.Variable; + case Qn.Constant: + return t.Constant; + case Qn.String: + return t.String; + case Qn.Number: + return t.Number; + case Qn.Boolean: + return t.Boolean; + case Qn.Array: + return t.Array; + } + return t.Function; + } + var ps = (function () { + function e(e) { + this._worker = e; + } + return ( + (e.prototype.provideDocumentSymbols = function (e, t) { + var n = e.uri; + return this._worker(n) + .then(function (e) { + return e.findDocumentSymbols(n.toString()); + }) + .then(function (e) { + if (e) + return e.map(function (e) { + return { + name: e.name, + detail: '', + containerName: e.containerName, + kind: ds(e.kind), + tags: [], + range: Xo(e.location.range), + selectionRange: Xo(e.location.range), + }; + }); + }); + }), + e + ); + })(), + hs = (function () { + function e(e) { + this._worker = e; + } + return ( + (e.prototype.provideDocumentColors = function (e, t) { + var n = e.uri; + return this._worker(n) + .then(function (e) { + return e.findDocumentColors(n.toString()); + }) + .then(function (e) { + if (e) + return e.map(function (e) { + return { color: e.color, range: Xo(e.range) }; + }); + }); + }), + (e.prototype.provideColorPresentations = function (e, t, n) { + var r = e.uri; + return this._worker(r) + .then(function (e) { + return e.getColorPresentations( + r.toString(), + t.color, + (function (e) { + if (e) + return { + start: { + line: e.startLineNumber - 1, + character: e.startColumn - 1, + }, + end: { + line: e.endLineNumber - 1, + character: e.endColumn - 1, + }, + }; + })(t.range) + ); + }) + .then(function (e) { + if (e) + return e.map(function (e) { + var t = { label: e.label }; + return ( + e.textEdit && (t.textEdit = Qo(e.textEdit)), + e.additionalTextEdits && + (t.additionalTextEdits = e.additionalTextEdits.map( + Qo + )), + t + ); + }); + }); + }), + e + ); + })(), + ms = (function () { + function e(e) { + this._worker = e; + } + return ( + (e.prototype.provideFoldingRanges = function (e, t, n) { + var r = e.uri; + return this._worker(r) + .then(function (e) { + return e.getFoldingRanges(r.toString(), t); + }) + .then(function (e) { + if (e) + return e.map(function (e) { + var t = { start: e.startLine + 1, end: e.endLine + 1 }; + return ( + void 0 !== e.kind && + (t.kind = (function (e) { + switch (e) { + case fn.Comment: + return o.Mj.FoldingRangeKind.Comment; + case fn.Imports: + return o.Mj.FoldingRangeKind.Imports; + case fn.Region: + return o.Mj.FoldingRangeKind.Region; + } + })(e.kind)), + t + ); + }); + }); + }), + e + ); + })(), + us = (function () { + function e(e) { + this._worker = e; + } + return ( + (e.prototype.provideSelectionRanges = function (e, t, n) { + var r = e.uri; + return this._worker(r) + .then(function (e) { + return e.getSelectionRanges(r.toString(), t.map(Yo)); + }) + .then(function (e) { + if (e) + return e.map(function (e) { + for (var t = []; e; ) + t.push({ range: Xo(e.range) }), (e = e.parent); + return t; + }); + }); + }), + e + ); + })(); + function fs(e) { + var t = [], + n = [], + r = new s(e); + t.push(r); + var i, + a, + l = function () { + for (var e = [], t = 0; t < arguments.length; t++) + e[t] = arguments[t]; + return r.getLanguageServiceWorker.apply(r, e); + }; + return ( + (i = e.languageId), + (a = e.modeConfiguration), + bs(n), + a.completionItems && + n.push(o.Mj.registerCompletionItemProvider(i, new es(l))), + a.hovers && n.push(o.Mj.registerHoverProvider(i, new rs(l))), + a.documentHighlights && + n.push(o.Mj.registerDocumentHighlightProvider(i, new os(l))), + a.definitions && + n.push(o.Mj.registerDefinitionProvider(i, new as(l))), + a.references && n.push(o.Mj.registerReferenceProvider(i, new ls(l))), + a.documentSymbols && + n.push(o.Mj.registerDocumentSymbolProvider(i, new ps(l))), + a.rename && n.push(o.Mj.registerRenameProvider(i, new cs(l))), + a.colors && n.push(o.Mj.registerColorProvider(i, new hs(l))), + a.foldingRanges && + n.push(o.Mj.registerFoldingRangeProvider(i, new ms(l))), + a.diagnostics && n.push(new Ho(i, l, e)), + a.selectionRanges && + n.push(o.Mj.registerSelectionRangeProvider(i, new us(l))), + t.push(gs(n)), + gs(t) + ); + } + function gs(e) { + return { + dispose: function () { + return bs(e); + }, + }; + } + function bs(e) { + for (; e.length; ) e.pop().dispose(); + } + }, + }, +]); diff --git a/docs/7043.7043.js b/docs/7043.7043.js new file mode 100644 index 00000000..d7565ba3 --- /dev/null +++ b/docs/7043.7043.js @@ -0,0 +1,207 @@ +(self.webpackChunkmermaid_live_editor = + self.webpackChunkmermaid_live_editor || []).push([ + [7043], + { + 17043: (e, t, o) => { + 'use strict'; + o.r(t), o.d(t, { conf: () => s, language: () => i }); + var s = { + wordPattern: /(-?\d*\.\d\w*)|([^\`\~\!\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g, + comments: { lineComment: '//', blockComment: ['/*', '*/'] }, + brackets: [ + ['{', '}'], + ['[', ']'], + ['(', ')'], + ], + autoClosingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"' }, + { open: "'", close: "'" }, + ], + surroundingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"' }, + { open: "'", close: "'" }, + { open: '<', close: '>' }, + ], + folding: { + markers: { + start: new RegExp( + '^\\s*//\\s*(?:(?:#?region\\b)|(?:<editor-fold\\b))' + ), + end: new RegExp( + '^\\s*//\\s*(?:(?:#?endregion\\b)|(?:</editor-fold>))' + ), + }, + }, + }, + i = { + defaultToken: '', + tokenPostfix: '.java', + keywords: [ + 'abstract', + 'continue', + 'for', + 'new', + 'switch', + 'assert', + 'default', + 'goto', + 'package', + 'synchronized', + 'boolean', + 'do', + 'if', + 'private', + 'this', + 'break', + 'double', + 'implements', + 'protected', + 'throw', + 'byte', + 'else', + 'import', + 'public', + 'throws', + 'case', + 'enum', + 'instanceof', + 'return', + 'transient', + 'catch', + 'extends', + 'int', + 'short', + 'try', + 'char', + 'final', + 'interface', + 'static', + 'void', + 'class', + 'finally', + 'long', + 'strictfp', + 'volatile', + 'const', + 'float', + 'native', + 'super', + 'while', + 'true', + 'false', + ], + operators: [ + '=', + '>', + '<', + '!', + '~', + '?', + ':', + '==', + '<=', + '>=', + '!=', + '&&', + '||', + '++', + '--', + '+', + '-', + '*', + '/', + '&', + '|', + '^', + '%', + '<<', + '>>', + '>>>', + '+=', + '-=', + '*=', + '/=', + '&=', + '|=', + '^=', + '%=', + '<<=', + '>>=', + '>>>=', + ], + symbols: /[=><!~?:&|+\-*\/\^%]+/, + escapes: /\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/, + digits: /\d+(_+\d+)*/, + octaldigits: /[0-7]+(_+[0-7]+)*/, + binarydigits: /[0-1]+(_+[0-1]+)*/, + hexdigits: /[[0-9a-fA-F]+(_+[0-9a-fA-F]+)*/, + tokenizer: { + root: [ + [ + /[a-zA-Z_$][\w$]*/, + { + cases: { + '@keywords': { token: 'keyword.$0' }, + '@default': 'identifier', + }, + }, + ], + { include: '@whitespace' }, + [/[{}()\[\]]/, '@brackets'], + [/[<>](?!@symbols)/, '@brackets'], + [ + /@symbols/, + { cases: { '@operators': 'delimiter', '@default': '' } }, + ], + [/@\s*[a-zA-Z_\$][\w\$]*/, 'annotation'], + [/(@digits)[eE]([\-+]?(@digits))?[fFdD]?/, 'number.float'], + [ + /(@digits)\.(@digits)([eE][\-+]?(@digits))?[fFdD]?/, + 'number.float', + ], + [/0[xX](@hexdigits)[Ll]?/, 'number.hex'], + [/0(@octaldigits)[Ll]?/, 'number.octal'], + [/0[bB](@binarydigits)[Ll]?/, 'number.binary'], + [/(@digits)[fFdD]/, 'number.float'], + [/(@digits)[lL]?/, 'number'], + [/[;,.]/, 'delimiter'], + [/"([^"\\]|\\.)*$/, 'string.invalid'], + [/"/, 'string', '@string'], + [/'[^\\']'/, 'string'], + [/(')(@escapes)(')/, ['string', 'string.escape', 'string']], + [/'/, 'string.invalid'], + ], + whitespace: [ + [/[ \t\r\n]+/, ''], + [/\/\*\*(?!\/)/, 'comment.doc', '@javadoc'], + [/\/\*/, 'comment', '@comment'], + [/\/\/.*$/, 'comment'], + ], + comment: [ + [/[^\/*]+/, 'comment'], + [/\*\//, 'comment', '@pop'], + [/[\/*]/, 'comment'], + ], + javadoc: [ + [/[^\/*]+/, 'comment.doc'], + [/\/\*/, 'comment.doc.invalid'], + [/\*\//, 'comment.doc', '@pop'], + [/[\/*]/, 'comment.doc'], + ], + string: [ + [/[^\\"]+/, 'string'], + [/@escapes/, 'string.escape'], + [/\\./, 'string.escape.invalid'], + [/"/, 'string', '@pop'], + ], + }, + }; + }, + }, +]); diff --git a/docs/7194.7194.js b/docs/7194.7194.js new file mode 100644 index 00000000..2f309cf0 --- /dev/null +++ b/docs/7194.7194.js @@ -0,0 +1,6390 @@ +(self.webpackChunkmermaid_live_editor = + self.webpackChunkmermaid_live_editor || []).push([ + [7194], + { + 97194: (e, t, r) => { + 'use strict'; + r.r(t), r.d(t, { setupMode: () => Cr }); + var n, + i = r(61174), + o = (function () { + function e(e) { + var t = this; + (this._defaults = e), + (this._worker = null), + (this._idleCheckInterval = setInterval(function () { + return t._checkIfIdle(); + }, 3e4)), + (this._lastUsedTime = 0), + (this._configChangeListener = this._defaults.onDidChange( + function () { + return t._stopWorker(); + } + )); + } + return ( + (e.prototype._stopWorker = function () { + this._worker && (this._worker.dispose(), (this._worker = null)), + (this._client = null); + }), + (e.prototype.dispose = function () { + clearInterval(this._idleCheckInterval), + this._configChangeListener.dispose(), + this._stopWorker(); + }), + (e.prototype._checkIfIdle = function () { + this._worker && + Date.now() - this._lastUsedTime > 12e4 && + this._stopWorker(); + }), + (e.prototype._getClient = function () { + return ( + (this._lastUsedTime = Date.now()), + this._client || + ((this._worker = i.j6.createWebWorker({ + moduleId: 'vs/language/json/jsonWorker', + label: this._defaults.languageId, + createData: { + languageSettings: this._defaults.diagnosticsOptions, + languageId: this._defaults.languageId, + enableSchemaRequest: this._defaults.diagnosticsOptions + .enableSchemaRequest, + }, + })), + (this._client = this._worker.getProxy())), + this._client + ); + }), + (e.prototype.getLanguageServiceWorker = function () { + for (var e, t = this, r = [], n = 0; n < arguments.length; n++) + r[n] = arguments[n]; + return this._getClient() + .then(function (t) { + e = t; + }) + .then(function (e) { + return t._worker.withSyncedResources(r); + }) + .then(function (t) { + return e; + }); + }), + e + ); + })(); + function a(e, t) { + void 0 === t && (t = !1); + var r = e.length, + n = 0, + i = '', + o = 0, + a = 16, + l = 0, + f = 0, + h = 0, + p = 0, + d = 0; + function m(t, r) { + for (var i = 0, o = 0; i < t || !r; ) { + var a = e.charCodeAt(n); + if (a >= 48 && a <= 57) o = 16 * o + a - 48; + else if (a >= 65 && a <= 70) o = 16 * o + a - 65 + 10; + else { + if (!(a >= 97 && a <= 102)) break; + o = 16 * o + a - 97 + 10; + } + n++, i++; + } + return i < t && (o = -1), o; + } + function g() { + if (((i = ''), (d = 0), (o = n), (f = l), (p = h), n >= r)) + return (o = r), (a = 17); + var t = e.charCodeAt(n); + if (s(t)) { + do { + n++, (i += String.fromCharCode(t)), (t = e.charCodeAt(n)); + } while (s(t)); + return (a = 15); + } + if (u(t)) + return ( + n++, + (i += String.fromCharCode(t)), + 13 === t && 10 === e.charCodeAt(n) && (n++, (i += '\n')), + l++, + (h = n), + (a = 14) + ); + switch (t) { + case 123: + return n++, (a = 1); + case 125: + return n++, (a = 2); + case 91: + return n++, (a = 3); + case 93: + return n++, (a = 4); + case 58: + return n++, (a = 6); + case 44: + return n++, (a = 5); + case 34: + return ( + n++, + (i = (function () { + for (var t = '', i = n; ; ) { + if (n >= r) { + (t += e.substring(i, n)), (d = 2); + break; + } + var o = e.charCodeAt(n); + if (34 === o) { + (t += e.substring(i, n)), n++; + break; + } + if (92 !== o) { + if (o >= 0 && o <= 31) { + if (u(o)) { + (t += e.substring(i, n)), (d = 2); + break; + } + d = 6; + } + n++; + } else { + if (((t += e.substring(i, n)), ++n >= r)) { + d = 2; + break; + } + switch (e.charCodeAt(n++)) { + case 34: + t += '"'; + break; + case 92: + t += '\\'; + break; + case 47: + t += '/'; + break; + case 98: + t += '\b'; + break; + case 102: + t += '\f'; + break; + case 110: + t += '\n'; + break; + case 114: + t += '\r'; + break; + case 116: + t += '\t'; + break; + case 117: + var a = m(4, !0); + a >= 0 ? (t += String.fromCharCode(a)) : (d = 4); + break; + default: + d = 5; + } + i = n; + } + } + return t; + })()), + (a = 10) + ); + case 47: + var g = n - 1; + if (47 === e.charCodeAt(n + 1)) { + for (n += 2; n < r && !u(e.charCodeAt(n)); ) n++; + return (i = e.substring(g, n)), (a = 12); + } + if (42 === e.charCodeAt(n + 1)) { + n += 2; + for (var y = r - 1, b = !1; n < y; ) { + var x = e.charCodeAt(n); + if (42 === x && 47 === e.charCodeAt(n + 1)) { + (n += 2), (b = !0); + break; + } + n++, + u(x) && + (13 === x && 10 === e.charCodeAt(n) && n++, l++, (h = n)); + } + return b || (n++, (d = 1)), (i = e.substring(g, n)), (a = 13); + } + return (i += String.fromCharCode(t)), n++, (a = 16); + case 45: + if ( + ((i += String.fromCharCode(t)), + ++n === r || !c(e.charCodeAt(n))) + ) + return (a = 16); + case 48: + case 49: + case 50: + case 51: + case 52: + case 53: + case 54: + case 55: + case 56: + case 57: + return ( + (i += (function () { + var t = n; + if (48 === e.charCodeAt(n)) n++; + else for (n++; n < e.length && c(e.charCodeAt(n)); ) n++; + if (n < e.length && 46 === e.charCodeAt(n)) { + if (!(++n < e.length && c(e.charCodeAt(n)))) + return (d = 3), e.substring(t, n); + for (n++; n < e.length && c(e.charCodeAt(n)); ) n++; + } + var r = n; + if ( + n < e.length && + (69 === e.charCodeAt(n) || 101 === e.charCodeAt(n)) + ) + if ( + (((++n < e.length && 43 === e.charCodeAt(n)) || + 45 === e.charCodeAt(n)) && + n++, + n < e.length && c(e.charCodeAt(n))) + ) { + for (n++; n < e.length && c(e.charCodeAt(n)); ) n++; + r = n; + } else d = 3; + return e.substring(t, r); + })()), + (a = 11) + ); + default: + for (; n < r && v(t); ) n++, (t = e.charCodeAt(n)); + if (o !== n) { + switch ((i = e.substring(o, n))) { + case 'true': + return (a = 8); + case 'false': + return (a = 9); + case 'null': + return (a = 7); + } + return (a = 16); + } + return (i += String.fromCharCode(t)), n++, (a = 16); + } + } + function v(e) { + if (s(e) || u(e)) return !1; + switch (e) { + case 125: + case 93: + case 123: + case 91: + case 34: + case 58: + case 44: + case 47: + return !1; + } + return !0; + } + return { + setPosition: function (e) { + (n = e), (i = ''), (o = 0), (a = 16), (d = 0); + }, + getPosition: function () { + return n; + }, + scan: t + ? function () { + var e; + do { + e = g(); + } while (e >= 12 && e <= 15); + return e; + } + : g, + getToken: function () { + return a; + }, + getTokenValue: function () { + return i; + }, + getTokenOffset: function () { + return o; + }, + getTokenLength: function () { + return n - o; + }, + getTokenStartLine: function () { + return f; + }, + getTokenStartCharacter: function () { + return o - p; + }, + getTokenError: function () { + return d; + }, + }; + } + function s(e) { + return ( + 32 === e || + 9 === e || + 11 === e || + 12 === e || + 160 === e || + 5760 === e || + (e >= 8192 && e <= 8203) || + 8239 === e || + 8287 === e || + 12288 === e || + 65279 === e + ); + } + function u(e) { + return 10 === e || 13 === e || 8232 === e || 8233 === e; + } + function c(e) { + return e >= 48 && e <= 57; + } + !(function (e) { + e.DEFAULT = { allowTrailingComma: !1 }; + })(n || (n = {})); + var l, + f, + h, + p, + d, + m, + g, + v, + y, + b, + x, + S, + k, + C, + w, + A, + I, + T, + j, + E, + O, + M, + P, + _, + F, + V, + N = a, + R = function (e, t, r) { + void 0 === t && (t = []), void 0 === r && (r = n.DEFAULT); + var i = null, + o = [], + s = []; + function u(e) { + Array.isArray(o) ? o.push(e) : null !== i && (o[i] = e); + } + return ( + (function (e, t, r) { + void 0 === r && (r = n.DEFAULT); + var i = a(e, !1); + function o(e) { + return e + ? function () { + return e( + i.getTokenOffset(), + i.getTokenLength(), + i.getTokenStartLine(), + i.getTokenStartCharacter() + ); + } + : function () { + return !0; + }; + } + function s(e) { + return e + ? function (t) { + return e( + t, + i.getTokenOffset(), + i.getTokenLength(), + i.getTokenStartLine(), + i.getTokenStartCharacter() + ); + } + : function () { + return !0; + }; + } + var u = o(t.onObjectBegin), + c = s(t.onObjectProperty), + l = o(t.onObjectEnd), + f = o(t.onArrayBegin), + h = o(t.onArrayEnd), + p = s(t.onLiteralValue), + d = s(t.onSeparator), + m = o(t.onComment), + g = s(t.onError), + v = r && r.disallowComments, + y = r && r.allowTrailingComma; + function b() { + for (;;) { + var e = i.scan(); + switch (i.getTokenError()) { + case 4: + x(14); + break; + case 5: + x(15); + break; + case 3: + x(13); + break; + case 1: + v || x(11); + break; + case 2: + x(12); + break; + case 6: + x(16); + } + switch (e) { + case 12: + case 13: + v ? x(10) : m(); + break; + case 16: + x(1); + break; + case 15: + case 14: + break; + default: + return e; + } + } + } + function x(e, t, r) { + if ( + (void 0 === t && (t = []), + void 0 === r && (r = []), + g(e), + t.length + r.length > 0) + ) + for (var n = i.getToken(); 17 !== n; ) { + if (-1 !== t.indexOf(n)) { + b(); + break; + } + if (-1 !== r.indexOf(n)) break; + n = b(); + } + } + function S(e) { + var t = i.getTokenValue(); + return e ? p(t) : c(t), b(), !0; + } + b(), + 17 === i.getToken() + ? !!r.allowEmptyContent || x(4, [], []) + : (function e() { + switch (i.getToken()) { + case 3: + return (function () { + f(), b(); + for ( + var t = !1; + 4 !== i.getToken() && 17 !== i.getToken(); + + ) { + if (5 === i.getToken()) { + if ( + (t || x(4, [], []), + d(','), + b(), + 4 === i.getToken() && y) + ) + break; + } else t && x(6, [], []); + e() || x(4, [], [4, 5]), (t = !0); + } + return ( + h(), 4 !== i.getToken() ? x(8, [4], []) : b(), !0 + ); + })(); + case 1: + return (function () { + u(), b(); + for ( + var t = !1; + 2 !== i.getToken() && 17 !== i.getToken(); + + ) { + if (5 === i.getToken()) { + if ( + (t || x(4, [], []), + d(','), + b(), + 2 === i.getToken() && y) + ) + break; + } else t && x(6, [], []); + (10 !== i.getToken() + ? (x(3, [], [2, 5]), 0) + : (S(!1), + 6 === i.getToken() + ? (d(':'), b(), e() || x(4, [], [2, 5])) + : x(5, [], [2, 5]), + 1)) || x(4, [], [2, 5]), + (t = !0); + } + return ( + l(), 2 !== i.getToken() ? x(7, [2], []) : b(), !0 + ); + })(); + case 10: + return S(!0); + default: + return (function () { + switch (i.getToken()) { + case 11: + var e = 0; + try { + 'number' != + typeof (e = JSON.parse( + i.getTokenValue() + )) && (x(2), (e = 0)); + } catch (e) { + x(2); + } + p(e); + break; + case 7: + p(null); + break; + case 8: + p(!0); + break; + case 9: + p(!1); + break; + default: + return !1; + } + return b(), !0; + })(); + } + })() + ? 17 !== i.getToken() && x(9, [], []) + : x(4, [], []); + })( + e, + { + onObjectBegin: function () { + var e = {}; + u(e), s.push(o), (o = e), (i = null); + }, + onObjectProperty: function (e) { + i = e; + }, + onObjectEnd: function () { + o = s.pop(); + }, + onArrayBegin: function () { + var e = []; + u(e), s.push(o), (o = e), (i = null); + }, + onArrayEnd: function () { + o = s.pop(); + }, + onLiteralValue: u, + onError: function (e, r, n) { + t.push({ error: e, offset: r, length: n }); + }, + }, + r + ), + o[0] + ); + }, + $ = function e(t, r, n) { + if ( + (void 0 === n && (n = !1), + (function (e, t, r) { + return ( + void 0 === r && (r = !1), + (t >= e.offset && t < e.offset + e.length) || + (r && t === e.offset + e.length) + ); + })(t, r, n)) + ) { + var i = t.children; + if (Array.isArray(i)) + for (var o = 0; o < i.length && i[o].offset <= r; o++) { + var a = e(i[o], r, n); + if (a) return a; + } + return t; + } + }, + L = function e(t) { + if (!t.parent || !t.parent.children) return []; + var r = e(t.parent); + if ('property' === t.parent.type) { + var n = t.parent.children[0].value; + r.push(n); + } else if ('array' === t.parent.type) { + var i = t.parent.children.indexOf(t); + -1 !== i && r.push(i); + } + return r; + }, + D = function e(t) { + switch (t.type) { + case 'array': + return t.children.map(e); + case 'object': + for ( + var r = Object.create(null), n = 0, i = t.children; + n < i.length; + n++ + ) { + var o = i[n], + a = o.children[1]; + a && (r[o.children[0].value] = e(a)); + } + return r; + case 'null': + case 'string': + case 'number': + case 'boolean': + return t.value; + default: + return; + } + }; + function W(e, t) { + if (e === t) return !0; + if (null == e || null == t) return !1; + if (typeof e != typeof t) return !1; + if ('object' != typeof e) return !1; + if (Array.isArray(e) !== Array.isArray(t)) return !1; + var r, n; + if (Array.isArray(e)) { + if (e.length !== t.length) return !1; + for (r = 0; r < e.length; r++) if (!W(e[r], t[r])) return !1; + } else { + var i = []; + for (n in e) i.push(n); + i.sort(); + var o = []; + for (n in t) o.push(n); + if ((o.sort(), !W(i, o))) return !1; + for (r = 0; r < i.length; r++) if (!W(e[i[r]], t[i[r]])) return !1; + } + return !0; + } + function U(e) { + return 'number' == typeof e; + } + function q(e) { + return void 0 !== e; + } + function B(e) { + return 'boolean' == typeof e; + } + ((V = l || (l = {})).create = function (e, t) { + return { line: e, character: t }; + }), + (V.is = function (e) { + var t = e; + return ( + Se.objectLiteral(t) && Se.number(t.line) && Se.number(t.character) + ); + }), + ((F = f || (f = {})).create = function (e, t, r, n) { + if (Se.number(e) && Se.number(t) && Se.number(r) && Se.number(n)) + return { start: l.create(e, t), end: l.create(r, n) }; + if (l.is(e) && l.is(t)) return { start: e, end: t }; + throw new Error( + 'Range#create called with invalid arguments[' + + e + + ', ' + + t + + ', ' + + r + + ', ' + + n + + ']' + ); + }), + (F.is = function (e) { + var t = e; + return Se.objectLiteral(t) && l.is(t.start) && l.is(t.end); + }), + (function (e) { + (e.create = function (e, t) { + return { uri: e, range: t }; + }), + (e.is = function (e) { + var t = e; + return ( + Se.defined(t) && + f.is(t.range) && + (Se.string(t.uri) || Se.undefined(t.uri)) + ); + }); + })(h || (h = {})), + (function (e) { + (e.create = function (e, t, r, n) { + return { + targetUri: e, + targetRange: t, + targetSelectionRange: r, + originSelectionRange: n, + }; + }), + (e.is = function (e) { + var t = e; + return ( + Se.defined(t) && + f.is(t.targetRange) && + Se.string(t.targetUri) && + (f.is(t.targetSelectionRange) || + Se.undefined(t.targetSelectionRange)) && + (f.is(t.originSelectionRange) || + Se.undefined(t.originSelectionRange)) + ); + }); + })(p || (p = {})), + (function (e) { + (e.create = function (e, t, r, n) { + return { red: e, green: t, blue: r, alpha: n }; + }), + (e.is = function (e) { + var t = e; + return ( + Se.number(t.red) && + Se.number(t.green) && + Se.number(t.blue) && + Se.number(t.alpha) + ); + }); + })(d || (d = {})), + (function (e) { + (e.create = function (e, t) { + return { range: e, color: t }; + }), + (e.is = function (e) { + var t = e; + return f.is(t.range) && d.is(t.color); + }); + })(m || (m = {})), + (function (e) { + (e.create = function (e, t, r) { + return { label: e, textEdit: t, additionalTextEdits: r }; + }), + (e.is = function (e) { + var t = e; + return ( + Se.string(t.label) && + (Se.undefined(t.textEdit) || w.is(t)) && + (Se.undefined(t.additionalTextEdits) || + Se.typedArray(t.additionalTextEdits, w.is)) + ); + }); + })(g || (g = {})), + ((_ = v || (v = {})).Comment = 'comment'), + (_.Imports = 'imports'), + (_.Region = 'region'), + (function (e) { + (e.create = function (e, t, r, n, i) { + var o = { startLine: e, endLine: t }; + return ( + Se.defined(r) && (o.startCharacter = r), + Se.defined(n) && (o.endCharacter = n), + Se.defined(i) && (o.kind = i), + o + ); + }), + (e.is = function (e) { + var t = e; + return ( + Se.number(t.startLine) && + Se.number(t.startLine) && + (Se.undefined(t.startCharacter) || + Se.number(t.startCharacter)) && + (Se.undefined(t.endCharacter) || Se.number(t.endCharacter)) && + (Se.undefined(t.kind) || Se.string(t.kind)) + ); + }); + })(y || (y = {})), + (function (e) { + (e.create = function (e, t) { + return { location: e, message: t }; + }), + (e.is = function (e) { + var t = e; + return Se.defined(t) && h.is(t.location) && Se.string(t.message); + }); + })(b || (b = {})), + ((P = x || (x = {})).Error = 1), + (P.Warning = 2), + (P.Information = 3), + (P.Hint = 4), + (function (e) { + (e.Unnecessary = 1), (e.Deprecated = 2); + })(S || (S = {})), + ((M = k || (k = {})).create = function (e, t, r, n, i, o) { + var a = { range: e, message: t }; + return ( + Se.defined(r) && (a.severity = r), + Se.defined(n) && (a.code = n), + Se.defined(i) && (a.source = i), + Se.defined(o) && (a.relatedInformation = o), + a + ); + }), + (M.is = function (e) { + var t = e; + return ( + Se.defined(t) && + f.is(t.range) && + Se.string(t.message) && + (Se.number(t.severity) || Se.undefined(t.severity)) && + (Se.number(t.code) || Se.string(t.code) || Se.undefined(t.code)) && + (Se.string(t.source) || Se.undefined(t.source)) && + (Se.undefined(t.relatedInformation) || + Se.typedArray(t.relatedInformation, b.is)) + ); + }), + (function (e) { + (e.create = function (e, t) { + for (var r = [], n = 2; n < arguments.length; n++) + r[n - 2] = arguments[n]; + var i = { title: e, command: t }; + return Se.defined(r) && r.length > 0 && (i.arguments = r), i; + }), + (e.is = function (e) { + var t = e; + return ( + Se.defined(t) && Se.string(t.title) && Se.string(t.command) + ); + }); + })(C || (C = {})), + ((O = w || (w = {})).replace = function (e, t) { + return { range: e, newText: t }; + }), + (O.insert = function (e, t) { + return { range: { start: e, end: e }, newText: t }; + }), + (O.del = function (e) { + return { range: e, newText: '' }; + }), + (O.is = function (e) { + var t = e; + return Se.objectLiteral(t) && Se.string(t.newText) && f.is(t.range); + }), + (function (e) { + (e.create = function (e, t) { + return { textDocument: e, edits: t }; + }), + (e.is = function (e) { + var t = e; + return ( + Se.defined(t) && J.is(t.textDocument) && Array.isArray(t.edits) + ); + }); + })(A || (A = {})), + (function (e) { + (e.create = function (e, t) { + var r = { kind: 'create', uri: e }; + return ( + void 0 === t || + (void 0 === t.overwrite && void 0 === t.ignoreIfExists) || + (r.options = t), + r + ); + }), + (e.is = function (e) { + var t = e; + return ( + t && + 'create' === t.kind && + Se.string(t.uri) && + (void 0 === t.options || + ((void 0 === t.options.overwrite || + Se.boolean(t.options.overwrite)) && + (void 0 === t.options.ignoreIfExists || + Se.boolean(t.options.ignoreIfExists)))) + ); + }); + })(I || (I = {})), + (function (e) { + (e.create = function (e, t, r) { + var n = { kind: 'rename', oldUri: e, newUri: t }; + return ( + void 0 === r || + (void 0 === r.overwrite && void 0 === r.ignoreIfExists) || + (n.options = r), + n + ); + }), + (e.is = function (e) { + var t = e; + return ( + t && + 'rename' === t.kind && + Se.string(t.oldUri) && + Se.string(t.newUri) && + (void 0 === t.options || + ((void 0 === t.options.overwrite || + Se.boolean(t.options.overwrite)) && + (void 0 === t.options.ignoreIfExists || + Se.boolean(t.options.ignoreIfExists)))) + ); + }); + })(T || (T = {})), + (function (e) { + (e.create = function (e, t) { + var r = { kind: 'delete', uri: e }; + return ( + void 0 === t || + (void 0 === t.recursive && void 0 === t.ignoreIfNotExists) || + (r.options = t), + r + ); + }), + (e.is = function (e) { + var t = e; + return ( + t && + 'delete' === t.kind && + Se.string(t.uri) && + (void 0 === t.options || + ((void 0 === t.options.recursive || + Se.boolean(t.options.recursive)) && + (void 0 === t.options.ignoreIfNotExists || + Se.boolean(t.options.ignoreIfNotExists)))) + ); + }); + })(j || (j = {})), + (function (e) { + e.is = function (e) { + var t = e; + return ( + t && + (void 0 !== t.changes || void 0 !== t.documentChanges) && + (void 0 === t.documentChanges || + t.documentChanges.every(function (e) { + return Se.string(e.kind) + ? I.is(e) || T.is(e) || j.is(e) + : A.is(e); + })) + ); + }; + })(E || (E = {})); + var K, + J, + H, + z, + G, + Z, + X, + Q, + Y, + ee, + te, + re, + ne, + ie, + oe, + ae, + se, + ue, + ce, + le, + fe, + he, + pe, + de, + me, + ge, + ve, + ye, + be, + xe = (function () { + function e(e) { + this.edits = e; + } + return ( + (e.prototype.insert = function (e, t) { + this.edits.push(w.insert(e, t)); + }), + (e.prototype.replace = function (e, t) { + this.edits.push(w.replace(e, t)); + }), + (e.prototype.delete = function (e) { + this.edits.push(w.del(e)); + }), + (e.prototype.add = function (e) { + this.edits.push(e); + }), + (e.prototype.all = function () { + return this.edits; + }), + (e.prototype.clear = function () { + this.edits.splice(0, this.edits.length); + }), + e + ); + })(); + !(function () { + function e(e) { + var t = this; + (this._textEditChanges = Object.create(null)), + e && + ((this._workspaceEdit = e), + e.documentChanges + ? e.documentChanges.forEach(function (e) { + if (A.is(e)) { + var r = new xe(e.edits); + t._textEditChanges[e.textDocument.uri] = r; + } + }) + : e.changes && + Object.keys(e.changes).forEach(function (r) { + var n = new xe(e.changes[r]); + t._textEditChanges[r] = n; + })); + } + Object.defineProperty(e.prototype, 'edit', { + get: function () { + return this._workspaceEdit; + }, + enumerable: !0, + configurable: !0, + }), + (e.prototype.getTextEditChange = function (e) { + if (J.is(e)) { + if ( + (this._workspaceEdit || + (this._workspaceEdit = { documentChanges: [] }), + !this._workspaceEdit.documentChanges) + ) + throw new Error( + 'Workspace edit is not configured for document changes.' + ); + var t = e; + if (!(n = this._textEditChanges[t.uri])) { + var r = { textDocument: t, edits: (i = []) }; + this._workspaceEdit.documentChanges.push(r), + (n = new xe(i)), + (this._textEditChanges[t.uri] = n); + } + return n; + } + if ( + (this._workspaceEdit || + (this._workspaceEdit = { changes: Object.create(null) }), + !this._workspaceEdit.changes) + ) + throw new Error( + 'Workspace edit is not configured for normal text edit changes.' + ); + var n; + if (!(n = this._textEditChanges[e])) { + var i = []; + (this._workspaceEdit.changes[e] = i), + (n = new xe(i)), + (this._textEditChanges[e] = n); + } + return n; + }), + (e.prototype.createFile = function (e, t) { + this.checkDocumentChanges(), + this._workspaceEdit.documentChanges.push(I.create(e, t)); + }), + (e.prototype.renameFile = function (e, t, r) { + this.checkDocumentChanges(), + this._workspaceEdit.documentChanges.push(T.create(e, t, r)); + }), + (e.prototype.deleteFile = function (e, t) { + this.checkDocumentChanges(), + this._workspaceEdit.documentChanges.push(j.create(e, t)); + }), + (e.prototype.checkDocumentChanges = function () { + if (!this._workspaceEdit || !this._workspaceEdit.documentChanges) + throw new Error( + 'Workspace edit is not configured for document changes.' + ); + }); + })(), + (function (e) { + (e.create = function (e) { + return { uri: e }; + }), + (e.is = function (e) { + var t = e; + return Se.defined(t) && Se.string(t.uri); + }); + })(K || (K = {})), + (function (e) { + (e.create = function (e, t) { + return { uri: e, version: t }; + }), + (e.is = function (e) { + var t = e; + return ( + Se.defined(t) && + Se.string(t.uri) && + (null === t.version || Se.number(t.version)) + ); + }); + })(J || (J = {})), + (function (e) { + (e.create = function (e, t, r, n) { + return { uri: e, languageId: t, version: r, text: n }; + }), + (e.is = function (e) { + var t = e; + return ( + Se.defined(t) && + Se.string(t.uri) && + Se.string(t.languageId) && + Se.number(t.version) && + Se.string(t.text) + ); + }); + })(H || (H = {})), + (function (e) { + (e.PlainText = 'plaintext'), (e.Markdown = 'markdown'); + })(z || (z = {})), + (function (e) { + e.is = function (t) { + var r = t; + return r === e.PlainText || r === e.Markdown; + }; + })(z || (z = {})), + (function (e) { + e.is = function (e) { + var t = e; + return Se.objectLiteral(e) && z.is(t.kind) && Se.string(t.value); + }; + })(G || (G = {})), + (function (e) { + (e.Text = 1), + (e.Method = 2), + (e.Function = 3), + (e.Constructor = 4), + (e.Field = 5), + (e.Variable = 6), + (e.Class = 7), + (e.Interface = 8), + (e.Module = 9), + (e.Property = 10), + (e.Unit = 11), + (e.Value = 12), + (e.Enum = 13), + (e.Keyword = 14), + (e.Snippet = 15), + (e.Color = 16), + (e.File = 17), + (e.Reference = 18), + (e.Folder = 19), + (e.EnumMember = 20), + (e.Constant = 21), + (e.Struct = 22), + (e.Event = 23), + (e.Operator = 24), + (e.TypeParameter = 25); + })(Z || (Z = {})), + (function (e) { + (e.PlainText = 1), (e.Snippet = 2); + })(X || (X = {})), + (function (e) { + e.Deprecated = 1; + })(Q || (Q = {})), + (function (e) { + e.create = function (e) { + return { label: e }; + }; + })(Y || (Y = {})), + (function (e) { + e.create = function (e, t) { + return { items: e || [], isIncomplete: !!t }; + }; + })(ee || (ee = {})), + (function (e) { + (e.fromPlainText = function (e) { + return e.replace(/[\\`*_{}[\]()#+\-.!]/g, '\\$&'); + }), + (e.is = function (e) { + var t = e; + return ( + Se.string(t) || + (Se.objectLiteral(t) && + Se.string(t.language) && + Se.string(t.value)) + ); + }); + })(te || (te = {})), + (function (e) { + e.is = function (e) { + var t = e; + return ( + !!t && + Se.objectLiteral(t) && + (G.is(t.contents) || + te.is(t.contents) || + Se.typedArray(t.contents, te.is)) && + (void 0 === e.range || f.is(e.range)) + ); + }; + })(re || (re = {})), + (function (e) { + e.create = function (e, t) { + return t ? { label: e, documentation: t } : { label: e }; + }; + })(ne || (ne = {})), + (function (e) { + e.create = function (e, t) { + for (var r = [], n = 2; n < arguments.length; n++) + r[n - 2] = arguments[n]; + var i = { label: e }; + return ( + Se.defined(t) && (i.documentation = t), + Se.defined(r) ? (i.parameters = r) : (i.parameters = []), + i + ); + }; + })(ie || (ie = {})), + (function (e) { + (e.Text = 1), (e.Read = 2), (e.Write = 3); + })(oe || (oe = {})), + (function (e) { + e.create = function (e, t) { + var r = { range: e }; + return Se.number(t) && (r.kind = t), r; + }; + })(ae || (ae = {})), + (function (e) { + (e.File = 1), + (e.Module = 2), + (e.Namespace = 3), + (e.Package = 4), + (e.Class = 5), + (e.Method = 6), + (e.Property = 7), + (e.Field = 8), + (e.Constructor = 9), + (e.Enum = 10), + (e.Interface = 11), + (e.Function = 12), + (e.Variable = 13), + (e.Constant = 14), + (e.String = 15), + (e.Number = 16), + (e.Boolean = 17), + (e.Array = 18), + (e.Object = 19), + (e.Key = 20), + (e.Null = 21), + (e.EnumMember = 22), + (e.Struct = 23), + (e.Event = 24), + (e.Operator = 25), + (e.TypeParameter = 26); + })(se || (se = {})), + (function (e) { + e.Deprecated = 1; + })(ue || (ue = {})), + (function (e) { + e.create = function (e, t, r, n, i) { + var o = { name: e, kind: t, location: { uri: n, range: r } }; + return i && (o.containerName = i), o; + }; + })(ce || (ce = {})), + (function (e) { + (e.create = function (e, t, r, n, i, o) { + var a = { + name: e, + detail: t, + kind: r, + range: n, + selectionRange: i, + }; + return void 0 !== o && (a.children = o), a; + }), + (e.is = function (e) { + var t = e; + return ( + t && + Se.string(t.name) && + Se.number(t.kind) && + f.is(t.range) && + f.is(t.selectionRange) && + (void 0 === t.detail || Se.string(t.detail)) && + (void 0 === t.deprecated || Se.boolean(t.deprecated)) && + (void 0 === t.children || Array.isArray(t.children)) + ); + }); + })(le || (le = {})), + (function (e) { + (e.Empty = ''), + (e.QuickFix = 'quickfix'), + (e.Refactor = 'refactor'), + (e.RefactorExtract = 'refactor.extract'), + (e.RefactorInline = 'refactor.inline'), + (e.RefactorRewrite = 'refactor.rewrite'), + (e.Source = 'source'), + (e.SourceOrganizeImports = 'source.organizeImports'), + (e.SourceFixAll = 'source.fixAll'); + })(fe || (fe = {})), + (function (e) { + (e.create = function (e, t) { + var r = { diagnostics: e }; + return null != t && (r.only = t), r; + }), + (e.is = function (e) { + var t = e; + return ( + Se.defined(t) && + Se.typedArray(t.diagnostics, k.is) && + (void 0 === t.only || Se.typedArray(t.only, Se.string)) + ); + }); + })(he || (he = {})), + (function (e) { + (e.create = function (e, t, r) { + var n = { title: e }; + return ( + C.is(t) ? (n.command = t) : (n.edit = t), + void 0 !== r && (n.kind = r), + n + ); + }), + (e.is = function (e) { + var t = e; + return ( + t && + Se.string(t.title) && + (void 0 === t.diagnostics || + Se.typedArray(t.diagnostics, k.is)) && + (void 0 === t.kind || Se.string(t.kind)) && + (void 0 !== t.edit || void 0 !== t.command) && + (void 0 === t.command || C.is(t.command)) && + (void 0 === t.isPreferred || Se.boolean(t.isPreferred)) && + (void 0 === t.edit || E.is(t.edit)) + ); + }); + })(pe || (pe = {})), + (function (e) { + (e.create = function (e, t) { + var r = { range: e }; + return Se.defined(t) && (r.data = t), r; + }), + (e.is = function (e) { + var t = e; + return ( + Se.defined(t) && + f.is(t.range) && + (Se.undefined(t.command) || C.is(t.command)) + ); + }); + })(de || (de = {})), + (function (e) { + (e.create = function (e, t) { + return { tabSize: e, insertSpaces: t }; + }), + (e.is = function (e) { + var t = e; + return ( + Se.defined(t) && + Se.number(t.tabSize) && + Se.boolean(t.insertSpaces) + ); + }); + })(me || (me = {})), + (function (e) { + (e.create = function (e, t, r) { + return { range: e, target: t, data: r }; + }), + (e.is = function (e) { + var t = e; + return ( + Se.defined(t) && + f.is(t.range) && + (Se.undefined(t.target) || Se.string(t.target)) + ); + }); + })(ge || (ge = {})), + ((ye = ve || (ve = {})).create = function (e, t) { + return { range: e, parent: t }; + }), + (ye.is = function (e) { + var t = e; + return ( + void 0 !== t && + f.is(t.range) && + (void 0 === t.parent || ye.is(t.parent)) + ); + }), + (function (e) { + function t(e, r) { + if (e.length <= 1) return e; + var n = (e.length / 2) | 0, + i = e.slice(0, n), + o = e.slice(n); + t(i, r), t(o, r); + for (var a = 0, s = 0, u = 0; a < i.length && s < o.length; ) { + var c = r(i[a], o[s]); + e[u++] = c <= 0 ? i[a++] : o[s++]; + } + for (; a < i.length; ) e[u++] = i[a++]; + for (; s < o.length; ) e[u++] = o[s++]; + return e; + } + (e.create = function (e, t, r, n) { + return new ke(e, t, r, n); + }), + (e.is = function (e) { + var t = e; + return !!( + Se.defined(t) && + Se.string(t.uri) && + (Se.undefined(t.languageId) || Se.string(t.languageId)) && + Se.number(t.lineCount) && + Se.func(t.getText) && + Se.func(t.positionAt) && + Se.func(t.offsetAt) + ); + }), + (e.applyEdits = function (e, r) { + for ( + var n = e.getText(), + i = t(r, function (e, t) { + var r = e.range.start.line - t.range.start.line; + return 0 === r + ? e.range.start.character - t.range.start.character + : r; + }), + o = n.length, + a = i.length - 1; + a >= 0; + a-- + ) { + var s = i[a], + u = e.offsetAt(s.range.start), + c = e.offsetAt(s.range.end); + if (!(c <= o)) throw new Error('Overlapping edit'); + (n = n.substring(0, u) + s.newText + n.substring(c, n.length)), + (o = u); + } + return n; + }); + })(be || (be = {})); + var Se, + ke = (function () { + function e(e, t, r, n) { + (this._uri = e), + (this._languageId = t), + (this._version = r), + (this._content = n), + (this._lineOffsets = void 0); + } + return ( + Object.defineProperty(e.prototype, 'uri', { + get: function () { + return this._uri; + }, + enumerable: !0, + configurable: !0, + }), + Object.defineProperty(e.prototype, 'languageId', { + get: function () { + return this._languageId; + }, + enumerable: !0, + configurable: !0, + }), + Object.defineProperty(e.prototype, 'version', { + get: function () { + return this._version; + }, + enumerable: !0, + configurable: !0, + }), + (e.prototype.getText = function (e) { + if (e) { + var t = this.offsetAt(e.start), + r = this.offsetAt(e.end); + return this._content.substring(t, r); + } + return this._content; + }), + (e.prototype.update = function (e, t) { + (this._content = e.text), + (this._version = t), + (this._lineOffsets = void 0); + }), + (e.prototype.getLineOffsets = function () { + if (void 0 === this._lineOffsets) { + for ( + var e = [], t = this._content, r = !0, n = 0; + n < t.length; + n++ + ) { + r && (e.push(n), (r = !1)); + var i = t.charAt(n); + (r = '\r' === i || '\n' === i), + '\r' === i && + n + 1 < t.length && + '\n' === t.charAt(n + 1) && + n++; + } + r && t.length > 0 && e.push(t.length), (this._lineOffsets = e); + } + return this._lineOffsets; + }), + (e.prototype.positionAt = function (e) { + e = Math.max(Math.min(e, this._content.length), 0); + var t = this.getLineOffsets(), + r = 0, + n = t.length; + if (0 === n) return l.create(0, e); + for (; r < n; ) { + var i = Math.floor((r + n) / 2); + t[i] > e ? (n = i) : (r = i + 1); + } + var o = r - 1; + return l.create(o, e - t[o]); + }), + (e.prototype.offsetAt = function (e) { + var t = this.getLineOffsets(); + if (e.line >= t.length) return this._content.length; + if (e.line < 0) return 0; + var r = t[e.line], + n = + e.line + 1 < t.length ? t[e.line + 1] : this._content.length; + return Math.max(Math.min(r + e.character, n), r); + }), + Object.defineProperty(e.prototype, 'lineCount', { + get: function () { + return this.getLineOffsets().length; + }, + enumerable: !0, + configurable: !0, + }), + e + ); + })(); + !(function (e) { + var t = Object.prototype.toString; + (e.defined = function (e) { + return void 0 !== e; + }), + (e.undefined = function (e) { + return void 0 === e; + }), + (e.boolean = function (e) { + return !0 === e || !1 === e; + }), + (e.string = function (e) { + return '[object String]' === t.call(e); + }), + (e.number = function (e) { + return '[object Number]' === t.call(e); + }), + (e.func = function (e) { + return '[object Function]' === t.call(e); + }), + (e.objectLiteral = function (e) { + return null !== e && 'object' == typeof e; + }), + (e.typedArray = function (e, t) { + return Array.isArray(e) && e.every(t); + }); + })(Se || (Se = {})); + var Ce, + we, + Ae, + Ie, + Te = (function () { + function e(e, t, r, n) { + (this._uri = e), + (this._languageId = t), + (this._version = r), + (this._content = n), + (this._lineOffsets = void 0); + } + return ( + Object.defineProperty(e.prototype, 'uri', { + get: function () { + return this._uri; + }, + enumerable: !0, + configurable: !0, + }), + Object.defineProperty(e.prototype, 'languageId', { + get: function () { + return this._languageId; + }, + enumerable: !0, + configurable: !0, + }), + Object.defineProperty(e.prototype, 'version', { + get: function () { + return this._version; + }, + enumerable: !0, + configurable: !0, + }), + (e.prototype.getText = function (e) { + if (e) { + var t = this.offsetAt(e.start), + r = this.offsetAt(e.end); + return this._content.substring(t, r); + } + return this._content; + }), + (e.prototype.update = function (t, r) { + for (var n = 0, i = t; n < i.length; n++) { + var o = i[n]; + if (e.isIncremental(o)) { + var a = Oe(o.range), + s = this.offsetAt(a.start), + u = this.offsetAt(a.end); + this._content = + this._content.substring(0, s) + + o.text + + this._content.substring(u, this._content.length); + var c = Math.max(a.start.line, 0), + l = Math.max(a.end.line, 0), + f = this._lineOffsets, + h = Ee(o.text, !1, s); + if (l - c === h.length) + for (var p = 0, d = h.length; p < d; p++) + f[p + c + 1] = h[p]; + else + h.length < 1e4 + ? f.splice.apply(f, [c + 1, l - c].concat(h)) + : (this._lineOffsets = f = f + .slice(0, c + 1) + .concat(h, f.slice(l + 1))); + var m = o.text.length - (u - s); + if (0 !== m) + for (p = c + 1 + h.length, d = f.length; p < d; p++) + f[p] = f[p] + m; + } else { + if (!e.isFull(o)) + throw new Error('Unknown change event received'); + (this._content = o.text), (this._lineOffsets = void 0); + } + } + this._version = r; + }), + (e.prototype.getLineOffsets = function () { + return ( + void 0 === this._lineOffsets && + (this._lineOffsets = Ee(this._content, !0)), + this._lineOffsets + ); + }), + (e.prototype.positionAt = function (e) { + e = Math.max(Math.min(e, this._content.length), 0); + var t = this.getLineOffsets(), + r = 0, + n = t.length; + if (0 === n) return { line: 0, character: e }; + for (; r < n; ) { + var i = Math.floor((r + n) / 2); + t[i] > e ? (n = i) : (r = i + 1); + } + var o = r - 1; + return { line: o, character: e - t[o] }; + }), + (e.prototype.offsetAt = function (e) { + var t = this.getLineOffsets(); + if (e.line >= t.length) return this._content.length; + if (e.line < 0) return 0; + var r = t[e.line], + n = + e.line + 1 < t.length ? t[e.line + 1] : this._content.length; + return Math.max(Math.min(r + e.character, n), r); + }), + Object.defineProperty(e.prototype, 'lineCount', { + get: function () { + return this.getLineOffsets().length; + }, + enumerable: !0, + configurable: !0, + }), + (e.isIncremental = function (e) { + var t = e; + return ( + null != t && + 'string' == typeof t.text && + void 0 !== t.range && + (void 0 === t.rangeLength || 'number' == typeof t.rangeLength) + ); + }), + (e.isFull = function (e) { + var t = e; + return ( + null != t && + 'string' == typeof t.text && + void 0 === t.range && + void 0 === t.rangeLength + ); + }), + e + ); + })(); + function je(e, t) { + if (e.length <= 1) return e; + var r = (e.length / 2) | 0, + n = e.slice(0, r), + i = e.slice(r); + je(n, t), je(i, t); + for (var o = 0, a = 0, s = 0; o < n.length && a < i.length; ) { + var u = t(n[o], i[a]); + e[s++] = u <= 0 ? n[o++] : i[a++]; + } + for (; o < n.length; ) e[s++] = n[o++]; + for (; a < i.length; ) e[s++] = i[a++]; + return e; + } + function Ee(e, t, r) { + void 0 === r && (r = 0); + for (var n = t ? [r] : [], i = 0; i < e.length; i++) { + var o = e.charCodeAt(i); + (13 !== o && 10 !== o) || + (13 === o && i + 1 < e.length && 10 === e.charCodeAt(i + 1) && i++, + n.push(r + i + 1)); + } + return n; + } + function Oe(e) { + var t = e.start, + r = e.end; + return t.line > r.line || + (t.line === r.line && t.character > r.character) + ? { start: r, end: t } + : e; + } + function Me(e) { + var t = Oe(e.range); + return t !== e.range ? { newText: e.newText, range: t } : e; + } + function Pe(e, t) { + return 0 === t.length + ? e + : e.replace(/\{(\d+)\}/g, function (e, r) { + var n = r[0]; + return void 0 !== t[n] ? t[n] : e; + }); + } + function _e(e, t) { + for (var r = [], n = 2; n < arguments.length; n++) + r[n - 2] = arguments[n]; + return Pe(t, r); + } + function Fe(e) { + return _e; + } + !(function (e) { + (e.create = function (e, t, r, n) { + return new Te(e, t, r, n); + }), + (e.update = function (e, t, r) { + if (e instanceof Te) return e.update(t, r), e; + throw new Error( + 'TextDocument.update: document must be created by TextDocument.create' + ); + }), + (e.applyEdits = function (e, t) { + for ( + var r = e.getText(), + n = 0, + i = [], + o = 0, + a = je(t.map(Me), function (e, t) { + var r = e.range.start.line - t.range.start.line; + return 0 === r + ? e.range.start.character - t.range.start.character + : r; + }); + o < a.length; + o++ + ) { + var s = a[o], + u = e.offsetAt(s.range.start); + if (u < n) throw new Error('Overlapping edit'); + u > n && i.push(r.substring(n, u)), + s.newText.length && i.push(s.newText), + (n = e.offsetAt(s.range.end)); + } + return i.push(r.substr(n)), i.join(''); + }); + })(Ce || (Ce = {})), + ((Ie = we || (we = {}))[(Ie.Undefined = 0)] = 'Undefined'), + (Ie[(Ie.EnumValueMismatch = 1)] = 'EnumValueMismatch'), + (Ie[(Ie.UnexpectedEndOfComment = 257)] = 'UnexpectedEndOfComment'), + (Ie[(Ie.UnexpectedEndOfString = 258)] = 'UnexpectedEndOfString'), + (Ie[(Ie.UnexpectedEndOfNumber = 259)] = 'UnexpectedEndOfNumber'), + (Ie[(Ie.InvalidUnicode = 260)] = 'InvalidUnicode'), + (Ie[(Ie.InvalidEscapeCharacter = 261)] = 'InvalidEscapeCharacter'), + (Ie[(Ie.InvalidCharacter = 262)] = 'InvalidCharacter'), + (Ie[(Ie.PropertyExpected = 513)] = 'PropertyExpected'), + (Ie[(Ie.CommaExpected = 514)] = 'CommaExpected'), + (Ie[(Ie.ColonExpected = 515)] = 'ColonExpected'), + (Ie[(Ie.ValueExpected = 516)] = 'ValueExpected'), + (Ie[(Ie.CommaOrCloseBacketExpected = 517)] = + 'CommaOrCloseBacketExpected'), + (Ie[(Ie.CommaOrCloseBraceExpected = 518)] = + 'CommaOrCloseBraceExpected'), + (Ie[(Ie.TrailingComma = 519)] = 'TrailingComma'), + (Ie[(Ie.DuplicateKey = 520)] = 'DuplicateKey'), + (Ie[(Ie.CommentNotPermitted = 521)] = 'CommentNotPermitted'), + (Ie[(Ie.SchemaResolveError = 768)] = 'SchemaResolveError'), + (function (e) { + e.LATEST = { + textDocument: { + completion: { + completionItem: { + documentationFormat: [z.Markdown, z.PlainText], + commitCharactersSupport: !0, + }, + }, + }, + }; + })(Ae || (Ae = {})); + var Ve, + Ne, + Re, + $e = + ((Ve = function (e, t) { + return (Ve = + Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && + function (e, t) { + e.__proto__ = t; + }) || + function (e, t) { + for (var r in t) t.hasOwnProperty(r) && (e[r] = t[r]); + })(e, t); + }), + function (e, t) { + function r() { + this.constructor = e; + } + Ve(e, t), + (e.prototype = + null === t + ? Object.create(t) + : ((r.prototype = t.prototype), new r())); + }), + Le = Fe(), + De = { + 'color-hex': { + errorMessage: Le( + 'colorHexFormatWarning', + 'Invalid color format. Use #RGB, #RGBA, #RRGGBB or #RRGGBBAA.' + ), + pattern: /^#([0-9A-Fa-f]{3,4}|([0-9A-Fa-f]{2}){3,4})$/, + }, + 'date-time': { + errorMessage: Le( + 'dateTimeFormatWarning', + 'String is not a RFC3339 date-time.' + ), + pattern: /^(\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9]|60)(\.[0-9]+)?(Z|(\+|-)([01][0-9]|2[0-3]):([0-5][0-9]))$/i, + }, + date: { + errorMessage: Le( + 'dateFormatWarning', + 'String is not a RFC3339 date.' + ), + pattern: /^(\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$/i, + }, + time: { + errorMessage: Le( + 'timeFormatWarning', + 'String is not a RFC3339 time.' + ), + pattern: /^([01][0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9]|60)(\.[0-9]+)?(Z|(\+|-)([01][0-9]|2[0-3]):([0-5][0-9]))$/i, + }, + email: { + errorMessage: Le( + 'emailFormatWarning', + 'String is not an e-mail address.' + ), + pattern: /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/, + }, + }, + We = (function () { + function e(e, t, r) { + void 0 === r && (r = 0), + (this.offset = t), + (this.length = r), + (this.parent = e); + } + return ( + Object.defineProperty(e.prototype, 'children', { + get: function () { + return []; + }, + enumerable: !1, + configurable: !0, + }), + (e.prototype.toString = function () { + return ( + 'type: ' + + this.type + + ' (' + + this.offset + + '/' + + this.length + + ')' + + (this.parent ? ' parent: {' + this.parent.toString() + '}' : '') + ); + }), + e + ); + })(); + function Ue(e) { + return B(e) ? (e ? {} : { not: {} }) : e; + } + $e(function (e, t) { + var r = Re.call(this, e, t) || this; + return (r.type = 'null'), (r.value = null), r; + }, (Re = We)), + (function (e) { + $e(function (t, r, n) { + var i = e.call(this, t, n) || this; + return (i.type = 'boolean'), (i.value = r), i; + }, e); + })(We), + (function (e) { + function t(t, r) { + var n = e.call(this, t, r) || this; + return (n.type = 'array'), (n.items = []), n; + } + $e(t, e), + Object.defineProperty(t.prototype, 'children', { + get: function () { + return this.items; + }, + enumerable: !1, + configurable: !0, + }); + })(We), + (function (e) { + $e(function (t, r) { + var n = e.call(this, t, r) || this; + return ( + (n.type = 'number'), (n.isInteger = !0), (n.value = Number.NaN), n + ); + }, e); + })(We), + (function (e) { + $e(function (t, r, n) { + var i = e.call(this, t, r, n) || this; + return (i.type = 'string'), (i.value = ''), i; + }, e); + })(We), + (function (e) { + function t(t, r, n) { + var i = e.call(this, t, r) || this; + return ( + (i.type = 'property'), (i.colonOffset = -1), (i.keyNode = n), i + ); + } + $e(t, e), + Object.defineProperty(t.prototype, 'children', { + get: function () { + return this.valueNode + ? [this.keyNode, this.valueNode] + : [this.keyNode]; + }, + enumerable: !1, + configurable: !0, + }); + })(We), + (function (e) { + function t(t, r) { + var n = e.call(this, t, r) || this; + return (n.type = 'object'), (n.properties = []), n; + } + $e(t, e), + Object.defineProperty(t.prototype, 'children', { + get: function () { + return this.properties; + }, + enumerable: !1, + configurable: !0, + }); + })(We), + (function (e) { + (e[(e.Key = 0)] = 'Key'), (e[(e.Enum = 1)] = 'Enum'); + })(Ne || (Ne = {})); + var qe = (function () { + function e(e, t) { + void 0 === e && (e = -1), + (this.focusOffset = e), + (this.exclude = t), + (this.schemas = []); + } + return ( + (e.prototype.add = function (e) { + this.schemas.push(e); + }), + (e.prototype.merge = function (e) { + Array.prototype.push.apply(this.schemas, e.schemas); + }), + (e.prototype.include = function (e) { + return ( + (-1 === this.focusOffset || ze(e, this.focusOffset)) && + e !== this.exclude + ); + }), + (e.prototype.newSub = function () { + return new e(-1, this.exclude); + }), + e + ); + })(), + Be = (function () { + function e() {} + return ( + Object.defineProperty(e.prototype, 'schemas', { + get: function () { + return []; + }, + enumerable: !1, + configurable: !0, + }), + (e.prototype.add = function (e) {}), + (e.prototype.merge = function (e) {}), + (e.prototype.include = function (e) { + return !0; + }), + (e.prototype.newSub = function () { + return this; + }), + (e.instance = new e()), + e + ); + })(), + Ke = (function () { + function e() { + (this.problems = []), + (this.propertiesMatches = 0), + (this.propertiesValueMatches = 0), + (this.primaryValueMatches = 0), + (this.enumValueMatch = !1), + (this.enumValues = void 0); + } + return ( + (e.prototype.hasProblems = function () { + return !!this.problems.length; + }), + (e.prototype.mergeAll = function (e) { + for (var t = 0, r = e; t < r.length; t++) { + var n = r[t]; + this.merge(n); + } + }), + (e.prototype.merge = function (e) { + this.problems = this.problems.concat(e.problems); + }), + (e.prototype.mergeEnumValues = function (e) { + if ( + !this.enumValueMatch && + !e.enumValueMatch && + this.enumValues && + e.enumValues + ) { + this.enumValues = this.enumValues.concat(e.enumValues); + for (var t = 0, r = this.problems; t < r.length; t++) { + var n = r[t]; + n.code === we.EnumValueMismatch && + (n.message = Le( + 'enumWarning', + 'Value is not accepted. Valid values: {0}.', + this.enumValues + .map(function (e) { + return JSON.stringify(e); + }) + .join(', ') + )); + } + } + }), + (e.prototype.mergePropertyMatch = function (e) { + this.merge(e), + this.propertiesMatches++, + (e.enumValueMatch || + (!e.hasProblems() && e.propertiesMatches)) && + this.propertiesValueMatches++, + e.enumValueMatch && + e.enumValues && + 1 === e.enumValues.length && + this.primaryValueMatches++; + }), + (e.prototype.compare = function (e) { + var t = this.hasProblems(); + return t !== e.hasProblems() + ? t + ? -1 + : 1 + : this.enumValueMatch !== e.enumValueMatch + ? e.enumValueMatch + ? -1 + : 1 + : this.primaryValueMatches !== e.primaryValueMatches + ? this.primaryValueMatches - e.primaryValueMatches + : this.propertiesValueMatches !== e.propertiesValueMatches + ? this.propertiesValueMatches - e.propertiesValueMatches + : this.propertiesMatches - e.propertiesMatches; + }), + e + ); + })(); + function Je(e) { + return D(e); + } + function He(e) { + return L(e); + } + function ze(e, t, r) { + return ( + void 0 === r && (r = !1), + (t >= e.offset && t < e.offset + e.length) || + (r && t === e.offset + e.length) + ); + } + function Ge(e, t, r, n) { + if (e && n.include(e)) { + var i = e; + switch (i.type) { + case 'object': + !(function (e, t, r, n) { + for ( + var i = Object.create(null), o = [], a = 0, s = e.properties; + a < s.length; + a++ + ) + (i[(D = (g = s[a]).keyNode.value)] = g.valueNode), o.push(D); + if (Array.isArray(t.required)) + for (var u = 0, c = t.required; u < c.length; u++) + if (!i[(w = c[u])]) { + var l = + e.parent && + 'property' === e.parent.type && + e.parent.keyNode, + f = l + ? { offset: l.offset, length: l.length } + : { offset: e.offset, length: 1 }; + r.problems.push({ + location: f, + severity: x.Warning, + message: Le( + 'MissingRequiredPropWarning', + 'Missing property "{0}".', + w + ), + }); + } + var h = function (e) { + for (var t = o.indexOf(e); t >= 0; ) + o.splice(t, 1), (t = o.indexOf(e)); + }; + if (t.properties) + for ( + var p = 0, d = Object.keys(t.properties); + p < d.length; + p++ + ) { + h((w = d[p])); + var m = t.properties[w]; + if ((O = i[w])) + if (B(m)) + if (m) + r.propertiesMatches++, r.propertiesValueMatches++; + else { + var g = O.parent; + r.problems.push({ + location: { + offset: g.keyNode.offset, + length: g.keyNode.length, + }, + severity: x.Warning, + message: + t.errorMessage || + Le( + 'DisallowedExtraPropWarning', + 'Property {0} is not allowed.', + w + ), + }); + } + else Ge(O, m, (T = new Ke()), n), r.mergePropertyMatch(T); + } + if (t.patternProperties) + for ( + var v = 0, y = Object.keys(t.patternProperties); + v < y.length; + v++ + ) + for ( + var b = y[v], S = new RegExp(b), k = 0, C = o.slice(0); + k < C.length; + k++ + ) { + var w = C[k]; + S.test(w) && + (h(w), + (O = i[w]) && + (B((m = t.patternProperties[b])) + ? m + ? (r.propertiesMatches++, + r.propertiesValueMatches++) + : ((g = O.parent), + r.problems.push({ + location: { + offset: g.keyNode.offset, + length: g.keyNode.length, + }, + severity: x.Warning, + message: + t.errorMessage || + Le( + 'DisallowedExtraPropWarning', + 'Property {0} is not allowed.', + w + ), + })) + : (Ge(O, m, (T = new Ke()), n), + r.mergePropertyMatch(T)))); + } + if ('object' == typeof t.additionalProperties) { + for (var A = 0, I = o; A < I.length; A++) + if ((O = i[(w = I[A])])) { + var T = new Ke(); + Ge(O, t.additionalProperties, T, n), + r.mergePropertyMatch(T); + } + } else if (!1 === t.additionalProperties && o.length > 0) + for (var j = 0, E = o; j < E.length; j++) { + var O; + (O = i[(w = E[j])]) && + ((g = O.parent), + r.problems.push({ + location: { + offset: g.keyNode.offset, + length: g.keyNode.length, + }, + severity: x.Warning, + message: + t.errorMessage || + Le( + 'DisallowedExtraPropWarning', + 'Property {0} is not allowed.', + w + ), + })); + } + if ( + (U(t.maxProperties) && + e.properties.length > t.maxProperties && + r.problems.push({ + location: { offset: e.offset, length: e.length }, + severity: x.Warning, + message: Le( + 'MaxPropWarning', + 'Object has more properties than limit of {0}.', + t.maxProperties + ), + }), + U(t.minProperties) && + e.properties.length < t.minProperties && + r.problems.push({ + location: { offset: e.offset, length: e.length }, + severity: x.Warning, + message: Le( + 'MinPropWarning', + 'Object has fewer properties than the required number of {0}', + t.minProperties + ), + }), + t.dependencies) + ) + for ( + var M = 0, P = Object.keys(t.dependencies); + M < P.length; + M++ + ) + if (i[(D = P[M])]) { + var _ = t.dependencies[D]; + if (Array.isArray(_)) + for (var F = 0, V = _; F < V.length; F++) { + var N = V[F]; + i[N] + ? r.propertiesValueMatches++ + : r.problems.push({ + location: { + offset: e.offset, + length: e.length, + }, + severity: x.Warning, + message: Le( + 'RequiredDependentPropWarning', + 'Object is missing property {0} required by property {1}.', + N, + D + ), + }); + } + else + (m = Ue(_)) && + (Ge(e, m, (T = new Ke()), n), + r.mergePropertyMatch(T)); + } + var R = Ue(t.propertyNames); + if (R) + for (var $ = 0, L = e.properties; $ < L.length; $++) { + var D; + (D = L[$].keyNode) && Ge(D, R, r, Be.instance); + } + })(i, t, r, n); + break; + case 'array': + !(function (e, t, r, n) { + if (Array.isArray(t.items)) { + for (var i = t.items, o = 0; o < i.length; o++) { + var a = Ue(i[o]), + s = new Ke(); + (h = e.items[o]) + ? (Ge(h, a, s, n), r.mergePropertyMatch(s)) + : e.items.length >= i.length && + r.propertiesValueMatches++; + } + if (e.items.length > i.length) + if ('object' == typeof t.additionalItems) + for (var u = i.length; u < e.items.length; u++) + (s = new Ke()), + Ge(e.items[u], t.additionalItems, s, n), + r.mergePropertyMatch(s); + else + !1 === t.additionalItems && + r.problems.push({ + location: { offset: e.offset, length: e.length }, + severity: x.Warning, + message: Le( + 'additionalItemsWarning', + 'Array has too many items according to schema. Expected {0} or fewer.', + i.length + ), + }); + } else { + var c = Ue(t.items); + if (c) + for (var l = 0, f = e.items; l < f.length; l++) { + var h; + Ge((h = f[l]), c, (s = new Ke()), n), + r.mergePropertyMatch(s); + } + } + var p = Ue(t.contains); + if ( + (p && + (e.items.some(function (e) { + var t = new Ke(); + return Ge(e, p, t, Be.instance), !t.hasProblems(); + }) || + r.problems.push({ + location: { offset: e.offset, length: e.length }, + severity: x.Warning, + message: + t.errorMessage || + Le( + 'requiredItemMissingWarning', + 'Array does not contain required item.' + ), + })), + U(t.minItems) && + e.items.length < t.minItems && + r.problems.push({ + location: { offset: e.offset, length: e.length }, + severity: x.Warning, + message: Le( + 'minItemsWarning', + 'Array has too few items. Expected {0} or more.', + t.minItems + ), + }), + U(t.maxItems) && + e.items.length > t.maxItems && + r.problems.push({ + location: { offset: e.offset, length: e.length }, + severity: x.Warning, + message: Le( + 'maxItemsWarning', + 'Array has too many items. Expected {0} or fewer.', + t.maxItems + ), + }), + !0 === t.uniqueItems) + ) { + var d = Je(e); + d.some(function (e, t) { + return t !== d.lastIndexOf(e); + }) && + r.problems.push({ + location: { offset: e.offset, length: e.length }, + severity: x.Warning, + message: Le( + 'uniqueItemsWarning', + 'Array has duplicate items.' + ), + }); + } + })(i, t, r, n); + break; + case 'string': + !(function (e, t, r, n) { + if ( + (U(t.minLength) && + e.value.length < t.minLength && + r.problems.push({ + location: { offset: e.offset, length: e.length }, + severity: x.Warning, + message: Le( + 'minLengthWarning', + 'String is shorter than the minimum length of {0}.', + t.minLength + ), + }), + U(t.maxLength) && + e.value.length > t.maxLength && + r.problems.push({ + location: { offset: e.offset, length: e.length }, + severity: x.Warning, + message: Le( + 'maxLengthWarning', + 'String is longer than the maximum length of {0}.', + t.maxLength + ), + }), + 'string' == typeof t.pattern && + (new RegExp(t.pattern).test(e.value) || + r.problems.push({ + location: { offset: e.offset, length: e.length }, + severity: x.Warning, + message: + t.patternErrorMessage || + t.errorMessage || + Le( + 'patternWarning', + 'String does not match the pattern of "{0}".', + t.pattern + ), + })), + t.format) + ) + switch (t.format) { + case 'uri': + case 'uri-reference': + var i = void 0; + if (e.value) { + var o = /^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/.exec( + e.value + ); + o + ? o[2] || + 'uri' !== t.format || + (i = Le( + 'uriSchemeMissing', + 'URI with a scheme is expected.' + )) + : (i = Le('uriMissing', 'URI is expected.')); + } else i = Le('uriEmpty', 'URI expected.'); + i && + r.problems.push({ + location: { offset: e.offset, length: e.length }, + severity: x.Warning, + message: + t.patternErrorMessage || + t.errorMessage || + Le( + 'uriFormatWarning', + 'String is not a URI: {0}', + i + ), + }); + break; + case 'color-hex': + case 'date-time': + case 'date': + case 'time': + case 'email': + var a = De[t.format]; + (e.value && a.pattern.exec(e.value)) || + r.problems.push({ + location: { offset: e.offset, length: e.length }, + severity: x.Warning, + message: + t.patternErrorMessage || + t.errorMessage || + a.errorMessage, + }); + } + })(i, t, r); + break; + case 'number': + !(function (e, t, r, n) { + var i = e.value; + function o(e) { + var t, + r = /^(-?\d+)(?:\.(\d+))?(?:e([-+]\d+))?$/.exec( + e.toString() + ); + return ( + r && { + value: Number(r[1] + (r[2] || '')), + multiplier: + ((null === (t = r[2]) || void 0 === t + ? void 0 + : t.length) || 0) - (parseInt(r[3]) || 0), + } + ); + } + if (U(t.multipleOf)) { + var a = -1; + if (Number.isInteger(t.multipleOf)) a = i % t.multipleOf; + else { + var s = o(t.multipleOf), + u = o(i); + if (s && u) { + var c = Math.pow( + 10, + Math.abs(u.multiplier - s.multiplier) + ); + u.multiplier < s.multiplier + ? (u.value *= c) + : (s.value *= c), + (a = u.value % s.value); + } + } + 0 !== a && + r.problems.push({ + location: { offset: e.offset, length: e.length }, + severity: x.Warning, + message: Le( + 'multipleOfWarning', + 'Value is not divisible by {0}.', + t.multipleOf + ), + }); + } + function l(e, t) { + return U(t) ? t : B(t) && t ? e : void 0; + } + function f(e, t) { + if (!B(t) || !t) return e; + } + var h = l(t.minimum, t.exclusiveMinimum); + U(h) && + i <= h && + r.problems.push({ + location: { offset: e.offset, length: e.length }, + severity: x.Warning, + message: Le( + 'exclusiveMinimumWarning', + 'Value is below the exclusive minimum of {0}.', + h + ), + }); + var p = l(t.maximum, t.exclusiveMaximum); + U(p) && + i >= p && + r.problems.push({ + location: { offset: e.offset, length: e.length }, + severity: x.Warning, + message: Le( + 'exclusiveMaximumWarning', + 'Value is above the exclusive maximum of {0}.', + p + ), + }); + var d = f(t.minimum, t.exclusiveMinimum); + U(d) && + i < d && + r.problems.push({ + location: { offset: e.offset, length: e.length }, + severity: x.Warning, + message: Le( + 'minimumWarning', + 'Value is below the minimum of {0}.', + d + ), + }); + var m = f(t.maximum, t.exclusiveMaximum); + U(m) && + i > m && + r.problems.push({ + location: { offset: e.offset, length: e.length }, + severity: x.Warning, + message: Le( + 'maximumWarning', + 'Value is above the maximum of {0}.', + m + ), + }); + })(i, t, r); + break; + case 'property': + return Ge(i.valueNode, t, r, n); + } + !(function () { + function e(e) { + return ( + i.type === e || + ('integer' === e && 'number' === i.type && i.isInteger) + ); + } + if ( + (Array.isArray(t.type) + ? t.type.some(e) || + r.problems.push({ + location: { offset: i.offset, length: i.length }, + severity: x.Warning, + message: + t.errorMessage || + Le( + 'typeArrayMismatchWarning', + 'Incorrect type. Expected one of {0}.', + t.type.join(', ') + ), + }) + : t.type && + (e(t.type) || + r.problems.push({ + location: { offset: i.offset, length: i.length }, + severity: x.Warning, + message: + t.errorMessage || + Le( + 'typeMismatchWarning', + 'Incorrect type. Expected "{0}".', + t.type + ), + })), + Array.isArray(t.allOf)) + ) + for (var o = 0, a = t.allOf; o < a.length; o++) { + var s = a[o]; + Ge(i, Ue(s), r, n); + } + var u = Ue(t.not); + if (u) { + var c = new Ke(), + l = n.newSub(); + Ge(i, u, c, l), + c.hasProblems() || + r.problems.push({ + location: { offset: i.offset, length: i.length }, + severity: x.Warning, + message: Le( + 'notSchemaWarning', + 'Matches a schema that is not allowed.' + ), + }); + for (var f = 0, h = l.schemas; f < h.length; f++) { + var p = h[f]; + (p.inverted = !p.inverted), n.add(p); + } + } + var d = function (e, t) { + for (var o = [], a = void 0, s = 0, u = e; s < u.length; s++) { + var c = Ue(u[s]), + l = new Ke(), + f = n.newSub(); + if ((Ge(i, c, l, f), l.hasProblems() || o.push(c), a)) + if ( + t || + l.hasProblems() || + a.validationResult.hasProblems() + ) { + var h = l.compare(a.validationResult); + h > 0 + ? (a = { + schema: c, + validationResult: l, + matchingSchemas: f, + }) + : 0 === h && + (a.matchingSchemas.merge(f), + a.validationResult.mergeEnumValues(l)); + } else + a.matchingSchemas.merge(f), + (a.validationResult.propertiesMatches += + l.propertiesMatches), + (a.validationResult.propertiesValueMatches += + l.propertiesValueMatches); + else a = { schema: c, validationResult: l, matchingSchemas: f }; + } + return ( + o.length > 1 && + t && + r.problems.push({ + location: { offset: i.offset, length: 1 }, + severity: x.Warning, + message: Le( + 'oneOfWarning', + 'Matches multiple schemas when only one must validate.' + ), + }), + a && + (r.merge(a.validationResult), + (r.propertiesMatches += a.validationResult.propertiesMatches), + (r.propertiesValueMatches += + a.validationResult.propertiesValueMatches), + n.merge(a.matchingSchemas)), + o.length + ); + }; + Array.isArray(t.anyOf) && d(t.anyOf, !1), + Array.isArray(t.oneOf) && d(t.oneOf, !0); + var m = function (e) { + var t = new Ke(), + o = n.newSub(); + Ge(i, Ue(e), t, o), + r.merge(t), + (r.propertiesMatches += t.propertiesMatches), + (r.propertiesValueMatches += t.propertiesValueMatches), + n.merge(o); + }, + g = Ue(t.if); + if ( + (g && + (function (e, t, r) { + var o = Ue(e), + a = new Ke(), + s = n.newSub(); + Ge(i, o, a, s), + n.merge(s), + a.hasProblems() ? r && m(r) : t && m(t); + })(g, Ue(t.then), Ue(t.else)), + Array.isArray(t.enum)) + ) { + for ( + var v = Je(i), y = !1, b = 0, S = t.enum; + b < S.length; + b++ + ) { + if (W(v, S[b])) { + y = !0; + break; + } + } + (r.enumValues = t.enum), + (r.enumValueMatch = y), + y || + r.problems.push({ + location: { offset: i.offset, length: i.length }, + severity: x.Warning, + code: we.EnumValueMismatch, + message: + t.errorMessage || + Le( + 'enumWarning', + 'Value is not accepted. Valid values: {0}.', + t.enum + .map(function (e) { + return JSON.stringify(e); + }) + .join(', ') + ), + }); + } + q(t.const) && + (W((v = Je(i)), t.const) + ? (r.enumValueMatch = !0) + : (r.problems.push({ + location: { offset: i.offset, length: i.length }, + severity: x.Warning, + code: we.EnumValueMismatch, + message: + t.errorMessage || + Le( + 'constWarning', + 'Value must be {0}.', + JSON.stringify(t.const) + ), + }), + (r.enumValueMatch = !1)), + (r.enumValues = [t.const])), + t.deprecationMessage && + i.parent && + r.problems.push({ + location: { + offset: i.parent.offset, + length: i.parent.length, + }, + severity: x.Warning, + message: t.deprecationMessage, + }); + })(), + n.add({ node: i, schema: t }); + } + } + function Ze(e, t, r) { + if (null !== e && 'object' == typeof e) { + var n = t + '\t'; + if (Array.isArray(e)) { + if (0 === e.length) return '[]'; + for (var i = '[\n', o = 0; o < e.length; o++) + (i += n + Ze(e[o], n, r)), + o < e.length - 1 && (i += ','), + (i += '\n'); + return i + (t + ']'); + } + var a = Object.keys(e); + if (0 === a.length) return '{}'; + for (i = '{\n', o = 0; o < a.length; o++) { + var s = a[o]; + (i += n + JSON.stringify(s) + ': ' + Ze(e[s], n, r)), + o < a.length - 1 && (i += ','), + (i += '\n'); + } + return i + (t + '}'); + } + return r(e); + } + function Xe(e, t) { + var r = e.length - t.length; + return r > 0 ? e.lastIndexOf(t) === r : 0 === r && e === t; + } + function Qe(e) { + return e + .replace(/[\-\\\{\}\+\?\|\^\$\.\,\[\]\(\)\#\s]/g, '\\$&') + .replace(/[\*]/g, '.*'); + } + !(function () { + function e(e, t, r) { + void 0 === t && (t = []), + void 0 === r && (r = []), + (this.root = e), + (this.syntaxErrors = t), + (this.comments = r); + } + (e.prototype.getNodeFromOffset = function (e, t) { + if ((void 0 === t && (t = !1), this.root)) return $(this.root, e, t); + }), + (e.prototype.visit = function (e) { + if (this.root) { + var t = function (r) { + var n = e(r), + i = r.children; + if (Array.isArray(i)) + for (var o = 0; o < i.length && n; o++) n = t(i[o]); + return n; + }; + t(this.root); + } + }), + (e.prototype.validate = function (e, t) { + if (this.root && t) { + var r = new Ke(); + return ( + Ge(this.root, t, r, Be.instance), + r.problems.map(function (t) { + var r = f.create( + e.positionAt(t.location.offset), + e.positionAt(t.location.offset + t.location.length) + ); + return k.create(r, t.message, t.severity, t.code); + }) + ); + } + }), + (e.prototype.getMatchingSchemas = function (e, t, r) { + void 0 === t && (t = -1); + var n = new qe(t, r); + return this.root && e && Ge(this.root, e, new Ke(), n), n.schemas; + }); + })(); + var Ye = Fe(); + !(function () { + function e(e, t, r, n) { + void 0 === t && (t = []), + void 0 === r && (r = Promise), + void 0 === n && (n = {}), + (this.schemaService = e), + (this.contributions = t), + (this.promiseConstructor = r), + (this.clientCapabilities = n); + } + (e.prototype.doResolve = function (e) { + for (var t = this.contributions.length - 1; t >= 0; t--) { + var r = this.contributions[t].resolveCompletion; + if (r) { + var n = r(e); + if (n) return n; + } + } + return this.promiseConstructor.resolve(e); + }), + (e.prototype.doComplete = function (e, t, r) { + var n = this, + i = { items: [], isIncomplete: !1 }, + o = e.getText(), + a = e.offsetAt(t), + s = r.getNodeFromOffset(a, !0); + if (this.isInComment(e, s ? s.offset : 0, a)) + return Promise.resolve(i); + if (s && a === s.offset + s.length && a > 0) { + var u = o[a - 1]; + (('object' === s.type && '}' === u) || + ('array' === s.type && ']' === u)) && + (s = s.parent); + } + var c, + l = this.getCurrentWord(e, a); + if ( + !s || + ('string' !== s.type && + 'number' !== s.type && + 'boolean' !== s.type && + 'null' !== s.type) + ) { + var h = a - l.length; + h > 0 && '"' === o[h - 1] && h--, + (c = f.create(e.positionAt(h), t)); + } else + c = f.create( + e.positionAt(s.offset), + e.positionAt(s.offset + s.length) + ); + var p = {}, + d = { + add: function (e) { + var t = e.label, + r = p[t]; + if (r) r.documentation || (r.documentation = e.documentation); + else { + if ((t = t.replace(/[\n]/g, '↵')).length > 60) { + var n = t.substr(0, 57).trim() + '...'; + p[n] || (t = n); + } + c && + void 0 !== e.insertText && + (e.textEdit = w.replace(c, e.insertText)), + (e.label = t), + (p[t] = e), + i.items.push(e); + } + }, + setAsIncomplete: function () { + i.isIncomplete = !0; + }, + error: function (e) { + console.error(e); + }, + log: function (e) { + console.log(e); + }, + getNumberOfProposals: function () { + return i.items.length; + }, + }; + return this.schemaService + .getSchemaForResource(e.uri, r) + .then(function (t) { + var u = [], + f = !0, + h = '', + m = void 0; + if (s && 'string' === s.type) { + var g = s.parent; + g && + 'property' === g.type && + g.keyNode === s && + ((f = !g.valueNode), + (m = g), + (h = o.substr(s.offset + 1, s.length - 2)), + g && (s = g.parent)); + } + if (s && 'object' === s.type) { + if (s.offset === a) return i; + s.properties.forEach(function (e) { + (m && m === e) || (p[e.keyNode.value] = Y.create('__')); + }); + var v = ''; + f && (v = n.evaluateSeparatorAfter(e, e.offsetAt(c.end))), + t + ? n.getPropertyCompletions(t, r, s, f, v, d) + : n.getSchemaLessPropertyCompletions(r, s, h, d); + var y = He(s); + n.contributions.forEach(function (t) { + var r = t.collectPropertyCompletions( + e.uri, + y, + l, + f, + '' === v, + d + ); + r && u.push(r); + }), + !t && + l.length > 0 && + '"' !== o.charAt(a - l.length - 1) && + (d.add({ + kind: Z.Property, + label: n.getLabelForValue(l), + insertText: n.getInsertTextForProperty( + l, + void 0, + !1, + v + ), + insertTextFormat: X.Snippet, + documentation: '', + }), + d.setAsIncomplete()); + } + var b = {}; + return ( + t + ? n.getValueCompletions(t, r, s, a, e, d, b) + : n.getSchemaLessValueCompletions(r, s, a, e, d), + n.contributions.length > 0 && + n.getContributedValueCompletions(r, s, a, e, d, u), + n.promiseConstructor.all(u).then(function () { + if (0 === d.getNumberOfProposals()) { + var t = a; + !s || + ('string' !== s.type && + 'number' !== s.type && + 'boolean' !== s.type && + 'null' !== s.type) || + (t = s.offset + s.length); + var r = n.evaluateSeparatorAfter(e, t); + n.addFillerValueCompletions(b, r, d); + } + return i; + }) + ); + }); + }), + (e.prototype.getPropertyCompletions = function (e, t, r, n, i, o) { + var a = this; + t.getMatchingSchemas(e.schema, r.offset).forEach(function (e) { + if (e.node === r && !e.inverted) { + var t = e.schema.properties; + t && + Object.keys(t).forEach(function (e) { + var r = t[e]; + if ( + 'object' == typeof r && + !r.deprecationMessage && + !r.doNotSuggest + ) { + var s = { + kind: Z.Property, + label: e, + insertText: a.getInsertTextForProperty(e, r, n, i), + insertTextFormat: X.Snippet, + filterText: a.getFilterTextForValue(e), + documentation: + a.fromMarkup(r.markdownDescription) || + r.description || + '', + }; + void 0 !== r.suggestSortText && + (s.sortText = r.suggestSortText), + s.insertText && + Xe(s.insertText, '$1' + i) && + (s.command = { + title: 'Suggest', + command: 'editor.action.triggerSuggest', + }), + o.add(s); + } + }); + var s = e.schema.propertyNames; + if ( + 'object' == typeof s && + !s.deprecationMessage && + !s.doNotSuggest + ) { + var u = function (e, t) { + void 0 === t && (t = void 0); + var r = { + kind: Z.Property, + label: e, + insertText: a.getInsertTextForProperty(e, void 0, n, i), + insertTextFormat: X.Snippet, + filterText: a.getFilterTextForValue(e), + documentation: + t || + a.fromMarkup(s.markdownDescription) || + s.description || + '', + }; + void 0 !== s.suggestSortText && + (r.sortText = s.suggestSortText), + r.insertText && + Xe(r.insertText, '$1' + i) && + (r.command = { + title: 'Suggest', + command: 'editor.action.triggerSuggest', + }), + o.add(r); + }; + if (s.enum) + for (var c = 0; c < s.enum.length; c++) { + var l = void 0; + s.markdownEnumDescriptions && + c < s.markdownEnumDescriptions.length + ? (l = a.fromMarkup(s.markdownEnumDescriptions[c])) + : s.enumDescriptions && + c < s.enumDescriptions.length && + (l = s.enumDescriptions[c]), + u(s.enum[c], l); + } + s.const && u(s.const); + } + } + }); + }), + (e.prototype.getSchemaLessPropertyCompletions = function ( + e, + t, + r, + n + ) { + var i = this, + o = function (e) { + e.properties.forEach(function (e) { + var t = e.keyNode.value; + n.add({ + kind: Z.Property, + label: t, + insertText: i.getInsertTextForValue(t, ''), + insertTextFormat: X.Snippet, + filterText: i.getFilterTextForValue(t), + documentation: '', + }); + }); + }; + if (t.parent) + if ('property' === t.parent.type) { + var a = t.parent.keyNode.value; + e.visit(function (e) { + return ( + 'property' === e.type && + e !== t.parent && + e.keyNode.value === a && + e.valueNode && + 'object' === e.valueNode.type && + o(e.valueNode), + !0 + ); + }); + } else + 'array' === t.parent.type && + t.parent.items.forEach(function (e) { + 'object' === e.type && e !== t && o(e); + }); + else + 'object' === t.type && + n.add({ + kind: Z.Property, + label: '$schema', + insertText: this.getInsertTextForProperty( + '$schema', + void 0, + !0, + '' + ), + insertTextFormat: X.Snippet, + documentation: '', + filterText: this.getFilterTextForValue('$schema'), + }); + }), + (e.prototype.getSchemaLessValueCompletions = function ( + e, + t, + r, + n, + i + ) { + var o = this, + a = r; + if ( + (!t || + ('string' !== t.type && + 'number' !== t.type && + 'boolean' !== t.type && + 'null' !== t.type) || + ((a = t.offset + t.length), (t = t.parent)), + !t) + ) + return ( + i.add({ + kind: this.getSuggestionKind('object'), + label: 'Empty object', + insertText: this.getInsertTextForValue({}, ''), + insertTextFormat: X.Snippet, + documentation: '', + }), + void i.add({ + kind: this.getSuggestionKind('array'), + label: 'Empty array', + insertText: this.getInsertTextForValue([], ''), + insertTextFormat: X.Snippet, + documentation: '', + }) + ); + var s = this.evaluateSeparatorAfter(n, a), + u = function (e) { + e.parent && + !ze(e.parent, r, !0) && + i.add({ + kind: o.getSuggestionKind(e.type), + label: o.getLabelTextForMatchingNode(e, n), + insertText: o.getInsertTextForMatchingNode(e, n, s), + insertTextFormat: X.Snippet, + documentation: '', + }), + 'boolean' === e.type && + o.addBooleanValueCompletion(!e.value, s, i); + }; + if ('property' === t.type && r > (t.colonOffset || 0)) { + var c = t.valueNode; + if ( + c && + (r > c.offset + c.length || + 'object' === c.type || + 'array' === c.type) + ) + return; + var l = t.keyNode.value; + e.visit(function (e) { + return ( + 'property' === e.type && + e.keyNode.value === l && + e.valueNode && + u(e.valueNode), + !0 + ); + }), + '$schema' === l && + t.parent && + !t.parent.parent && + this.addDollarSchemaCompletions(s, i); + } + if ('array' === t.type) + if (t.parent && 'property' === t.parent.type) { + var f = t.parent.keyNode.value; + e.visit(function (e) { + return ( + 'property' === e.type && + e.keyNode.value === f && + e.valueNode && + 'array' === e.valueNode.type && + e.valueNode.items.forEach(u), + !0 + ); + }); + } else t.items.forEach(u); + }), + (e.prototype.getValueCompletions = function (e, t, r, n, i, o, a) { + var s = n, + u = void 0, + c = void 0; + if ( + (!r || + ('string' !== r.type && + 'number' !== r.type && + 'boolean' !== r.type && + 'null' !== r.type) || + ((s = r.offset + r.length), (c = r), (r = r.parent)), + r) + ) { + if ('property' === r.type && n > (r.colonOffset || 0)) { + var l = r.valueNode; + if (l && n > l.offset + l.length) return; + (u = r.keyNode.value), (r = r.parent); + } + if (r && (void 0 !== u || 'array' === r.type)) { + for ( + var f = this.evaluateSeparatorAfter(i, s), + h = 0, + p = t.getMatchingSchemas(e.schema, r.offset, c); + h < p.length; + h++ + ) { + var d = p[h]; + if (d.node === r && !d.inverted && d.schema) { + if ('array' === r.type && d.schema.items) + if (Array.isArray(d.schema.items)) { + var m = this.findItemAtOffset(r, i, n); + m < d.schema.items.length && + this.addSchemaValueCompletions( + d.schema.items[m], + f, + o, + a + ); + } else + this.addSchemaValueCompletions(d.schema.items, f, o, a); + if (void 0 !== u) { + var g = !1; + if ( + (d.schema.properties && + (x = d.schema.properties[u]) && + ((g = !0), + this.addSchemaValueCompletions(x, f, o, a)), + d.schema.patternProperties && !g) + ) + for ( + var v = 0, + y = Object.keys(d.schema.patternProperties); + v < y.length; + v++ + ) { + var b = y[v]; + if (new RegExp(b).test(u)) { + g = !0; + var x = d.schema.patternProperties[b]; + this.addSchemaValueCompletions(x, f, o, a); + } + } + d.schema.additionalProperties && + !g && + ((x = d.schema.additionalProperties), + this.addSchemaValueCompletions(x, f, o, a)); + } + } + } + '$schema' !== u || + r.parent || + this.addDollarSchemaCompletions(f, o), + a.boolean && + (this.addBooleanValueCompletion(!0, f, o), + this.addBooleanValueCompletion(!1, f, o)), + a.null && this.addNullValueCompletion(f, o); + } + } else this.addSchemaValueCompletions(e.schema, '', o, a); + }), + (e.prototype.getContributedValueCompletions = function ( + e, + t, + r, + n, + i, + o + ) { + if (t) { + if ( + (('string' !== t.type && + 'number' !== t.type && + 'boolean' !== t.type && + 'null' !== t.type) || + (t = t.parent), + t && 'property' === t.type && r > (t.colonOffset || 0)) + ) { + var a = t.keyNode.value, + s = t.valueNode; + if ((!s || r <= s.offset + s.length) && t.parent) { + var u = He(t.parent); + this.contributions.forEach(function (e) { + var t = e.collectValueCompletions(n.uri, u, a, i); + t && o.push(t); + }); + } + } + } else + this.contributions.forEach(function (e) { + var t = e.collectDefaultCompletions(n.uri, i); + t && o.push(t); + }); + }), + (e.prototype.addSchemaValueCompletions = function (e, t, r, n) { + var i = this; + 'object' == typeof e && + (this.addEnumValueCompletions(e, t, r), + this.addDefaultValueCompletions(e, t, r), + this.collectTypes(e, n), + Array.isArray(e.allOf) && + e.allOf.forEach(function (e) { + return i.addSchemaValueCompletions(e, t, r, n); + }), + Array.isArray(e.anyOf) && + e.anyOf.forEach(function (e) { + return i.addSchemaValueCompletions(e, t, r, n); + }), + Array.isArray(e.oneOf) && + e.oneOf.forEach(function (e) { + return i.addSchemaValueCompletions(e, t, r, n); + })); + }), + (e.prototype.addDefaultValueCompletions = function (e, t, r, n) { + var i = this; + void 0 === n && (n = 0); + var o = !1; + if (q(e.default)) { + for (var a = e.type, s = e.default, u = n; u > 0; u--) + (s = [s]), (a = 'array'); + r.add({ + kind: this.getSuggestionKind(a), + label: this.getLabelForValue(s), + insertText: this.getInsertTextForValue(s, t), + insertTextFormat: X.Snippet, + detail: Ye('json.suggest.default', 'Default value'), + }), + (o = !0); + } + Array.isArray(e.examples) && + e.examples.forEach(function (a) { + for (var s = e.type, u = a, c = n; c > 0; c--) + (u = [u]), (s = 'array'); + r.add({ + kind: i.getSuggestionKind(s), + label: i.getLabelForValue(u), + insertText: i.getInsertTextForValue(u, t), + insertTextFormat: X.Snippet, + }), + (o = !0); + }), + Array.isArray(e.defaultSnippets) && + e.defaultSnippets.forEach(function (a) { + var s, + u, + c = e.type, + l = a.body, + f = a.label; + if (q(l)) { + e.type; + for (var h = n; h > 0; h--) l = [l]; + (s = i.getInsertTextForSnippetValue(l, t)), + (u = i.getFilterTextForSnippetValue(l)), + (f = f || i.getLabelForSnippetValue(l)); + } else { + if ('string' != typeof a.bodyText) return; + var p = '', + d = '', + m = ''; + for (h = n; h > 0; h--) + (p = p + m + '[\n'), + (d = d + '\n' + m + ']'), + (m += '\t'), + (c = 'array'); + (s = p + m + a.bodyText.split('\n').join('\n' + m) + d + t), + (f = f || s), + (u = s.replace(/[\n]/g, '')); + } + r.add({ + kind: i.getSuggestionKind(c), + label: f, + documentation: + i.fromMarkup(a.markdownDescription) || a.description, + insertText: s, + insertTextFormat: X.Snippet, + filterText: u, + }), + (o = !0); + }), + !o && + 'object' == typeof e.items && + !Array.isArray(e.items) && + n < 5 && + this.addDefaultValueCompletions(e.items, t, r, n + 1); + }), + (e.prototype.addEnumValueCompletions = function (e, t, r) { + if ( + (q(e.const) && + r.add({ + kind: this.getSuggestionKind(e.type), + label: this.getLabelForValue(e.const), + insertText: this.getInsertTextForValue(e.const, t), + insertTextFormat: X.Snippet, + documentation: + this.fromMarkup(e.markdownDescription) || e.description, + }), + Array.isArray(e.enum)) + ) + for (var n = 0, i = e.enum.length; n < i; n++) { + var o = e.enum[n], + a = this.fromMarkup(e.markdownDescription) || e.description; + e.markdownEnumDescriptions && + n < e.markdownEnumDescriptions.length && + this.doesSupportMarkdown() + ? (a = this.fromMarkup(e.markdownEnumDescriptions[n])) + : e.enumDescriptions && + n < e.enumDescriptions.length && + (a = e.enumDescriptions[n]), + r.add({ + kind: this.getSuggestionKind(e.type), + label: this.getLabelForValue(o), + insertText: this.getInsertTextForValue(o, t), + insertTextFormat: X.Snippet, + documentation: a, + }); + } + }), + (e.prototype.collectTypes = function (e, t) { + if (!Array.isArray(e.enum) && !q(e.const)) { + var r = e.type; + Array.isArray(r) + ? r.forEach(function (e) { + return (t[e] = !0); + }) + : r && (t[r] = !0); + } + }), + (e.prototype.addFillerValueCompletions = function (e, t, r) { + e.object && + r.add({ + kind: this.getSuggestionKind('object'), + label: '{}', + insertText: this.getInsertTextForGuessedValue({}, t), + insertTextFormat: X.Snippet, + detail: Ye('defaults.object', 'New object'), + documentation: '', + }), + e.array && + r.add({ + kind: this.getSuggestionKind('array'), + label: '[]', + insertText: this.getInsertTextForGuessedValue([], t), + insertTextFormat: X.Snippet, + detail: Ye('defaults.array', 'New array'), + documentation: '', + }); + }), + (e.prototype.addBooleanValueCompletion = function (e, t, r) { + r.add({ + kind: this.getSuggestionKind('boolean'), + label: e ? 'true' : 'false', + insertText: this.getInsertTextForValue(e, t), + insertTextFormat: X.Snippet, + documentation: '', + }); + }), + (e.prototype.addNullValueCompletion = function (e, t) { + t.add({ + kind: this.getSuggestionKind('null'), + label: 'null', + insertText: 'null' + e, + insertTextFormat: X.Snippet, + documentation: '', + }); + }), + (e.prototype.addDollarSchemaCompletions = function (e, t) { + var r = this; + this.schemaService + .getRegisteredSchemaIds(function (e) { + return 'http' === e || 'https' === e; + }) + .forEach(function (n) { + return t.add({ + kind: Z.Module, + label: r.getLabelForValue(n), + filterText: r.getFilterTextForValue(n), + insertText: r.getInsertTextForValue(n, e), + insertTextFormat: X.Snippet, + documentation: '', + }); + }); + }), + (e.prototype.getLabelForValue = function (e) { + return JSON.stringify(e); + }), + (e.prototype.getFilterTextForValue = function (e) { + return JSON.stringify(e); + }), + (e.prototype.getFilterTextForSnippetValue = function (e) { + return JSON.stringify(e).replace(/\$\{\d+:([^}]+)\}|\$\d+/g, '$1'); + }), + (e.prototype.getLabelForSnippetValue = function (e) { + return JSON.stringify(e).replace(/\$\{\d+:([^}]+)\}|\$\d+/g, '$1'); + }), + (e.prototype.getInsertTextForPlainText = function (e) { + return e.replace(/[\\\$\}]/g, '\\$&'); + }), + (e.prototype.getInsertTextForValue = function (e, t) { + var r = JSON.stringify(e, null, '\t'); + return '{}' === r + ? '{$1}' + t + : '[]' === r + ? '[$1]' + t + : this.getInsertTextForPlainText(r + t); + }), + (e.prototype.getInsertTextForSnippetValue = function (e, t) { + return ( + Ze(e, '', function (e) { + return 'string' == typeof e && '^' === e[0] + ? e.substr(1) + : JSON.stringify(e); + }) + t + ); + }), + (e.prototype.getInsertTextForGuessedValue = function (e, t) { + switch (typeof e) { + case 'object': + return null === e + ? '${1:null}' + t + : this.getInsertTextForValue(e, t); + case 'string': + var r = JSON.stringify(e); + return ( + (r = r.substr(1, r.length - 2)), + '"${1:' + (r = this.getInsertTextForPlainText(r)) + '}"' + t + ); + case 'number': + case 'boolean': + return '${1:' + JSON.stringify(e) + '}' + t; + } + return this.getInsertTextForValue(e, t); + }), + (e.prototype.getSuggestionKind = function (e) { + if (Array.isArray(e)) { + var t = e; + e = t.length > 0 ? t[0] : void 0; + } + if (!e) return Z.Value; + switch (e) { + case 'string': + return Z.Value; + case 'object': + return Z.Module; + case 'property': + return Z.Property; + default: + return Z.Value; + } + }), + (e.prototype.getLabelTextForMatchingNode = function (e, t) { + switch (e.type) { + case 'array': + return '[]'; + case 'object': + return '{}'; + default: + return t.getText().substr(e.offset, e.length); + } + }), + (e.prototype.getInsertTextForMatchingNode = function (e, t, r) { + switch (e.type) { + case 'array': + return this.getInsertTextForValue([], r); + case 'object': + return this.getInsertTextForValue({}, r); + default: + var n = t.getText().substr(e.offset, e.length) + r; + return this.getInsertTextForPlainText(n); + } + }), + (e.prototype.getInsertTextForProperty = function (e, t, r, n) { + var i = this.getInsertTextForValue(e, ''); + if (!r) return i; + var o, + a = i + ': ', + s = 0; + if (t) { + if (Array.isArray(t.defaultSnippets)) { + if (1 === t.defaultSnippets.length) { + var u = t.defaultSnippets[0].body; + q(u) && (o = this.getInsertTextForSnippetValue(u, '')); + } + s += t.defaultSnippets.length; + } + if ( + (t.enum && + (o || + 1 !== t.enum.length || + (o = this.getInsertTextForGuessedValue(t.enum[0], '')), + (s += t.enum.length)), + q(t.default) && + (o || (o = this.getInsertTextForGuessedValue(t.default, '')), + s++), + Array.isArray(t.examples) && + t.examples.length && + (o || + (o = this.getInsertTextForGuessedValue(t.examples[0], '')), + (s += t.examples.length)), + 0 === s) + ) { + var c = Array.isArray(t.type) ? t.type[0] : t.type; + switch ( + (c || + (t.properties ? (c = 'object') : t.items && (c = 'array')), + c) + ) { + case 'boolean': + o = '$1'; + break; + case 'string': + o = '"$1"'; + break; + case 'object': + o = '{$1}'; + break; + case 'array': + o = '[$1]'; + break; + case 'number': + case 'integer': + o = '${1:0}'; + break; + case 'null': + o = '${1:null}'; + break; + default: + return i; + } + } + } + return (!o || s > 1) && (o = '$1'), a + o + n; + }), + (e.prototype.getCurrentWord = function (e, t) { + for ( + var r = t - 1, n = e.getText(); + r >= 0 && -1 === ' \t\n\r\v":{[,]}'.indexOf(n.charAt(r)); + + ) + r--; + return n.substring(r + 1, t); + }), + (e.prototype.evaluateSeparatorAfter = function (e, t) { + var r = N(e.getText(), !0); + switch ((r.setPosition(t), r.scan())) { + case 5: + case 2: + case 4: + case 17: + return ''; + default: + return ','; + } + }), + (e.prototype.findItemAtOffset = function (e, t, r) { + for ( + var n = N(t.getText(), !0), i = e.items, o = i.length - 1; + o >= 0; + o-- + ) { + var a = i[o]; + if (r > a.offset + a.length) + return ( + n.setPosition(a.offset + a.length), + 5 === n.scan() && r >= n.getTokenOffset() + n.getTokenLength() + ? o + 1 + : o + ); + if (r >= a.offset) return o; + } + return 0; + }), + (e.prototype.isInComment = function (e, t, r) { + var n = N(e.getText(), !1); + n.setPosition(t); + for ( + var i = n.scan(); + 17 !== i && n.getTokenOffset() + n.getTokenLength() < r; + + ) + i = n.scan(); + return (12 === i || 13 === i) && n.getTokenOffset() <= r; + }), + (e.prototype.fromMarkup = function (e) { + if (e && this.doesSupportMarkdown()) + return { kind: z.Markdown, value: e }; + }), + (e.prototype.doesSupportMarkdown = function () { + if (!q(this.supportsMarkdown)) { + var e = + this.clientCapabilities.textDocument && + this.clientCapabilities.textDocument.completion; + this.supportsMarkdown = + e && + e.completionItem && + Array.isArray(e.completionItem.documentationFormat) && + -1 !== e.completionItem.documentationFormat.indexOf(z.Markdown); + } + return this.supportsMarkdown; + }), + (e.prototype.doesSupportsCommitCharacters = function () { + if (!q(this.supportsCommitCharacters)) { + var e = + this.clientCapabilities.textDocument && + this.clientCapabilities.textDocument.completion; + this.supportsCommitCharacters = + e && + e.completionItem && + !!e.completionItem.commitCharactersSupport; + } + return this.supportsCommitCharacters; + }); + })(); + var et, + tt, + rt = (function () { + var e = function (t, r) { + return (e = + Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && + function (e, t) { + e.__proto__ = t; + }) || + function (e, t) { + for (var r in t) t.hasOwnProperty(r) && (e[r] = t[r]); + })(t, r); + }; + return function (t, r) { + function n() { + this.constructor = t; + } + e(t, r), + (t.prototype = + null === r + ? Object.create(r) + : ((n.prototype = r.prototype), new n())); + }; + })(); + if ('object' == typeof process) tt = 'win32' === process.platform; + else if ('object' == typeof navigator) { + var nt = navigator.userAgent; + tt = nt.indexOf('Windows') >= 0; + } + var it = /^\w[\w\d+.-]*$/, + ot = /^\//, + at = /^\/\//, + st = '', + ut = '/', + ct = /^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/, + lt = (function () { + function e(e, t, r, n, i, o) { + void 0 === o && (o = !1), + 'object' == typeof e + ? ((this.scheme = e.scheme || st), + (this.authority = e.authority || st), + (this.path = e.path || st), + (this.query = e.query || st), + (this.fragment = e.fragment || st)) + : ((this.scheme = (function (e, t) { + return e || t ? e : 'file'; + })(e, o)), + (this.authority = t || st), + (this.path = (function (e, t) { + switch (e) { + case 'https': + case 'http': + case 'file': + t ? t[0] !== ut && (t = ut + t) : (t = ut); + } + return t; + })(this.scheme, r || st)), + (this.query = n || st), + (this.fragment = i || st), + (function (e, t) { + if (!e.scheme && t) + throw new Error( + '[UriError]: Scheme is missing: {scheme: "", authority: "' + + e.authority + + '", path: "' + + e.path + + '", query: "' + + e.query + + '", fragment: "' + + e.fragment + + '"}' + ); + if (e.scheme && !it.test(e.scheme)) + throw new Error( + '[UriError]: Scheme contains illegal characters.' + ); + if (e.path) + if (e.authority) { + if (!ot.test(e.path)) + throw new Error( + '[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character' + ); + } else if (at.test(e.path)) + throw new Error( + '[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")' + ); + })(this, o)); + } + return ( + (e.isUri = function (t) { + return ( + t instanceof e || + (!!t && + 'string' == typeof t.authority && + 'string' == typeof t.fragment && + 'string' == typeof t.path && + 'string' == typeof t.query && + 'string' == typeof t.scheme && + 'function' == typeof t.fsPath && + 'function' == typeof t.with && + 'function' == typeof t.toString) + ); + }), + Object.defineProperty(e.prototype, 'fsPath', { + get: function () { + return gt(this, !1); + }, + enumerable: !0, + configurable: !0, + }), + (e.prototype.with = function (e) { + if (!e) return this; + var t = e.scheme, + r = e.authority, + n = e.path, + i = e.query, + o = e.fragment; + return ( + void 0 === t ? (t = this.scheme) : null === t && (t = st), + void 0 === r ? (r = this.authority) : null === r && (r = st), + void 0 === n ? (n = this.path) : null === n && (n = st), + void 0 === i ? (i = this.query) : null === i && (i = st), + void 0 === o ? (o = this.fragment) : null === o && (o = st), + t === this.scheme && + r === this.authority && + n === this.path && + i === this.query && + o === this.fragment + ? this + : new ht(t, r, n, i, o) + ); + }), + (e.parse = function (e, t) { + void 0 === t && (t = !1); + var r = ct.exec(e); + return r + ? new ht( + r[2] || st, + xt(r[4] || st), + xt(r[5] || st), + xt(r[7] || st), + xt(r[9] || st), + t + ) + : new ht(st, st, st, st, st); + }), + (e.file = function (e) { + var t = st; + if ( + (tt && (e = e.replace(/\\/g, ut)), e[0] === ut && e[1] === ut) + ) { + var r = e.indexOf(ut, 2); + -1 === r + ? ((t = e.substring(2)), (e = ut)) + : ((t = e.substring(2, r)), (e = e.substring(r) || ut)); + } + return new ht('file', t, e, st, st); + }), + (e.from = function (e) { + return new ht(e.scheme, e.authority, e.path, e.query, e.fragment); + }), + (e.prototype.toString = function (e) { + return void 0 === e && (e = !1), vt(this, e); + }), + (e.prototype.toJSON = function () { + return this; + }), + (e.revive = function (t) { + if (t) { + if (t instanceof e) return t; + var r = new ht(t); + return ( + (r._formatted = t.external), + (r._fsPath = t._sep === ft ? t.fsPath : null), + r + ); + } + return t; + }), + e + ); + })(), + ft = tt ? 1 : void 0, + ht = (function (e) { + function t() { + var t = (null !== e && e.apply(this, arguments)) || this; + return (t._formatted = null), (t._fsPath = null), t; + } + return ( + rt(t, e), + Object.defineProperty(t.prototype, 'fsPath', { + get: function () { + return ( + this._fsPath || (this._fsPath = gt(this, !1)), this._fsPath + ); + }, + enumerable: !0, + configurable: !0, + }), + (t.prototype.toString = function (e) { + return ( + void 0 === e && (e = !1), + e + ? vt(this, !0) + : (this._formatted || (this._formatted = vt(this, !1)), + this._formatted) + ); + }), + (t.prototype.toJSON = function () { + var e = { $mid: 1 }; + return ( + this._fsPath && ((e.fsPath = this._fsPath), (e._sep = ft)), + this._formatted && (e.external = this._formatted), + this.path && (e.path = this.path), + this.scheme && (e.scheme = this.scheme), + this.authority && (e.authority = this.authority), + this.query && (e.query = this.query), + this.fragment && (e.fragment = this.fragment), + e + ); + }), + t + ); + })(lt), + pt = + (((et = {})[58] = '%3A'), + (et[47] = '%2F'), + (et[63] = '%3F'), + (et[35] = '%23'), + (et[91] = '%5B'), + (et[93] = '%5D'), + (et[64] = '%40'), + (et[33] = '%21'), + (et[36] = '%24'), + (et[38] = '%26'), + (et[39] = '%27'), + (et[40] = '%28'), + (et[41] = '%29'), + (et[42] = '%2A'), + (et[43] = '%2B'), + (et[44] = '%2C'), + (et[59] = '%3B'), + (et[61] = '%3D'), + (et[32] = '%20'), + et); + function dt(e, t) { + for (var r = void 0, n = -1, i = 0; i < e.length; i++) { + var o = e.charCodeAt(i); + if ( + (o >= 97 && o <= 122) || + (o >= 65 && o <= 90) || + (o >= 48 && o <= 57) || + 45 === o || + 46 === o || + 95 === o || + 126 === o || + (t && 47 === o) + ) + -1 !== n && + ((r += encodeURIComponent(e.substring(n, i))), (n = -1)), + void 0 !== r && (r += e.charAt(i)); + else { + void 0 === r && (r = e.substr(0, i)); + var a = pt[o]; + void 0 !== a + ? (-1 !== n && + ((r += encodeURIComponent(e.substring(n, i))), (n = -1)), + (r += a)) + : -1 === n && (n = i); + } + } + return ( + -1 !== n && (r += encodeURIComponent(e.substring(n))), + void 0 !== r ? r : e + ); + } + function mt(e) { + for (var t = void 0, r = 0; r < e.length; r++) { + var n = e.charCodeAt(r); + 35 === n || 63 === n + ? (void 0 === t && (t = e.substr(0, r)), (t += pt[n])) + : void 0 !== t && (t += e[r]); + } + return void 0 !== t ? t : e; + } + function gt(e, t) { + var r; + return ( + (r = + e.authority && e.path.length > 1 && 'file' === e.scheme + ? '//' + e.authority + e.path + : 47 === e.path.charCodeAt(0) && + ((e.path.charCodeAt(1) >= 65 && e.path.charCodeAt(1) <= 90) || + (e.path.charCodeAt(1) >= 97 && + e.path.charCodeAt(1) <= 122)) && + 58 === e.path.charCodeAt(2) + ? t + ? e.path.substr(1) + : e.path[1].toLowerCase() + e.path.substr(2) + : e.path), + tt && (r = r.replace(/\//g, '\\')), + r + ); + } + function vt(e, t) { + var r = t ? mt : dt, + n = '', + i = e.scheme, + o = e.authority, + a = e.path, + s = e.query, + u = e.fragment; + if ( + (i && ((n += i), (n += ':')), + (o || 'file' === i) && ((n += ut), (n += ut)), + o) + ) { + var c = o.indexOf('@'); + if (-1 !== c) { + var l = o.substr(0, c); + (o = o.substr(c + 1)), + -1 === (c = l.indexOf(':')) + ? (n += r(l, !1)) + : ((n += r(l.substr(0, c), !1)), + (n += ':'), + (n += r(l.substr(c + 1), !1))), + (n += '@'); + } + -1 === (c = (o = o.toLowerCase()).indexOf(':')) + ? (n += r(o, !1)) + : ((n += r(o.substr(0, c), !1)), (n += o.substr(c))); + } + if (a) { + if (a.length >= 3 && 47 === a.charCodeAt(0) && 58 === a.charCodeAt(2)) + (f = a.charCodeAt(1)) >= 65 && + f <= 90 && + (a = '/' + String.fromCharCode(f + 32) + ':' + a.substr(3)); + else if (a.length >= 2 && 58 === a.charCodeAt(1)) { + var f; + (f = a.charCodeAt(0)) >= 65 && + f <= 90 && + (a = String.fromCharCode(f + 32) + ':' + a.substr(2)); + } + n += r(a, !0); + } + return ( + s && ((n += '?'), (n += r(s, !1))), + u && ((n += '#'), (n += t ? u : dt(u, !1))), + n + ); + } + function yt(e) { + try { + return decodeURIComponent(e); + } catch (t) { + return e.length > 3 ? e.substr(0, 3) + yt(e.substr(3)) : e; + } + } + var bt = /(%[0-9A-Za-z][0-9A-Za-z])+/g; + function xt(e) { + return e.match(bt) + ? e.replace(bt, function (e) { + return yt(e); + }) + : e; + } + var St = Fe(), + kt = (function () { + function e(e, t) { + (this.patternRegExps = []), (this.isInclude = []); + try { + for (var r = 0, n = e; r < n.length; r++) { + var i = n[r], + o = '!' !== i[0]; + o || (i = i.substring(1)), + this.patternRegExps.push(new RegExp(Qe(i) + '$')), + this.isInclude.push(o); + } + this.uris = t; + } catch (e) { + (this.patternRegExps.length = 0), + (this.isInclude.length = 0), + (this.uris = []); + } + } + return ( + (e.prototype.matchesPattern = function (e) { + for (var t = !1, r = 0; r < this.patternRegExps.length; r++) + this.patternRegExps[r].test(e) && (t = this.isInclude[r]); + return t; + }), + (e.prototype.getURIs = function () { + return this.uris; + }), + e + ); + })(), + Ct = (function () { + function e(e, t, r) { + (this.service = e), + (this.url = t), + (this.dependencies = {}), + r && + (this.unresolvedSchema = this.service.promise.resolve( + new wt(r) + )); + } + return ( + (e.prototype.getUnresolvedSchema = function () { + return ( + this.unresolvedSchema || + (this.unresolvedSchema = this.service.loadSchema(this.url)), + this.unresolvedSchema + ); + }), + (e.prototype.getResolvedSchema = function () { + var e = this; + return ( + this.resolvedSchema || + (this.resolvedSchema = this.getUnresolvedSchema().then( + function (t) { + return e.service.resolveSchemaContent( + t, + e.url, + e.dependencies + ); + } + )), + this.resolvedSchema + ); + }), + (e.prototype.clearSchema = function () { + (this.resolvedSchema = void 0), + (this.unresolvedSchema = void 0), + (this.dependencies = {}); + }), + e + ); + })(), + wt = function (e, t) { + void 0 === t && (t = []), (this.schema = e), (this.errors = t); + }, + At = (function () { + function e(e, t) { + void 0 === t && (t = []), (this.schema = e), (this.errors = t); + } + return ( + (e.prototype.getSection = function (e) { + var t = this.getSectionRecursive(e, this.schema); + if (t) return Ue(t); + }), + (e.prototype.getSectionRecursive = function (e, t) { + if (!t || 'boolean' == typeof t || 0 === e.length) return t; + var r = e.shift(); + if (t.properties && (t.properties[r], 1)) + return this.getSectionRecursive(e, t.properties[r]); + if (t.patternProperties) + for ( + var n = 0, i = Object.keys(t.patternProperties); + n < i.length; + n++ + ) { + var o = i[n]; + if (new RegExp(o).test(r)) + return this.getSectionRecursive(e, t.patternProperties[o]); + } + else { + if ('object' == typeof t.additionalProperties) + return this.getSectionRecursive(e, t.additionalProperties); + if (r.match('[0-9]+')) + if (Array.isArray(t.items)) { + var a = parseInt(r, 10); + if (!isNaN(a) && t.items[a]) + return this.getSectionRecursive(e, t.items[a]); + } else if (t.items) + return this.getSectionRecursive(e, t.items); + } + }), + e + ); + })(), + It = + ((function () { + function e(e, t, r) { + (this.contextService = t), + (this.requestService = e), + (this.promiseConstructor = r || Promise), + (this.callOnDispose = []), + (this.contributionSchemas = {}), + (this.contributionAssociations = []), + (this.schemasById = {}), + (this.filePatternAssociations = []), + (this.registeredSchemasIds = {}); + } + (e.prototype.getRegisteredSchemaIds = function (e) { + return Object.keys(this.registeredSchemasIds).filter(function ( + t + ) { + var r = lt.parse(t).scheme; + return 'schemaservice' !== r && (!e || e(r)); + }); + }), + Object.defineProperty(e.prototype, 'promise', { + get: function () { + return this.promiseConstructor; + }, + enumerable: !1, + configurable: !0, + }), + (e.prototype.dispose = function () { + for (; this.callOnDispose.length > 0; ) + this.callOnDispose.pop()(); + }), + (e.prototype.onResourceChange = function (e) { + for ( + var t = this, + r = !1, + n = [(e = Tt(e))], + i = Object.keys(this.schemasById).map(function (e) { + return t.schemasById[e]; + }); + n.length; + + ) + for (var o = n.pop(), a = 0; a < i.length; a++) { + var s = i[a]; + s && + (s.url === o || s.dependencies[o]) && + (s.url !== o && n.push(s.url), + s.clearSchema(), + (i[a] = void 0), + (r = !0)); + } + return r; + }), + (e.prototype.setSchemaContributions = function (e) { + if (e.schemas) { + var t = e.schemas; + for (var r in t) { + var n = Tt(r); + this.contributionSchemas[n] = this.addSchemaHandle(n, t[r]); + } + } + if (Array.isArray(e.schemaAssociations)) + for (var i = 0, o = e.schemaAssociations; i < o.length; i++) { + var a = o[i], + s = a.uris.map(Tt), + u = this.addFilePatternAssociation(a.pattern, s); + this.contributionAssociations.push(u); + } + }), + (e.prototype.addSchemaHandle = function (e, t) { + var r = new Ct(this, e, t); + return (this.schemasById[e] = r), r; + }), + (e.prototype.getOrAddSchemaHandle = function (e, t) { + return this.schemasById[e] || this.addSchemaHandle(e, t); + }), + (e.prototype.addFilePatternAssociation = function (e, t) { + var r = new kt(e, t); + return this.filePatternAssociations.push(r), r; + }), + (e.prototype.registerExternalSchema = function (e, t, r) { + var n = Tt(e); + return ( + (this.registeredSchemasIds[n] = !0), + (this.cachedSchemaForResource = void 0), + t && this.addFilePatternAssociation(t, [e]), + r ? this.addSchemaHandle(n, r) : this.getOrAddSchemaHandle(n) + ); + }), + (e.prototype.clearExternalSchemas = function () { + for (var e in ((this.schemasById = {}), + (this.filePatternAssociations = []), + (this.registeredSchemasIds = {}), + (this.cachedSchemaForResource = void 0), + this.contributionSchemas)) + (this.schemasById[e] = this.contributionSchemas[e]), + (this.registeredSchemasIds[e] = !0); + for ( + var t = 0, r = this.contributionAssociations; + t < r.length; + t++ + ) { + var n = r[t]; + this.filePatternAssociations.push(n); + } + }), + (e.prototype.getResolvedSchema = function (e) { + var t = Tt(e), + r = this.schemasById[t]; + return r ? r.getResolvedSchema() : this.promise.resolve(void 0); + }), + (e.prototype.loadSchema = function (e) { + if (!this.requestService) { + var t = St( + 'json.schema.norequestservice', + "Unable to load schema from '{0}'. No schema request service available", + jt(e) + ); + return this.promise.resolve(new wt({}, [t])); + } + return this.requestService(e).then( + function (t) { + if (!t) { + var r = St( + 'json.schema.nocontent', + "Unable to load schema from '{0}': No content.", + jt(e) + ); + return new wt({}, [r]); + } + var n, + i = []; + n = R(t, i); + var o = i.length + ? [ + St( + 'json.schema.invalidFormat', + "Unable to parse content from '{0}': Parse error at offset {1}.", + jt(e), + i[0].offset + ), + ] + : []; + return new wt(n, o); + }, + function (t) { + var r = t.toString(), + n = t.toString().split('Error: '); + return ( + n.length > 1 && (r = n[1]), + Xe(r, '.') && (r = r.substr(0, r.length - 1)), + new wt({}, [ + St( + 'json.schema.nocontent', + "Unable to load schema from '{0}': {1}.", + jt(e), + r + ), + ]) + ); + } + ); + }), + (e.prototype.resolveSchemaContent = function (e, t, r) { + var n = this, + i = e.errors.slice(0), + o = e.schema; + if (o.$schema) { + var a = Tt(o.$schema); + if ('http://json-schema.org/draft-03/schema' === a) + return this.promise.resolve( + new At({}, [ + St( + 'json.schema.draft03.notsupported', + 'Draft-03 schemas are not supported.' + ), + ]) + ); + 'https://json-schema.org/draft/2019-09/schema' === a && + i.push( + St( + 'json.schema.draft201909.notsupported', + 'Draft 2019-09 schemas are not yet fully supported.' + ) + ); + } + var s = this.contextService, + u = function (e, t, r, n) { + var o = n ? decodeURIComponent(n) : void 0, + a = (function (e, t) { + if (!t) return e; + var r = e; + return ( + '/' === t[0] && (t = t.substr(1)), + t.split('/').some(function (e) { + return !(r = r[e]); + }), + r + ); + })(t, o); + if (a) + for (var s in a) + a.hasOwnProperty(s) && + !e.hasOwnProperty(s) && + (e[s] = a[s]); + else + i.push( + St( + 'json.schema.invalidref', + "$ref '{0}' in '{1}' can not be resolved.", + o, + r + ) + ); + }, + c = function (e, t, r, o, a) { + s && + !/^\w+:\/\/.*/.test(t) && + (t = s.resolveRelativePath(t, o)), + (t = Tt(t)); + var c = n.getOrAddSchemaHandle(t); + return c.getUnresolvedSchema().then(function (n) { + if (((a[t] = !0), n.errors.length)) { + var o = r ? t + '#' + r : t; + i.push( + St( + 'json.schema.problemloadingref', + "Problems loading reference '{0}': {1}", + o, + n.errors[0] + ) + ); + } + return ( + u(e, n.schema, t, r), l(e, n.schema, t, c.dependencies) + ); + }); + }, + l = function (e, t, r, i) { + if (!e || 'object' != typeof e) + return Promise.resolve(null); + for ( + var o = [e], + a = [], + s = [], + l = function (e) { + for (var n = []; e.$ref; ) { + var a = e.$ref, + l = a.split('#', 2); + if ((delete e.$ref, l[0].length > 0)) + return void s.push(c(e, l[0], l[1], r, i)); + -1 === n.indexOf(a) && + (u(e, t, r, l[1]), n.push(a)); + } + !(function () { + for (var e = [], t = 0; t < arguments.length; t++) + e[t] = arguments[t]; + for (var r = 0, n = e; r < n.length; r++) { + var i = n[r]; + 'object' == typeof i && o.push(i); + } + })( + e.items, + e.additionalItems, + e.additionalProperties, + e.not, + e.contains, + e.propertyNames, + e.if, + e.then, + e.else + ), + (function () { + for (var e = [], t = 0; t < arguments.length; t++) + e[t] = arguments[t]; + for (var r = 0, n = e; r < n.length; r++) { + var i = n[r]; + if ('object' == typeof i) + for (var a in i) { + var s = i[a]; + 'object' == typeof s && o.push(s); + } + } + })( + e.definitions, + e.properties, + e.patternProperties, + e.dependencies + ), + (function () { + for (var e = [], t = 0; t < arguments.length; t++) + e[t] = arguments[t]; + for (var r = 0, n = e; r < n.length; r++) { + var i = n[r]; + if (Array.isArray(i)) + for (var a = 0, s = i; a < s.length; a++) { + var u = s[a]; + 'object' == typeof u && o.push(u); + } + } + })(e.anyOf, e.allOf, e.oneOf, e.items); + }; + o.length; + + ) { + var f = o.pop(); + a.indexOf(f) >= 0 || (a.push(f), l(f)); + } + return n.promise.all(s); + }; + return l(o, o, t, r).then(function (e) { + return new At(o, i); + }); + }), + (e.prototype.getSchemaForResource = function (e, t) { + if (t && t.root && 'object' === t.root.type) { + var r = t.root.properties.filter(function (e) { + return ( + '$schema' === e.keyNode.value && + e.valueNode && + 'string' === e.valueNode.type + ); + }); + if (r.length > 0) { + var n = r[0].valueNode; + if (n && 'string' === n.type) { + var i = Je(n); + if ( + (i && + (function (e, t) { + if (e.length < '.'.length) return !1; + for (var r = 0; r < '.'.length; r++) + if (e[r] !== '.'[r]) return !1; + return !0; + })(i) && + this.contextService && + (i = this.contextService.resolveRelativePath(i, e)), + i) + ) { + var o = Tt(i); + return this.getOrAddSchemaHandle(o).getResolvedSchema(); + } + } + } + } + if ( + this.cachedSchemaForResource && + this.cachedSchemaForResource.resource === e + ) + return this.cachedSchemaForResource.resolvedSchema; + for ( + var a = Object.create(null), + s = [], + u = 0, + c = this.filePatternAssociations; + u < c.length; + u++ + ) { + var l = c[u]; + if (l.matchesPattern(e)) + for (var f = 0, h = l.getURIs(); f < h.length; f++) { + var p = h[f]; + a[p] || (s.push(p), (a[p] = !0)); + } + } + var d = + s.length > 0 + ? this.createCombinedSchema(e, s).getResolvedSchema() + : this.promise.resolve(void 0); + return ( + (this.cachedSchemaForResource = { + resource: e, + resolvedSchema: d, + }), + d + ); + }), + (e.prototype.createCombinedSchema = function (e, t) { + if (1 === t.length) return this.getOrAddSchemaHandle(t[0]); + var r = + 'schemaservice://combinedSchema/' + encodeURIComponent(e), + n = { + allOf: t.map(function (e) { + return { $ref: e }; + }), + }; + return this.addSchemaHandle(r, n); + }), + (e.prototype.getMatchingSchemas = function (e, t, r) { + if (r) { + var n = + r.id || 'schemaservice://untitled/matchingSchemas/' + It++; + return this.resolveSchemaContent(new wt(r), n, {}).then( + function (e) { + return t + .getMatchingSchemas(e.schema) + .filter(function (e) { + return !e.inverted; + }); + } + ); + } + return this.getSchemaForResource(e.uri, t).then(function (e) { + return e + ? t.getMatchingSchemas(e.schema).filter(function (e) { + return !e.inverted; + }) + : []; + }); + }); + })(), + 0); + function Tt(e) { + try { + return lt.parse(e).toString(); + } catch (t) { + return e; + } + } + function jt(e) { + try { + var t = lt.parse(e); + if ('file' === t.scheme) return t.fsPath; + } catch (e) {} + return e; + } + var Et = Fe(), + Ot = + ((function () { + function e(e, t) { + (this.jsonSchemaService = e), + (this.promise = t), + (this.validationEnabled = !0); + } + (e.prototype.configure = function (e) { + e && + ((this.validationEnabled = e.validate), + (this.commentSeverity = e.allowComments ? void 0 : x.Error)); + }), + (e.prototype.doValidation = function (e, t, r, n) { + var i = this; + if (!this.validationEnabled) return this.promise.resolve([]); + var o = [], + a = {}, + s = function (e) { + var t = + e.range.start.line + + ' ' + + e.range.start.character + + ' ' + + e.message; + a[t] || ((a[t] = !0), o.push(e)); + }, + u = function (n) { + var a = r ? _t(r.trailingCommas) : x.Error, + u = r ? _t(r.comments) : i.commentSeverity; + if (n) { + if (n.errors.length && t.root) { + var c = t.root, + l = 'object' === c.type ? c.properties[0] : void 0; + if (l && '$schema' === l.keyNode.value) { + var h = l.valueNode || l, + p = f.create( + e.positionAt(h.offset), + e.positionAt(h.offset + h.length) + ); + s( + k.create( + p, + n.errors[0], + x.Warning, + we.SchemaResolveError + ) + ); + } else + (p = f.create( + e.positionAt(c.offset), + e.positionAt(c.offset + 1) + )), + s( + k.create( + p, + n.errors[0], + x.Warning, + we.SchemaResolveError + ) + ); + } else { + var d = t.validate(e, n.schema); + d && d.forEach(s); + } + Mt(n.schema) && (u = void 0), + Pt(n.schema) && (a = void 0); + } + for (var m = 0, g = t.syntaxErrors; m < g.length; m++) { + var v = g[m]; + if (v.code === we.TrailingComma) { + if ('number' != typeof a) continue; + v.severity = a; + } + s(v); + } + if ('number' == typeof u) { + var y = Et( + 'InvalidCommentToken', + 'Comments are not permitted in JSON.' + ); + t.comments.forEach(function (e) { + s(k.create(e, y, u, we.CommentNotPermitted)); + }); + } + return o; + }; + if (n) { + var c = n.id || 'schemaservice://untitled/' + Ot++; + return this.jsonSchemaService + .resolveSchemaContent(new wt(n), c, {}) + .then(function (e) { + return u(e); + }); + } + return this.jsonSchemaService + .getSchemaForResource(e.uri, t) + .then(function (e) { + return u(e); + }); + }); + })(), + 0); + function Mt(e) { + if (e && 'object' == typeof e) { + if (B(e.allowComments)) return e.allowComments; + if (e.allOf) + for (var t = 0, r = e.allOf; t < r.length; t++) { + var n = Mt(r[t]); + if (B(n)) return n; + } + } + } + function Pt(e) { + if (e && 'object' == typeof e) { + if (B(e.allowTrailingCommas)) return e.allowTrailingCommas; + var t = e; + if (B(t.allowsTrailingCommas)) return t.allowsTrailingCommas; + if (e.allOf) + for (var r = 0, n = e.allOf; r < n.length; r++) { + var i = Pt(n[r]); + if (B(i)) return i; + } + } + } + function _t(e) { + switch (e) { + case 'error': + return x.Error; + case 'warning': + return x.Warning; + case 'ignore': + return; + } + } + function Ft(e) { + return e < 48 + ? 0 + : e <= 57 + ? e - 48 + : (e < 97 && (e += 32), e >= 97 && e <= 102 ? e - 97 + 10 : 0); + } + function Vt(e) { + if ('#' === e[0]) + switch (e.length) { + case 4: + return { + red: (17 * Ft(e.charCodeAt(1))) / 255, + green: (17 * Ft(e.charCodeAt(2))) / 255, + blue: (17 * Ft(e.charCodeAt(3))) / 255, + alpha: 1, + }; + case 5: + return { + red: (17 * Ft(e.charCodeAt(1))) / 255, + green: (17 * Ft(e.charCodeAt(2))) / 255, + blue: (17 * Ft(e.charCodeAt(3))) / 255, + alpha: (17 * Ft(e.charCodeAt(4))) / 255, + }; + case 7: + return { + red: (16 * Ft(e.charCodeAt(1)) + Ft(e.charCodeAt(2))) / 255, + green: (16 * Ft(e.charCodeAt(3)) + Ft(e.charCodeAt(4))) / 255, + blue: (16 * Ft(e.charCodeAt(5)) + Ft(e.charCodeAt(6))) / 255, + alpha: 1, + }; + case 9: + return { + red: (16 * Ft(e.charCodeAt(1)) + Ft(e.charCodeAt(2))) / 255, + green: (16 * Ft(e.charCodeAt(3)) + Ft(e.charCodeAt(4))) / 255, + blue: (16 * Ft(e.charCodeAt(5)) + Ft(e.charCodeAt(6))) / 255, + alpha: (16 * Ft(e.charCodeAt(7)) + Ft(e.charCodeAt(8))) / 255, + }; + } + } + function Nt(e, t) { + return f.create( + e.positionAt(t.offset), + e.positionAt(t.offset + t.length) + ); + } + !(function () { + function e(e) { + this.schemaService = e; + } + (e.prototype.findDocumentSymbols = function (e, t, r) { + var n = this; + void 0 === r && (r = { resultLimit: Number.MAX_VALUE }); + var i = t.root; + if (!i) return []; + var o = r.resultLimit || Number.MAX_VALUE, + a = e.uri; + if ( + ('vscode://defaultsettings/keybindings.json' === a || + Xe(a.toLowerCase(), '/user/keybindings.json')) && + 'array' === i.type + ) { + for (var s = [], u = 0, c = i.items; u < c.length; u++) { + var l = c[u]; + if ('object' === l.type) + for (var f = 0, p = l.properties; f < p.length; f++) { + var d = p[f]; + if ('key' === d.keyNode.value && d.valueNode) { + var m = h.create(e.uri, Nt(e, l)); + if ( + (s.push({ + name: Je(d.valueNode), + kind: se.Function, + location: m, + }), + --o <= 0) + ) + return ( + r && + r.onResultLimitExceeded && + r.onResultLimitExceeded(a), + s + ); + } + } + } + return s; + } + for ( + var g = [{ node: i, containerName: '' }], + v = 0, + y = !1, + b = [], + x = function (t, r) { + 'array' === t.type + ? t.items.forEach(function (e) { + e && g.push({ node: e, containerName: r }); + }) + : 'object' === t.type && + t.properties.forEach(function (t) { + var i = t.valueNode; + if (i) + if (o > 0) { + o--; + var a = h.create(e.uri, Nt(e, t)), + s = r ? r + '.' + t.keyNode.value : t.keyNode.value; + b.push({ + name: n.getKeyLabel(t), + kind: n.getSymbolKind(i.type), + location: a, + containerName: r, + }), + g.push({ node: i, containerName: s }); + } else y = !0; + }); + }; + v < g.length; + + ) { + var S = g[v++]; + x(S.node, S.containerName); + } + return ( + y && r && r.onResultLimitExceeded && r.onResultLimitExceeded(a), b + ); + }), + (e.prototype.findDocumentSymbols2 = function (e, t, r) { + var n = this; + void 0 === r && (r = { resultLimit: Number.MAX_VALUE }); + var i = t.root; + if (!i) return []; + var o = r.resultLimit || Number.MAX_VALUE, + a = e.uri; + if ( + ('vscode://defaultsettings/keybindings.json' === a || + Xe(a.toLowerCase(), '/user/keybindings.json')) && + 'array' === i.type + ) { + for (var s = [], u = 0, c = i.items; u < c.length; u++) { + var l = c[u]; + if ('object' === l.type) + for (var f = 0, h = l.properties; f < h.length; f++) { + var p = h[f]; + if ('key' === p.keyNode.value && p.valueNode) { + var d = Nt(e, l), + m = Nt(e, p.keyNode); + if ( + (s.push({ + name: Je(p.valueNode), + kind: se.Function, + range: d, + selectionRange: m, + }), + --o <= 0) + ) + return ( + r && + r.onResultLimitExceeded && + r.onResultLimitExceeded(a), + s + ); + } + } + } + return s; + } + for ( + var g = [], + v = [{ node: i, result: g }], + y = 0, + b = !1, + x = function (t, r) { + 'array' === t.type + ? t.items.forEach(function (t, i) { + if (t) + if (o > 0) { + o--; + var a = Nt(e, t), + s = a, + u = { + name: String(i), + kind: n.getSymbolKind(t.type), + range: a, + selectionRange: s, + children: [], + }; + r.push(u), v.push({ result: u.children, node: t }); + } else b = !0; + }) + : 'object' === t.type && + t.properties.forEach(function (t) { + var i = t.valueNode; + if (i) + if (o > 0) { + o--; + var a = Nt(e, t), + s = Nt(e, t.keyNode), + u = { + name: n.getKeyLabel(t), + kind: n.getSymbolKind(i.type), + range: a, + selectionRange: s, + children: [], + }; + r.push(u), v.push({ result: u.children, node: i }); + } else b = !0; + }); + }; + y < v.length; + + ) { + var S = v[y++]; + x(S.node, S.result); + } + return ( + b && r && r.onResultLimitExceeded && r.onResultLimitExceeded(a), g + ); + }), + (e.prototype.getSymbolKind = function (e) { + switch (e) { + case 'object': + return se.Module; + case 'string': + return se.String; + case 'number': + return se.Number; + case 'array': + return se.Array; + case 'boolean': + return se.Boolean; + default: + return se.Variable; + } + }), + (e.prototype.getKeyLabel = function (e) { + var t = e.keyNode.value; + return ( + t && (t = t.replace(/[\n]/g, '↵')), + t && t.trim() ? t : '"' + t + '"' + ); + }), + (e.prototype.findDocumentColors = function (e, t, r) { + return this.schemaService + .getSchemaForResource(e.uri, t) + .then(function (n) { + var i = []; + if (n) + for ( + var o = + r && 'number' == typeof r.resultLimit + ? r.resultLimit + : Number.MAX_VALUE, + a = {}, + s = 0, + u = t.getMatchingSchemas(n.schema); + s < u.length; + s++ + ) { + var c = u[s]; + if ( + !c.inverted && + c.schema && + ('color' === c.schema.format || + 'color-hex' === c.schema.format) && + c.node && + 'string' === c.node.type + ) { + var l = String(c.node.offset); + if (!a[l]) { + var f = Vt(Je(c.node)); + if (f) { + var h = Nt(e, c.node); + i.push({ color: f, range: h }); + } + if (((a[l] = !0), --o <= 0)) + return ( + r && + r.onResultLimitExceeded && + r.onResultLimitExceeded(e.uri), + i + ); + } + } + } + return i; + }); + }), + (e.prototype.getColorPresentations = function (e, t, r, n) { + var i, + o = [], + a = Math.round(255 * r.red), + s = Math.round(255 * r.green), + u = Math.round(255 * r.blue); + function c(e) { + var t = e.toString(16); + return 2 !== t.length ? '0' + t : t; + } + return ( + (i = + 1 === r.alpha + ? '#' + c(a) + c(s) + c(u) + : '#' + c(a) + c(s) + c(u) + c(Math.round(255 * r.alpha))), + o.push({ label: i, textEdit: w.replace(n, JSON.stringify(i)) }), + o + ); + }); + })(); + var Rt = Fe(), + $t = { + schemaAssociations: [], + schemas: { + 'http://json-schema.org/schema#': { + $ref: 'http://json-schema.org/draft-07/schema#', + }, + 'http://json-schema.org/draft-04/schema#': { + title: Rt( + 'schema.json', + 'Describes a JSON file using a schema. See json-schema.org for more info.' + ), + $schema: 'http://json-schema.org/draft-04/schema#', + definitions: { + schemaArray: { + type: 'array', + minItems: 1, + items: { $ref: '#' }, + }, + positiveInteger: { type: 'integer', minimum: 0 }, + positiveIntegerDefault0: { + allOf: [ + { $ref: '#/definitions/positiveInteger' }, + { default: 0 }, + ], + }, + simpleTypes: { + type: 'string', + enum: [ + 'array', + 'boolean', + 'integer', + 'null', + 'number', + 'object', + 'string', + ], + }, + stringArray: { + type: 'array', + items: { type: 'string' }, + minItems: 1, + uniqueItems: !0, + }, + }, + type: 'object', + properties: { + id: { type: 'string', format: 'uri' }, + $schema: { type: 'string', format: 'uri' }, + title: { type: 'string' }, + description: { type: 'string' }, + default: {}, + multipleOf: { + type: 'number', + minimum: 0, + exclusiveMinimum: !0, + }, + maximum: { type: 'number' }, + exclusiveMaximum: { type: 'boolean', default: !1 }, + minimum: { type: 'number' }, + exclusiveMinimum: { type: 'boolean', default: !1 }, + maxLength: { + allOf: [{ $ref: '#/definitions/positiveInteger' }], + }, + minLength: { + allOf: [{ $ref: '#/definitions/positiveIntegerDefault0' }], + }, + pattern: { type: 'string', format: 'regex' }, + additionalItems: { + anyOf: [{ type: 'boolean' }, { $ref: '#' }], + default: {}, + }, + items: { + anyOf: [{ $ref: '#' }, { $ref: '#/definitions/schemaArray' }], + default: {}, + }, + maxItems: { + allOf: [{ $ref: '#/definitions/positiveInteger' }], + }, + minItems: { + allOf: [{ $ref: '#/definitions/positiveIntegerDefault0' }], + }, + uniqueItems: { type: 'boolean', default: !1 }, + maxProperties: { + allOf: [{ $ref: '#/definitions/positiveInteger' }], + }, + minProperties: { + allOf: [{ $ref: '#/definitions/positiveIntegerDefault0' }], + }, + required: { allOf: [{ $ref: '#/definitions/stringArray' }] }, + additionalProperties: { + anyOf: [{ type: 'boolean' }, { $ref: '#' }], + default: {}, + }, + definitions: { + type: 'object', + additionalProperties: { $ref: '#' }, + default: {}, + }, + properties: { + type: 'object', + additionalProperties: { $ref: '#' }, + default: {}, + }, + patternProperties: { + type: 'object', + additionalProperties: { $ref: '#' }, + default: {}, + }, + dependencies: { + type: 'object', + additionalProperties: { + anyOf: [ + { $ref: '#' }, + { $ref: '#/definitions/stringArray' }, + ], + }, + }, + enum: { type: 'array', minItems: 1, uniqueItems: !0 }, + type: { + anyOf: [ + { $ref: '#/definitions/simpleTypes' }, + { + type: 'array', + items: { $ref: '#/definitions/simpleTypes' }, + minItems: 1, + uniqueItems: !0, + }, + ], + }, + format: { + anyOf: [ + { + type: 'string', + enum: [ + 'date-time', + 'uri', + 'email', + 'hostname', + 'ipv4', + 'ipv6', + 'regex', + ], + }, + { type: 'string' }, + ], + }, + allOf: { allOf: [{ $ref: '#/definitions/schemaArray' }] }, + anyOf: { allOf: [{ $ref: '#/definitions/schemaArray' }] }, + oneOf: { allOf: [{ $ref: '#/definitions/schemaArray' }] }, + not: { allOf: [{ $ref: '#' }] }, + }, + dependencies: { + exclusiveMaximum: ['maximum'], + exclusiveMinimum: ['minimum'], + }, + default: {}, + }, + 'http://json-schema.org/draft-07/schema#': { + title: Rt( + 'schema.json', + 'Describes a JSON file using a schema. See json-schema.org for more info.' + ), + definitions: { + schemaArray: { + type: 'array', + minItems: 1, + items: { $ref: '#' }, + }, + nonNegativeInteger: { type: 'integer', minimum: 0 }, + nonNegativeIntegerDefault0: { + allOf: [ + { $ref: '#/definitions/nonNegativeInteger' }, + { default: 0 }, + ], + }, + simpleTypes: { + enum: [ + 'array', + 'boolean', + 'integer', + 'null', + 'number', + 'object', + 'string', + ], + }, + stringArray: { + type: 'array', + items: { type: 'string' }, + uniqueItems: !0, + default: [], + }, + }, + type: ['object', 'boolean'], + properties: { + $id: { type: 'string', format: 'uri-reference' }, + $schema: { type: 'string', format: 'uri' }, + $ref: { type: 'string', format: 'uri-reference' }, + $comment: { type: 'string' }, + title: { type: 'string' }, + description: { type: 'string' }, + default: !0, + readOnly: { type: 'boolean', default: !1 }, + examples: { type: 'array', items: !0 }, + multipleOf: { type: 'number', exclusiveMinimum: 0 }, + maximum: { type: 'number' }, + exclusiveMaximum: { type: 'number' }, + minimum: { type: 'number' }, + exclusiveMinimum: { type: 'number' }, + maxLength: { $ref: '#/definitions/nonNegativeInteger' }, + minLength: { $ref: '#/definitions/nonNegativeIntegerDefault0' }, + pattern: { type: 'string', format: 'regex' }, + additionalItems: { $ref: '#' }, + items: { + anyOf: [{ $ref: '#' }, { $ref: '#/definitions/schemaArray' }], + default: !0, + }, + maxItems: { $ref: '#/definitions/nonNegativeInteger' }, + minItems: { $ref: '#/definitions/nonNegativeIntegerDefault0' }, + uniqueItems: { type: 'boolean', default: !1 }, + contains: { $ref: '#' }, + maxProperties: { $ref: '#/definitions/nonNegativeInteger' }, + minProperties: { + $ref: '#/definitions/nonNegativeIntegerDefault0', + }, + required: { $ref: '#/definitions/stringArray' }, + additionalProperties: { $ref: '#' }, + definitions: { + type: 'object', + additionalProperties: { $ref: '#' }, + default: {}, + }, + properties: { + type: 'object', + additionalProperties: { $ref: '#' }, + default: {}, + }, + patternProperties: { + type: 'object', + additionalProperties: { $ref: '#' }, + propertyNames: { format: 'regex' }, + default: {}, + }, + dependencies: { + type: 'object', + additionalProperties: { + anyOf: [ + { $ref: '#' }, + { $ref: '#/definitions/stringArray' }, + ], + }, + }, + propertyNames: { $ref: '#' }, + const: !0, + enum: { + type: 'array', + items: !0, + minItems: 1, + uniqueItems: !0, + }, + type: { + anyOf: [ + { $ref: '#/definitions/simpleTypes' }, + { + type: 'array', + items: { $ref: '#/definitions/simpleTypes' }, + minItems: 1, + uniqueItems: !0, + }, + ], + }, + format: { type: 'string' }, + contentMediaType: { type: 'string' }, + contentEncoding: { type: 'string' }, + if: { $ref: '#' }, + then: { $ref: '#' }, + else: { $ref: '#' }, + allOf: { $ref: '#/definitions/schemaArray' }, + anyOf: { $ref: '#/definitions/schemaArray' }, + oneOf: { $ref: '#/definitions/schemaArray' }, + not: { $ref: '#' }, + }, + default: !0, + }, + }, + }, + Lt = { + id: Rt('schema.json.id', 'A unique identifier for the schema.'), + $schema: Rt( + 'schema.json.$schema', + 'The schema to verify this document against.' + ), + title: Rt('schema.json.title', 'A descriptive title of the element.'), + description: Rt( + 'schema.json.description', + 'A long description of the element. Used in hover menus and suggestions.' + ), + default: Rt( + 'schema.json.default', + 'A default value. Used by suggestions.' + ), + multipleOf: Rt( + 'schema.json.multipleOf', + 'A number that should cleanly divide the current value (i.e. have no remainder).' + ), + maximum: Rt( + 'schema.json.maximum', + 'The maximum numerical value, inclusive by default.' + ), + exclusiveMaximum: Rt( + 'schema.json.exclusiveMaximum', + 'Makes the maximum property exclusive.' + ), + minimum: Rt( + 'schema.json.minimum', + 'The minimum numerical value, inclusive by default.' + ), + exclusiveMinimum: Rt( + 'schema.json.exclusiveMininum', + 'Makes the minimum property exclusive.' + ), + maxLength: Rt( + 'schema.json.maxLength', + 'The maximum length of a string.' + ), + minLength: Rt( + 'schema.json.minLength', + 'The minimum length of a string.' + ), + pattern: Rt( + 'schema.json.pattern', + 'A regular expression to match the string against. It is not implicitly anchored.' + ), + additionalItems: Rt( + 'schema.json.additionalItems', + 'For arrays, only when items is set as an array. If it is a schema, then this schema validates items after the ones specified by the items array. If it is false, then additional items will cause validation to fail.' + ), + items: Rt( + 'schema.json.items', + 'For arrays. Can either be a schema to validate every element against or an array of schemas to validate each item against in order (the first schema will validate the first element, the second schema will validate the second element, and so on.' + ), + maxItems: Rt( + 'schema.json.maxItems', + 'The maximum number of items that can be inside an array. Inclusive.' + ), + minItems: Rt( + 'schema.json.minItems', + 'The minimum number of items that can be inside an array. Inclusive.' + ), + uniqueItems: Rt( + 'schema.json.uniqueItems', + 'If all of the items in the array must be unique. Defaults to false.' + ), + maxProperties: Rt( + 'schema.json.maxProperties', + 'The maximum number of properties an object can have. Inclusive.' + ), + minProperties: Rt( + 'schema.json.minProperties', + 'The minimum number of properties an object can have. Inclusive.' + ), + required: Rt( + 'schema.json.required', + 'An array of strings that lists the names of all properties required on this object.' + ), + additionalProperties: Rt( + 'schema.json.additionalProperties', + "Either a schema or a boolean. If a schema, then used to validate all properties not matched by 'properties' or 'patternProperties'. If false, then any properties not matched by either will cause this schema to fail." + ), + definitions: Rt( + 'schema.json.definitions', + 'Not used for validation. Place subschemas here that you wish to reference inline with $ref.' + ), + properties: Rt( + 'schema.json.properties', + 'A map of property names to schemas for each property.' + ), + patternProperties: Rt( + 'schema.json.patternProperties', + 'A map of regular expressions on property names to schemas for matching properties.' + ), + dependencies: Rt( + 'schema.json.dependencies', + 'A map of property names to either an array of property names or a schema. An array of property names means the property named in the key depends on the properties in the array being present in the object in order to be valid. If the value is a schema, then the schema is only applied to the object if the property in the key exists on the object.' + ), + enum: Rt( + 'schema.json.enum', + 'The set of literal values that are valid.' + ), + type: Rt( + 'schema.json.type', + 'Either a string of one of the basic schema types (number, integer, null, array, object, boolean, string) or an array of strings specifying a subset of those types.' + ), + format: Rt( + 'schema.json.format', + 'Describes the format expected for the value.' + ), + allOf: Rt( + 'schema.json.allOf', + 'An array of schemas, all of which must match.' + ), + anyOf: Rt( + 'schema.json.anyOf', + 'An array of schemas, where at least one must match.' + ), + oneOf: Rt( + 'schema.json.oneOf', + 'An array of schemas, exactly one of which must match.' + ), + not: Rt('schema.json.not', 'A schema which must not match.'), + $id: Rt('schema.json.$id', 'A unique identifier for the schema.'), + $ref: Rt( + 'schema.json.$ref', + 'Reference a definition hosted on any location.' + ), + $comment: Rt( + 'schema.json.$comment', + 'Comments from schema authors to readers or maintainers of the schema.' + ), + readOnly: Rt( + 'schema.json.readOnly', + 'Indicates that the value of the instance is managed exclusively by the owning authority.' + ), + examples: Rt( + 'schema.json.examples', + 'Sample JSON values associated with a particular schema, for the purpose of illustrating usage.' + ), + contains: Rt( + 'schema.json.contains', + 'An array instance is valid against "contains" if at least one of its elements is valid against the given schema.' + ), + propertyNames: Rt( + 'schema.json.propertyNames', + 'If the instance is an object, this keyword validates if every property name in the instance validates against the provided schema.' + ), + const: Rt( + 'schema.json.const', + 'An instance validates successfully against this keyword if its value is equal to the value of the keyword.' + ), + contentMediaType: Rt( + 'schema.json.contentMediaType', + 'Describes the media type of a string property.' + ), + contentEncoding: Rt( + 'schema.json.contentEncoding', + 'Describes the content encoding of a string property.' + ), + if: Rt( + 'schema.json.if', + 'The validation outcome of the "if" subschema controls which of the "then" or "else" keywords are evaluated.' + ), + then: Rt( + 'schema.json.then', + 'The "if" subschema is used for validation when the "if" subschema succeeds.' + ), + else: Rt( + 'schema.json.else', + 'The "else" subschema is used for validation when the "if" subschema fails.' + ), + }; + for (var Dt in $t.schemas) { + var Wt = $t.schemas[Dt]; + for (var Ut in Wt.properties) { + var qt = Wt.properties[Ut]; + 'boolean' == typeof qt && (qt = Wt.properties[Ut] = {}); + var Bt = Lt[Ut]; + Bt + ? (qt.description = Bt) + : console.log(Ut + ": localize('schema.json." + Ut + '\', "")'); + } + } + var Kt = (function () { + function e(e, t, r) { + var n = this; + (this._languageId = e), + (this._worker = t), + (this._disposables = []), + (this._listener = Object.create(null)); + var o = function (e) { + var t, + r = e.getModeId(); + r === n._languageId && + ((n._listener[e.uri.toString()] = e.onDidChangeContent( + function () { + clearTimeout(t), + (t = setTimeout(function () { + return n._doValidate(e.uri, r); + }, 500)); + } + )), + n._doValidate(e.uri, r)); + }, + a = function (e) { + i.j6.setModelMarkers(e, n._languageId, []); + var t = e.uri.toString(), + r = n._listener[t]; + r && (r.dispose(), delete n._listener[t]); + }; + this._disposables.push(i.j6.onDidCreateModel(o)), + this._disposables.push( + i.j6.onWillDisposeModel(function (e) { + a(e), n._resetSchema(e.uri); + }) + ), + this._disposables.push( + i.j6.onDidChangeModelLanguage(function (e) { + a(e.model), o(e.model), n._resetSchema(e.model.uri); + }) + ), + this._disposables.push( + r.onDidChange(function (e) { + i.j6.getModels().forEach(function (e) { + e.getModeId() === n._languageId && (a(e), o(e)); + }); + }) + ), + this._disposables.push({ + dispose: function () { + for (var e in (i.j6.getModels().forEach(a), n._listener)) + n._listener[e].dispose(); + }, + }), + i.j6.getModels().forEach(o); + } + return ( + (e.prototype.dispose = function () { + this._disposables.forEach(function (e) { + return e && e.dispose(); + }), + (this._disposables = []); + }), + (e.prototype._resetSchema = function (e) { + this._worker().then(function (t) { + t.resetSchema(e.toString()); + }); + }), + (e.prototype._doValidate = function (e, t) { + this._worker(e) + .then(function (r) { + return r.doValidation(e.toString()).then(function (r) { + var n = r.map(function (e) { + return ( + (r = + 'number' == typeof (t = e).code + ? String(t.code) + : t.code), + { + severity: Jt(t.severity), + startLineNumber: t.range.start.line + 1, + startColumn: t.range.start.character + 1, + endLineNumber: t.range.end.line + 1, + endColumn: t.range.end.character + 1, + message: t.message, + code: r, + source: t.source, + } + ); + var t, r; + }), + o = i.j6.getModel(e); + o && o.getModeId() === t && i.j6.setModelMarkers(o, t, n); + }); + }) + .then(void 0, function (e) { + console.error(e); + }); + }), + e + ); + })(); + function Jt(e) { + switch (e) { + case x.Error: + return i.ZL.Error; + case x.Warning: + return i.ZL.Warning; + case x.Information: + return i.ZL.Info; + case x.Hint: + return i.ZL.Hint; + default: + return i.ZL.Info; + } + } + function Ht(e) { + if (e) return { character: e.column - 1, line: e.lineNumber - 1 }; + } + function zt(e) { + if (e) + return { + start: { + line: e.startLineNumber - 1, + character: e.startColumn - 1, + }, + end: { line: e.endLineNumber - 1, character: e.endColumn - 1 }, + }; + } + function Gt(e) { + if (e) + return new i.e6( + e.start.line + 1, + e.start.character + 1, + e.end.line + 1, + e.end.character + 1 + ); + } + function Zt(e) { + var t = i.Mj.CompletionItemKind; + switch (e) { + case Z.Text: + return t.Text; + case Z.Method: + return t.Method; + case Z.Function: + return t.Function; + case Z.Constructor: + return t.Constructor; + case Z.Field: + return t.Field; + case Z.Variable: + return t.Variable; + case Z.Class: + return t.Class; + case Z.Interface: + return t.Interface; + case Z.Module: + return t.Module; + case Z.Property: + return t.Property; + case Z.Unit: + return t.Unit; + case Z.Value: + return t.Value; + case Z.Enum: + return t.Enum; + case Z.Keyword: + return t.Keyword; + case Z.Snippet: + return t.Snippet; + case Z.Color: + return t.Color; + case Z.File: + return t.File; + case Z.Reference: + return t.Reference; + } + return t.Property; + } + function Xt(e) { + if (e) return { range: Gt(e.range), text: e.newText }; + } + var Qt = (function () { + function e(e) { + this._worker = e; + } + return ( + Object.defineProperty(e.prototype, 'triggerCharacters', { + get: function () { + return [' ', ':']; + }, + enumerable: !1, + configurable: !0, + }), + (e.prototype.provideCompletionItems = function (e, t, r, n) { + var o = e.uri; + return this._worker(o) + .then(function (e) { + return e.doComplete(o.toString(), Ht(t)); + }) + .then(function (r) { + if (r) { + var n = e.getWordUntilPosition(t), + o = new i.e6( + t.lineNumber, + n.startColumn, + t.lineNumber, + n.endColumn + ), + a = r.items.map(function (e) { + var t, + r = { + label: e.label, + insertText: e.insertText || e.label, + sortText: e.sortText, + filterText: e.filterText, + documentation: e.documentation, + detail: e.detail, + range: o, + kind: Zt(e.kind), + }; + return ( + e.textEdit && + (void 0 === (t = e.textEdit).insert || + void 0 === t.replace + ? (r.range = Gt(e.textEdit.range)) + : (r.range = { + insert: Gt(e.textEdit.insert), + replace: Gt(e.textEdit.replace), + }), + (r.insertText = e.textEdit.newText)), + e.additionalTextEdits && + (r.additionalTextEdits = e.additionalTextEdits.map( + Xt + )), + e.insertTextFormat === X.Snippet && + (r.insertTextRules = + i.Mj.CompletionItemInsertTextRule.InsertAsSnippet), + r + ); + }); + return { isIncomplete: r.isIncomplete, suggestions: a }; + } + }); + }), + e + ); + })(); + function Yt(e) { + return 'string' == typeof e + ? { value: e } + : (t = e) && 'object' == typeof t && 'string' == typeof t.kind + ? 'plaintext' === e.kind + ? { value: e.value.replace(/[\\`*_{}[\]()#+\-.!]/g, '\\$&') } + : { value: e.value } + : { value: '```' + e.language + '\n' + e.value + '\n```\n' }; + var t; + } + function er(e) { + if (e) return Array.isArray(e) ? e.map(Yt) : [Yt(e)]; + } + var tr = (function () { + function e(e) { + this._worker = e; + } + return ( + (e.prototype.provideHover = function (e, t, r) { + var n = e.uri; + return this._worker(n) + .then(function (e) { + return e.doHover(n.toString(), Ht(t)); + }) + .then(function (e) { + if (e) return { range: Gt(e.range), contents: er(e.contents) }; + }); + }), + e + ); + })(); + function rr(e) { + var t = i.Mj.SymbolKind; + switch (e) { + case se.File: + return t.Array; + case se.Module: + return t.Module; + case se.Namespace: + return t.Namespace; + case se.Package: + return t.Package; + case se.Class: + return t.Class; + case se.Method: + return t.Method; + case se.Property: + return t.Property; + case se.Field: + return t.Field; + case se.Constructor: + return t.Constructor; + case se.Enum: + return t.Enum; + case se.Interface: + return t.Interface; + case se.Function: + return t.Function; + case se.Variable: + return t.Variable; + case se.Constant: + return t.Constant; + case se.String: + return t.String; + case se.Number: + return t.Number; + case se.Boolean: + return t.Boolean; + case se.Array: + return t.Array; + } + return t.Function; + } + var nr = (function () { + function e(e) { + this._worker = e; + } + return ( + (e.prototype.provideDocumentSymbols = function (e, t) { + var r = e.uri; + return this._worker(r) + .then(function (e) { + return e.findDocumentSymbols(r.toString()); + }) + .then(function (e) { + if (e) + return e.map(function (e) { + return { + name: e.name, + detail: '', + containerName: e.containerName, + kind: rr(e.kind), + range: Gt(e.location.range), + selectionRange: Gt(e.location.range), + tags: [], + }; + }); + }); + }), + e + ); + })(); + function ir(e) { + return { tabSize: e.tabSize, insertSpaces: e.insertSpaces }; + } + var or = (function () { + function e(e) { + this._worker = e; + } + return ( + (e.prototype.provideDocumentFormattingEdits = function (e, t, r) { + var n = e.uri; + return this._worker(n).then(function (e) { + return e.format(n.toString(), null, ir(t)).then(function (e) { + if (e && 0 !== e.length) return e.map(Xt); + }); + }); + }), + e + ); + })(), + ar = (function () { + function e(e) { + this._worker = e; + } + return ( + (e.prototype.provideDocumentRangeFormattingEdits = function ( + e, + t, + r, + n + ) { + var i = e.uri; + return this._worker(i).then(function (e) { + return e.format(i.toString(), zt(t), ir(r)).then(function (e) { + if (e && 0 !== e.length) return e.map(Xt); + }); + }); + }), + e + ); + })(), + sr = (function () { + function e(e) { + this._worker = e; + } + return ( + (e.prototype.provideDocumentColors = function (e, t) { + var r = e.uri; + return this._worker(r) + .then(function (e) { + return e.findDocumentColors(r.toString()); + }) + .then(function (e) { + if (e) + return e.map(function (e) { + return { color: e.color, range: Gt(e.range) }; + }); + }); + }), + (e.prototype.provideColorPresentations = function (e, t, r) { + var n = e.uri; + return this._worker(n) + .then(function (e) { + return e.getColorPresentations( + n.toString(), + t.color, + zt(t.range) + ); + }) + .then(function (e) { + if (e) + return e.map(function (e) { + var t = { label: e.label }; + return ( + e.textEdit && (t.textEdit = Xt(e.textEdit)), + e.additionalTextEdits && + (t.additionalTextEdits = e.additionalTextEdits.map( + Xt + )), + t + ); + }); + }); + }), + e + ); + })(), + ur = (function () { + function e(e) { + this._worker = e; + } + return ( + (e.prototype.provideFoldingRanges = function (e, t, r) { + var n = e.uri; + return this._worker(n) + .then(function (e) { + return e.getFoldingRanges(n.toString(), t); + }) + .then(function (e) { + if (e) + return e.map(function (e) { + var t = { start: e.startLine + 1, end: e.endLine + 1 }; + return ( + void 0 !== e.kind && + (t.kind = (function (e) { + switch (e) { + case v.Comment: + return i.Mj.FoldingRangeKind.Comment; + case v.Imports: + return i.Mj.FoldingRangeKind.Imports; + case v.Region: + return i.Mj.FoldingRangeKind.Region; + } + })(e.kind)), + t + ); + }); + }); + }), + e + ); + })(), + cr = (function () { + function e(e) { + this._worker = e; + } + return ( + (e.prototype.provideSelectionRanges = function (e, t, r) { + var n = e.uri; + return this._worker(n) + .then(function (e) { + return e.getSelectionRanges(n.toString(), t.map(Ht)); + }) + .then(function (e) { + if (e) + return e.map(function (e) { + for (var t = []; e; ) + t.push({ range: Gt(e.range) }), (e = e.parent); + return t; + }); + }); + }), + e + ); + })(); + var lr = 'delimiter.bracket.json', + fr = 'delimiter.array.json', + hr = 'delimiter.colon.json', + pr = 'delimiter.comma.json', + dr = 'keyword.json', + mr = 'keyword.json', + gr = 'string.value.json', + vr = 'number.json', + yr = 'string.key.json', + br = 'comment.block.json', + xr = 'comment.line.json', + Sr = (function () { + function e(e, t) { + (this.parent = e), (this.type = t); + } + return ( + (e.pop = function (e) { + return e ? e.parent : null; + }), + (e.push = function (t, r) { + return new e(t, r); + }), + (e.equals = function (e, t) { + if (!e && !t) return !0; + if (!e || !t) return !1; + for (; e && t; ) { + if (e === t) return !0; + if (e.type !== t.type) return !1; + (e = e.parent), (t = t.parent); + } + return !0; + }), + e + ); + })(), + kr = (function () { + function e(e, t, r, n) { + (this._state = e), + (this.scanError = t), + (this.lastWasColon = r), + (this.parents = n); + } + return ( + (e.prototype.clone = function () { + return new e( + this._state, + this.scanError, + this.lastWasColon, + this.parents + ); + }), + (e.prototype.equals = function (t) { + return ( + t === this || + (!!(t && t instanceof e) && + this.scanError === t.scanError && + this.lastWasColon === t.lastWasColon && + Sr.equals(this.parents, t.parents)) + ); + }), + (e.prototype.getStateData = function () { + return this._state; + }), + (e.prototype.setStateData = function (e) { + this._state = e; + }), + e + ); + })(); + function Cr(e) { + var t = [], + r = [], + n = new o(e); + t.push(n); + var a = function () { + for (var e = [], t = 0; t < arguments.length; t++) + e[t] = arguments[t]; + return n.getLanguageServiceWorker.apply(n, e); + }; + function s() { + var t, + n = e.languageId, + o = e.modeConfiguration; + Ar(r), + o.documentFormattingEdits && + r.push(i.Mj.registerDocumentFormattingEditProvider(n, new or(a))), + o.documentRangeFormattingEdits && + r.push( + i.Mj.registerDocumentRangeFormattingEditProvider(n, new ar(a)) + ), + o.completionItems && + r.push(i.Mj.registerCompletionItemProvider(n, new Qt(a))), + o.hovers && r.push(i.Mj.registerHoverProvider(n, new tr(a))), + o.documentSymbols && + r.push(i.Mj.registerDocumentSymbolProvider(n, new nr(a))), + o.tokens && + r.push( + i.Mj.setTokensProvider( + n, + ((t = !0), + { + getInitialState: function () { + return new kr(null, null, !1, null); + }, + tokenize: function (e, r, n, i) { + return (function (e, t, r, n, i) { + void 0 === n && (n = 0); + var o = 0, + a = !1; + switch (r.scanError) { + case 2: + (t = '"' + t), (o = 1); + break; + case 1: + (t = '/*' + t), (o = 2); + } + for ( + var s = N(t), + u = r.lastWasColon, + c = r.parents, + l = { tokens: [], endState: r.clone() }; + ; + + ) { + var f = n + s.getPosition(), + h = '', + p = s.scan(); + if (17 === p) break; + if (f === n + s.getPosition()) + throw new Error( + 'Scanner did not advance, next 3 characters are: ' + + t.substr(s.getPosition(), 3) + ); + switch ((a && (f -= o), (a = o > 0), p)) { + case 1: + (c = Sr.push(c, 0)), (h = lr), (u = !1); + break; + case 2: + (c = Sr.pop(c)), (h = lr), (u = !1); + break; + case 3: + (c = Sr.push(c, 1)), (h = fr), (u = !1); + break; + case 4: + (c = Sr.pop(c)), (h = fr), (u = !1); + break; + case 6: + (h = hr), (u = !0); + break; + case 5: + (h = pr), (u = !1); + break; + case 8: + case 9: + (h = dr), (u = !1); + break; + case 7: + (h = mr), (u = !1); + break; + case 10: + var d = c ? c.type : 0; + (h = u || 1 === d ? gr : yr), (u = !1); + break; + case 11: + (h = vr), (u = !1); + } + if (e) + switch (p) { + case 12: + h = xr; + break; + case 13: + h = br; + } + (l.endState = new kr( + r.getStateData(), + s.getTokenError(), + u, + c + )), + l.tokens.push({ startIndex: f, scopes: h }); + } + return l; + })(t, e, r, n); + }, + }) + ) + ), + o.colors && r.push(i.Mj.registerColorProvider(n, new sr(a))), + o.foldingRanges && + r.push(i.Mj.registerFoldingRangeProvider(n, new ur(a))), + o.diagnostics && r.push(new Kt(n, a, e)), + o.selectionRanges && + r.push(i.Mj.registerSelectionRangeProvider(n, new cr(a))); + } + s(), t.push(i.Mj.setLanguageConfiguration(e.languageId, Ir)); + var u = e.modeConfiguration; + return ( + e.onDidChange(function (e) { + e.modeConfiguration !== u && ((u = e.modeConfiguration), s()); + }), + t.push(wr(r)), + wr(t) + ); + } + function wr(e) { + return { + dispose: function () { + return Ar(e); + }, + }; + } + function Ar(e) { + for (; e.length; ) e.pop().dispose(); + } + var Ir = { + wordPattern: /(-?\d*\.\d\w*)|([^\[\{\]\}\:\"\,\s]+)/g, + comments: { lineComment: '//', blockComment: ['/*', '*/'] }, + brackets: [ + ['{', '}'], + ['[', ']'], + ], + autoClosingPairs: [ + { open: '{', close: '}', notIn: ['string'] }, + { open: '[', close: ']', notIn: ['string'] }, + { open: '"', close: '"', notIn: ['string'] }, + ], + }; + }, + }, +]); diff --git a/docs/7287.7287.js b/docs/7287.7287.js new file mode 100644 index 00000000..37deb8ae --- /dev/null +++ b/docs/7287.7287.js @@ -0,0 +1,244 @@ +(self.webpackChunkmermaid_live_editor = + self.webpackChunkmermaid_live_editor || []).push([ + [7287], + { + 37287: (e, n, s) => { + 'use strict'; + s.r(n), s.d(n, { conf: () => r, language: () => i }); + var t = s(89587), + r = { + comments: { lineComment: '#', blockComment: ["'''", "'''"] }, + brackets: [ + ['{', '}'], + ['[', ']'], + ['(', ')'], + ], + autoClosingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"', notIn: ['string'] }, + { open: "'", close: "'", notIn: ['string', 'comment'] }, + ], + surroundingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"' }, + { open: "'", close: "'" }, + ], + onEnterRules: [ + { + beforeText: new RegExp( + '^\\s*(?:def|class|for|if|elif|else|while|try|with|finally|except|async).*?:\\s*$' + ), + action: { indentAction: t.Mj.IndentAction.Indent }, + }, + ], + folding: { + offSide: !0, + markers: { + start: new RegExp('^\\s*#region\\b'), + end: new RegExp('^\\s*#endregion\\b'), + }, + }, + }, + i = { + defaultToken: '', + tokenPostfix: '.python', + keywords: [ + 'False', + 'None', + 'True', + 'and', + 'as', + 'assert', + 'async', + 'await', + 'break', + 'class', + 'continue', + 'def', + 'del', + 'elif', + 'else', + 'except', + 'exec', + 'finally', + 'for', + 'from', + 'global', + 'if', + 'import', + 'in', + 'is', + 'lambda', + 'nonlocal', + 'not', + 'or', + 'pass', + 'print', + 'raise', + 'return', + 'try', + 'while', + 'with', + 'yield', + 'int', + 'float', + 'long', + 'complex', + 'hex', + 'abs', + 'all', + 'any', + 'apply', + 'basestring', + 'bin', + 'bool', + 'buffer', + 'bytearray', + 'callable', + 'chr', + 'classmethod', + 'cmp', + 'coerce', + 'compile', + 'complex', + 'delattr', + 'dict', + 'dir', + 'divmod', + 'enumerate', + 'eval', + 'execfile', + 'file', + 'filter', + 'format', + 'frozenset', + 'getattr', + 'globals', + 'hasattr', + 'hash', + 'help', + 'id', + 'input', + 'intern', + 'isinstance', + 'issubclass', + 'iter', + 'len', + 'locals', + 'list', + 'map', + 'max', + 'memoryview', + 'min', + 'next', + 'object', + 'oct', + 'open', + 'ord', + 'pow', + 'print', + 'property', + 'reversed', + 'range', + 'raw_input', + 'reduce', + 'reload', + 'repr', + 'reversed', + 'round', + 'self', + 'set', + 'setattr', + 'slice', + 'sorted', + 'staticmethod', + 'str', + 'sum', + 'super', + 'tuple', + 'type', + 'unichr', + 'unicode', + 'vars', + 'xrange', + 'zip', + '__dict__', + '__methods__', + '__members__', + '__class__', + '__bases__', + '__name__', + '__mro__', + '__subclasses__', + '__init__', + '__import__', + ], + brackets: [ + { open: '{', close: '}', token: 'delimiter.curly' }, + { open: '[', close: ']', token: 'delimiter.bracket' }, + { open: '(', close: ')', token: 'delimiter.parenthesis' }, + ], + tokenizer: { + root: [ + { include: '@whitespace' }, + { include: '@numbers' }, + { include: '@strings' }, + [/[,:;]/, 'delimiter'], + [/[{}\[\]()]/, '@brackets'], + [/@[a-zA-Z_]\w*/, 'tag'], + [ + /[a-zA-Z_]\w*/, + { cases: { '@keywords': 'keyword', '@default': 'identifier' } }, + ], + ], + whitespace: [ + [/\s+/, 'white'], + [/(^#.*$)/, 'comment'], + [/'''/, 'string', '@endDocString'], + [/"""/, 'string', '@endDblDocString'], + ], + endDocString: [ + [/[^']+/, 'string'], + [/\\'/, 'string'], + [/'''/, 'string', '@popall'], + [/'/, 'string'], + ], + endDblDocString: [ + [/[^"]+/, 'string'], + [/\\"/, 'string'], + [/"""/, 'string', '@popall'], + [/"/, 'string'], + ], + numbers: [ + [/-?0x([abcdef]|[ABCDEF]|\d)+[lL]?/, 'number.hex'], + [/-?(\d*\.)?\d+([eE][+\-]?\d+)?[jJ]?[lL]?/, 'number'], + ], + strings: [ + [/'$/, 'string.escape', '@popall'], + [/'/, 'string.escape', '@stringBody'], + [/"$/, 'string.escape', '@popall'], + [/"/, 'string.escape', '@dblStringBody'], + ], + stringBody: [ + [/[^\\']+$/, 'string', '@popall'], + [/[^\\']+/, 'string'], + [/\\./, 'string'], + [/'/, 'string.escape', '@popall'], + [/\\$/, 'string'], + ], + dblStringBody: [ + [/[^\\"]+$/, 'string', '@popall'], + [/[^\\"]+/, 'string'], + [/\\./, 'string'], + [/"/, 'string.escape', '@popall'], + [/\\$/, 'string'], + ], + }, + }; + }, + }, +]); diff --git a/docs/7562.7562.js b/docs/7562.7562.js new file mode 100644 index 00000000..4b934b4f --- /dev/null +++ b/docs/7562.7562.js @@ -0,0 +1,218 @@ +(self.webpackChunkmermaid_live_editor = + self.webpackChunkmermaid_live_editor || []).push([ + [7562], + { + 37562: (e, n, s) => { + 'use strict'; + s.r(n), s.d(n, { conf: () => t, language: () => o }); + var t = { + wordPattern: /(-?\d*\.\d\w*)|([^\`\~\!\@\#%\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g, + comments: { lineComment: '#', blockComment: ['<#', '#>'] }, + brackets: [ + ['{', '}'], + ['[', ']'], + ['(', ')'], + ], + autoClosingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"', notIn: ['string'] }, + { open: "'", close: "'", notIn: ['string', 'comment'] }, + ], + surroundingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"' }, + { open: "'", close: "'" }, + ], + folding: { + markers: { + start: new RegExp('^\\s*#region\\b'), + end: new RegExp('^\\s*#endregion\\b'), + }, + }, + }, + o = { + defaultToken: '', + ignoreCase: !0, + tokenPostfix: '.ps1', + brackets: [ + { token: 'delimiter.curly', open: '{', close: '}' }, + { token: 'delimiter.square', open: '[', close: ']' }, + { token: 'delimiter.parenthesis', open: '(', close: ')' }, + ], + keywords: [ + 'begin', + 'break', + 'catch', + 'class', + 'continue', + 'data', + 'define', + 'do', + 'dynamicparam', + 'else', + 'elseif', + 'end', + 'exit', + 'filter', + 'finally', + 'for', + 'foreach', + 'from', + 'function', + 'if', + 'in', + 'param', + 'process', + 'return', + 'switch', + 'throw', + 'trap', + 'try', + 'until', + 'using', + 'var', + 'while', + 'workflow', + 'parallel', + 'sequence', + 'inlinescript', + 'configuration', + ], + helpKeywords: /SYNOPSIS|DESCRIPTION|PARAMETER|EXAMPLE|INPUTS|OUTPUTS|NOTES|LINK|COMPONENT|ROLE|FUNCTIONALITY|FORWARDHELPTARGETNAME|FORWARDHELPCATEGORY|REMOTEHELPRUNSPACE|EXTERNALHELP/, + symbols: /[=><!~?&%|+\-*\/\^;\.,]+/, + escapes: /`(?:[abfnrtv\\"'$]|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/, + tokenizer: { + root: [ + [ + /[a-zA-Z_][\w-]*/, + { + cases: { + '@keywords': { token: 'keyword.$0' }, + '@default': '', + }, + }, + ], + [/[ \t\r\n]+/, ''], + [/^:\w*/, 'metatag'], + [ + /\$(\{((global|local|private|script|using):)?[\w]+\}|((global|local|private|script|using):)?[\w]+)/, + 'variable', + ], + [/<#/, 'comment', '@comment'], + [/#.*$/, 'comment'], + [/[{}()\[\]]/, '@brackets'], + [/@symbols/, 'delimiter'], + [/\d*\.\d+([eE][\-+]?\d+)?/, 'number.float'], + [/0[xX][0-9a-fA-F_]*[0-9a-fA-F]/, 'number.hex'], + [/\d+?/, 'number'], + [/[;,.]/, 'delimiter'], + [/\@"/, 'string', '@herestring."'], + [/\@'/, 'string', "@herestring.'"], + [ + /"/, + { + cases: { + '@eos': 'string', + '@default': { token: 'string', next: '@string."' }, + }, + }, + ], + [ + /'/, + { + cases: { + '@eos': 'string', + '@default': { token: 'string', next: "@string.'" }, + }, + }, + ], + ], + string: [ + [ + /[^"'\$`]+/, + { + cases: { + '@eos': { token: 'string', next: '@popall' }, + '@default': 'string', + }, + }, + ], + [ + /@escapes/, + { + cases: { + '@eos': { token: 'string.escape', next: '@popall' }, + '@default': 'string.escape', + }, + }, + ], + [ + /`./, + { + cases: { + '@eos': { token: 'string.escape.invalid', next: '@popall' }, + '@default': 'string.escape.invalid', + }, + }, + ], + [ + /\$[\w]+$/, + { + cases: { + '$S2=="': { token: 'variable', next: '@popall' }, + '@default': { token: 'string', next: '@popall' }, + }, + }, + ], + [ + /\$[\w]+/, + { cases: { '$S2=="': 'variable', '@default': 'string' } }, + ], + [ + /["']/, + { + cases: { + '$#==$S2': { token: 'string', next: '@pop' }, + '@default': { + cases: { + '@eos': { token: 'string', next: '@popall' }, + '@default': 'string', + }, + }, + }, + }, + ], + ], + herestring: [ + [ + /^\s*(["'])@/, + { + cases: { + '$1==$S2': { token: 'string', next: '@pop' }, + '@default': 'string', + }, + }, + ], + [/[^\$`]+/, 'string'], + [/@escapes/, 'string.escape'], + [/`./, 'string.escape.invalid'], + [ + /\$[\w]+/, + { cases: { '$S2=="': 'variable', '@default': 'string' } }, + ], + ], + comment: [ + [/[^#\.]+/, 'comment'], + [/#>/, 'comment', '@pop'], + [/(\.)(@helpKeywords)(?!\w)/, { token: 'comment.keyword.$2' }], + [/[\.#]/, 'comment'], + ], + }, + }; + }, + }, +]); diff --git a/docs/7637.7637.js b/docs/7637.7637.js new file mode 100644 index 00000000..fdec6bf5 --- /dev/null +++ b/docs/7637.7637.js @@ -0,0 +1,248 @@ +(self.webpackChunkmermaid_live_editor = + self.webpackChunkmermaid_live_editor || []).push([ + [7637], + { + 57637: (e, t, n) => { + 'use strict'; + n.r(t), n.d(t, { conf: () => o, language: () => s }); + var o = { + brackets: [ + ['{', '}'], + ['[', ']'], + ['(', ')'], + ], + autoClosingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"' }, + { open: "'", close: "'" }, + ], + surroundingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"' }, + { open: "'", close: "'" }, + ], + }, + s = { + tokenPostfix: '.tcl', + specialFunctions: [ + 'set', + 'unset', + 'rename', + 'variable', + 'proc', + 'coroutine', + 'foreach', + 'incr', + 'append', + 'lappend', + 'linsert', + 'lreplace', + ], + mainFunctions: [ + 'if', + 'then', + 'elseif', + 'else', + 'case', + 'switch', + 'while', + 'for', + 'break', + 'continue', + 'return', + 'package', + 'namespace', + 'catch', + 'exit', + 'eval', + 'expr', + 'uplevel', + 'upvar', + ], + builtinFunctions: [ + 'file', + 'info', + 'concat', + 'join', + 'lindex', + 'list', + 'llength', + 'lrange', + 'lsearch', + 'lsort', + 'split', + 'array', + 'parray', + 'binary', + 'format', + 'regexp', + 'regsub', + 'scan', + 'string', + 'subst', + 'dict', + 'cd', + 'clock', + 'exec', + 'glob', + 'pid', + 'pwd', + 'close', + 'eof', + 'fblocked', + 'fconfigure', + 'fcopy', + 'fileevent', + 'flush', + 'gets', + 'open', + 'puts', + 'read', + 'seek', + 'socket', + 'tell', + 'interp', + 'after', + 'auto_execok', + 'auto_load', + 'auto_mkindex', + 'auto_reset', + 'bgerror', + 'error', + 'global', + 'history', + 'load', + 'source', + 'time', + 'trace', + 'unknown', + 'unset', + 'update', + 'vwait', + 'winfo', + 'wm', + 'bind', + 'event', + 'pack', + 'place', + 'grid', + 'font', + 'bell', + 'clipboard', + 'destroy', + 'focus', + 'grab', + 'lower', + 'option', + 'raise', + 'selection', + 'send', + 'tk', + 'tkwait', + 'tk_bisque', + 'tk_focusNext', + 'tk_focusPrev', + 'tk_focusFollowsMouse', + 'tk_popup', + 'tk_setPalette', + ], + symbols: /[=><!~?:&|+\-*\/\^%]+/, + brackets: [ + { open: '(', close: ')', token: 'delimiter.parenthesis' }, + { open: '{', close: '}', token: 'delimiter.curly' }, + { open: '[', close: ']', token: 'delimiter.square' }, + ], + escapes: /\\(?:[abfnrtv\\"'\[\]\{\};\$]|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/, + variables: /(?:\$+(?:(?:\:\:?)?[a-zA-Z_]\w*)+)/, + tokenizer: { + root: [ + [ + /[a-zA-Z_]\w*/, + { + cases: { + '@specialFunctions': { + token: 'keyword.flow', + next: '@specialFunc', + }, + '@mainFunctions': 'keyword', + '@builtinFunctions': 'variable', + '@default': 'operator.scss', + }, + }, + ], + [/\s+\-+(?!\d|\.)\w*|{\*}/, 'metatag'], + { include: '@whitespace' }, + [/[{}()\[\]]/, '@brackets'], + [/@symbols/, 'operator'], + [ + /\$+(?:\:\:)?\{/, + { token: 'identifier', next: '@nestedVariable' }, + ], + [/@variables/, 'type.identifier'], + [/\.(?!\d|\.)[\w\-]*/, 'operator.sql'], + [/\d+(\.\d+)?/, 'number'], + [/\d+/, 'number'], + [/;/, 'delimiter'], + [ + /"/, + { token: 'string.quote', bracket: '@open', next: '@dstring' }, + ], + [ + /'/, + { token: 'string.quote', bracket: '@open', next: '@sstring' }, + ], + ], + dstring: [ + [/\[/, { token: '@brackets', next: '@nestedCall' }], + [ + /\$+(?:\:\:)?\{/, + { token: 'identifier', next: '@nestedVariable' }, + ], + [/@variables/, 'type.identifier'], + [/[^\\$\[\]"]+/, 'string'], + [/@escapes/, 'string.escape'], + [/"/, { token: 'string.quote', bracket: '@close', next: '@pop' }], + ], + sstring: [ + [/\[/, { token: '@brackets', next: '@nestedCall' }], + [ + /\$+(?:\:\:)?\{/, + { token: 'identifier', next: '@nestedVariable' }, + ], + [/@variables/, 'type.identifier'], + [/[^\\$\[\]']+/, 'string'], + [/@escapes/, 'string.escape'], + [/'/, { token: 'string.quote', bracket: '@close', next: '@pop' }], + ], + whitespace: [ + [/[ \t\r\n]+/, 'white'], + [/#.*\\$/, { token: 'comment', next: '@newlineComment' }], + [/#.*(?!\\)$/, 'comment'], + ], + newlineComment: [ + [/.*\\$/, 'comment'], + [/.*(?!\\)$/, { token: 'comment', next: '@pop' }], + ], + nestedVariable: [ + [/[^\{\}\$]+/, 'type.identifier'], + [/\}/, { token: 'identifier', next: '@pop' }], + ], + nestedCall: [ + [/\[/, { token: '@brackets', next: '@nestedCall' }], + [/\]/, { token: '@brackets', next: '@pop' }], + { include: 'root' }, + ], + specialFunc: [ + [/"/, { token: 'string', next: '@dstring' }], + [/'/, { token: 'string', next: '@sstring' }], + [/\S+/, { token: 'type', next: '@pop' }], + ], + }, + }; + }, + }, +]); diff --git a/docs/7778.7778.js b/docs/7778.7778.js new file mode 100644 index 00000000..07a31e8e --- /dev/null +++ b/docs/7778.7778.js @@ -0,0 +1,1363 @@ +(self.webpackChunkmermaid_live_editor = + self.webpackChunkmermaid_live_editor || []).push([ + [7778], + { + 27778: (E, T, R) => { + 'use strict'; + R.r(T), R.d(T, { conf: () => A, language: () => I }); + var A = { + comments: { lineComment: '--', blockComment: ['/*', '*/'] }, + brackets: [ + ['{', '}'], + ['[', ']'], + ['(', ')'], + ], + autoClosingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"' }, + { open: "'", close: "'" }, + ], + surroundingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"' }, + { open: "'", close: "'" }, + ], + }, + I = { + defaultToken: '', + tokenPostfix: '.sql', + ignoreCase: !0, + brackets: [ + { open: '[', close: ']', token: 'delimiter.square' }, + { open: '(', close: ')', token: 'delimiter.parenthesis' }, + ], + keywords: [ + 'ABORT_AFTER_WAIT', + 'ABSENT', + 'ABSOLUTE', + 'ACCENT_SENSITIVITY', + 'ACTION', + 'ACTIVATION', + 'ACTIVE', + 'ADD', + 'ADDRESS', + 'ADMIN', + 'AES', + 'AES_128', + 'AES_192', + 'AES_256', + 'AFFINITY', + 'AFTER', + 'AGGREGATE', + 'ALGORITHM', + 'ALL_CONSTRAINTS', + 'ALL_ERRORMSGS', + 'ALL_INDEXES', + 'ALL_LEVELS', + 'ALL_SPARSE_COLUMNS', + 'ALLOW_CONNECTIONS', + 'ALLOW_MULTIPLE_EVENT_LOSS', + 'ALLOW_PAGE_LOCKS', + 'ALLOW_ROW_LOCKS', + 'ALLOW_SINGLE_EVENT_LOSS', + 'ALLOW_SNAPSHOT_ISOLATION', + 'ALLOWED', + 'ALTER', + 'ANONYMOUS', + 'ANSI_DEFAULTS', + 'ANSI_NULL_DEFAULT', + 'ANSI_NULL_DFLT_OFF', + 'ANSI_NULL_DFLT_ON', + 'ANSI_NULLS', + 'ANSI_PADDING', + 'ANSI_WARNINGS', + 'APPEND', + 'APPLICATION', + 'APPLICATION_LOG', + 'ARITHABORT', + 'ARITHIGNORE', + 'AS', + 'ASC', + 'ASSEMBLY', + 'ASYMMETRIC', + 'ASYNCHRONOUS_COMMIT', + 'AT', + 'ATOMIC', + 'ATTACH', + 'ATTACH_REBUILD_LOG', + 'AUDIT', + 'AUDIT_GUID', + 'AUTHENTICATION', + 'AUTHORIZATION', + 'AUTO', + 'AUTO_CLEANUP', + 'AUTO_CLOSE', + 'AUTO_CREATE_STATISTICS', + 'AUTO_SHRINK', + 'AUTO_UPDATE_STATISTICS', + 'AUTO_UPDATE_STATISTICS_ASYNC', + 'AUTOMATED_BACKUP_PREFERENCE', + 'AUTOMATIC', + 'AVAILABILITY', + 'AVAILABILITY_MODE', + 'BACKUP', + 'BACKUP_PRIORITY', + 'BASE64', + 'BATCHSIZE', + 'BEGIN', + 'BEGIN_DIALOG', + 'BIGINT', + 'BINARY', + 'BINDING', + 'BIT', + 'BLOCKERS', + 'BLOCKSIZE', + 'BOUNDING_BOX', + 'BREAK', + 'BROKER', + 'BROKER_INSTANCE', + 'BROWSE', + 'BUCKET_COUNT', + 'BUFFER', + 'BUFFERCOUNT', + 'BULK', + 'BULK_LOGGED', + 'BY', + 'CACHE', + 'CALL', + 'CALLED', + 'CALLER', + 'CAP_CPU_PERCENT', + 'CASCADE', + 'CASE', + 'CATALOG', + 'CATCH', + 'CELLS_PER_OBJECT', + 'CERTIFICATE', + 'CHANGE_RETENTION', + 'CHANGE_TRACKING', + 'CHANGES', + 'CHAR', + 'CHARACTER', + 'CHECK', + 'CHECK_CONSTRAINTS', + 'CHECK_EXPIRATION', + 'CHECK_POLICY', + 'CHECKALLOC', + 'CHECKCATALOG', + 'CHECKCONSTRAINTS', + 'CHECKDB', + 'CHECKFILEGROUP', + 'CHECKIDENT', + 'CHECKPOINT', + 'CHECKTABLE', + 'CLASSIFIER_FUNCTION', + 'CLEANTABLE', + 'CLEANUP', + 'CLEAR', + 'CLOSE', + 'CLUSTER', + 'CLUSTERED', + 'CODEPAGE', + 'COLLATE', + 'COLLECTION', + 'COLUMN', + 'COLUMN_SET', + 'COLUMNS', + 'COLUMNSTORE', + 'COLUMNSTORE_ARCHIVE', + 'COMMIT', + 'COMMITTED', + 'COMPATIBILITY_LEVEL', + 'COMPRESSION', + 'COMPUTE', + 'CONCAT', + 'CONCAT_NULL_YIELDS_NULL', + 'CONFIGURATION', + 'CONNECT', + 'CONSTRAINT', + 'CONTAINMENT', + 'CONTENT', + 'CONTEXT', + 'CONTINUE', + 'CONTINUE_AFTER_ERROR', + 'CONTRACT', + 'CONTRACT_NAME', + 'CONTROL', + 'CONVERSATION', + 'COOKIE', + 'COPY_ONLY', + 'COUNTER', + 'CPU', + 'CREATE', + 'CREATE_NEW', + 'CREATION_DISPOSITION', + 'CREDENTIAL', + 'CRYPTOGRAPHIC', + 'CUBE', + 'CURRENT', + 'CURRENT_DATE', + 'CURSOR', + 'CURSOR_CLOSE_ON_COMMIT', + 'CURSOR_DEFAULT', + 'CYCLE', + 'DATA', + 'DATA_COMPRESSION', + 'DATA_PURITY', + 'DATABASE', + 'DATABASE_DEFAULT', + 'DATABASE_MIRRORING', + 'DATABASE_SNAPSHOT', + 'DATAFILETYPE', + 'DATE', + 'DATE_CORRELATION_OPTIMIZATION', + 'DATEFIRST', + 'DATEFORMAT', + 'DATETIME', + 'DATETIME2', + 'DATETIMEOFFSET', + 'DAY', + 'DAYOFYEAR', + 'DAYS', + 'DB_CHAINING', + 'DBCC', + 'DBREINDEX', + 'DDL_DATABASE_LEVEL_EVENTS', + 'DEADLOCK_PRIORITY', + 'DEALLOCATE', + 'DEC', + 'DECIMAL', + 'DECLARE', + 'DECRYPTION', + 'DEFAULT', + 'DEFAULT_DATABASE', + 'DEFAULT_FULLTEXT_LANGUAGE', + 'DEFAULT_LANGUAGE', + 'DEFAULT_SCHEMA', + 'DEFINITION', + 'DELAY', + 'DELAYED_DURABILITY', + 'DELETE', + 'DELETED', + 'DENSITY_VECTOR', + 'DENY', + 'DEPENDENTS', + 'DES', + 'DESC', + 'DESCRIPTION', + 'DESX', + 'DHCP', + 'DIAGNOSTICS', + 'DIALOG', + 'DIFFERENTIAL', + 'DIRECTORY_NAME', + 'DISABLE', + 'DISABLE_BROKER', + 'DISABLED', + 'DISK', + 'DISTINCT', + 'DISTRIBUTED', + 'DOCUMENT', + 'DOUBLE', + 'DROP', + 'DROP_EXISTING', + 'DROPCLEANBUFFERS', + 'DUMP', + 'DURABILITY', + 'DYNAMIC', + 'EDITION', + 'ELEMENTS', + 'ELSE', + 'EMERGENCY', + 'EMPTY', + 'EMPTYFILE', + 'ENABLE', + 'ENABLE_BROKER', + 'ENABLED', + 'ENCRYPTION', + 'END', + 'ENDPOINT', + 'ENDPOINT_URL', + 'ERRLVL', + 'ERROR', + 'ERROR_BROKER_CONVERSATIONS', + 'ERRORFILE', + 'ESCAPE', + 'ESTIMATEONLY', + 'EVENT', + 'EVENT_RETENTION_MODE', + 'EXEC', + 'EXECUTABLE', + 'EXECUTE', + 'EXIT', + 'EXPAND', + 'EXPIREDATE', + 'EXPIRY_DATE', + 'EXPLICIT', + 'EXTENDED_LOGICAL_CHECKS', + 'EXTENSION', + 'EXTERNAL', + 'EXTERNAL_ACCESS', + 'FAIL_OPERATION', + 'FAILOVER', + 'FAILOVER_MODE', + 'FAILURE_CONDITION_LEVEL', + 'FALSE', + 'FAN_IN', + 'FAST', + 'FAST_FORWARD', + 'FETCH', + 'FIELDTERMINATOR', + 'FILE', + 'FILEGROUP', + 'FILEGROWTH', + 'FILELISTONLY', + 'FILENAME', + 'FILEPATH', + 'FILESTREAM', + 'FILESTREAM_ON', + 'FILETABLE_COLLATE_FILENAME', + 'FILETABLE_DIRECTORY', + 'FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME', + 'FILETABLE_NAMESPACE', + 'FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME', + 'FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME', + 'FILLFACTOR', + 'FILTERING', + 'FIRE_TRIGGERS', + 'FIRST', + 'FIRSTROW', + 'FLOAT', + 'FMTONLY', + 'FOLLOWING', + 'FOR', + 'FORCE', + 'FORCE_FAILOVER_ALLOW_DATA_LOSS', + 'FORCE_SERVICE_ALLOW_DATA_LOSS', + 'FORCED', + 'FORCEPLAN', + 'FORCESCAN', + 'FORCESEEK', + 'FOREIGN', + 'FORMATFILE', + 'FORMSOF', + 'FORWARD_ONLY', + 'FREE', + 'FREEPROCCACHE', + 'FREESESSIONCACHE', + 'FREESYSTEMCACHE', + 'FROM', + 'FULL', + 'FULLSCAN', + 'FULLTEXT', + 'FUNCTION', + 'GB', + 'GEOGRAPHY_AUTO_GRID', + 'GEOGRAPHY_GRID', + 'GEOMETRY_AUTO_GRID', + 'GEOMETRY_GRID', + 'GET', + 'GLOBAL', + 'GO', + 'GOTO', + 'GOVERNOR', + 'GRANT', + 'GRIDS', + 'GROUP', + 'GROUP_MAX_REQUESTS', + 'HADR', + 'HASH', + 'HASHED', + 'HAVING', + 'HEADERONLY', + 'HEALTH_CHECK_TIMEOUT', + 'HELP', + 'HIERARCHYID', + 'HIGH', + 'HINT', + 'HISTOGRAM', + 'HOLDLOCK', + 'HONOR_BROKER_PRIORITY', + 'HOUR', + 'HOURS', + 'IDENTITY', + 'IDENTITY_INSERT', + 'IDENTITY_VALUE', + 'IDENTITYCOL', + 'IF', + 'IGNORE_CONSTRAINTS', + 'IGNORE_DUP_KEY', + 'IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX', + 'IGNORE_TRIGGERS', + 'IMAGE', + 'IMMEDIATE', + 'IMPERSONATE', + 'IMPLICIT_TRANSACTIONS', + 'IMPORTANCE', + 'INCLUDE', + 'INCREMENT', + 'INCREMENTAL', + 'INDEX', + 'INDEXDEFRAG', + 'INFINITE', + 'INFLECTIONAL', + 'INIT', + 'INITIATOR', + 'INPUT', + 'INPUTBUFFER', + 'INSENSITIVE', + 'INSERT', + 'INSERTED', + 'INSTEAD', + 'INT', + 'INTEGER', + 'INTO', + 'IO', + 'IP', + 'ISABOUT', + 'ISOLATION', + 'JOB', + 'KB', + 'KEEP', + 'KEEP_CDC', + 'KEEP_NULLS', + 'KEEP_REPLICATION', + 'KEEPDEFAULTS', + 'KEEPFIXED', + 'KEEPIDENTITY', + 'KEEPNULLS', + 'KERBEROS', + 'KEY', + 'KEY_SOURCE', + 'KEYS', + 'KEYSET', + 'KILL', + 'KILOBYTES_PER_BATCH', + 'LABELONLY', + 'LANGUAGE', + 'LAST', + 'LASTROW', + 'LEVEL', + 'LEVEL_1', + 'LEVEL_2', + 'LEVEL_3', + 'LEVEL_4', + 'LIFETIME', + 'LIMIT', + 'LINENO', + 'LIST', + 'LISTENER', + 'LISTENER_IP', + 'LISTENER_PORT', + 'LOAD', + 'LOADHISTORY', + 'LOB_COMPACTION', + 'LOCAL', + 'LOCAL_SERVICE_NAME', + 'LOCK_ESCALATION', + 'LOCK_TIMEOUT', + 'LOGIN', + 'LOGSPACE', + 'LOOP', + 'LOW', + 'MANUAL', + 'MARK', + 'MARK_IN_USE_FOR_REMOVAL', + 'MASTER', + 'MAX_CPU_PERCENT', + 'MAX_DISPATCH_LATENCY', + 'MAX_DOP', + 'MAX_DURATION', + 'MAX_EVENT_SIZE', + 'MAX_FILES', + 'MAX_IOPS_PER_VOLUME', + 'MAX_MEMORY', + 'MAX_MEMORY_PERCENT', + 'MAX_QUEUE_READERS', + 'MAX_ROLLOVER_FILES', + 'MAX_SIZE', + 'MAXDOP', + 'MAXERRORS', + 'MAXLENGTH', + 'MAXRECURSION', + 'MAXSIZE', + 'MAXTRANSFERSIZE', + 'MAXVALUE', + 'MB', + 'MEDIADESCRIPTION', + 'MEDIANAME', + 'MEDIAPASSWORD', + 'MEDIUM', + 'MEMBER', + 'MEMORY_OPTIMIZED', + 'MEMORY_OPTIMIZED_DATA', + 'MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT', + 'MEMORY_PARTITION_MODE', + 'MERGE', + 'MESSAGE', + 'MESSAGE_FORWARD_SIZE', + 'MESSAGE_FORWARDING', + 'MICROSECOND', + 'MILLISECOND', + 'MIN_CPU_PERCENT', + 'MIN_IOPS_PER_VOLUME', + 'MIN_MEMORY_PERCENT', + 'MINUTE', + 'MINUTES', + 'MINVALUE', + 'MIRROR', + 'MIRROR_ADDRESS', + 'MODIFY', + 'MONEY', + 'MONTH', + 'MOVE', + 'MULTI_USER', + 'MUST_CHANGE', + 'NAME', + 'NANOSECOND', + 'NATIONAL', + 'NATIVE_COMPILATION', + 'NCHAR', + 'NEGOTIATE', + 'NESTED_TRIGGERS', + 'NEW_ACCOUNT', + 'NEW_BROKER', + 'NEW_PASSWORD', + 'NEWNAME', + 'NEXT', + 'NO', + 'NO_BROWSETABLE', + 'NO_CHECKSUM', + 'NO_COMPRESSION', + 'NO_EVENT_LOSS', + 'NO_INFOMSGS', + 'NO_TRUNCATE', + 'NO_WAIT', + 'NOCHECK', + 'NOCOUNT', + 'NOEXEC', + 'NOEXPAND', + 'NOFORMAT', + 'NOINDEX', + 'NOINIT', + 'NOLOCK', + 'NON', + 'NON_TRANSACTED_ACCESS', + 'NONCLUSTERED', + 'NONE', + 'NORECOMPUTE', + 'NORECOVERY', + 'NORESEED', + 'NORESET', + 'NOREWIND', + 'NORMAL', + 'NOSKIP', + 'NOTIFICATION', + 'NOTRUNCATE', + 'NOUNLOAD', + 'NOWAIT', + 'NTEXT', + 'NTLM', + 'NUMANODE', + 'NUMERIC', + 'NUMERIC_ROUNDABORT', + 'NVARCHAR', + 'OBJECT', + 'OF', + 'OFF', + 'OFFLINE', + 'OFFSET', + 'OFFSETS', + 'OLD_ACCOUNT', + 'OLD_PASSWORD', + 'ON', + 'ON_FAILURE', + 'ONLINE', + 'ONLY', + 'OPEN', + 'OPEN_EXISTING', + 'OPENTRAN', + 'OPTIMISTIC', + 'OPTIMIZE', + 'OPTION', + 'ORDER', + 'OUT', + 'OUTPUT', + 'OUTPUTBUFFER', + 'OVER', + 'OVERRIDE', + 'OWNER', + 'OWNERSHIP', + 'PAD_INDEX', + 'PAGE', + 'PAGE_VERIFY', + 'PAGECOUNT', + 'PAGLOCK', + 'PARAMETERIZATION', + 'PARSEONLY', + 'PARTIAL', + 'PARTITION', + 'PARTITIONS', + 'PARTNER', + 'PASSWORD', + 'PATH', + 'PER_CPU', + 'PER_NODE', + 'PERCENT', + 'PERMISSION_SET', + 'PERSISTED', + 'PHYSICAL_ONLY', + 'PLAN', + 'POISON_MESSAGE_HANDLING', + 'POOL', + 'POPULATION', + 'PORT', + 'PRECEDING', + 'PRECISION', + 'PRIMARY', + 'PRIMARY_ROLE', + 'PRINT', + 'PRIOR', + 'PRIORITY', + 'PRIORITY_LEVEL', + 'PRIVATE', + 'PRIVILEGES', + 'PROC', + 'PROCCACHE', + 'PROCEDURE', + 'PROCEDURE_NAME', + 'PROCESS', + 'PROFILE', + 'PROPERTY', + 'PROPERTY_DESCRIPTION', + 'PROPERTY_INT_ID', + 'PROPERTY_SET_GUID', + 'PROVIDER', + 'PROVIDER_KEY_NAME', + 'PUBLIC', + 'PUT', + 'QUARTER', + 'QUERY', + 'QUERY_GOVERNOR_COST_LIMIT', + 'QUEUE', + 'QUEUE_DELAY', + 'QUOTED_IDENTIFIER', + 'RAISERROR', + 'RANGE', + 'RAW', + 'RC2', + 'RC4', + 'RC4_128', + 'READ', + 'READ_COMMITTED_SNAPSHOT', + 'READ_ONLY', + 'READ_ONLY_ROUTING_LIST', + 'READ_ONLY_ROUTING_URL', + 'READ_WRITE', + 'READ_WRITE_FILEGROUPS', + 'READCOMMITTED', + 'READCOMMITTEDLOCK', + 'READONLY', + 'READPAST', + 'READTEXT', + 'READUNCOMMITTED', + 'READWRITE', + 'REAL', + 'REBUILD', + 'RECEIVE', + 'RECOMPILE', + 'RECONFIGURE', + 'RECOVERY', + 'RECURSIVE', + 'RECURSIVE_TRIGGERS', + 'REFERENCES', + 'REGENERATE', + 'RELATED_CONVERSATION', + 'RELATED_CONVERSATION_GROUP', + 'RELATIVE', + 'REMOTE', + 'REMOTE_PROC_TRANSACTIONS', + 'REMOTE_SERVICE_NAME', + 'REMOVE', + 'REORGANIZE', + 'REPAIR_ALLOW_DATA_LOSS', + 'REPAIR_FAST', + 'REPAIR_REBUILD', + 'REPEATABLE', + 'REPEATABLEREAD', + 'REPLICA', + 'REPLICATION', + 'REQUEST_MAX_CPU_TIME_SEC', + 'REQUEST_MAX_MEMORY_GRANT_PERCENT', + 'REQUEST_MEMORY_GRANT_TIMEOUT_SEC', + 'REQUIRED', + 'RESAMPLE', + 'RESEED', + 'RESERVE_DISK_SPACE', + 'RESET', + 'RESOURCE', + 'RESTART', + 'RESTORE', + 'RESTRICT', + 'RESTRICTED_USER', + 'RESULT', + 'RESUME', + 'RETAINDAYS', + 'RETENTION', + 'RETURN', + 'RETURNS', + 'REVERT', + 'REVOKE', + 'REWIND', + 'REWINDONLY', + 'ROBUST', + 'ROLE', + 'ROLLBACK', + 'ROLLUP', + 'ROOT', + 'ROUTE', + 'ROW', + 'ROWCOUNT', + 'ROWGUIDCOL', + 'ROWLOCK', + 'ROWS', + 'ROWS_PER_BATCH', + 'ROWTERMINATOR', + 'ROWVERSION', + 'RSA_1024', + 'RSA_2048', + 'RSA_512', + 'RULE', + 'SAFE', + 'SAFETY', + 'SAMPLE', + 'SAVE', + 'SCHEDULER', + 'SCHEMA', + 'SCHEMA_AND_DATA', + 'SCHEMA_ONLY', + 'SCHEMABINDING', + 'SCHEME', + 'SCROLL', + 'SCROLL_LOCKS', + 'SEARCH', + 'SECOND', + 'SECONDARY', + 'SECONDARY_ONLY', + 'SECONDARY_ROLE', + 'SECONDS', + 'SECRET', + 'SECURITY_LOG', + 'SECURITYAUDIT', + 'SELECT', + 'SELECTIVE', + 'SELF', + 'SEND', + 'SENT', + 'SEQUENCE', + 'SERIALIZABLE', + 'SERVER', + 'SERVICE', + 'SERVICE_BROKER', + 'SERVICE_NAME', + 'SESSION', + 'SESSION_TIMEOUT', + 'SET', + 'SETS', + 'SETUSER', + 'SHOW_STATISTICS', + 'SHOWCONTIG', + 'SHOWPLAN', + 'SHOWPLAN_ALL', + 'SHOWPLAN_TEXT', + 'SHOWPLAN_XML', + 'SHRINKDATABASE', + 'SHRINKFILE', + 'SHUTDOWN', + 'SID', + 'SIGNATURE', + 'SIMPLE', + 'SINGLE_BLOB', + 'SINGLE_CLOB', + 'SINGLE_NCLOB', + 'SINGLE_USER', + 'SINGLETON', + 'SIZE', + 'SKIP', + 'SMALLDATETIME', + 'SMALLINT', + 'SMALLMONEY', + 'SNAPSHOT', + 'SORT_IN_TEMPDB', + 'SOURCE', + 'SPARSE', + 'SPATIAL', + 'SPATIAL_WINDOW_MAX_CELLS', + 'SPECIFICATION', + 'SPLIT', + 'SQL', + 'SQL_VARIANT', + 'SQLPERF', + 'STANDBY', + 'START', + 'START_DATE', + 'STARTED', + 'STARTUP_STATE', + 'STAT_HEADER', + 'STATE', + 'STATEMENT', + 'STATIC', + 'STATISTICAL_SEMANTICS', + 'STATISTICS', + 'STATISTICS_INCREMENTAL', + 'STATISTICS_NORECOMPUTE', + 'STATS', + 'STATS_STREAM', + 'STATUS', + 'STATUSONLY', + 'STOP', + 'STOP_ON_ERROR', + 'STOPAT', + 'STOPATMARK', + 'STOPBEFOREMARK', + 'STOPLIST', + 'STOPPED', + 'SUBJECT', + 'SUBSCRIPTION', + 'SUPPORTED', + 'SUSPEND', + 'SWITCH', + 'SYMMETRIC', + 'SYNCHRONOUS_COMMIT', + 'SYNONYM', + 'SYSNAME', + 'SYSTEM', + 'TABLE', + 'TABLERESULTS', + 'TABLESAMPLE', + 'TABLOCK', + 'TABLOCKX', + 'TAKE', + 'TAPE', + 'TARGET', + 'TARGET_RECOVERY_TIME', + 'TB', + 'TCP', + 'TEXT', + 'TEXTIMAGE_ON', + 'TEXTSIZE', + 'THEN', + 'THESAURUS', + 'THROW', + 'TIES', + 'TIME', + 'TIMEOUT', + 'TIMER', + 'TIMESTAMP', + 'TINYINT', + 'TO', + 'TOP', + 'TORN_PAGE_DETECTION', + 'TRACEOFF', + 'TRACEON', + 'TRACESTATUS', + 'TRACK_CAUSALITY', + 'TRACK_COLUMNS_UPDATED', + 'TRAN', + 'TRANSACTION', + 'TRANSFER', + 'TRANSFORM_NOISE_WORDS', + 'TRIGGER', + 'TRIPLE_DES', + 'TRIPLE_DES_3KEY', + 'TRUE', + 'TRUNCATE', + 'TRUNCATEONLY', + 'TRUSTWORTHY', + 'TRY', + 'TSQL', + 'TWO_DIGIT_YEAR_CUTOFF', + 'TYPE', + 'TYPE_WARNING', + 'UNBOUNDED', + 'UNCHECKED', + 'UNCOMMITTED', + 'UNDEFINED', + 'UNIQUE', + 'UNIQUEIDENTIFIER', + 'UNKNOWN', + 'UNLIMITED', + 'UNLOAD', + 'UNSAFE', + 'UPDATE', + 'UPDATETEXT', + 'UPDATEUSAGE', + 'UPDLOCK', + 'URL', + 'USE', + 'USED', + 'USER', + 'USEROPTIONS', + 'USING', + 'VALID_XML', + 'VALIDATION', + 'VALUE', + 'VALUES', + 'VARBINARY', + 'VARCHAR', + 'VARYING', + 'VERIFYONLY', + 'VERSION', + 'VIEW', + 'VIEW_METADATA', + 'VIEWS', + 'VISIBILITY', + 'WAIT_AT_LOW_PRIORITY', + 'WAITFOR', + 'WEEK', + 'WEIGHT', + 'WELL_FORMED_XML', + 'WHEN', + 'WHERE', + 'WHILE', + 'WINDOWS', + 'WITH', + 'WITHIN', + 'WITHOUT', + 'WITNESS', + 'WORK', + 'WORKLOAD', + 'WRITETEXT', + 'XACT_ABORT', + 'XLOCK', + 'XMAX', + 'XMIN', + 'XML', + 'XMLDATA', + 'XMLNAMESPACES', + 'XMLSCHEMA', + 'XQUERY', + 'XSINIL', + 'YEAR', + 'YMAX', + 'YMIN', + ], + operators: [ + 'ALL', + 'AND', + 'ANY', + 'BETWEEN', + 'EXISTS', + 'IN', + 'LIKE', + 'NOT', + 'OR', + 'SOME', + 'EXCEPT', + 'INTERSECT', + 'UNION', + 'APPLY', + 'CROSS', + 'FULL', + 'INNER', + 'JOIN', + 'LEFT', + 'OUTER', + 'RIGHT', + 'CONTAINS', + 'FREETEXT', + 'IS', + 'NULL', + 'PIVOT', + 'UNPIVOT', + 'MATCHED', + ], + builtinFunctions: [ + 'AVG', + 'CHECKSUM_AGG', + 'COUNT', + 'COUNT_BIG', + 'GROUPING', + 'GROUPING_ID', + 'MAX', + 'MIN', + 'SUM', + 'STDEV', + 'STDEVP', + 'VAR', + 'VARP', + 'CUME_DIST', + 'FIRST_VALUE', + 'LAG', + 'LAST_VALUE', + 'LEAD', + 'PERCENTILE_CONT', + 'PERCENTILE_DISC', + 'PERCENT_RANK', + 'COLLATE', + 'COLLATIONPROPERTY', + 'TERTIARY_WEIGHTS', + 'FEDERATION_FILTERING_VALUE', + 'CAST', + 'CONVERT', + 'PARSE', + 'TRY_CAST', + 'TRY_CONVERT', + 'TRY_PARSE', + 'ASYMKEY_ID', + 'ASYMKEYPROPERTY', + 'CERTPROPERTY', + 'CERT_ID', + 'CRYPT_GEN_RANDOM', + 'DECRYPTBYASYMKEY', + 'DECRYPTBYCERT', + 'DECRYPTBYKEY', + 'DECRYPTBYKEYAUTOASYMKEY', + 'DECRYPTBYKEYAUTOCERT', + 'DECRYPTBYPASSPHRASE', + 'ENCRYPTBYASYMKEY', + 'ENCRYPTBYCERT', + 'ENCRYPTBYKEY', + 'ENCRYPTBYPASSPHRASE', + 'HASHBYTES', + 'IS_OBJECTSIGNED', + 'KEY_GUID', + 'KEY_ID', + 'KEY_NAME', + 'SIGNBYASYMKEY', + 'SIGNBYCERT', + 'SYMKEYPROPERTY', + 'VERIFYSIGNEDBYCERT', + 'VERIFYSIGNEDBYASYMKEY', + 'CURSOR_STATUS', + 'DATALENGTH', + 'IDENT_CURRENT', + 'IDENT_INCR', + 'IDENT_SEED', + 'IDENTITY', + 'SQL_VARIANT_PROPERTY', + 'CURRENT_TIMESTAMP', + 'DATEADD', + 'DATEDIFF', + 'DATEFROMPARTS', + 'DATENAME', + 'DATEPART', + 'DATETIME2FROMPARTS', + 'DATETIMEFROMPARTS', + 'DATETIMEOFFSETFROMPARTS', + 'DAY', + 'EOMONTH', + 'GETDATE', + 'GETUTCDATE', + 'ISDATE', + 'MONTH', + 'SMALLDATETIMEFROMPARTS', + 'SWITCHOFFSET', + 'SYSDATETIME', + 'SYSDATETIMEOFFSET', + 'SYSUTCDATETIME', + 'TIMEFROMPARTS', + 'TODATETIMEOFFSET', + 'YEAR', + 'CHOOSE', + 'COALESCE', + 'IIF', + 'NULLIF', + 'ABS', + 'ACOS', + 'ASIN', + 'ATAN', + 'ATN2', + 'CEILING', + 'COS', + 'COT', + 'DEGREES', + 'EXP', + 'FLOOR', + 'LOG', + 'LOG10', + 'PI', + 'POWER', + 'RADIANS', + 'RAND', + 'ROUND', + 'SIGN', + 'SIN', + 'SQRT', + 'SQUARE', + 'TAN', + 'APP_NAME', + 'APPLOCK_MODE', + 'APPLOCK_TEST', + 'ASSEMBLYPROPERTY', + 'COL_LENGTH', + 'COL_NAME', + 'COLUMNPROPERTY', + 'DATABASE_PRINCIPAL_ID', + 'DATABASEPROPERTYEX', + 'DB_ID', + 'DB_NAME', + 'FILE_ID', + 'FILE_IDEX', + 'FILE_NAME', + 'FILEGROUP_ID', + 'FILEGROUP_NAME', + 'FILEGROUPPROPERTY', + 'FILEPROPERTY', + 'FULLTEXTCATALOGPROPERTY', + 'FULLTEXTSERVICEPROPERTY', + 'INDEX_COL', + 'INDEXKEY_PROPERTY', + 'INDEXPROPERTY', + 'OBJECT_DEFINITION', + 'OBJECT_ID', + 'OBJECT_NAME', + 'OBJECT_SCHEMA_NAME', + 'OBJECTPROPERTY', + 'OBJECTPROPERTYEX', + 'ORIGINAL_DB_NAME', + 'PARSENAME', + 'SCHEMA_ID', + 'SCHEMA_NAME', + 'SCOPE_IDENTITY', + 'SERVERPROPERTY', + 'STATS_DATE', + 'TYPE_ID', + 'TYPE_NAME', + 'TYPEPROPERTY', + 'DENSE_RANK', + 'NTILE', + 'RANK', + 'ROW_NUMBER', + 'PUBLISHINGSERVERNAME', + 'OPENDATASOURCE', + 'OPENQUERY', + 'OPENROWSET', + 'OPENXML', + 'CERTENCODED', + 'CERTPRIVATEKEY', + 'CURRENT_USER', + 'HAS_DBACCESS', + 'HAS_PERMS_BY_NAME', + 'IS_MEMBER', + 'IS_ROLEMEMBER', + 'IS_SRVROLEMEMBER', + 'LOGINPROPERTY', + 'ORIGINAL_LOGIN', + 'PERMISSIONS', + 'PWDENCRYPT', + 'PWDCOMPARE', + 'SESSION_USER', + 'SESSIONPROPERTY', + 'SUSER_ID', + 'SUSER_NAME', + 'SUSER_SID', + 'SUSER_SNAME', + 'SYSTEM_USER', + 'USER', + 'USER_ID', + 'USER_NAME', + 'ASCII', + 'CHAR', + 'CHARINDEX', + 'CONCAT', + 'DIFFERENCE', + 'FORMAT', + 'LEFT', + 'LEN', + 'LOWER', + 'LTRIM', + 'NCHAR', + 'PATINDEX', + 'QUOTENAME', + 'REPLACE', + 'REPLICATE', + 'REVERSE', + 'RIGHT', + 'RTRIM', + 'SOUNDEX', + 'SPACE', + 'STR', + 'STUFF', + 'SUBSTRING', + 'UNICODE', + 'UPPER', + 'BINARY_CHECKSUM', + 'CHECKSUM', + 'CONNECTIONPROPERTY', + 'CONTEXT_INFO', + 'CURRENT_REQUEST_ID', + 'ERROR_LINE', + 'ERROR_NUMBER', + 'ERROR_MESSAGE', + 'ERROR_PROCEDURE', + 'ERROR_SEVERITY', + 'ERROR_STATE', + 'FORMATMESSAGE', + 'GETANSINULL', + 'GET_FILESTREAM_TRANSACTION_CONTEXT', + 'HOST_ID', + 'HOST_NAME', + 'ISNULL', + 'ISNUMERIC', + 'MIN_ACTIVE_ROWVERSION', + 'NEWID', + 'NEWSEQUENTIALID', + 'ROWCOUNT_BIG', + 'XACT_STATE', + 'TEXTPTR', + 'TEXTVALID', + 'COLUMNS_UPDATED', + 'EVENTDATA', + 'TRIGGER_NESTLEVEL', + 'UPDATE', + 'CHANGETABLE', + 'CHANGE_TRACKING_CONTEXT', + 'CHANGE_TRACKING_CURRENT_VERSION', + 'CHANGE_TRACKING_IS_COLUMN_IN_MASK', + 'CHANGE_TRACKING_MIN_VALID_VERSION', + 'CONTAINSTABLE', + 'FREETEXTTABLE', + 'SEMANTICKEYPHRASETABLE', + 'SEMANTICSIMILARITYDETAILSTABLE', + 'SEMANTICSIMILARITYTABLE', + 'FILETABLEROOTPATH', + 'GETFILENAMESPACEPATH', + 'GETPATHLOCATOR', + 'PATHNAME', + 'GET_TRANSMISSION_STATUS', + ], + builtinVariables: [ + '@@DATEFIRST', + '@@DBTS', + '@@LANGID', + '@@LANGUAGE', + '@@LOCK_TIMEOUT', + '@@MAX_CONNECTIONS', + '@@MAX_PRECISION', + '@@NESTLEVEL', + '@@OPTIONS', + '@@REMSERVER', + '@@SERVERNAME', + '@@SERVICENAME', + '@@SPID', + '@@TEXTSIZE', + '@@VERSION', + '@@CURSOR_ROWS', + '@@FETCH_STATUS', + '@@DATEFIRST', + '@@PROCID', + '@@ERROR', + '@@IDENTITY', + '@@ROWCOUNT', + '@@TRANCOUNT', + '@@CONNECTIONS', + '@@CPU_BUSY', + '@@IDLE', + '@@IO_BUSY', + '@@PACKET_ERRORS', + '@@PACK_RECEIVED', + '@@PACK_SENT', + '@@TIMETICKS', + '@@TOTAL_ERRORS', + '@@TOTAL_READ', + '@@TOTAL_WRITE', + ], + pseudoColumns: ['$ACTION', '$IDENTITY', '$ROWGUID', '$PARTITION'], + tokenizer: { + root: [ + { include: '@comments' }, + { include: '@whitespace' }, + { include: '@pseudoColumns' }, + { include: '@numbers' }, + { include: '@strings' }, + { include: '@complexIdentifiers' }, + { include: '@scopes' }, + [/[;,.]/, 'delimiter'], + [/[()]/, '@brackets'], + [ + /[\w@#$]+/, + { + cases: { + '@keywords': 'keyword', + '@operators': 'operator', + '@builtinVariables': 'predefined', + '@builtinFunctions': 'predefined', + '@default': 'identifier', + }, + }, + ], + [/[<>=!%&+\-*/|~^]/, 'operator'], + ], + whitespace: [[/\s+/, 'white']], + comments: [ + [/--+.*/, 'comment'], + [/\/\*/, { token: 'comment.quote', next: '@comment' }], + ], + comment: [ + [/[^*/]+/, 'comment'], + [/\*\//, { token: 'comment.quote', next: '@pop' }], + [/./, 'comment'], + ], + pseudoColumns: [ + [ + /[$][A-Za-z_][\w@#$]*/, + { + cases: { + '@pseudoColumns': 'predefined', + '@default': 'identifier', + }, + }, + ], + ], + numbers: [ + [/0[xX][0-9a-fA-F]*/, 'number'], + [/[$][+-]*\d*(\.\d*)?/, 'number'], + [/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/, 'number'], + ], + strings: [ + [/N'/, { token: 'string', next: '@string' }], + [/'/, { token: 'string', next: '@string' }], + ], + string: [ + [/[^']+/, 'string'], + [/''/, 'string'], + [/'/, { token: 'string', next: '@pop' }], + ], + complexIdentifiers: [ + [ + /\[/, + { token: 'identifier.quote', next: '@bracketedIdentifier' }, + ], + [/"/, { token: 'identifier.quote', next: '@quotedIdentifier' }], + ], + bracketedIdentifier: [ + [/[^\]]+/, 'identifier'], + [/]]/, 'identifier'], + [/]/, { token: 'identifier.quote', next: '@pop' }], + ], + quotedIdentifier: [ + [/[^"]+/, 'identifier'], + [/""/, 'identifier'], + [/"/, { token: 'identifier.quote', next: '@pop' }], + ], + scopes: [ + [/BEGIN\s+(DISTRIBUTED\s+)?TRAN(SACTION)?\b/i, 'keyword'], + [/BEGIN\s+TRY\b/i, { token: 'keyword.try' }], + [/END\s+TRY\b/i, { token: 'keyword.try' }], + [/BEGIN\s+CATCH\b/i, { token: 'keyword.catch' }], + [/END\s+CATCH\b/i, { token: 'keyword.catch' }], + [/(BEGIN|CASE)\b/i, { token: 'keyword.block' }], + [/END\b/i, { token: 'keyword.block' }], + [/WHEN\b/i, { token: 'keyword.choice' }], + [/THEN\b/i, { token: 'keyword.choice' }], + ], + }, + }; + }, + }, +]); diff --git a/docs/7835.7835.js b/docs/7835.7835.js new file mode 100644 index 00000000..a7283618 --- /dev/null +++ b/docs/7835.7835.js @@ -0,0 +1,516 @@ +(self.webpackChunkmermaid_live_editor = + self.webpackChunkmermaid_live_editor || []).push([ + [7835], + { + 47835: (e, t, p) => { + 'use strict'; + p.r(t), p.d(t, { conf: () => n, language: () => i }); + var n = { + wordPattern: /(-?\d*\.\d\w*)|([^\`\~\!\@\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g, + comments: { lineComment: '//', blockComment: ['/*', '*/'] }, + brackets: [ + ['{', '}'], + ['[', ']'], + ['(', ')'], + ], + autoClosingPairs: [ + { open: '{', close: '}', notIn: ['string'] }, + { open: '[', close: ']', notIn: ['string'] }, + { open: '(', close: ')', notIn: ['string'] }, + { open: '"', close: '"', notIn: ['string'] }, + { open: "'", close: "'", notIn: ['string', 'comment'] }, + ], + folding: { + markers: { + start: new RegExp('^\\s*(#|//)region\\b'), + end: new RegExp('^\\s*(#|//)endregion\\b'), + }, + }, + }, + i = { + defaultToken: '', + tokenPostfix: '', + tokenizer: { + root: [ + [ + /<\?((php)|=)?/, + { token: '@rematch', switchTo: '@phpInSimpleState.root' }, + ], + [/<!DOCTYPE/, 'metatag.html', '@doctype'], + [/<!--/, 'comment.html', '@comment'], + [ + /(<)(\w+)(\/>)/, + ['delimiter.html', 'tag.html', 'delimiter.html'], + ], + [ + /(<)(script)/, + ['delimiter.html', { token: 'tag.html', next: '@script' }], + ], + [ + /(<)(style)/, + ['delimiter.html', { token: 'tag.html', next: '@style' }], + ], + [ + /(<)([:\w]+)/, + ['delimiter.html', { token: 'tag.html', next: '@otherTag' }], + ], + [ + /(<\/)(\w+)/, + ['delimiter.html', { token: 'tag.html', next: '@otherTag' }], + ], + [/</, 'delimiter.html'], + [/[^<]+/], + ], + doctype: [ + [ + /<\?((php)|=)?/, + { token: '@rematch', switchTo: '@phpInSimpleState.comment' }, + ], + [/[^>]+/, 'metatag.content.html'], + [/>/, 'metatag.html', '@pop'], + ], + comment: [ + [ + /<\?((php)|=)?/, + { token: '@rematch', switchTo: '@phpInSimpleState.comment' }, + ], + [/-->/, 'comment.html', '@pop'], + [/[^-]+/, 'comment.content.html'], + [/./, 'comment.content.html'], + ], + otherTag: [ + [ + /<\?((php)|=)?/, + { token: '@rematch', switchTo: '@phpInSimpleState.otherTag' }, + ], + [/\/?>/, 'delimiter.html', '@pop'], + [/"([^"]*)"/, 'attribute.value'], + [/'([^']*)'/, 'attribute.value'], + [/[\w\-]+/, 'attribute.name'], + [/=/, 'delimiter'], + [/[ \t\r\n]+/], + ], + script: [ + [ + /<\?((php)|=)?/, + { token: '@rematch', switchTo: '@phpInSimpleState.script' }, + ], + [/type/, 'attribute.name', '@scriptAfterType'], + [/"([^"]*)"/, 'attribute.value'], + [/'([^']*)'/, 'attribute.value'], + [/[\w\-]+/, 'attribute.name'], + [/=/, 'delimiter'], + [ + />/, + { + token: 'delimiter.html', + next: '@scriptEmbedded.text/javascript', + nextEmbedded: 'text/javascript', + }, + ], + [/[ \t\r\n]+/], + [ + /(<\/)(script\s*)(>)/, + [ + 'delimiter.html', + 'tag.html', + { token: 'delimiter.html', next: '@pop' }, + ], + ], + ], + scriptAfterType: [ + [ + /<\?((php)|=)?/, + { + token: '@rematch', + switchTo: '@phpInSimpleState.scriptAfterType', + }, + ], + [/=/, 'delimiter', '@scriptAfterTypeEquals'], + [ + />/, + { + token: 'delimiter.html', + next: '@scriptEmbedded.text/javascript', + nextEmbedded: 'text/javascript', + }, + ], + [/[ \t\r\n]+/], + [/<\/script\s*>/, { token: '@rematch', next: '@pop' }], + ], + scriptAfterTypeEquals: [ + [ + /<\?((php)|=)?/, + { + token: '@rematch', + switchTo: '@phpInSimpleState.scriptAfterTypeEquals', + }, + ], + [ + /"([^"]*)"/, + { + token: 'attribute.value', + switchTo: '@scriptWithCustomType.$1', + }, + ], + [ + /'([^']*)'/, + { + token: 'attribute.value', + switchTo: '@scriptWithCustomType.$1', + }, + ], + [ + />/, + { + token: 'delimiter.html', + next: '@scriptEmbedded.text/javascript', + nextEmbedded: 'text/javascript', + }, + ], + [/[ \t\r\n]+/], + [/<\/script\s*>/, { token: '@rematch', next: '@pop' }], + ], + scriptWithCustomType: [ + [ + /<\?((php)|=)?/, + { + token: '@rematch', + switchTo: '@phpInSimpleState.scriptWithCustomType.$S2', + }, + ], + [ + />/, + { + token: 'delimiter.html', + next: '@scriptEmbedded.$S2', + nextEmbedded: '$S2', + }, + ], + [/"([^"]*)"/, 'attribute.value'], + [/'([^']*)'/, 'attribute.value'], + [/[\w\-]+/, 'attribute.name'], + [/=/, 'delimiter'], + [/[ \t\r\n]+/], + [/<\/script\s*>/, { token: '@rematch', next: '@pop' }], + ], + scriptEmbedded: [ + [ + /<\?((php)|=)?/, + { + token: '@rematch', + switchTo: '@phpInEmbeddedState.scriptEmbedded.$S2', + nextEmbedded: '@pop', + }, + ], + [ + /<\/script/, + { token: '@rematch', next: '@pop', nextEmbedded: '@pop' }, + ], + ], + style: [ + [ + /<\?((php)|=)?/, + { token: '@rematch', switchTo: '@phpInSimpleState.style' }, + ], + [/type/, 'attribute.name', '@styleAfterType'], + [/"([^"]*)"/, 'attribute.value'], + [/'([^']*)'/, 'attribute.value'], + [/[\w\-]+/, 'attribute.name'], + [/=/, 'delimiter'], + [ + />/, + { + token: 'delimiter.html', + next: '@styleEmbedded.text/css', + nextEmbedded: 'text/css', + }, + ], + [/[ \t\r\n]+/], + [ + /(<\/)(style\s*)(>)/, + [ + 'delimiter.html', + 'tag.html', + { token: 'delimiter.html', next: '@pop' }, + ], + ], + ], + styleAfterType: [ + [ + /<\?((php)|=)?/, + { + token: '@rematch', + switchTo: '@phpInSimpleState.styleAfterType', + }, + ], + [/=/, 'delimiter', '@styleAfterTypeEquals'], + [ + />/, + { + token: 'delimiter.html', + next: '@styleEmbedded.text/css', + nextEmbedded: 'text/css', + }, + ], + [/[ \t\r\n]+/], + [/<\/style\s*>/, { token: '@rematch', next: '@pop' }], + ], + styleAfterTypeEquals: [ + [ + /<\?((php)|=)?/, + { + token: '@rematch', + switchTo: '@phpInSimpleState.styleAfterTypeEquals', + }, + ], + [ + /"([^"]*)"/, + { + token: 'attribute.value', + switchTo: '@styleWithCustomType.$1', + }, + ], + [ + /'([^']*)'/, + { + token: 'attribute.value', + switchTo: '@styleWithCustomType.$1', + }, + ], + [ + />/, + { + token: 'delimiter.html', + next: '@styleEmbedded.text/css', + nextEmbedded: 'text/css', + }, + ], + [/[ \t\r\n]+/], + [/<\/style\s*>/, { token: '@rematch', next: '@pop' }], + ], + styleWithCustomType: [ + [ + /<\?((php)|=)?/, + { + token: '@rematch', + switchTo: '@phpInSimpleState.styleWithCustomType.$S2', + }, + ], + [ + />/, + { + token: 'delimiter.html', + next: '@styleEmbedded.$S2', + nextEmbedded: '$S2', + }, + ], + [/"([^"]*)"/, 'attribute.value'], + [/'([^']*)'/, 'attribute.value'], + [/[\w\-]+/, 'attribute.name'], + [/=/, 'delimiter'], + [/[ \t\r\n]+/], + [/<\/style\s*>/, { token: '@rematch', next: '@pop' }], + ], + styleEmbedded: [ + [ + /<\?((php)|=)?/, + { + token: '@rematch', + switchTo: '@phpInEmbeddedState.styleEmbedded.$S2', + nextEmbedded: '@pop', + }, + ], + [ + /<\/style/, + { token: '@rematch', next: '@pop', nextEmbedded: '@pop' }, + ], + ], + phpInSimpleState: [ + [/<\?((php)|=)?/, 'metatag.php'], + [/\?>/, { token: 'metatag.php', switchTo: '@$S2.$S3' }], + { include: 'phpRoot' }, + ], + phpInEmbeddedState: [ + [/<\?((php)|=)?/, 'metatag.php'], + [ + /\?>/, + { + token: 'metatag.php', + switchTo: '@$S2.$S3', + nextEmbedded: '$S3', + }, + ], + { include: 'phpRoot' }, + ], + phpRoot: [ + [ + /[a-zA-Z_]\w*/, + { + cases: { + '@phpKeywords': { token: 'keyword.php' }, + '@phpCompileTimeConstants': { token: 'constant.php' }, + '@default': 'identifier.php', + }, + }, + ], + [ + /[$a-zA-Z_]\w*/, + { + cases: { + '@phpPreDefinedVariables': { + token: 'variable.predefined.php', + }, + '@default': 'variable.php', + }, + }, + ], + [/[{}]/, 'delimiter.bracket.php'], + [/[\[\]]/, 'delimiter.array.php'], + [/[()]/, 'delimiter.parenthesis.php'], + [/[ \t\r\n]+/], + [/(#|\/\/)$/, 'comment.php'], + [/(#|\/\/)/, 'comment.php', '@phpLineComment'], + [/\/\*/, 'comment.php', '@phpComment'], + [/"/, 'string.php', '@phpDoubleQuoteString'], + [/'/, 'string.php', '@phpSingleQuoteString'], + [/[\+\-\*\%\&\|\^\~\!\=\<\>\/\?\;\:\.\,\@]/, 'delimiter.php'], + [/\d*\d+[eE]([\-+]?\d+)?/, 'number.float.php'], + [/\d*\.\d+([eE][\-+]?\d+)?/, 'number.float.php'], + [/0[xX][0-9a-fA-F']*[0-9a-fA-F]/, 'number.hex.php'], + [/0[0-7']*[0-7]/, 'number.octal.php'], + [/0[bB][0-1']*[0-1]/, 'number.binary.php'], + [/\d[\d']*/, 'number.php'], + [/\d/, 'number.php'], + ], + phpComment: [ + [/\*\//, 'comment.php', '@pop'], + [/[^*]+/, 'comment.php'], + [/./, 'comment.php'], + ], + phpLineComment: [ + [/\?>/, { token: '@rematch', next: '@pop' }], + [/.$/, 'comment.php', '@pop'], + [/[^?]+$/, 'comment.php', '@pop'], + [/[^?]+/, 'comment.php'], + [/./, 'comment.php'], + ], + phpDoubleQuoteString: [ + [/[^\\"]+/, 'string.php'], + [/@escapes/, 'string.escape.php'], + [/\\./, 'string.escape.invalid.php'], + [/"/, 'string.php', '@pop'], + ], + phpSingleQuoteString: [ + [/[^\\']+/, 'string.php'], + [/@escapes/, 'string.escape.php'], + [/\\./, 'string.escape.invalid.php'], + [/'/, 'string.php', '@pop'], + ], + }, + phpKeywords: [ + 'abstract', + 'and', + 'array', + 'as', + 'break', + 'callable', + 'case', + 'catch', + 'cfunction', + 'class', + 'clone', + 'const', + 'continue', + 'declare', + 'default', + 'do', + 'else', + 'elseif', + 'enddeclare', + 'endfor', + 'endforeach', + 'endif', + 'endswitch', + 'endwhile', + 'extends', + 'false', + 'final', + 'for', + 'foreach', + 'function', + 'global', + 'goto', + 'if', + 'implements', + 'interface', + 'instanceof', + 'insteadof', + 'namespace', + 'new', + 'null', + 'object', + 'old_function', + 'or', + 'private', + 'protected', + 'public', + 'resource', + 'static', + 'switch', + 'throw', + 'trait', + 'try', + 'true', + 'use', + 'var', + 'while', + 'xor', + 'die', + 'echo', + 'empty', + 'exit', + 'eval', + 'include', + 'include_once', + 'isset', + 'list', + 'require', + 'require_once', + 'return', + 'print', + 'unset', + 'yield', + '__construct', + ], + phpCompileTimeConstants: [ + '__CLASS__', + '__DIR__', + '__FILE__', + '__LINE__', + '__NAMESPACE__', + '__METHOD__', + '__FUNCTION__', + '__TRAIT__', + ], + phpPreDefinedVariables: [ + '$GLOBALS', + '$_SERVER', + '$_GET', + '$_POST', + '$_FILES', + '$_REQUEST', + '$_SESSION', + '$_ENV', + '$_COOKIE', + '$php_errormsg', + '$HTTP_RAW_POST_DATA', + '$http_response_header', + '$argc', + '$argv', + ], + escapes: /\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/, + }; + }, + }, +]); diff --git a/docs/8070.8070.js b/docs/8070.8070.js new file mode 100644 index 00000000..4487b409 --- /dev/null +++ b/docs/8070.8070.js @@ -0,0 +1,676 @@ +(self.webpackChunkmermaid_live_editor = + self.webpackChunkmermaid_live_editor || []).push([ + [8070], + { + 8070: (e, t, s) => { + 'use strict'; + s.r(t), s.d(t, { conf: () => r, language: () => i }); + var r = { + comments: { lineComment: '#' }, + brackets: [ + ['{', '}'], + ['[', ']'], + ['(', ')'], + ], + autoClosingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"' }, + { open: "'", close: "'" }, + { open: '`', close: '`' }, + ], + surroundingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"' }, + { open: "'", close: "'" }, + { open: '`', close: '`' }, + ], + }, + i = { + defaultToken: '', + tokenPostfix: '.perl', + brackets: [ + { token: 'delimiter.bracket', open: '{', close: '}' }, + { token: 'delimiter.parenthesis', open: '(', close: ')' }, + { token: 'delimiter.square', open: '[', close: ']' }, + ], + keywords: [ + '__DATA__', + 'else', + 'lock', + '__END__', + 'elsif', + 'lt', + '__FILE__', + 'eq', + '__LINE__', + 'exp', + 'ne', + 'sub', + '__PACKAGE__', + 'for', + 'no', + 'and', + 'foreach', + 'or', + 'unless', + 'cmp', + 'ge', + 'package', + 'until', + 'continue', + 'gt', + 'while', + 'CORE', + 'if', + 'xor', + 'do', + 'le', + '__DIE__', + '__WARN__', + ], + builtinFunctions: [ + '-A', + 'END', + 'length', + 'setpgrp', + '-B', + 'endgrent', + 'link', + 'setpriority', + '-b', + 'endhostent', + 'listen', + 'setprotoent', + '-C', + 'endnetent', + 'local', + 'setpwent', + '-c', + 'endprotoent', + 'localtime', + 'setservent', + '-d', + 'endpwent', + 'log', + 'setsockopt', + '-e', + 'endservent', + 'lstat', + 'shift', + '-f', + 'eof', + 'map', + 'shmctl', + '-g', + 'eval', + 'mkdir', + 'shmget', + '-k', + 'exec', + 'msgctl', + 'shmread', + '-l', + 'exists', + 'msgget', + 'shmwrite', + '-M', + 'exit', + 'msgrcv', + 'shutdown', + '-O', + 'fcntl', + 'msgsnd', + 'sin', + '-o', + 'fileno', + 'my', + 'sleep', + '-p', + 'flock', + 'next', + 'socket', + '-r', + 'fork', + 'not', + 'socketpair', + '-R', + 'format', + 'oct', + 'sort', + '-S', + 'formline', + 'open', + 'splice', + '-s', + 'getc', + 'opendir', + 'split', + '-T', + 'getgrent', + 'ord', + 'sprintf', + '-t', + 'getgrgid', + 'our', + 'sqrt', + '-u', + 'getgrnam', + 'pack', + 'srand', + '-w', + 'gethostbyaddr', + 'pipe', + 'stat', + '-W', + 'gethostbyname', + 'pop', + 'state', + '-X', + 'gethostent', + 'pos', + 'study', + '-x', + 'getlogin', + 'print', + 'substr', + '-z', + 'getnetbyaddr', + 'printf', + 'symlink', + 'abs', + 'getnetbyname', + 'prototype', + 'syscall', + 'accept', + 'getnetent', + 'push', + 'sysopen', + 'alarm', + 'getpeername', + 'quotemeta', + 'sysread', + 'atan2', + 'getpgrp', + 'rand', + 'sysseek', + 'AUTOLOAD', + 'getppid', + 'read', + 'system', + 'BEGIN', + 'getpriority', + 'readdir', + 'syswrite', + 'bind', + 'getprotobyname', + 'readline', + 'tell', + 'binmode', + 'getprotobynumber', + 'readlink', + 'telldir', + 'bless', + 'getprotoent', + 'readpipe', + 'tie', + 'break', + 'getpwent', + 'recv', + 'tied', + 'caller', + 'getpwnam', + 'redo', + 'time', + 'chdir', + 'getpwuid', + 'ref', + 'times', + 'CHECK', + 'getservbyname', + 'rename', + 'truncate', + 'chmod', + 'getservbyport', + 'require', + 'uc', + 'chomp', + 'getservent', + 'reset', + 'ucfirst', + 'chop', + 'getsockname', + 'return', + 'umask', + 'chown', + 'getsockopt', + 'reverse', + 'undef', + 'chr', + 'glob', + 'rewinddir', + 'UNITCHECK', + 'chroot', + 'gmtime', + 'rindex', + 'unlink', + 'close', + 'goto', + 'rmdir', + 'unpack', + 'closedir', + 'grep', + 'say', + 'unshift', + 'connect', + 'hex', + 'scalar', + 'untie', + 'cos', + 'index', + 'seek', + 'use', + 'crypt', + 'INIT', + 'seekdir', + 'utime', + 'dbmclose', + 'int', + 'select', + 'values', + 'dbmopen', + 'ioctl', + 'semctl', + 'vec', + 'defined', + 'join', + 'semget', + 'wait', + 'delete', + 'keys', + 'semop', + 'waitpid', + 'DESTROY', + 'kill', + 'send', + 'wantarray', + 'die', + 'last', + 'setgrent', + 'warn', + 'dump', + 'lc', + 'sethostent', + 'write', + 'each', + 'lcfirst', + 'setnetent', + ], + builtinFileHandlers: [ + 'ARGV', + 'STDERR', + 'STDOUT', + 'ARGVOUT', + 'STDIN', + 'ENV', + ], + builtinVariables: [ + '$!', + '$^RE_TRIE_MAXBUF', + '$LAST_REGEXP_CODE_RESULT', + '$"', + '$^S', + '$LIST_SEPARATOR', + '$#', + '$^T', + '$MATCH', + '$$', + '$^TAINT', + '$MULTILINE_MATCHING', + '$%', + '$^UNICODE', + '$NR', + '$&', + '$^UTF8LOCALE', + '$OFMT', + "$'", + '$^V', + '$OFS', + '$(', + '$^W', + '$ORS', + '$)', + '$^WARNING_BITS', + '$OS_ERROR', + '$*', + '$^WIDE_SYSTEM_CALLS', + '$OSNAME', + '$+', + '$^X', + '$OUTPUT_AUTO_FLUSH', + '$,', + '$_', + '$OUTPUT_FIELD_SEPARATOR', + '$-', + '$`', + '$OUTPUT_RECORD_SEPARATOR', + '$.', + '$a', + '$PERL_VERSION', + '$/', + '$ACCUMULATOR', + '$PERLDB', + '$0', + '$ARG', + '$PID', + '$:', + '$ARGV', + '$POSTMATCH', + '$;', + '$b', + '$PREMATCH', + '$<', + '$BASETIME', + '$PROCESS_ID', + '$=', + '$CHILD_ERROR', + '$PROGRAM_NAME', + '$>', + '$COMPILING', + '$REAL_GROUP_ID', + '$?', + '$DEBUGGING', + '$REAL_USER_ID', + '$@', + '$EFFECTIVE_GROUP_ID', + '$RS', + '$[', + '$EFFECTIVE_USER_ID', + '$SUBSCRIPT_SEPARATOR', + '$\\', + '$EGID', + '$SUBSEP', + '$]', + '$ERRNO', + '$SYSTEM_FD_MAX', + '$^', + '$EUID', + '$UID', + '$^A', + '$EVAL_ERROR', + '$WARNING', + '$^C', + '$EXCEPTIONS_BEING_CAUGHT', + '$|', + '$^CHILD_ERROR_NATIVE', + '$EXECUTABLE_NAME', + '$~', + '$^D', + '$EXTENDED_OS_ERROR', + '%!', + '$^E', + '$FORMAT_FORMFEED', + '%^H', + '$^ENCODING', + '$FORMAT_LINE_BREAK_CHARACTERS', + '%ENV', + '$^F', + '$FORMAT_LINES_LEFT', + '%INC', + '$^H', + '$FORMAT_LINES_PER_PAGE', + '%OVERLOAD', + '$^I', + '$FORMAT_NAME', + '%SIG', + '$^L', + '$FORMAT_PAGE_NUMBER', + '@+', + '$^M', + '$FORMAT_TOP_NAME', + '@-', + '$^N', + '$GID', + '@_', + '$^O', + '$INPLACE_EDIT', + '@ARGV', + '$^OPEN', + '$INPUT_LINE_NUMBER', + '@INC', + '$^P', + '$INPUT_RECORD_SEPARATOR', + '@LAST_MATCH_START', + '$^R', + '$LAST_MATCH_END', + '$^RE_DEBUG_FLAGS', + '$LAST_PAREN_MATCH', + ], + symbols: /[:+\-\^*$&%@=<>!?|\/~\.]/, + quoteLikeOps: ['qr', 'm', 's', 'q', 'qq', 'qx', 'qw', 'tr', 'y'], + escapes: /\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/, + tokenizer: { + root: [ + { include: '@whitespace' }, + [ + /[a-zA-Z\-_][\w\-_]*/, + { + cases: { + '@keywords': 'keyword', + '@builtinFunctions': 'type.identifier', + '@builtinFileHandlers': 'variable.predefined', + '@quoteLikeOps': { + token: '@rematch', + next: 'quotedConstructs', + }, + '@default': '', + }, + }, + ], + [ + /[\$@%][*@#?\+\-\$!\w\\\^><~:;\.]+/, + { + cases: { + '@builtinVariables': 'variable.predefined', + '@default': 'variable', + }, + }, + ], + { include: '@strings' }, + { include: '@dblStrings' }, + { include: '@perldoc' }, + { include: '@heredoc' }, + [/[{}\[\]()]/, '@brackets'], + [ + /[\/](?:(?:\[(?:\\]|[^\]])+\])|(?:\\\/|[^\]\/]))*[\/]\w*\s*(?=[).,;]|$)/, + 'regexp', + ], + [/@symbols/, 'operators'], + { include: '@numbers' }, + [/[,;]/, 'delimiter'], + ], + whitespace: [ + [/\s+/, 'white'], + [/(^#!.*$)/, 'metatag'], + [/(^#.*$)/, 'comment'], + ], + numbers: [ + [/\d*\.\d+([eE][\-+]?\d+)?/, 'number.float'], + [/0[xX][0-9a-fA-F_]*[0-9a-fA-F]/, 'number.hex'], + [/\d+/, 'number'], + ], + strings: [[/'/, 'string', '@stringBody']], + stringBody: [ + [/'/, 'string', '@popall'], + [/\\'/, 'string.escape'], + [/./, 'string'], + ], + dblStrings: [[/"/, 'string', '@dblStringBody']], + dblStringBody: [ + [/"/, 'string', '@popall'], + [/@escapes/, 'string.escape'], + [/\\./, 'string.escape.invalid'], + { include: '@variables' }, + [/./, 'string'], + ], + quotedConstructs: [ + [ + /(q|qw|tr|y)\s*\(/, + { token: 'string.delim', switchTo: '@qstring.(.)' }, + ], + [ + /(q|qw|tr|y)\s*\[/, + { token: 'string.delim', switchTo: '@qstring.[.]' }, + ], + [ + /(q|qw|tr|y)\s*\{/, + { token: 'string.delim', switchTo: '@qstring.{.}' }, + ], + [ + /(q|qw|tr|y)\s*</, + { token: 'string.delim', switchTo: '@qstring.<.>' }, + ], + [ + /(q|qw|tr|y)#/, + { token: 'string.delim', switchTo: '@qstring.#.#' }, + ], + [ + /(q|qw|tr|y)\s*([^A-Za-z0-9#\s])/, + { token: 'string.delim', switchTo: '@qstring.$2.$2' }, + ], + [ + /(q|qw|tr|y)\s+(\w)/, + { token: 'string.delim', switchTo: '@qstring.$2.$2' }, + ], + [ + /(qr|m|s)\s*\(/, + { token: 'regexp.delim', switchTo: '@qregexp.(.)' }, + ], + [ + /(qr|m|s)\s*\[/, + { token: 'regexp.delim', switchTo: '@qregexp.[.]' }, + ], + [ + /(qr|m|s)\s*\{/, + { token: 'regexp.delim', switchTo: '@qregexp.{.}' }, + ], + [ + /(qr|m|s)\s*</, + { token: 'regexp.delim', switchTo: '@qregexp.<.>' }, + ], + [ + /(qr|m|s)#/, + { token: 'regexp.delim', switchTo: '@qregexp.#.#' }, + ], + [ + /(qr|m|s)\s*([^A-Za-z0-9_#\s])/, + { token: 'regexp.delim', switchTo: '@qregexp.$2.$2' }, + ], + [ + /(qr|m|s)\s+(\w)/, + { token: 'regexp.delim', switchTo: '@qregexp.$2.$2' }, + ], + [ + /(qq|qx)\s*\(/, + { token: 'string.delim', switchTo: '@qqstring.(.)' }, + ], + [ + /(qq|qx)\s*\[/, + { token: 'string.delim', switchTo: '@qqstring.[.]' }, + ], + [ + /(qq|qx)\s*\{/, + { token: 'string.delim', switchTo: '@qqstring.{.}' }, + ], + [ + /(qq|qx)\s*</, + { token: 'string.delim', switchTo: '@qqstring.<.>' }, + ], + [ + /(qq|qx)#/, + { token: 'string.delim', switchTo: '@qqstring.#.#' }, + ], + [ + /(qq|qx)\s*([^A-Za-z0-9#\s])/, + { token: 'string.delim', switchTo: '@qqstring.$2.$2' }, + ], + [ + /(qq|qx)\s+(\w)/, + { token: 'string.delim', switchTo: '@qqstring.$2.$2' }, + ], + ], + qstring: [ + [/\\./, 'string.escape'], + [ + /./, + { + cases: { + '$#==$S3': { token: 'string.delim', next: '@pop' }, + '$#==$S2': { token: 'string.delim', next: '@push' }, + '@default': 'string', + }, + }, + ], + ], + qregexp: [ + { include: '@variables' }, + [/\\./, 'regexp.escape'], + [ + /./, + { + cases: { + '$#==$S3': { + token: 'regexp.delim', + next: '@regexpModifiers', + }, + '$#==$S2': { token: 'regexp.delim', next: '@push' }, + '@default': 'regexp', + }, + }, + ], + ], + regexpModifiers: [ + [ + /[msixpodualngcer]+/, + { token: 'regexp.modifier', next: '@popall' }, + ], + ], + qqstring: [{ include: '@variables' }, { include: '@qstring' }], + heredoc: [ + [ + /<<\s*['"`]?([\w\-]+)['"`]?/, + { token: 'string.heredoc.delimiter', next: '@heredocBody.$1' }, + ], + ], + heredocBody: [ + [ + /^([\w\-]+)$/, + { + cases: { + '$1==$S2': [ + { token: 'string.heredoc.delimiter', next: '@popall' }, + ], + '@default': 'string.heredoc', + }, + }, + ], + [/./, 'string.heredoc'], + ], + perldoc: [[/^=\w/, 'comment.doc', '@perldocBody']], + perldocBody: [ + [/^=cut\b/, 'type.identifier', '@popall'], + [/./, 'comment.doc'], + ], + variables: [ + [/\$\w+/, 'variable'], + [/@\w+/, 'variable'], + [/%\w+/, 'variable'], + ], + }, + }; + }, + }, +]); diff --git a/docs/8084.8084.js b/docs/8084.8084.js new file mode 100644 index 00000000..ad938b42 --- /dev/null +++ b/docs/8084.8084.js @@ -0,0 +1,151 @@ +(self.webpackChunkmermaid_live_editor = + self.webpackChunkmermaid_live_editor || []).push([ + [8084], + { + 98084: (e, o, n) => { + 'use strict'; + n.r(o), n.d(o, { conf: () => t, language: () => s }); + var t = { + comments: { lineComment: '//', blockComment: ['(*', '*)'] }, + brackets: [ + ['{', '}'], + ['[', ']'], + ['(', ')'], + ['<', '>'], + ], + autoClosingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '<', close: '>' }, + { open: "'", close: "'" }, + ], + surroundingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '<', close: '>' }, + { open: "'", close: "'" }, + ], + }, + s = { + defaultToken: '', + tokenPostfix: '.pascaligo', + ignoreCase: !0, + brackets: [ + { open: '{', close: '}', token: 'delimiter.curly' }, + { open: '[', close: ']', token: 'delimiter.square' }, + { open: '(', close: ')', token: 'delimiter.parenthesis' }, + { open: '<', close: '>', token: 'delimiter.angle' }, + ], + keywords: [ + 'begin', + 'block', + 'case', + 'const', + 'else', + 'end', + 'fail', + 'for', + 'from', + 'function', + 'if', + 'is', + 'nil', + 'of', + 'remove', + 'return', + 'skip', + 'then', + 'type', + 'var', + 'while', + 'with', + 'option', + 'None', + 'transaction', + ], + typeKeywords: [ + 'bool', + 'int', + 'list', + 'map', + 'nat', + 'record', + 'string', + 'unit', + 'address', + 'map', + 'mtz', + 'xtz', + ], + operators: [ + '=', + '>', + '<', + '<=', + '>=', + '<>', + ':', + ':=', + 'and', + 'mod', + 'or', + '+', + '-', + '*', + '/', + '@', + '&', + '^', + '%', + ], + symbols: /[=><:@\^&|+\-*\/\^%]+/, + tokenizer: { + root: [ + [ + /[a-zA-Z_][\w]*/, + { + cases: { + '@keywords': { token: 'keyword.$0' }, + '@default': 'identifier', + }, + }, + ], + { include: '@whitespace' }, + [/[{}()\[\]]/, '@brackets'], + [/[<>](?!@symbols)/, '@brackets'], + [ + /@symbols/, + { cases: { '@operators': 'delimiter', '@default': '' } }, + ], + [/\d*\.\d+([eE][\-+]?\d+)?/, 'number.float'], + [/\$[0-9a-fA-F]{1,16}/, 'number.hex'], + [/\d+/, 'number'], + [/[;,.]/, 'delimiter'], + [/'([^'\\]|\\.)*$/, 'string.invalid'], + [/'/, 'string', '@string'], + [/'[^\\']'/, 'string'], + [/'/, 'string.invalid'], + [/\#\d+/, 'string'], + ], + comment: [ + [/[^\(\*]+/, 'comment'], + [/\*\)/, 'comment', '@pop'], + [/\(\*/, 'comment'], + ], + string: [ + [/[^\\']+/, 'string'], + [/\\./, 'string.escape.invalid'], + [/'/, { token: 'string.quote', bracket: '@close', next: '@pop' }], + ], + whitespace: [ + [/[ \t\r\n]+/, 'white'], + [/\(\*/, 'comment', '@comment'], + [/\/\/.*$/, 'comment'], + ], + }, + }; + }, + }, +]); diff --git a/docs/8180.8180.js b/docs/8180.8180.js new file mode 100644 index 00000000..b42f050c --- /dev/null +++ b/docs/8180.8180.js @@ -0,0 +1,516 @@ +(self.webpackChunkmermaid_live_editor = + self.webpackChunkmermaid_live_editor || []).push([ + [8180], + { + 48180: (e, t, n) => { + 'use strict'; + n.r(t), n.d(t, { conf: () => i, language: () => o }); + var i = { + comments: { lineComment: '//', blockComment: ['(*', '*)'] }, + brackets: [ + ['{', '}'], + ['[', ']'], + ['(', ')'], + ['<', '>'], + ], + autoClosingPairs: [ + { open: '"', close: '"', notIn: ['string', 'comment'] }, + { open: '{', close: '}', notIn: ['string', 'comment'] }, + { open: '[', close: ']', notIn: ['string', 'comment'] }, + { open: '(', close: ')', notIn: ['string', 'comment'] }, + ], + }, + o = { + tokenPostfix: '.pats', + defaultToken: 'invalid', + keywords: [ + 'abstype', + 'abst0ype', + 'absprop', + 'absview', + 'absvtype', + 'absviewtype', + 'absvt0ype', + 'absviewt0ype', + 'as', + 'and', + 'assume', + 'begin', + 'classdec', + 'datasort', + 'datatype', + 'dataprop', + 'dataview', + 'datavtype', + 'dataviewtype', + 'do', + 'end', + 'extern', + 'extype', + 'extvar', + 'exception', + 'fn', + 'fnx', + 'fun', + 'prfn', + 'prfun', + 'praxi', + 'castfn', + 'if', + 'then', + 'else', + 'ifcase', + 'in', + 'infix', + 'infixl', + 'infixr', + 'prefix', + 'postfix', + 'implmnt', + 'implement', + 'primplmnt', + 'primplement', + 'import', + 'let', + 'local', + 'macdef', + 'macrodef', + 'nonfix', + 'symelim', + 'symintr', + 'overload', + 'of', + 'op', + 'rec', + 'sif', + 'scase', + 'sortdef', + 'sta', + 'stacst', + 'stadef', + 'static', + 'staload', + 'dynload', + 'try', + 'tkindef', + 'typedef', + 'propdef', + 'viewdef', + 'vtypedef', + 'viewtypedef', + 'prval', + 'var', + 'prvar', + 'when', + 'where', + 'with', + 'withtype', + 'withprop', + 'withview', + 'withvtype', + 'withviewtype', + ], + keywords_dlr: [ + '$delay', + '$ldelay', + '$arrpsz', + '$arrptrsize', + '$d2ctype', + '$effmask', + '$effmask_ntm', + '$effmask_exn', + '$effmask_ref', + '$effmask_wrt', + '$effmask_all', + '$extern', + '$extkind', + '$extype', + '$extype_struct', + '$extval', + '$extfcall', + '$extmcall', + '$literal', + '$myfilename', + '$mylocation', + '$myfunction', + '$lst', + '$lst_t', + '$lst_vt', + '$list', + '$list_t', + '$list_vt', + '$rec', + '$rec_t', + '$rec_vt', + '$record', + '$record_t', + '$record_vt', + '$tup', + '$tup_t', + '$tup_vt', + '$tuple', + '$tuple_t', + '$tuple_vt', + '$break', + '$continue', + '$raise', + '$showtype', + '$vcopyenv_v', + '$vcopyenv_vt', + '$tempenver', + '$solver_assert', + '$solver_verify', + ], + keywords_srp: [ + '#if', + '#ifdef', + '#ifndef', + '#then', + '#elif', + '#elifdef', + '#elifndef', + '#else', + '#endif', + '#error', + '#prerr', + '#print', + '#assert', + '#undef', + '#define', + '#include', + '#require', + '#pragma', + '#codegen2', + '#codegen3', + ], + irregular_keyword_list: [ + 'val+', + 'val-', + 'val', + 'case+', + 'case-', + 'case', + 'addr@', + 'addr', + 'fold@', + 'free@', + 'fix@', + 'fix', + 'lam@', + 'lam', + 'llam@', + 'llam', + 'viewt@ype+', + 'viewt@ype-', + 'viewt@ype', + 'viewtype+', + 'viewtype-', + 'viewtype', + 'view+', + 'view-', + 'view@', + 'view', + 'type+', + 'type-', + 'type', + 'vtype+', + 'vtype-', + 'vtype', + 'vt@ype+', + 'vt@ype-', + 'vt@ype', + 'viewt@ype+', + 'viewt@ype-', + 'viewt@ype', + 'viewtype+', + 'viewtype-', + 'viewtype', + 'prop+', + 'prop-', + 'prop', + 'type+', + 'type-', + 'type', + 't@ype', + 't@ype+', + 't@ype-', + 'abst@ype', + 'abstype', + 'absviewt@ype', + 'absvt@ype', + 'for*', + 'for', + 'while*', + 'while', + ], + keywords_types: [ + 'bool', + 'double', + 'byte', + 'int', + 'short', + 'char', + 'void', + 'unit', + 'long', + 'float', + 'string', + 'strptr', + ], + keywords_effects: [ + '0', + 'fun', + 'clo', + 'prf', + 'funclo', + 'cloptr', + 'cloref', + 'ref', + 'ntm', + '1', + ], + operators: [ + '@', + '!', + '|', + '`', + ':', + '$', + '.', + '=', + '#', + '~', + '..', + '...', + '=>', + '=<>', + '=/=>', + '=>>', + '=/=>>', + '<', + '>', + '><', + '.<', + '>.', + '.<>.', + '->', + '-<>', + ], + brackets: [ + { open: ',(', close: ')', token: 'delimiter.parenthesis' }, + { open: '`(', close: ')', token: 'delimiter.parenthesis' }, + { open: '%(', close: ')', token: 'delimiter.parenthesis' }, + { open: "'(", close: ')', token: 'delimiter.parenthesis' }, + { open: "'{", close: '}', token: 'delimiter.parenthesis' }, + { open: '@(', close: ')', token: 'delimiter.parenthesis' }, + { open: '@{', close: '}', token: 'delimiter.brace' }, + { open: '@[', close: ']', token: 'delimiter.square' }, + { open: '#[', close: ']', token: 'delimiter.square' }, + { open: '{', close: '}', token: 'delimiter.curly' }, + { open: '[', close: ']', token: 'delimiter.square' }, + { open: '(', close: ')', token: 'delimiter.parenthesis' }, + { open: '<', close: '>', token: 'delimiter.angle' }, + ], + symbols: /[=><!~?:&|+\-*\/\^%]+/, + IDENTFST: /[a-zA-Z_]/, + IDENTRST: /[a-zA-Z0-9_'$]/, + symbolic: /[%&+-./:=@~`^|*!$#?<>]/, + digit: /[0-9]/, + digitseq0: /@digit*/, + xdigit: /[0-9A-Za-z]/, + xdigitseq0: /@xdigit*/, + INTSP: /[lLuU]/, + FLOATSP: /[fFlL]/, + fexponent: /[eE][+-]?[0-9]+/, + fexponent_bin: /[pP][+-]?[0-9]+/, + deciexp: /\.[0-9]*@fexponent?/, + hexiexp: /\.[0-9a-zA-Z]*@fexponent_bin?/, + irregular_keywords: /val[+-]?|case[+-]?|addr\@?|fold\@|free\@|fix\@?|lam\@?|llam\@?|prop[+-]?|type[+-]?|view[+-@]?|viewt@?ype[+-]?|t@?ype[+-]?|v(iew)?t@?ype[+-]?|abst@?ype|absv(iew)?t@?ype|for\*?|while\*?/, + ESCHAR: /[ntvbrfa\\\?'"\(\[\{]/, + start: 'root', + tokenizer: { + root: [ + { regex: /[ \t\r\n]+/, action: { token: '' } }, + { regex: /\(\*\)/, action: { token: 'invalid' } }, + { + regex: /\(\*/, + action: { token: 'comment', next: 'lexing_COMMENT_block_ml' }, + }, + { regex: /\(/, action: '@brackets' }, + { regex: /\)/, action: '@brackets' }, + { regex: /\[/, action: '@brackets' }, + { regex: /\]/, action: '@brackets' }, + { regex: /\{/, action: '@brackets' }, + { regex: /\}/, action: '@brackets' }, + { regex: /,\(/, action: '@brackets' }, + { regex: /,/, action: { token: 'delimiter.comma' } }, + { regex: /;/, action: { token: 'delimiter.semicolon' } }, + { regex: /@\(/, action: '@brackets' }, + { regex: /@\[/, action: '@brackets' }, + { regex: /@\{/, action: '@brackets' }, + { + regex: /:</, + action: { token: 'keyword', next: '@lexing_EFFECT_commaseq0' }, + }, + { regex: /\.@symbolic+/, action: { token: 'identifier.sym' } }, + { + regex: /\.@digit*@fexponent@FLOATSP*/, + action: { token: 'number.float' }, + }, + { regex: /\.@digit+/, action: { token: 'number.float' } }, + { + regex: /\$@IDENTFST@IDENTRST*/, + action: { + cases: { + '@keywords_dlr': { token: 'keyword.dlr' }, + '@default': { token: 'namespace' }, + }, + }, + }, + { + regex: /\#@IDENTFST@IDENTRST*/, + action: { + cases: { + '@keywords_srp': { token: 'keyword.srp' }, + '@default': { token: 'identifier' }, + }, + }, + }, + { regex: /%\(/, action: { token: 'delimiter.parenthesis' } }, + { + regex: /^%{(#|\^|\$)?/, + action: { + token: 'keyword', + next: '@lexing_EXTCODE', + nextEmbedded: 'text/javascript', + }, + }, + { regex: /^%}/, action: { token: 'keyword' } }, + { regex: /'\(/, action: { token: 'delimiter.parenthesis' } }, + { regex: /'\[/, action: { token: 'delimiter.bracket' } }, + { regex: /'\{/, action: { token: 'delimiter.brace' } }, + [ + /(')(\\@ESCHAR|\\[xX]@xdigit+|\\@digit+)(')/, + ['string', 'string.escape', 'string'], + ], + [/'[^\\']'/, 'string'], + [/"/, 'string.quote', '@lexing_DQUOTE'], + { regex: /`\(/, action: '@brackets' }, + { regex: /\\/, action: { token: 'punctuation' } }, + { + regex: /@irregular_keywords(?!@IDENTRST)/, + action: { token: 'keyword' }, + }, + { + regex: /@IDENTFST@IDENTRST*[<!\[]?/, + action: { + cases: { + '@keywords': { token: 'keyword' }, + '@keywords_types': { token: 'type' }, + '@default': { token: 'identifier' }, + }, + }, + }, + { + regex: /\/\/\/\//, + action: { token: 'comment', next: '@lexing_COMMENT_rest' }, + }, + { regex: /\/\/.*$/, action: { token: 'comment' } }, + { + regex: /\/\*/, + action: { token: 'comment', next: '@lexing_COMMENT_block_c' }, + }, + { + regex: /-<|=</, + action: { token: 'keyword', next: '@lexing_EFFECT_commaseq0' }, + }, + { + regex: /@symbolic+/, + action: { + cases: { '@operators': 'keyword', '@default': 'operator' }, + }, + }, + { + regex: /0[xX]@xdigit+(@hexiexp|@fexponent_bin)@FLOATSP*/, + action: { token: 'number.float' }, + }, + { + regex: /0[xX]@xdigit+@INTSP*/, + action: { token: 'number.hex' }, + }, + { + regex: /0[0-7]+(?![0-9])@INTSP*/, + action: { token: 'number.octal' }, + }, + { + regex: /@digit+(@fexponent|@deciexp)@FLOATSP*/, + action: { token: 'number.float' }, + }, + { + regex: /@digit@digitseq0@INTSP*/, + action: { token: 'number.decimal' }, + }, + { regex: /@digit+@INTSP*/, action: { token: 'number' } }, + ], + lexing_COMMENT_block_ml: [ + [/[^\(\*]+/, 'comment'], + [/\(\*/, 'comment', '@push'], + [/\(\*/, 'comment.invalid'], + [/\*\)/, 'comment', '@pop'], + [/\*/, 'comment'], + ], + lexing_COMMENT_block_c: [ + [/[^\/*]+/, 'comment'], + [/\*\//, 'comment', '@pop'], + [/[\/*]/, 'comment'], + ], + lexing_COMMENT_rest: [ + [/$/, 'comment', '@pop'], + [/.*/, 'comment'], + ], + lexing_EFFECT_commaseq0: [ + { + regex: /@IDENTFST@IDENTRST+|@digit+/, + action: { + cases: { + '@keywords_effects': { token: 'type.effect' }, + '@default': { token: 'identifier' }, + }, + }, + }, + { regex: /,/, action: { token: 'punctuation' } }, + { regex: />/, action: { token: '@rematch', next: '@pop' } }, + ], + lexing_EXTCODE: [ + { + regex: /^%}/, + action: { + token: '@rematch', + next: '@pop', + nextEmbedded: '@pop', + }, + }, + { regex: /[^%]+/, action: '' }, + ], + lexing_DQUOTE: [ + { regex: /"/, action: { token: 'string.quote', next: '@pop' } }, + { + regex: /(\{\$)(@IDENTFST@IDENTRST*)(\})/, + action: [ + { token: 'string.escape' }, + { token: 'identifier' }, + { token: 'string.escape' }, + ], + }, + { regex: /\\$/, action: { token: 'string.escape' } }, + { + regex: /\\(@ESCHAR|[xX]@xdigit+|@digit+)/, + action: { token: 'string.escape' }, + }, + { regex: /[^\\"]+/, action: { token: 'string' } }, + ], + }, + }; + }, + }, +]); diff --git a/docs/8183.8183.js b/docs/8183.8183.js new file mode 100644 index 00000000..f50aa2a5 --- /dev/null +++ b/docs/8183.8183.js @@ -0,0 +1,1697 @@ +(self.webpackChunkmermaid_live_editor = + self.webpackChunkmermaid_live_editor || []).push([ + [8183], + { + 68183: (e, t, n) => { + 'use strict'; + n.r(t), + n.d(t, { + getJavaScriptWorker: () => N, + getTypeScriptWorker: () => E, + setupJavaScript: () => T, + setupTypeScript: () => O, + }); + var r, + i, + o = n(91429), + s = (function () { + function e(e, t) { + var n = this; + (this._modeId = e), + (this._defaults = t), + (this._worker = null), + (this._client = null), + (this._configChangeListener = this._defaults.onDidChange( + function () { + return n._stopWorker(); + } + )), + (this._updateExtraLibsToken = 0), + (this._extraLibsChangeListener = this._defaults.onDidExtraLibsChange( + function () { + return n._updateExtraLibs(); + } + )); + } + return ( + (e.prototype._stopWorker = function () { + this._worker && (this._worker.dispose(), (this._worker = null)), + (this._client = null); + }), + (e.prototype.dispose = function () { + this._configChangeListener.dispose(), + this._extraLibsChangeListener.dispose(), + this._stopWorker(); + }), + (e.prototype._updateExtraLibs = function () { + return ( + (e = this), + (t = void 0), + (r = function () { + var e, t; + return (function (e, t) { + var n, + r, + i, + o, + s = { + label: 0, + sent: function () { + if (1 & i[0]) throw i[1]; + return i[1]; + }, + trys: [], + ops: [], + }; + return ( + (o = { next: a(0), throw: a(1), return: a(2) }), + 'function' == typeof Symbol && + (o[Symbol.iterator] = function () { + return this; + }), + o + ); + function a(o) { + return function (a) { + return (function (o) { + if (n) + throw new TypeError( + 'Generator is already executing.' + ); + for (; s; ) + try { + if ( + ((n = 1), + r && + (i = + 2 & o[0] + ? r.return + : o[0] + ? r.throw || + ((i = r.return) && i.call(r), 0) + : r.next) && + !(i = i.call(r, o[1])).done) + ) + return i; + switch ( + ((r = 0), i && (o = [2 & o[0], i.value]), o[0]) + ) { + case 0: + case 1: + i = o; + break; + case 4: + return s.label++, { value: o[1], done: !1 }; + case 5: + s.label++, (r = o[1]), (o = [0]); + continue; + case 7: + (o = s.ops.pop()), s.trys.pop(); + continue; + default: + if ( + !( + (i = + (i = s.trys).length > 0 && + i[i.length - 1]) || + (6 !== o[0] && 2 !== o[0]) + ) + ) { + s = 0; + continue; + } + if ( + 3 === o[0] && + (!i || (o[1] > i[0] && o[1] < i[3])) + ) { + s.label = o[1]; + break; + } + if (6 === o[0] && s.label < i[1]) { + (s.label = i[1]), (i = o); + break; + } + if (i && s.label < i[2]) { + (s.label = i[2]), s.ops.push(o); + break; + } + i[2] && s.ops.pop(), s.trys.pop(); + continue; + } + o = t.call(e, s); + } catch (e) { + (o = [6, e]), (r = 0); + } finally { + n = i = 0; + } + if (5 & o[0]) throw o[1]; + return { value: o[0] ? o[1] : void 0, done: !0 }; + })([o, a]); + }; + } + })(this, function (n) { + switch (n.label) { + case 0: + return this._worker + ? ((e = ++this._updateExtraLibsToken), + [4, this._worker.getProxy()]) + : [2]; + case 1: + return ( + (t = n.sent()), + this._updateExtraLibsToken !== e || + t.updateExtraLibs(this._defaults.getExtraLibs()), + [2] + ); + } + }); + }), + new ((n = void 0) || (n = Promise))(function (i, o) { + function s(e) { + try { + u(r.next(e)); + } catch (e) { + o(e); + } + } + function a(e) { + try { + u(r.throw(e)); + } catch (e) { + o(e); + } + } + function u(e) { + var t; + e.done + ? i(e.value) + : ((t = e.value), + t instanceof n + ? t + : new n(function (e) { + e(t); + })).then(s, a); + } + u((r = r.apply(e, t || [])).next()); + }) + ); + var e, t, n, r; + }), + (e.prototype._getClient = function () { + var e = this; + if (!this._client) { + this._worker = o.j6.createWebWorker({ + moduleId: 'vs/language/typescript/tsWorker', + label: this._modeId, + keepIdleModels: !0, + createData: { + compilerOptions: this._defaults.getCompilerOptions(), + extraLibs: this._defaults.getExtraLibs(), + customWorkerPath: this._defaults.workerOptions + .customWorkerPath, + }, + }); + var t = this._worker.getProxy(); + this._defaults.getEagerModelSync() && + (t = t.then(function (t) { + return e._worker + ? e._worker.withSyncedResources( + o.j6 + .getModels() + .filter(function (t) { + return t.getModeId() === e._modeId; + }) + .map(function (e) { + return e.uri; + }) + ) + : t; + })), + (this._client = t); + } + return this._client; + }), + (e.prototype.getLanguageServiceWorker = function () { + for (var e, t = this, n = [], r = 0; r < arguments.length; r++) + n[r] = arguments[r]; + return this._getClient() + .then(function (t) { + e = t; + }) + .then(function (e) { + if (t._worker) return t._worker.withSyncedResources(n); + }) + .then(function (t) { + return e; + }); + }), + e + ); + })(), + a = { + 'lib.d.ts': !0, + 'lib.dom.d.ts': !0, + 'lib.dom.iterable.d.ts': !0, + 'lib.es2015.collection.d.ts': !0, + 'lib.es2015.core.d.ts': !0, + 'lib.es2015.d.ts': !0, + 'lib.es2015.generator.d.ts': !0, + 'lib.es2015.iterable.d.ts': !0, + 'lib.es2015.promise.d.ts': !0, + 'lib.es2015.proxy.d.ts': !0, + 'lib.es2015.reflect.d.ts': !0, + 'lib.es2015.symbol.d.ts': !0, + 'lib.es2015.symbol.wellknown.d.ts': !0, + 'lib.es2016.array.include.d.ts': !0, + 'lib.es2016.d.ts': !0, + 'lib.es2016.full.d.ts': !0, + 'lib.es2017.d.ts': !0, + 'lib.es2017.full.d.ts': !0, + 'lib.es2017.intl.d.ts': !0, + 'lib.es2017.object.d.ts': !0, + 'lib.es2017.sharedmemory.d.ts': !0, + 'lib.es2017.string.d.ts': !0, + 'lib.es2017.typedarrays.d.ts': !0, + 'lib.es2018.asyncgenerator.d.ts': !0, + 'lib.es2018.asynciterable.d.ts': !0, + 'lib.es2018.d.ts': !0, + 'lib.es2018.full.d.ts': !0, + 'lib.es2018.intl.d.ts': !0, + 'lib.es2018.promise.d.ts': !0, + 'lib.es2018.regexp.d.ts': !0, + 'lib.es2019.array.d.ts': !0, + 'lib.es2019.d.ts': !0, + 'lib.es2019.full.d.ts': !0, + 'lib.es2019.object.d.ts': !0, + 'lib.es2019.string.d.ts': !0, + 'lib.es2019.symbol.d.ts': !0, + 'lib.es2020.bigint.d.ts': !0, + 'lib.es2020.d.ts': !0, + 'lib.es2020.full.d.ts': !0, + 'lib.es2020.intl.d.ts': !0, + 'lib.es2020.promise.d.ts': !0, + 'lib.es2020.string.d.ts': !0, + 'lib.es2020.symbol.wellknown.d.ts': !0, + 'lib.es5.d.ts': !0, + 'lib.es6.d.ts': !0, + 'lib.esnext.d.ts': !0, + 'lib.esnext.full.d.ts': !0, + 'lib.esnext.intl.d.ts': !0, + 'lib.esnext.promise.d.ts': !0, + 'lib.esnext.string.d.ts': !0, + 'lib.scripthost.d.ts': !0, + 'lib.webworker.d.ts': !0, + 'lib.webworker.importscripts.d.ts': !0, + }, + u = + ((r = function (e, t) { + return (r = + Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && + function (e, t) { + e.__proto__ = t; + }) || + function (e, t) { + for (var n in t) + Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]); + })(e, t); + }), + function (e, t) { + function n() { + this.constructor = e; + } + r(e, t), + (e.prototype = + null === t + ? Object.create(t) + : ((n.prototype = t.prototype), new n())); + }), + l = function (e, t, n, r) { + return new (n || (n = Promise))(function (i, o) { + function s(e) { + try { + u(r.next(e)); + } catch (e) { + o(e); + } + } + function a(e) { + try { + u(r.throw(e)); + } catch (e) { + o(e); + } + } + function u(e) { + var t; + e.done + ? i(e.value) + : ((t = e.value), + t instanceof n + ? t + : new n(function (e) { + e(t); + })).then(s, a); + } + u((r = r.apply(e, t || [])).next()); + }); + }, + c = function (e, t) { + var n, + r, + i, + o, + s = { + label: 0, + sent: function () { + if (1 & i[0]) throw i[1]; + return i[1]; + }, + trys: [], + ops: [], + }; + return ( + (o = { next: a(0), throw: a(1), return: a(2) }), + 'function' == typeof Symbol && + (o[Symbol.iterator] = function () { + return this; + }), + o + ); + function a(o) { + return function (a) { + return (function (o) { + if (n) throw new TypeError('Generator is already executing.'); + for (; s; ) + try { + if ( + ((n = 1), + r && + (i = + 2 & o[0] + ? r.return + : o[0] + ? r.throw || ((i = r.return) && i.call(r), 0) + : r.next) && + !(i = i.call(r, o[1])).done) + ) + return i; + switch (((r = 0), i && (o = [2 & o[0], i.value]), o[0])) { + case 0: + case 1: + i = o; + break; + case 4: + return s.label++, { value: o[1], done: !1 }; + case 5: + s.label++, (r = o[1]), (o = [0]); + continue; + case 7: + (o = s.ops.pop()), s.trys.pop(); + continue; + default: + if ( + !( + (i = (i = s.trys).length > 0 && i[i.length - 1]) || + (6 !== o[0] && 2 !== o[0]) + ) + ) { + s = 0; + continue; + } + if ( + 3 === o[0] && + (!i || (o[1] > i[0] && o[1] < i[3])) + ) { + s.label = o[1]; + break; + } + if (6 === o[0] && s.label < i[1]) { + (s.label = i[1]), (i = o); + break; + } + if (i && s.label < i[2]) { + (s.label = i[2]), s.ops.push(o); + break; + } + i[2] && s.ops.pop(), s.trys.pop(); + continue; + } + o = t.call(e, s); + } catch (e) { + (o = [6, e]), (r = 0); + } finally { + n = i = 0; + } + if (5 & o[0]) throw o[1]; + return { value: o[0] ? o[1] : void 0, done: !0 }; + })([o, a]); + }; + } + }; + function f(e, t, n) { + if ((void 0 === n && (n = 0), 'string' == typeof e)) return e; + if (void 0 === e) return ''; + var r = ''; + if (n) { + r += t; + for (var i = 0; i < n; i++) r += ' '; + } + if (((r += e.messageText), n++, e.next)) + for (var o = 0, s = e.next; o < s.length; o++) r += f(s[o], t, n); + return r; + } + function p(e) { + return e + ? e + .map(function (e) { + return e.text; + }) + .join('') + : ''; + } + !(function (e) { + (e[(e.None = 0)] = 'None'), + (e[(e.Block = 1)] = 'Block'), + (e[(e.Smart = 2)] = 'Smart'); + })(i || (i = {})); + var d, + h = (function () { + function e(e) { + this._worker = e; + } + return ( + (e.prototype._textSpanToRange = function (e, t) { + var n = e.getPositionAt(t.start), + r = e.getPositionAt(t.start + t.length); + return { + startLineNumber: n.lineNumber, + startColumn: n.column, + endLineNumber: r.lineNumber, + endColumn: r.column, + }; + }), + e + ); + })(), + m = (function () { + function e(e) { + (this._worker = e), + (this._libFiles = {}), + (this._hasFetchedLibFiles = !1), + (this._fetchLibFilesPromise = null); + } + return ( + (e.prototype.isLibFile = function (e) { + return ( + !!e && 0 === e.path.indexOf('/lib.') && !!a[e.path.slice(1)] + ); + }), + (e.prototype.getOrCreateModel = function (e) { + return ( + o.j6.getModel(e) || + (this.isLibFile(e) && this._hasFetchedLibFiles + ? o.j6.createModel( + this._libFiles[e.path.slice(1)], + 'javascript', + e + ) + : null) + ); + }), + (e.prototype._containsLibFile = function (e) { + for (var t = 0, n = e; t < n.length; t++) { + var r = n[t]; + if (this.isLibFile(r)) return !0; + } + return !1; + }), + (e.prototype.fetchLibFilesIfNecessary = function (e) { + return l(this, void 0, void 0, function () { + return c(this, function (t) { + switch (t.label) { + case 0: + return this._containsLibFile(e) + ? [4, this._fetchLibFiles()] + : [2]; + case 1: + return t.sent(), [2]; + } + }); + }); + }), + (e.prototype._fetchLibFiles = function () { + var e = this; + return ( + this._fetchLibFilesPromise || + (this._fetchLibFilesPromise = this._worker() + .then(function (e) { + return e.getLibFiles(); + }) + .then(function (t) { + (e._hasFetchedLibFiles = !0), (e._libFiles = t); + })), + this._fetchLibFilesPromise + ); + }), + e + ); + })(); + !(function (e) { + (e[(e.Warning = 0)] = 'Warning'), + (e[(e.Error = 1)] = 'Error'), + (e[(e.Suggestion = 2)] = 'Suggestion'), + (e[(e.Message = 3)] = 'Message'); + })(d || (d = {})); + var g = (function (e) { + function t(t, n, r, i) { + var s = e.call(this, i) || this; + (s._libFiles = t), + (s._defaults = n), + (s._selector = r), + (s._disposables = []), + (s._listener = Object.create(null)); + var a = function (e) { + if (e.getModeId() === r) { + var t, + n = e.onDidChangeContent(function () { + clearTimeout(t), + (t = setTimeout(function () { + return s._doValidate(e); + }, 500)); + }); + (s._listener[e.uri.toString()] = { + dispose: function () { + n.dispose(), clearTimeout(t); + }, + }), + s._doValidate(e); + } + }, + u = function (e) { + o.j6.setModelMarkers(e, s._selector, []); + var t = e.uri.toString(); + s._listener[t] && + (s._listener[t].dispose(), delete s._listener[t]); + }; + s._disposables.push(o.j6.onDidCreateModel(a)), + s._disposables.push(o.j6.onWillDisposeModel(u)), + s._disposables.push( + o.j6.onDidChangeModelLanguage(function (e) { + u(e.model), a(e.model); + }) + ), + s._disposables.push({ + dispose: function () { + for (var e = 0, t = o.j6.getModels(); e < t.length; e++) { + var n = t[e]; + u(n); + } + }, + }); + var l = function () { + for (var e = 0, t = o.j6.getModels(); e < t.length; e++) { + var n = t[e]; + u(n), a(n); + } + }; + return ( + s._disposables.push(s._defaults.onDidChange(l)), + s._disposables.push(s._defaults.onDidExtraLibsChange(l)), + o.j6.getModels().forEach(a), + s + ); + } + return ( + u(t, e), + (t.prototype.dispose = function () { + this._disposables.forEach(function (e) { + return e && e.dispose(); + }), + (this._disposables = []); + }), + (t.prototype._doValidate = function (e) { + return l(this, void 0, void 0, function () { + var t, + n, + r, + i, + s, + a, + u, + l, + f, + p = this; + return c(this, function (c) { + switch (c.label) { + case 0: + return [4, this._worker(e.uri)]; + case 1: + return ( + (t = c.sent()), + e.isDisposed() + ? [2] + : ((n = []), + (r = this._defaults.getDiagnosticsOptions()), + (i = r.noSyntaxValidation), + (s = r.noSemanticValidation), + (a = r.noSuggestionDiagnostics), + i || + n.push( + t.getSyntacticDiagnostics(e.uri.toString()) + ), + s || + n.push( + t.getSemanticDiagnostics(e.uri.toString()) + ), + a || + n.push( + t.getSuggestionDiagnostics(e.uri.toString()) + ), + [4, Promise.all(n)]) + ); + case 2: + return !(u = c.sent()) || e.isDisposed() + ? [2] + : ((l = u + .reduce(function (e, t) { + return t.concat(e); + }, []) + .filter(function (e) { + return ( + -1 === + ( + p._defaults.getDiagnosticsOptions() + .diagnosticCodesToIgnore || [] + ).indexOf(e.code) + ); + })), + (f = l + .map(function (e) { + return e.relatedInformation || []; + }) + .reduce(function (e, t) { + return t.concat(e); + }, []) + .map(function (e) { + return e.file + ? o.Sf.parse(e.file.fileName) + : null; + })), + [4, this._libFiles.fetchLibFilesIfNecessary(f)]); + case 3: + return ( + c.sent(), + e.isDisposed() || + o.j6.setModelMarkers( + e, + this._selector, + l.map(function (t) { + return p._convertDiagnostics(e, t); + }) + ), + [2] + ); + } + }); + }); + }), + (t.prototype._convertDiagnostics = function (e, t) { + var n = t.start || 0, + r = t.length || 1, + i = e.getPositionAt(n), + s = i.lineNumber, + a = i.column, + u = e.getPositionAt(n + r), + l = u.lineNumber, + c = u.column, + p = []; + return ( + t.reportsUnnecessary && p.push(o.eB.Unnecessary), + t.reportsDeprecated && p.push(o.eB.Deprecated), + { + severity: this._tsDiagnosticCategoryToMarkerSeverity( + t.category + ), + startLineNumber: s, + startColumn: a, + endLineNumber: l, + endColumn: c, + message: f(t.messageText, '\n'), + code: t.code.toString(), + tags: p, + relatedInformation: this._convertRelatedInformation( + e, + t.relatedInformation + ), + } + ); + }), + (t.prototype._convertRelatedInformation = function (e, t) { + var n = this; + if (t) { + var r = []; + return ( + t.forEach(function (t) { + var i = e; + if (t.file) { + var s = o.Sf.parse(t.file.fileName); + i = n._libFiles.getOrCreateModel(s); + } + if (i) { + var a = t.start || 0, + u = t.length || 1, + l = i.getPositionAt(a), + c = l.lineNumber, + p = l.column, + d = i.getPositionAt(a + u), + h = d.lineNumber, + m = d.column; + r.push({ + resource: i.uri, + startLineNumber: c, + startColumn: p, + endLineNumber: h, + endColumn: m, + message: f(t.messageText, '\n'), + }); + } + }), + r + ); + } + }), + (t.prototype._tsDiagnosticCategoryToMarkerSeverity = function (e) { + switch (e) { + case d.Error: + return o.ZL.Error; + case d.Message: + return o.ZL.Info; + case d.Warning: + return o.ZL.Warning; + case d.Suggestion: + return o.ZL.Hint; + } + return o.ZL.Info; + }), + t + ); + })(h), + b = (function (e) { + function t() { + return (null !== e && e.apply(this, arguments)) || this; + } + return ( + u(t, e), + Object.defineProperty(t.prototype, 'triggerCharacters', { + get: function () { + return ['.']; + }, + enumerable: !1, + configurable: !0, + }), + (t.prototype.provideCompletionItems = function (e, n, r, i) { + return l(this, void 0, void 0, function () { + var r, i, s, a, u; + return c(this, function (l) { + switch (l.label) { + case 0: + return ( + (r = e.getWordUntilPosition(n)), + (i = new o.e6( + n.lineNumber, + r.startColumn, + n.lineNumber, + r.endColumn + )), + (s = e.uri), + (a = e.getOffsetAt(n)), + [4, this._worker(s)] + ); + case 1: + return [ + 4, + l.sent().getCompletionsAtPosition(s.toString(), a), + ]; + case 2: + return !(u = l.sent()) || e.isDisposed() + ? [2] + : [ + 2, + { + suggestions: u.entries.map(function (r) { + var u, + l = i; + if (r.replacementSpan) { + var c = e.getPositionAt( + r.replacementSpan.start + ), + f = e.getPositionAt( + r.replacementSpan.start + + r.replacementSpan.length + ); + l = new o.e6( + c.lineNumber, + c.column, + f.lineNumber, + f.column + ); + } + var p = []; + return ( + -1 !== + (null === (u = r.kindModifiers) || + void 0 === u + ? void 0 + : u.indexOf('deprecated')) && + p.push(o.Mj.CompletionItemTag.Deprecated), + { + uri: s, + position: n, + offset: a, + range: l, + label: r.name, + insertText: r.name, + sortText: r.sortText, + kind: t.convertKind(r.kind), + tags: p, + } + ); + }), + }, + ]; + } + }); + }); + }), + (t.prototype.resolveCompletionItem = function (e, n) { + return l(this, void 0, void 0, function () { + var n, r, i, o, s; + return c(this, function (a) { + switch (a.label) { + case 0: + return ( + (r = (n = e).uri), + (i = n.position), + (o = n.offset), + [4, this._worker(r)] + ); + case 1: + return [ + 4, + a + .sent() + .getCompletionEntryDetails(r.toString(), o, n.label), + ]; + case 2: + return (s = a.sent()) + ? [ + 2, + { + uri: r, + position: i, + label: s.name, + kind: t.convertKind(s.kind), + detail: p(s.displayParts), + documentation: { + value: t.createDocumentationString(s), + }, + }, + ] + : [2, n]; + } + }); + }); + }), + (t.convertKind = function (e) { + switch (e) { + case C.primitiveType: + case C.keyword: + return o.Mj.CompletionItemKind.Keyword; + case C.variable: + case C.localVariable: + return o.Mj.CompletionItemKind.Variable; + case C.memberVariable: + case C.memberGetAccessor: + case C.memberSetAccessor: + return o.Mj.CompletionItemKind.Field; + case C.function: + case C.memberFunction: + case C.constructSignature: + case C.callSignature: + case C.indexSignature: + return o.Mj.CompletionItemKind.Function; + case C.enum: + return o.Mj.CompletionItemKind.Enum; + case C.module: + return o.Mj.CompletionItemKind.Module; + case C.class: + return o.Mj.CompletionItemKind.Class; + case C.interface: + return o.Mj.CompletionItemKind.Interface; + case C.warning: + return o.Mj.CompletionItemKind.File; + } + return o.Mj.CompletionItemKind.Property; + }), + (t.createDocumentationString = function (e) { + var t = p(e.documentation); + if (e.tags) + for (var n = 0, r = e.tags; n < r.length; n++) + t += '\n\n' + v(r[n]); + return t; + }), + t + ); + })(h); + function v(e) { + var t = '*@' + e.name + '*'; + if ('param' === e.name && e.text) { + var n = e.text.split(' '), + r = n[0], + i = n.slice(1); + (t += '`' + r + '`'), i.length > 0 && (t += ' — ' + i.join(' ')); + } else e.text && (t += ' — ' + e.text); + return t; + } + var y = (function (e) { + function t() { + var t = (null !== e && e.apply(this, arguments)) || this; + return (t.signatureHelpTriggerCharacters = ['(', ',']), t; + } + return ( + u(t, e), + (t.prototype.provideSignatureHelp = function (e, t, n) { + return l(this, void 0, void 0, function () { + var n, r, i, o; + return c(this, function (s) { + switch (s.label) { + case 0: + return ( + (n = e.uri), + (r = e.getOffsetAt(t)), + [4, this._worker(n)] + ); + case 1: + return [ + 4, + s.sent().getSignatureHelpItems(n.toString(), r), + ]; + case 2: + return !(i = s.sent()) || e.isDisposed() + ? [2] + : ((o = { + activeSignature: i.selectedItemIndex, + activeParameter: i.argumentIndex, + signatures: [], + }), + i.items.forEach(function (e) { + var t = { label: '', parameters: [] }; + (t.documentation = { value: p(e.documentation) }), + (t.label += p(e.prefixDisplayParts)), + e.parameters.forEach(function (n, r, i) { + var o = p(n.displayParts), + s = { + label: o, + documentation: { + value: p(n.documentation), + }, + }; + (t.label += o), + t.parameters.push(s), + r < i.length - 1 && + (t.label += p(e.separatorDisplayParts)); + }), + (t.label += p(e.suffixDisplayParts)), + o.signatures.push(t); + }), + [2, { value: o, dispose: function () {} }]); + } + }); + }); + }), + t + ); + })(h), + _ = (function (e) { + function t() { + return (null !== e && e.apply(this, arguments)) || this; + } + return ( + u(t, e), + (t.prototype.provideHover = function (e, t, n) { + return l(this, void 0, void 0, function () { + var n, r, i, o, s, a; + return c(this, function (u) { + switch (u.label) { + case 0: + return ( + (n = e.uri), + (r = e.getOffsetAt(t)), + [4, this._worker(n)] + ); + case 1: + return [ + 4, + u.sent().getQuickInfoAtPosition(n.toString(), r), + ]; + case 2: + return !(i = u.sent()) || e.isDisposed() + ? [2] + : ((o = p(i.documentation)), + (s = i.tags + ? i.tags + .map(function (e) { + return v(e); + }) + .join(' \n\n') + : ''), + (a = p(i.displayParts)), + [ + 2, + { + range: this._textSpanToRange(e, i.textSpan), + contents: [ + { value: '```typescript\n' + a + '\n```\n' }, + { value: o + (s ? '\n\n' + s : '') }, + ], + }, + ]); + } + }); + }); + }), + t + ); + })(h), + S = (function (e) { + function t() { + return (null !== e && e.apply(this, arguments)) || this; + } + return ( + u(t, e), + (t.prototype.provideDocumentHighlights = function (e, t, n) { + return l(this, void 0, void 0, function () { + var n, + r, + i, + s = this; + return c(this, function (a) { + switch (a.label) { + case 0: + return ( + (n = e.uri), + (r = e.getOffsetAt(t)), + [4, this._worker(n)] + ); + case 1: + return [ + 4, + a.sent().getOccurrencesAtPosition(n.toString(), r), + ]; + case 2: + return !(i = a.sent()) || e.isDisposed() + ? [2] + : [ + 2, + i.map(function (t) { + return { + range: s._textSpanToRange(e, t.textSpan), + kind: t.isWriteAccess + ? o.Mj.DocumentHighlightKind.Write + : o.Mj.DocumentHighlightKind.Text, + }; + }), + ]; + } + }); + }); + }), + t + ); + })(h), + w = (function (e) { + function t(t, n) { + var r = e.call(this, n) || this; + return (r._libFiles = t), r; + } + return ( + u(t, e), + (t.prototype.provideDefinition = function (e, t, n) { + return l(this, void 0, void 0, function () { + var n, r, i, s, a, u, l, f, p; + return c(this, function (c) { + switch (c.label) { + case 0: + return ( + (n = e.uri), + (r = e.getOffsetAt(t)), + [4, this._worker(n)] + ); + case 1: + return [ + 4, + c.sent().getDefinitionAtPosition(n.toString(), r), + ]; + case 2: + return !(i = c.sent()) || e.isDisposed() + ? [2] + : [ + 4, + this._libFiles.fetchLibFilesIfNecessary( + i.map(function (e) { + return o.Sf.parse(e.fileName); + }) + ), + ]; + case 3: + if ((c.sent(), e.isDisposed())) return [2]; + for (s = [], a = 0, u = i; a < u.length; a++) + (l = u[a]), + (f = o.Sf.parse(l.fileName)), + (p = this._libFiles.getOrCreateModel(f)) && + s.push({ + uri: f, + range: this._textSpanToRange(p, l.textSpan), + }); + return [2, s]; + } + }); + }); + }), + t + ); + })(h), + k = (function (e) { + function t(t, n) { + var r = e.call(this, n) || this; + return (r._libFiles = t), r; + } + return ( + u(t, e), + (t.prototype.provideReferences = function (e, t, n, r) { + return l(this, void 0, void 0, function () { + var n, r, i, s, a, u, l, f, p; + return c(this, function (c) { + switch (c.label) { + case 0: + return ( + (n = e.uri), + (r = e.getOffsetAt(t)), + [4, this._worker(n)] + ); + case 1: + return [ + 4, + c.sent().getReferencesAtPosition(n.toString(), r), + ]; + case 2: + return !(i = c.sent()) || e.isDisposed() + ? [2] + : [ + 4, + this._libFiles.fetchLibFilesIfNecessary( + i.map(function (e) { + return o.Sf.parse(e.fileName); + }) + ), + ]; + case 3: + if ((c.sent(), e.isDisposed())) return [2]; + for (s = [], a = 0, u = i; a < u.length; a++) + (l = u[a]), + (f = o.Sf.parse(l.fileName)), + (p = this._libFiles.getOrCreateModel(f)) && + s.push({ + uri: f, + range: this._textSpanToRange(p, l.textSpan), + }); + return [2, s]; + } + }); + }); + }), + t + ); + })(h), + x = (function (e) { + function t() { + return (null !== e && e.apply(this, arguments)) || this; + } + return ( + u(t, e), + (t.prototype.provideDocumentSymbols = function (e, t) { + return l(this, void 0, void 0, function () { + var t, + n, + r, + i, + s = this; + return c(this, function (a) { + switch (a.label) { + case 0: + return (t = e.uri), [4, this._worker(t)]; + case 1: + return [4, a.sent().getNavigationBarItems(t.toString())]; + case 2: + return !(n = a.sent()) || e.isDisposed() + ? [2] + : ((r = function (t, n, i) { + var a = { + name: n.text, + detail: '', + kind: M[n.kind] || o.Mj.SymbolKind.Variable, + range: s._textSpanToRange(e, n.spans[0]), + selectionRange: s._textSpanToRange(e, n.spans[0]), + tags: [], + containerName: i, + }; + if (n.childItems && n.childItems.length > 0) + for ( + var u = 0, l = n.childItems; + u < l.length; + u++ + ) { + var c = l[u]; + r(t, c, a.name); + } + t.push(a); + }), + (i = []), + n.forEach(function (e) { + return r(i, e); + }), + [2, i]); + } + }); + }); + }), + t + ); + })(h), + C = (function () { + function e() {} + return ( + (e.unknown = ''), + (e.keyword = 'keyword'), + (e.script = 'script'), + (e.module = 'module'), + (e.class = 'class'), + (e.interface = 'interface'), + (e.type = 'type'), + (e.enum = 'enum'), + (e.variable = 'var'), + (e.localVariable = 'local var'), + (e.function = 'function'), + (e.localFunction = 'local function'), + (e.memberFunction = 'method'), + (e.memberGetAccessor = 'getter'), + (e.memberSetAccessor = 'setter'), + (e.memberVariable = 'property'), + (e.constructorImplementation = 'constructor'), + (e.callSignature = 'call'), + (e.indexSignature = 'index'), + (e.constructSignature = 'construct'), + (e.parameter = 'parameter'), + (e.typeParameter = 'type parameter'), + (e.primitiveType = 'primitive type'), + (e.label = 'label'), + (e.alias = 'alias'), + (e.const = 'const'), + (e.let = 'let'), + (e.warning = 'warning'), + e + ); + })(), + M = Object.create(null); + (M[C.module] = o.Mj.SymbolKind.Module), + (M[C.class] = o.Mj.SymbolKind.Class), + (M[C.enum] = o.Mj.SymbolKind.Enum), + (M[C.interface] = o.Mj.SymbolKind.Interface), + (M[C.memberFunction] = o.Mj.SymbolKind.Method), + (M[C.memberVariable] = o.Mj.SymbolKind.Property), + (M[C.memberGetAccessor] = o.Mj.SymbolKind.Property), + (M[C.memberSetAccessor] = o.Mj.SymbolKind.Property), + (M[C.variable] = o.Mj.SymbolKind.Variable), + (M[C.const] = o.Mj.SymbolKind.Variable), + (M[C.localVariable] = o.Mj.SymbolKind.Variable), + (M[C.variable] = o.Mj.SymbolKind.Variable), + (M[C.function] = o.Mj.SymbolKind.Function), + (M[C.localFunction] = o.Mj.SymbolKind.Function); + var j, + F, + I = (function (e) { + function t() { + return (null !== e && e.apply(this, arguments)) || this; + } + return ( + u(t, e), + (t._convertOptions = function (e) { + return { + ConvertTabsToSpaces: e.insertSpaces, + TabSize: e.tabSize, + IndentSize: e.tabSize, + IndentStyle: i.Smart, + NewLineCharacter: '\n', + InsertSpaceAfterCommaDelimiter: !0, + InsertSpaceAfterSemicolonInForStatements: !0, + InsertSpaceBeforeAndAfterBinaryOperators: !0, + InsertSpaceAfterKeywordsInControlFlowStatements: !0, + InsertSpaceAfterFunctionKeywordForAnonymousFunctions: !0, + InsertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis: !1, + InsertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets: !1, + InsertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces: !1, + PlaceOpenBraceOnNewLineForControlBlocks: !1, + PlaceOpenBraceOnNewLineForFunctions: !1, + }; + }), + (t.prototype._convertTextChanges = function (e, t) { + return { + text: t.newText, + range: this._textSpanToRange(e, t.span), + }; + }), + t + ); + })(h), + P = (function (e) { + function t() { + return (null !== e && e.apply(this, arguments)) || this; + } + return ( + u(t, e), + (t.prototype.provideDocumentRangeFormattingEdits = function ( + e, + t, + n, + r + ) { + return l(this, void 0, void 0, function () { + var r, + i, + o, + s, + a = this; + return c(this, function (u) { + switch (u.label) { + case 0: + return ( + (r = e.uri), + (i = e.getOffsetAt({ + lineNumber: t.startLineNumber, + column: t.startColumn, + })), + (o = e.getOffsetAt({ + lineNumber: t.endLineNumber, + column: t.endColumn, + })), + [4, this._worker(r)] + ); + case 1: + return [ + 4, + u + .sent() + .getFormattingEditsForRange( + r.toString(), + i, + o, + I._convertOptions(n) + ), + ]; + case 2: + return !(s = u.sent()) || e.isDisposed() + ? [2] + : [ + 2, + s.map(function (t) { + return a._convertTextChanges(e, t); + }), + ]; + } + }); + }); + }), + t + ); + })(I), + L = (function (e) { + function t() { + return (null !== e && e.apply(this, arguments)) || this; + } + return ( + u(t, e), + Object.defineProperty(t.prototype, 'autoFormatTriggerCharacters', { + get: function () { + return [';', '}', '\n']; + }, + enumerable: !1, + configurable: !0, + }), + (t.prototype.provideOnTypeFormattingEdits = function ( + e, + t, + n, + r, + i + ) { + return l(this, void 0, void 0, function () { + var i, + o, + s, + a = this; + return c(this, function (u) { + switch (u.label) { + case 0: + return ( + (i = e.uri), + (o = e.getOffsetAt(t)), + [4, this._worker(i)] + ); + case 1: + return [ + 4, + u + .sent() + .getFormattingEditsAfterKeystroke( + i.toString(), + o, + n, + I._convertOptions(r) + ), + ]; + case 2: + return !(s = u.sent()) || e.isDisposed() + ? [2] + : [ + 2, + s.map(function (t) { + return a._convertTextChanges(e, t); + }), + ]; + } + }); + }); + }), + t + ); + })(I), + D = (function (e) { + function t() { + return (null !== e && e.apply(this, arguments)) || this; + } + return ( + u(t, e), + (t.prototype.provideCodeActions = function (e, t, n, r) { + return l(this, void 0, void 0, function () { + var r, + i, + o, + s, + a, + u, + l = this; + return c(this, function (c) { + switch (c.label) { + case 0: + return ( + (r = e.uri), + (i = e.getOffsetAt({ + lineNumber: t.startLineNumber, + column: t.startColumn, + })), + (o = e.getOffsetAt({ + lineNumber: t.endLineNumber, + column: t.endColumn, + })), + (s = I._convertOptions(e.getOptions())), + (a = n.markers + .filter(function (e) { + return e.code; + }) + .map(function (e) { + return e.code; + }) + .map(Number)), + [4, this._worker(r)] + ); + case 1: + return [ + 4, + c + .sent() + .getCodeFixesAtPosition(r.toString(), i, o, a, s), + ]; + case 2: + return !(u = c.sent()) || e.isDisposed() + ? [2, { actions: [], dispose: function () {} }] + : [ + 2, + { + actions: u + .filter(function (e) { + return ( + 0 === + e.changes.filter(function (e) { + return e.isNewFile; + }).length + ); + }) + .map(function (t) { + return l._tsCodeFixActionToMonacoCodeAction( + e, + n, + t + ); + }), + dispose: function () {}, + }, + ]; + } + }); + }); + }), + (t.prototype._tsCodeFixActionToMonacoCodeAction = function ( + e, + t, + n + ) { + for (var r = [], i = 0, o = n.changes; i < o.length; i++) + for (var s = 0, a = o[i].textChanges; s < a.length; s++) { + var u = a[s]; + r.push({ + resource: e.uri, + edit: { + range: this._textSpanToRange(e, u.span), + text: u.newText, + }, + }); + } + return { + title: n.description, + edit: { edits: r }, + diagnostics: t.markers, + kind: 'quickfix', + }; + }), + t + ); + })(I), + A = (function (e) { + function t() { + return (null !== e && e.apply(this, arguments)) || this; + } + return ( + u(t, e), + (t.prototype.provideRenameEdits = function (e, t, n, r) { + return l(this, void 0, void 0, function () { + var r, i, s, a, u, l, f, p, d, h; + return c(this, function (c) { + switch (c.label) { + case 0: + return ( + (r = e.uri), + (i = r.toString()), + (s = e.getOffsetAt(t)), + [4, this._worker(r)] + ); + case 1: + return [ + 4, + (a = c.sent()).getRenameInfo(i, s, { + allowRenameOfImportPath: !1, + }), + ]; + case 2: + if (!1 === (u = c.sent()).canRename) + return [ + 2, + { edits: [], rejectReason: u.localizedErrorMessage }, + ]; + if (void 0 !== u.fileToRename) + throw new Error('Renaming files is not supported.'); + return [4, a.findRenameLocations(i, s, !1, !1, !1)]; + case 3: + if (!(l = c.sent()) || e.isDisposed()) return [2]; + for (f = [], p = 0, d = l; p < d.length; p++) + (h = d[p]), + f.push({ + resource: o.Sf.parse(h.fileName), + edit: { + range: this._textSpanToRange(e, h.textSpan), + text: n, + }, + }); + return [2, { edits: f }]; + } + }); + }); + }), + t + ); + })(h); + function O(e) { + F = K(e, 'typescript'); + } + function T(e) { + j = K(e, 'javascript'); + } + function N() { + return new Promise(function (e, t) { + if (!j) return t('JavaScript not registered!'); + e(j); + }); + } + function E() { + return new Promise(function (e, t) { + if (!F) return t('TypeScript not registered!'); + e(F); + }); + } + function K(e, t) { + var n = new s(t, e), + r = function () { + for (var e = [], t = 0; t < arguments.length; t++) + e[t] = arguments[t]; + return n.getLanguageServiceWorker.apply(n, e); + }, + i = new m(r); + return ( + o.Mj.registerCompletionItemProvider(t, new b(r)), + o.Mj.registerSignatureHelpProvider(t, new y(r)), + o.Mj.registerHoverProvider(t, new _(r)), + o.Mj.registerDocumentHighlightProvider(t, new S(r)), + o.Mj.registerDefinitionProvider(t, new w(i, r)), + o.Mj.registerReferenceProvider(t, new k(i, r)), + o.Mj.registerDocumentSymbolProvider(t, new x(r)), + o.Mj.registerDocumentRangeFormattingEditProvider(t, new P(r)), + o.Mj.registerOnTypeFormattingEditProvider(t, new L(r)), + o.Mj.registerCodeActionProvider(t, new D(r)), + o.Mj.registerRenameProvider(t, new A(r)), + new g(i, e, t, r), + r + ); + } + }, + }, +]); diff --git a/docs/8424.8424.js b/docs/8424.8424.js new file mode 100644 index 00000000..123db590 --- /dev/null +++ b/docs/8424.8424.js @@ -0,0 +1,367 @@ +(self.webpackChunkmermaid_live_editor = + self.webpackChunkmermaid_live_editor || []).push([ + [8424], + { + 98424: (t, e, i) => { + 'use strict'; + i.r(e), i.d(e, { conf: () => r, language: () => m }); + var r = { + wordPattern: /(-?\d*\.\d\w*)|([^\`\~\!\@\$\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\s]+)/g, + comments: { blockComment: ['{#', '#}'] }, + brackets: [ + ['{#', '#}'], + ['{%', '%}'], + ['{{', '}}'], + ['(', ')'], + ['[', ']'], + ['\x3c!--', '--\x3e'], + ['<', '>'], + ], + autoClosingPairs: [ + { open: '{# ', close: ' #}' }, + { open: '{% ', close: ' %}' }, + { open: '{{ ', close: ' }}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"' }, + { open: "'", close: "'" }, + ], + surroundingPairs: [ + { open: '"', close: '"' }, + { open: "'", close: "'" }, + { open: '<', close: '>' }, + ], + }, + m = { + defaultToken: '', + tokenPostfix: '', + ignoreCase: !0, + keywords: [ + 'apply', + 'autoescape', + 'block', + 'deprecated', + 'do', + 'embed', + 'extends', + 'flush', + 'for', + 'from', + 'if', + 'import', + 'include', + 'macro', + 'sandbox', + 'set', + 'use', + 'verbatim', + 'with', + 'endapply', + 'endautoescape', + 'endblock', + 'endembed', + 'endfor', + 'endif', + 'endmacro', + 'endsandbox', + 'endset', + 'endwith', + 'true', + 'false', + ], + tokenizer: { + root: [ + [/\s+/], + [/{#/, 'comment.twig', '@commentState'], + [/{%[-~]?/, 'delimiter.twig', '@blockState'], + [/{{[-~]?/, 'delimiter.twig', '@variableState'], + [/<!DOCTYPE/, 'metatag.html', '@doctype'], + [/<!--/, 'comment.html', '@comment'], + [ + /(<)((?:[\w\-]+:)?[\w\-]+)(\s*)(\/>)/, + ['delimiter.html', 'tag.html', '', 'delimiter.html'], + ], + [ + /(<)(script)/, + ['delimiter.html', { token: 'tag.html', next: '@script' }], + ], + [ + /(<)(style)/, + ['delimiter.html', { token: 'tag.html', next: '@style' }], + ], + [ + /(<)((?:[\w\-]+:)?[\w\-]+)/, + ['delimiter.html', { token: 'tag.html', next: '@otherTag' }], + ], + [ + /(<\/)((?:[\w\-]+:)?[\w\-]+)/, + ['delimiter.html', { token: 'tag.html', next: '@otherTag' }], + ], + [/</, 'delimiter.html'], + [/[^<]+/], + ], + commentState: [ + [/#}/, 'comment.twig', '@pop'], + [/./, 'comment.twig'], + ], + blockState: [ + [/[-~]?%}/, 'delimiter.twig', '@pop'], + [/\s+/], + [ + /(verbatim)(\s*)([-~]?%})/, + [ + 'keyword.twig', + '', + { token: 'delimiter.twig', next: '@rawDataState' }, + ], + ], + { include: 'expression' }, + ], + rawDataState: [ + [ + /({%[-~]?)(\s*)(endverbatim)(\s*)([-~]?%})/, + [ + 'delimiter.twig', + '', + 'keyword.twig', + '', + { token: 'delimiter.twig', next: '@popall' }, + ], + ], + [/./, 'string.twig'], + ], + variableState: [ + [/[-~]?}}/, 'delimiter.twig', '@pop'], + { include: 'expression' }, + ], + stringState: [ + [/"/, 'string.twig', '@pop'], + [/#{\s*/, 'string.twig', '@interpolationState'], + [/[^#"\\]*(?:(?:\\.|#(?!\{))[^#"\\]*)*/, 'string.twig'], + ], + interpolationState: [ + [/}/, 'string.twig', '@pop'], + { include: 'expression' }, + ], + expression: [ + [/\s+/], + [/\+|-|\/{1,2}|%|\*{1,2}/, 'operators.twig'], + [/(and|or|not|b-and|b-xor|b-or)(\s+)/, ['operators.twig', '']], + [/==|!=|<|>|>=|<=/, 'operators.twig'], + [/(starts with|ends with|matches)(\s+)/, ['operators.twig', '']], + [/(in)(\s+)/, ['operators.twig', '']], + [/(is)(\s+)/, ['operators.twig', '']], + [/\||~|:|\.{1,2}|\?{1,2}/, 'operators.twig'], + [ + /[^\W\d][\w]*/, + { + cases: { + '@keywords': 'keyword.twig', + '@default': 'variable.twig', + }, + }, + ], + [/\d+(\.\d+)?/, 'number.twig'], + [/\(|\)|\[|\]|{|}|,/, 'delimiter.twig'], + [ + /"([^#"\\]*(?:\\.[^#"\\]*)*)"|\'([^\'\\]*(?:\\.[^\'\\]*)*)\'/, + 'string.twig', + ], + [/"/, 'string.twig', '@stringState'], + [/=>/, 'operators.twig'], + [/=/, 'operators.twig'], + ], + doctype: [ + [/[^>]+/, 'metatag.content.html'], + [/>/, 'metatag.html', '@pop'], + ], + comment: [ + [/-->/, 'comment.html', '@pop'], + [/[^-]+/, 'comment.content.html'], + [/./, 'comment.content.html'], + ], + otherTag: [ + [/\/?>/, 'delimiter.html', '@pop'], + [/"([^"]*)"/, 'attribute.value.html'], + [/'([^']*)'/, 'attribute.value.html'], + [/[\w\-]+/, 'attribute.name.html'], + [/=/, 'delimiter.html'], + [/[ \t\r\n]+/], + ], + script: [ + [/type/, 'attribute.name.html', '@scriptAfterType'], + [/"([^"]*)"/, 'attribute.value.html'], + [/'([^']*)'/, 'attribute.value.html'], + [/[\w\-]+/, 'attribute.name.html'], + [/=/, 'delimiter.html'], + [ + />/, + { + token: 'delimiter.html', + next: '@scriptEmbedded', + nextEmbedded: 'text/javascript', + }, + ], + [/[ \t\r\n]+/], + [ + /(<\/)(script\s*)(>)/, + [ + 'delimiter.html', + 'tag.html', + { token: 'delimiter.html', next: '@pop' }, + ], + ], + ], + scriptAfterType: [ + [/=/, 'delimiter.html', '@scriptAfterTypeEquals'], + [ + />/, + { + token: 'delimiter.html', + next: '@scriptEmbedded', + nextEmbedded: 'text/javascript', + }, + ], + [/[ \t\r\n]+/], + [/<\/script\s*>/, { token: '@rematch', next: '@pop' }], + ], + scriptAfterTypeEquals: [ + [ + /"([^"]*)"/, + { + token: 'attribute.value.html', + switchTo: '@scriptWithCustomType.$1', + }, + ], + [ + /'([^']*)'/, + { + token: 'attribute.value.html', + switchTo: '@scriptWithCustomType.$1', + }, + ], + [ + />/, + { + token: 'delimiter.html', + next: '@scriptEmbedded', + nextEmbedded: 'text/javascript', + }, + ], + [/[ \t\r\n]+/], + [/<\/script\s*>/, { token: '@rematch', next: '@pop' }], + ], + scriptWithCustomType: [ + [ + />/, + { + token: 'delimiter.html', + next: '@scriptEmbedded.$S2', + nextEmbedded: '$S2', + }, + ], + [/"([^"]*)"/, 'attribute.value.html'], + [/'([^']*)'/, 'attribute.value.html'], + [/[\w\-]+/, 'attribute.name.html'], + [/=/, 'delimiter.html'], + [/[ \t\r\n]+/], + [/<\/script\s*>/, { token: '@rematch', next: '@pop' }], + ], + scriptEmbedded: [ + [ + /<\/script/, + { token: '@rematch', next: '@pop', nextEmbedded: '@pop' }, + ], + [/[^<]+/, ''], + ], + style: [ + [/type/, 'attribute.name.html', '@styleAfterType'], + [/"([^"]*)"/, 'attribute.value.html'], + [/'([^']*)'/, 'attribute.value.html'], + [/[\w\-]+/, 'attribute.name.html'], + [/=/, 'delimiter.html'], + [ + />/, + { + token: 'delimiter.html', + next: '@styleEmbedded', + nextEmbedded: 'text/css', + }, + ], + [/[ \t\r\n]+/], + [ + /(<\/)(style\s*)(>)/, + [ + 'delimiter.html', + 'tag.html', + { token: 'delimiter.html', next: '@pop' }, + ], + ], + ], + styleAfterType: [ + [/=/, 'delimiter.html', '@styleAfterTypeEquals'], + [ + />/, + { + token: 'delimiter.html', + next: '@styleEmbedded', + nextEmbedded: 'text/css', + }, + ], + [/[ \t\r\n]+/], + [/<\/style\s*>/, { token: '@rematch', next: '@pop' }], + ], + styleAfterTypeEquals: [ + [ + /"([^"]*)"/, + { + token: 'attribute.value.html', + switchTo: '@styleWithCustomType.$1', + }, + ], + [ + /'([^']*)'/, + { + token: 'attribute.value.html', + switchTo: '@styleWithCustomType.$1', + }, + ], + [ + />/, + { + token: 'delimiter.html', + next: '@styleEmbedded', + nextEmbedded: 'text/css', + }, + ], + [/[ \t\r\n]+/], + [/<\/style\s*>/, { token: '@rematch', next: '@pop' }], + ], + styleWithCustomType: [ + [ + />/, + { + token: 'delimiter.html', + next: '@styleEmbedded.$S2', + nextEmbedded: '$S2', + }, + ], + [/"([^"]*)"/, 'attribute.value.html'], + [/'([^']*)'/, 'attribute.value.html'], + [/[\w\-]+/, 'attribute.name.html'], + [/=/, 'delimiter.html'], + [/[ \t\r\n]+/], + [/<\/style\s*>/, { token: '@rematch', next: '@pop' }], + ], + styleEmbedded: [ + [ + /<\/style/, + { token: '@rematch', next: '@pop', nextEmbedded: '@pop' }, + ], + [/[^<]+/, ''], + ], + }, + }; + }, + }, +]); diff --git a/docs/848.848.js b/docs/848.848.js new file mode 100644 index 00000000..b789fdd5 --- /dev/null +++ b/docs/848.848.js @@ -0,0 +1,1110 @@ +(self.webpackChunkmermaid_live_editor = + self.webpackChunkmermaid_live_editor || []).push([ + [848], + { + 40848: (e, n, t) => { + 'use strict'; + t.r(n), t.d(n, { conf: () => i, language: () => s }); + var i = { + comments: { lineComment: '*' }, + brackets: [ + ['[', ']'], + ['(', ')'], + ], + }, + s = { + defaultToken: 'invalid', + ignoreCase: !0, + tokenPostfix: '.abap', + keywords: [ + 'abap-source', + 'abbreviated', + 'abstract', + 'accept', + 'accepting', + 'according', + 'activation', + 'actual', + 'add', + 'add-corresponding', + 'adjacent', + 'after', + 'alias', + 'aliases', + 'align', + 'all', + 'allocate', + 'alpha', + 'analysis', + 'analyzer', + 'append', + 'appendage', + 'appending', + 'application', + 'archive', + 'area', + 'arithmetic', + 'as', + 'ascending', + 'aspect', + 'assert', + 'assign', + 'assigned', + 'assigning', + 'association', + 'asynchronous', + 'at', + 'attributes', + 'authority', + 'authority-check', + 'avg', + 'back', + 'background', + 'backup', + 'backward', + 'badi', + 'base', + 'before', + 'begin', + 'big', + 'binary', + 'bintohex', + 'bit', + 'black', + 'blank', + 'blanks', + 'blob', + 'block', + 'blocks', + 'blue', + 'bound', + 'boundaries', + 'bounds', + 'boxed', + 'break-point', + 'buffer', + 'by', + 'bypassing', + 'byte', + 'byte-order', + 'call', + 'calling', + 'case', + 'cast', + 'casting', + 'catch', + 'center', + 'centered', + 'chain', + 'chain-input', + 'chain-request', + 'change', + 'changing', + 'channels', + 'character', + 'char-to-hex', + 'check', + 'checkbox', + 'ci_', + 'circular', + 'class', + 'class-coding', + 'class-data', + 'class-events', + 'class-methods', + 'class-pool', + 'cleanup', + 'clear', + 'client', + 'clob', + 'clock', + 'close', + 'coalesce', + 'code', + 'coding', + 'col_background', + 'col_group', + 'col_heading', + 'col_key', + 'col_negative', + 'col_normal', + 'col_positive', + 'col_total', + 'collect', + 'color', + 'column', + 'columns', + 'comment', + 'comments', + 'commit', + 'common', + 'communication', + 'comparing', + 'component', + 'components', + 'compression', + 'compute', + 'concat', + 'concat_with_space', + 'concatenate', + 'cond', + 'condition', + 'connect', + 'connection', + 'constants', + 'context', + 'contexts', + 'continue', + 'control', + 'controls', + 'conv', + 'conversion', + 'convert', + 'copies', + 'copy', + 'corresponding', + 'country', + 'cover', + 'cpi', + 'create', + 'creating', + 'critical', + 'currency', + 'currency_conversion', + 'current', + 'cursor', + 'cursor-selection', + 'customer', + 'customer-function', + 'dangerous', + 'data', + 'database', + 'datainfo', + 'dataset', + 'date', + 'dats_add_days', + 'dats_add_months', + 'dats_days_between', + 'dats_is_valid', + 'daylight', + 'dd/mm/yy', + 'dd/mm/yyyy', + 'ddmmyy', + 'deallocate', + 'decimal_shift', + 'decimals', + 'declarations', + 'deep', + 'default', + 'deferred', + 'define', + 'defining', + 'definition', + 'delete', + 'deleting', + 'demand', + 'department', + 'descending', + 'describe', + 'destination', + 'detail', + 'dialog', + 'directory', + 'disconnect', + 'display', + 'display-mode', + 'distinct', + 'divide', + 'divide-corresponding', + 'division', + 'do', + 'dummy', + 'duplicate', + 'duplicates', + 'duration', + 'during', + 'dynamic', + 'dynpro', + 'edit', + 'editor-call', + 'else', + 'elseif', + 'empty', + 'enabled', + 'enabling', + 'encoding', + 'end', + 'endat', + 'endcase', + 'endcatch', + 'endchain', + 'endclass', + 'enddo', + 'endenhancement', + 'end-enhancement-section', + 'endexec', + 'endform', + 'endfunction', + 'endian', + 'endif', + 'ending', + 'endinterface', + 'end-lines', + 'endloop', + 'endmethod', + 'endmodule', + 'end-of-definition', + 'end-of-editing', + 'end-of-file', + 'end-of-page', + 'end-of-selection', + 'endon', + 'endprovide', + 'endselect', + 'end-test-injection', + 'end-test-seam', + 'endtry', + 'endwhile', + 'endwith', + 'engineering', + 'enhancement', + 'enhancement-point', + 'enhancements', + 'enhancement-section', + 'entries', + 'entry', + 'enum', + 'environment', + 'errormessage', + 'errors', + 'escaping', + 'event', + 'events', + 'exact', + 'except', + 'exception', + 'exceptions', + 'exception-table', + 'exclude', + 'excluding', + 'exec', + 'execute', + 'exists', + 'exit', + 'exit-command', + 'expand', + 'expanding', + 'expiration', + 'explicit', + 'exponent', + 'export', + 'exporting', + 'extend', + 'extended', + 'extension', + 'extract', + 'fail', + 'fetch', + 'field', + 'field-groups', + 'fields', + 'field-symbol', + 'field-symbols', + 'file', + 'filter', + 'filters', + 'filter-table', + 'final', + 'first', + 'first-line', + 'fixed-point', + 'fkeq', + 'fkge', + 'flush', + 'font', + 'for', + 'form', + 'format', + 'forward', + 'found', + 'frame', + 'frames', + 'free', + 'friends', + 'from', + 'function', + 'functionality', + 'function-pool', + 'further', + 'gaps', + 'generate', + 'get', + 'giving', + 'gkeq', + 'gkge', + 'global', + 'grant', + 'green', + 'group', + 'groups', + 'handle', + 'handler', + 'harmless', + 'hashed', + 'having', + 'hdb', + 'header', + 'headers', + 'heading', + 'head-lines', + 'help-id', + 'help-request', + 'hextobin', + 'hide', + 'high', + 'hint', + 'hold', + 'hotspot', + 'icon', + 'id', + 'identification', + 'identifier', + 'ids', + 'if', + 'ignore', + 'ignoring', + 'immediately', + 'implementation', + 'implementations', + 'implemented', + 'implicit', + 'import', + 'importing', + 'inactive', + 'incl', + 'include', + 'includes', + 'including', + 'increment', + 'index', + 'index-line', + 'infotypes', + 'inheriting', + 'init', + 'initial', + 'initialization', + 'inner', + 'inout', + 'input', + 'instance', + 'instances', + 'instr', + 'intensified', + 'interface', + 'interface-pool', + 'interfaces', + 'internal', + 'intervals', + 'into', + 'inverse', + 'inverted-date', + 'is', + 'iso', + 'job', + 'join', + 'keep', + 'keeping', + 'kernel', + 'key', + 'keys', + 'keywords', + 'kind', + 'language', + 'last', + 'late', + 'layout', + 'leading', + 'leave', + 'left', + 'left-justified', + 'leftplus', + 'leftspace', + 'legacy', + 'length', + 'let', + 'level', + 'levels', + 'like', + 'line', + 'line-count', + 'linefeed', + 'line-selection', + 'line-size', + 'list', + 'listbox', + 'list-processing', + 'little', + 'llang', + 'load', + 'load-of-program', + 'lob', + 'local', + 'locale', + 'locator', + 'logfile', + 'logical', + 'log-point', + 'long', + 'loop', + 'low', + 'lower', + 'lpad', + 'lpi', + 'ltrim', + 'mail', + 'main', + 'major-id', + 'mapping', + 'margin', + 'mark', + 'mask', + 'matchcode', + 'max', + 'maximum', + 'medium', + 'members', + 'memory', + 'mesh', + 'message', + 'message-id', + 'messages', + 'messaging', + 'method', + 'methods', + 'min', + 'minimum', + 'minor-id', + 'mm/dd/yy', + 'mm/dd/yyyy', + 'mmddyy', + 'mode', + 'modif', + 'modifier', + 'modify', + 'module', + 'move', + 'move-corresponding', + 'multiply', + 'multiply-corresponding', + 'name', + 'nametab', + 'native', + 'nested', + 'nesting', + 'new', + 'new-line', + 'new-page', + 'new-section', + 'next', + 'no', + 'node', + 'nodes', + 'no-display', + 'no-extension', + 'no-gap', + 'no-gaps', + 'no-grouping', + 'no-heading', + 'non-unicode', + 'non-unique', + 'no-scrolling', + 'no-sign', + 'no-title', + 'no-topofpage', + 'no-zero', + 'null', + 'number', + 'object', + 'objects', + 'obligatory', + 'occurrence', + 'occurrences', + 'occurs', + 'of', + 'off', + 'offset', + 'ole', + 'on', + 'only', + 'open', + 'option', + 'optional', + 'options', + 'order', + 'other', + 'others', + 'out', + 'outer', + 'output', + 'output-length', + 'overflow', + 'overlay', + 'pack', + 'package', + 'pad', + 'padding', + 'page', + 'pages', + 'parameter', + 'parameters', + 'parameter-table', + 'part', + 'partially', + 'pattern', + 'percentage', + 'perform', + 'performing', + 'person', + 'pf1', + 'pf10', + 'pf11', + 'pf12', + 'pf13', + 'pf14', + 'pf15', + 'pf2', + 'pf3', + 'pf4', + 'pf5', + 'pf6', + 'pf7', + 'pf8', + 'pf9', + 'pf-status', + 'pink', + 'places', + 'pool', + 'pos_high', + 'pos_low', + 'position', + 'pragmas', + 'precompiled', + 'preferred', + 'preserving', + 'primary', + 'print', + 'print-control', + 'priority', + 'private', + 'procedure', + 'process', + 'program', + 'property', + 'protected', + 'provide', + 'public', + 'push', + 'pushbutton', + 'put', + 'queue-only', + 'quickinfo', + 'radiobutton', + 'raise', + 'raising', + 'range', + 'ranges', + 'read', + 'reader', + 'read-only', + 'receive', + 'received', + 'receiver', + 'receiving', + 'red', + 'redefinition', + 'reduce', + 'reduced', + 'ref', + 'reference', + 'refresh', + 'regex', + 'reject', + 'remote', + 'renaming', + 'replacement', + 'replacing', + 'report', + 'request', + 'requested', + 'reserve', + 'reset', + 'resolution', + 'respecting', + 'responsible', + 'result', + 'results', + 'resumable', + 'resume', + 'retry', + 'return', + 'returncode', + 'returning', + 'returns', + 'right', + 'right-justified', + 'rightplus', + 'rightspace', + 'risk', + 'rmc_communication_failure', + 'rmc_invalid_status', + 'rmc_system_failure', + 'role', + 'rollback', + 'rows', + 'rpad', + 'rtrim', + 'run', + 'sap', + 'sap-spool', + 'saving', + 'scale_preserving', + 'scale_preserving_scientific', + 'scan', + 'scientific', + 'scientific_with_leading_zero', + 'scroll', + 'scroll-boundary', + 'scrolling', + 'search', + 'secondary', + 'seconds', + 'section', + 'select', + 'selection', + 'selections', + 'selection-screen', + 'selection-set', + 'selection-sets', + 'selection-table', + 'select-options', + 'send', + 'separate', + 'separated', + 'set', + 'shared', + 'shift', + 'short', + 'shortdump-id', + 'sign_as_postfix', + 'single', + 'size', + 'skip', + 'skipping', + 'smart', + 'some', + 'sort', + 'sortable', + 'sorted', + 'source', + 'specified', + 'split', + 'spool', + 'spots', + 'sql', + 'sqlscript', + 'stable', + 'stamp', + 'standard', + 'starting', + 'start-of-editing', + 'start-of-selection', + 'state', + 'statement', + 'statements', + 'static', + 'statics', + 'statusinfo', + 'step-loop', + 'stop', + 'structure', + 'structures', + 'style', + 'subkey', + 'submatches', + 'submit', + 'subroutine', + 'subscreen', + 'subtract', + 'subtract-corresponding', + 'suffix', + 'sum', + 'summary', + 'summing', + 'supplied', + 'supply', + 'suppress', + 'switch', + 'switchstates', + 'symbol', + 'syncpoints', + 'syntax', + 'syntax-check', + 'syntax-trace', + 'system-call', + 'system-exceptions', + 'system-exit', + 'tab', + 'tabbed', + 'tables', + 'tableview', + 'tabstrip', + 'target', + 'task', + 'tasks', + 'test', + 'testing', + 'test-injection', + 'test-seam', + 'text', + 'textpool', + 'then', + 'throw', + 'time', + 'times', + 'timestamp', + 'timezone', + 'tims_is_valid', + 'title', + 'titlebar', + 'title-lines', + 'to', + 'tokenization', + 'tokens', + 'top-lines', + 'top-of-page', + 'trace-file', + 'trace-table', + 'trailing', + 'transaction', + 'transfer', + 'transformation', + 'transporting', + 'trmac', + 'truncate', + 'truncation', + 'try', + 'tstmp_add_seconds', + 'tstmp_current_utctimestamp', + 'tstmp_is_valid', + 'tstmp_seconds_between', + 'type', + 'type-pool', + 'type-pools', + 'types', + 'uline', + 'unassign', + 'under', + 'unicode', + 'union', + 'unique', + 'unit_conversion', + 'unix', + 'unpack', + 'until', + 'unwind', + 'up', + 'update', + 'upper', + 'user', + 'user-command', + 'using', + 'utf-8', + 'valid', + 'value', + 'value-request', + 'values', + 'vary', + 'varying', + 'verification-message', + 'version', + 'via', + 'view', + 'visible', + 'wait', + 'warning', + 'when', + 'whenever', + 'where', + 'while', + 'width', + 'window', + 'windows', + 'with', + 'with-heading', + 'without', + 'with-title', + 'word', + 'work', + 'write', + 'writer', + 'xml', + 'xsd', + 'yellow', + 'yes', + 'yymmdd', + 'zero', + 'zone', + 'abs', + 'acos', + 'asin', + 'atan', + 'bit-set', + 'boolc', + 'boolx', + 'ceil', + 'char_off', + 'charlen', + 'cmax', + 'cmin', + 'concat_lines_of', + 'condense', + 'contains', + 'contains_any_not_of', + 'contains_any_of', + 'cos', + 'cosh', + 'count', + 'count_any_not_of', + 'count_any_of', + 'dbmaxlen', + 'distance', + 'escape', + 'exp', + 'find', + 'find_any_not_of', + 'find_any_of', + 'find_end', + 'floor', + 'frac', + 'from_mixed', + 'insert', + 'ipow', + 'line_exists', + 'line_index', + 'lines', + 'log', + 'log10', + 'match', + 'matches', + 'nmax', + 'nmin', + 'numofchar', + 'repeat', + 'replace', + 'rescale', + 'reverse', + 'round', + 'segment', + 'shift_left', + 'shift_right', + 'sign', + 'sin', + 'sinh', + 'sqrt', + 'strlen', + 'substring', + 'substring_after', + 'substring_before', + 'substring_from', + 'substring_to', + 'tan', + 'tanh', + 'to_lower', + 'to_mixed', + 'to_upper', + 'translate', + 'trunc', + 'utclong_add', + 'utclong_current', + 'utclong_diff', + 'xsdbool', + 'xstrlen', + ], + typeKeywords: [ + 'b', + 'c', + 'd', + 'decfloat16', + 'decfloat34', + 'f', + 'i', + 'int8', + 'n', + 'p', + 's', + 'string', + 't', + 'utclong', + 'x', + 'xstring', + 'any', + 'clike', + 'csequence', + 'decfloat', + 'numeric', + 'simple', + 'xsequence', + 'table', + 'hashed', + 'index', + 'sorted', + 'standard', + 'accp', + 'char', + 'clnt', + 'cuky', + 'curr', + 'dats', + 'dec', + 'df16_dec', + 'df16_raw', + 'df34_dec', + 'df34_raw', + 'fltp', + 'int1', + 'int2', + 'int4', + 'lang', + 'lchr', + 'lraw', + 'numc', + 'quan', + 'raw', + 'rawstring', + 'sstring', + 'tims', + 'unit', + 'df16_scl', + 'df34_scl', + 'prec', + 'varc', + 'abap_bool', + 'space', + 'me', + 'syst', + 'sy', + 'screen', + ], + operators: [ + ' +', + ' -', + '/', + '*', + '**', + 'div', + 'mod', + '=', + '#', + '@', + '&', + '&&', + 'bit-and', + 'bit-not', + 'bit-or', + 'bit-xor', + 'm', + 'o', + 'z', + 'and', + 'equiv', + 'not', + 'or', + ' < ', + ' > ', + '<=', + '>=', + '<>', + '><', + '=<', + '=>', + 'between', + 'bt', + 'byte-ca', + 'byte-cn', + 'byte-co', + 'byte-cs', + 'byte-na', + 'byte-ns', + 'ca', + 'cn', + 'co', + 'cp', + 'cs', + 'eq', + 'ge', + 'gt', + 'in', + 'le', + 'lt', + 'na', + 'nb', + 'ne', + 'np', + 'ns', + ], + symbols: /[=><!~?&+\-*\/\^%#@]+/, + tokenizer: { + root: [ + [ + /[a-z_$][\w-$]*/, + { + cases: { + '@typeKeywords': 'keyword', + '@keywords': 'keyword', + '@operators': 'operator', + '@default': 'identifier', + }, + }, + ], + [/<[\w]+>/, 'identifier'], + { include: '@whitespace' }, + [/[:,.]/, 'delimiter'], + [/[{}()\[\]]/, '@brackets'], + [ + /@symbols/, + { cases: { '@operators': 'operator', '@default': '' } }, + ], + [ + /'/, + { token: 'string', bracket: '@open', next: '@stringquote' }, + ], + [/`/, { token: 'string', bracket: '@open', next: '@stringping' }], + [ + /\|/, + { token: 'string', bracket: '@open', next: '@stringtemplate' }, + ], + [/\d+/, 'number'], + ], + stringtemplate: [ + [/[^\\\|]+/, 'string'], + [/\\\|/, 'string'], + [/\|/, { token: 'string', bracket: '@close', next: '@pop' }], + ], + stringping: [ + [/[^\\`]+/, 'string'], + [/`/, { token: 'string', bracket: '@close', next: '@pop' }], + ], + stringquote: [ + [/[^\\']+/, 'string'], + [/'/, { token: 'string', bracket: '@close', next: '@pop' }], + ], + whitespace: [ + [/[ \t\r\n]+/, ''], + [/^\*.*$/, 'comment'], + [/\".*$/, 'comment'], + ], + }, + }; + }, + }, +]); diff --git a/docs/854.854.js b/docs/854.854.js new file mode 100644 index 00000000..d4ad09d5 --- /dev/null +++ b/docs/854.854.js @@ -0,0 +1,195 @@ +(self.webpackChunkmermaid_live_editor = + self.webpackChunkmermaid_live_editor || []).push([ + [854], + { + 60854: (e, t, r) => { + 'use strict'; + r.r(t), r.d(t, { conf: () => s, language: () => n }); + var s = { + wordPattern: /(-?\d*\.\d\w*)|([^\`\~\!\@\#%\^\&\*\(\)\=\$\-\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g, + comments: { blockComment: ['###', '###'], lineComment: '#' }, + folding: { + markers: { + start: new RegExp('^\\s*#region\\b'), + end: new RegExp('^\\s*#endregion\\b'), + }, + }, + }, + n = { + defaultToken: '', + ignoreCase: !1, + tokenPostfix: '.mips', + regEx: /\/(?!\/\/)(?:[^\/\\]|\\.)*\/[igm]*/, + keywords: [ + '.data', + '.text', + 'syscall', + 'trap', + 'add', + 'addu', + 'addi', + 'addiu', + 'and', + 'andi', + 'div', + 'divu', + 'mult', + 'multu', + 'nor', + 'or', + 'ori', + 'sll', + 'slv', + 'sra', + 'srav', + 'srl', + 'srlv', + 'sub', + 'subu', + 'xor', + 'xori', + 'lhi', + 'lho', + 'lhi', + 'llo', + 'slt', + 'slti', + 'sltu', + 'sltiu', + 'beq', + 'bgtz', + 'blez', + 'bne', + 'j', + 'jal', + 'jalr', + 'jr', + 'lb', + 'lbu', + 'lh', + 'lhu', + 'lw', + 'li', + 'la', + 'sb', + 'sh', + 'sw', + 'mfhi', + 'mflo', + 'mthi', + 'mtlo', + 'move', + ], + symbols: /[\.,\:]+/, + escapes: /\\(?:[abfnrtv\\"'$]|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/, + tokenizer: { + root: [ + [/\$[a-zA-Z_]\w*/, 'variable.predefined'], + [ + /[.a-zA-Z_]\w*/, + { + cases: { + this: 'variable.predefined', + '@keywords': { token: 'keyword.$0' }, + '@default': '', + }, + }, + ], + [/[ \t\r\n]+/, ''], + [/#.*$/, 'comment'], + ['///', { token: 'regexp', next: '@hereregexp' }], + [/^(\s*)(@regEx)/, ['', 'regexp']], + [/(\,)(\s*)(@regEx)/, ['delimiter', '', 'regexp']], + [/(\:)(\s*)(@regEx)/, ['delimiter', '', 'regexp']], + [/@symbols/, 'delimiter'], + [/\d+[eE]([\-+]?\d+)?/, 'number.float'], + [/\d+\.\d+([eE][\-+]?\d+)?/, 'number.float'], + [/0[xX][0-9a-fA-F]+/, 'number.hex'], + [/0[0-7]+(?!\d)/, 'number.octal'], + [/\d+/, 'number'], + [/[,.]/, 'delimiter'], + [/"""/, 'string', '@herestring."""'], + [/'''/, 'string', "@herestring.'''"], + [ + /"/, + { + cases: { + '@eos': 'string', + '@default': { token: 'string', next: '@string."' }, + }, + }, + ], + [ + /'/, + { + cases: { + '@eos': 'string', + '@default': { token: 'string', next: "@string.'" }, + }, + }, + ], + ], + string: [ + [/[^"'\#\\]+/, 'string'], + [/@escapes/, 'string.escape'], + [/\./, 'string.escape.invalid'], + [/\./, 'string.escape.invalid'], + [ + /#{/, + { + cases: { + '$S2=="': { + token: 'string', + next: 'root.interpolatedstring', + }, + '@default': 'string', + }, + }, + ], + [ + /["']/, + { + cases: { + '$#==$S2': { token: 'string', next: '@pop' }, + '@default': 'string', + }, + }, + ], + [/#/, 'string'], + ], + herestring: [ + [ + /("""|''')/, + { + cases: { + '$1==$S2': { token: 'string', next: '@pop' }, + '@default': 'string', + }, + }, + ], + [/[^#\\'"]+/, 'string'], + [/['"]+/, 'string'], + [/@escapes/, 'string.escape'], + [/\./, 'string.escape.invalid'], + [ + /#{/, + { token: 'string.quote', next: 'root.interpolatedstring' }, + ], + [/#/, 'string'], + ], + comment: [ + [/[^#]+/, 'comment'], + [/#/, 'comment'], + ], + hereregexp: [ + [/[^\\\/#]+/, 'regexp'], + [/\\./, 'regexp'], + [/#.*$/, 'comment'], + ['///[igm]*', { token: 'regexp', next: '@pop' }], + [/\//, 'regexp'], + ], + }, + }; + }, + }, +]); diff --git a/docs/8670.8670.js b/docs/8670.8670.js new file mode 100644 index 00000000..f4e4b6af --- /dev/null +++ b/docs/8670.8670.js @@ -0,0 +1,220 @@ +(self.webpackChunkmermaid_live_editor = + self.webpackChunkmermaid_live_editor || []).push([ + [8670], + { + 88670: (e, r, i) => { + 'use strict'; + i.r(r), i.d(r, { conf: () => o, language: () => t }); + var o = { + comments: { lineComment: '#' }, + brackets: [ + ['{', '}'], + ['[', ']'], + ['(', ')'], + ], + autoClosingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"' }, + { open: "'", close: "'" }, + { open: '`', close: '`' }, + ], + surroundingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"' }, + { open: "'", close: "'" }, + { open: '`', close: '`' }, + ], + }, + t = { + defaultToken: '', + ignoreCase: !0, + tokenPostfix: '.shell', + brackets: [ + { token: 'delimiter.bracket', open: '{', close: '}' }, + { token: 'delimiter.parenthesis', open: '(', close: ')' }, + { token: 'delimiter.square', open: '[', close: ']' }, + ], + keywords: [ + 'if', + 'then', + 'do', + 'else', + 'elif', + 'while', + 'until', + 'for', + 'in', + 'esac', + 'fi', + 'fin', + 'fil', + 'done', + 'exit', + 'set', + 'unset', + 'export', + 'function', + ], + builtins: [ + 'ab', + 'awk', + 'bash', + 'beep', + 'cat', + 'cc', + 'cd', + 'chown', + 'chmod', + 'chroot', + 'clear', + 'cp', + 'curl', + 'cut', + 'diff', + 'echo', + 'find', + 'gawk', + 'gcc', + 'get', + 'git', + 'grep', + 'hg', + 'kill', + 'killall', + 'ln', + 'ls', + 'make', + 'mkdir', + 'openssl', + 'mv', + 'nc', + 'node', + 'npm', + 'ping', + 'ps', + 'restart', + 'rm', + 'rmdir', + 'sed', + 'service', + 'sh', + 'shopt', + 'shred', + 'source', + 'sort', + 'sleep', + 'ssh', + 'start', + 'stop', + 'su', + 'sudo', + 'svn', + 'tee', + 'telnet', + 'top', + 'touch', + 'vi', + 'vim', + 'wall', + 'wc', + 'wget', + 'who', + 'write', + 'yes', + 'zsh', + ], + symbols: /[=><!~?&|+\-*\/\^;\.,]+/, + tokenizer: { + root: [ + { include: '@whitespace' }, + [ + /[a-zA-Z]\w*/, + { + cases: { + '@keywords': 'keyword', + '@builtins': 'type.identifier', + '@default': '', + }, + }, + ], + { include: '@strings' }, + { include: '@parameters' }, + { include: '@heredoc' }, + [/[{}\[\]()]/, '@brackets'], + [/-+\w+/, 'attribute.name'], + [/@symbols/, 'delimiter'], + { include: '@numbers' }, + [/[,;]/, 'delimiter'], + ], + whitespace: [ + [/\s+/, 'white'], + [/(^#!.*$)/, 'metatag'], + [/(^#.*$)/, 'comment'], + ], + numbers: [ + [/\d*\.\d+([eE][\-+]?\d+)?/, 'number.float'], + [/0[xX][0-9a-fA-F_]*[0-9a-fA-F]/, 'number.hex'], + [/\d+/, 'number'], + ], + strings: [ + [/'/, 'string', '@stringBody'], + [/"/, 'string', '@dblStringBody'], + ], + stringBody: [ + [/'/, 'string', '@popall'], + [/./, 'string'], + ], + dblStringBody: [ + [/"/, 'string', '@popall'], + [/./, 'string'], + ], + heredoc: [ + [ + /(<<[-<]?)(\s*)(['"`]?)([\w\-]+)(['"`]?)/, + [ + 'constants', + 'white', + 'string.heredoc.delimiter', + 'string.heredoc', + 'string.heredoc.delimiter', + ], + ], + ], + parameters: [ + [/\$\d+/, 'variable.predefined'], + [/\$\w+/, 'variable'], + [/\$[*@#?\-$!0_]/, 'variable'], + [/\$'/, 'variable', '@parameterBodyQuote'], + [/\$"/, 'variable', '@parameterBodyDoubleQuote'], + [/\$\(/, 'variable', '@parameterBodyParen'], + [/\$\{/, 'variable', '@parameterBodyCurlyBrace'], + ], + parameterBodyQuote: [ + [/[^#:%*@\-!_']+/, 'variable'], + [/[#:%*@\-!_]/, 'delimiter'], + [/[']/, 'variable', '@pop'], + ], + parameterBodyDoubleQuote: [ + [/[^#:%*@\-!_"]+/, 'variable'], + [/[#:%*@\-!_]/, 'delimiter'], + [/["]/, 'variable', '@pop'], + ], + parameterBodyParen: [ + [/[^#:%*@\-!_)]+/, 'variable'], + [/[#:%*@\-!_]/, 'delimiter'], + [/[)]/, 'variable', '@pop'], + ], + parameterBodyCurlyBrace: [ + [/[^#:%*@\-!_}]+/, 'variable'], + [/[#:%*@\-!_]/, 'delimiter'], + [/[}]/, 'variable', '@pop'], + ], + }, + }; + }, + }, +]); diff --git a/docs/8715.8715.js b/docs/8715.8715.js new file mode 100644 index 00000000..6b27f707 --- /dev/null +++ b/docs/8715.8715.js @@ -0,0 +1,331 @@ +(self.webpackChunkmermaid_live_editor = + self.webpackChunkmermaid_live_editor || []).push([ + [8715], + { + 8715: (e, t, o) => { + 'use strict'; + o.r(t), o.d(t, { conf: () => n, language: () => s }); + var n = { + comments: { lineComment: '//', blockComment: ['/*', '*/'] }, + brackets: [ + ['{', '}'], + ['[', ']'], + ['(', ')'], + ], + autoClosingPairs: [ + { open: '[', close: ']' }, + { open: '{', close: '}' }, + { open: '(', close: ')' }, + { open: "'", close: "'", notIn: ['string', 'comment'] }, + { open: '"', close: '"', notIn: ['string'] }, + ], + surroundingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"' }, + { open: "'", close: "'" }, + ], + folding: { + markers: { + start: new RegExp('^\\s*#pragma\\s+region\\b'), + end: new RegExp('^\\s*#pragma\\s+endregion\\b'), + }, + }, + }, + s = { + tokenPostfix: '.rust', + defaultToken: 'invalid', + keywords: [ + 'as', + 'box', + 'break', + 'const', + 'continue', + 'crate', + 'else', + 'enum', + 'extern', + 'false', + 'fn', + 'for', + 'if', + 'impl', + 'in', + 'let', + 'loop', + 'match', + 'mod', + 'move', + 'mut', + 'pub', + 'ref', + 'return', + 'self', + 'static', + 'struct', + 'super', + 'trait', + 'true', + 'type', + 'unsafe', + 'use', + 'where', + 'while', + 'catch', + 'default', + 'union', + 'static', + 'abstract', + 'alignof', + 'become', + 'do', + 'final', + 'macro', + 'offsetof', + 'override', + 'priv', + 'proc', + 'pure', + 'sizeof', + 'typeof', + 'unsized', + 'virtual', + 'yield', + ], + typeKeywords: [ + 'Self', + 'm32', + 'm64', + 'm128', + 'f80', + 'f16', + 'f128', + 'int', + 'uint', + 'float', + 'char', + 'bool', + 'u8', + 'u16', + 'u32', + 'u64', + 'f32', + 'f64', + 'i8', + 'i16', + 'i32', + 'i64', + 'str', + 'Option', + 'Either', + 'c_float', + 'c_double', + 'c_void', + 'FILE', + 'fpos_t', + 'DIR', + 'dirent', + 'c_char', + 'c_schar', + 'c_uchar', + 'c_short', + 'c_ushort', + 'c_int', + 'c_uint', + 'c_long', + 'c_ulong', + 'size_t', + 'ptrdiff_t', + 'clock_t', + 'time_t', + 'c_longlong', + 'c_ulonglong', + 'intptr_t', + 'uintptr_t', + 'off_t', + 'dev_t', + 'ino_t', + 'pid_t', + 'mode_t', + 'ssize_t', + ], + constants: [ + 'true', + 'false', + 'Some', + 'None', + 'Left', + 'Right', + 'Ok', + 'Err', + ], + supportConstants: [ + 'EXIT_FAILURE', + 'EXIT_SUCCESS', + 'RAND_MAX', + 'EOF', + 'SEEK_SET', + 'SEEK_CUR', + 'SEEK_END', + '_IOFBF', + '_IONBF', + '_IOLBF', + 'BUFSIZ', + 'FOPEN_MAX', + 'FILENAME_MAX', + 'L_tmpnam', + 'TMP_MAX', + 'O_RDONLY', + 'O_WRONLY', + 'O_RDWR', + 'O_APPEND', + 'O_CREAT', + 'O_EXCL', + 'O_TRUNC', + 'S_IFIFO', + 'S_IFCHR', + 'S_IFBLK', + 'S_IFDIR', + 'S_IFREG', + 'S_IFMT', + 'S_IEXEC', + 'S_IWRITE', + 'S_IREAD', + 'S_IRWXU', + 'S_IXUSR', + 'S_IWUSR', + 'S_IRUSR', + 'F_OK', + 'R_OK', + 'W_OK', + 'X_OK', + 'STDIN_FILENO', + 'STDOUT_FILENO', + 'STDERR_FILENO', + ], + supportMacros: [ + 'format!', + 'print!', + 'println!', + 'panic!', + 'format_args!', + 'unreachable!', + 'write!', + 'writeln!', + ], + operators: [ + '!', + '!=', + '%', + '%=', + '&', + '&=', + '&&', + '*', + '*=', + '+', + '+=', + '-', + '-=', + '->', + '.', + '..', + '...', + '/', + '/=', + ':', + ';', + '<<', + '<<=', + '<', + '<=', + '=', + '==', + '=>', + '>', + '>=', + '>>', + '>>=', + '@', + '^', + '^=', + '|', + '|=', + '||', + '_', + '?', + '#', + ], + escapes: /\\([nrt0\"''\\]|x\h{2}|u\{\h{1,6}\})/, + delimiters: /[,]/, + symbols: /[\#\!\%\&\*\+\-\.\/\:\;\<\=\>\@\^\|_\?]+/, + intSuffixes: /[iu](8|16|32|64|128|size)/, + floatSuffixes: /f(32|64)/, + tokenizer: { + root: [ + [ + /[a-zA-Z][a-zA-Z0-9_]*!?|_[a-zA-Z0-9_]+/, + { + cases: { + '@typeKeywords': 'keyword.type', + '@keywords': 'keyword', + '@supportConstants': 'keyword', + '@supportMacros': 'keyword', + '@constants': 'keyword', + '@default': 'identifier', + }, + }, + ], + [/\$/, 'identifier'], + [/'[a-zA-Z_][a-zA-Z0-9_]*(?=[^\'])/, 'identifier'], + [/'\S'/, 'string.byteliteral'], + [ + /"/, + { token: 'string.quote', bracket: '@open', next: '@string' }, + ], + { include: '@numbers' }, + { include: '@whitespace' }, + [ + /@delimiters/, + { cases: { '@keywords': 'keyword', '@default': 'delimiter' } }, + ], + [/[{}()\[\]<>]/, '@brackets'], + [ + /@symbols/, + { cases: { '@operators': 'operator', '@default': '' } }, + ], + ], + whitespace: [ + [/[ \t\r\n]+/, 'white'], + [/\/\*/, 'comment', '@comment'], + [/\/\/.*$/, 'comment'], + ], + comment: [ + [/[^\/*]+/, 'comment'], + [/\/\*/, 'comment', '@push'], + ['\\*/', 'comment', '@pop'], + [/[\/*]/, 'comment'], + ], + string: [ + [/[^\\"]+/, 'string'], + [/@escapes/, 'string.escape'], + [/\\./, 'string.escape.invalid'], + [/"/, { token: 'string.quote', bracket: '@close', next: '@pop' }], + ], + numbers: [ + [/(0o[0-7_]+)(@intSuffixes)?/, { token: 'number' }], + [/(0b[0-1_]+)(@intSuffixes)?/, { token: 'number' }], + [ + /[\d][\d_]*(\.[\d][\d_]*)?[eE][+-][\d_]+(@floatSuffixes)?/, + { token: 'number' }, + ], + [/\b(\d\.?[\d_]*)(@floatSuffixes)?\b/, { token: 'number' }], + [/(0x[\da-fA-F]+)_?(@intSuffixes)?/, { token: 'number' }], + [/[\d][\d_]*(@intSuffixes?)?/, { token: 'number' }], + ], + }, + }; + }, + }, +]); diff --git a/docs/8719.8719.js b/docs/8719.8719.js new file mode 100644 index 00000000..65b9fbab --- /dev/null +++ b/docs/8719.8719.js @@ -0,0 +1,320 @@ +(self.webpackChunkmermaid_live_editor = + self.webpackChunkmermaid_live_editor || []).push([ + [8719], + { + 18719: (e, t, n) => { + 'use strict'; + n.r(t), n.d(t, { conf: () => s, language: () => o }); + var s = { + wordPattern: /(-?\d*\.\d\w*)|([^\`\~\!\#\$\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g, + comments: { lineComment: '//', blockComment: ['/*', '*/'] }, + brackets: [ + ['{', '}'], + ['[', ']'], + ['(', ')'], + ], + autoClosingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: "'", close: "'", notIn: ['string', 'comment'] }, + { open: '"', close: '"', notIn: ['string', 'comment'] }, + ], + surroundingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '<', close: '>' }, + { open: "'", close: "'" }, + { open: '"', close: '"' }, + ], + folding: { + markers: { + start: new RegExp('^\\s*#region\\b'), + end: new RegExp('^\\s*#endregion\\b'), + }, + }, + }, + o = { + defaultToken: '', + tokenPostfix: '.cs', + brackets: [ + { open: '{', close: '}', token: 'delimiter.curly' }, + { open: '[', close: ']', token: 'delimiter.square' }, + { open: '(', close: ')', token: 'delimiter.parenthesis' }, + { open: '<', close: '>', token: 'delimiter.angle' }, + ], + keywords: [ + 'extern', + 'alias', + 'using', + 'bool', + 'decimal', + 'sbyte', + 'byte', + 'short', + 'ushort', + 'int', + 'uint', + 'long', + 'ulong', + 'char', + 'float', + 'double', + 'object', + 'dynamic', + 'string', + 'assembly', + 'is', + 'as', + 'ref', + 'out', + 'this', + 'base', + 'new', + 'typeof', + 'void', + 'checked', + 'unchecked', + 'default', + 'delegate', + 'var', + 'const', + 'if', + 'else', + 'switch', + 'case', + 'while', + 'do', + 'for', + 'foreach', + 'in', + 'break', + 'continue', + 'goto', + 'return', + 'throw', + 'try', + 'catch', + 'finally', + 'lock', + 'yield', + 'from', + 'let', + 'where', + 'join', + 'on', + 'equals', + 'into', + 'orderby', + 'ascending', + 'descending', + 'select', + 'group', + 'by', + 'namespace', + 'partial', + 'class', + 'field', + 'event', + 'method', + 'param', + 'property', + 'public', + 'protected', + 'internal', + 'private', + 'abstract', + 'sealed', + 'static', + 'struct', + 'readonly', + 'volatile', + 'virtual', + 'override', + 'params', + 'get', + 'set', + 'add', + 'remove', + 'operator', + 'true', + 'false', + 'implicit', + 'explicit', + 'interface', + 'enum', + 'null', + 'async', + 'await', + 'fixed', + 'sizeof', + 'stackalloc', + 'unsafe', + 'nameof', + 'when', + ], + namespaceFollows: ['namespace', 'using'], + parenFollows: [ + 'if', + 'for', + 'while', + 'switch', + 'foreach', + 'using', + 'catch', + 'when', + ], + operators: [ + '=', + '??', + '||', + '&&', + '|', + '^', + '&', + '==', + '!=', + '<=', + '>=', + '<<', + '+', + '-', + '*', + '/', + '%', + '!', + '~', + '++', + '--', + '+=', + '-=', + '*=', + '/=', + '%=', + '&=', + '|=', + '^=', + '<<=', + '>>=', + '>>', + '=>', + ], + symbols: /[=><!~?:&|+\-*\/\^%]+/, + escapes: /\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/, + tokenizer: { + root: [ + [ + /\@?[a-zA-Z_]\w*/, + { + cases: { + '@namespaceFollows': { + token: 'keyword.$0', + next: '@namespace', + }, + '@keywords': { token: 'keyword.$0', next: '@qualified' }, + '@default': { token: 'identifier', next: '@qualified' }, + }, + }, + ], + { include: '@whitespace' }, + [ + /}/, + { + cases: { + '$S2==interpolatedstring': { + token: 'string.quote', + next: '@pop', + }, + '$S2==litinterpstring': { + token: 'string.quote', + next: '@pop', + }, + '@default': '@brackets', + }, + }, + ], + [/[{}()\[\]]/, '@brackets'], + [/[<>](?!@symbols)/, '@brackets'], + [ + /@symbols/, + { cases: { '@operators': 'delimiter', '@default': '' } }, + ], + [/[0-9_]*\.[0-9_]+([eE][\-+]?\d+)?[fFdD]?/, 'number.float'], + [/0[xX][0-9a-fA-F_]+/, 'number.hex'], + [/0[bB][01_]+/, 'number.hex'], + [/[0-9_]+/, 'number'], + [/[;,.]/, 'delimiter'], + [/"([^"\\]|\\.)*$/, 'string.invalid'], + [/"/, { token: 'string.quote', next: '@string' }], + [/\$\@"/, { token: 'string.quote', next: '@litinterpstring' }], + [/\@"/, { token: 'string.quote', next: '@litstring' }], + [/\$"/, { token: 'string.quote', next: '@interpolatedstring' }], + [/'[^\\']'/, 'string'], + [/(')(@escapes)(')/, ['string', 'string.escape', 'string']], + [/'/, 'string.invalid'], + ], + qualified: [ + [ + /[a-zA-Z_][\w]*/, + { + cases: { + '@keywords': { token: 'keyword.$0' }, + '@default': 'identifier', + }, + }, + ], + [/\./, 'delimiter'], + ['', '', '@pop'], + ], + namespace: [ + { include: '@whitespace' }, + [/[A-Z]\w*/, 'namespace'], + [/[\.=]/, 'delimiter'], + ['', '', '@pop'], + ], + comment: [ + [/[^\/*]+/, 'comment'], + ['\\*/', 'comment', '@pop'], + [/[\/*]/, 'comment'], + ], + string: [ + [/[^\\"]+/, 'string'], + [/@escapes/, 'string.escape'], + [/\\./, 'string.escape.invalid'], + [/"/, { token: 'string.quote', next: '@pop' }], + ], + litstring: [ + [/[^"]+/, 'string'], + [/""/, 'string.escape'], + [/"/, { token: 'string.quote', next: '@pop' }], + ], + litinterpstring: [ + [/[^"{]+/, 'string'], + [/""/, 'string.escape'], + [/{{/, 'string.escape'], + [/}}/, 'string.escape'], + [/{/, { token: 'string.quote', next: 'root.litinterpstring' }], + [/"/, { token: 'string.quote', next: '@pop' }], + ], + interpolatedstring: [ + [/[^\\"{]+/, 'string'], + [/@escapes/, 'string.escape'], + [/\\./, 'string.escape.invalid'], + [/{{/, 'string.escape'], + [/}}/, 'string.escape'], + [/{/, { token: 'string.quote', next: 'root.interpolatedstring' }], + [/"/, { token: 'string.quote', next: '@pop' }], + ], + whitespace: [ + [/^[ \t\v\f]*#((r)|(load))(?=\s)/, 'directive.csx'], + [/^[ \t\v\f]*#\w.*$/, 'namespace.cpp'], + [/[ \t\v\f\r\n]+/, ''], + [/\/\*/, 'comment', '@comment'], + [/\/\/.*$/, 'comment'], + ], + }, + }; + }, + }, +]); diff --git a/docs/8946.8946.js b/docs/8946.8946.js new file mode 100644 index 00000000..9b9fad09 --- /dev/null +++ b/docs/8946.8946.js @@ -0,0 +1,54 @@ +(self.webpackChunkmermaid_live_editor = + self.webpackChunkmermaid_live_editor || []).push([ + [8946], + { + 68946: (t, e, r) => { + 'use strict'; + r.r(e), r.d(e, { conf: () => s, language: () => i }); + var s = { brackets: [], autoClosingPairs: [], surroundingPairs: [] }, + i = { + keywords: [], + typeKeywords: [], + tokenPostfix: '.csp', + operators: [], + symbols: /[=><!~?:&|+\-*\/\^%]+/, + escapes: /\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/, + tokenizer: { + root: [ + [/child-src/, 'string.quote'], + [/connect-src/, 'string.quote'], + [/default-src/, 'string.quote'], + [/font-src/, 'string.quote'], + [/frame-src/, 'string.quote'], + [/img-src/, 'string.quote'], + [/manifest-src/, 'string.quote'], + [/media-src/, 'string.quote'], + [/object-src/, 'string.quote'], + [/script-src/, 'string.quote'], + [/style-src/, 'string.quote'], + [/worker-src/, 'string.quote'], + [/base-uri/, 'string.quote'], + [/plugin-types/, 'string.quote'], + [/sandbox/, 'string.quote'], + [/disown-opener/, 'string.quote'], + [/form-action/, 'string.quote'], + [/frame-ancestors/, 'string.quote'], + [/report-uri/, 'string.quote'], + [/report-to/, 'string.quote'], + [/upgrade-insecure-requests/, 'string.quote'], + [/block-all-mixed-content/, 'string.quote'], + [/require-sri-for/, 'string.quote'], + [/reflected-xss/, 'string.quote'], + [/referrer/, 'string.quote'], + [/policy-uri/, 'string.quote'], + [/'self'/, 'string.quote'], + [/'unsafe-inline'/, 'string.quote'], + [/'unsafe-eval'/, 'string.quote'], + [/'strict-dynamic'/, 'string.quote'], + [/'unsafe-hashed-attributes'/, 'string.quote'], + ], + }, + }; + }, + }, +]); diff --git a/docs/911.911.js b/docs/911.911.js new file mode 100644 index 00000000..f789bc19 --- /dev/null +++ b/docs/911.911.js @@ -0,0 +1,156 @@ +(self.webpackChunkmermaid_live_editor = + self.webpackChunkmermaid_live_editor || []).push([ + [911], + { + 20911: (e, n, o) => { + 'use strict'; + o.r(n), o.d(n, { conf: () => t, language: () => s }); + var t = { + comments: { lineComment: '--', blockComment: ['--[[', ']]'] }, + brackets: [ + ['{', '}'], + ['[', ']'], + ['(', ')'], + ], + autoClosingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"' }, + { open: "'", close: "'" }, + ], + surroundingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"' }, + { open: "'", close: "'" }, + ], + }, + s = { + defaultToken: '', + tokenPostfix: '.lua', + keywords: [ + 'and', + 'break', + 'do', + 'else', + 'elseif', + 'end', + 'false', + 'for', + 'function', + 'goto', + 'if', + 'in', + 'local', + 'nil', + 'not', + 'or', + 'repeat', + 'return', + 'then', + 'true', + 'until', + 'while', + ], + brackets: [ + { token: 'delimiter.bracket', open: '{', close: '}' }, + { token: 'delimiter.array', open: '[', close: ']' }, + { token: 'delimiter.parenthesis', open: '(', close: ')' }, + ], + operators: [ + '+', + '-', + '*', + '/', + '%', + '^', + '#', + '==', + '~=', + '<=', + '>=', + '<', + '>', + '=', + ';', + ':', + ',', + '.', + '..', + '...', + ], + symbols: /[=><!~?:&|+\-*\/\^%]+/, + escapes: /\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/, + tokenizer: { + root: [ + [ + /[a-zA-Z_]\w*/, + { + cases: { + '@keywords': { token: 'keyword.$0' }, + '@default': 'identifier', + }, + }, + ], + { include: '@whitespace' }, + [ + /(,)(\s*)([a-zA-Z_]\w*)(\s*)(:)(?!:)/, + ['delimiter', '', 'key', '', 'delimiter'], + ], + [ + /({)(\s*)([a-zA-Z_]\w*)(\s*)(:)(?!:)/, + ['@brackets', '', 'key', '', 'delimiter'], + ], + [/[{}()\[\]]/, '@brackets'], + [ + /@symbols/, + { cases: { '@operators': 'delimiter', '@default': '' } }, + ], + [/\d*\.\d+([eE][\-+]?\d+)?/, 'number.float'], + [/0[xX][0-9a-fA-F_]*[0-9a-fA-F]/, 'number.hex'], + [/\d+?/, 'number'], + [/[;,.]/, 'delimiter'], + [/"([^"\\]|\\.)*$/, 'string.invalid'], + [/'([^'\\]|\\.)*$/, 'string.invalid'], + [/"/, 'string', '@string."'], + [/'/, 'string', "@string.'"], + ], + whitespace: [ + [/[ \t\r\n]+/, ''], + [/--\[([=]*)\[/, 'comment', '@comment.$1'], + [/--.*$/, 'comment'], + ], + comment: [ + [/[^\]]+/, 'comment'], + [ + /\]([=]*)\]/, + { + cases: { + '$1==$S2': { token: 'comment', next: '@pop' }, + '@default': 'comment', + }, + }, + ], + [/./, 'comment'], + ], + string: [ + [/[^\\"']+/, 'string'], + [/@escapes/, 'string.escape'], + [/\\./, 'string.escape.invalid'], + [ + /["']/, + { + cases: { + '$#==$S2': { token: 'string', next: '@pop' }, + '@default': 'string', + }, + }, + ], + ], + }, + }; + }, + }, +]); diff --git a/docs/9343.9343.js b/docs/9343.9343.js new file mode 100644 index 00000000..3e29e62e --- /dev/null +++ b/docs/9343.9343.js @@ -0,0 +1,282 @@ +(self.webpackChunkmermaid_live_editor = + self.webpackChunkmermaid_live_editor || []).push([ + [9343], + { + 39343: (e, n, t) => { + 'use strict'; + t.r(n), t.d(n, { conf: () => o, language: () => r }); + var o = { + comments: { lineComment: '//', blockComment: ['/*', '*/'] }, + brackets: [ + ['{', '}'], + ['[', ']'], + ['(', ')'], + ], + autoClosingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: "'", close: "'", notIn: ['string', 'comment'] }, + { open: '"', close: '"', notIn: ['string'] }, + { open: '`', close: '`', notIn: ['string', 'comment'] }, + { open: '/**', close: ' */', notIn: ['string'] }, + ], + surroundingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '<', close: '>' }, + { open: "'", close: "'" }, + { open: '(', close: ')' }, + { open: '"', close: '"' }, + { open: '`', close: '`' }, + ], + folding: { + markers: { + start: /^\s*\s*#?region\b/, + end: /^\s*\s*#?endregion\b/, + }, + }, + }, + r = { + defaultToken: 'invalid', + tokenPostfix: '.dart', + keywords: [ + 'abstract', + 'dynamic', + 'implements', + 'show', + 'as', + 'else', + 'import', + 'static', + 'assert', + 'enum', + 'in', + 'super', + 'async', + 'export', + 'interface', + 'switch', + 'await', + 'extends', + 'is', + 'sync', + 'break', + 'external', + 'library', + 'this', + 'case', + 'factory', + 'mixin', + 'throw', + 'catch', + 'false', + 'new', + 'true', + 'class', + 'final', + 'null', + 'try', + 'const', + 'finally', + 'on', + 'typedef', + 'continue', + 'for', + 'operator', + 'var', + 'covariant', + 'Function', + 'part', + 'void', + 'default', + 'get', + 'rethrow', + 'while', + 'deferred', + 'hide', + 'return', + 'with', + 'do', + 'if', + 'set', + 'yield', + ], + typeKeywords: ['int', 'double', 'String', 'bool'], + operators: [ + '+', + '-', + '*', + '/', + '~/', + '%', + '++', + '--', + '==', + '!=', + '>', + '<', + '>=', + '<=', + '=', + '-=', + '/=', + '%=', + '>>=', + '^=', + '+=', + '*=', + '~/=', + '<<=', + '&=', + '!=', + '||', + '&&', + '&', + '|', + '^', + '~', + '<<', + '>>', + '!', + '>>>', + '??', + '?', + ':', + '|=', + ], + symbols: /[=><!~?:&|+\-*\/\^%]+/, + escapes: /\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/, + digits: /\d+(_+\d+)*/, + octaldigits: /[0-7]+(_+[0-7]+)*/, + binarydigits: /[0-1]+(_+[0-1]+)*/, + hexdigits: /[[0-9a-fA-F]+(_+[0-9a-fA-F]+)*/, + regexpctl: /[(){}\[\]\$\^|\-*+?\.]/, + regexpesc: /\\(?:[bBdDfnrstvwWn0\\\/]|@regexpctl|c[A-Z]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4})/, + tokenizer: { + root: [[/[{}]/, 'delimiter.bracket'], { include: 'common' }], + common: [ + [ + /[a-z_$][\w$]*/, + { + cases: { + '@typeKeywords': 'type.identifier', + '@keywords': 'keyword', + '@default': 'identifier', + }, + }, + ], + [ + /(?<![a-zA-Z0-9_$])([_$]*[A-Z][a-zA-Z0-9_$]*)/, + 'type.identifier', + ], + { include: '@whitespace' }, + [ + /\/(?=([^\\\/]|\\.)+\/([gimsuy]*)(\s*)(\.|;|,|\)|\]|\}|$))/, + { token: 'regexp', bracket: '@open', next: '@regexp' }, + ], + [/@[a-zA-Z]+/, 'annotation'], + [/[()\[\]]/, '@brackets'], + [/[<>](?!@symbols)/, '@brackets'], + [/!(?=([^=]|$))/, 'delimiter'], + [ + /@symbols/, + { cases: { '@operators': 'delimiter', '@default': '' } }, + ], + [/(@digits)[eE]([\-+]?(@digits))?/, 'number.float'], + [/(@digits)\.(@digits)([eE][\-+]?(@digits))?/, 'number.float'], + [/0[xX](@hexdigits)n?/, 'number.hex'], + [/0[oO]?(@octaldigits)n?/, 'number.octal'], + [/0[bB](@binarydigits)n?/, 'number.binary'], + [/(@digits)n?/, 'number'], + [/[;,.]/, 'delimiter'], + [/"([^"\\]|\\.)*$/, 'string.invalid'], + [/'([^'\\]|\\.)*$/, 'string.invalid'], + [/"/, 'string', '@string_double'], + [/'/, 'string', '@string_single'], + ], + whitespace: [ + [/[ \t\r\n]+/, ''], + [/\/\*\*(?!\/)/, 'comment.doc', '@jsdoc'], + [/\/\*/, 'comment', '@comment'], + [/\/\/\/.*$/, 'comment.doc'], + [/\/\/.*$/, 'comment'], + ], + comment: [ + [/[^\/*]+/, 'comment'], + [/\*\//, 'comment', '@pop'], + [/[\/*]/, 'comment'], + ], + jsdoc: [ + [/[^\/*]+/, 'comment.doc'], + [/\*\//, 'comment.doc', '@pop'], + [/[\/*]/, 'comment.doc'], + ], + regexp: [ + [ + /(\{)(\d+(?:,\d*)?)(\})/, + [ + 'regexp.escape.control', + 'regexp.escape.control', + 'regexp.escape.control', + ], + ], + [ + /(\[)(\^?)(?=(?:[^\]\\\/]|\\.)+)/, + [ + 'regexp.escape.control', + { token: 'regexp.escape.control', next: '@regexrange' }, + ], + ], + [ + /(\()(\?:|\?=|\?!)/, + ['regexp.escape.control', 'regexp.escape.control'], + ], + [/[()]/, 'regexp.escape.control'], + [/@regexpctl/, 'regexp.escape.control'], + [/[^\\\/]/, 'regexp'], + [/@regexpesc/, 'regexp.escape'], + [/\\\./, 'regexp.invalid'], + [ + /(\/)([gimsuy]*)/, + [ + { token: 'regexp', bracket: '@close', next: '@pop' }, + 'keyword.other', + ], + ], + ], + regexrange: [ + [/-/, 'regexp.escape.control'], + [/\^/, 'regexp.invalid'], + [/@regexpesc/, 'regexp.escape'], + [/[^\]]/, 'regexp'], + [ + /\]/, + { + token: 'regexp.escape.control', + next: '@pop', + bracket: '@close', + }, + ], + ], + string_double: [ + [/[^\\"\$]+/, 'string'], + [/[^\\"]+/, 'string'], + [/@escapes/, 'string.escape'], + [/\\./, 'string.escape.invalid'], + [/"/, 'string', '@pop'], + [/\$\w+/, 'identifier'], + ], + string_single: [ + [/[^\\'\$]+/, 'string'], + [/@escapes/, 'string.escape'], + [/\\./, 'string.escape.invalid'], + [/'/, 'string', '@pop'], + [/\$\w+/, 'identifier'], + ], + }, + }; + }, + }, +]); diff --git a/docs/9398.9398.js b/docs/9398.9398.js new file mode 100644 index 00000000..e820ebd8 --- /dev/null +++ b/docs/9398.9398.js @@ -0,0 +1,378 @@ +(self.webpackChunkmermaid_live_editor = + self.webpackChunkmermaid_live_editor || []).push([ + [9398], + { + 79398: (E, T, A) => { + 'use strict'; + A.r(T), A.d(T, { conf: () => N, language: () => e }); + var N = { + comments: { lineComment: '//', blockComment: ['/*', '*/'] }, + brackets: [ + ['[', ']'], + ['(', ')'], + ['{', '}'], + ], + autoClosingPairs: [ + { open: '"', close: '"', notIn: ['string', 'comment'] }, + { open: "'", close: "'", notIn: ['string', 'comment'] }, + { open: '[', close: ']', notIn: ['string', 'comment'] }, + { open: '(', close: ')', notIn: ['string', 'comment'] }, + { open: '{', close: '}', notIn: ['string', 'comment'] }, + ], + }, + e = { + defaultToken: '', + tokenPostfix: '.msdax', + ignoreCase: !0, + brackets: [ + { open: '[', close: ']', token: 'delimiter.square' }, + { open: '{', close: '}', token: 'delimiter.brackets' }, + { open: '(', close: ')', token: 'delimiter.parenthesis' }, + ], + keywords: [ + 'VAR', + 'RETURN', + 'NOT', + 'EVALUATE', + 'DATATABLE', + 'ORDER', + 'BY', + 'START', + 'AT', + 'DEFINE', + 'MEASURE', + 'ASC', + 'DESC', + 'IN', + 'BOOLEAN', + 'DOUBLE', + 'INTEGER', + 'DATETIME', + 'CURRENCY', + 'STRING', + ], + functions: [ + 'CLOSINGBALANCEMONTH', + 'CLOSINGBALANCEQUARTER', + 'CLOSINGBALANCEYEAR', + 'DATEADD', + 'DATESBETWEEN', + 'DATESINPERIOD', + 'DATESMTD', + 'DATESQTD', + 'DATESYTD', + 'ENDOFMONTH', + 'ENDOFQUARTER', + 'ENDOFYEAR', + 'FIRSTDATE', + 'FIRSTNONBLANK', + 'LASTDATE', + 'LASTNONBLANK', + 'NEXTDAY', + 'NEXTMONTH', + 'NEXTQUARTER', + 'NEXTYEAR', + 'OPENINGBALANCEMONTH', + 'OPENINGBALANCEQUARTER', + 'OPENINGBALANCEYEAR', + 'PARALLELPERIOD', + 'PREVIOUSDAY', + 'PREVIOUSMONTH', + 'PREVIOUSQUARTER', + 'PREVIOUSYEAR', + 'SAMEPERIODLASTYEAR', + 'STARTOFMONTH', + 'STARTOFQUARTER', + 'STARTOFYEAR', + 'TOTALMTD', + 'TOTALQTD', + 'TOTALYTD', + 'ADDCOLUMNS', + 'ADDMISSINGITEMS', + 'ALL', + 'ALLEXCEPT', + 'ALLNOBLANKROW', + 'ALLSELECTED', + 'CALCULATE', + 'CALCULATETABLE', + 'CALENDAR', + 'CALENDARAUTO', + 'CROSSFILTER', + 'CROSSJOIN', + 'CURRENTGROUP', + 'DATATABLE', + 'DETAILROWS', + 'DISTINCT', + 'EARLIER', + 'EARLIEST', + 'EXCEPT', + 'FILTER', + 'FILTERS', + 'GENERATE', + 'GENERATEALL', + 'GROUPBY', + 'IGNORE', + 'INTERSECT', + 'ISONORAFTER', + 'KEEPFILTERS', + 'LOOKUPVALUE', + 'NATURALINNERJOIN', + 'NATURALLEFTOUTERJOIN', + 'RELATED', + 'RELATEDTABLE', + 'ROLLUP', + 'ROLLUPADDISSUBTOTAL', + 'ROLLUPGROUP', + 'ROLLUPISSUBTOTAL', + 'ROW', + 'SAMPLE', + 'SELECTCOLUMNS', + 'SUBSTITUTEWITHINDEX', + 'SUMMARIZE', + 'SUMMARIZECOLUMNS', + 'TOPN', + 'TREATAS', + 'UNION', + 'USERELATIONSHIP', + 'VALUES', + 'SUM', + 'SUMX', + 'PATH', + 'PATHCONTAINS', + 'PATHITEM', + 'PATHITEMREVERSE', + 'PATHLENGTH', + 'AVERAGE', + 'AVERAGEA', + 'AVERAGEX', + 'COUNT', + 'COUNTA', + 'COUNTAX', + 'COUNTBLANK', + 'COUNTROWS', + 'COUNTX', + 'DISTINCTCOUNT', + 'DIVIDE', + 'GEOMEAN', + 'GEOMEANX', + 'MAX', + 'MAXA', + 'MAXX', + 'MEDIAN', + 'MEDIANX', + 'MIN', + 'MINA', + 'MINX', + 'PERCENTILE.EXC', + 'PERCENTILE.INC', + 'PERCENTILEX.EXC', + 'PERCENTILEX.INC', + 'PRODUCT', + 'PRODUCTX', + 'RANK.EQ', + 'RANKX', + 'STDEV.P', + 'STDEV.S', + 'STDEVX.P', + 'STDEVX.S', + 'VAR.P', + 'VAR.S', + 'VARX.P', + 'VARX.S', + 'XIRR', + 'XNPV', + 'DATE', + 'DATEDIFF', + 'DATEVALUE', + 'DAY', + 'EDATE', + 'EOMONTH', + 'HOUR', + 'MINUTE', + 'MONTH', + 'NOW', + 'SECOND', + 'TIME', + 'TIMEVALUE', + 'TODAY', + 'WEEKDAY', + 'WEEKNUM', + 'YEAR', + 'YEARFRAC', + 'CONTAINS', + 'CONTAINSROW', + 'CUSTOMDATA', + 'ERROR', + 'HASONEFILTER', + 'HASONEVALUE', + 'ISBLANK', + 'ISCROSSFILTERED', + 'ISEMPTY', + 'ISERROR', + 'ISEVEN', + 'ISFILTERED', + 'ISLOGICAL', + 'ISNONTEXT', + 'ISNUMBER', + 'ISODD', + 'ISSUBTOTAL', + 'ISTEXT', + 'USERNAME', + 'USERPRINCIPALNAME', + 'AND', + 'FALSE', + 'IF', + 'IFERROR', + 'NOT', + 'OR', + 'SWITCH', + 'TRUE', + 'ABS', + 'ACOS', + 'ACOSH', + 'ACOT', + 'ACOTH', + 'ASIN', + 'ASINH', + 'ATAN', + 'ATANH', + 'BETA.DIST', + 'BETA.INV', + 'CEILING', + 'CHISQ.DIST', + 'CHISQ.DIST.RT', + 'CHISQ.INV', + 'CHISQ.INV.RT', + 'COMBIN', + 'COMBINA', + 'CONFIDENCE.NORM', + 'CONFIDENCE.T', + 'COS', + 'COSH', + 'COT', + 'COTH', + 'CURRENCY', + 'DEGREES', + 'EVEN', + 'EXP', + 'EXPON.DIST', + 'FACT', + 'FLOOR', + 'GCD', + 'INT', + 'ISO.CEILING', + 'LCM', + 'LN', + 'LOG', + 'LOG10', + 'MOD', + 'MROUND', + 'ODD', + 'PERMUT', + 'PI', + 'POISSON.DIST', + 'POWER', + 'QUOTIENT', + 'RADIANS', + 'RAND', + 'RANDBETWEEN', + 'ROUND', + 'ROUNDDOWN', + 'ROUNDUP', + 'SIGN', + 'SIN', + 'SINH', + 'SQRT', + 'SQRTPI', + 'TAN', + 'TANH', + 'TRUNC', + 'BLANK', + 'CONCATENATE', + 'CONCATENATEX', + 'EXACT', + 'FIND', + 'FIXED', + 'FORMAT', + 'LEFT', + 'LEN', + 'LOWER', + 'MID', + 'REPLACE', + 'REPT', + 'RIGHT', + 'SEARCH', + 'SUBSTITUTE', + 'TRIM', + 'UNICHAR', + 'UNICODE', + 'UPPER', + 'VALUE', + ], + tokenizer: { + root: [ + { include: '@comments' }, + { include: '@whitespace' }, + { include: '@numbers' }, + { include: '@strings' }, + { include: '@complexIdentifiers' }, + [/[;,.]/, 'delimiter'], + [/[({})]/, '@brackets'], + [ + /[a-z_][a-zA-Z0-9_]*/, + { + cases: { + '@keywords': 'keyword', + '@functions': 'keyword', + '@default': 'identifier', + }, + }, + ], + [/[<>=!%&+\-*/|~^]/, 'operator'], + ], + whitespace: [[/\s+/, 'white']], + comments: [ + [/\/\/+.*/, 'comment'], + [/\/\*/, { token: 'comment.quote', next: '@comment' }], + ], + comment: [ + [/[^*/]+/, 'comment'], + [/\*\//, { token: 'comment.quote', next: '@pop' }], + [/./, 'comment'], + ], + numbers: [ + [/0[xX][0-9a-fA-F]*/, 'number'], + [/[$][+-]*\d*(\.\d*)?/, 'number'], + [/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/, 'number'], + ], + strings: [ + [/N"/, { token: 'string', next: '@string' }], + [/"/, { token: 'string', next: '@string' }], + ], + string: [ + [/[^"]+/, 'string'], + [/""/, 'string'], + [/"/, { token: 'string', next: '@pop' }], + ], + complexIdentifiers: [ + [ + /\[/, + { token: 'identifier.quote', next: '@bracketedIdentifier' }, + ], + [/'/, { token: 'identifier.quote', next: '@quotedIdentifier' }], + ], + bracketedIdentifier: [ + [/[^\]]+/, 'identifier'], + [/]]/, 'identifier'], + [/]/, { token: 'identifier.quote', next: '@pop' }], + ], + quotedIdentifier: [ + [/[^']+/, 'identifier'], + [/''/, 'identifier'], + [/'/, { token: 'identifier.quote', next: '@pop' }], + ], + }, + }; + }, + }, +]); diff --git a/docs/9537.9537.js b/docs/9537.9537.js new file mode 100644 index 00000000..66b36ed5 --- /dev/null +++ b/docs/9537.9537.js @@ -0,0 +1,176 @@ +(self.webpackChunkmermaid_live_editor = + self.webpackChunkmermaid_live_editor || []).push([ + [9537], + { + 79537: (e, n, o) => { + 'use strict'; + o.r(n), o.d(n, { conf: () => t, language: () => s }); + var t = { + comments: { lineComment: '//', blockComment: ['/*', '*/'] }, + brackets: [ + ['{', '}'], + ['[', ']'], + ['(', ')'], + ], + autoClosingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"' }, + { open: "'", close: "'" }, + ], + surroundingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"' }, + { open: "'", close: "'" }, + ], + }, + s = { + defaultToken: '', + tokenPostfix: '.objective-c', + keywords: [ + '#import', + '#include', + '#define', + '#else', + '#endif', + '#if', + '#ifdef', + '#ifndef', + '#ident', + '#undef', + '@class', + '@defs', + '@dynamic', + '@encode', + '@end', + '@implementation', + '@interface', + '@package', + '@private', + '@protected', + '@property', + '@protocol', + '@public', + '@selector', + '@synthesize', + '__declspec', + 'assign', + 'auto', + 'BOOL', + 'break', + 'bycopy', + 'byref', + 'case', + 'char', + 'Class', + 'const', + 'copy', + 'continue', + 'default', + 'do', + 'double', + 'else', + 'enum', + 'extern', + 'FALSE', + 'false', + 'float', + 'for', + 'goto', + 'if', + 'in', + 'int', + 'id', + 'inout', + 'IMP', + 'long', + 'nil', + 'nonatomic', + 'NULL', + 'oneway', + 'out', + 'private', + 'public', + 'protected', + 'readwrite', + 'readonly', + 'register', + 'return', + 'SEL', + 'self', + 'short', + 'signed', + 'sizeof', + 'static', + 'struct', + 'super', + 'switch', + 'typedef', + 'TRUE', + 'true', + 'union', + 'unsigned', + 'volatile', + 'void', + 'while', + ], + decpart: /\d(_?\d)*/, + decimal: /0|@decpart/, + tokenizer: { + root: [ + { include: '@comments' }, + { include: '@whitespace' }, + { include: '@numbers' }, + { include: '@strings' }, + [/[,:;]/, 'delimiter'], + [/[{}\[\]()<>]/, '@brackets'], + [ + /[a-zA-Z@#]\w*/, + { cases: { '@keywords': 'keyword', '@default': 'identifier' } }, + ], + [/[<>=\\+\\-\\*\\/\\^\\|\\~,]|and\\b|or\\b|not\\b]/, 'operator'], + ], + whitespace: [[/\s+/, 'white']], + comments: [ + ['\\/\\*', 'comment', '@comment'], + ['\\/\\/+.*', 'comment'], + ], + comment: [ + ['\\*\\/', 'comment', '@pop'], + ['.', 'comment'], + ], + numbers: [ + [/0[xX][0-9a-fA-F]*(_?[0-9a-fA-F])*/, 'number.hex'], + [ + /@decimal((\.@decpart)?([eE][\-+]?@decpart)?)[fF]*/, + { cases: { '(\\d)*': 'number', $0: 'number.float' } }, + ], + ], + strings: [ + [/'$/, 'string.escape', '@popall'], + [/'/, 'string.escape', '@stringBody'], + [/"$/, 'string.escape', '@popall'], + [/"/, 'string.escape', '@dblStringBody'], + ], + stringBody: [ + [/[^\\']+$/, 'string', '@popall'], + [/[^\\']+/, 'string'], + [/\\./, 'string'], + [/'/, 'string.escape', '@popall'], + [/\\$/, 'string'], + ], + dblStringBody: [ + [/[^\\"]+$/, 'string', '@popall'], + [/[^\\"]+/, 'string'], + [/\\./, 'string'], + [/"/, 'string.escape', '@popall'], + [/\\$/, 'string'], + ], + }, + }; + }, + }, +]); diff --git a/docs/9684.9684.js b/docs/9684.9684.js new file mode 100644 index 00000000..964afe88 --- /dev/null +++ b/docs/9684.9684.js @@ -0,0 +1,505 @@ +(self.webpackChunkmermaid_live_editor = + self.webpackChunkmermaid_live_editor || []).push([ + [9684], + { + 69684: (e, t, n) => { + 'use strict'; + n.r(t), n.d(t, { conf: () => r, language: () => s }); + var r = { + comments: { lineComment: '#', blockComment: ['=begin', '=end'] }, + brackets: [ + ['(', ')'], + ['{', '}'], + ['[', ']'], + ], + autoClosingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"' }, + { open: "'", close: "'" }, + ], + surroundingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"' }, + { open: "'", close: "'" }, + ], + indentationRules: { + increaseIndentPattern: new RegExp( + '^\\s*((begin|class|(private|protected)\\s+def|def|else|elsif|ensure|for|if|module|rescue|unless|until|when|while|case)|([^#]*\\sdo\\b)|([^#]*=\\s*(case|if|unless)))\\b([^#\\{;]|("|\'|/).*\\4)*(#.*)?$' + ), + decreaseIndentPattern: new RegExp( + '^\\s*([}\\]]([,)]?\\s*(#|$)|\\.[a-zA-Z_]\\w*\\b)|(end|rescue|ensure|else|elsif|when)\\b)' + ), + }, + }, + s = { + tokenPostfix: '.ruby', + keywords: [ + '__LINE__', + '__ENCODING__', + '__FILE__', + 'BEGIN', + 'END', + 'alias', + 'and', + 'begin', + 'break', + 'case', + 'class', + 'def', + 'defined?', + 'do', + 'else', + 'elsif', + 'end', + 'ensure', + 'for', + 'false', + 'if', + 'in', + 'module', + 'next', + 'nil', + 'not', + 'or', + 'redo', + 'rescue', + 'retry', + 'return', + 'self', + 'super', + 'then', + 'true', + 'undef', + 'unless', + 'until', + 'when', + 'while', + 'yield', + ], + keywordops: ['::', '..', '...', '?', ':', '=>'], + builtins: [ + 'require', + 'public', + 'private', + 'include', + 'extend', + 'attr_reader', + 'protected', + 'private_class_method', + 'protected_class_method', + 'new', + ], + declarations: [ + 'module', + 'class', + 'def', + 'case', + 'do', + 'begin', + 'for', + 'if', + 'while', + 'until', + 'unless', + ], + linedecls: [ + 'def', + 'case', + 'do', + 'begin', + 'for', + 'if', + 'while', + 'until', + 'unless', + ], + operators: [ + '^', + '&', + '|', + '<=>', + '==', + '===', + '!~', + '=~', + '>', + '>=', + '<', + '<=', + '<<', + '>>', + '+', + '-', + '*', + '/', + '%', + '**', + '~', + '+@', + '-@', + '[]', + '[]=', + '`', + '+=', + '-=', + '*=', + '**=', + '/=', + '^=', + '%=', + '<<=', + '>>=', + '&=', + '&&=', + '||=', + '|=', + ], + brackets: [ + { open: '(', close: ')', token: 'delimiter.parenthesis' }, + { open: '{', close: '}', token: 'delimiter.curly' }, + { open: '[', close: ']', token: 'delimiter.square' }, + ], + symbols: /[=><!~?:&|+\-*\/\^%\.]+/, + escape: /(?:[abefnrstv\\"'\n\r]|[0-7]{1,3}|x[0-9A-Fa-f]{1,2}|u[0-9A-Fa-f]{4})/, + escapes: /\\(?:C\-(@escape|.)|c(@escape|.)|@escape)/, + decpart: /\d(_?\d)*/, + decimal: /0|@decpart/, + delim: /[^a-zA-Z0-9\s\n\r]/, + heredelim: /(?:\w+|'[^']*'|"[^"]*"|`[^`]*`)/, + regexpctl: /[(){}\[\]\$\^|\-*+?\.]/, + regexpesc: /\\(?:[AzZbBdDfnrstvwWn0\\\/]|@regexpctl|c[A-Z]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4})?/, + tokenizer: { + root: [ + [ + /^(\s*)([a-z_]\w*[!?=]?)/, + [ + 'white', + { + cases: { + 'for|until|while': { + token: 'keyword.$2', + next: '@dodecl.$2', + }, + '@declarations': { + token: 'keyword.$2', + next: '@root.$2', + }, + end: { token: 'keyword.$S2', next: '@pop' }, + '@keywords': 'keyword', + '@builtins': 'predefined', + '@default': 'identifier', + }, + }, + ], + ], + [ + /[a-z_]\w*[!?=]?/, + { + cases: { + 'if|unless|while|until': { + token: 'keyword.$0x', + next: '@modifier.$0x', + }, + for: { token: 'keyword.$2', next: '@dodecl.$2' }, + '@linedecls': { token: 'keyword.$0', next: '@root.$0' }, + end: { token: 'keyword.$S2', next: '@pop' }, + '@keywords': 'keyword', + '@builtins': 'predefined', + '@default': 'identifier', + }, + }, + ], + [/[A-Z][\w]*[!?=]?/, 'constructor.identifier'], + [/\$[\w]*/, 'global.constant'], + [/@[\w]*/, 'namespace.instance.identifier'], + [/@@[\w]*/, 'namespace.class.identifier'], + [ + /<<[-~](@heredelim).*/, + { token: 'string.heredoc.delimiter', next: '@heredoc.$1' }, + ], + [ + /[ \t\r\n]+<<(@heredelim).*/, + { token: 'string.heredoc.delimiter', next: '@heredoc.$1' }, + ], + [ + /^<<(@heredelim).*/, + { token: 'string.heredoc.delimiter', next: '@heredoc.$1' }, + ], + { include: '@whitespace' }, + [/"/, { token: 'string.d.delim', next: '@dstring.d."' }], + [/'/, { token: 'string.sq.delim', next: '@sstring.sq' }], + [/%([rsqxwW]|Q?)/, { token: '@rematch', next: 'pstring' }], + [/`/, { token: 'string.x.delim', next: '@dstring.x.`' }], + [/:(\w|[$@])\w*[!?=]?/, 'string.s'], + [/:"/, { token: 'string.s.delim', next: '@dstring.s."' }], + [/:'/, { token: 'string.s.delim', next: '@sstring.s' }], + [ + /\/(?=(\\\/|[^\/\n])+\/)/, + { token: 'regexp.delim', next: '@regexp' }, + ], + [/[{}()\[\]]/, '@brackets'], + [ + /@symbols/, + { + cases: { + '@keywordops': 'keyword', + '@operators': 'operator', + '@default': '', + }, + }, + ], + [/[;,]/, 'delimiter'], + [/0[xX][0-9a-fA-F](_?[0-9a-fA-F])*/, 'number.hex'], + [/0[_oO][0-7](_?[0-7])*/, 'number.octal'], + [/0[bB][01](_?[01])*/, 'number.binary'], + [/0[dD]@decpart/, 'number'], + [ + /@decimal((\.@decpart)?([eE][\-+]?@decpart)?)/, + { cases: { $1: 'number.float', '@default': 'number' } }, + ], + ], + dodecl: [ + [/^/, { token: '', switchTo: '@root.$S2' }], + [ + /[a-z_]\w*[!?=]?/, + { + cases: { + end: { token: 'keyword.$S2', next: '@pop' }, + do: { token: 'keyword', switchTo: '@root.$S2' }, + '@linedecls': { token: '@rematch', switchTo: '@root.$S2' }, + '@keywords': 'keyword', + '@builtins': 'predefined', + '@default': 'identifier', + }, + }, + ], + { include: '@root' }, + ], + modifier: [ + [/^/, '', '@pop'], + [ + /[a-z_]\w*[!?=]?/, + { + cases: { + end: { token: 'keyword.$S2', next: '@pop' }, + 'then|else|elsif|do': { + token: 'keyword', + switchTo: '@root.$S2', + }, + '@linedecls': { token: '@rematch', switchTo: '@root.$S2' }, + '@keywords': 'keyword', + '@builtins': 'predefined', + '@default': 'identifier', + }, + }, + ], + { include: '@root' }, + ], + sstring: [ + [/[^\\']+/, 'string.$S2'], + [/\\\\|\\'|\\$/, 'string.$S2.escape'], + [/\\./, 'string.$S2.invalid'], + [/'/, { token: 'string.$S2.delim', next: '@pop' }], + ], + dstring: [ + [/[^\\`"#]+/, 'string.$S2'], + [/#/, 'string.$S2.escape', '@interpolated'], + [/\\$/, 'string.$S2.escape'], + [/@escapes/, 'string.$S2.escape'], + [/\\./, 'string.$S2.escape.invalid'], + [ + /[`"]/, + { + cases: { + '$#==$S3': { token: 'string.$S2.delim', next: '@pop' }, + '@default': 'string.$S2', + }, + }, + ], + ], + heredoc: [ + [ + /^(\s*)(@heredelim)$/, + { + cases: { + '$2==$S2': [ + 'string.heredoc', + { token: 'string.heredoc.delimiter', next: '@pop' }, + ], + '@default': ['string.heredoc', 'string.heredoc'], + }, + }, + ], + [/.*/, 'string.heredoc'], + ], + interpolated: [ + [/\$\w*/, 'global.constant', '@pop'], + [/@\w*/, 'namespace.class.identifier', '@pop'], + [/@@\w*/, 'namespace.instance.identifier', '@pop'], + [ + /[{]/, + { + token: 'string.escape.curly', + switchTo: '@interpolated_compound', + }, + ], + ['', '', '@pop'], + ], + interpolated_compound: [ + [/[}]/, { token: 'string.escape.curly', next: '@pop' }], + { include: '@root' }, + ], + pregexp: [ + { include: '@whitespace' }, + [ + /[^\(\{\[\\]/, + { + cases: { + '$#==$S3': { token: 'regexp.delim', next: '@pop' }, + '$#==$S2': { token: 'regexp.delim', next: '@push' }, + '~[)}\\]]': '@brackets.regexp.escape.control', + '~@regexpctl': 'regexp.escape.control', + '@default': 'regexp', + }, + }, + ], + { include: '@regexcontrol' }, + ], + regexp: [ + { include: '@regexcontrol' }, + [/[^\\\/]/, 'regexp'], + ['/[ixmp]*', { token: 'regexp.delim' }, '@pop'], + ], + regexcontrol: [ + [ + /(\{)(\d+(?:,\d*)?)(\})/, + [ + '@brackets.regexp.escape.control', + 'regexp.escape.control', + '@brackets.regexp.escape.control', + ], + ], + [ + /(\[)(\^?)/, + [ + '@brackets.regexp.escape.control', + { token: 'regexp.escape.control', next: '@regexrange' }, + ], + ], + [ + /(\()(\?[:=!])/, + ['@brackets.regexp.escape.control', 'regexp.escape.control'], + ], + [ + /\(\?#/, + { token: 'regexp.escape.control', next: '@regexpcomment' }, + ], + [/[()]/, '@brackets.regexp.escape.control'], + [/@regexpctl/, 'regexp.escape.control'], + [/\\$/, 'regexp.escape'], + [/@regexpesc/, 'regexp.escape'], + [/\\\./, 'regexp.invalid'], + [/#/, 'regexp.escape', '@interpolated'], + ], + regexrange: [ + [/-/, 'regexp.escape.control'], + [/\^/, 'regexp.invalid'], + [/\\$/, 'regexp.escape'], + [/@regexpesc/, 'regexp.escape'], + [/[^\]]/, 'regexp'], + [/\]/, '@brackets.regexp.escape.control', '@pop'], + ], + regexpcomment: [ + [/[^)]+/, 'comment'], + [/\)/, { token: 'regexp.escape.control', next: '@pop' }], + ], + pstring: [ + [ + /%([qws])\(/, + { token: 'string.$1.delim', switchTo: '@qstring.$1.(.)' }, + ], + [ + /%([qws])\[/, + { token: 'string.$1.delim', switchTo: '@qstring.$1.[.]' }, + ], + [ + /%([qws])\{/, + { token: 'string.$1.delim', switchTo: '@qstring.$1.{.}' }, + ], + [ + /%([qws])</, + { token: 'string.$1.delim', switchTo: '@qstring.$1.<.>' }, + ], + [ + /%([qws])(@delim)/, + { token: 'string.$1.delim', switchTo: '@qstring.$1.$2.$2' }, + ], + [/%r\(/, { token: 'regexp.delim', switchTo: '@pregexp.(.)' }], + [/%r\[/, { token: 'regexp.delim', switchTo: '@pregexp.[.]' }], + [/%r\{/, { token: 'regexp.delim', switchTo: '@pregexp.{.}' }], + [/%r</, { token: 'regexp.delim', switchTo: '@pregexp.<.>' }], + [ + /%r(@delim)/, + { token: 'regexp.delim', switchTo: '@pregexp.$1.$1' }, + ], + [ + /%(x|W|Q?)\(/, + { token: 'string.$1.delim', switchTo: '@qqstring.$1.(.)' }, + ], + [ + /%(x|W|Q?)\[/, + { token: 'string.$1.delim', switchTo: '@qqstring.$1.[.]' }, + ], + [ + /%(x|W|Q?)\{/, + { token: 'string.$1.delim', switchTo: '@qqstring.$1.{.}' }, + ], + [ + /%(x|W|Q?)</, + { token: 'string.$1.delim', switchTo: '@qqstring.$1.<.>' }, + ], + [ + /%(x|W|Q?)(@delim)/, + { token: 'string.$1.delim', switchTo: '@qqstring.$1.$2.$2' }, + ], + [/%([rqwsxW]|Q?)./, { token: 'invalid', next: '@pop' }], + [/./, { token: 'invalid', next: '@pop' }], + ], + qstring: [ + [/\\$/, 'string.$S2.escape'], + [/\\./, 'string.$S2.escape'], + [ + /./, + { + cases: { + '$#==$S4': { token: 'string.$S2.delim', next: '@pop' }, + '$#==$S3': { token: 'string.$S2.delim', next: '@push' }, + '@default': 'string.$S2', + }, + }, + ], + ], + qqstring: [ + [/#/, 'string.$S2.escape', '@interpolated'], + { include: '@qstring' }, + ], + whitespace: [ + [/[ \t\r\n]+/, ''], + [/^\s*=begin\b/, 'comment', '@comment'], + [/#.*$/, 'comment'], + ], + comment: [ + [/[^=]+/, 'comment'], + [/^\s*=begin\b/, 'comment.invalid'], + [/^\s*=end\b.*/, 'comment', '@pop'], + [/[=]/, 'comment'], + ], + }, + }; + }, + }, +]); diff --git a/docs/9907.9907.js b/docs/9907.9907.js new file mode 100644 index 00000000..1f71225b --- /dev/null +++ b/docs/9907.9907.js @@ -0,0 +1,370 @@ +(self.webpackChunkmermaid_live_editor = + self.webpackChunkmermaid_live_editor || []).push([ + [9907], + { + 39907: (e, n, t) => { + 'use strict'; + t.r(n), t.d(n, { conf: () => o, language: () => r }); + var o = { + comments: { lineComment: "'", blockComment: ['/*', '*/'] }, + brackets: [ + ['{', '}'], + ['[', ']'], + ['(', ')'], + ['<', '>'], + ['addhandler', 'end addhandler'], + ['class', 'end class'], + ['enum', 'end enum'], + ['event', 'end event'], + ['function', 'end function'], + ['get', 'end get'], + ['if', 'end if'], + ['interface', 'end interface'], + ['module', 'end module'], + ['namespace', 'end namespace'], + ['operator', 'end operator'], + ['property', 'end property'], + ['raiseevent', 'end raiseevent'], + ['removehandler', 'end removehandler'], + ['select', 'end select'], + ['set', 'end set'], + ['structure', 'end structure'], + ['sub', 'end sub'], + ['synclock', 'end synclock'], + ['try', 'end try'], + ['while', 'end while'], + ['with', 'end with'], + ['using', 'end using'], + ['do', 'loop'], + ['for', 'next'], + ], + autoClosingPairs: [ + { open: '{', close: '}', notIn: ['string', 'comment'] }, + { open: '[', close: ']', notIn: ['string', 'comment'] }, + { open: '(', close: ')', notIn: ['string', 'comment'] }, + { open: '"', close: '"', notIn: ['string', 'comment'] }, + { open: '<', close: '>', notIn: ['string', 'comment'] }, + ], + folding: { + markers: { + start: new RegExp('^\\s*#Region\\b'), + end: new RegExp('^\\s*#End Region\\b'), + }, + }, + }, + r = { + defaultToken: '', + tokenPostfix: '.vb', + ignoreCase: !0, + brackets: [ + { token: 'delimiter.bracket', open: '{', close: '}' }, + { token: 'delimiter.array', open: '[', close: ']' }, + { token: 'delimiter.parenthesis', open: '(', close: ')' }, + { token: 'delimiter.angle', open: '<', close: '>' }, + { + token: 'keyword.tag-addhandler', + open: 'addhandler', + close: 'end addhandler', + }, + { token: 'keyword.tag-class', open: 'class', close: 'end class' }, + { token: 'keyword.tag-enum', open: 'enum', close: 'end enum' }, + { token: 'keyword.tag-event', open: 'event', close: 'end event' }, + { + token: 'keyword.tag-function', + open: 'function', + close: 'end function', + }, + { token: 'keyword.tag-get', open: 'get', close: 'end get' }, + { token: 'keyword.tag-if', open: 'if', close: 'end if' }, + { + token: 'keyword.tag-interface', + open: 'interface', + close: 'end interface', + }, + { + token: 'keyword.tag-module', + open: 'module', + close: 'end module', + }, + { + token: 'keyword.tag-namespace', + open: 'namespace', + close: 'end namespace', + }, + { + token: 'keyword.tag-operator', + open: 'operator', + close: 'end operator', + }, + { + token: 'keyword.tag-property', + open: 'property', + close: 'end property', + }, + { + token: 'keyword.tag-raiseevent', + open: 'raiseevent', + close: 'end raiseevent', + }, + { + token: 'keyword.tag-removehandler', + open: 'removehandler', + close: 'end removehandler', + }, + { + token: 'keyword.tag-select', + open: 'select', + close: 'end select', + }, + { token: 'keyword.tag-set', open: 'set', close: 'end set' }, + { + token: 'keyword.tag-structure', + open: 'structure', + close: 'end structure', + }, + { token: 'keyword.tag-sub', open: 'sub', close: 'end sub' }, + { + token: 'keyword.tag-synclock', + open: 'synclock', + close: 'end synclock', + }, + { token: 'keyword.tag-try', open: 'try', close: 'end try' }, + { token: 'keyword.tag-while', open: 'while', close: 'end while' }, + { token: 'keyword.tag-with', open: 'with', close: 'end with' }, + { token: 'keyword.tag-using', open: 'using', close: 'end using' }, + { token: 'keyword.tag-do', open: 'do', close: 'loop' }, + { token: 'keyword.tag-for', open: 'for', close: 'next' }, + ], + keywords: [ + 'AddHandler', + 'AddressOf', + 'Alias', + 'And', + 'AndAlso', + 'As', + 'Async', + 'Boolean', + 'ByRef', + 'Byte', + 'ByVal', + 'Call', + 'Case', + 'Catch', + 'CBool', + 'CByte', + 'CChar', + 'CDate', + 'CDbl', + 'CDec', + 'Char', + 'CInt', + 'Class', + 'CLng', + 'CObj', + 'Const', + 'Continue', + 'CSByte', + 'CShort', + 'CSng', + 'CStr', + 'CType', + 'CUInt', + 'CULng', + 'CUShort', + 'Date', + 'Decimal', + 'Declare', + 'Default', + 'Delegate', + 'Dim', + 'DirectCast', + 'Do', + 'Double', + 'Each', + 'Else', + 'ElseIf', + 'End', + 'EndIf', + 'Enum', + 'Erase', + 'Error', + 'Event', + 'Exit', + 'False', + 'Finally', + 'For', + 'Friend', + 'Function', + 'Get', + 'GetType', + 'GetXMLNamespace', + 'Global', + 'GoSub', + 'GoTo', + 'Handles', + 'If', + 'Implements', + 'Imports', + 'In', + 'Inherits', + 'Integer', + 'Interface', + 'Is', + 'IsNot', + 'Let', + 'Lib', + 'Like', + 'Long', + 'Loop', + 'Me', + 'Mod', + 'Module', + 'MustInherit', + 'MustOverride', + 'MyBase', + 'MyClass', + 'NameOf', + 'Namespace', + 'Narrowing', + 'New', + 'Next', + 'Not', + 'Nothing', + 'NotInheritable', + 'NotOverridable', + 'Object', + 'Of', + 'On', + 'Operator', + 'Option', + 'Optional', + 'Or', + 'OrElse', + 'Out', + 'Overloads', + 'Overridable', + 'Overrides', + 'ParamArray', + 'Partial', + 'Private', + 'Property', + 'Protected', + 'Public', + 'RaiseEvent', + 'ReadOnly', + 'ReDim', + 'RemoveHandler', + 'Resume', + 'Return', + 'SByte', + 'Select', + 'Set', + 'Shadows', + 'Shared', + 'Short', + 'Single', + 'Static', + 'Step', + 'Stop', + 'String', + 'Structure', + 'Sub', + 'SyncLock', + 'Then', + 'Throw', + 'To', + 'True', + 'Try', + 'TryCast', + 'TypeOf', + 'UInteger', + 'ULong', + 'UShort', + 'Using', + 'Variant', + 'Wend', + 'When', + 'While', + 'Widening', + 'With', + 'WithEvents', + 'WriteOnly', + 'Xor', + ], + tagwords: [ + 'If', + 'Sub', + 'Select', + 'Try', + 'Class', + 'Enum', + 'Function', + 'Get', + 'Interface', + 'Module', + 'Namespace', + 'Operator', + 'Set', + 'Structure', + 'Using', + 'While', + 'With', + 'Do', + 'Loop', + 'For', + 'Next', + 'Property', + 'Continue', + 'AddHandler', + 'RemoveHandler', + 'Event', + 'RaiseEvent', + 'SyncLock', + ], + symbols: /[=><!~?;\.,:&|+\-*\/\^%]+/, + integersuffix: /U?[DI%L&S@]?/, + floatsuffix: /[R#F!]?/, + tokenizer: { + root: [ + { include: '@whitespace' }, + [/next(?!\w)/, { token: 'keyword.tag-for' }], + [/loop(?!\w)/, { token: 'keyword.tag-do' }], + [ + /end\s+(?!for|do)(addhandler|class|enum|event|function|get|if|interface|module|namespace|operator|property|raiseevent|removehandler|select|set|structure|sub|synclock|try|while|with|using)/, + { token: 'keyword.tag-$1' }, + ], + [ + /[a-zA-Z_]\w*/, + { + cases: { + '@tagwords': { token: 'keyword.tag-$0' }, + '@keywords': { token: 'keyword.$0' }, + '@default': 'identifier', + }, + }, + ], + [/^\s*#\w+/, 'keyword'], + [/\d*\d+e([\-+]?\d+)?(@floatsuffix)/, 'number.float'], + [/\d*\.\d+(e[\-+]?\d+)?(@floatsuffix)/, 'number.float'], + [/&H[0-9a-f]+(@integersuffix)/, 'number.hex'], + [/&0[0-7]+(@integersuffix)/, 'number.octal'], + [/\d+(@integersuffix)/, 'number'], + [/#.*#/, 'number'], + [/[{}()\[\]]/, '@brackets'], + [/@symbols/, 'delimiter'], + [/["\u201c\u201d]/, { token: 'string.quote', next: '@string' }], + ], + whitespace: [ + [/[ \t\r\n]+/, ''], + [/(\'|REM(?!\w)).*$/, 'comment'], + ], + string: [ + [/[^"\u201c\u201d]+/, 'string'], + [/["\u201c\u201d]{2}/, 'string.escape'], + [/["\u201c\u201d]C?/, { token: 'string.quote', next: '@pop' }], + ], + }, + }; + }, + }, +]); diff --git a/docs/996.996.js b/docs/996.996.js new file mode 100644 index 00000000..7ac3e3ba --- /dev/null +++ b/docs/996.996.js @@ -0,0 +1,1349 @@ +(self.webpackChunkmermaid_live_editor = + self.webpackChunkmermaid_live_editor || []).push([ + [996], + { + 20996: (_, e, E) => { + 'use strict'; + E.r(e), E.d(e, { conf: () => t, language: () => T }); + var t = { + comments: { lineComment: '--', blockComment: ['/*', '*/'] }, + brackets: [ + ['{', '}'], + ['[', ']'], + ['(', ')'], + ], + autoClosingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"' }, + { open: "'", close: "'" }, + ], + surroundingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '"', close: '"' }, + { open: "'", close: "'" }, + ], + }, + T = { + defaultToken: '', + tokenPostfix: '.sql', + ignoreCase: !0, + brackets: [ + { open: '[', close: ']', token: 'delimiter.square' }, + { open: '(', close: ')', token: 'delimiter.parenthesis' }, + ], + keywords: [ + 'A', + 'ABORT', + 'ABS', + 'ABSENT', + 'ABSOLUTE', + 'ACCESS', + 'ACCORDING', + 'ACTION', + 'ADA', + 'ADD', + 'ADMIN', + 'AFTER', + 'AGGREGATE', + 'ALL', + 'ALLOCATE', + 'ALSO', + 'ALTER', + 'ALWAYS', + 'ANALYSE', + 'ANALYZE', + 'AND', + 'ANY', + 'ARE', + 'ARRAY', + 'ARRAY_AGG', + 'ARRAY_MAX_CARDINALITY', + 'AS', + 'ASC', + 'ASENSITIVE', + 'ASSERTION', + 'ASSIGNMENT', + 'ASYMMETRIC', + 'AT', + 'ATOMIC', + 'ATTRIBUTE', + 'ATTRIBUTES', + 'AUTHORIZATION', + 'AVG', + 'BACKWARD', + 'BASE64', + 'BEFORE', + 'BEGIN', + 'BEGIN_FRAME', + 'BEGIN_PARTITION', + 'BERNOULLI', + 'BETWEEN', + 'BIGINT', + 'BINARY', + 'BIT', + 'BIT_LENGTH', + 'BLOB', + 'BLOCKED', + 'BOM', + 'BOOLEAN', + 'BOTH', + 'BREADTH', + 'BY', + 'C', + 'CACHE', + 'CALL', + 'CALLED', + 'CARDINALITY', + 'CASCADE', + 'CASCADED', + 'CASE', + 'CAST', + 'CATALOG', + 'CATALOG_NAME', + 'CEIL', + 'CEILING', + 'CHAIN', + 'CHAR', + 'CHARACTER', + 'CHARACTERISTICS', + 'CHARACTERS', + 'CHARACTER_LENGTH', + 'CHARACTER_SET_CATALOG', + 'CHARACTER_SET_NAME', + 'CHARACTER_SET_SCHEMA', + 'CHAR_LENGTH', + 'CHECK', + 'CHECKPOINT', + 'CLASS', + 'CLASS_ORIGIN', + 'CLOB', + 'CLOSE', + 'CLUSTER', + 'COALESCE', + 'COBOL', + 'COLLATE', + 'COLLATION', + 'COLLATION_CATALOG', + 'COLLATION_NAME', + 'COLLATION_SCHEMA', + 'COLLECT', + 'COLUMN', + 'COLUMNS', + 'COLUMN_NAME', + 'COMMAND_FUNCTION', + 'COMMAND_FUNCTION_CODE', + 'COMMENT', + 'COMMENTS', + 'COMMIT', + 'COMMITTED', + 'CONCURRENTLY', + 'CONDITION', + 'CONDITION_NUMBER', + 'CONFIGURATION', + 'CONFLICT', + 'CONNECT', + 'CONNECTION', + 'CONNECTION_NAME', + 'CONSTRAINT', + 'CONSTRAINTS', + 'CONSTRAINT_CATALOG', + 'CONSTRAINT_NAME', + 'CONSTRAINT_SCHEMA', + 'CONSTRUCTOR', + 'CONTAINS', + 'CONTENT', + 'CONTINUE', + 'CONTROL', + 'CONVERSION', + 'CONVERT', + 'COPY', + 'CORR', + 'CORRESPONDING', + 'COST', + 'COUNT', + 'COVAR_POP', + 'COVAR_SAMP', + 'CREATE', + 'CROSS', + 'CSV', + 'CUBE', + 'CUME_DIST', + 'CURRENT', + 'CURRENT_CATALOG', + 'CURRENT_DATE', + 'CURRENT_DEFAULT_TRANSFORM_GROUP', + 'CURRENT_PATH', + 'CURRENT_ROLE', + 'CURRENT_ROW', + 'CURRENT_SCHEMA', + 'CURRENT_TIME', + 'CURRENT_TIMESTAMP', + 'CURRENT_TRANSFORM_GROUP_FOR_TYPE', + 'CURRENT_USER', + 'CURSOR', + 'CURSOR_NAME', + 'CYCLE', + 'DATA', + 'DATABASE', + 'DATALINK', + 'DATE', + 'DATETIME_INTERVAL_CODE', + 'DATETIME_INTERVAL_PRECISION', + 'DAY', + 'DB', + 'DEALLOCATE', + 'DEC', + 'DECIMAL', + 'DECLARE', + 'DEFAULT', + 'DEFAULTS', + 'DEFERRABLE', + 'DEFERRED', + 'DEFINED', + 'DEFINER', + 'DEGREE', + 'DELETE', + 'DELIMITER', + 'DELIMITERS', + 'DENSE_RANK', + 'DEPENDS', + 'DEPTH', + 'DEREF', + 'DERIVED', + 'DESC', + 'DESCRIBE', + 'DESCRIPTOR', + 'DETERMINISTIC', + 'DIAGNOSTICS', + 'DICTIONARY', + 'DISABLE', + 'DISCARD', + 'DISCONNECT', + 'DISPATCH', + 'DISTINCT', + 'DLNEWCOPY', + 'DLPREVIOUSCOPY', + 'DLURLCOMPLETE', + 'DLURLCOMPLETEONLY', + 'DLURLCOMPLETEWRITE', + 'DLURLPATH', + 'DLURLPATHONLY', + 'DLURLPATHWRITE', + 'DLURLSCHEME', + 'DLURLSERVER', + 'DLVALUE', + 'DO', + 'DOCUMENT', + 'DOMAIN', + 'DOUBLE', + 'DROP', + 'DYNAMIC', + 'DYNAMIC_FUNCTION', + 'DYNAMIC_FUNCTION_CODE', + 'EACH', + 'ELEMENT', + 'ELSE', + 'EMPTY', + 'ENABLE', + 'ENCODING', + 'ENCRYPTED', + 'END', + 'END-EXEC', + 'END_FRAME', + 'END_PARTITION', + 'ENFORCED', + 'ENUM', + 'EQUALS', + 'ESCAPE', + 'EVENT', + 'EVERY', + 'EXCEPT', + 'EXCEPTION', + 'EXCLUDE', + 'EXCLUDING', + 'EXCLUSIVE', + 'EXEC', + 'EXECUTE', + 'EXISTS', + 'EXP', + 'EXPLAIN', + 'EXPRESSION', + 'EXTENSION', + 'EXTERNAL', + 'EXTRACT', + 'FALSE', + 'FAMILY', + 'FETCH', + 'FILE', + 'FILTER', + 'FINAL', + 'FIRST', + 'FIRST_VALUE', + 'FLAG', + 'FLOAT', + 'FLOOR', + 'FOLLOWING', + 'FOR', + 'FORCE', + 'FOREIGN', + 'FORTRAN', + 'FORWARD', + 'FOUND', + 'FRAME_ROW', + 'FREE', + 'FREEZE', + 'FROM', + 'FS', + 'FULL', + 'FUNCTION', + 'FUNCTIONS', + 'FUSION', + 'G', + 'GENERAL', + 'GENERATED', + 'GET', + 'GLOBAL', + 'GO', + 'GOTO', + 'GRANT', + 'GRANTED', + 'GREATEST', + 'GROUP', + 'GROUPING', + 'GROUPS', + 'HANDLER', + 'HAVING', + 'HEADER', + 'HEX', + 'HIERARCHY', + 'HOLD', + 'HOUR', + 'ID', + 'IDENTITY', + 'IF', + 'IGNORE', + 'ILIKE', + 'IMMEDIATE', + 'IMMEDIATELY', + 'IMMUTABLE', + 'IMPLEMENTATION', + 'IMPLICIT', + 'IMPORT', + 'IN', + 'INCLUDING', + 'INCREMENT', + 'INDENT', + 'INDEX', + 'INDEXES', + 'INDICATOR', + 'INHERIT', + 'INHERITS', + 'INITIALLY', + 'INLINE', + 'INNER', + 'INOUT', + 'INPUT', + 'INSENSITIVE', + 'INSERT', + 'INSTANCE', + 'INSTANTIABLE', + 'INSTEAD', + 'INT', + 'INTEGER', + 'INTEGRITY', + 'INTERSECT', + 'INTERSECTION', + 'INTERVAL', + 'INTO', + 'INVOKER', + 'IS', + 'ISNULL', + 'ISOLATION', + 'JOIN', + 'K', + 'KEY', + 'KEY_MEMBER', + 'KEY_TYPE', + 'LABEL', + 'LAG', + 'LANGUAGE', + 'LARGE', + 'LAST', + 'LAST_VALUE', + 'LATERAL', + 'LEAD', + 'LEADING', + 'LEAKPROOF', + 'LEAST', + 'LEFT', + 'LENGTH', + 'LEVEL', + 'LIBRARY', + 'LIKE', + 'LIKE_REGEX', + 'LIMIT', + 'LINK', + 'LISTEN', + 'LN', + 'LOAD', + 'LOCAL', + 'LOCALTIME', + 'LOCALTIMESTAMP', + 'LOCATION', + 'LOCATOR', + 'LOCK', + 'LOCKED', + 'LOGGED', + 'LOWER', + 'M', + 'MAP', + 'MAPPING', + 'MATCH', + 'MATCHED', + 'MATERIALIZED', + 'MAX', + 'MAXVALUE', + 'MAX_CARDINALITY', + 'MEMBER', + 'MERGE', + 'MESSAGE_LENGTH', + 'MESSAGE_OCTET_LENGTH', + 'MESSAGE_TEXT', + 'METHOD', + 'MIN', + 'MINUTE', + 'MINVALUE', + 'MOD', + 'MODE', + 'MODIFIES', + 'MODULE', + 'MONTH', + 'MORE', + 'MOVE', + 'MULTISET', + 'MUMPS', + 'NAME', + 'NAMES', + 'NAMESPACE', + 'NATIONAL', + 'NATURAL', + 'NCHAR', + 'NCLOB', + 'NESTING', + 'NEW', + 'NEXT', + 'NFC', + 'NFD', + 'NFKC', + 'NFKD', + 'NIL', + 'NO', + 'NONE', + 'NORMALIZE', + 'NORMALIZED', + 'NOT', + 'NOTHING', + 'NOTIFY', + 'NOTNULL', + 'NOWAIT', + 'NTH_VALUE', + 'NTILE', + 'NULL', + 'NULLABLE', + 'NULLIF', + 'NULLS', + 'NUMBER', + 'NUMERIC', + 'OBJECT', + 'OCCURRENCES_REGEX', + 'OCTETS', + 'OCTET_LENGTH', + 'OF', + 'OFF', + 'OFFSET', + 'OIDS', + 'OLD', + 'ON', + 'ONLY', + 'OPEN', + 'OPERATOR', + 'OPTION', + 'OPTIONS', + 'OR', + 'ORDER', + 'ORDERING', + 'ORDINALITY', + 'OTHERS', + 'OUT', + 'OUTER', + 'OUTPUT', + 'OVER', + 'OVERLAPS', + 'OVERLAY', + 'OVERRIDING', + 'OWNED', + 'OWNER', + 'P', + 'PAD', + 'PARALLEL', + 'PARAMETER', + 'PARAMETER_MODE', + 'PARAMETER_NAME', + 'PARAMETER_ORDINAL_POSITION', + 'PARAMETER_SPECIFIC_CATALOG', + 'PARAMETER_SPECIFIC_NAME', + 'PARAMETER_SPECIFIC_SCHEMA', + 'PARSER', + 'PARTIAL', + 'PARTITION', + 'PASCAL', + 'PASSING', + 'PASSTHROUGH', + 'PASSWORD', + 'PATH', + 'PERCENT', + 'PERCENTILE_CONT', + 'PERCENTILE_DISC', + 'PERCENT_RANK', + 'PERIOD', + 'PERMISSION', + 'PLACING', + 'PLANS', + 'PLI', + 'POLICY', + 'PORTION', + 'POSITION', + 'POSITION_REGEX', + 'POWER', + 'PRECEDES', + 'PRECEDING', + 'PRECISION', + 'PREPARE', + 'PREPARED', + 'PRESERVE', + 'PRIMARY', + 'PRIOR', + 'PRIVILEGES', + 'PROCEDURAL', + 'PROCEDURE', + 'PROGRAM', + 'PUBLIC', + 'QUOTE', + 'RANGE', + 'RANK', + 'READ', + 'READS', + 'REAL', + 'REASSIGN', + 'RECHECK', + 'RECOVERY', + 'RECURSIVE', + 'REF', + 'REFERENCES', + 'REFERENCING', + 'REFRESH', + 'REGR_AVGX', + 'REGR_AVGY', + 'REGR_COUNT', + 'REGR_INTERCEPT', + 'REGR_R2', + 'REGR_SLOPE', + 'REGR_SXX', + 'REGR_SXY', + 'REGR_SYY', + 'REINDEX', + 'RELATIVE', + 'RELEASE', + 'RENAME', + 'REPEATABLE', + 'REPLACE', + 'REPLICA', + 'REQUIRING', + 'RESET', + 'RESPECT', + 'RESTART', + 'RESTORE', + 'RESTRICT', + 'RESULT', + 'RETURN', + 'RETURNED_CARDINALITY', + 'RETURNED_LENGTH', + 'RETURNED_OCTET_LENGTH', + 'RETURNED_SQLSTATE', + 'RETURNING', + 'RETURNS', + 'REVOKE', + 'RIGHT', + 'ROLE', + 'ROLLBACK', + 'ROLLUP', + 'ROUTINE', + 'ROUTINE_CATALOG', + 'ROUTINE_NAME', + 'ROUTINE_SCHEMA', + 'ROW', + 'ROWS', + 'ROW_COUNT', + 'ROW_NUMBER', + 'RULE', + 'SAVEPOINT', + 'SCALE', + 'SCHEMA', + 'SCHEMA_NAME', + 'SCOPE', + 'SCOPE_CATALOG', + 'SCOPE_NAME', + 'SCOPE_SCHEMA', + 'SCROLL', + 'SEARCH', + 'SECOND', + 'SECTION', + 'SECURITY', + 'SELECT', + 'SELECTIVE', + 'SELF', + 'SENSITIVE', + 'SEQUENCE', + 'SEQUENCES', + 'SERIALIZABLE', + 'SERVER', + 'SERVER_NAME', + 'SESSION', + 'SESSION_USER', + 'SET', + 'SETOF', + 'SETS', + 'SHARE', + 'SHOW', + 'SIMILAR', + 'SIMPLE', + 'SIZE', + 'SKIP', + 'SMALLINT', + 'SNAPSHOT', + 'SOME', + 'SOURCE', + 'SPACE', + 'SPECIFIC', + 'SPECIFICTYPE', + 'SPECIFIC_NAME', + 'SQL', + 'SQLCODE', + 'SQLERROR', + 'SQLEXCEPTION', + 'SQLSTATE', + 'SQLWARNING', + 'SQRT', + 'STABLE', + 'STANDALONE', + 'START', + 'STATE', + 'STATEMENT', + 'STATIC', + 'STATISTICS', + 'STDDEV_POP', + 'STDDEV_SAMP', + 'STDIN', + 'STDOUT', + 'STORAGE', + 'STRICT', + 'STRIP', + 'STRUCTURE', + 'STYLE', + 'SUBCLASS_ORIGIN', + 'SUBMULTISET', + 'SUBSTRING', + 'SUBSTRING_REGEX', + 'SUCCEEDS', + 'SUM', + 'SYMMETRIC', + 'SYSID', + 'SYSTEM', + 'SYSTEM_TIME', + 'SYSTEM_USER', + 'T', + 'TABLE', + 'TABLES', + 'TABLESAMPLE', + 'TABLESPACE', + 'TABLE_NAME', + 'TEMP', + 'TEMPLATE', + 'TEMPORARY', + 'TEXT', + 'THEN', + 'TIES', + 'TIME', + 'TIMESTAMP', + 'TIMEZONE_HOUR', + 'TIMEZONE_MINUTE', + 'TO', + 'TOKEN', + 'TOP_LEVEL_COUNT', + 'TRAILING', + 'TRANSACTION', + 'TRANSACTIONS_COMMITTED', + 'TRANSACTIONS_ROLLED_BACK', + 'TRANSACTION_ACTIVE', + 'TRANSFORM', + 'TRANSFORMS', + 'TRANSLATE', + 'TRANSLATE_REGEX', + 'TRANSLATION', + 'TREAT', + 'TRIGGER', + 'TRIGGER_CATALOG', + 'TRIGGER_NAME', + 'TRIGGER_SCHEMA', + 'TRIM', + 'TRIM_ARRAY', + 'TRUE', + 'TRUNCATE', + 'TRUSTED', + 'TYPE', + 'TYPES', + 'UESCAPE', + 'UNBOUNDED', + 'UNCOMMITTED', + 'UNDER', + 'UNENCRYPTED', + 'UNION', + 'UNIQUE', + 'UNKNOWN', + 'UNLINK', + 'UNLISTEN', + 'UNLOGGED', + 'UNNAMED', + 'UNNEST', + 'UNTIL', + 'UNTYPED', + 'UPDATE', + 'UPPER', + 'URI', + 'USAGE', + 'USER', + 'USER_DEFINED_TYPE_CATALOG', + 'USER_DEFINED_TYPE_CODE', + 'USER_DEFINED_TYPE_NAME', + 'USER_DEFINED_TYPE_SCHEMA', + 'USING', + 'VACUUM', + 'VALID', + 'VALIDATE', + 'VALIDATOR', + 'VALUE', + 'VALUES', + 'VALUE_OF', + 'VARBINARY', + 'VARCHAR', + 'VARIADIC', + 'VARYING', + 'VAR_POP', + 'VAR_SAMP', + 'VERBOSE', + 'VERSION', + 'VERSIONING', + 'VIEW', + 'VIEWS', + 'VOLATILE', + 'WHEN', + 'WHENEVER', + 'WHERE', + 'WHITESPACE', + 'WIDTH_BUCKET', + 'WINDOW', + 'WITH', + 'WITHIN', + 'WITHOUT', + 'WORK', + 'WRAPPER', + 'WRITE', + 'XML', + 'XMLAGG', + 'XMLATTRIBUTES', + 'XMLBINARY', + 'XMLCAST', + 'XMLCOMMENT', + 'XMLCONCAT', + 'XMLDECLARATION', + 'XMLDOCUMENT', + 'XMLELEMENT', + 'XMLEXISTS', + 'XMLFOREST', + 'XMLITERATE', + 'XMLNAMESPACES', + 'XMLPARSE', + 'XMLPI', + 'XMLQUERY', + 'XMLROOT', + 'XMLSCHEMA', + 'XMLSERIALIZE', + 'XMLTABLE', + 'XMLTEXT', + 'XMLVALIDATE', + 'YEAR', + 'YES', + 'ZONE', + ], + operators: [ + 'AND', + 'BETWEEN', + 'IN', + 'LIKE', + 'NOT', + 'OR', + 'IS', + 'NULL', + 'INTERSECT', + 'UNION', + 'INNER', + 'JOIN', + 'LEFT', + 'OUTER', + 'RIGHT', + ], + builtinFunctions: [ + 'abbrev', + 'abs', + 'acos', + 'acosd', + 'age', + 'any', + 'area', + 'array_agg', + 'array_append', + 'array_cat', + 'array_dims', + 'array_fill', + 'array_length', + 'array_lower', + 'array_ndims', + 'array_position', + 'array_positions', + 'array_prepend', + 'array_remove', + 'array_replace', + 'array_to_json', + 'array_to_string', + 'array_to_tsvector', + 'array_upper', + 'ascii', + 'asin', + 'asind', + 'atan', + 'atan2', + 'atan2d', + 'atand', + 'avg', + 'bit', + 'bit_and', + 'bit_length', + 'bit_or', + 'bool_and', + 'bool_or', + 'bound_box', + 'box', + 'brin_summarize_new_values', + 'broadcast', + 'btrim', + 'cardinality', + 'cbrt', + 'ceil', + 'ceiling', + 'center', + 'char_length', + 'character_length', + 'chr', + 'circle', + 'clock_timestamp', + 'coalesce', + 'col_description', + 'concat', + 'concat_ws', + 'convert', + 'convert_from', + 'convert_to', + 'corr', + 'cos', + 'cosd', + 'cot', + 'cotd', + 'count', + 'covar_pop', + 'covar_samp', + 'cume_dist', + 'current_catalog', + 'current_database', + 'current_date', + 'current_query', + 'current_role', + 'current_schema', + 'current_schemas', + 'current_setting', + 'current_time', + 'current_timestamp', + 'current_user', + 'currval', + 'cursor_to_xml', + 'date_part', + 'date_trunc', + 'decode', + 'degrees', + 'dense_rank', + 'diameter', + 'div', + 'encode', + 'enum_first', + 'enum_last', + 'enum_range', + 'every', + 'exp', + 'extract', + 'family', + 'first_value', + 'floor', + 'format', + 'format_type', + 'generate_series', + 'generate_subscripts', + 'get_bit', + 'get_byte', + 'get_current_ts_config', + 'gin_clean_pending_list', + 'greatest', + 'grouping', + 'has_any_column_privilege', + 'has_column_privilege', + 'has_database_privilege', + 'has_foreign_data_wrapper_privilege', + 'has_function_privilege', + 'has_language_privilege', + 'has_schema_privilege', + 'has_sequence_privilege', + 'has_server_privilege', + 'has_table_privilege', + 'has_tablespace_privilege', + 'has_type_privilege', + 'height', + 'host', + 'hostmask', + 'inet_client_addr', + 'inet_client_port', + 'inet_merge', + 'inet_same_family', + 'inet_server_addr', + 'inet_server_port', + 'initcap', + 'isclosed', + 'isempty', + 'isfinite', + 'isopen', + 'json_agg', + 'json_object', + 'json_object_agg', + 'json_populate_record', + 'json_populate_recordset', + 'json_to_record', + 'json_to_recordset', + 'jsonb_agg', + 'jsonb_object_agg', + 'justify_days', + 'justify_hours', + 'justify_interval', + 'lag', + 'last_value', + 'lastval', + 'lead', + 'least', + 'left', + 'length', + 'line', + 'ln', + 'localtime', + 'localtimestamp', + 'log', + 'lower', + 'lower_inc', + 'lower_inf', + 'lpad', + 'lseg', + 'ltrim', + 'make_date', + 'make_interval', + 'make_time', + 'make_timestamp', + 'make_timestamptz', + 'masklen', + 'max', + 'md5', + 'min', + 'mod', + 'mode', + 'netmask', + 'network', + 'nextval', + 'now', + 'npoints', + 'nth_value', + 'ntile', + 'nullif', + 'num_nonnulls', + 'num_nulls', + 'numnode', + 'obj_description', + 'octet_length', + 'overlay', + 'parse_ident', + 'path', + 'pclose', + 'percent_rank', + 'percentile_cont', + 'percentile_disc', + 'pg_advisory_lock', + 'pg_advisory_lock_shared', + 'pg_advisory_unlock', + 'pg_advisory_unlock_all', + 'pg_advisory_unlock_shared', + 'pg_advisory_xact_lock', + 'pg_advisory_xact_lock_shared', + 'pg_backend_pid', + 'pg_backup_start_time', + 'pg_blocking_pids', + 'pg_cancel_backend', + 'pg_client_encoding', + 'pg_collation_is_visible', + 'pg_column_size', + 'pg_conf_load_time', + 'pg_control_checkpoint', + 'pg_control_init', + 'pg_control_recovery', + 'pg_control_system', + 'pg_conversion_is_visible', + 'pg_create_logical_replication_slot', + 'pg_create_physical_replication_slot', + 'pg_create_restore_point', + 'pg_current_xlog_flush_location', + 'pg_current_xlog_insert_location', + 'pg_current_xlog_location', + 'pg_database_size', + 'pg_describe_object', + 'pg_drop_replication_slot', + 'pg_export_snapshot', + 'pg_filenode_relation', + 'pg_function_is_visible', + 'pg_get_constraintdef', + 'pg_get_expr', + 'pg_get_function_arguments', + 'pg_get_function_identity_arguments', + 'pg_get_function_result', + 'pg_get_functiondef', + 'pg_get_indexdef', + 'pg_get_keywords', + 'pg_get_object_address', + 'pg_get_owned_sequence', + 'pg_get_ruledef', + 'pg_get_serial_sequence', + 'pg_get_triggerdef', + 'pg_get_userbyid', + 'pg_get_viewdef', + 'pg_has_role', + 'pg_identify_object', + 'pg_identify_object_as_address', + 'pg_index_column_has_property', + 'pg_index_has_property', + 'pg_indexam_has_property', + 'pg_indexes_size', + 'pg_is_in_backup', + 'pg_is_in_recovery', + 'pg_is_other_temp_schema', + 'pg_is_xlog_replay_paused', + 'pg_last_committed_xact', + 'pg_last_xact_replay_timestamp', + 'pg_last_xlog_receive_location', + 'pg_last_xlog_replay_location', + 'pg_listening_channels', + 'pg_logical_emit_message', + 'pg_logical_slot_get_binary_changes', + 'pg_logical_slot_get_changes', + 'pg_logical_slot_peek_binary_changes', + 'pg_logical_slot_peek_changes', + 'pg_ls_dir', + 'pg_my_temp_schema', + 'pg_notification_queue_usage', + 'pg_opclass_is_visible', + 'pg_operator_is_visible', + 'pg_opfamily_is_visible', + 'pg_options_to_table', + 'pg_postmaster_start_time', + 'pg_read_binary_file', + 'pg_read_file', + 'pg_relation_filenode', + 'pg_relation_filepath', + 'pg_relation_size', + 'pg_reload_conf', + 'pg_replication_origin_create', + 'pg_replication_origin_drop', + 'pg_replication_origin_oid', + 'pg_replication_origin_progress', + 'pg_replication_origin_session_is_setup', + 'pg_replication_origin_session_progress', + 'pg_replication_origin_session_reset', + 'pg_replication_origin_session_setup', + 'pg_replication_origin_xact_reset', + 'pg_replication_origin_xact_setup', + 'pg_rotate_logfile', + 'pg_size_bytes', + 'pg_size_pretty', + 'pg_sleep', + 'pg_sleep_for', + 'pg_sleep_until', + 'pg_start_backup', + 'pg_stat_file', + 'pg_stop_backup', + 'pg_switch_xlog', + 'pg_table_is_visible', + 'pg_table_size', + 'pg_tablespace_databases', + 'pg_tablespace_location', + 'pg_tablespace_size', + 'pg_terminate_backend', + 'pg_total_relation_size', + 'pg_trigger_depth', + 'pg_try_advisory_lock', + 'pg_try_advisory_lock_shared', + 'pg_try_advisory_xact_lock', + 'pg_try_advisory_xact_lock_shared', + 'pg_ts_config_is_visible', + 'pg_ts_dict_is_visible', + 'pg_ts_parser_is_visible', + 'pg_ts_template_is_visible', + 'pg_type_is_visible', + 'pg_typeof', + 'pg_xact_commit_timestamp', + 'pg_xlog_location_diff', + 'pg_xlog_replay_pause', + 'pg_xlog_replay_resume', + 'pg_xlogfile_name', + 'pg_xlogfile_name_offset', + 'phraseto_tsquery', + 'pi', + 'plainto_tsquery', + 'point', + 'polygon', + 'popen', + 'position', + 'power', + 'pqserverversion', + 'query_to_xml', + 'querytree', + 'quote_ident', + 'quote_literal', + 'quote_nullable', + 'radians', + 'radius', + 'random', + 'range_merge', + 'rank', + 'regexp_matches', + 'regexp_replace', + 'regexp_split_to_array', + 'regexp_split_to_table', + 'regr_avgx', + 'regr_avgy', + 'regr_count', + 'regr_intercept', + 'regr_r2', + 'regr_slope', + 'regr_sxx', + 'regr_sxy', + 'regr_syy', + 'repeat', + 'replace', + 'reverse', + 'right', + 'round', + 'row_number', + 'row_security_active', + 'row_to_json', + 'rpad', + 'rtrim', + 'scale', + 'session_user', + 'set_bit', + 'set_byte', + 'set_config', + 'set_masklen', + 'setseed', + 'setval', + 'setweight', + 'shobj_description', + 'sign', + 'sin', + 'sind', + 'split_part', + 'sprintf', + 'sqrt', + 'statement_timestamp', + 'stddev', + 'stddev_pop', + 'stddev_samp', + 'string_agg', + 'string_to_array', + 'strip', + 'strpos', + 'substr', + 'substring', + 'sum', + 'table_to_xml', + 'table_to_xml_and_xmlschema', + 'tan', + 'tand', + 'text', + 'timeofday', + 'timezone', + 'to_ascii', + 'to_char', + 'to_date', + 'to_hex', + 'to_json', + 'to_number', + 'to_regclass', + 'to_regnamespace', + 'to_regoper', + 'to_regoperator', + 'to_regproc', + 'to_regprocedure', + 'to_regrole', + 'to_regtype', + 'to_timestamp', + 'to_tsquery', + 'to_tsvector', + 'transaction_timestamp', + 'translate', + 'trim', + 'trunc', + 'ts_debug', + 'ts_delete', + 'ts_filter', + 'ts_headline', + 'ts_lexize', + 'ts_parse', + 'ts_rank', + 'ts_rank_cd', + 'ts_rewrite', + 'ts_stat', + 'ts_token_type', + 'tsquery_phrase', + 'tsvector_to_array', + 'tsvector_update_trigger', + 'tsvector_update_trigger_column', + 'txid_current', + 'txid_current_snapshot', + 'txid_snapshot_xip', + 'txid_snapshot_xmax', + 'txid_snapshot_xmin', + 'txid_visible_in_snapshot', + 'unnest', + 'upper', + 'upper_inc', + 'upper_inf', + 'user', + 'var_pop', + 'var_samp', + 'variance', + 'version', + 'width', + 'width_bucket', + 'xml_is_well_formed', + 'xml_is_well_formed_content', + 'xml_is_well_formed_document', + 'xmlagg', + 'xmlcomment', + 'xmlconcat', + 'xmlelement', + 'xmlexists', + 'xmlforest', + 'xmlparse', + 'xmlpi', + 'xmlroot', + 'xmlserialize', + 'xpath', + 'xpath_exists', + ], + builtinVariables: [], + pseudoColumns: [], + tokenizer: { + root: [ + { include: '@comments' }, + { include: '@whitespace' }, + { include: '@pseudoColumns' }, + { include: '@numbers' }, + { include: '@strings' }, + { include: '@complexIdentifiers' }, + { include: '@scopes' }, + [/[;,.]/, 'delimiter'], + [/[()]/, '@brackets'], + [ + /[\w@#$]+/, + { + cases: { + '@keywords': 'keyword', + '@operators': 'operator', + '@builtinVariables': 'predefined', + '@builtinFunctions': 'predefined', + '@default': 'identifier', + }, + }, + ], + [/[<>=!%&+\-*/|~^]/, 'operator'], + ], + whitespace: [[/\s+/, 'white']], + comments: [ + [/--+.*/, 'comment'], + [/\/\*/, { token: 'comment.quote', next: '@comment' }], + ], + comment: [ + [/[^*/]+/, 'comment'], + [/\*\//, { token: 'comment.quote', next: '@pop' }], + [/./, 'comment'], + ], + pseudoColumns: [ + [ + /[$][A-Za-z_][\w@#$]*/, + { + cases: { + '@pseudoColumns': 'predefined', + '@default': 'identifier', + }, + }, + ], + ], + numbers: [ + [/0[xX][0-9a-fA-F]*/, 'number'], + [/[$][+-]*\d*(\.\d*)?/, 'number'], + [/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/, 'number'], + ], + strings: [[/'/, { token: 'string', next: '@string' }]], + string: [ + [/[^']+/, 'string'], + [/''/, 'string'], + [/'/, { token: 'string', next: '@pop' }], + ], + complexIdentifiers: [ + [/"/, { token: 'identifier.quote', next: '@quotedIdentifier' }], + ], + quotedIdentifier: [ + [/[^"]+/, 'identifier'], + [/""/, 'identifier'], + [/"/, { token: 'identifier.quote', next: '@pop' }], + ], + scopes: [], + }, + }; + }, + }, +]); diff --git a/docs/bundle.css b/docs/bundle.css new file mode 100644 index 00000000..766fe67d --- /dev/null +++ b/docs/bundle.css @@ -0,0 +1,4670 @@ +#error.svelte-104hor5 { + background: darkred; + color: white; + flex: 1; + padding: 10px; +} +.invisible.svelte-104hor5 { + display: none; +} +.visible.svelte-104hor5 { + display: block; +} +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +.monaco-editor .accessibilityHelpWidget { + padding: 10px; + vertical-align: middle; + overflow: scroll; +} +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +.monaco-aria-container { + position: absolute; /* try to hide from window but not from screen readers */ + left: -999em; +} +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +.monaco-editor .selection-anchor { + background-color: #007acc; + width: 2px !important; +} + +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +.monaco-editor .bracket-match { + box-sizing: border-box; +} + +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +.monaco-editor .monaco-editor-overlaymessage { + padding-bottom: 8px; + z-index: 10000; +} + +@keyframes fadeIn { + from { + opacity: 0; + } + to { + opacity: 1; + } +} +.monaco-editor .monaco-editor-overlaymessage.fadeIn { + animation: fadeIn 150ms ease-out; +} + +@keyframes fadeOut { + from { + opacity: 1; + } + to { + opacity: 0; + } +} +.monaco-editor .monaco-editor-overlaymessage.fadeOut { + animation: fadeOut 100ms ease-out; +} + +.monaco-editor .monaco-editor-overlaymessage .message { + padding: 1px 4px; +} + +.monaco-editor .monaco-editor-overlaymessage .anchor { + width: 0 !important; + height: 0 !important; + border-color: transparent; + border-style: solid; + z-index: 1000; + border-width: 8px; + position: absolute; +} + +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +.monaco-editor .lightbulb-glyph, +.monaco-editor .codicon-lightbulb { + display: flex; + align-items: center; + justify-content: center; + height: 16px; + width: 20px; + padding-left: 2px; +} + +.monaco-editor .lightbulb-glyph:hover, +.monaco-editor .codicon-lightbulb:hover { + cursor: pointer; + /* transform: scale(1.3, 1.3); */ +} + +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +.monaco-editor .codelens-decoration { + overflow: hidden; + display: inline-block; + text-overflow: ellipsis; +} + +.monaco-editor .codelens-decoration > span, +.monaco-editor .codelens-decoration > a { + user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + white-space: nowrap; + vertical-align: sub; +} + +.monaco-editor .codelens-decoration > a { + text-decoration: none; +} + +.monaco-editor .codelens-decoration > a:hover { + cursor: pointer; +} + +.monaco-editor .codelens-decoration .codicon { + vertical-align: middle; + color: currentColor !important; +} + +.monaco-editor .codelens-decoration > a:hover .codicon::before { + cursor: pointer; +} + +@keyframes fadein { + 0% { + opacity: 0; + visibility: visible; + } + 100% { + opacity: 1; + } +} + +.monaco-editor .codelens-decoration.fadein { + animation: fadein 0.1s linear; +} + +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +.monaco-action-bar { + text-align: right; + white-space: nowrap; +} + +.monaco-action-bar .actions-container { + display: flex; + margin: 0 auto; + padding: 0; + width: 100%; + justify-content: flex-end; +} + +.monaco-action-bar.vertical .actions-container { + display: inline-block; +} + +.monaco-action-bar.reverse .actions-container { + flex-direction: row-reverse; +} + +.monaco-action-bar .action-item { + cursor: pointer; + display: inline-block; + transition: transform 50ms ease; + position: relative; /* DO NOT REMOVE - this is the key to preventing the ghosting icon bug in Chrome 42 */ +} + +.monaco-action-bar .action-item.disabled { + cursor: default; +} + +.monaco-action-bar.animated .action-item.active { + transform: scale(1.272019649, 1.272019649); /* 1.272019649 = √φ */ +} + +.monaco-action-bar .action-item .icon, +.monaco-action-bar .action-item .codicon { + display: inline-block; +} + +.monaco-action-bar .action-item .codicon { + display: flex; + align-items: center; +} + +.monaco-action-bar .action-label { + font-size: 11px; + margin-right: 4px; +} + +.monaco-action-bar .action-item.disabled .action-label, +.monaco-action-bar .action-item.disabled .action-label:hover { + opacity: 0.4; +} + +/* Vertical actions */ + +.monaco-action-bar.vertical { + text-align: left; +} + +.monaco-action-bar.vertical .action-item { + display: block; +} + +.monaco-action-bar.vertical .action-label.separator { + display: block; + border-bottom: 1px solid #bbb; + padding-top: 1px; + margin-left: 0.8em; + margin-right: 0.8em; +} + +.monaco-action-bar.animated.vertical .action-item.active { + transform: translate(5px, 0); +} + +.secondary-actions .monaco-action-bar .action-label { + margin-left: 6px; +} + +/* Action Items */ +.monaco-action-bar .action-item.select-container { + overflow: hidden; /* somehow the dropdown overflows its container, we prevent it here to not push */ + flex: 1; + max-width: 170px; + min-width: 60px; + display: flex; + align-items: center; + justify-content: center; + margin-right: 10px; +} + +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +.monaco-editor.vs .dnd-target { + border-right: 2px dotted black; + color: white; /* opposite of black */ +} +.monaco-editor.vs-dark .dnd-target { + border-right: 2px dotted #aeafad; + color: #51504f; /* opposite of #AEAFAD */ +} +.monaco-editor.hc-black .dnd-target { + border-right: 2px dotted #fff; + color: #000; /* opposite of #fff */ +} + +.monaco-editor.mouse-default .view-lines, +.monaco-editor.vs-dark.mac.mouse-default .view-lines, +.monaco-editor.hc-black.mac.mouse-default .view-lines { + cursor: default; +} +.monaco-editor.mouse-copy .view-lines, +.monaco-editor.vs-dark.mac.mouse-copy .view-lines, +.monaco-editor.hc-black.mac.mouse-copy .view-lines { + cursor: copy; +} +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +.monaco-custom-checkbox { + margin-left: 2px; + float: left; + cursor: pointer; + overflow: hidden; + opacity: 0.7; + width: 20px; + height: 20px; + border: 1px solid transparent; + padding: 1px; + box-sizing: border-box; + user-select: none; + -webkit-user-select: none; + -ms-user-select: none; +} + +.monaco-custom-checkbox:hover, +.monaco-custom-checkbox.checked { + opacity: 1; +} + +.hc-black .monaco-custom-checkbox { + background: none; +} + +.hc-black .monaco-custom-checkbox:hover { + background: none; +} + +.monaco-custom-checkbox.monaco-simple-checkbox { + height: 18px; + width: 18px; + border: 1px solid transparent; + border-radius: 3px; + margin-right: 9px; + margin-left: 0px; + padding: 0px; + opacity: 1; + background-size: 16px !important; +} + +/* hide check when unchecked */ +.monaco-custom-checkbox.monaco-simple-checkbox.unchecked:not(.checked)::before { + visibility: hidden; +} + +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +/* Find widget */ +.monaco-editor .find-widget { + position: absolute; + z-index: 50; + height: 33px; + overflow: hidden; + line-height: 19px; + transition: transform 200ms linear; + padding: 0 4px; + box-sizing: border-box; + transform: translateY(calc(-100% - 10px)); /* shadow (10px) */ +} + +.monaco-editor .find-widget textarea { + margin: 0px; +} + +.monaco-editor .find-widget.hiddenEditor { + display: none; +} + +/* Find widget when replace is toggled on */ +.monaco-editor .find-widget.replaceToggled > .replace-part { + display: flex; +} + +.monaco-editor .find-widget.visible { + transform: translateY(0); +} + +.monaco-editor .find-widget .monaco-inputbox.synthetic-focus { + outline: 1px solid -webkit-focus-ring-color; + outline-offset: -1px; +} + +.monaco-editor .find-widget .monaco-inputbox .input { + background-color: transparent; + min-height: 0; +} + +.monaco-editor .find-widget .monaco-findInput .input { + font-size: 13px; +} + +.monaco-editor .find-widget > .find-part, +.monaco-editor .find-widget > .replace-part { + margin: 4px 0 0 17px; + font-size: 12px; + display: flex; +} + +.monaco-editor .find-widget > .find-part .monaco-inputbox, +.monaco-editor .find-widget > .replace-part .monaco-inputbox { + min-height: 25px; +} + +.monaco-editor + .find-widget + > .replace-part + .monaco-inputbox + > .wrapper + > .mirror { + padding-right: 22px; +} + +.monaco-editor .find-widget > .find-part .monaco-inputbox > .wrapper > .input, +.monaco-editor .find-widget > .find-part .monaco-inputbox > .wrapper > .mirror, +.monaco-editor + .find-widget + > .replace-part + .monaco-inputbox + > .wrapper + > .input, +.monaco-editor + .find-widget + > .replace-part + .monaco-inputbox + > .wrapper + > .mirror { + padding-top: 2px; + padding-bottom: 2px; +} + +.monaco-editor .find-widget > .find-part .find-actions { + height: 25px; + display: flex; + align-items: center; +} + +.monaco-editor .find-widget > .replace-part .replace-actions { + height: 25px; + display: flex; + align-items: center; +} + +.monaco-editor .find-widget .monaco-findInput { + vertical-align: middle; + display: flex; + flex: 1; +} + +.monaco-editor .find-widget .monaco-findInput .monaco-scrollable-element { + /* Make sure textarea inherits the width correctly */ + width: 100%; +} + +.monaco-editor + .find-widget + .monaco-findInput + .monaco-scrollable-element + .scrollbar.vertical { + /* Hide vertical scrollbar */ + opacity: 0; +} + +.monaco-editor .find-widget .matchesCount { + display: flex; + flex: initial; + margin: 0 0 0 3px; + padding: 2px 0 0 2px; + height: 25px; + vertical-align: middle; + box-sizing: border-box; + text-align: center; + line-height: 23px; +} + +.monaco-editor .find-widget .button { + width: 20px; + height: 20px; + display: flex; + flex: initial; + margin-left: 3px; + background-position: center center; + background-repeat: no-repeat; + cursor: pointer; + display: flex; + align-items: center; + justify-content: center; +} + +.monaco-editor .find-widget .button.left { + margin-left: 0; + margin-right: 3px; +} + +.monaco-editor .find-widget .button.wide { + width: auto; + padding: 1px 6px; + top: -1px; +} + +.monaco-editor .find-widget .button.toggle { + position: absolute; + top: 0; + left: 3px; + width: 18px; + height: 100%; + box-sizing: border-box; +} + +.monaco-editor .find-widget .button.toggle.disabled { + display: none; +} + +.monaco-editor .find-widget .disabled { + opacity: 0.3; + cursor: default; +} + +.monaco-editor .find-widget > .replace-part { + display: none; +} + +.monaco-editor .find-widget > .replace-part > .monaco-findInput { + position: relative; + display: flex; + vertical-align: middle; + flex: auto; + flex-grow: 0; + flex-shrink: 0; +} + +.monaco-editor .find-widget > .replace-part > .monaco-findInput > .controls { + position: absolute; + top: 3px; + right: 2px; +} + +/* REDUCED */ +.monaco-editor .find-widget.reduced-find-widget .matchesCount { + display: none; +} + +/* NARROW (SMALLER THAN REDUCED) */ +.monaco-editor .find-widget.narrow-find-widget { + max-width: 257px !important; +} + +/* COLLAPSED (SMALLER THAN NARROW) */ +.monaco-editor .find-widget.collapsed-find-widget { + max-width: 170px !important; +} + +.monaco-editor .find-widget.collapsed-find-widget .button.previous, +.monaco-editor .find-widget.collapsed-find-widget .button.next, +.monaco-editor .find-widget.collapsed-find-widget .button.replace, +.monaco-editor .find-widget.collapsed-find-widget .button.replace-all, +.monaco-editor + .find-widget.collapsed-find-widget + > .find-part + .monaco-findInput + .controls { + display: none; +} + +.monaco-editor .findMatch { + animation-duration: 0; + animation-name: inherit !important; +} + +.monaco-editor .find-widget .monaco-sash { + left: 0 !important; +} + +.monaco-editor.hc-black .find-widget .button:before { + position: relative; + top: 1px; + left: 2px; +} + +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +.monaco-sash { + position: absolute; + z-index: 35; + touch-action: none; +} + +.monaco-sash.disabled { + pointer-events: none; +} + +.monaco-sash.mac.vertical { + cursor: col-resize; +} + +.monaco-sash.vertical.minimum { + cursor: e-resize; +} + +.monaco-sash.vertical.maximum { + cursor: w-resize; +} + +.monaco-sash.mac.horizontal { + cursor: row-resize; +} + +.monaco-sash.horizontal.minimum { + cursor: s-resize; +} + +.monaco-sash.horizontal.maximum { + cursor: n-resize; +} + +.monaco-sash.disabled { + cursor: default !important; + pointer-events: none !important; +} + +/** Debug **/ + +.monaco-sash.debug { + background: cyan; +} + +.monaco-sash.debug.disabled { + background: rgba(0, 255, 255, 0.2); +} + +.monaco-sash.debug:not(.disabled).orthogonal-start::before, +.monaco-sash.debug:not(.disabled).orthogonal-end::after { + background: red; +} + +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +/* ---------- Find input ---------- */ + +.monaco-findInput { + position: relative; +} + +.monaco-findInput .monaco-inputbox { + font-size: 13px; + width: 100%; +} + +.monaco-findInput > .controls { + position: absolute; + top: 3px; + right: 2px; +} + +.vs .monaco-findInput.disabled { + background-color: #e1e1e1; +} + +/* Theming */ +.vs-dark .monaco-findInput.disabled { + background-color: #333; +} + +/* Highlighting */ +.monaco-findInput.highlight-0 .controls { + animation: monaco-findInput-highlight-0 100ms linear 0s; +} +.monaco-findInput.highlight-1 .controls { + animation: monaco-findInput-highlight-1 100ms linear 0s; +} +.hc-black .monaco-findInput.highlight-0 .controls, +.vs-dark .monaco-findInput.highlight-0 .controls { + animation: monaco-findInput-highlight-dark-0 100ms linear 0s; +} +.hc-black .monaco-findInput.highlight-1 .controls, +.vs-dark .monaco-findInput.highlight-1 .controls { + animation: monaco-findInput-highlight-dark-1 100ms linear 0s; +} + +@keyframes monaco-findInput-highlight-0 { + 0% { + background: rgba(253, 255, 0, 0.8); + } + 100% { + background: transparent; + } +} +@keyframes monaco-findInput-highlight-1 { + 0% { + background: rgba(253, 255, 0, 0.8); + } + /* Made intentionally different such that the CSS minifier does not collapse the two animations into a single one*/ + 99% { + background: transparent; + } +} + +@keyframes monaco-findInput-highlight-dark-0 { + 0% { + background: rgba(255, 255, 255, 0.44); + } + 100% { + background: transparent; + } +} +@keyframes monaco-findInput-highlight-dark-1 { + 0% { + background: rgba(255, 255, 255, 0.44); + } + /* Made intentionally different such that the CSS minifier does not collapse the two animations into a single one*/ + 99% { + background: transparent; + } +} +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +.monaco-inputbox { + position: relative; + display: block; + padding: 0; + box-sizing: border-box; + + /* Customizable */ + font-size: inherit; +} + +.monaco-inputbox.idle { + border: 1px solid transparent; +} + +.monaco-inputbox > .wrapper > .input, +.monaco-inputbox > .wrapper > .mirror { + /* Customizable */ + padding: 4px; +} + +.monaco-inputbox > .wrapper { + position: relative; + width: 100%; + height: 100%; +} + +.monaco-inputbox > .wrapper > .input { + display: inline-block; + box-sizing: border-box; + width: 100%; + height: 100%; + line-height: inherit; + border: none; + font-family: inherit; + font-size: inherit; + resize: none; + color: inherit; +} + +.monaco-inputbox > .wrapper > input { + text-overflow: ellipsis; +} + +.monaco-inputbox > .wrapper > textarea.input { + display: block; + -ms-overflow-style: none; /* IE 10+: hide scrollbars */ + scrollbar-width: none; /* Firefox: hide scrollbars */ + outline: none; +} + +.monaco-inputbox > .wrapper > textarea.input::-webkit-scrollbar { + display: none; /* Chrome + Safari: hide scrollbar */ +} + +.monaco-inputbox > .wrapper > textarea.input.empty { + white-space: nowrap; +} + +.monaco-inputbox > .wrapper > .mirror { + position: absolute; + display: inline-block; + width: 100%; + top: 0; + left: 0; + box-sizing: border-box; + white-space: pre-wrap; + visibility: hidden; + word-wrap: break-word; +} + +/* Context view */ + +.monaco-inputbox-container { + text-align: right; +} + +.monaco-inputbox-container .monaco-inputbox-message { + display: inline-block; + overflow: hidden; + text-align: left; + width: 100%; + box-sizing: border-box; + padding: 0.4em; + font-size: 12px; + line-height: 17px; + min-height: 34px; + margin-top: -1px; + word-wrap: break-word; +} + +/* Action bar support */ +.monaco-inputbox .monaco-action-bar { + position: absolute; + right: 2px; + top: 4px; +} + +.monaco-inputbox .monaco-action-bar .action-item { + margin-left: 2px; +} + +.monaco-inputbox .monaco-action-bar .action-item .codicon { + background-repeat: no-repeat; + width: 16px; + height: 16px; +} + +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +/* Arrows */ +.monaco-scrollable-element > .scrollbar > .scra { + cursor: pointer; + font-size: 11px !important; +} + +.monaco-scrollable-element > .visible { + opacity: 1; + + /* Background rule added for IE9 - to allow clicks on dom node */ + background: rgba(0, 0, 0, 0); + + transition: opacity 100ms linear; +} +.monaco-scrollable-element > .invisible { + opacity: 0; + pointer-events: none; +} +.monaco-scrollable-element > .invisible.fade { + transition: opacity 800ms linear; +} + +/* Scrollable Content Inset Shadow */ +.monaco-scrollable-element > .shadow { + position: absolute; + display: none; +} +.monaco-scrollable-element > .shadow.top { + display: block; + top: 0; + left: 3px; + height: 3px; + width: 100%; + box-shadow: #ddd 0 6px 6px -6px inset; +} +.monaco-scrollable-element > .shadow.left { + display: block; + top: 3px; + left: 0; + height: 100%; + width: 3px; + box-shadow: #ddd 6px 0 6px -6px inset; +} +.monaco-scrollable-element > .shadow.top-left-corner { + display: block; + top: 0; + left: 0; + height: 3px; + width: 3px; +} +.monaco-scrollable-element > .shadow.top.left { + box-shadow: #ddd 6px 6px 6px -6px inset; +} + +/* ---------- Default Style ---------- */ + +.vs .monaco-scrollable-element > .scrollbar > .slider { + background: rgba(100, 100, 100, 0.4); +} +.vs-dark .monaco-scrollable-element > .scrollbar > .slider { + background: rgba(121, 121, 121, 0.4); +} +.hc-black .monaco-scrollable-element > .scrollbar > .slider { + background: rgba(111, 195, 223, 0.6); +} + +.monaco-scrollable-element > .scrollbar > .slider:hover { + background: rgba(100, 100, 100, 0.7); +} +.hc-black .monaco-scrollable-element > .scrollbar > .slider:hover { + background: rgba(111, 195, 223, 0.8); +} + +.monaco-scrollable-element > .scrollbar > .slider.active { + background: rgba(0, 0, 0, 0.6); +} +.vs-dark .monaco-scrollable-element > .scrollbar > .slider.active { + background: rgba(191, 191, 191, 0.4); +} +.hc-black .monaco-scrollable-element > .scrollbar > .slider.active { + background: rgba(111, 195, 223, 1); +} + +.vs-dark .monaco-scrollable-element .shadow.top { + box-shadow: none; +} + +.vs-dark .monaco-scrollable-element .shadow.left { + box-shadow: #000 6px 0 6px -6px inset; +} + +.vs-dark .monaco-scrollable-element .shadow.top.left { + box-shadow: #000 6px 6px 6px -6px inset; +} + +.hc-black .monaco-scrollable-element .shadow.top { + box-shadow: none; +} + +.hc-black .monaco-scrollable-element .shadow.left { + box-shadow: none; +} + +.hc-black .monaco-scrollable-element .shadow.top.left { + box-shadow: none; +} + +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +.monaco-editor .margin-view-overlays .codicon-folding-expanded, +.monaco-editor .margin-view-overlays .codicon-folding-collapsed { + cursor: pointer; + opacity: 0; + transition: opacity 0.5s; + display: flex; + align-items: center; + justify-content: center; + font-size: 140%; + margin-left: 2px; +} + +.monaco-editor .margin-view-overlays:hover .codicon, +.monaco-editor .margin-view-overlays .codicon.codicon-folding-collapsed, +.monaco-editor .margin-view-overlays .codicon.alwaysShowFoldIcons { + opacity: 1; +} + +.monaco-editor .inline-folded:after { + color: grey; + margin: 0.1em 0.2em 0 0.2em; + content: '⋯'; + display: inline; + line-height: 1em; + cursor: pointer; +} + +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +/* marker zone */ + +.monaco-editor .peekview-widget .head .peekview-title .severity-icon { + display: inline-block; + vertical-align: text-top; + margin-right: 4px; +} + +.monaco-editor .marker-widget { + text-overflow: ellipsis; + white-space: nowrap; +} + +.monaco-editor .marker-widget > .stale { + opacity: 0.6; + font-style: italic; +} + +.monaco-editor .marker-widget .title { + display: inline-block; + padding-right: 5px; +} + +.monaco-editor .marker-widget .descriptioncontainer { + position: absolute; + white-space: pre; + user-select: text; + -webkit-user-select: text; + -ms-user-select: text; + padding: 8px 12px 0 20px; +} + +.monaco-editor .marker-widget .descriptioncontainer .message { + display: flex; + flex-direction: column; +} + +.monaco-editor .marker-widget .descriptioncontainer .message .details { + padding-left: 6px; +} + +.monaco-editor .marker-widget .descriptioncontainer .message .source, +.monaco-editor .marker-widget .descriptioncontainer .message span.code { + opacity: 0.6; +} + +.monaco-editor .marker-widget .descriptioncontainer .message a.code-link { + opacity: 0.6; + color: inherit; +} +.monaco-editor + .marker-widget + .descriptioncontainer + .message + a.code-link:before { + content: '('; +} +.monaco-editor .marker-widget .descriptioncontainer .message a.code-link:after { + content: ')'; +} +.monaco-editor + .marker-widget + .descriptioncontainer + .message + a.code-link + > span { + text-decoration: underline; + /** Hack to force underline to show **/ + border-bottom: 1px solid transparent; + text-underline-position: under; +} + +.monaco-editor .marker-widget .descriptioncontainer .filename { + cursor: pointer; +} + +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +.monaco-editor .peekview-widget .head { + box-sizing: border-box; + display: flex; +} + +.monaco-editor .peekview-widget .head .peekview-title { + display: flex; + align-items: center; + font-size: 13px; + margin-left: 20px; + cursor: pointer; + min-width: 0; +} + +.monaco-editor .peekview-widget .head .peekview-title .dirname:not(:empty) { + font-size: 0.9em; + margin-left: 0.5em; +} + +.monaco-editor .peekview-widget .head .peekview-title .meta { + white-space: nowrap; +} + +.monaco-editor .peekview-widget .head .peekview-title .dirname { + white-space: nowrap; +} + +.monaco-editor .peekview-widget .head .peekview-title .filename { + overflow: hidden; + text-overflow: ellipsis; +} + +.monaco-editor + .peekview-widget + .head + .peekview-title + .meta:not(:empty)::before { + content: '-'; + padding: 0 0.3em; +} + +.monaco-editor .peekview-widget .head .peekview-actions { + flex: 1; + text-align: right; + padding-right: 2px; +} + +.monaco-editor .peekview-widget .head .peekview-actions > .monaco-action-bar { + display: inline-block; +} + +.monaco-editor .peekview-widget .head .peekview-actions > .monaco-action-bar, +.monaco-editor + .peekview-widget + .head + .peekview-actions + > .monaco-action-bar + > .actions-container { + height: 100%; +} + +.monaco-editor + .peekview-widget + .head + .peekview-actions + > .monaco-action-bar + .action-item { + margin-left: 4px; +} + +.monaco-editor + .peekview-widget + .head + .peekview-actions + > .monaco-action-bar + .action-label { + width: 16px; + height: 100%; + margin: 0; + line-height: inherit; + background-repeat: no-repeat; + background-position: center center; +} + +.monaco-editor + .peekview-widget + .head + .peekview-actions + > .monaco-action-bar + .action-label.codicon { + margin: 0; +} + +.monaco-editor .peekview-widget > .body { + border-top: 1px solid; + position: relative; +} + +.monaco-editor .peekview-widget .head .peekview-title .codicon { + margin-right: 4px; +} + +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +/* -------------------- IE10 remove auto clear button -------------------- */ + +::-ms-clear { + display: none; +} + +/* All widgets */ +/* I am not a big fan of this rule */ +.monaco-editor .editor-widget input { + color: inherit; +} + +/* -------------------- Editor -------------------- */ + +.monaco-editor { + position: relative; + overflow: visible; + -webkit-text-size-adjust: 100%; +} + +/* -------------------- Misc -------------------- */ + +.monaco-editor .overflow-guard { + position: relative; + overflow: hidden; +} + +.monaco-editor .view-overlays { + position: absolute; + top: 0; +} + +/* +.monaco-editor .auto-closed-character { + opacity: 0.3; +} +*/ + +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +.monaco-editor .inputarea { + min-width: 0; + min-height: 0; + margin: 0; + padding: 0; + position: absolute; + outline: none !important; + resize: none; + border: none; + overflow: hidden; + color: transparent; + background-color: transparent; +} +/*.monaco-editor .inputarea { + position: fixed !important; + width: 800px !important; + height: 500px !important; + top: initial !important; + left: initial !important; + bottom: 0 !important; + right: 0 !important; + color: black !important; + background: white !important; + line-height: 15px !important; + font-size: 14px !important; +}*/ +.monaco-editor .inputarea.ime-input { + z-index: 10; +} + +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +.monaco-editor .margin-view-overlays .line-numbers { + font-variant-numeric: tabular-nums; + position: absolute; + text-align: right; + display: inline-block; + vertical-align: middle; + box-sizing: border-box; + cursor: default; + height: 100%; +} + +.monaco-editor .relative-current-line-number { + text-align: left; + display: inline-block; + width: 100%; +} + +.monaco-editor .margin-view-overlays .line-numbers.lh-odd { + margin-top: 1px; +} + +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +.monaco-mouse-cursor-text { + cursor: text; +} + +/* The following selector looks a bit funny, but that is needed to cover all the workbench and the editor!! */ +.vs-dark .mac .monaco-mouse-cursor-text, +.hc-black .mac .monaco-mouse-cursor-text, +.vs-dark.mac .monaco-mouse-cursor-text, +.hc-black.mac .monaco-mouse-cursor-text { + cursor: -webkit-image-set( + url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAAL0lEQVQoz2NgCD3x//9/BhBYBWdhgFVAiVW4JBFKGIa4AqD0//9D3pt4I4tAdAMAHTQ/j5Zom30AAAAASUVORK5CYII=) + 1x, + url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAQAAADZc7J/AAAAz0lEQVRIx2NgYGBY/R8I/vx5eelX3n82IJ9FxGf6tksvf/8FiTMQAcAGQMDvSwu09abffY8QYSAScNk45G198eX//yev73/4///701eh//kZSARckrNBRvz//+8+6ZohwCzjGNjdgQxkAg7B9WADeBjIBqtJCbhRA0YNoIkBSNmaPEMoNmA0FkYNoFKhapJ6FGyAH3nauaSmPfwI0v/3OukVi0CIZ+F25KrtYcx/CTIy0e+rC7R1Z4KMICVTQQ14feVXIbR695u14+Ir4gwAAD49E54wc1kWAAAAAElFTkSuQmCC) + 2x + ) + 5 8, + text; +} + +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +.monaco-editor .view-overlays .current-line { + display: block; + position: absolute; + left: 0; + top: 0; + box-sizing: border-box; +} + +.monaco-editor .margin-view-overlays .current-line { + display: block; + position: absolute; + left: 0; + top: 0; + box-sizing: border-box; +} + +.monaco-editor + .margin-view-overlays + .current-line.current-line-margin.current-line-margin-both { + border-right: 0; +} + +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +/* + Keeping name short for faster parsing. + cdr = core decorations rendering (div) +*/ +.monaco-editor .lines-content .cdr { + position: absolute; +} +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +.monaco-editor .glyph-margin { + position: absolute; + top: 0; +} + +/* + Keeping name short for faster parsing. + cgmr = core glyph margin rendering (div) +*/ +.monaco-editor .margin-view-overlays .cgmr { + position: absolute; + display: flex; + align-items: center; + justify-content: center; +} + +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +/* + Keeping name short for faster parsing. + cigr = core ident guides rendering (div) +*/ +.monaco-editor .lines-content .cigr { + position: absolute; +} +.monaco-editor .lines-content .cigra { + position: absolute; +} + +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +/* Uncomment to see lines flashing when they're painted */ +/*.monaco-editor .view-lines > .view-line { + background-color: none; + animation-name: flash-background; + animation-duration: 800ms; +} +@keyframes flash-background { + 0% { background-color: lightgreen; } + 100% { background-color: none } +}*/ + +.monaco-editor.no-user-select .lines-content, +.monaco-editor.no-user-select .view-line, +.monaco-editor.no-user-select .view-lines { + user-select: none; + -webkit-user-select: none; + -ms-user-select: none; +} + +.monaco-editor .view-lines { + white-space: nowrap; +} + +.monaco-editor .view-line { + position: absolute; + width: 100%; +} + +.monaco-editor .mtkz { + display: inline-block; +} + +/* TODO@tokenization bootstrap fix */ +/*.monaco-editor .view-line > span > span { + float: none; + min-height: inherit; + margin-left: inherit; +}*/ + +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +.monaco-editor .lines-decorations { + position: absolute; + top: 0; + background: white; +} + +/* + Keeping name short for faster parsing. + cldr = core lines decorations rendering (div) +*/ +.monaco-editor .margin-view-overlays .cldr { + position: absolute; + height: 100%; +} +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +/* + Keeping name short for faster parsing. + cmdr = core margin decorations rendering (div) +*/ +.monaco-editor .margin-view-overlays .cmdr { + position: absolute; + left: 0; + width: 100%; + height: 100%; +} +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +/* START cover the case that slider is visible on mouseover */ +.monaco-editor .minimap.slider-mouseover .minimap-slider { + opacity: 0; + transition: opacity 100ms linear; +} +.monaco-editor .minimap.slider-mouseover:hover .minimap-slider { + opacity: 1; +} +.monaco-editor .minimap.slider-mouseover .minimap-slider.active { + opacity: 1; +} +/* END cover the case that slider is visible on mouseover */ + +.monaco-editor .minimap-shadow-hidden { + position: absolute; + width: 0; +} +.monaco-editor .minimap-shadow-visible { + position: absolute; + left: -6px; + width: 6px; +} + +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +.monaco-editor .overlayWidgets { + position: absolute; + top: 0; + left: 0; +} +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +.monaco-editor .view-ruler { + position: absolute; + top: 0; +} +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +.monaco-editor .scroll-decoration { + position: absolute; + top: 0; + left: 0; + height: 6px; +} +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +/* + Keeping name short for faster parsing. + cslr = core selections layer rendering (div) +*/ +.monaco-editor .lines-content .cslr { + position: absolute; +} + +.monaco-editor .top-left-radius { + border-top-left-radius: 3px; +} +.monaco-editor .bottom-left-radius { + border-bottom-left-radius: 3px; +} +.monaco-editor .top-right-radius { + border-top-right-radius: 3px; +} +.monaco-editor .bottom-right-radius { + border-bottom-right-radius: 3px; +} + +.monaco-editor.hc-black .top-left-radius { + border-top-left-radius: 0; +} +.monaco-editor.hc-black .bottom-left-radius { + border-bottom-left-radius: 0; +} +.monaco-editor.hc-black .top-right-radius { + border-top-right-radius: 0; +} +.monaco-editor.hc-black .bottom-right-radius { + border-bottom-right-radius: 0; +} + +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +.monaco-editor .cursors-layer { + position: absolute; + top: 0; +} + +.monaco-editor .cursors-layer > .cursor { + position: absolute; + overflow: hidden; +} + +/* -- smooth-caret-animation -- */ +.monaco-editor .cursors-layer.cursor-smooth-caret-animation > .cursor { + transition: all 80ms; +} + +/* -- block-outline-style -- */ +.monaco-editor .cursors-layer.cursor-block-outline-style > .cursor { + box-sizing: border-box; + background: transparent !important; + border-style: solid; + border-width: 1px; +} + +/* -- underline-style -- */ +.monaco-editor .cursors-layer.cursor-underline-style > .cursor { + border-bottom-width: 2px; + border-bottom-style: solid; + background: transparent !important; + box-sizing: border-box; +} + +/* -- underline-thin-style -- */ +.monaco-editor .cursors-layer.cursor-underline-thin-style > .cursor { + border-bottom-width: 1px; + border-bottom-style: solid; + background: transparent !important; + box-sizing: border-box; +} + +@keyframes monaco-cursor-smooth { + 0%, + 20% { + opacity: 1; + } + 60%, + 100% { + opacity: 0; + } +} + +@keyframes monaco-cursor-phase { + 0%, + 20% { + opacity: 1; + } + 90%, + 100% { + opacity: 0; + } +} + +@keyframes monaco-cursor-expand { + 0%, + 20% { + transform: scaleY(1); + } + 80%, + 100% { + transform: scaleY(0); + } +} + +.cursor-smooth { + animation: monaco-cursor-smooth 0.5s ease-in-out 0s 20 alternate; +} + +.cursor-phase { + animation: monaco-cursor-phase 0.5s ease-in-out 0s 20 alternate; +} + +.cursor-expand > .cursor { + animation: monaco-cursor-expand 0.5s ease-in-out 0s 20 alternate; +} + +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +.monaco-editor .zone-widget { + position: absolute; + z-index: 10; +} + +.monaco-editor .zone-widget .zone-widget-container { + border-top-style: solid; + border-bottom-style: solid; + border-top-width: 0; + border-bottom-width: 0; + position: relative; +} + +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +.monaco-dropdown { + height: 100%; + padding: 0; +} + +.monaco-dropdown > .dropdown-label { + cursor: pointer; + height: 100%; +} + +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +/* -- zone widget */ +.monaco-editor .zone-widget .zone-widget-container.reference-zone-widget { + border-top-width: 1px; + border-bottom-width: 1px; +} + +.monaco-editor .reference-zone-widget .inline { + display: inline-block; + vertical-align: top; +} + +.monaco-editor .reference-zone-widget .messages { + height: 100%; + width: 100%; + text-align: center; + padding: 3em 0; +} + +.monaco-editor .reference-zone-widget .ref-tree { + line-height: 23px; +} + +.monaco-editor .reference-zone-widget .ref-tree .reference { + text-overflow: ellipsis; + overflow: hidden; +} + +.monaco-editor .reference-zone-widget .ref-tree .reference-file { + display: inline-flex; + width: 100%; + height: 100%; +} + +.monaco-editor + .reference-zone-widget + .ref-tree + .monaco-list:focus + .selected + .reference-file { + color: inherit !important; +} + +.monaco-editor .reference-zone-widget .ref-tree .reference-file .count { + margin-right: 12px; + margin-left: auto; +} + +/* High Contrast Theming */ + +.monaco-editor.hc-black .reference-zone-widget .ref-tree .reference-file { + font-weight: bold; +} + +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +/* ---------- Icon label ---------- */ + +.monaco-icon-label { + display: flex; /* required for icons support :before rule */ + overflow: hidden; + text-overflow: ellipsis; +} + +.monaco-icon-label::before { + /* svg icons rendered as background image */ + background-size: 16px; + background-position: left center; + background-repeat: no-repeat; + padding-right: 6px; + width: 16px; + height: 22px; + line-height: inherit !important; + display: inline-block; + + /* fonts icons */ + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + vertical-align: top; + + flex-shrink: 0; /* fix for https://github.com/Microsoft/vscode/issues/13787 */ +} + +.monaco-icon-label > .monaco-icon-label-container { + min-width: 0; + overflow: hidden; + text-overflow: ellipsis; + flex: 1; +} + +.monaco-icon-label + > .monaco-icon-label-container + > .monaco-icon-name-container + > .label-name { + color: inherit; + white-space: pre; /* enable to show labels that include multiple whitespaces */ +} + +.monaco-icon-label + > .monaco-icon-label-container + > .monaco-icon-name-container + > .label-name + > .label-separator { + margin: 0 2px; + opacity: 0.5; +} + +.monaco-icon-label + > .monaco-icon-label-container + > .monaco-icon-description-container + > .label-description { + opacity: 0.7; + margin-left: 0.5em; + font-size: 0.9em; + white-space: pre; /* enable to show labels that include multiple whitespaces */ +} + +.vs + .monaco-icon-label + > .monaco-icon-label-container + > .monaco-icon-description-container + > .label-description { + opacity: 0.95; +} + +.monaco-icon-label.italic + > .monaco-icon-label-container + > .monaco-icon-name-container + > .label-name, +.monaco-icon-label.italic + > .monaco-icon-description-container + > .label-description { + font-style: italic; +} + +.monaco-icon-label.strikethrough + > .monaco-icon-label-container + > .monaco-icon-name-container + > .label-name, +.monaco-icon-label.strikethrough + > .monaco-icon-description-container + > .label-description { + text-decoration: line-through; +} + +.monaco-icon-label::after { + opacity: 0.75; + font-size: 90%; + font-weight: 600; + padding: 0 16px 0 5px; + text-align: center; +} + +/* make sure selection color wins when a label is being selected */ +.monaco-list:focus .selected .monaco-icon-label, /* list */ +.monaco-list:focus .selected .monaco-icon-label::after { + color: inherit !important; +} + +.monaco-list-row.focused.selected .label-description, +.monaco-list-row.selected .label-description { + opacity: 0.8; +} + +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +.monaco-count-badge { + padding: 3px 6px; + border-radius: 11px; + font-size: 11px; + min-width: 18px; + min-height: 18px; + line-height: 11px; + font-weight: normal; + text-align: center; + display: inline-block; + box-sizing: border-box; +} + +.monaco-count-badge.long { + padding: 2px 3px; + border-radius: 2px; + min-height: auto; + line-height: normal; +} + +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +.monaco-list { + position: relative; + height: 100%; + width: 100%; + white-space: nowrap; +} + +.monaco-list.mouse-support { + user-select: none; + -webkit-user-select: none; + -ms-user-select: none; +} + +.monaco-list > .monaco-scrollable-element { + height: 100%; +} + +.monaco-list-rows { + position: relative; + width: 100%; + height: 100%; +} + +.monaco-list.horizontal-scrolling .monaco-list-rows { + width: auto; + min-width: 100%; +} + +.monaco-list-row { + position: absolute; + box-sizing: border-box; + overflow: hidden; + width: 100%; +} + +.monaco-list.mouse-support .monaco-list-row { + cursor: pointer; + touch-action: none; +} + +/* for OS X ballistic scrolling */ +.monaco-list-row.scrolling { + display: none !important; +} + +/* Focus */ +.monaco-list.element-focused, +.monaco-list.selection-single, +.monaco-list.selection-multiple { + outline: 0 !important; +} + +.monaco-list:focus .monaco-list-row.selected .codicon { + color: inherit; +} + +/* Dnd */ +.monaco-drag-image { + display: inline-block; + padding: 1px 7px; + border-radius: 10px; + font-size: 12px; + position: absolute; +} + +/* Type filter */ + +.monaco-list-type-filter { + display: flex; + align-items: center; + position: absolute; + border-radius: 2px; + padding: 0px 3px; + max-width: calc(100% - 10px); + text-overflow: ellipsis; + overflow: hidden; + text-align: right; + box-sizing: border-box; + cursor: all-scroll; + font-size: 13px; + line-height: 18px; + height: 20px; + z-index: 1; + top: 4px; +} + +.monaco-list-type-filter.dragging { + transition: top 0.2s, left 0.2s; +} + +.monaco-list-type-filter.ne { + right: 4px; +} + +.monaco-list-type-filter.nw { + left: 4px; +} + +.monaco-list-type-filter > .controls { + display: flex; + align-items: center; + box-sizing: border-box; + transition: width 0.2s; + width: 0; +} + +.monaco-list-type-filter.dragging > .controls, +.monaco-list-type-filter:hover > .controls { + width: 36px; +} + +.monaco-list-type-filter > .controls > * { + border: none; + box-sizing: border-box; + -webkit-appearance: none; + -moz-appearance: none; + background: none; + width: 16px; + height: 16px; + flex-shrink: 0; + margin: 0; + padding: 0; + display: flex; + align-items: center; + justify-content: center; + cursor: pointer; +} + +.monaco-list-type-filter > .controls > .filter { + margin-left: 4px; +} + +.monaco-list-type-filter-message { + position: absolute; + box-sizing: border-box; + width: 100%; + height: 100%; + top: 0; + left: 0; + padding: 40px 1em 1em 1em; + text-align: center; + white-space: normal; + opacity: 0.7; + pointer-events: none; +} + +.monaco-list-type-filter-message:empty { + display: none; +} + +/* Electron */ + +.monaco-list-type-filter { + cursor: grab; +} + +.monaco-list-type-filter.dragging { + cursor: grabbing; +} + +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +.monaco-tl-row { + display: flex; + height: 100%; + align-items: center; + position: relative; +} + +.monaco-tl-indent { + height: 100%; + position: absolute; + top: 0; + left: 16px; + pointer-events: none; +} + +.hide-arrows .monaco-tl-indent { + left: 12px; +} + +.monaco-tl-indent > .indent-guide { + display: inline-block; + box-sizing: border-box; + height: 100%; + border-left: 1px solid transparent; +} + +.monaco-tl-indent > .indent-guide { + transition: border-color 0.1s linear; +} + +.monaco-tl-twistie, +.monaco-tl-contents { + height: 100%; +} + +.monaco-tl-twistie { + font-size: 10px; + text-align: right; + padding-right: 6px; + flex-shrink: 0; + width: 16px; + display: flex !important; + align-items: center; + justify-content: center; + color: inherit !important; + transform: translateX(3px); +} + +.monaco-tl-contents { + flex: 1; + overflow: hidden; +} + +.monaco-tl-twistie.collapsed::before { + transform: rotate(-90deg); +} + +.monaco-tl-twistie.codicon-tree-item-loading::before { + /* Use steps to throttle FPS to reduce CPU usage */ + animation: codicon-spin 1.25s steps(30) infinite; +} + +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +.monaco-split-view2 { + position: relative; + width: 100%; + height: 100%; +} + +.monaco-split-view2 > .sash-container { + position: absolute; + width: 100%; + height: 100%; + pointer-events: none; +} + +.monaco-split-view2 > .sash-container > .monaco-sash { + pointer-events: initial; +} + +.monaco-split-view2 > .split-view-container { + width: 100%; + height: 100%; + white-space: nowrap; + position: relative; +} + +.monaco-split-view2 > .split-view-container > .split-view-view { + white-space: initial; + position: absolute; +} + +.monaco-split-view2 > .split-view-container > .split-view-view:not(.visible) { + display: none; +} + +.monaco-split-view2.vertical > .split-view-container > .split-view-view { + width: 100%; +} + +.monaco-split-view2.horizontal > .split-view-container > .split-view-view { + height: 100%; +} + +.monaco-split-view2.separator-border + > .split-view-container + > .split-view-view:not(:first-child)::before { + content: ' '; + position: absolute; + top: 0; + left: 0; + z-index: 5; + pointer-events: none; + background-color: var(--separator-border); +} + +.monaco-split-view2.separator-border.horizontal + > .split-view-container + > .split-view-view:not(:first-child)::before { + height: 100%; + width: 1px; +} + +.monaco-split-view2.separator-border.vertical + > .split-view-container + > .split-view-view:not(:first-child)::before { + height: 1px; + width: 100%; +} + +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +.monaco-editor .goto-definition-link { + text-decoration: underline; + cursor: pointer; +} +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +.colorpicker-widget { + height: 190px; + user-select: none; + -webkit-user-select: none; + -ms-user-select: none; +} + +.monaco-editor .colorpicker-hover:focus { + outline: none; +} + +/* Header */ + +.colorpicker-header { + display: flex; + height: 24px; + position: relative; + background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTZEaa/1AAAAHUlEQVQYV2PYvXu3JAi7uLiAMaYAjAGTQBPYLQkAa/0Zef3qRswAAAAASUVORK5CYII='); + background-size: 9px 9px; + image-rendering: pixelated; +} + +.colorpicker-header .picked-color { + width: 216px; + text-align: center; + line-height: 24px; + cursor: pointer; + color: white; + flex: 1; + text-align: center; +} + +.colorpicker-header .picked-color.light { + color: black; +} + +.colorpicker-header .original-color { + width: 74px; + z-index: inherit; + cursor: pointer; +} + +/* Body */ + +.colorpicker-body { + display: flex; + padding: 8px; + position: relative; +} + +.colorpicker-body .saturation-wrap { + overflow: hidden; + height: 150px; + position: relative; + min-width: 220px; + flex: 1; +} + +.colorpicker-body .saturation-box { + height: 150px; + position: absolute; +} + +.colorpicker-body .saturation-selection { + width: 9px; + height: 9px; + margin: -5px 0 0 -5px; + border: 1px solid rgb(255, 255, 255); + border-radius: 100%; + box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.8); + position: absolute; +} + +.colorpicker-body .strip { + width: 25px; + height: 150px; +} + +.colorpicker-body .hue-strip { + position: relative; + margin-left: 8px; + cursor: grab; + background: linear-gradient( + to bottom, + #ff0000 0%, + #ffff00 17%, + #00ff00 33%, + #00ffff 50%, + #0000ff 67%, + #ff00ff 83%, + #ff0000 100% + ); +} + +.colorpicker-body .opacity-strip { + position: relative; + margin-left: 8px; + cursor: grab; + background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTZEaa/1AAAAHUlEQVQYV2PYvXu3JAi7uLiAMaYAjAGTQBPYLQkAa/0Zef3qRswAAAAASUVORK5CYII='); + background-size: 9px 9px; + image-rendering: pixelated; +} + +.colorpicker-body .strip.grabbing { + cursor: grabbing; +} + +.colorpicker-body .slider { + position: absolute; + top: 0; + left: -2px; + width: calc(100% + 4px); + height: 4px; + box-sizing: border-box; + border: 1px solid rgba(255, 255, 255, 0.71); + box-shadow: 0px 0px 1px rgba(0, 0, 0, 0.85); +} + +.colorpicker-body .strip .overlay { + height: 150px; + pointer-events: none; +} + +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +.monaco-hover { + cursor: default; + position: absolute; + overflow: hidden; + z-index: 50; + user-select: text; + -webkit-user-select: text; + -ms-user-select: text; + box-sizing: initial; + animation: fadein 100ms linear; + line-height: 1.5em; +} + +.monaco-hover.hidden { + display: none; +} + +.monaco-hover .hover-contents { + padding: 4px 8px; +} + +.monaco-hover .markdown-hover > .hover-contents:not(.code-hover-contents) { + max-width: 500px; + word-wrap: break-word; +} + +.monaco-hover .markdown-hover > .hover-contents:not(.code-hover-contents) hr { + /* This is a strange rule but it avoids https://github.com/microsoft/vscode/issues/96795, just 100vw on its own caused the actual hover width to increase */ + min-width: calc(100% + 100vw); +} + +.monaco-hover p, +.monaco-hover .code, +.monaco-hover ul { + margin: 8px 0; +} + +.monaco-hover code { + font-family: var(--monaco-monospace-font); +} + +.monaco-hover hr { + margin-top: 4px; + margin-bottom: -4px; + margin-left: -10px; + margin-right: -10px; + height: 1px; +} + +.monaco-hover p:first-child, +.monaco-hover .code:first-child, +.monaco-hover ul:first-child { + margin-top: 0; +} + +.monaco-hover p:last-child, +.monaco-hover .code:last-child, +.monaco-hover ul:last-child { + margin-bottom: 0; +} + +/* MarkupContent Layout */ +.monaco-hover ul { + padding-left: 20px; +} +.monaco-hover ol { + padding-left: 20px; +} + +.monaco-hover li > p { + margin-bottom: 0; +} + +.monaco-hover li > ul { + margin-top: 0; +} + +.monaco-hover code { + border-radius: 3px; + padding: 0 0.4em; +} + +.monaco-hover .monaco-tokenized-source { + white-space: pre-wrap; + word-break: break-all; +} + +.monaco-hover .hover-row.status-bar { + font-size: 12px; + line-height: 22px; +} + +.monaco-hover .hover-row.status-bar .actions { + display: flex; + padding: 0px 8px; +} + +.monaco-hover .hover-row.status-bar .actions .action-container { + margin-right: 16px; + cursor: pointer; +} + +.monaco-hover .hover-row.status-bar .actions .action-container .action .icon { + padding-right: 4px; +} + +.monaco-hover .markdown-hover .hover-contents .codicon { + color: inherit; + font-size: inherit; + vertical-align: middle; +} + +.monaco-hover .hover-contents a.code-link:before { + content: '('; +} +.monaco-hover .hover-contents a.code-link:after { + content: ')'; +} + +.monaco-hover .hover-contents a.code-link { + color: inherit; +} +.monaco-hover .hover-contents a.code-link > span { + text-decoration: underline; + /** Hack to force underline to show **/ + border-bottom: 1px solid transparent; + text-underline-position: under; +} + +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +.monaco-editor .iPadShowKeyboard { + width: 58px; + min-width: 0; + height: 36px; + min-height: 0; + margin: 0; + padding: 0; + position: absolute; + resize: none; + overflow: hidden; + background: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIHZpZXdCb3g9IjAgMCA1MyAzNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiPg0KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00OC4wMzY0IDQuMDEwNDJINC4wMDc3OUw0LjAwNzc5IDMyLjAyODZINDguMDM2NFY0LjAxMDQyWk00LjAwNzc5IDAuMDA3ODEyNUMxLjc5NzIxIDAuMDA3ODEyNSAwLjAwNTE4Nzk5IDEuNzk5ODQgMC4wMDUxODc5OSA0LjAxMDQyVjMyLjAyODZDMC4wMDUxODc5OSAzNC4yMzkyIDEuNzk3MjEgMzYuMDMxMiA0LjAwNzc5IDM2LjAzMTJINDguMDM2NEM1MC4yNDcgMzYuMDMxMiA1Mi4wMzkgMzQuMjM5MiA1Mi4wMzkgMzIuMDI4NlY0LjAxMDQyQzUyLjAzOSAxLjc5OTg0IDUwLjI0NyAwLjAwNzgxMjUgNDguMDM2NCAwLjAwNzgxMjVINC4wMDc3OVpNOC4wMTA0MiA4LjAxMzAySDEyLjAxM1YxMi4wMTU2SDguMDEwNDJWOC4wMTMwMlpNMjAuMDE4MiA4LjAxMzAySDE2LjAxNTZWMTIuMDE1NkgyMC4wMTgyVjguMDEzMDJaTTI0LjAyMDggOC4wMTMwMkgyOC4wMjM0VjEyLjAxNTZIMjQuMDIwOFY4LjAxMzAyWk0zNi4wMjg2IDguMDEzMDJIMzIuMDI2VjEyLjAxNTZIMzYuMDI4NlY4LjAxMzAyWk00MC4wMzEyIDguMDEzMDJINDQuMDMzOVYxMi4wMTU2SDQwLjAzMTJWOC4wMTMwMlpNMTYuMDE1NiAxNi4wMTgySDguMDEwNDJWMjAuMDIwOEgxNi4wMTU2VjE2LjAxODJaTTIwLjAxODIgMTYuMDE4MkgyNC4wMjA4VjIwLjAyMDhIMjAuMDE4MlYxNi4wMTgyWk0zMi4wMjYgMTYuMDE4MkgyOC4wMjM0VjIwLjAyMDhIMzIuMDI2VjE2LjAxODJaTTQ0LjAzMzkgMTYuMDE4MlYyMC4wMjA4SDM2LjAyODZWMTYuMDE4Mkg0NC4wMzM5Wk0xMi4wMTMgMjQuMDIzNEg4LjAxMDQyVjI4LjAyNkgxMi4wMTNWMjQuMDIzNFpNMTYuMDE1NiAyNC4wMjM0SDM2LjAyODZWMjguMDI2SDE2LjAxNTZWMjQuMDIzNFpNNDQuMDMzOSAyNC4wMjM0SDQwLjAzMTJWMjguMDI2SDQ0LjAzMzlWMjQuMDIzNFoiIGZpbGw9IiM0MjQyNDIiLz4NCjwvZz4NCjxkZWZzPg0KPGNsaXBQYXRoIGlkPSJjbGlwMCI+DQo8cmVjdCB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIGZpbGw9IndoaXRlIi8+DQo8L2NsaXBQYXRoPg0KPC9kZWZzPg0KPC9zdmc+DQo=') + center center no-repeat; + border: 4px solid #f6f6f6; + border-radius: 4px; +} + +.monaco-editor.vs-dark .iPadShowKeyboard { + background: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIHZpZXdCb3g9IjAgMCA1MyAzNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiPg0KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00OC4wMzY0IDQuMDEwNDJINC4wMDc3OUw0LjAwNzc5IDMyLjAyODZINDguMDM2NFY0LjAxMDQyWk00LjAwNzc5IDAuMDA3ODEyNUMxLjc5NzIxIDAuMDA3ODEyNSAwLjAwNTE4Nzk5IDEuNzk5ODQgMC4wMDUxODc5OSA0LjAxMDQyVjMyLjAyODZDMC4wMDUxODc5OSAzNC4yMzkyIDEuNzk3MjEgMzYuMDMxMiA0LjAwNzc5IDM2LjAzMTJINDguMDM2NEM1MC4yNDcgMzYuMDMxMiA1Mi4wMzkgMzQuMjM5MiA1Mi4wMzkgMzIuMDI4NlY0LjAxMDQyQzUyLjAzOSAxLjc5OTg0IDUwLjI0NyAwLjAwNzgxMjUgNDguMDM2NCAwLjAwNzgxMjVINC4wMDc3OVpNOC4wMTA0MiA4LjAxMzAySDEyLjAxM1YxMi4wMTU2SDguMDEwNDJWOC4wMTMwMlpNMjAuMDE4MiA4LjAxMzAySDE2LjAxNTZWMTIuMDE1NkgyMC4wMTgyVjguMDEzMDJaTTI0LjAyMDggOC4wMTMwMkgyOC4wMjM0VjEyLjAxNTZIMjQuMDIwOFY4LjAxMzAyWk0zNi4wMjg2IDguMDEzMDJIMzIuMDI2VjEyLjAxNTZIMzYuMDI4NlY4LjAxMzAyWk00MC4wMzEyIDguMDEzMDJINDQuMDMzOVYxMi4wMTU2SDQwLjAzMTJWOC4wMTMwMlpNMTYuMDE1NiAxNi4wMTgySDguMDEwNDJWMjAuMDIwOEgxNi4wMTU2VjE2LjAxODJaTTIwLjAxODIgMTYuMDE4MkgyNC4wMjA4VjIwLjAyMDhIMjAuMDE4MlYxNi4wMTgyWk0zMi4wMjYgMTYuMDE4MkgyOC4wMjM0VjIwLjAyMDhIMzIuMDI2VjE2LjAxODJaTTQ0LjAzMzkgMTYuMDE4MlYyMC4wMjA4SDM2LjAyODZWMTYuMDE4Mkg0NC4wMzM5Wk0xMi4wMTMgMjQuMDIzNEg4LjAxMDQyVjI4LjAyNkgxMi4wMTNWMjQuMDIzNFpNMTYuMDE1NiAyNC4wMjM0SDM2LjAyODZWMjguMDI2SDE2LjAxNTZWMjQuMDIzNFpNNDQuMDMzOSAyNC4wMjM0SDQwLjAzMTJWMjguMDI2SDQ0LjAzMzlWMjQuMDIzNFoiIGZpbGw9IiNDNUM1QzUiLz4NCjwvZz4NCjxkZWZzPg0KPGNsaXBQYXRoIGlkPSJjbGlwMCI+DQo8cmVjdCB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIGZpbGw9IndoaXRlIi8+DQo8L2NsaXBQYXRoPg0KPC9kZWZzPg0KPC9zdmc+DQo=') + center center no-repeat; + border: 4px solid #252526; +} +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +.monaco-editor .tokens-inspect-widget { + z-index: 50; + user-select: text; + -webkit-user-select: text; + -ms-user-select: text; + padding: 10px; +} + +.tokens-inspect-separator { + height: 1px; + border: 0; +} + +.monaco-editor .tokens-inspect-widget .tm-token { + font-family: var(--monaco-monospace-font); +} + +.monaco-editor .tokens-inspect-widget .tm-token-length { + font-weight: normal; + font-size: 60%; + float: right; +} + +.monaco-editor .tokens-inspect-widget .tm-metadata-table { + width: 100%; +} + +.monaco-editor .tokens-inspect-widget .tm-metadata-value { + font-family: var(--monaco-monospace-font); + text-align: right; +} + +.monaco-editor .tokens-inspect-widget .tm-token-type { + font-family: var(--monaco-monospace-font); +} + +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +.monaco-editor .detected-link, +.monaco-editor .detected-link-active { + text-decoration: underline; + text-underline-position: under; +} + +.monaco-editor .detected-link-active { + cursor: pointer; +} + +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +.monaco-editor .on-type-rename-decoration { + border-left: 1px solid transparent; + /* So border can be transparent */ + background-clip: padding-box; +} + +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +.monaco-editor .parameter-hints-widget { + z-index: 10; + display: flex; + flex-direction: column; + line-height: 1.5em; +} + +.monaco-editor .parameter-hints-widget > .wrapper { + max-width: 440px; + display: flex; + flex-direction: row; +} + +.monaco-editor .parameter-hints-widget.multiple { + min-height: 3.3em; + padding: 0; +} + +.monaco-editor .parameter-hints-widget.visible { + transition: left 0.05s ease-in-out; +} + +.monaco-editor .parameter-hints-widget p, +.monaco-editor .parameter-hints-widget ul { + margin: 8px 0; +} + +.monaco-editor .parameter-hints-widget .monaco-scrollable-element, +.monaco-editor .parameter-hints-widget .body { + display: flex; + flex: 1; + flex-direction: column; + min-height: 100%; +} + +.monaco-editor .parameter-hints-widget .signature { + padding: 4px 5px; +} + +.monaco-editor .parameter-hints-widget .docs { + padding: 0 10px 0 5px; + white-space: pre-wrap; +} + +.monaco-editor .parameter-hints-widget .docs.empty { + display: none; +} + +.monaco-editor .parameter-hints-widget .docs .markdown-docs { + white-space: initial; +} + +.monaco-editor .parameter-hints-widget .docs .markdown-docs code { + font-family: var(--monaco-monospace-font); +} + +.monaco-editor .parameter-hints-widget .docs .code { + white-space: pre-wrap; +} + +.monaco-editor .parameter-hints-widget .docs code { + border-radius: 3px; + padding: 0 0.4em; +} + +.monaco-editor .parameter-hints-widget .controls { + display: none; + flex-direction: column; + align-items: center; + min-width: 22px; + justify-content: flex-end; +} + +.monaco-editor .parameter-hints-widget.multiple .controls { + display: flex; + padding: 0 2px; +} + +.monaco-editor .parameter-hints-widget.multiple .button { + width: 16px; + height: 16px; + background-repeat: no-repeat; + cursor: pointer; +} + +.monaco-editor .parameter-hints-widget .button.previous { + bottom: 24px; +} + +.monaco-editor .parameter-hints-widget .overloads { + text-align: center; + height: 12px; + line-height: 12px; + opacity: 0.5; + font-family: var(--monaco-monospace-font); +} + +.monaco-editor .parameter-hints-widget .signature .parameter.active { + font-weight: bold; + text-decoration: underline; +} + +.monaco-editor .parameter-hints-widget .documentation-parameter > .parameter { + font-weight: bold; + margin-right: 0.5em; +} + +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +.monaco-editor .rename-box { + z-index: 100; + color: inherit; +} + +.monaco-editor .rename-box.preview { + padding: 3px 3px 0 3px; +} + +.monaco-editor .rename-box .rename-input { + padding: 3px; + width: calc(100% - 6px); +} + +.monaco-editor .rename-box .rename-label { + display: none; + opacity: 0.8; +} + +.monaco-editor .rename-box.preview .rename-label { + display: inherit; +} + +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +.monaco-editor .snippet-placeholder { + min-width: 2px; + outline-style: solid; + outline-width: 1px; +} + +.monaco-editor .finish-snippet-placeholder { + outline-style: solid; + outline-width: 1px; +} + +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +/* Suggest widget*/ +.monaco-editor .suggest-widget { + z-index: 40; +} + +/** Initial widths **/ + +.monaco-editor .suggest-widget { + width: 430px; +} + +.monaco-editor .suggest-widget > .message, +.monaco-editor .suggest-widget > .tree, +.monaco-editor .suggest-widget > .details { + width: 100%; + border-style: solid; + border-width: 1px; + box-sizing: border-box; +} + +.monaco-editor.hc-black .suggest-widget > .message, +.monaco-editor.hc-black .suggest-widget > .tree, +.monaco-editor.hc-black .suggest-widget > .details { + border-width: 2px; +} + +/** Adjust width when docs are expanded to the side **/ +.monaco-editor .suggest-widget.docs-side { + width: 660px; +} + +.monaco-editor .suggest-widget.docs-side > .tree, +.monaco-editor .suggest-widget.docs-side > .details { + width: 50%; + float: left; +} + +.monaco-editor .suggest-widget.docs-side.list-right > .tree, +.monaco-editor .suggest-widget.docs-side.list-right > .details { + float: right; +} + +/* MarkupContent Layout */ +.monaco-editor .suggest-widget > .details ul { + padding-left: 20px; +} +.monaco-editor .suggest-widget > .details ol { + padding-left: 20px; +} + +.monaco-editor .suggest-widget > .details p code { + font-family: var(--monaco-monospace-font); +} + +/* Styles for Message element for when widget is loading or is empty */ +.monaco-editor .suggest-widget > .message { + padding-left: 22px; +} + +/** Styles for the list element **/ +.monaco-editor .suggest-widget > .tree { + height: 100%; +} + +.monaco-editor .suggest-widget .monaco-list { + user-select: none; + -webkit-user-select: none; + -ms-user-select: none; +} + +/** Styles for each row in the list element **/ + +.monaco-editor .suggest-widget .monaco-list .monaco-list-row { + display: flex; + -mox-box-sizing: border-box; + box-sizing: border-box; + padding-right: 10px; + background-repeat: no-repeat; + background-position: 2px 2px; + white-space: nowrap; + cursor: pointer; + touch-action: none; +} + +.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents { + flex: 1; + height: 100%; + overflow: hidden; + padding-left: 2px; +} + +.monaco-editor + .suggest-widget + .monaco-list + .monaco-list-row + > .contents + > .main { + display: flex; + overflow: hidden; + text-overflow: ellipsis; + white-space: pre; + justify-content: space-between; +} + +.monaco-editor + .suggest-widget + .monaco-list + .monaco-list-row + > .contents + > .main + > .left, +.monaco-editor + .suggest-widget + .monaco-list + .monaco-list-row + > .contents + > .main + > .right { + display: flex; +} + +.monaco-editor + .suggest-widget:not(.frozen) + .monaco-highlighted-label + .highlight { + font-weight: bold; +} + +/** Status Bar **/ + +.monaco-editor .suggest-widget > .suggest-status-bar { + visibility: hidden; + + position: absolute; + left: 0; + + box-sizing: border-box; + + display: flex; + flex-flow: row nowrap; + justify-content: space-between; + + width: 100%; + + font-size: 80%; + + border-left-width: 1px; + border-left-style: solid; + border-right-width: 1px; + border-right-style: solid; + border-bottom-width: 1px; + border-bottom-style: solid; + + padding: 0 8px 0 4px; +} + +.monaco-editor .suggest-widget.list-right.docs-side > .suggest-status-bar { + left: auto; + right: 0; +} +.monaco-editor .suggest-widget.docs-side > .suggest-status-bar { + width: 50%; +} + +/** ReadMore Icon styles **/ + +.monaco-editor + .suggest-widget + .details + > .monaco-scrollable-element + > .body + > .header + > .codicon-close, +.monaco-editor + .suggest-widget + .monaco-list + .monaco-list-row + > .contents + > .main + > .right + > .readMore::before { + color: inherit; + opacity: 1; + font-size: 14px; + cursor: pointer; +} + +.monaco-editor + .suggest-widget + .details + > .monaco-scrollable-element + > .body + > .header + > .codicon-close { + position: absolute; + top: 2px; + right: 2px; +} + +.monaco-editor + .suggest-widget + .details + > .monaco-scrollable-element + > .body + > .header + > .codicon-close:hover, +.monaco-editor + .suggest-widget + .monaco-list + .monaco-list-row + > .contents + > .main + > .right + > .readMore:hover { + opacity: 1; +} + +/** signature, qualifier, type/details opacity **/ +.monaco-editor + .suggest-widget + .monaco-list + .monaco-list-row + > .contents + > .main + > .left + > .signature-label, +.monaco-editor + .suggest-widget + .monaco-list + .monaco-list-row + > .contents + > .main + > .left + > .qualifier-label, +.monaco-editor + .suggest-widget + .monaco-list + .monaco-list-row + > .contents + > .main + > .right + > .details-label { + opacity: 0.7; +} + +.monaco-editor + .suggest-widget + .monaco-list + .monaco-list-row + > .contents + > .main + > .left + > .signature-label { + overflow: hidden; + text-overflow: ellipsis; +} + +.monaco-editor + .suggest-widget + .monaco-list + .monaco-list-row + > .contents + > .main + > .left + > .qualifier-label { + margin-left: 4px; + opacity: 0.4; + font-size: 90%; + text-overflow: ellipsis; + overflow: hidden; + line-height: 17px; + align-self: center; +} + +/** Type Info and icon next to the label in the focused completion item **/ + +.monaco-editor + .suggest-widget + .monaco-list + .monaco-list-row + > .contents + > .main + > .right + > .details-label { + margin-left: 0.8em; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.monaco-editor + .suggest-widget + .monaco-list + .monaco-list-row + > .contents + > .main + > .right + > .details-label + > .monaco-tokenized-source { + display: inline; +} + +/** Details: if using CompletionItem#details, show on focus **/ + +.monaco-editor + .suggest-widget + .monaco-list + .monaco-list-row + > .contents + > .main + > .right + > .details-label, +.monaco-editor + .suggest-widget.docs-side + .monaco-list + .monaco-list-row.focused + > .contents + > .main + > .right + > .details-label { + display: none; +} + +.monaco-editor + .suggest-widget + .monaco-list + .monaco-list-row.focused + > .contents + > .main + > .right + > .details-label { + display: inline; +} + +/** Details: if using CompletionItemLabel#details, always show **/ + +.monaco-editor + .suggest-widget + .monaco-list + .monaco-list-row:not(.string-label) + > .contents + > .main + > .right + > .details-label, +.monaco-editor + .suggest-widget.docs-side + .monaco-list + .monaco-list-row.focused:not(.string-label) + > .contents + > .main + > .right + > .details-label { + display: inline; +} + +/** Ellipsis on hover **/ +.monaco-editor + .suggest-widget:not(.docs-side) + .monaco-list + .monaco-list-row:hover + > .contents + > .main + > .right.can-expand-details + > .details-label { + width: calc(100% - 26px); +} + +.monaco-editor + .suggest-widget + .monaco-list + .monaco-list-row + > .contents + > .main + > .left { + flex-shrink: 1; + flex-grow: 1; + overflow: hidden; +} +.monaco-editor + .suggest-widget + .monaco-list + .monaco-list-row + > .contents + > .main + > .left + > .monaco-icon-label { + flex-shrink: 0; +} +.monaco-editor + .suggest-widget + .monaco-list + .monaco-list-row:not(.string-label) + > .contents + > .main + > .left + > .monaco-icon-label { + max-width: 100%; +} +.monaco-editor + .suggest-widget + .monaco-list + .monaco-list-row.string-label + > .contents + > .main + > .left + > .monaco-icon-label { + flex-shrink: 1; +} +.monaco-editor + .suggest-widget + .monaco-list + .monaco-list-row + > .contents + > .main + > .right { + overflow: hidden; + margin-left: 16px; + flex-shrink: 0; + max-width: 45%; +} + +.monaco-editor + .suggest-widget + .monaco-list + .monaco-list-row + > .contents + > .main + > .right + > .readMore { + display: inline-block; + position: absolute; + right: 10px; + width: 18px; + height: 18px; + visibility: hidden; +} + +/** Do NOT display ReadMore when docs is side/below **/ +.monaco-editor + .suggest-widget.docs-side + .monaco-list + .monaco-list-row + > .contents + > .main + > .right + > .readMore, +.monaco-editor + .suggest-widget.docs-below + .monaco-list + .monaco-list-row + > .contents + > .main + > .right + > .readMore { + display: none !important; +} + +/** Do NOT display ReadMore when using plain CompletionItemLabel (details/documentation might not be resolved) **/ +.monaco-editor + .suggest-widget + .monaco-list + .monaco-list-row.string-label + > .contents + > .main + > .right + > .readMore { + display: none; +} +/** Focused item can show ReadMore, but can't when docs is side/below **/ +.monaco-editor + .suggest-widget + .monaco-list + .monaco-list-row.focused.string-label + > .contents + > .main + > .right + > .readMore { + display: inline-block; +} + +.monaco-editor + .suggest-widget.docs-side + .monaco-list + .monaco-list-row + > .contents + > .main + > .right + > .readMore, +.monaco-editor + .suggest-widget.docs-below + .monaco-list + .monaco-list-row + > .contents + > .main + > .right + > .readMore { + display: none; +} + +.monaco-editor + .suggest-widget + .monaco-list + .monaco-list-row:hover + > .contents + > .main + > .right + > .readMore { + visibility: visible; +} + +/** Styles for each row in the list **/ + +.monaco-editor + .suggest-widget + .monaco-list + .monaco-list-row + .monaco-icon-label.deprecated { + opacity: 0.66; + text-decoration: unset; +} +.monaco-editor + .suggest-widget + .monaco-list + .monaco-list-row + .monaco-icon-label.deprecated + > .monaco-icon-label-container + > .monaco-icon-name-container { + text-decoration: line-through; +} + +.monaco-editor + .suggest-widget + .monaco-list + .monaco-list-row + .monaco-icon-label::before { + height: 100%; +} + +.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon { + display: block; + height: 16px; + width: 16px; + margin-left: 2px; + background-repeat: no-repeat; + background-size: 80%; + background-position: center; +} + +.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.hide { + display: none; +} + +.monaco-editor .suggest-widget .monaco-list .monaco-list-row .suggest-icon { + display: flex; + align-items: center; + margin-right: 4px; +} + +.monaco-editor .suggest-widget.no-icons .monaco-list .monaco-list-row .icon, +.monaco-editor + .suggest-widget.no-icons + .monaco-list + .monaco-list-row + .suggest-icon::before { + display: none; +} + +.monaco-editor + .suggest-widget + .monaco-list + .monaco-list-row + .icon.customcolor + .colorspan { + margin: 0 0 0 0.3em; + border: 0.1em solid #000; + width: 0.7em; + height: 0.7em; + display: inline-block; +} + +/** Styles for the docs of the completion item in focus **/ +.monaco-editor .suggest-widget .details { + display: flex; + flex-direction: column; + cursor: default; +} + +.monaco-editor .suggest-widget .details.no-docs { + display: none; +} + +.monaco-editor .suggest-widget.docs-below .details { + border-top-width: 0; +} + +.monaco-editor .suggest-widget .details > .monaco-scrollable-element { + flex: 1; +} + +.monaco-editor .suggest-widget .details > .monaco-scrollable-element > .body { + position: absolute; + box-sizing: border-box; + height: 100%; + width: 100%; +} + +.monaco-editor + .suggest-widget + .details + > .monaco-scrollable-element + > .body + > .header + > .type { + flex: 2; + overflow: hidden; + text-overflow: ellipsis; + opacity: 0.7; + word-break: break-all; + margin: 0 24px 0 0; + padding: 4px 0 12px 5px; +} + +.monaco-editor + .suggest-widget + .details + > .monaco-scrollable-element + > .body + > .docs { + margin: 0; + padding: 4px 5px; + white-space: pre-wrap; +} + +.monaco-editor + .suggest-widget + .details + > .monaco-scrollable-element + > .body + > .docs.markdown-docs { + padding: 0; + white-space: initial; + min-height: calc(1rem + 8px); +} + +.monaco-editor + .suggest-widget + .details + > .monaco-scrollable-element + > .body + > .docs.markdown-docs + > div, +.monaco-editor + .suggest-widget + .details + > .monaco-scrollable-element + > .body + > .docs.markdown-docs + > span:not(:empty) { + padding: 4px 5px; +} + +.monaco-editor + .suggest-widget + .details + > .monaco-scrollable-element + > .body + > .docs.markdown-docs + > div + > p:first-child { + margin-top: 0; +} + +.monaco-editor + .suggest-widget + .details + > .monaco-scrollable-element + > .body + > .docs.markdown-docs + > div + > p:last-child { + margin-bottom: 0; +} + +.monaco-editor + .suggest-widget + .details + > .monaco-scrollable-element + > .body + > .docs + .code { + white-space: pre-wrap; + word-wrap: break-word; +} + +.monaco-editor + .suggest-widget + .details + > .monaco-scrollable-element + > .body + > .docs.markdown-docs + .codicon { + vertical-align: sub; +} + +.monaco-editor + .suggest-widget + .details + > .monaco-scrollable-element + > .body + > p:empty { + display: none; +} + +.monaco-editor .suggest-widget .details code { + border-radius: 3px; + padding: 0 0.4em; +} + +/* replace/insert decorations */ + +.monaco-editor .suggest-insert-unexpected { + font-style: italic; +} + +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar { + visibility: visible; +} +.monaco-editor .suggest-widget.with-status-bar > .tree { + margin-bottom: 18px; +} + +.monaco-editor + .suggest-widget.with-status-bar + .suggest-status-bar + .action-label { + min-height: 18px; + opacity: 0.5; + color: inherit; +} + +.monaco-editor + .suggest-widget.with-status-bar + .suggest-status-bar + .action-item:not(:last-of-type) + .action-label { + margin-right: 0; +} + +.monaco-editor + .suggest-widget.with-status-bar + .suggest-status-bar + .action-item:not(:last-of-type) + .action-label::after { + content: ', '; + margin-right: 0.3em; +} + +.monaco-editor + .suggest-widget.with-status-bar + .monaco-list + .monaco-list-row + > .contents + > .main + > .right + > .readMore, +.monaco-editor + .suggest-widget.with-status-bar + .monaco-list + .monaco-list-row.focused.string-label + > .contents + > .main + > .right + > .readMore { + display: none; +} + +.monaco-editor + .suggest-widget.with-status-bar:not(.docs-side) + .monaco-list + .monaco-list-row:hover + > .contents + > .main + > .right.can-expand-details + > .details-label { + width: 100%; +} + +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +@font-face { + font-family: 'codicon'; + src: url(codicon.ttf) format('truetype'); +} + +.codicon[class*='codicon-'] { + font: normal normal normal 16px/1 codicon; + display: inline-block; + text-decoration: none; + text-rendering: auto; + text-align: center; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + user-select: none; + -webkit-user-select: none; + -ms-user-select: none; +} + +/* icon rules are dynamically created in codiconStyles */ + +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +.codicon-wrench-subaction { + opacity: 0.5; +} + +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +@keyframes codicon-spin { + 100% { + transform: rotate(360deg); + } +} + +.codicon-animation-spin { + /* Use steps to throttle FPS to reduce CPU usage */ + animation: codicon-spin 1.5s steps(30) infinite; +} + +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +.monaco-list + .monaco-list-row.focused.selected + .outline-element + .monaco-highlighted-label, +.monaco-list .monaco-list-row.focused.selected .outline-element-decoration { + /* make sure selection color wins when a label is being selected */ + color: inherit !important; +} + +.monaco-list .outline-element { + display: flex; + flex: 1; + flex-flow: row nowrap; + align-items: center; +} + +.monaco-list .outline-element .monaco-highlighted-label { + color: var(--outline-element-color); +} + +.monaco-list .outline-element .outline-element-decoration { + opacity: 0.75; + font-size: 90%; + font-weight: 600; + padding: 0 12px 0 5px; + margin-left: auto; + text-align: center; + color: var(--outline-element-color); +} + +.monaco-list .outline-element .outline-element-decoration.bubble { + font-family: codicon; + font-size: 14px; + opacity: 0.4; +} + +.monaco-list .outline-element .outline-element-icon { + margin-right: 4px; +} + +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +.monaco-icon-label.deprecated { + text-decoration: line-through; + opacity: 0.66; +} + +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +/* Default standalone editor fonts */ +.monaco-editor { + font-family: -apple-system, BlinkMacSystemFont, 'Segoe WPC', 'Segoe UI', + 'HelveticaNeue-Light', system-ui, 'Ubuntu', 'Droid Sans', sans-serif; + --monaco-monospace-font: 'SF Mono', Monaco, Menlo, Consolas, 'Ubuntu Mono', + 'Liberation Mono', 'DejaVu Sans Mono', 'Courier New', monospace; +} + +.monaco-menu + .monaco-action-bar.vertical + .action-item + .action-menu-item:focus + .action-label { + stroke-width: 1.2px; +} + +.monaco-editor.vs-dark + .monaco-menu + .monaco-action-bar.vertical + .action-menu-item:focus + .action-label, +.monaco-editor.hc-black + .monaco-menu + .monaco-action-bar.vertical + .action-menu-item:focus + .action-label { + stroke-width: 1.2px; +} + +.monaco-hover p { + margin: 0; +} + +/* The hc-black theme is already high contrast optimized */ +.monaco-editor.hc-black { + -ms-high-contrast-adjust: none; +} +/* In case the browser goes into high contrast mode and the editor is not configured with the hc-black theme */ +@media screen and (-ms-high-contrast: active) { + /* current line highlight */ + .monaco-editor.vs .view-overlays .current-line, + .monaco-editor.vs-dark .view-overlays .current-line { + border-color: windowtext !important; + border-left: 0; + border-right: 0; + } + + /* view cursors */ + .monaco-editor.vs .cursor, + .monaco-editor.vs-dark .cursor { + background-color: windowtext !important; + } + /* dnd target */ + .monaco-editor.vs .dnd-target, + .monaco-editor.vs-dark .dnd-target { + border-color: windowtext !important; + } + + /* selected text background */ + .monaco-editor.vs .selected-text, + .monaco-editor.vs-dark .selected-text { + background-color: highlight !important; + } + + /* allow the text to have a transparent background. */ + .monaco-editor.vs .view-line, + .monaco-editor.vs-dark .view-line { + -ms-high-contrast-adjust: none; + } + + /* text color */ + .monaco-editor.vs .view-line span, + .monaco-editor.vs-dark .view-line span { + color: windowtext !important; + } + /* selected text color */ + .monaco-editor.vs .view-line span.inline-selected-text, + .monaco-editor.vs-dark .view-line span.inline-selected-text { + color: highlighttext !important; + } + + /* allow decorations */ + .monaco-editor.vs .view-overlays, + .monaco-editor.vs-dark .view-overlays { + -ms-high-contrast-adjust: none; + } + + /* various decorations */ + .monaco-editor.vs .selectionHighlight, + .monaco-editor.vs-dark .selectionHighlight, + .monaco-editor.vs .wordHighlight, + .monaco-editor.vs-dark .wordHighlight, + .monaco-editor.vs .wordHighlightStrong, + .monaco-editor.vs-dark .wordHighlightStrong, + .monaco-editor.vs .reference-decoration, + .monaco-editor.vs-dark .reference-decoration { + border: 2px dotted highlight !important; + background: transparent !important; + box-sizing: border-box; + } + .monaco-editor.vs .rangeHighlight, + .monaco-editor.vs-dark .rangeHighlight { + background: transparent !important; + border: 1px dotted activeborder !important; + box-sizing: border-box; + } + .monaco-editor.vs .bracket-match, + .monaco-editor.vs-dark .bracket-match { + border-color: windowtext !important; + background: transparent !important; + } + + /* find widget */ + .monaco-editor.vs .findMatch, + .monaco-editor.vs-dark .findMatch, + .monaco-editor.vs .currentFindMatch, + .monaco-editor.vs-dark .currentFindMatch { + border: 2px dotted activeborder !important; + background: transparent !important; + box-sizing: border-box; + } + .monaco-editor.vs .find-widget, + .monaco-editor.vs-dark .find-widget { + border: 1px solid windowtext; + } + + /* list - used by suggest widget */ + .monaco-editor.vs .monaco-list .monaco-list-row, + .monaco-editor.vs-dark .monaco-list .monaco-list-row { + -ms-high-contrast-adjust: none; + color: windowtext !important; + } + .monaco-editor.vs .monaco-list .monaco-list-row.focused, + .monaco-editor.vs-dark .monaco-list .monaco-list-row.focused { + color: highlighttext !important; + background-color: highlight !important; + } + .monaco-editor.vs .monaco-list .monaco-list-row:hover, + .monaco-editor.vs-dark .monaco-list .monaco-list-row:hover { + background: transparent !important; + border: 1px solid highlight; + box-sizing: border-box; + } + + /* scrollbars */ + .monaco-editor.vs .monaco-scrollable-element > .scrollbar, + .monaco-editor.vs-dark .monaco-scrollable-element > .scrollbar { + -ms-high-contrast-adjust: none; + background: background !important; + border: 1px solid windowtext; + box-sizing: border-box; + } + .monaco-editor.vs .monaco-scrollable-element > .scrollbar > .slider, + .monaco-editor.vs-dark .monaco-scrollable-element > .scrollbar > .slider { + background: windowtext !important; + } + .monaco-editor.vs .monaco-scrollable-element > .scrollbar > .slider:hover, + .monaco-editor.vs-dark + .monaco-scrollable-element + > .scrollbar + > .slider:hover { + background: highlight !important; + } + .monaco-editor.vs .monaco-scrollable-element > .scrollbar > .slider.active, + .monaco-editor.vs-dark + .monaco-scrollable-element + > .scrollbar + > .slider.active { + background: highlight !important; + } + + /* overview ruler */ + .monaco-editor.vs .decorationsOverviewRuler, + .monaco-editor.vs-dark .decorationsOverviewRuler { + opacity: 0; + } + + /* minimap */ + .monaco-editor.vs .minimap, + .monaco-editor.vs-dark .minimap { + display: none; + } + + /* squiggles */ + .monaco-editor.vs .squiggly-d-error, + .monaco-editor.vs-dark .squiggly-d-error { + background: transparent !important; + border-bottom: 4px double #e47777; + } + .monaco-editor.vs .squiggly-c-warning, + .monaco-editor.vs-dark .squiggly-c-warning { + border-bottom: 4px double #71b771; + } + .monaco-editor.vs .squiggly-b-info, + .monaco-editor.vs-dark .squiggly-b-info { + border-bottom: 4px double #71b771; + } + .monaco-editor.vs .squiggly-a-hint, + .monaco-editor.vs-dark .squiggly-a-hint { + border-bottom: 4px double #6c6c6c; + } + + /* contextmenu */ + .monaco-editor.vs + .monaco-menu + .monaco-action-bar.vertical + .action-menu-item:focus + .action-label, + .monaco-editor.vs-dark + .monaco-menu + .monaco-action-bar.vertical + .action-menu-item:focus + .action-label { + -ms-high-contrast-adjust: none; + color: highlighttext !important; + background-color: highlight !important; + } + .monaco-editor.vs + .monaco-menu + .monaco-action-bar.vertical + .action-menu-item:hover + .action-label, + .monaco-editor.vs-dark + .monaco-menu + .monaco-action-bar.vertical + .action-menu-item:hover + .action-label { + -ms-high-contrast-adjust: none; + background: transparent !important; + border: 1px solid highlight; + box-sizing: border-box; + } + + /* diff editor */ + .monaco-diff-editor.vs .diffOverviewRuler, + .monaco-diff-editor.vs-dark .diffOverviewRuler { + display: none; + } + .monaco-editor.vs .line-insert, + .monaco-editor.vs-dark .line-insert, + .monaco-editor.vs .line-delete, + .monaco-editor.vs-dark .line-delete { + background: transparent !important; + border: 1px solid highlight !important; + box-sizing: border-box; + } + .monaco-editor.vs .char-insert, + .monaco-editor.vs-dark .char-insert, + .monaco-editor.vs .char-delete, + .monaco-editor.vs-dark .char-delete { + background: transparent !important; + } +} + +/*.monaco-editor.vs [tabindex="0"]:focus { + outline: 1px solid rgba(0, 122, 204, 0.4); + outline-offset: -1px; + opacity: 1 !important; +} + +.monaco-editor.vs-dark [tabindex="0"]:focus { + outline: 1px solid rgba(14, 99, 156, 0.6); + outline-offset: -1px; + opacity: 1 !important; +}*/ + +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +/* ---------- DiffEditor ---------- */ + +.monaco-diff-editor .diffOverview { + z-index: 9; +} + +.monaco-diff-editor .diffOverview .diffViewport { + z-index: 10; +} + +/* colors not externalized: using transparancy on background */ +.monaco-diff-editor.vs .diffOverview { + background: rgba(0, 0, 0, 0.03); +} +.monaco-diff-editor.vs-dark .diffOverview { + background: rgba(255, 255, 255, 0.01); +} + +.monaco-scrollable-element.modified-in-monaco-diff-editor.vs .scrollbar { + background: rgba(0, 0, 0, 0); +} +.monaco-scrollable-element.modified-in-monaco-diff-editor.vs-dark .scrollbar { + background: rgba(0, 0, 0, 0); +} +.monaco-scrollable-element.modified-in-monaco-diff-editor.hc-black .scrollbar { + background: none; +} + +.monaco-scrollable-element.modified-in-monaco-diff-editor .slider { + z-index: 10; +} +.modified-in-monaco-diff-editor .slider.active { + background: rgba(171, 171, 171, 0.4); +} +.modified-in-monaco-diff-editor.hc-black .slider.active { + background: none; +} + +/* ---------- Diff ---------- */ + +.monaco-editor .insert-sign, +.monaco-diff-editor .insert-sign, +.monaco-editor .delete-sign, +.monaco-diff-editor .delete-sign { + font-size: 11px !important; + opacity: 0.7 !important; + display: flex !important; + align-items: center; +} +.monaco-editor.hc-black .insert-sign, +.monaco-diff-editor.hc-black .insert-sign, +.monaco-editor.hc-black .delete-sign, +.monaco-diff-editor.hc-black .delete-sign { + opacity: 1; +} + +.monaco-editor .inline-deleted-margin-view-zone { + text-align: right; +} +.monaco-editor .inline-added-margin-view-zone { + text-align: right; +} + +/* ---------- Inline Diff ---------- */ + +.monaco-editor .view-zones .view-lines .view-line span { + display: inline-block; +} + +.monaco-editor .margin-view-zones .lightbulb-glyph:hover { + cursor: pointer; +} + +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +.monaco-diff-editor .diff-review-line-number { + text-align: right; + display: inline-block; +} + +.monaco-diff-editor .diff-review { + position: absolute; + user-select: none; + -webkit-user-select: none; + -ms-user-select: none; +} + +.monaco-diff-editor .diff-review-summary { + padding-left: 10px; +} + +.monaco-diff-editor .diff-review-shadow { + position: absolute; +} + +.monaco-diff-editor .diff-review-row { + white-space: pre; +} + +.monaco-diff-editor .diff-review-table { + display: table; + min-width: 100%; +} + +.monaco-diff-editor .diff-review-row { + display: table-row; + width: 100%; +} + +.monaco-diff-editor .diff-review-spacer { + display: inline-block; + width: 10px; + vertical-align: middle; +} + +.monaco-diff-editor .diff-review-spacer > .codicon { + font-size: 9px !important; +} + +.monaco-diff-editor .diff-review-actions { + display: inline-block; + position: absolute; + right: 10px; + top: 2px; +} + +.monaco-diff-editor .diff-review-actions .action-label { + width: 16px; + height: 16px; + margin: 2px 0; +} + +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +.context-view .monaco-menu { + min-width: 130px; +} + +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +.context-view { + position: absolute; + z-index: 2500; +} + +.context-view.fixed { + all: initial; + font-family: inherit; + font-size: 13px; + position: fixed; + z-index: 2500; + color: inherit; +} + +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +.quick-input-widget { + font-size: 13px; +} + +.quick-input-widget .monaco-highlighted-label .highlight, +.quick-input-widget .monaco-highlighted-label .highlight { + color: #0066bf; +} + +.vs-dark .quick-input-widget .monaco-highlighted-label .highlight, +.vs-dark .quick-input-widget .monaco-highlighted-label .highlight { + color: #0097fb; +} + +.hc-black .quick-input-widget .monaco-highlighted-label .highlight, +.hc-black .quick-input-widget .monaco-highlighted-label .highlight { + color: #f38518; +} + +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +.quick-input-widget { + position: absolute; + width: 600px; + z-index: 2000; + padding-bottom: 6px; + left: 50%; + margin-left: -300px; +} + +.quick-input-titlebar { + display: flex; +} + +.quick-input-left-action-bar { + display: flex; + margin-left: 4px; + flex: 1; +} + +.quick-input-left-action-bar.monaco-action-bar .actions-container { + justify-content: flex-start; +} + +.quick-input-title { + padding: 3px 0px; + text-align: center; +} + +.quick-input-right-action-bar { + display: flex; + margin-right: 4px; + flex: 1; +} + +.quick-input-titlebar .monaco-action-bar .action-label.codicon { + margin: 0; + width: 19px; + height: 100%; + background-position: center; + background-repeat: no-repeat; +} + +.quick-input-description { + margin: 6px; +} + +.quick-input-header { + display: flex; + padding: 6px 6px 0px 6px; + margin-bottom: -2px; +} + +.quick-input-widget.hidden-input .quick-input-header { + /* reduce margins and paddings when input box hidden */ + padding: 0; + margin-bottom: 0; +} + +.quick-input-and-message { + display: flex; + flex-direction: column; + flex-grow: 1; + position: relative; +} + +.quick-input-check-all { + align-self: center; + margin: 0; +} + +.quick-input-filter { + flex-grow: 1; + display: flex; + position: relative; +} + +.quick-input-box { + flex-grow: 1; +} + +.quick-input-widget.show-checkboxes .quick-input-box, +.quick-input-widget.show-checkboxes .quick-input-message { + margin-left: 5px; +} + +.quick-input-visible-count { + position: absolute; + left: -10000px; +} + +.quick-input-count { + align-self: center; + position: absolute; + right: 4px; + display: flex; + align-items: center; +} + +.quick-input-count .monaco-count-badge { + vertical-align: middle; + padding: 2px 4px; + border-radius: 2px; + min-height: auto; + line-height: normal; +} + +.quick-input-action { + margin-left: 6px; +} + +.quick-input-action .monaco-text-button { + font-size: 11px; + padding: 0 6px; + display: flex; + height: 100%; + align-items: center; +} + +.quick-input-message { + margin-top: -1px; + padding: 5px 5px 2px 5px; +} + +.quick-input-progress.monaco-progress-container { + position: relative; +} + +.quick-input-progress.monaco-progress-container, +.quick-input-progress.monaco-progress-container .progress-bit { + height: 2px; +} + +.quick-input-list { + line-height: 22px; + margin-top: 6px; +} + +.quick-input-widget.hidden-input .quick-input-list { + margin-top: 0; /* reduce margins when input box hidden */ +} + +.quick-input-list .monaco-list { + overflow: hidden; + max-height: calc(20 * 22px); +} + +.quick-input-list .quick-input-list-entry { + box-sizing: border-box; + overflow: hidden; + display: flex; + height: 100%; + padding: 0 6px; +} + +.quick-input-list .quick-input-list-entry.quick-input-list-separator-border { + border-top-width: 1px; + border-top-style: solid; +} + +.quick-input-list + .monaco-list-row:first-child + .quick-input-list-entry.quick-input-list-separator-border { + border-top-style: none; +} + +.quick-input-list .quick-input-list-label { + overflow: hidden; + display: flex; + height: 100%; + flex: 1; +} + +.quick-input-list .quick-input-list-checkbox { + align-self: center; + margin: 0; +} + +.quick-input-list .quick-input-list-rows { + overflow: hidden; + text-overflow: ellipsis; + display: flex; + flex-direction: column; + height: 100%; + flex: 1; + margin-left: 5px; +} + +.quick-input-widget.show-checkboxes .quick-input-list .quick-input-list-rows { + margin-left: 10px; +} + +.quick-input-widget .quick-input-list .quick-input-list-checkbox { + display: none; +} +.quick-input-widget.show-checkboxes + .quick-input-list + .quick-input-list-checkbox { + display: inline; +} + +.quick-input-list .quick-input-list-rows > .quick-input-list-row { + display: flex; + align-items: center; +} + +.quick-input-list + .quick-input-list-rows + > .quick-input-list-row + .monaco-icon-label, +.quick-input-list + .quick-input-list-rows + > .quick-input-list-row + .monaco-icon-label + .monaco-icon-label-container + > .monaco-icon-name-container { + flex: 1; /* make sure the icon label grows within the row */ +} + +.quick-input-list + .quick-input-list-rows + > .quick-input-list-row + .codicon[class*='codicon-'] { + vertical-align: sub; +} + +.quick-input-list .quick-input-list-rows .monaco-highlighted-label span { + opacity: 1; +} + +.quick-input-list .quick-input-list-entry .quick-input-list-entry-keybinding { + margin-right: 8px; /* separate from the separator label or scrollbar if any */ +} + +.quick-input-list .quick-input-list-label-meta { + opacity: 0.7; + line-height: normal; + text-overflow: ellipsis; + overflow: hidden; +} + +.quick-input-list .monaco-highlighted-label .highlight { + font-weight: bold; +} + +.quick-input-list .quick-input-list-entry .quick-input-list-separator { + margin-right: 8px; /* separate from keybindings or actions */ +} + +.quick-input-list .quick-input-list-entry-action-bar { + display: flex; + flex: 0; + overflow: visible; +} + +.quick-input-list .quick-input-list-entry-action-bar .action-label { + /* + * By default, actions in the quick input action bar are hidden + * until hovered over them or selected. + */ + display: none; +} + +.quick-input-list .quick-input-list-entry-action-bar .action-label.codicon { + margin: 0; + height: 100%; + padding: 0 2px; + vertical-align: middle; +} + +.quick-input-list .quick-input-list-entry-action-bar { + margin-top: 1px; +} + +.quick-input-list .quick-input-list-entry-action-bar { + margin-right: 4px; /* separate from scrollbar */ +} + +.quick-input-list .quick-input-list-entry-action-bar .action-label.codicon { + margin-right: 4px; /* separate actions */ +} + +.quick-input-list + .quick-input-list-entry + .quick-input-list-entry-action-bar + .action-label.always-visible, +.quick-input-list + .quick-input-list-entry:hover + .quick-input-list-entry-action-bar + .action-label, +.quick-input-list + .monaco-list-row.focused + .quick-input-list-entry-action-bar + .action-label { + display: flex; +} + +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +.monaco-keybinding { + display: flex; + align-items: center; + line-height: 10px; +} + +.monaco-keybinding > .monaco-keybinding-key { + display: inline-block; + border: solid 1px rgba(204, 204, 204, 0.4); + border-bottom-color: rgba(187, 187, 187, 0.4); + border-radius: 3px; + box-shadow: inset 0 -1px 0 rgba(187, 187, 187, 0.4); + background-color: rgba(221, 221, 221, 0.4); + vertical-align: middle; + color: #555; + font-size: 11px; + padding: 3px 5px; + margin: 0 2px; +} + +.monaco-keybinding > .monaco-keybinding-key:first-child { + margin-left: 0; +} + +.monaco-keybinding > .monaco-keybinding-key:last-child { + margin-right: 0; +} + +.hc-black .monaco-keybinding > .monaco-keybinding-key, +.vs-dark .monaco-keybinding > .monaco-keybinding-key { + background-color: rgba(128, 128, 128, 0.17); + color: #ccc; + border: solid 1px rgba(51, 51, 51, 0.6); + border-bottom-color: rgba(68, 68, 68, 0.6); + box-shadow: inset 0 -1px 0 rgba(68, 68, 68, 0.6); +} + +.monaco-keybinding > .monaco-keybinding-key-separator { + display: inline-block; +} + +.monaco-keybinding > .monaco-keybinding-key-chord-separator { + width: 6px; +} +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +.monaco-progress-container { + width: 100%; + height: 5px; + overflow: hidden; /* keep progress bit in bounds */ +} + +.monaco-progress-container .progress-bit { + width: 2%; + height: 5px; + position: absolute; + left: 0; + display: none; +} + +.monaco-progress-container.active .progress-bit { + display: inherit; +} + +.monaco-progress-container.discrete .progress-bit { + left: 0; + transition: width 100ms linear; +} + +.monaco-progress-container.discrete.done .progress-bit { + width: 100%; +} + +.monaco-progress-container.infinite .progress-bit { + animation-name: progress; + animation-duration: 4s; + animation-iteration-count: infinite; + animation-timing-function: linear; + transform: translate3d(0px, 0px, 0px); +} + +/** + * The progress bit has a width: 2% (1/50) of the parent container. The animation moves it from 0% to 100% of + * that container. Since translateX is relative to the progress bit size, we have to multiple it with + * its relative size to the parent container: + * 50%: 50 * 50 = 2500% + * 100%: 50 * 100 - 50 (do not overflow): 4950% + */ +@keyframes progress { + from { + transform: translateX(0%) scaleX(1); + } + 50% { + transform: translateX(2500%) scaleX(3); + } + to { + transform: translateX(4950%) scaleX(1); + } +} + +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +.monaco-text-button { + box-sizing: border-box; + display: flex; + width: 100%; + padding: 4px; + text-align: center; + cursor: pointer; + outline-offset: 2px !important; + justify-content: center; + align-items: center; +} + +.monaco-text-button:hover { + text-decoration: none !important; +} + +.monaco-button.disabled { + opacity: 0.4; + cursor: default; +} + +.monaco-button > .codicon { + margin: 0 0.2em; + color: inherit !important; +} + +#editor.svelte-129q4vv { + width: 100%; + height: 400px; + max-height: 300px; + flex: 1; +} +#editor-conf.svelte-e1y9ss { + width: 100%; + height: 200px; + max-height: 300px; + flex: 1; +} +#view.svelte-adxv1m { + border: 1px solor darkred; + flex: 1; +} +#container.svelte-adxv1m { + overflow-x: auto; +} +.error.svelte-adxv1m { + opacity: 0.5; +} +#card.svelte-m2i2uf { + border: 1px solid lightgray; + margin-bottom: 16px; +} +#title.svelte-m2i2uf { + font-family: 'Playfair Display', serif; + font-weight: 400; + border-bottom: 1px solid lightgray; + font-size: 1.25rem; + background-color: #1e60ab; + color: #eaebef; +} +#content.svelte-m2i2uf { + padding-top: 8px; +} +.padding.svelte-m2i2uf { + padding: 8px; +} +#tag.svelte-1nm8e4l { + height: auto; + margin: 0 8px 0 0; + padding: 0 7px; + font-size: 12px; + line-height: 20px; + white-space: nowrap; + border: 1px solid #d9d9d9; + border-radius: 4px; + cursor: default; + font-size: smaller; + color: #52c41a; + background: #f6ffed; + border-color: #b7eb8f; + margin-left: 8px; +} +#links.svelte-187ys3m { + margin-bottom: 1rem; + padding-bottom: 0.5rem; + border-bottom: 1px solid lightgray; +} +#markdown.svelte-187ys3m { + padding: 7px; + font-family: monospace; + font-size: 14px; + width: 95%; + margin: 1rem 0; + border: 1px solid lightgray; +} +label[for='markdown'].svelte-187ys3m { + cursor: pointer; + margin: 0 auto; +} +.button-style.svelte-187ys3m { + background-color: #a2d9e2; + color: #33a2c4; + border-radius: 0.25rem; + padding: 0.5rem; + border: 1px solid #a2d9e2; + margin: 0.25rem; +} +.button-style.svelte-187ys3m:hover { + background-color: #fff; + color: #33a2c4; + border: 1px solid #33a2c4; +} +.button-style.svelte-187ys3m:focus { + outline: none; +} +.link-style.svelte-187ys3m { + text-decoration: none; + color: #33a2c4; +} +#copy-section.svelte-187ys3m { + padding-top: 1rem; + text-align: center; +} +#body.svelte-mx8k4g { + font-family: 'Roboto', sans-serif; + background-color: #fcfbfc; +} +#editor-root.svelte-mx8k4g { + display: flex; + height: 100%; +} +#col1.svelte-mx8k4g { + width: 35%; +} +#col2.svelte-mx8k4g { + width: 65%; + padding-left: 32px; +} +#link-root.svelte-mx8k4g { + display: flex; + height: fit-content; +} +#link-col1.svelte-mx8k4g { + width: 50%; +} +#link-col2.svelte-mx8k4g { + width: 50%; + padding-left: 32px; +} +#app-title.svelte-mx8k4g { + font-family: 'Playfair Display', serif; + font-size: 32px; + font-weight: 700; + margin: 0; + color: #1e60ab; + opacity: 0.8; +} +#title-container.svelte-mx8k4g { + width: fit-content; + margin: 0 auto 8px; +} +#power.svelte-mx8k4g { + width: 100%; + display: flex; + justify-content: flex-end; + align-items: center; + height: 4rem; +} +#sampleLoader.svelte-mx8k4g { + padding-left: 10px; + border-bottom: 1px solid lightgray; +} +#historyLoaderSubTitle.svelte-mx8k4g { + display: inline-block; + color: #33a2c4; + font-size: small; + font-style: italic; +} +.button-container.svelte-mx8k4g { + display: flex; + align-items: center; + flex-direction: row; + flex-wrap: wrap; +} +.button-style.svelte-mx8k4g { + background-color: #a2d9e2; + color: #33a2c4; + border-radius: 0.25rem; + padding: 0.5rem; + border: 1px solid #a2d9e2; + margin: 0.25rem; +} +.button-style.svelte-mx8k4g:hover { + background-color: #fff; + color: #33a2c4; + border: 1px solid #33a2c4; +} +.button-style.svelte-mx8k4g:focus { + outline: none; +} +.link-style.svelte-mx8k4g { + text-decoration: none; + color: #33a2c4; +} +#view-page.svelte-clxwlp { + display: flex; + height: 100%; +} diff --git a/docs/bundle.js b/docs/bundle.js new file mode 100644 index 00000000..d22ab33d --- /dev/null +++ b/docs/bundle.js @@ -0,0 +1,197899 @@ +/*! For license information please see bundle.js.LICENSE.txt */ +(() => { + var e, + t, + i = { + 29609: (e) => { + 'use strict'; + var t = /^(%20|\s)*(javascript|data)/im, + i = /[^\x20-\x7E]/gim, + n = /^([^:]+):/gm, + r = ['.', '/']; + e.exports = { + sanitizeUrl: function (e) { + if (!e) return 'about:blank'; + var s, + o, + a = e.replace(i, '').trim(); + return (function (e) { + return r.indexOf(e[0]) > -1; + })(a) + ? a + : (o = a.match(n)) + ? ((s = o[0]), t.test(s) ? 'about:blank' : a) + : 'about:blank'; + }, + }; + }, + 98129: (e, t, i) => { + 'use strict'; + var n = i(60690); + function r() { + var e = {}, + t = 0, + i = 0, + n = 0; + return { + add: function (r, s) { + s || ((s = r), (r = 0)), + r > i ? (i = r) : r < n && (n = r), + e[r] || (e[r] = []), + e[r].push(s), + t++; + }, + process: function () { + for (var t = n; t <= i; t++) + for (var r = e[t], s = 0; s < r.length; s++) (0, r[s])(); + }, + size: function () { + return t; + }, + }; + } + e.exports = function (e) { + var t = (e = e || {}).reporter, + i = n.getOption(e, 'async', !0), + s = n.getOption(e, 'auto', !0); + s && + !i && + (t && + t.warn( + 'Invalid options combination. auto=true and async=false is invalid. Setting async=true.' + ), + (i = !0)); + var o, + a = r(), + l = !1; + function c() { + for (l = !0; a.size(); ) { + var e = a; + (a = r()), e.process(); + } + l = !1; + } + function d() { + o = setTimeout(c, 0); + } + return { + add: function (e, t) { + !l && s && i && 0 === a.size() && d(), a.add(e, t); + }, + force: function (e) { + l || + (void 0 === e && (e = i), + o && (clearTimeout(o), (o = null)), + e ? d() : c()); + }, + }; + }; + }, + 60690: (e) => { + 'use strict'; + (e.exports = {}).getOption = function (e, t, i) { + var n = e[t]; + return null == n && void 0 !== i ? i : n; + }; + }, + 69362: (e, t, i) => { + 'use strict'; + i.r(t), + i.d(t, { + FormatSpecifier: () => ll, + active: () => Xn, + arc: () => sw, + area: () => hw, + areaRadial: () => yw, + ascending: () => r, + autoType: () => Fo, + axisBottom: () => re, + axisLeft: () => se, + axisRight: () => ne, + axisTop: () => ie, + bisect: () => c, + bisectLeft: () => l, + bisectRight: () => a, + bisector: () => s, + blob: () => ma, + brush: () => Dr, + brushSelection: () => xr, + brushX: () => Lr, + brushY: () => Mr, + buffer: () => ba, + chord: () => Fr, + clientPoint: () => Ei, + cluster: () => xg, + color: () => Kt, + contourDensity: () => oo, + contours: () => eo, + create: () => Iy, + creator: () => rt, + cross: () => u, + csv: () => Sa, + csvFormat: () => ko, + csvFormatBody: () => xo, + csvFormatRow: () => Mo, + csvFormatRows: () => Lo, + csvFormatValue: () => Do, + csvParse: () => Co, + csvParseRows: () => So, + cubehelix: () => zs, + curveBasis: () => eC, + curveBasisClosed: () => iC, + curveBasisOpen: () => rC, + curveBundle: () => oC, + curveCardinal: () => cC, + curveCardinalClosed: () => hC, + curveCardinalOpen: () => gC, + curveCatmullRom: () => mC, + curveCatmullRomClosed: () => bC, + curveCatmullRomOpen: () => yC, + curveLinear: () => aw, + curveLinearClosed: () => CC, + curveMonotoneX: () => EC, + curveMonotoneY: () => TC, + curveNatural: () => AC, + curveStep: () => PC, + curveStepAfter: () => BC, + curveStepBefore: () => FC, + customEvent: () => mt, + descending: () => g, + deviation: () => m, + dispatch: () => ue, + drag: () => fo, + dragDisable: () => Mt, + dragEnable: () => Dt, + dsv: () => Ca, + dsvFormat: () => yo, + easeBack: () => da, + easeBackIn: () => la, + easeBackInOut: () => da, + easeBackOut: () => ca, + easeBounce: () => sa, + easeBounceIn: () => ra, + easeBounceInOut: () => oa, + easeBounceOut: () => sa, + easeCircle: () => ia, + easeCircleIn: () => ea, + easeCircleInOut: () => ia, + easeCircleOut: () => ta, + easeCubic: () => Gn, + easeCubicIn: () => Kn, + easeCubicInOut: () => Gn, + easeCubicOut: () => qn, + easeElastic: () => ga, + easeElasticIn: () => ua, + easeElasticInOut: () => fa, + easeElasticOut: () => ga, + easeExp: () => Xo, + easeExpIn: () => Jo, + easeExpInOut: () => Xo, + easeExpOut: () => Qo, + easeLinear: () => Wo, + easePoly: () => Uo, + easePolyIn: () => Vo, + easePolyInOut: () => Uo, + easePolyOut: () => zo, + easeQuad: () => jo, + easeQuadIn: () => Yo, + easeQuadInOut: () => jo, + easeQuadOut: () => Ho, + easeSin: () => Zo, + easeSinIn: () => qo, + easeSinInOut: () => Zo, + easeSinOut: () => Go, + entries: () => fs, + event: () => dt, + extent: () => _, + forceCenter: () => Ia, + forceCollide: () => Ua, + forceLink: () => qa, + forceManyBody: () => Xa, + forceRadial: () => el, + forceSimulation: () => Qa, + forceX: () => tl, + forceY: () => il, + format: () => gl, + formatDefaultLocale: () => bl, + formatLocale: () => _l, + formatPrefix: () => fl, + formatSpecifier: () => al, + geoAlbers: () => Wu, + geoAlbersUsa: () => Yu, + geoArea: () => fc, + geoAzimuthalEqualArea: () => zu, + geoAzimuthalEqualAreaRaw: () => Vu, + geoAzimuthalEquidistant: () => $u, + geoAzimuthalEquidistantRaw: () => Uu, + geoBounds: () => od, + geoCentroid: () => bd, + geoCircle: () => Nd, + geoClipAntimeridian: () => Hd, + geoClipCircle: () => jd, + geoClipExtent: () => $d, + geoClipRectangle: () => Ud, + geoConicConformal: () => Qu, + geoConicConformalRaw: () => Ju, + geoConicEqualArea: () => Bu, + geoConicEqualAreaRaw: () => Fu, + geoConicEquidistant: () => ig, + geoConicEquidistantRaw: () => tg, + geoContains: () => gh, + geoDistance: () => rh, + geoEqualEarth: () => cg, + geoEqualEarthRaw: () => lg, + geoEquirectangular: () => eg, + geoEquirectangularRaw: () => Xu, + geoGnomonic: () => hg, + geoGnomonicRaw: () => dg, + geoGraticule: () => mh, + geoGraticule10: () => _h, + geoIdentity: () => gg, + geoInterpolate: () => bh, + geoLength: () => th, + geoMercator: () => qu, + geoMercatorRaw: () => Ku, + geoNaturalEarth1: () => pg, + geoNaturalEarth1Raw: () => fg, + geoOrthographic: () => _g, + geoOrthographicRaw: () => mg, + geoPath: () => yu, + geoProjection: () => Au, + geoProjectionMutator: () => Ru, + geoRotation: () => Ld, + geoStereographic: () => vg, + geoStereographicRaw: () => bg, + geoStream: () => tc, + geoTransform: () => wu, + geoTransverseMercator: () => wg, + geoTransverseMercatorRaw: () => yg, + gray: () => Ss, + hcl: () => Is, + hierarchy: () => Mg, + histogram: () => T, + hsl: () => ri, + html: () => Ea, + image: () => xa, + interpolate: () => Di, + interpolateArray: () => yi, + interpolateBasis: () => li, + interpolateBasisClosed: () => ci, + interpolateBlues: () => sy, + interpolateBrBG: () => _v, + interpolateBuGn: () => Rv, + interpolateBuPu: () => Fv, + interpolateCividis: () => my, + interpolateCool: () => vy, + interpolateCubehelix: () => Yf, + interpolateCubehelixDefault: () => _y, + interpolateCubehelixLong: () => Hf, + interpolateDate: () => Ci, + interpolateDiscrete: () => Lf, + interpolateGnBu: () => Wv, + interpolateGreens: () => ay, + interpolateGreys: () => cy, + interpolateHcl: () => Ff, + interpolateHclLong: () => Bf, + interpolateHsl: () => Of, + interpolateHslLong: () => Af, + interpolateHue: () => Mf, + interpolateInferno: () => Ey, + interpolateLab: () => Rf, + interpolateMagma: () => Ny, + interpolateNumber: () => Si, + interpolateNumberArray: () => bi, + interpolateObject: () => ki, + interpolateOrRd: () => Hv, + interpolateOranges: () => py, + interpolatePRGn: () => vv, + interpolatePiYG: () => wv, + interpolatePlasma: () => Ty, + interpolatePuBu: () => Uv, + interpolatePuBuGn: () => Vv, + interpolatePuOr: () => Sv, + interpolatePuRd: () => Kv, + interpolatePurples: () => hy, + interpolateRainbow: () => wy, + interpolateRdBu: () => xv, + interpolateRdGy: () => Mv, + interpolateRdPu: () => Gv, + interpolateRdYlBu: () => Nv, + interpolateRdYlGn: () => Tv, + interpolateReds: () => gy, + interpolateRgb: () => fi, + interpolateRgbBasis: () => mi, + interpolateRgbBasisClosed: () => _i, + interpolateRound: () => Df, + interpolateSinebow: () => xy, + interpolateSpectral: () => Ov, + interpolateString: () => Mi, + interpolateTransformCss: () => fn, + interpolateTransformSvg: () => pn, + interpolateTurbo: () => Ly, + interpolateViridis: () => Dy, + interpolateWarm: () => by, + interpolateYlGn: () => Xv, + interpolateYlGnBu: () => Jv, + interpolateYlOrBr: () => ty, + interpolateYlOrRd: () => ny, + interpolateZoom: () => Tf, + interrupt: () => sn, + interval: () => nS, + isoFormat: () => tS, + isoParse: () => iS, + json: () => Ma, + keys: () => us, + lab: () => ks, + lch: () => Ts, + line: () => dw, + lineRadial: () => vw, + linkHorizontal: () => Nw, + linkRadial: () => Tw, + linkVertical: () => Ew, + local: () => Ay, + map: () => is, + matcher: () => _e, + max: () => R, + mean: () => P, + median: () => F, + merge: () => B, + min: () => W, + mouse: () => Ii, + namespace: () => xe, + namespaces: () => ke, + nest: () => ns, + now: () => Vi, + pack: () => Qg, + packEnclose: () => Og, + packSiblings: () => $g, + pairs: () => d, + partition: () => sf, + path: () => $r, + permute: () => Y, + pie: () => fw, + piecewise: () => jf, + pointRadial: () => ww, + polygonArea: () => zf, + polygonCentroid: () => Uf, + polygonContains: () => Zf, + polygonHull: () => Gf, + polygonLength: () => Jf, + precisionFixed: () => vl, + precisionPrefix: () => yl, + precisionRound: () => wl, + quadtree: () => Wa, + quantile: () => I, + quantize: () => Vf, + radialArea: () => yw, + radialLine: () => vw, + randomBates: () => np, + randomExponential: () => rp, + randomIrwinHall: () => ip, + randomLogNormal: () => tp, + randomNormal: () => ep, + randomUniform: () => Xf, + range: () => S, + rgb: () => Jt, + ribbon: () => Qr, + scaleBand: () => up, + scaleDiverging: () => Xb, + scaleDivergingLog: () => ev, + scaleDivergingPow: () => iv, + scaleDivergingSqrt: () => nv, + scaleDivergingSymlog: () => tv, + scaleIdentity: () => Dp, + scaleImplicit: () => dp, + scaleLinear: () => Mp, + scaleLog: () => Fp, + scaleOrdinal: () => hp, + scalePoint: () => fp, + scalePow: () => $p, + scaleQuantile: () => qp, + scaleQuantize: () => Gp, + scaleSequential: () => $b, + scaleSequentialLog: () => Kb, + scaleSequentialPow: () => Gb, + scaleSequentialQuantile: () => Jb, + scaleSequentialSqrt: () => Zb, + scaleSequentialSymlog: () => qb, + scaleSqrt: () => Kp, + scaleSymlog: () => Hp, + scaleThreshold: () => Zp, + scaleTime: () => Ob, + scaleUtc: () => Vb, + scan: () => H, + schemeAccent: () => ov, + schemeBlues: () => ry, + schemeBrBG: () => mv, + schemeBuGn: () => Av, + schemeBuPu: () => Pv, + schemeCategory10: () => sv, + schemeDark2: () => av, + schemeGnBu: () => Bv, + schemeGreens: () => oy, + schemeGreys: () => ly, + schemeOrRd: () => Yv, + schemeOranges: () => fy, + schemePRGn: () => bv, + schemePaired: () => lv, + schemePastel1: () => cv, + schemePastel2: () => dv, + schemePiYG: () => yv, + schemePuBu: () => zv, + schemePuBuGn: () => jv, + schemePuOr: () => Cv, + schemePuRd: () => $v, + schemePurples: () => dy, + schemeRdBu: () => kv, + schemeRdGy: () => Lv, + schemeRdPu: () => qv, + schemeRdYlBu: () => Dv, + schemeRdYlGn: () => Ev, + schemeReds: () => uy, + schemeSet1: () => hv, + schemeSet2: () => uv, + schemeSet3: () => gv, + schemeSpectral: () => Iv, + schemeTableau10: () => fv, + schemeYlGn: () => Qv, + schemeYlGnBu: () => Zv, + schemeYlOrBr: () => ey, + schemeYlOrRd: () => iy, + select: () => kt, + selectAll: () => Py, + selection: () => St, + selector: () => fe, + selectorAll: () => me, + set: () => hs, + shuffle: () => j, + stack: () => jC, + stackOffsetDiverging: () => zC, + stackOffsetExpand: () => VC, + stackOffsetNone: () => WC, + stackOffsetSilhouette: () => UC, + stackOffsetWiggle: () => $C, + stackOrderAppearance: () => KC, + stackOrderAscending: () => GC, + stackOrderDescending: () => JC, + stackOrderInsideOut: () => QC, + stackOrderNone: () => YC, + stackOrderReverse: () => XC, + stratify: () => df, + style: () => Pe, + sum: () => V, + svg: () => Ta, + symbol: () => Zw, + symbolCircle: () => Iw, + symbolCross: () => Ow, + symbolDiamond: () => Pw, + symbolSquare: () => Hw, + symbolStar: () => Yw, + symbolTriangle: () => Vw, + symbolWye: () => qw, + symbols: () => Gw, + text: () => ya, + thresholdFreedmanDiaconis: () => O, + thresholdScott: () => A, + thresholdSturges: () => E, + tickFormat: () => xp, + tickIncrement: () => D, + tickStep: () => N, + ticks: () => M, + timeDay: () => Mm, + timeDays: () => Dm, + timeFormat: () => g_, + timeFormatDefaultLocale: () => Db, + timeFormatLocale: () => h_, + timeFriday: () => _m, + timeFridays: () => km, + timeHour: () => Em, + timeHours: () => Tm, + timeInterval: () => Xp, + timeMillisecond: () => Wm, + timeMilliseconds: () => Ym, + timeMinute: () => Om, + timeMinutes: () => Am, + timeMonday: () => gm, + timeMondays: () => ym, + timeMonth: () => rm, + timeMonths: () => sm, + timeParse: () => f_, + timeSaturday: () => bm, + timeSaturdays: () => xm, + timeSecond: () => Pm, + timeSeconds: () => Fm, + timeSunday: () => um, + timeSundays: () => vm, + timeThursday: () => mm, + timeThursdays: () => Sm, + timeTuesday: () => fm, + timeTuesdays: () => wm, + timeWednesday: () => pm, + timeWednesdays: () => Cm, + timeWeek: () => um, + timeWeeks: () => vm, + timeYear: () => tm, + timeYears: () => im, + timeout: () => Ji, + timer: () => $i, + timerFlush: () => Ki, + touch: () => Ti, + touches: () => Fy, + transition: () => zn, + transpose: () => z, + tree: () => _f, + treemap: () => Cf, + treemapBinary: () => Sf, + treemapDice: () => rf, + treemapResquarify: () => xf, + treemapSlice: () => bf, + treemapSliceDice: () => kf, + treemapSquarify: () => wf, + tsv: () => ka, + tsvFormat: () => Io, + tsvFormatBody: () => Oo, + tsvFormatRow: () => Ro, + tsvFormatRows: () => Ao, + tsvFormatValue: () => Po, + tsvParse: () => Eo, + tsvParseRows: () => To, + utcDay: () => n_, + utcDays: () => r_, + utcFormat: () => p_, + utcFriday: () => Km, + utcFridays: () => e_, + utcHour: () => Bb, + utcHours: () => Wb, + utcMillisecond: () => Wm, + utcMilliseconds: () => Ym, + utcMinute: () => Hb, + utcMinutes: () => jb, + utcMonday: () => Vm, + utcMondays: () => Zm, + utcMonth: () => Rb, + utcMonths: () => Pb, + utcParse: () => m_, + utcSaturday: () => qm, + utcSaturdays: () => t_, + utcSecond: () => Pm, + utcSeconds: () => Fm, + utcSunday: () => jm, + utcSundays: () => Gm, + utcThursday: () => $m, + utcThursdays: () => Xm, + utcTuesday: () => zm, + utcTuesdays: () => Jm, + utcWednesday: () => Um, + utcWednesdays: () => Qm, + utcWeek: () => jm, + utcWeeks: () => Gm, + utcYear: () => o_, + utcYears: () => a_, + values: () => gs, + variance: () => p, + version: () => n, + voronoi: () => VS, + window: () => Ie, + xml: () => Na, + zip: () => $, + zoom: () => nk, + zoomIdentity: () => KS, + zoomTransform: () => qS, + }); + var n = '5.14.2'; + function r(e, t) { + return e < t ? -1 : e > t ? 1 : e >= t ? 0 : NaN; + } + function s(e) { + var t; + return ( + 1 === e.length && + ((t = e), + (e = function (e, i) { + return r(t(e), i); + })), + { + left: function (t, i, n, r) { + for ( + null == n && (n = 0), null == r && (r = t.length); + n < r; + + ) { + var s = (n + r) >>> 1; + e(t[s], i) < 0 ? (n = s + 1) : (r = s); + } + return n; + }, + right: function (t, i, n, r) { + for ( + null == n && (n = 0), null == r && (r = t.length); + n < r; + + ) { + var s = (n + r) >>> 1; + e(t[s], i) > 0 ? (r = s) : (n = s + 1); + } + return n; + }, + } + ); + } + var o = s(r), + a = o.right, + l = o.left; + const c = a; + function d(e, t) { + null == t && (t = h); + for ( + var i = 0, n = e.length - 1, r = e[0], s = new Array(n < 0 ? 0 : n); + i < n; + + ) + s[i] = t(r, (r = e[++i])); + return s; + } + function h(e, t) { + return [e, t]; + } + function u(e, t, i) { + var n, + r, + s, + o, + a = e.length, + l = t.length, + c = new Array(a * l); + for (null == i && (i = h), n = s = 0; n < a; ++n) + for (o = e[n], r = 0; r < l; ++r, ++s) c[s] = i(o, t[r]); + return c; + } + function g(e, t) { + return t < e ? -1 : t > e ? 1 : t >= e ? 0 : NaN; + } + function f(e) { + return null === e ? NaN : +e; + } + function p(e, t) { + var i, + n, + r = e.length, + s = 0, + o = -1, + a = 0, + l = 0; + if (null == t) + for (; ++o < r; ) + isNaN((i = f(e[o]))) || (l += (n = i - a) * (i - (a += n / ++s))); + else + for (; ++o < r; ) + isNaN((i = f(t(e[o], o, e)))) || + (l += (n = i - a) * (i - (a += n / ++s))); + if (s > 1) return l / (s - 1); + } + function m(e, t) { + var i = p(e, t); + return i ? Math.sqrt(i) : i; + } + function _(e, t) { + var i, + n, + r, + s = e.length, + o = -1; + if (null == t) { + for (; ++o < s; ) + if (null != (i = e[o]) && i >= i) + for (n = r = i; ++o < s; ) + null != (i = e[o]) && (n > i && (n = i), r < i && (r = i)); + } else + for (; ++o < s; ) + if (null != (i = t(e[o], o, e)) && i >= i) + for (n = r = i; ++o < s; ) + null != (i = t(e[o], o, e)) && + (n > i && (n = i), r < i && (r = i)); + return [n, r]; + } + var b = Array.prototype, + v = b.slice, + y = b.map; + function w(e) { + return function () { + return e; + }; + } + function C(e) { + return e; + } + function S(e, t, i) { + (e = +e), + (t = +t), + (i = + (r = arguments.length) < 2 + ? ((t = e), (e = 0), 1) + : r < 3 + ? 1 + : +i); + for ( + var n = -1, + r = 0 | Math.max(0, Math.ceil((t - e) / i)), + s = new Array(r); + ++n < r; + + ) + s[n] = e + n * i; + return s; + } + var k = Math.sqrt(50), + x = Math.sqrt(10), + L = Math.sqrt(2); + function M(e, t, i) { + var n, + r, + s, + o, + a = -1; + if (((i = +i), (e = +e) == (t = +t) && i > 0)) return [e]; + if ( + ((n = t < e) && ((r = e), (e = t), (t = r)), + 0 === (o = D(e, t, i)) || !isFinite(o)) + ) + return []; + if (o > 0) + for ( + e = Math.ceil(e / o), + t = Math.floor(t / o), + s = new Array((r = Math.ceil(t - e + 1))); + ++a < r; + + ) + s[a] = (e + a) * o; + else + for ( + e = Math.floor(e * o), + t = Math.ceil(t * o), + s = new Array((r = Math.ceil(e - t + 1))); + ++a < r; + + ) + s[a] = (e - a) / o; + return n && s.reverse(), s; + } + function D(e, t, i) { + var n = (t - e) / Math.max(0, i), + r = Math.floor(Math.log(n) / Math.LN10), + s = n / Math.pow(10, r); + return r >= 0 + ? (s >= k ? 10 : s >= x ? 5 : s >= L ? 2 : 1) * Math.pow(10, r) + : -Math.pow(10, -r) / (s >= k ? 10 : s >= x ? 5 : s >= L ? 2 : 1); + } + function N(e, t, i) { + var n = Math.abs(t - e) / Math.max(0, i), + r = Math.pow(10, Math.floor(Math.log(n) / Math.LN10)), + s = n / r; + return ( + s >= k ? (r *= 10) : s >= x ? (r *= 5) : s >= L && (r *= 2), + t < e ? -r : r + ); + } + function E(e) { + return Math.ceil(Math.log(e.length) / Math.LN2) + 1; + } + function T() { + var e = C, + t = _, + i = E; + function n(n) { + var r, + s, + o = n.length, + a = new Array(o); + for (r = 0; r < o; ++r) a[r] = e(n[r], r, n); + var l = t(a), + d = l[0], + h = l[1], + u = i(a, d, h); + Array.isArray(u) || + ((u = N(d, h, u)), (u = S(Math.ceil(d / u) * u, h, u))); + for (var g = u.length; u[0] <= d; ) u.shift(), --g; + for (; u[g - 1] > h; ) u.pop(), --g; + var f, + p = new Array(g + 1); + for (r = 0; r <= g; ++r) + ((f = p[r] = []).x0 = r > 0 ? u[r - 1] : d), + (f.x1 = r < g ? u[r] : h); + for (r = 0; r < o; ++r) + d <= (s = a[r]) && s <= h && p[c(u, s, 0, g)].push(n[r]); + return p; + } + return ( + (n.value = function (t) { + return arguments.length + ? ((e = 'function' == typeof t ? t : w(t)), n) + : e; + }), + (n.domain = function (e) { + return arguments.length + ? ((t = 'function' == typeof e ? e : w([e[0], e[1]])), n) + : t; + }), + (n.thresholds = function (e) { + return arguments.length + ? ((i = + 'function' == typeof e + ? e + : Array.isArray(e) + ? w(v.call(e)) + : w(e)), + n) + : i; + }), + n + ); + } + function I(e, t, i) { + if ((null == i && (i = f), (n = e.length))) { + if ((t = +t) <= 0 || n < 2) return +i(e[0], 0, e); + if (t >= 1) return +i(e[n - 1], n - 1, e); + var n, + r = (n - 1) * t, + s = Math.floor(r), + o = +i(e[s], s, e); + return o + (+i(e[s + 1], s + 1, e) - o) * (r - s); + } + } + function O(e, t, i) { + return ( + (e = y.call(e, f).sort(r)), + Math.ceil( + (i - t) / + (2 * (I(e, 0.75) - I(e, 0.25)) * Math.pow(e.length, -1 / 3)) + ) + ); + } + function A(e, t, i) { + return Math.ceil((i - t) / (3.5 * m(e) * Math.pow(e.length, -1 / 3))); + } + function R(e, t) { + var i, + n, + r = e.length, + s = -1; + if (null == t) { + for (; ++s < r; ) + if (null != (i = e[s]) && i >= i) + for (n = i; ++s < r; ) null != (i = e[s]) && i > n && (n = i); + } else + for (; ++s < r; ) + if (null != (i = t(e[s], s, e)) && i >= i) + for (n = i; ++s < r; ) + null != (i = t(e[s], s, e)) && i > n && (n = i); + return n; + } + function P(e, t) { + var i, + n = e.length, + r = n, + s = -1, + o = 0; + if (null == t) + for (; ++s < n; ) isNaN((i = f(e[s]))) ? --r : (o += i); + else for (; ++s < n; ) isNaN((i = f(t(e[s], s, e)))) ? --r : (o += i); + if (r) return o / r; + } + function F(e, t) { + var i, + n = e.length, + s = -1, + o = []; + if (null == t) for (; ++s < n; ) isNaN((i = f(e[s]))) || o.push(i); + else for (; ++s < n; ) isNaN((i = f(t(e[s], s, e)))) || o.push(i); + return I(o.sort(r), 0.5); + } + function B(e) { + for (var t, i, n, r = e.length, s = -1, o = 0; ++s < r; ) + o += e[s].length; + for (i = new Array(o); --r >= 0; ) + for (t = (n = e[r]).length; --t >= 0; ) i[--o] = n[t]; + return i; + } + function W(e, t) { + var i, + n, + r = e.length, + s = -1; + if (null == t) { + for (; ++s < r; ) + if (null != (i = e[s]) && i >= i) + for (n = i; ++s < r; ) null != (i = e[s]) && n > i && (n = i); + } else + for (; ++s < r; ) + if (null != (i = t(e[s], s, e)) && i >= i) + for (n = i; ++s < r; ) + null != (i = t(e[s], s, e)) && n > i && (n = i); + return n; + } + function Y(e, t) { + for (var i = t.length, n = new Array(i); i--; ) n[i] = e[t[i]]; + return n; + } + function H(e, t) { + if ((i = e.length)) { + var i, + n, + s = 0, + o = 0, + a = e[o]; + for (null == t && (t = r); ++s < i; ) + (t((n = e[s]), a) < 0 || 0 !== t(a, a)) && ((a = n), (o = s)); + return 0 === t(a, a) ? o : void 0; + } + } + function j(e, t, i) { + for ( + var n, r, s = (null == i ? e.length : i) - (t = null == t ? 0 : +t); + s; + + ) + (r = (Math.random() * s--) | 0), + (n = e[s + t]), + (e[s + t] = e[r + t]), + (e[r + t] = n); + return e; + } + function V(e, t) { + var i, + n = e.length, + r = -1, + s = 0; + if (null == t) for (; ++r < n; ) (i = +e[r]) && (s += i); + else for (; ++r < n; ) (i = +t(e[r], r, e)) && (s += i); + return s; + } + function z(e) { + if (!(r = e.length)) return []; + for (var t = -1, i = W(e, U), n = new Array(i); ++t < i; ) + for (var r, s = -1, o = (n[t] = new Array(r)); ++s < r; ) + o[s] = e[s][t]; + return n; + } + function U(e) { + return e.length; + } + function $() { + return z(arguments); + } + var K = Array.prototype.slice; + function q(e) { + return e; + } + var G = 1e-6; + function Z(e) { + return 'translate(' + (e + 0.5) + ',0)'; + } + function J(e) { + return 'translate(0,' + (e + 0.5) + ')'; + } + function Q(e) { + return function (t) { + return +e(t); + }; + } + function X(e) { + var t = Math.max(0, e.bandwidth() - 1) / 2; + return ( + e.round() && (t = Math.round(t)), + function (i) { + return +e(i) + t; + } + ); + } + function ee() { + return !this.__axis; + } + function te(e, t) { + var i = [], + n = null, + r = null, + s = 6, + o = 6, + a = 3, + l = 1 === e || 4 === e ? -1 : 1, + c = 4 === e || 2 === e ? 'x' : 'y', + d = 1 === e || 3 === e ? Z : J; + function h(h) { + var u = + null == n ? (t.ticks ? t.ticks.apply(t, i) : t.domain()) : n, + g = null == r ? (t.tickFormat ? t.tickFormat.apply(t, i) : q) : r, + f = Math.max(s, 0) + a, + p = t.range(), + m = +p[0] + 0.5, + _ = +p[p.length - 1] + 0.5, + b = (t.bandwidth ? X : Q)(t.copy()), + v = h.selection ? h.selection() : h, + y = v.selectAll('.domain').data([null]), + w = v.selectAll('.tick').data(u, t).order(), + C = w.exit(), + S = w.enter().append('g').attr('class', 'tick'), + k = w.select('line'), + x = w.select('text'); + (y = y.merge( + y + .enter() + .insert('path', '.tick') + .attr('class', 'domain') + .attr('stroke', 'currentColor') + )), + (w = w.merge(S)), + (k = k.merge( + S.append('line') + .attr('stroke', 'currentColor') + .attr(c + '2', l * s) + )), + (x = x.merge( + S.append('text') + .attr('fill', 'currentColor') + .attr(c, l * f) + .attr('dy', 1 === e ? '0em' : 3 === e ? '0.71em' : '0.32em') + )), + h !== v && + ((y = y.transition(h)), + (w = w.transition(h)), + (k = k.transition(h)), + (x = x.transition(h)), + (C = C.transition(h) + .attr('opacity', G) + .attr('transform', function (e) { + return isFinite((e = b(e))) + ? d(e) + : this.getAttribute('transform'); + })), + S.attr('opacity', G).attr('transform', function (e) { + var t = this.parentNode.__axis; + return d(t && isFinite((t = t(e))) ? t : b(e)); + })), + C.remove(), + y.attr( + 'd', + 4 === e || 2 == e + ? o + ? 'M' + l * o + ',' + m + 'H0.5V' + _ + 'H' + l * o + : 'M0.5,' + m + 'V' + _ + : o + ? 'M' + m + ',' + l * o + 'V0.5H' + _ + 'V' + l * o + : 'M' + m + ',0.5H' + _ + ), + w.attr('opacity', 1).attr('transform', function (e) { + return d(b(e)); + }), + k.attr(c + '2', l * s), + x.attr(c, l * f).text(g), + v + .filter(ee) + .attr('fill', 'none') + .attr('font-size', 10) + .attr('font-family', 'sans-serif') + .attr( + 'text-anchor', + 2 === e ? 'start' : 4 === e ? 'end' : 'middle' + ), + v.each(function () { + this.__axis = b; + }); + } + return ( + (h.scale = function (e) { + return arguments.length ? ((t = e), h) : t; + }), + (h.ticks = function () { + return (i = K.call(arguments)), h; + }), + (h.tickArguments = function (e) { + return arguments.length + ? ((i = null == e ? [] : K.call(e)), h) + : i.slice(); + }), + (h.tickValues = function (e) { + return arguments.length + ? ((n = null == e ? null : K.call(e)), h) + : n && n.slice(); + }), + (h.tickFormat = function (e) { + return arguments.length ? ((r = e), h) : r; + }), + (h.tickSize = function (e) { + return arguments.length ? ((s = o = +e), h) : s; + }), + (h.tickSizeInner = function (e) { + return arguments.length ? ((s = +e), h) : s; + }), + (h.tickSizeOuter = function (e) { + return arguments.length ? ((o = +e), h) : o; + }), + (h.tickPadding = function (e) { + return arguments.length ? ((a = +e), h) : a; + }), + h + ); + } + function ie(e) { + return te(1, e); + } + function ne(e) { + return te(2, e); + } + function re(e) { + return te(3, e); + } + function se(e) { + return te(4, e); + } + var oe = { value: function () {} }; + function ae() { + for (var e, t = 0, i = arguments.length, n = {}; t < i; ++t) { + if (!(e = arguments[t] + '') || e in n || /[\s.]/.test(e)) + throw new Error('illegal type: ' + e); + n[e] = []; + } + return new le(n); + } + function le(e) { + this._ = e; + } + function ce(e, t) { + return e + .trim() + .split(/^|\s+/) + .map(function (e) { + var i = '', + n = e.indexOf('.'); + if ( + (n >= 0 && ((i = e.slice(n + 1)), (e = e.slice(0, n))), + e && !t.hasOwnProperty(e)) + ) + throw new Error('unknown type: ' + e); + return { type: e, name: i }; + }); + } + function de(e, t) { + for (var i, n = 0, r = e.length; n < r; ++n) + if ((i = e[n]).name === t) return i.value; + } + function he(e, t, i) { + for (var n = 0, r = e.length; n < r; ++n) + if (e[n].name === t) { + (e[n] = oe), (e = e.slice(0, n).concat(e.slice(n + 1))); + break; + } + return null != i && e.push({ name: t, value: i }), e; + } + le.prototype = ae.prototype = { + constructor: le, + on: function (e, t) { + var i, + n = this._, + r = ce(e + '', n), + s = -1, + o = r.length; + if (!(arguments.length < 2)) { + if (null != t && 'function' != typeof t) + throw new Error('invalid callback: ' + t); + for (; ++s < o; ) + if ((i = (e = r[s]).type)) n[i] = he(n[i], e.name, t); + else if (null == t) for (i in n) n[i] = he(n[i], e.name, null); + return this; + } + for (; ++s < o; ) + if ((i = (e = r[s]).type) && (i = de(n[i], e.name))) return i; + }, + copy: function () { + var e = {}, + t = this._; + for (var i in t) e[i] = t[i].slice(); + return new le(e); + }, + call: function (e, t) { + if ((i = arguments.length - 2) > 0) + for (var i, n, r = new Array(i), s = 0; s < i; ++s) + r[s] = arguments[s + 2]; + if (!this._.hasOwnProperty(e)) + throw new Error('unknown type: ' + e); + for (s = 0, i = (n = this._[e]).length; s < i; ++s) + n[s].value.apply(t, r); + }, + apply: function (e, t, i) { + if (!this._.hasOwnProperty(e)) + throw new Error('unknown type: ' + e); + for (var n = this._[e], r = 0, s = n.length; r < s; ++r) + n[r].value.apply(t, i); + }, + }; + const ue = ae; + function ge() {} + function fe(e) { + return null == e + ? ge + : function () { + return this.querySelector(e); + }; + } + function pe() { + return []; + } + function me(e) { + return null == e + ? pe + : function () { + return this.querySelectorAll(e); + }; + } + function _e(e) { + return function () { + return this.matches(e); + }; + } + function be(e) { + return new Array(e.length); + } + function ve(e, t) { + (this.ownerDocument = e.ownerDocument), + (this.namespaceURI = e.namespaceURI), + (this._next = null), + (this._parent = e), + (this.__data__ = t); + } + function ye(e, t, i, n, r, s) { + for (var o, a = 0, l = t.length, c = s.length; a < c; ++a) + (o = t[a]) + ? ((o.__data__ = s[a]), (n[a] = o)) + : (i[a] = new ve(e, s[a])); + for (; a < l; ++a) (o = t[a]) && (r[a] = o); + } + function we(e, t, i, n, r, s, o) { + var a, + l, + c, + d = {}, + h = t.length, + u = s.length, + g = new Array(h); + for (a = 0; a < h; ++a) + (l = t[a]) && + ((g[a] = c = '$' + o.call(l, l.__data__, a, t)), + c in d ? (r[a] = l) : (d[c] = l)); + for (a = 0; a < u; ++a) + (l = d[(c = '$' + o.call(e, s[a], a, s))]) + ? ((n[a] = l), (l.__data__ = s[a]), (d[c] = null)) + : (i[a] = new ve(e, s[a])); + for (a = 0; a < h; ++a) (l = t[a]) && d[g[a]] === l && (r[a] = l); + } + function Ce(e, t) { + return e < t ? -1 : e > t ? 1 : e >= t ? 0 : NaN; + } + ve.prototype = { + constructor: ve, + appendChild: function (e) { + return this._parent.insertBefore(e, this._next); + }, + insertBefore: function (e, t) { + return this._parent.insertBefore(e, t); + }, + querySelector: function (e) { + return this._parent.querySelector(e); + }, + querySelectorAll: function (e) { + return this._parent.querySelectorAll(e); + }, + }; + var Se = 'http://www.w3.org/1999/xhtml'; + const ke = { + svg: 'http://www.w3.org/2000/svg', + xhtml: Se, + xlink: 'http://www.w3.org/1999/xlink', + xml: 'http://www.w3.org/XML/1998/namespace', + xmlns: 'http://www.w3.org/2000/xmlns/', + }; + function xe(e) { + var t = (e += ''), + i = t.indexOf(':'); + return ( + i >= 0 && 'xmlns' !== (t = e.slice(0, i)) && (e = e.slice(i + 1)), + ke.hasOwnProperty(t) ? { space: ke[t], local: e } : e + ); + } + function Le(e) { + return function () { + this.removeAttribute(e); + }; + } + function Me(e) { + return function () { + this.removeAttributeNS(e.space, e.local); + }; + } + function De(e, t) { + return function () { + this.setAttribute(e, t); + }; + } + function Ne(e, t) { + return function () { + this.setAttributeNS(e.space, e.local, t); + }; + } + function Ee(e, t) { + return function () { + var i = t.apply(this, arguments); + null == i ? this.removeAttribute(e) : this.setAttribute(e, i); + }; + } + function Te(e, t) { + return function () { + var i = t.apply(this, arguments); + null == i + ? this.removeAttributeNS(e.space, e.local) + : this.setAttributeNS(e.space, e.local, i); + }; + } + function Ie(e) { + return ( + (e.ownerDocument && e.ownerDocument.defaultView) || + (e.document && e) || + e.defaultView + ); + } + function Oe(e) { + return function () { + this.style.removeProperty(e); + }; + } + function Ae(e, t, i) { + return function () { + this.style.setProperty(e, t, i); + }; + } + function Re(e, t, i) { + return function () { + var n = t.apply(this, arguments); + null == n + ? this.style.removeProperty(e) + : this.style.setProperty(e, n, i); + }; + } + function Pe(e, t) { + return ( + e.style.getPropertyValue(t) || + Ie(e).getComputedStyle(e, null).getPropertyValue(t) + ); + } + function Fe(e) { + return function () { + delete this[e]; + }; + } + function Be(e, t) { + return function () { + this[e] = t; + }; + } + function We(e, t) { + return function () { + var i = t.apply(this, arguments); + null == i ? delete this[e] : (this[e] = i); + }; + } + function Ye(e) { + return e.trim().split(/^|\s+/); + } + function He(e) { + return e.classList || new je(e); + } + function je(e) { + (this._node = e), (this._names = Ye(e.getAttribute('class') || '')); + } + function Ve(e, t) { + for (var i = He(e), n = -1, r = t.length; ++n < r; ) i.add(t[n]); + } + function ze(e, t) { + for (var i = He(e), n = -1, r = t.length; ++n < r; ) i.remove(t[n]); + } + function Ue(e) { + return function () { + Ve(this, e); + }; + } + function $e(e) { + return function () { + ze(this, e); + }; + } + function Ke(e, t) { + return function () { + (t.apply(this, arguments) ? Ve : ze)(this, e); + }; + } + function qe() { + this.textContent = ''; + } + function Ge(e) { + return function () { + this.textContent = e; + }; + } + function Ze(e) { + return function () { + var t = e.apply(this, arguments); + this.textContent = null == t ? '' : t; + }; + } + function Je() { + this.innerHTML = ''; + } + function Qe(e) { + return function () { + this.innerHTML = e; + }; + } + function Xe(e) { + return function () { + var t = e.apply(this, arguments); + this.innerHTML = null == t ? '' : t; + }; + } + function et() { + this.nextSibling && this.parentNode.appendChild(this); + } + function tt() { + this.previousSibling && + this.parentNode.insertBefore(this, this.parentNode.firstChild); + } + function it(e) { + return function () { + var t = this.ownerDocument, + i = this.namespaceURI; + return i === Se && t.documentElement.namespaceURI === Se + ? t.createElement(e) + : t.createElementNS(i, e); + }; + } + function nt(e) { + return function () { + return this.ownerDocument.createElementNS(e.space, e.local); + }; + } + function rt(e) { + var t = xe(e); + return (t.local ? nt : it)(t); + } + function st() { + return null; + } + function ot() { + var e = this.parentNode; + e && e.removeChild(this); + } + function at() { + var e = this.cloneNode(!1), + t = this.parentNode; + return t ? t.insertBefore(e, this.nextSibling) : e; + } + function lt() { + var e = this.cloneNode(!0), + t = this.parentNode; + return t ? t.insertBefore(e, this.nextSibling) : e; + } + je.prototype = { + add: function (e) { + this._names.indexOf(e) < 0 && + (this._names.push(e), + this._node.setAttribute('class', this._names.join(' '))); + }, + remove: function (e) { + var t = this._names.indexOf(e); + t >= 0 && + (this._names.splice(t, 1), + this._node.setAttribute('class', this._names.join(' '))); + }, + contains: function (e) { + return this._names.indexOf(e) >= 0; + }, + }; + var ct = {}, + dt = null; + function ht(e, t, i) { + return ( + (e = ut(e, t, i)), + function (t) { + var i = t.relatedTarget; + (i && (i === this || 8 & i.compareDocumentPosition(this))) || + e.call(this, t); + } + ); + } + function ut(e, t, i) { + return function (n) { + var r = dt; + dt = n; + try { + e.call(this, this.__data__, t, i); + } finally { + dt = r; + } + }; + } + function gt(e) { + return e + .trim() + .split(/^|\s+/) + .map(function (e) { + var t = '', + i = e.indexOf('.'); + return ( + i >= 0 && ((t = e.slice(i + 1)), (e = e.slice(0, i))), + { type: e, name: t } + ); + }); + } + function ft(e) { + return function () { + var t = this.__on; + if (t) { + for (var i, n = 0, r = -1, s = t.length; n < s; ++n) + (i = t[n]), + (e.type && i.type !== e.type) || i.name !== e.name + ? (t[++r] = i) + : this.removeEventListener(i.type, i.listener, i.capture); + ++r ? (t.length = r) : delete this.__on; + } + }; + } + function pt(e, t, i) { + var n = ct.hasOwnProperty(e.type) ? ht : ut; + return function (r, s, o) { + var a, + l = this.__on, + c = n(t, s, o); + if (l) + for (var d = 0, h = l.length; d < h; ++d) + if ((a = l[d]).type === e.type && a.name === e.name) + return ( + this.removeEventListener(a.type, a.listener, a.capture), + this.addEventListener( + a.type, + (a.listener = c), + (a.capture = i) + ), + void (a.value = t) + ); + this.addEventListener(e.type, c, i), + (a = { + type: e.type, + name: e.name, + value: t, + listener: c, + capture: i, + }), + l ? l.push(a) : (this.__on = [a]); + }; + } + function mt(e, t, i, n) { + var r = dt; + (e.sourceEvent = dt), (dt = e); + try { + return t.apply(i, n); + } finally { + dt = r; + } + } + function _t(e, t, i) { + var n = Ie(e), + r = n.CustomEvent; + 'function' == typeof r + ? (r = new r(t, i)) + : ((r = n.document.createEvent('Event')), + i + ? (r.initEvent(t, i.bubbles, i.cancelable), + (r.detail = i.detail)) + : r.initEvent(t, !1, !1)), + e.dispatchEvent(r); + } + function bt(e, t) { + return function () { + return _t(this, e, t); + }; + } + function vt(e, t) { + return function () { + return _t(this, e, t.apply(this, arguments)); + }; + } + 'undefined' != typeof document && + ('onmouseenter' in document.documentElement || + (ct = { mouseenter: 'mouseover', mouseleave: 'mouseout' })); + var yt = [null]; + function wt(e, t) { + (this._groups = e), (this._parents = t); + } + function Ct() { + return new wt([[document.documentElement]], yt); + } + wt.prototype = Ct.prototype = { + constructor: wt, + select: function (e) { + 'function' != typeof e && (e = fe(e)); + for ( + var t = this._groups, i = t.length, n = new Array(i), r = 0; + r < i; + ++r + ) + for ( + var s, + o, + a = t[r], + l = a.length, + c = (n[r] = new Array(l)), + d = 0; + d < l; + ++d + ) + (s = a[d]) && + (o = e.call(s, s.__data__, d, a)) && + ('__data__' in s && (o.__data__ = s.__data__), (c[d] = o)); + return new wt(n, this._parents); + }, + selectAll: function (e) { + 'function' != typeof e && (e = me(e)); + for ( + var t = this._groups, i = t.length, n = [], r = [], s = 0; + s < i; + ++s + ) + for (var o, a = t[s], l = a.length, c = 0; c < l; ++c) + (o = a[c]) && (n.push(e.call(o, o.__data__, c, a)), r.push(o)); + return new wt(n, r); + }, + filter: function (e) { + 'function' != typeof e && (e = _e(e)); + for ( + var t = this._groups, i = t.length, n = new Array(i), r = 0; + r < i; + ++r + ) + for ( + var s, o = t[r], a = o.length, l = (n[r] = []), c = 0; + c < a; + ++c + ) + (s = o[c]) && e.call(s, s.__data__, c, o) && l.push(s); + return new wt(n, this._parents); + }, + data: function (e, t) { + if (!e) + return ( + (f = new Array(this.size())), + (d = -1), + this.each(function (e) { + f[++d] = e; + }), + f + ); + var i, + n = t ? we : ye, + r = this._parents, + s = this._groups; + 'function' != typeof e && + ((i = e), + (e = function () { + return i; + })); + for ( + var o = s.length, + a = new Array(o), + l = new Array(o), + c = new Array(o), + d = 0; + d < o; + ++d + ) { + var h = r[d], + u = s[d], + g = u.length, + f = e.call(h, h && h.__data__, d, r), + p = f.length, + m = (l[d] = new Array(p)), + _ = (a[d] = new Array(p)); + n(h, u, m, _, (c[d] = new Array(g)), f, t); + for (var b, v, y = 0, w = 0; y < p; ++y) + if ((b = m[y])) { + for (y >= w && (w = y + 1); !(v = _[w]) && ++w < p; ); + b._next = v || null; + } + } + return ((a = new wt(a, r))._enter = l), (a._exit = c), a; + }, + enter: function () { + return new wt(this._enter || this._groups.map(be), this._parents); + }, + exit: function () { + return new wt(this._exit || this._groups.map(be), this._parents); + }, + join: function (e, t, i) { + var n = this.enter(), + r = this, + s = this.exit(); + return ( + (n = 'function' == typeof e ? e(n) : n.append(e + '')), + null != t && (r = t(r)), + null == i ? s.remove() : i(s), + n && r ? n.merge(r).order() : r + ); + }, + merge: function (e) { + for ( + var t = this._groups, + i = e._groups, + n = t.length, + r = i.length, + s = Math.min(n, r), + o = new Array(n), + a = 0; + a < s; + ++a + ) + for ( + var l, + c = t[a], + d = i[a], + h = c.length, + u = (o[a] = new Array(h)), + g = 0; + g < h; + ++g + ) + (l = c[g] || d[g]) && (u[g] = l); + for (; a < n; ++a) o[a] = t[a]; + return new wt(o, this._parents); + }, + order: function () { + for (var e = this._groups, t = -1, i = e.length; ++t < i; ) + for (var n, r = e[t], s = r.length - 1, o = r[s]; --s >= 0; ) + (n = r[s]) && + (o && + 4 ^ n.compareDocumentPosition(o) && + o.parentNode.insertBefore(n, o), + (o = n)); + return this; + }, + sort: function (e) { + function t(t, i) { + return t && i ? e(t.__data__, i.__data__) : !t - !i; + } + e || (e = Ce); + for ( + var i = this._groups, n = i.length, r = new Array(n), s = 0; + s < n; + ++s + ) { + for ( + var o, a = i[s], l = a.length, c = (r[s] = new Array(l)), d = 0; + d < l; + ++d + ) + (o = a[d]) && (c[d] = o); + c.sort(t); + } + return new wt(r, this._parents).order(); + }, + call: function () { + var e = arguments[0]; + return (arguments[0] = this), e.apply(null, arguments), this; + }, + nodes: function () { + var e = new Array(this.size()), + t = -1; + return ( + this.each(function () { + e[++t] = this; + }), + e + ); + }, + node: function () { + for (var e = this._groups, t = 0, i = e.length; t < i; ++t) + for (var n = e[t], r = 0, s = n.length; r < s; ++r) { + var o = n[r]; + if (o) return o; + } + return null; + }, + size: function () { + var e = 0; + return ( + this.each(function () { + ++e; + }), + e + ); + }, + empty: function () { + return !this.node(); + }, + each: function (e) { + for (var t = this._groups, i = 0, n = t.length; i < n; ++i) + for (var r, s = t[i], o = 0, a = s.length; o < a; ++o) + (r = s[o]) && e.call(r, r.__data__, o, s); + return this; + }, + attr: function (e, t) { + var i = xe(e); + if (arguments.length < 2) { + var n = this.node(); + return i.local + ? n.getAttributeNS(i.space, i.local) + : n.getAttribute(i); + } + return this.each( + (null == t + ? i.local + ? Me + : Le + : 'function' == typeof t + ? i.local + ? Te + : Ee + : i.local + ? Ne + : De)(i, t) + ); + }, + style: function (e, t, i) { + return arguments.length > 1 + ? this.each( + (null == t ? Oe : 'function' == typeof t ? Re : Ae)( + e, + t, + null == i ? '' : i + ) + ) + : Pe(this.node(), e); + }, + property: function (e, t) { + return arguments.length > 1 + ? this.each( + (null == t ? Fe : 'function' == typeof t ? We : Be)(e, t) + ) + : this.node()[e]; + }, + classed: function (e, t) { + var i = Ye(e + ''); + if (arguments.length < 2) { + for (var n = He(this.node()), r = -1, s = i.length; ++r < s; ) + if (!n.contains(i[r])) return !1; + return !0; + } + return this.each(('function' == typeof t ? Ke : t ? Ue : $e)(i, t)); + }, + text: function (e) { + return arguments.length + ? this.each( + null == e ? qe : ('function' == typeof e ? Ze : Ge)(e) + ) + : this.node().textContent; + }, + html: function (e) { + return arguments.length + ? this.each( + null == e ? Je : ('function' == typeof e ? Xe : Qe)(e) + ) + : this.node().innerHTML; + }, + raise: function () { + return this.each(et); + }, + lower: function () { + return this.each(tt); + }, + append: function (e) { + var t = 'function' == typeof e ? e : rt(e); + return this.select(function () { + return this.appendChild(t.apply(this, arguments)); + }); + }, + insert: function (e, t) { + var i = 'function' == typeof e ? e : rt(e), + n = null == t ? st : 'function' == typeof t ? t : fe(t); + return this.select(function () { + return this.insertBefore( + i.apply(this, arguments), + n.apply(this, arguments) || null + ); + }); + }, + remove: function () { + return this.each(ot); + }, + clone: function (e) { + return this.select(e ? lt : at); + }, + datum: function (e) { + return arguments.length + ? this.property('__data__', e) + : this.node().__data__; + }, + on: function (e, t, i) { + var n, + r, + s = gt(e + ''), + o = s.length; + if (!(arguments.length < 2)) { + for (a = t ? pt : ft, null == i && (i = !1), n = 0; n < o; ++n) + this.each(a(s[n], t, i)); + return this; + } + var a = this.node().__on; + if (a) + for (var l, c = 0, d = a.length; c < d; ++c) + for (n = 0, l = a[c]; n < o; ++n) + if ((r = s[n]).type === l.type && r.name === l.name) + return l.value; + }, + dispatch: function (e, t) { + return this.each(('function' == typeof t ? vt : bt)(e, t)); + }, + }; + const St = Ct; + function kt(e) { + return 'string' == typeof e + ? new wt([[document.querySelector(e)]], [document.documentElement]) + : new wt([[e]], yt); + } + function xt() { + dt.stopImmediatePropagation(); + } + function Lt() { + dt.preventDefault(), dt.stopImmediatePropagation(); + } + function Mt(e) { + var t = e.document.documentElement, + i = kt(e).on('dragstart.drag', Lt, !0); + 'onselectstart' in t + ? i.on('selectstart.drag', Lt, !0) + : ((t.__noselect = t.style.MozUserSelect), + (t.style.MozUserSelect = 'none')); + } + function Dt(e, t) { + var i = e.document.documentElement, + n = kt(e).on('dragstart.drag', null); + t && + (n.on('click.drag', Lt, !0), + setTimeout(function () { + n.on('click.drag', null); + }, 0)), + 'onselectstart' in i + ? n.on('selectstart.drag', null) + : ((i.style.MozUserSelect = i.__noselect), delete i.__noselect); + } + function Nt(e, t, i) { + (e.prototype = t.prototype = i), (i.constructor = e); + } + function Et(e, t) { + var i = Object.create(e.prototype); + for (var n in t) i[n] = t[n]; + return i; + } + function Tt() {} + var It = 0.7, + Ot = 1 / It, + At = '\\s*([+-]?\\d+)\\s*', + Rt = '\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*', + Pt = '\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*', + Ft = /^#([0-9a-f]{3,8})$/, + Bt = new RegExp('^rgb\\(' + [At, At, At] + '\\)$'), + Wt = new RegExp('^rgb\\(' + [Pt, Pt, Pt] + '\\)$'), + Yt = new RegExp('^rgba\\(' + [At, At, At, Rt] + '\\)$'), + Ht = new RegExp('^rgba\\(' + [Pt, Pt, Pt, Rt] + '\\)$'), + jt = new RegExp('^hsl\\(' + [Rt, Pt, Pt] + '\\)$'), + Vt = new RegExp('^hsla\\(' + [Rt, Pt, Pt, Rt] + '\\)$'), + zt = { + aliceblue: 15792383, + antiquewhite: 16444375, + aqua: 65535, + aquamarine: 8388564, + azure: 15794175, + beige: 16119260, + bisque: 16770244, + black: 0, + blanchedalmond: 16772045, + blue: 255, + blueviolet: 9055202, + brown: 10824234, + burlywood: 14596231, + cadetblue: 6266528, + chartreuse: 8388352, + chocolate: 13789470, + coral: 16744272, + cornflowerblue: 6591981, + cornsilk: 16775388, + crimson: 14423100, + cyan: 65535, + darkblue: 139, + darkcyan: 35723, + darkgoldenrod: 12092939, + darkgray: 11119017, + darkgreen: 25600, + darkgrey: 11119017, + darkkhaki: 12433259, + darkmagenta: 9109643, + darkolivegreen: 5597999, + darkorange: 16747520, + darkorchid: 10040012, + darkred: 9109504, + darksalmon: 15308410, + darkseagreen: 9419919, + darkslateblue: 4734347, + darkslategray: 3100495, + darkslategrey: 3100495, + darkturquoise: 52945, + darkviolet: 9699539, + deeppink: 16716947, + deepskyblue: 49151, + dimgray: 6908265, + dimgrey: 6908265, + dodgerblue: 2003199, + firebrick: 11674146, + floralwhite: 16775920, + forestgreen: 2263842, + fuchsia: 16711935, + gainsboro: 14474460, + ghostwhite: 16316671, + gold: 16766720, + goldenrod: 14329120, + gray: 8421504, + green: 32768, + greenyellow: 11403055, + grey: 8421504, + honeydew: 15794160, + hotpink: 16738740, + indianred: 13458524, + indigo: 4915330, + ivory: 16777200, + khaki: 15787660, + lavender: 15132410, + lavenderblush: 16773365, + lawngreen: 8190976, + lemonchiffon: 16775885, + lightblue: 11393254, + lightcoral: 15761536, + lightcyan: 14745599, + lightgoldenrodyellow: 16448210, + lightgray: 13882323, + lightgreen: 9498256, + lightgrey: 13882323, + lightpink: 16758465, + lightsalmon: 16752762, + lightseagreen: 2142890, + lightskyblue: 8900346, + lightslategray: 7833753, + lightslategrey: 7833753, + lightsteelblue: 11584734, + lightyellow: 16777184, + lime: 65280, + limegreen: 3329330, + linen: 16445670, + magenta: 16711935, + maroon: 8388608, + mediumaquamarine: 6737322, + mediumblue: 205, + mediumorchid: 12211667, + mediumpurple: 9662683, + mediumseagreen: 3978097, + mediumslateblue: 8087790, + mediumspringgreen: 64154, + mediumturquoise: 4772300, + mediumvioletred: 13047173, + midnightblue: 1644912, + mintcream: 16121850, + mistyrose: 16770273, + moccasin: 16770229, + navajowhite: 16768685, + navy: 128, + oldlace: 16643558, + olive: 8421376, + olivedrab: 7048739, + orange: 16753920, + orangered: 16729344, + orchid: 14315734, + palegoldenrod: 15657130, + palegreen: 10025880, + paleturquoise: 11529966, + palevioletred: 14381203, + papayawhip: 16773077, + peachpuff: 16767673, + peru: 13468991, + pink: 16761035, + plum: 14524637, + powderblue: 11591910, + purple: 8388736, + rebeccapurple: 6697881, + red: 16711680, + rosybrown: 12357519, + royalblue: 4286945, + saddlebrown: 9127187, + salmon: 16416882, + sandybrown: 16032864, + seagreen: 3050327, + seashell: 16774638, + sienna: 10506797, + silver: 12632256, + skyblue: 8900331, + slateblue: 6970061, + slategray: 7372944, + slategrey: 7372944, + snow: 16775930, + springgreen: 65407, + steelblue: 4620980, + tan: 13808780, + teal: 32896, + thistle: 14204888, + tomato: 16737095, + turquoise: 4251856, + violet: 15631086, + wheat: 16113331, + white: 16777215, + whitesmoke: 16119285, + yellow: 16776960, + yellowgreen: 10145074, + }; + function Ut() { + return this.rgb().formatHex(); + } + function $t() { + return this.rgb().formatRgb(); + } + function Kt(e) { + var t, i; + return ( + (e = (e + '').trim().toLowerCase()), + (t = Ft.exec(e)) + ? ((i = t[1].length), + (t = parseInt(t[1], 16)), + 6 === i + ? qt(t) + : 3 === i + ? new Qt( + ((t >> 8) & 15) | ((t >> 4) & 240), + ((t >> 4) & 15) | (240 & t), + ((15 & t) << 4) | (15 & t), + 1 + ) + : 8 === i + ? new Qt( + (t >> 24) & 255, + (t >> 16) & 255, + (t >> 8) & 255, + (255 & t) / 255 + ) + : 4 === i + ? new Qt( + ((t >> 12) & 15) | ((t >> 8) & 240), + ((t >> 8) & 15) | ((t >> 4) & 240), + ((t >> 4) & 15) | (240 & t), + (((15 & t) << 4) | (15 & t)) / 255 + ) + : null) + : (t = Bt.exec(e)) + ? new Qt(t[1], t[2], t[3], 1) + : (t = Wt.exec(e)) + ? new Qt( + (255 * t[1]) / 100, + (255 * t[2]) / 100, + (255 * t[3]) / 100, + 1 + ) + : (t = Yt.exec(e)) + ? Gt(t[1], t[2], t[3], t[4]) + : (t = Ht.exec(e)) + ? Gt( + (255 * t[1]) / 100, + (255 * t[2]) / 100, + (255 * t[3]) / 100, + t[4] + ) + : (t = jt.exec(e)) + ? ii(t[1], t[2] / 100, t[3] / 100, 1) + : (t = Vt.exec(e)) + ? ii(t[1], t[2] / 100, t[3] / 100, t[4]) + : zt.hasOwnProperty(e) + ? qt(zt[e]) + : 'transparent' === e + ? new Qt(NaN, NaN, NaN, 0) + : null + ); + } + function qt(e) { + return new Qt((e >> 16) & 255, (e >> 8) & 255, 255 & e, 1); + } + function Gt(e, t, i, n) { + return n <= 0 && (e = t = i = NaN), new Qt(e, t, i, n); + } + function Zt(e) { + return ( + e instanceof Tt || (e = Kt(e)), + e ? new Qt((e = e.rgb()).r, e.g, e.b, e.opacity) : new Qt() + ); + } + function Jt(e, t, i, n) { + return 1 === arguments.length + ? Zt(e) + : new Qt(e, t, i, null == n ? 1 : n); + } + function Qt(e, t, i, n) { + (this.r = +e), (this.g = +t), (this.b = +i), (this.opacity = +n); + } + function Xt() { + return '#' + ti(this.r) + ti(this.g) + ti(this.b); + } + function ei() { + var e = this.opacity; + return ( + (1 === (e = isNaN(e) ? 1 : Math.max(0, Math.min(1, e))) + ? 'rgb(' + : 'rgba(') + + Math.max(0, Math.min(255, Math.round(this.r) || 0)) + + ', ' + + Math.max(0, Math.min(255, Math.round(this.g) || 0)) + + ', ' + + Math.max(0, Math.min(255, Math.round(this.b) || 0)) + + (1 === e ? ')' : ', ' + e + ')') + ); + } + function ti(e) { + return ( + ((e = Math.max(0, Math.min(255, Math.round(e) || 0))) < 16 + ? '0' + : '') + e.toString(16) + ); + } + function ii(e, t, i, n) { + return ( + n <= 0 + ? (e = t = i = NaN) + : i <= 0 || i >= 1 + ? (e = t = NaN) + : t <= 0 && (e = NaN), + new si(e, t, i, n) + ); + } + function ni(e) { + if (e instanceof si) return new si(e.h, e.s, e.l, e.opacity); + if ((e instanceof Tt || (e = Kt(e)), !e)) return new si(); + if (e instanceof si) return e; + var t = (e = e.rgb()).r / 255, + i = e.g / 255, + n = e.b / 255, + r = Math.min(t, i, n), + s = Math.max(t, i, n), + o = NaN, + a = s - r, + l = (s + r) / 2; + return ( + a + ? ((o = + t === s + ? (i - n) / a + 6 * (i < n) + : i === s + ? (n - t) / a + 2 + : (t - i) / a + 4), + (a /= l < 0.5 ? s + r : 2 - s - r), + (o *= 60)) + : (a = l > 0 && l < 1 ? 0 : o), + new si(o, a, l, e.opacity) + ); + } + function ri(e, t, i, n) { + return 1 === arguments.length + ? ni(e) + : new si(e, t, i, null == n ? 1 : n); + } + function si(e, t, i, n) { + (this.h = +e), (this.s = +t), (this.l = +i), (this.opacity = +n); + } + function oi(e, t, i) { + return ( + 255 * + (e < 60 + ? t + ((i - t) * e) / 60 + : e < 180 + ? i + : e < 240 + ? t + ((i - t) * (240 - e)) / 60 + : t) + ); + } + function ai(e, t, i, n, r) { + var s = e * e, + o = s * e; + return ( + ((1 - 3 * e + 3 * s - o) * t + + (4 - 6 * s + 3 * o) * i + + (1 + 3 * e + 3 * s - 3 * o) * n + + o * r) / + 6 + ); + } + function li(e) { + var t = e.length - 1; + return function (i) { + var n = + i <= 0 + ? (i = 0) + : i >= 1 + ? ((i = 1), t - 1) + : Math.floor(i * t), + r = e[n], + s = e[n + 1], + o = n > 0 ? e[n - 1] : 2 * r - s, + a = n < t - 1 ? e[n + 2] : 2 * s - r; + return ai((i - n / t) * t, o, r, s, a); + }; + } + function ci(e) { + var t = e.length; + return function (i) { + var n = Math.floor(((i %= 1) < 0 ? ++i : i) * t), + r = e[(n + t - 1) % t], + s = e[n % t], + o = e[(n + 1) % t], + a = e[(n + 2) % t]; + return ai((i - n / t) * t, r, s, o, a); + }; + } + function di(e) { + return function () { + return e; + }; + } + function hi(e, t) { + return function (i) { + return e + i * t; + }; + } + function ui(e, t) { + var i = t - e; + return i + ? hi(e, i > 180 || i < -180 ? i - 360 * Math.round(i / 360) : i) + : di(isNaN(e) ? t : e); + } + function gi(e, t) { + var i = t - e; + return i ? hi(e, i) : di(isNaN(e) ? t : e); + } + Nt(Tt, Kt, { + copy: function (e) { + return Object.assign(new this.constructor(), this, e); + }, + displayable: function () { + return this.rgb().displayable(); + }, + hex: Ut, + formatHex: Ut, + formatHsl: function () { + return ni(this).formatHsl(); + }, + formatRgb: $t, + toString: $t, + }), + Nt( + Qt, + Jt, + Et(Tt, { + brighter: function (e) { + return ( + (e = null == e ? Ot : Math.pow(Ot, e)), + new Qt(this.r * e, this.g * e, this.b * e, this.opacity) + ); + }, + darker: function (e) { + return ( + (e = null == e ? It : Math.pow(It, e)), + new Qt(this.r * e, this.g * e, this.b * e, this.opacity) + ); + }, + rgb: function () { + return this; + }, + displayable: function () { + return ( + -0.5 <= this.r && + this.r < 255.5 && + -0.5 <= this.g && + this.g < 255.5 && + -0.5 <= this.b && + this.b < 255.5 && + 0 <= this.opacity && + this.opacity <= 1 + ); + }, + hex: Xt, + formatHex: Xt, + formatRgb: ei, + toString: ei, + }) + ), + Nt( + si, + ri, + Et(Tt, { + brighter: function (e) { + return ( + (e = null == e ? Ot : Math.pow(Ot, e)), + new si(this.h, this.s, this.l * e, this.opacity) + ); + }, + darker: function (e) { + return ( + (e = null == e ? It : Math.pow(It, e)), + new si(this.h, this.s, this.l * e, this.opacity) + ); + }, + rgb: function () { + var e = (this.h % 360) + 360 * (this.h < 0), + t = isNaN(e) || isNaN(this.s) ? 0 : this.s, + i = this.l, + n = i + (i < 0.5 ? i : 1 - i) * t, + r = 2 * i - n; + return new Qt( + oi(e >= 240 ? e - 240 : e + 120, r, n), + oi(e, r, n), + oi(e < 120 ? e + 240 : e - 120, r, n), + this.opacity + ); + }, + displayable: function () { + return ( + ((0 <= this.s && this.s <= 1) || isNaN(this.s)) && + 0 <= this.l && + this.l <= 1 && + 0 <= this.opacity && + this.opacity <= 1 + ); + }, + formatHsl: function () { + var e = this.opacity; + return ( + (1 === (e = isNaN(e) ? 1 : Math.max(0, Math.min(1, e))) + ? 'hsl(' + : 'hsla(') + + (this.h || 0) + + ', ' + + 100 * (this.s || 0) + + '%, ' + + 100 * (this.l || 0) + + '%' + + (1 === e ? ')' : ', ' + e + ')') + ); + }, + }) + ); + const fi = (function e(t) { + var i = (function (e) { + return 1 == (e = +e) + ? gi + : function (t, i) { + return i - t + ? (function (e, t, i) { + return ( + (e = Math.pow(e, i)), + (t = Math.pow(t, i) - e), + (i = 1 / i), + function (n) { + return Math.pow(e + n * t, i); + } + ); + })(t, i, e) + : di(isNaN(t) ? i : t); + }; + })(t); + function n(e, t) { + var n = i((e = Jt(e)).r, (t = Jt(t)).r), + r = i(e.g, t.g), + s = i(e.b, t.b), + o = gi(e.opacity, t.opacity); + return function (t) { + return ( + (e.r = n(t)), + (e.g = r(t)), + (e.b = s(t)), + (e.opacity = o(t)), + e + '' + ); + }; + } + return (n.gamma = e), n; + })(1); + function pi(e) { + return function (t) { + var i, + n, + r = t.length, + s = new Array(r), + o = new Array(r), + a = new Array(r); + for (i = 0; i < r; ++i) + (n = Jt(t[i])), + (s[i] = n.r || 0), + (o[i] = n.g || 0), + (a[i] = n.b || 0); + return ( + (s = e(s)), + (o = e(o)), + (a = e(a)), + (n.opacity = 1), + function (e) { + return (n.r = s(e)), (n.g = o(e)), (n.b = a(e)), n + ''; + } + ); + }; + } + var mi = pi(li), + _i = pi(ci); + function bi(e, t) { + t || (t = []); + var i, + n = e ? Math.min(t.length, e.length) : 0, + r = t.slice(); + return function (s) { + for (i = 0; i < n; ++i) r[i] = e[i] * (1 - s) + t[i] * s; + return r; + }; + } + function vi(e) { + return ArrayBuffer.isView(e) && !(e instanceof DataView); + } + function yi(e, t) { + return (vi(t) ? bi : wi)(e, t); + } + function wi(e, t) { + var i, + n = t ? t.length : 0, + r = e ? Math.min(n, e.length) : 0, + s = new Array(r), + o = new Array(n); + for (i = 0; i < r; ++i) s[i] = Di(e[i], t[i]); + for (; i < n; ++i) o[i] = t[i]; + return function (e) { + for (i = 0; i < r; ++i) o[i] = s[i](e); + return o; + }; + } + function Ci(e, t) { + var i = new Date(); + return ( + (e = +e), + (t = +t), + function (n) { + return i.setTime(e * (1 - n) + t * n), i; + } + ); + } + function Si(e, t) { + return ( + (e = +e), + (t = +t), + function (i) { + return e * (1 - i) + t * i; + } + ); + } + function ki(e, t) { + var i, + n = {}, + r = {}; + for (i in ((null !== e && 'object' == typeof e) || (e = {}), + (null !== t && 'object' == typeof t) || (t = {}), + t)) + i in e ? (n[i] = Di(e[i], t[i])) : (r[i] = t[i]); + return function (e) { + for (i in n) r[i] = n[i](e); + return r; + }; + } + var xi = /[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g, + Li = new RegExp(xi.source, 'g'); + function Mi(e, t) { + var i, + n, + r, + s = (xi.lastIndex = Li.lastIndex = 0), + o = -1, + a = [], + l = []; + for (e += '', t += ''; (i = xi.exec(e)) && (n = Li.exec(t)); ) + (r = n.index) > s && + ((r = t.slice(s, r)), a[o] ? (a[o] += r) : (a[++o] = r)), + (i = i[0]) === (n = n[0]) + ? a[o] + ? (a[o] += n) + : (a[++o] = n) + : ((a[++o] = null), l.push({ i: o, x: Si(i, n) })), + (s = Li.lastIndex); + return ( + s < t.length && + ((r = t.slice(s)), a[o] ? (a[o] += r) : (a[++o] = r)), + a.length < 2 + ? l[0] + ? (function (e) { + return function (t) { + return e(t) + ''; + }; + })(l[0].x) + : (function (e) { + return function () { + return e; + }; + })(t) + : ((t = l.length), + function (e) { + for (var i, n = 0; n < t; ++n) a[(i = l[n]).i] = i.x(e); + return a.join(''); + }) + ); + } + function Di(e, t) { + var i, + n = typeof t; + return null == t || 'boolean' === n + ? di(t) + : ('number' === n + ? Si + : 'string' === n + ? (i = Kt(t)) + ? ((t = i), fi) + : Mi + : t instanceof Kt + ? fi + : t instanceof Date + ? Ci + : vi(t) + ? bi + : Array.isArray(t) + ? wi + : ('function' != typeof t.valueOf && + 'function' != typeof t.toString) || + isNaN(t) + ? ki + : Si)(e, t); + } + function Ni() { + for (var e, t = dt; (e = t.sourceEvent); ) t = e; + return t; + } + function Ei(e, t) { + var i = e.ownerSVGElement || e; + if (i.createSVGPoint) { + var n = i.createSVGPoint(); + return ( + (n.x = t.clientX), + (n.y = t.clientY), + [(n = n.matrixTransform(e.getScreenCTM().inverse())).x, n.y] + ); + } + var r = e.getBoundingClientRect(); + return [ + t.clientX - r.left - e.clientLeft, + t.clientY - r.top - e.clientTop, + ]; + } + function Ti(e, t, i) { + arguments.length < 3 && ((i = t), (t = Ni().changedTouches)); + for (var n, r = 0, s = t ? t.length : 0; r < s; ++r) + if ((n = t[r]).identifier === i) return Ei(e, n); + return null; + } + function Ii(e) { + var t = Ni(); + return t.changedTouches && (t = t.changedTouches[0]), Ei(e, t); + } + var Oi, + Ai, + Ri = 0, + Pi = 0, + Fi = 0, + Bi = 0, + Wi = 0, + Yi = 0, + Hi = + 'object' == typeof performance && performance.now + ? performance + : Date, + ji = + 'object' == typeof window && window.requestAnimationFrame + ? window.requestAnimationFrame.bind(window) + : function (e) { + setTimeout(e, 17); + }; + function Vi() { + return Wi || (ji(zi), (Wi = Hi.now() + Yi)); + } + function zi() { + Wi = 0; + } + function Ui() { + this._call = this._time = this._next = null; + } + function $i(e, t, i) { + var n = new Ui(); + return n.restart(e, t, i), n; + } + function Ki() { + Vi(), ++Ri; + for (var e, t = Oi; t; ) + (e = Wi - t._time) >= 0 && t._call.call(null, e), (t = t._next); + --Ri; + } + function qi() { + (Wi = (Bi = Hi.now()) + Yi), (Ri = Pi = 0); + try { + Ki(); + } finally { + (Ri = 0), + (function () { + for (var e, t, i = Oi, n = 1 / 0; i; ) + i._call + ? (n > i._time && (n = i._time), (e = i), (i = i._next)) + : ((t = i._next), + (i._next = null), + (i = e ? (e._next = t) : (Oi = t))); + (Ai = e), Zi(n); + })(), + (Wi = 0); + } + } + function Gi() { + var e = Hi.now(), + t = e - Bi; + t > 1e3 && ((Yi -= t), (Bi = e)); + } + function Zi(e) { + Ri || + (Pi && (Pi = clearTimeout(Pi)), + e - Wi > 24 + ? (e < 1 / 0 && (Pi = setTimeout(qi, e - Hi.now() - Yi)), + Fi && (Fi = clearInterval(Fi))) + : (Fi || ((Bi = Hi.now()), (Fi = setInterval(Gi, 1e3))), + (Ri = 1), + ji(qi))); + } + function Ji(e, t, i) { + var n = new Ui(); + return ( + (t = null == t ? 0 : +t), + n.restart( + function (i) { + n.stop(), e(i + t); + }, + t, + i + ), + n + ); + } + Ui.prototype = $i.prototype = { + constructor: Ui, + restart: function (e, t, i) { + if ('function' != typeof e) + throw new TypeError('callback is not a function'); + (i = (null == i ? Vi() : +i) + (null == t ? 0 : +t)), + this._next || + Ai === this || + (Ai ? (Ai._next = this) : (Oi = this), (Ai = this)), + (this._call = e), + (this._time = i), + Zi(); + }, + stop: function () { + this._call && ((this._call = null), (this._time = 1 / 0), Zi()); + }, + }; + var Qi = ue('start', 'end', 'cancel', 'interrupt'), + Xi = []; + function en(e, t, i, n, r, s) { + var o = e.__transition; + if (o) { + if (i in o) return; + } else e.__transition = {}; + !(function (e, t, i) { + var n, + r = e.__transition; + function s(l) { + var c, d, h, u; + if (1 !== i.state) return a(); + for (c in r) + if ((u = r[c]).name === i.name) { + if (3 === u.state) return Ji(s); + 4 === u.state + ? ((u.state = 6), + u.timer.stop(), + u.on.call('interrupt', e, e.__data__, u.index, u.group), + delete r[c]) + : +c < t && + ((u.state = 6), + u.timer.stop(), + u.on.call('cancel', e, e.__data__, u.index, u.group), + delete r[c]); + } + if ( + (Ji(function () { + 3 === i.state && + ((i.state = 4), i.timer.restart(o, i.delay, i.time), o(l)); + }), + (i.state = 2), + i.on.call('start', e, e.__data__, i.index, i.group), + 2 === i.state) + ) { + for ( + i.state = 3, + n = new Array((h = i.tween.length)), + c = 0, + d = -1; + c < h; + ++c + ) + (u = i.tween[c].value.call( + e, + e.__data__, + i.index, + i.group + )) && (n[++d] = u); + n.length = d + 1; + } + } + function o(t) { + for ( + var r = + t < i.duration + ? i.ease.call(null, t / i.duration) + : (i.timer.restart(a), (i.state = 5), 1), + s = -1, + o = n.length; + ++s < o; + + ) + n[s].call(e, r); + 5 === i.state && + (i.on.call('end', e, e.__data__, i.index, i.group), a()); + } + function a() { + for (var n in ((i.state = 6), i.timer.stop(), delete r[t], r)) + return; + delete e.__transition; + } + (r[t] = i), + (i.timer = $i( + function (e) { + (i.state = 1), + i.timer.restart(s, i.delay, i.time), + i.delay <= e && s(e - i.delay); + }, + 0, + i.time + )); + })(e, i, { + name: t, + index: n, + group: r, + on: Qi, + tween: Xi, + time: s.time, + delay: s.delay, + duration: s.duration, + ease: s.ease, + timer: null, + state: 0, + }); + } + function tn(e, t) { + var i = rn(e, t); + if (i.state > 0) throw new Error('too late; already scheduled'); + return i; + } + function nn(e, t) { + var i = rn(e, t); + if (i.state > 3) throw new Error('too late; already running'); + return i; + } + function rn(e, t) { + var i = e.__transition; + if (!i || !(i = i[t])) throw new Error('transition not found'); + return i; + } + function sn(e, t) { + var i, + n, + r, + s = e.__transition, + o = !0; + if (s) { + for (r in ((t = null == t ? null : t + ''), s)) + (i = s[r]).name === t + ? ((n = i.state > 2 && i.state < 5), + (i.state = 6), + i.timer.stop(), + i.on.call( + n ? 'interrupt' : 'cancel', + e, + e.__data__, + i.index, + i.group + ), + delete s[r]) + : (o = !1); + o && delete e.__transition; + } + } + var on, + an, + ln, + cn, + dn = 180 / Math.PI, + hn = { + translateX: 0, + translateY: 0, + rotate: 0, + skewX: 0, + scaleX: 1, + scaleY: 1, + }; + function un(e, t, i, n, r, s) { + var o, a, l; + return ( + (o = Math.sqrt(e * e + t * t)) && ((e /= o), (t /= o)), + (l = e * i + t * n) && ((i -= e * l), (n -= t * l)), + (a = Math.sqrt(i * i + n * n)) && ((i /= a), (n /= a), (l /= a)), + e * n < t * i && ((e = -e), (t = -t), (l = -l), (o = -o)), + { + translateX: r, + translateY: s, + rotate: Math.atan2(t, e) * dn, + skewX: Math.atan(l) * dn, + scaleX: o, + scaleY: a, + } + ); + } + function gn(e, t, i, n) { + function r(e) { + return e.length ? e.pop() + ' ' : ''; + } + return function (s, o) { + var a = [], + l = []; + return ( + (s = e(s)), + (o = e(o)), + (function (e, n, r, s, o, a) { + if (e !== r || n !== s) { + var l = o.push('translate(', null, t, null, i); + a.push({ i: l - 4, x: Si(e, r) }, { i: l - 2, x: Si(n, s) }); + } else (r || s) && o.push('translate(' + r + t + s + i); + })(s.translateX, s.translateY, o.translateX, o.translateY, a, l), + (function (e, t, i, s) { + e !== t + ? (e - t > 180 ? (t += 360) : t - e > 180 && (e += 360), + s.push({ + i: i.push(r(i) + 'rotate(', null, n) - 2, + x: Si(e, t), + })) + : t && i.push(r(i) + 'rotate(' + t + n); + })(s.rotate, o.rotate, a, l), + (function (e, t, i, s) { + e !== t + ? s.push({ + i: i.push(r(i) + 'skewX(', null, n) - 2, + x: Si(e, t), + }) + : t && i.push(r(i) + 'skewX(' + t + n); + })(s.skewX, o.skewX, a, l), + (function (e, t, i, n, s, o) { + if (e !== i || t !== n) { + var a = s.push(r(s) + 'scale(', null, ',', null, ')'); + o.push({ i: a - 4, x: Si(e, i) }, { i: a - 2, x: Si(t, n) }); + } else + (1 === i && 1 === n) || + s.push(r(s) + 'scale(' + i + ',' + n + ')'); + })(s.scaleX, s.scaleY, o.scaleX, o.scaleY, a, l), + (s = o = null), + function (e) { + for (var t, i = -1, n = l.length; ++i < n; ) + a[(t = l[i]).i] = t.x(e); + return a.join(''); + } + ); + }; + } + var fn = gn( + function (e) { + return 'none' === e + ? hn + : (on || + ((on = document.createElement('DIV')), + (an = document.documentElement), + (ln = document.defaultView)), + (on.style.transform = e), + (e = ln + .getComputedStyle(an.appendChild(on), null) + .getPropertyValue('transform')), + an.removeChild(on), + un( + +(e = e.slice(7, -1).split(','))[0], + +e[1], + +e[2], + +e[3], + +e[4], + +e[5] + )); + }, + 'px, ', + 'px)', + 'deg)' + ), + pn = gn( + function (e) { + return null == e + ? hn + : (cn || + (cn = document.createElementNS( + 'http://www.w3.org/2000/svg', + 'g' + )), + cn.setAttribute('transform', e), + (e = cn.transform.baseVal.consolidate()) + ? un((e = e.matrix).a, e.b, e.c, e.d, e.e, e.f) + : hn); + }, + ', ', + ')', + ')' + ); + function mn(e, t) { + var i, n; + return function () { + var r = nn(this, e), + s = r.tween; + if (s !== i) + for (var o = 0, a = (n = i = s).length; o < a; ++o) + if (n[o].name === t) { + (n = n.slice()).splice(o, 1); + break; + } + r.tween = n; + }; + } + function _n(e, t, i) { + var n, r; + if ('function' != typeof i) throw new Error(); + return function () { + var s = nn(this, e), + o = s.tween; + if (o !== n) { + r = (n = o).slice(); + for ( + var a = { name: t, value: i }, l = 0, c = r.length; + l < c; + ++l + ) + if (r[l].name === t) { + r[l] = a; + break; + } + l === c && r.push(a); + } + s.tween = r; + }; + } + function bn(e, t, i) { + var n = e._id; + return ( + e.each(function () { + var e = nn(this, n); + (e.value || (e.value = {}))[t] = i.apply(this, arguments); + }), + function (e) { + return rn(e, n).value[t]; + } + ); + } + function vn(e, t) { + var i; + return ('number' == typeof t + ? Si + : t instanceof Kt + ? fi + : (i = Kt(t)) + ? ((t = i), fi) + : Mi)(e, t); + } + function yn(e) { + return function () { + this.removeAttribute(e); + }; + } + function wn(e) { + return function () { + this.removeAttributeNS(e.space, e.local); + }; + } + function Cn(e, t, i) { + var n, + r, + s = i + ''; + return function () { + var o = this.getAttribute(e); + return o === s ? null : o === n ? r : (r = t((n = o), i)); + }; + } + function Sn(e, t, i) { + var n, + r, + s = i + ''; + return function () { + var o = this.getAttributeNS(e.space, e.local); + return o === s ? null : o === n ? r : (r = t((n = o), i)); + }; + } + function kn(e, t, i) { + var n, r, s; + return function () { + var o, + a, + l = i(this); + if (null != l) + return (o = this.getAttribute(e)) === (a = l + '') + ? null + : o === n && a === r + ? s + : ((r = a), (s = t((n = o), l))); + this.removeAttribute(e); + }; + } + function xn(e, t, i) { + var n, r, s; + return function () { + var o, + a, + l = i(this); + if (null != l) + return (o = this.getAttributeNS(e.space, e.local)) === + (a = l + '') + ? null + : o === n && a === r + ? s + : ((r = a), (s = t((n = o), l))); + this.removeAttributeNS(e.space, e.local); + }; + } + function Ln(e, t) { + return function (i) { + this.setAttribute(e, t.call(this, i)); + }; + } + function Mn(e, t) { + return function (i) { + this.setAttributeNS(e.space, e.local, t.call(this, i)); + }; + } + function Dn(e, t) { + var i, n; + function r() { + var r = t.apply(this, arguments); + return r !== n && (i = (n = r) && Mn(e, r)), i; + } + return (r._value = t), r; + } + function Nn(e, t) { + var i, n; + function r() { + var r = t.apply(this, arguments); + return r !== n && (i = (n = r) && Ln(e, r)), i; + } + return (r._value = t), r; + } + function En(e, t) { + return function () { + tn(this, e).delay = +t.apply(this, arguments); + }; + } + function Tn(e, t) { + return ( + (t = +t), + function () { + tn(this, e).delay = t; + } + ); + } + function In(e, t) { + return function () { + nn(this, e).duration = +t.apply(this, arguments); + }; + } + function On(e, t) { + return ( + (t = +t), + function () { + nn(this, e).duration = t; + } + ); + } + function An(e, t) { + if ('function' != typeof t) throw new Error(); + return function () { + nn(this, e).ease = t; + }; + } + function Rn(e, t, i) { + var n, + r, + s = (function (e) { + return (e + '') + .trim() + .split(/^|\s+/) + .every(function (e) { + var t = e.indexOf('.'); + return t >= 0 && (e = e.slice(0, t)), !e || 'start' === e; + }); + })(t) + ? tn + : nn; + return function () { + var o = s(this, e), + a = o.on; + a !== n && (r = (n = a).copy()).on(t, i), (o.on = r); + }; + } + var Pn = St.prototype.constructor; + function Fn(e) { + return function () { + this.style.removeProperty(e); + }; + } + function Bn(e, t, i) { + return function (n) { + this.style.setProperty(e, t.call(this, n), i); + }; + } + function Wn(e, t, i) { + var n, r; + function s() { + var s = t.apply(this, arguments); + return s !== r && (n = (r = s) && Bn(e, s, i)), n; + } + return (s._value = t), s; + } + function Yn(e) { + return function (t) { + this.textContent = e.call(this, t); + }; + } + function Hn(e) { + var t, i; + function n() { + var n = e.apply(this, arguments); + return n !== i && (t = (i = n) && Yn(n)), t; + } + return (n._value = e), n; + } + var jn = 0; + function Vn(e, t, i, n) { + (this._groups = e), + (this._parents = t), + (this._name = i), + (this._id = n); + } + function zn(e) { + return St().transition(e); + } + function Un() { + return ++jn; + } + var $n = St.prototype; + function Kn(e) { + return e * e * e; + } + function qn(e) { + return --e * e * e + 1; + } + function Gn(e) { + return ((e *= 2) <= 1 ? e * e * e : (e -= 2) * e * e + 2) / 2; + } + Vn.prototype = zn.prototype = { + constructor: Vn, + select: function (e) { + var t = this._name, + i = this._id; + 'function' != typeof e && (e = fe(e)); + for ( + var n = this._groups, r = n.length, s = new Array(r), o = 0; + o < r; + ++o + ) + for ( + var a, + l, + c = n[o], + d = c.length, + h = (s[o] = new Array(d)), + u = 0; + u < d; + ++u + ) + (a = c[u]) && + (l = e.call(a, a.__data__, u, c)) && + ('__data__' in a && (l.__data__ = a.__data__), + (h[u] = l), + en(h[u], t, i, u, h, rn(a, i))); + return new Vn(s, this._parents, t, i); + }, + selectAll: function (e) { + var t = this._name, + i = this._id; + 'function' != typeof e && (e = me(e)); + for ( + var n = this._groups, r = n.length, s = [], o = [], a = 0; + a < r; + ++a + ) + for (var l, c = n[a], d = c.length, h = 0; h < d; ++h) + if ((l = c[h])) { + for ( + var u, + g = e.call(l, l.__data__, h, c), + f = rn(l, i), + p = 0, + m = g.length; + p < m; + ++p + ) + (u = g[p]) && en(u, t, i, p, g, f); + s.push(g), o.push(l); + } + return new Vn(s, o, t, i); + }, + filter: function (e) { + 'function' != typeof e && (e = _e(e)); + for ( + var t = this._groups, i = t.length, n = new Array(i), r = 0; + r < i; + ++r + ) + for ( + var s, o = t[r], a = o.length, l = (n[r] = []), c = 0; + c < a; + ++c + ) + (s = o[c]) && e.call(s, s.__data__, c, o) && l.push(s); + return new Vn(n, this._parents, this._name, this._id); + }, + merge: function (e) { + if (e._id !== this._id) throw new Error(); + for ( + var t = this._groups, + i = e._groups, + n = t.length, + r = i.length, + s = Math.min(n, r), + o = new Array(n), + a = 0; + a < s; + ++a + ) + for ( + var l, + c = t[a], + d = i[a], + h = c.length, + u = (o[a] = new Array(h)), + g = 0; + g < h; + ++g + ) + (l = c[g] || d[g]) && (u[g] = l); + for (; a < n; ++a) o[a] = t[a]; + return new Vn(o, this._parents, this._name, this._id); + }, + selection: function () { + return new Pn(this._groups, this._parents); + }, + transition: function () { + for ( + var e = this._name, + t = this._id, + i = Un(), + n = this._groups, + r = n.length, + s = 0; + s < r; + ++s + ) + for (var o, a = n[s], l = a.length, c = 0; c < l; ++c) + if ((o = a[c])) { + var d = rn(o, t); + en(o, e, i, c, a, { + time: d.time + d.delay + d.duration, + delay: 0, + duration: d.duration, + ease: d.ease, + }); + } + return new Vn(n, this._parents, e, i); + }, + call: $n.call, + nodes: $n.nodes, + node: $n.node, + size: $n.size, + empty: $n.empty, + each: $n.each, + on: function (e, t) { + var i = this._id; + return arguments.length < 2 + ? rn(this.node(), i).on.on(e) + : this.each(Rn(i, e, t)); + }, + attr: function (e, t) { + var i = xe(e), + n = 'transform' === i ? pn : vn; + return this.attrTween( + e, + 'function' == typeof t + ? (i.local ? xn : kn)(i, n, bn(this, 'attr.' + e, t)) + : null == t + ? (i.local ? wn : yn)(i) + : (i.local ? Sn : Cn)(i, n, t) + ); + }, + attrTween: function (e, t) { + var i = 'attr.' + e; + if (arguments.length < 2) return (i = this.tween(i)) && i._value; + if (null == t) return this.tween(i, null); + if ('function' != typeof t) throw new Error(); + var n = xe(e); + return this.tween(i, (n.local ? Dn : Nn)(n, t)); + }, + style: function (e, t, i) { + var n = 'transform' == (e += '') ? fn : vn; + return null == t + ? this.styleTween( + e, + (function (e, t) { + var i, n, r; + return function () { + var s = Pe(this, e), + o = (this.style.removeProperty(e), Pe(this, e)); + return s === o + ? null + : s === i && o === n + ? r + : (r = t((i = s), (n = o))); + }; + })(e, n) + ).on('end.style.' + e, Fn(e)) + : 'function' == typeof t + ? this.styleTween( + e, + (function (e, t, i) { + var n, r, s; + return function () { + var o = Pe(this, e), + a = i(this), + l = a + ''; + return ( + null == a && + (this.style.removeProperty(e), (l = a = Pe(this, e))), + o === l + ? null + : o === n && l === r + ? s + : ((r = l), (s = t((n = o), a))) + ); + }; + })(e, n, bn(this, 'style.' + e, t)) + ).each( + (function (e, t) { + var i, + n, + r, + s, + o = 'style.' + t, + a = 'end.' + o; + return function () { + var l = nn(this, e), + c = l.on, + d = null == l.value[o] ? s || (s = Fn(t)) : void 0; + (c === i && r === d) || + (n = (i = c).copy()).on(a, (r = d)), + (l.on = n); + }; + })(this._id, e) + ) + : this.styleTween( + e, + (function (e, t, i) { + var n, + r, + s = i + ''; + return function () { + var o = Pe(this, e); + return o === s ? null : o === n ? r : (r = t((n = o), i)); + }; + })(e, n, t), + i + ).on('end.style.' + e, null); + }, + styleTween: function (e, t, i) { + var n = 'style.' + (e += ''); + if (arguments.length < 2) return (n = this.tween(n)) && n._value; + if (null == t) return this.tween(n, null); + if ('function' != typeof t) throw new Error(); + return this.tween(n, Wn(e, t, null == i ? '' : i)); + }, + text: function (e) { + return this.tween( + 'text', + 'function' == typeof e + ? (function (e) { + return function () { + var t = e(this); + this.textContent = null == t ? '' : t; + }; + })(bn(this, 'text', e)) + : (function (e) { + return function () { + this.textContent = e; + }; + })(null == e ? '' : e + '') + ); + }, + textTween: function (e) { + var t = 'text'; + if (arguments.length < 1) return (t = this.tween(t)) && t._value; + if (null == e) return this.tween(t, null); + if ('function' != typeof e) throw new Error(); + return this.tween(t, Hn(e)); + }, + remove: function () { + return this.on( + 'end.remove', + (function (e) { + return function () { + var t = this.parentNode; + for (var i in this.__transition) if (+i !== e) return; + t && t.removeChild(this); + }; + })(this._id) + ); + }, + tween: function (e, t) { + var i = this._id; + if (((e += ''), arguments.length < 2)) { + for ( + var n, r = rn(this.node(), i).tween, s = 0, o = r.length; + s < o; + ++s + ) + if ((n = r[s]).name === e) return n.value; + return null; + } + return this.each((null == t ? mn : _n)(i, e, t)); + }, + delay: function (e) { + var t = this._id; + return arguments.length + ? this.each(('function' == typeof e ? En : Tn)(t, e)) + : rn(this.node(), t).delay; + }, + duration: function (e) { + var t = this._id; + return arguments.length + ? this.each(('function' == typeof e ? In : On)(t, e)) + : rn(this.node(), t).duration; + }, + ease: function (e) { + var t = this._id; + return arguments.length + ? this.each(An(t, e)) + : rn(this.node(), t).ease; + }, + end: function () { + var e, + t, + i = this, + n = i._id, + r = i.size(); + return new Promise(function (s, o) { + var a = { value: o }, + l = { + value: function () { + 0 == --r && s(); + }, + }; + i.each(function () { + var i = nn(this, n), + r = i.on; + r !== e && + ((t = (e = r).copy())._.cancel.push(a), + t._.interrupt.push(a), + t._.end.push(l)), + (i.on = t); + }); + }); + }, + }; + var Zn = { time: null, delay: 0, duration: 250, ease: Gn }; + function Jn(e, t) { + for (var i; !(i = e.__transition) || !(i = i[t]); ) + if (!(e = e.parentNode)) return (Zn.time = Vi()), Zn; + return i; + } + (St.prototype.interrupt = function (e) { + return this.each(function () { + sn(this, e); + }); + }), + (St.prototype.transition = function (e) { + var t, i; + e instanceof Vn + ? ((t = e._id), (e = e._name)) + : ((t = Un()), + ((i = Zn).time = Vi()), + (e = null == e ? null : e + '')); + for (var n = this._groups, r = n.length, s = 0; s < r; ++s) + for (var o, a = n[s], l = a.length, c = 0; c < l; ++c) + (o = a[c]) && en(o, e, t, c, a, i || Jn(o, t)); + return new Vn(n, this._parents, e, t); + }); + var Qn = [null]; + function Xn(e, t) { + var i, + n, + r = e.__transition; + if (r) + for (n in ((t = null == t ? null : t + ''), r)) + if ((i = r[n]).state > 1 && i.name === t) + return new Vn([[e]], Qn, t, +n); + return null; + } + function er(e) { + return function () { + return e; + }; + } + function tr(e, t, i) { + (this.target = e), (this.type = t), (this.selection = i); + } + function ir() { + dt.stopImmediatePropagation(); + } + function nr() { + dt.preventDefault(), dt.stopImmediatePropagation(); + } + var rr = { name: 'drag' }, + sr = { name: 'space' }, + or = { name: 'handle' }, + ar = { name: 'center' }; + function lr(e) { + return [+e[0], +e[1]]; + } + function cr(e) { + return [lr(e[0]), lr(e[1])]; + } + function dr(e) { + return function (t) { + return Ti(t, dt.touches, e); + }; + } + var hr = { + name: 'x', + handles: ['w', 'e'].map(vr), + input: function (e, t) { + return null == e + ? null + : [ + [+e[0], t[0][1]], + [+e[1], t[1][1]], + ]; + }, + output: function (e) { + return e && [e[0][0], e[1][0]]; + }, + }, + ur = { + name: 'y', + handles: ['n', 's'].map(vr), + input: function (e, t) { + return null == e + ? null + : [ + [t[0][0], +e[0]], + [t[1][0], +e[1]], + ]; + }, + output: function (e) { + return e && [e[0][1], e[1][1]]; + }, + }, + gr = { + name: 'xy', + handles: ['n', 'w', 'e', 's', 'nw', 'ne', 'sw', 'se'].map(vr), + input: function (e) { + return null == e ? null : cr(e); + }, + output: function (e) { + return e; + }, + }, + fr = { + overlay: 'crosshair', + selection: 'move', + n: 'ns-resize', + e: 'ew-resize', + s: 'ns-resize', + w: 'ew-resize', + nw: 'nwse-resize', + ne: 'nesw-resize', + se: 'nwse-resize', + sw: 'nesw-resize', + }, + pr = { e: 'w', w: 'e', nw: 'ne', ne: 'nw', se: 'sw', sw: 'se' }, + mr = { n: 's', s: 'n', nw: 'sw', ne: 'se', se: 'ne', sw: 'nw' }, + _r = { + overlay: 1, + selection: 1, + n: null, + e: 1, + s: null, + w: -1, + nw: -1, + ne: 1, + se: 1, + sw: -1, + }, + br = { + overlay: 1, + selection: 1, + n: -1, + e: null, + s: 1, + w: null, + nw: -1, + ne: -1, + se: 1, + sw: 1, + }; + function vr(e) { + return { type: e }; + } + function yr() { + return !dt.ctrlKey && !dt.button; + } + function wr() { + var e = this.ownerSVGElement || this; + return e.hasAttribute('viewBox') + ? [ + [(e = e.viewBox.baseVal).x, e.y], + [e.x + e.width, e.y + e.height], + ] + : [ + [0, 0], + [e.width.baseVal.value, e.height.baseVal.value], + ]; + } + function Cr() { + return navigator.maxTouchPoints || 'ontouchstart' in this; + } + function Sr(e) { + for (; !e.__brush; ) if (!(e = e.parentNode)) return; + return e.__brush; + } + function kr(e) { + return e[0][0] === e[1][0] || e[0][1] === e[1][1]; + } + function xr(e) { + var t = e.__brush; + return t ? t.dim.output(t.selection) : null; + } + function Lr() { + return Nr(hr); + } + function Mr() { + return Nr(ur); + } + function Dr() { + return Nr(gr); + } + function Nr(e) { + var t, + i = wr, + n = yr, + r = Cr, + s = !0, + o = ue('start', 'brush', 'end'), + a = 6; + function l(t) { + var i = t + .property('__brush', p) + .selectAll('.overlay') + .data([vr('overlay')]); + i + .enter() + .append('rect') + .attr('class', 'overlay') + .attr('pointer-events', 'all') + .attr('cursor', fr.overlay) + .merge(i) + .each(function () { + var e = Sr(this).extent; + kt(this) + .attr('x', e[0][0]) + .attr('y', e[0][1]) + .attr('width', e[1][0] - e[0][0]) + .attr('height', e[1][1] - e[0][1]); + }), + t + .selectAll('.selection') + .data([vr('selection')]) + .enter() + .append('rect') + .attr('class', 'selection') + .attr('cursor', fr.selection) + .attr('fill', '#777') + .attr('fill-opacity', 0.3) + .attr('stroke', '#fff') + .attr('shape-rendering', 'crispEdges'); + var n = t.selectAll('.handle').data(e.handles, function (e) { + return e.type; + }); + n.exit().remove(), + n + .enter() + .append('rect') + .attr('class', function (e) { + return 'handle handle--' + e.type; + }) + .attr('cursor', function (e) { + return fr[e.type]; + }), + t + .each(c) + .attr('fill', 'none') + .attr('pointer-events', 'all') + .on('mousedown.brush', u) + .filter(r) + .on('touchstart.brush', u) + .on('touchmove.brush', g) + .on('touchend.brush touchcancel.brush', f) + .style('touch-action', 'none') + .style('-webkit-tap-highlight-color', 'rgba(0,0,0,0)'); + } + function c() { + var e = kt(this), + t = Sr(this).selection; + t + ? (e + .selectAll('.selection') + .style('display', null) + .attr('x', t[0][0]) + .attr('y', t[0][1]) + .attr('width', t[1][0] - t[0][0]) + .attr('height', t[1][1] - t[0][1]), + e + .selectAll('.handle') + .style('display', null) + .attr('x', function (e) { + return 'e' === e.type[e.type.length - 1] + ? t[1][0] - a / 2 + : t[0][0] - a / 2; + }) + .attr('y', function (e) { + return 's' === e.type[0] + ? t[1][1] - a / 2 + : t[0][1] - a / 2; + }) + .attr('width', function (e) { + return 'n' === e.type || 's' === e.type + ? t[1][0] - t[0][0] + a + : a; + }) + .attr('height', function (e) { + return 'e' === e.type || 'w' === e.type + ? t[1][1] - t[0][1] + a + : a; + })) + : e + .selectAll('.selection,.handle') + .style('display', 'none') + .attr('x', null) + .attr('y', null) + .attr('width', null) + .attr('height', null); + } + function d(e, t, i) { + return (!i && e.__brush.emitter) || new h(e, t); + } + function h(e, t) { + (this.that = e), + (this.args = t), + (this.state = e.__brush), + (this.active = 0); + } + function u() { + if ((!t || dt.touches) && n.apply(this, arguments)) { + var i, + r, + o, + a, + l, + h, + u, + g, + f, + p, + m, + _ = this, + b = dt.target.__data__.type, + v = + 'selection' === (s && dt.metaKey ? (b = 'overlay') : b) + ? rr + : s && dt.altKey + ? ar + : or, + y = e === ur ? null : _r[b], + w = e === hr ? null : br[b], + C = Sr(_), + S = C.extent, + k = C.selection, + x = S[0][0], + L = S[0][1], + M = S[1][0], + D = S[1][1], + N = 0, + E = 0, + T = y && w && s && dt.shiftKey, + I = dt.touches ? dr(dt.changedTouches[0].identifier) : Ii, + O = I(_), + A = O, + R = d(_, arguments, !0).beforestart(); + 'overlay' === b + ? (k && (f = !0), + (C.selection = k = [ + [(i = e === ur ? x : O[0]), (o = e === hr ? L : O[1])], + [(l = e === ur ? M : i), (u = e === hr ? D : o)], + ])) + : ((i = k[0][0]), (o = k[0][1]), (l = k[1][0]), (u = k[1][1])), + (r = i), + (a = o), + (h = l), + (g = u); + var P = kt(_).attr('pointer-events', 'none'), + F = P.selectAll('.overlay').attr('cursor', fr[b]); + if (dt.touches) (R.moved = W), (R.ended = H); + else { + var B = kt(dt.view) + .on('mousemove.brush', W, !0) + .on('mouseup.brush', H, !0); + s && B.on('keydown.brush', j, !0).on('keyup.brush', V, !0), + Mt(dt.view); + } + ir(), sn(_), c.call(_), R.start(); + } + function W() { + var e = I(_); + !T || + p || + m || + (Math.abs(e[0] - A[0]) > Math.abs(e[1] - A[1]) + ? (m = !0) + : (p = !0)), + (A = e), + (f = !0), + nr(), + Y(); + } + function Y() { + var e; + switch (((N = A[0] - O[0]), (E = A[1] - O[1]), v)) { + case sr: + case rr: + y && + ((N = Math.max(x - i, Math.min(M - l, N))), + (r = i + N), + (h = l + N)), + w && + ((E = Math.max(L - o, Math.min(D - u, E))), + (a = o + E), + (g = u + E)); + break; + case or: + y < 0 + ? ((N = Math.max(x - i, Math.min(M - i, N))), + (r = i + N), + (h = l)) + : y > 0 && + ((N = Math.max(x - l, Math.min(M - l, N))), + (r = i), + (h = l + N)), + w < 0 + ? ((E = Math.max(L - o, Math.min(D - o, E))), + (a = o + E), + (g = u)) + : w > 0 && + ((E = Math.max(L - u, Math.min(D - u, E))), + (a = o), + (g = u + E)); + break; + case ar: + y && + ((r = Math.max(x, Math.min(M, i - N * y))), + (h = Math.max(x, Math.min(M, l + N * y)))), + w && + ((a = Math.max(L, Math.min(D, o - E * w))), + (g = Math.max(L, Math.min(D, u + E * w)))); + } + h < r && + ((y *= -1), + (e = i), + (i = l), + (l = e), + (e = r), + (r = h), + (h = e), + b in pr && F.attr('cursor', fr[(b = pr[b])])), + g < a && + ((w *= -1), + (e = o), + (o = u), + (u = e), + (e = a), + (a = g), + (g = e), + b in mr && F.attr('cursor', fr[(b = mr[b])])), + C.selection && (k = C.selection), + p && ((r = k[0][0]), (h = k[1][0])), + m && ((a = k[0][1]), (g = k[1][1])), + (k[0][0] === r && + k[0][1] === a && + k[1][0] === h && + k[1][1] === g) || + ((C.selection = [ + [r, a], + [h, g], + ]), + c.call(_), + R.brush()); + } + function H() { + if ((ir(), dt.touches)) { + if (dt.touches.length) return; + t && clearTimeout(t), + (t = setTimeout(function () { + t = null; + }, 500)); + } else + Dt(dt.view, f), + B.on( + 'keydown.brush keyup.brush mousemove.brush mouseup.brush', + null + ); + P.attr('pointer-events', 'all'), + F.attr('cursor', fr.overlay), + C.selection && (k = C.selection), + kr(k) && ((C.selection = null), c.call(_)), + R.end(); + } + function j() { + switch (dt.keyCode) { + case 16: + T = y && w; + break; + case 18: + v === or && + (y && ((l = h - N * y), (i = r + N * y)), + w && ((u = g - E * w), (o = a + E * w)), + (v = ar), + Y()); + break; + case 32: + (v !== or && v !== ar) || + (y < 0 ? (l = h - N) : y > 0 && (i = r - N), + w < 0 ? (u = g - E) : w > 0 && (o = a - E), + (v = sr), + F.attr('cursor', fr.selection), + Y()); + break; + default: + return; + } + nr(); + } + function V() { + switch (dt.keyCode) { + case 16: + T && ((p = m = T = !1), Y()); + break; + case 18: + v === ar && + (y < 0 ? (l = h) : y > 0 && (i = r), + w < 0 ? (u = g) : w > 0 && (o = a), + (v = or), + Y()); + break; + case 32: + v === sr && + (dt.altKey + ? (y && ((l = h - N * y), (i = r + N * y)), + w && ((u = g - E * w), (o = a + E * w)), + (v = ar)) + : (y < 0 ? (l = h) : y > 0 && (i = r), + w < 0 ? (u = g) : w > 0 && (o = a), + (v = or)), + F.attr('cursor', fr[b]), + Y()); + break; + default: + return; + } + nr(); + } + } + function g() { + d(this, arguments).moved(); + } + function f() { + d(this, arguments).ended(); + } + function p() { + var t = this.__brush || { selection: null }; + return (t.extent = cr(i.apply(this, arguments))), (t.dim = e), t; + } + return ( + (l.move = function (t, i) { + t.selection + ? t + .on('start.brush', function () { + d(this, arguments).beforestart().start(); + }) + .on('interrupt.brush end.brush', function () { + d(this, arguments).end(); + }) + .tween('brush', function () { + var t = this, + n = t.__brush, + r = d(t, arguments), + s = n.selection, + o = e.input( + 'function' == typeof i ? i.apply(this, arguments) : i, + n.extent + ), + a = Di(s, o); + function l(e) { + (n.selection = 1 === e && null === o ? null : a(e)), + c.call(t), + r.brush(); + } + return null !== s && null !== o ? l : l(1); + }) + : t.each(function () { + var t = this, + n = arguments, + r = t.__brush, + s = e.input( + 'function' == typeof i ? i.apply(t, n) : i, + r.extent + ), + o = d(t, n).beforestart(); + sn(t), + (r.selection = null === s ? null : s), + c.call(t), + o.start().brush().end(); + }); + }), + (l.clear = function (e) { + l.move(e, null); + }), + (h.prototype = { + beforestart: function () { + return ( + 1 == ++this.active && + ((this.state.emitter = this), (this.starting = !0)), + this + ); + }, + start: function () { + return ( + this.starting + ? ((this.starting = !1), this.emit('start')) + : this.emit('brush'), + this + ); + }, + brush: function () { + return this.emit('brush'), this; + }, + end: function () { + return ( + 0 == --this.active && + (delete this.state.emitter, this.emit('end')), + this + ); + }, + emit: function (t) { + mt(new tr(l, t, e.output(this.state.selection)), o.apply, o, [ + t, + this.that, + this.args, + ]); + }, + }), + (l.extent = function (e) { + return arguments.length + ? ((i = 'function' == typeof e ? e : er(cr(e))), l) + : i; + }), + (l.filter = function (e) { + return arguments.length + ? ((n = 'function' == typeof e ? e : er(!!e)), l) + : n; + }), + (l.touchable = function (e) { + return arguments.length + ? ((r = 'function' == typeof e ? e : er(!!e)), l) + : r; + }), + (l.handleSize = function (e) { + return arguments.length ? ((a = +e), l) : a; + }), + (l.keyModifiers = function (e) { + return arguments.length ? ((s = !!e), l) : s; + }), + (l.on = function () { + var e = o.on.apply(o, arguments); + return e === o ? l : e; + }), + l + ); + } + var Er = Math.cos, + Tr = Math.sin, + Ir = Math.PI, + Or = Ir / 2, + Ar = 2 * Ir, + Rr = Math.max; + function Pr(e) { + return function (t, i) { + return e( + t.source.value + t.target.value, + i.source.value + i.target.value + ); + }; + } + function Fr() { + var e = 0, + t = null, + i = null, + n = null; + function r(r) { + var s, + o, + a, + l, + c, + d, + h = r.length, + u = [], + g = S(h), + f = [], + p = [], + m = (p.groups = new Array(h)), + _ = new Array(h * h); + for (s = 0, c = -1; ++c < h; ) { + for (o = 0, d = -1; ++d < h; ) o += r[c][d]; + u.push(o), f.push(S(h)), (s += o); + } + for ( + t && + g.sort(function (e, i) { + return t(u[e], u[i]); + }), + i && + f.forEach(function (e, t) { + e.sort(function (e, n) { + return i(r[t][e], r[t][n]); + }); + }), + l = (s = Rr(0, Ar - e * h) / s) ? e : Ar / h, + o = 0, + c = -1; + ++c < h; + + ) { + for (a = o, d = -1; ++d < h; ) { + var b = g[c], + v = f[b][d], + y = r[b][v], + w = o, + C = (o += y * s); + _[v * h + b] = { + index: b, + subindex: v, + startAngle: w, + endAngle: C, + value: y, + }; + } + (m[b] = { index: b, startAngle: a, endAngle: o, value: u[b] }), + (o += l); + } + for (c = -1; ++c < h; ) + for (d = c - 1; ++d < h; ) { + var k = _[d * h + c], + x = _[c * h + d]; + (k.value || x.value) && + p.push( + k.value < x.value + ? { source: x, target: k } + : { source: k, target: x } + ); + } + return n ? p.sort(n) : p; + } + return ( + (r.padAngle = function (t) { + return arguments.length ? ((e = Rr(0, t)), r) : e; + }), + (r.sortGroups = function (e) { + return arguments.length ? ((t = e), r) : t; + }), + (r.sortSubgroups = function (e) { + return arguments.length ? ((i = e), r) : i; + }), + (r.sortChords = function (e) { + return arguments.length + ? (null == e ? (n = null) : ((n = Pr(e))._ = e), r) + : n && n._; + }), + r + ); + } + var Br = Array.prototype.slice; + function Wr(e) { + return function () { + return e; + }; + } + var Yr = Math.PI, + Hr = 2 * Yr, + jr = 1e-6, + Vr = Hr - jr; + function zr() { + (this._x0 = this._y0 = this._x1 = this._y1 = null), (this._ = ''); + } + function Ur() { + return new zr(); + } + zr.prototype = Ur.prototype = { + constructor: zr, + moveTo: function (e, t) { + this._ += + 'M' + + (this._x0 = this._x1 = +e) + + ',' + + (this._y0 = this._y1 = +t); + }, + closePath: function () { + null !== this._x1 && + ((this._x1 = this._x0), (this._y1 = this._y0), (this._ += 'Z')); + }, + lineTo: function (e, t) { + this._ += 'L' + (this._x1 = +e) + ',' + (this._y1 = +t); + }, + quadraticCurveTo: function (e, t, i, n) { + this._ += + 'Q' + + +e + + ',' + + +t + + ',' + + (this._x1 = +i) + + ',' + + (this._y1 = +n); + }, + bezierCurveTo: function (e, t, i, n, r, s) { + this._ += + 'C' + + +e + + ',' + + +t + + ',' + + +i + + ',' + + +n + + ',' + + (this._x1 = +r) + + ',' + + (this._y1 = +s); + }, + arcTo: function (e, t, i, n, r) { + (e = +e), (t = +t), (i = +i), (n = +n), (r = +r); + var s = this._x1, + o = this._y1, + a = i - e, + l = n - t, + c = s - e, + d = o - t, + h = c * c + d * d; + if (r < 0) throw new Error('negative radius: ' + r); + if (null === this._x1) + this._ += 'M' + (this._x1 = e) + ',' + (this._y1 = t); + else if (h > jr) + if (Math.abs(d * a - l * c) > jr && r) { + var u = i - s, + g = n - o, + f = a * a + l * l, + p = u * u + g * g, + m = Math.sqrt(f), + _ = Math.sqrt(h), + b = + r * + Math.tan((Yr - Math.acos((f + h - p) / (2 * m * _))) / 2), + v = b / _, + y = b / m; + Math.abs(v - 1) > jr && + (this._ += 'L' + (e + v * c) + ',' + (t + v * d)), + (this._ += + 'A' + + r + + ',' + + r + + ',0,0,' + + +(d * u > c * g) + + ',' + + (this._x1 = e + y * a) + + ',' + + (this._y1 = t + y * l)); + } else this._ += 'L' + (this._x1 = e) + ',' + (this._y1 = t); + }, + arc: function (e, t, i, n, r, s) { + (e = +e), (t = +t), (s = !!s); + var o = (i = +i) * Math.cos(n), + a = i * Math.sin(n), + l = e + o, + c = t + a, + d = 1 ^ s, + h = s ? n - r : r - n; + if (i < 0) throw new Error('negative radius: ' + i); + null === this._x1 + ? (this._ += 'M' + l + ',' + c) + : (Math.abs(this._x1 - l) > jr || Math.abs(this._y1 - c) > jr) && + (this._ += 'L' + l + ',' + c), + i && + (h < 0 && (h = (h % Hr) + Hr), + h > Vr + ? (this._ += + 'A' + + i + + ',' + + i + + ',0,1,' + + d + + ',' + + (e - o) + + ',' + + (t - a) + + 'A' + + i + + ',' + + i + + ',0,1,' + + d + + ',' + + (this._x1 = l) + + ',' + + (this._y1 = c)) + : h > jr && + (this._ += + 'A' + + i + + ',' + + i + + ',0,' + + +(h >= Yr) + + ',' + + d + + ',' + + (this._x1 = e + i * Math.cos(r)) + + ',' + + (this._y1 = t + i * Math.sin(r)))); + }, + rect: function (e, t, i, n) { + this._ += + 'M' + + (this._x0 = this._x1 = +e) + + ',' + + (this._y0 = this._y1 = +t) + + 'h' + + +i + + 'v' + + +n + + 'h' + + -i + + 'Z'; + }, + toString: function () { + return this._; + }, + }; + const $r = Ur; + function Kr(e) { + return e.source; + } + function qr(e) { + return e.target; + } + function Gr(e) { + return e.radius; + } + function Zr(e) { + return e.startAngle; + } + function Jr(e) { + return e.endAngle; + } + function Qr() { + var e = Kr, + t = qr, + i = Gr, + n = Zr, + r = Jr, + s = null; + function o() { + var o, + a = Br.call(arguments), + l = e.apply(this, a), + c = t.apply(this, a), + d = +i.apply(this, ((a[0] = l), a)), + h = n.apply(this, a) - Or, + u = r.apply(this, a) - Or, + g = d * Er(h), + f = d * Tr(h), + p = +i.apply(this, ((a[0] = c), a)), + m = n.apply(this, a) - Or, + _ = r.apply(this, a) - Or; + if ( + (s || (s = o = $r()), + s.moveTo(g, f), + s.arc(0, 0, d, h, u), + (h === m && u === _) || + (s.quadraticCurveTo(0, 0, p * Er(m), p * Tr(m)), + s.arc(0, 0, p, m, _)), + s.quadraticCurveTo(0, 0, g, f), + s.closePath(), + o) + ) + return (s = null), o + '' || null; + } + return ( + (o.radius = function (e) { + return arguments.length + ? ((i = 'function' == typeof e ? e : Wr(+e)), o) + : i; + }), + (o.startAngle = function (e) { + return arguments.length + ? ((n = 'function' == typeof e ? e : Wr(+e)), o) + : n; + }), + (o.endAngle = function (e) { + return arguments.length + ? ((r = 'function' == typeof e ? e : Wr(+e)), o) + : r; + }), + (o.source = function (t) { + return arguments.length ? ((e = t), o) : e; + }), + (o.target = function (e) { + return arguments.length ? ((t = e), o) : t; + }), + (o.context = function (e) { + return arguments.length ? ((s = null == e ? null : e), o) : s; + }), + o + ); + } + var Xr = '$'; + function es() {} + function ts(e, t) { + var i = new es(); + if (e instanceof es) + e.each(function (e, t) { + i.set(t, e); + }); + else if (Array.isArray(e)) { + var n, + r = -1, + s = e.length; + if (null == t) for (; ++r < s; ) i.set(r, e[r]); + else for (; ++r < s; ) i.set(t((n = e[r]), r, e), n); + } else if (e) for (var o in e) i.set(o, e[o]); + return i; + } + es.prototype = ts.prototype = { + constructor: es, + has: function (e) { + return Xr + e in this; + }, + get: function (e) { + return this[Xr + e]; + }, + set: function (e, t) { + return (this[Xr + e] = t), this; + }, + remove: function (e) { + var t = Xr + e; + return t in this && delete this[t]; + }, + clear: function () { + for (var e in this) e[0] === Xr && delete this[e]; + }, + keys: function () { + var e = []; + for (var t in this) t[0] === Xr && e.push(t.slice(1)); + return e; + }, + values: function () { + var e = []; + for (var t in this) t[0] === Xr && e.push(this[t]); + return e; + }, + entries: function () { + var e = []; + for (var t in this) + t[0] === Xr && e.push({ key: t.slice(1), value: this[t] }); + return e; + }, + size: function () { + var e = 0; + for (var t in this) t[0] === Xr && ++e; + return e; + }, + empty: function () { + for (var e in this) if (e[0] === Xr) return !1; + return !0; + }, + each: function (e) { + for (var t in this) t[0] === Xr && e(this[t], t.slice(1), this); + }, + }; + const is = ts; + function ns() { + var e, + t, + i, + n = [], + r = []; + function s(i, r, o, a) { + if (r >= n.length) + return null != e && i.sort(e), null != t ? t(i) : i; + for ( + var l, c, d, h = -1, u = i.length, g = n[r++], f = is(), p = o(); + ++h < u; + + ) + (d = f.get((l = g((c = i[h])) + ''))) ? d.push(c) : f.set(l, [c]); + return ( + f.each(function (e, t) { + a(p, t, s(e, r, o, a)); + }), + p + ); + } + function o(e, i) { + if (++i > n.length) return e; + var s, + a = r[i - 1]; + return ( + null != t && i >= n.length + ? (s = e.entries()) + : ((s = []), + e.each(function (e, t) { + s.push({ key: t, values: o(e, i) }); + })), + null != a + ? s.sort(function (e, t) { + return a(e.key, t.key); + }) + : s + ); + } + return (i = { + object: function (e) { + return s(e, 0, rs, ss); + }, + map: function (e) { + return s(e, 0, os, as); + }, + entries: function (e) { + return o(s(e, 0, os, as), 0); + }, + key: function (e) { + return n.push(e), i; + }, + sortKeys: function (e) { + return (r[n.length - 1] = e), i; + }, + sortValues: function (t) { + return (e = t), i; + }, + rollup: function (e) { + return (t = e), i; + }, + }); + } + function rs() { + return {}; + } + function ss(e, t, i) { + e[t] = i; + } + function os() { + return is(); + } + function as(e, t, i) { + e.set(t, i); + } + function ls() {} + var cs = is.prototype; + function ds(e, t) { + var i = new ls(); + if (e instanceof ls) + e.each(function (e) { + i.add(e); + }); + else if (e) { + var n = -1, + r = e.length; + if (null == t) for (; ++n < r; ) i.add(e[n]); + else for (; ++n < r; ) i.add(t(e[n], n, e)); + } + return i; + } + ls.prototype = ds.prototype = { + constructor: ls, + has: cs.has, + add: function (e) { + return (this[Xr + (e += '')] = e), this; + }, + remove: cs.remove, + clear: cs.clear, + values: cs.keys, + size: cs.size, + empty: cs.empty, + each: cs.each, + }; + const hs = ds; + function us(e) { + var t = []; + for (var i in e) t.push(i); + return t; + } + function gs(e) { + var t = []; + for (var i in e) t.push(e[i]); + return t; + } + function fs(e) { + var t = []; + for (var i in e) t.push({ key: i, value: e[i] }); + return t; + } + var ps = Math.PI / 180, + ms = 180 / Math.PI, + _s = 0.96422, + bs = 0.82521, + vs = 4 / 29, + ys = 6 / 29, + ws = 3 * ys * ys; + function Cs(e) { + if (e instanceof xs) return new xs(e.l, e.a, e.b, e.opacity); + if (e instanceof Os) return As(e); + e instanceof Qt || (e = Zt(e)); + var t, + i, + n = Ns(e.r), + r = Ns(e.g), + s = Ns(e.b), + o = Ls((0.2225045 * n + 0.7168786 * r + 0.0606169 * s) / 1); + return ( + n === r && r === s + ? (t = i = o) + : ((t = Ls((0.4360747 * n + 0.3850649 * r + 0.1430804 * s) / _s)), + (i = Ls((0.0139322 * n + 0.0971045 * r + 0.7141733 * s) / bs))), + new xs(116 * o - 16, 500 * (t - o), 200 * (o - i), e.opacity) + ); + } + function Ss(e, t) { + return new xs(e, 0, 0, null == t ? 1 : t); + } + function ks(e, t, i, n) { + return 1 === arguments.length + ? Cs(e) + : new xs(e, t, i, null == n ? 1 : n); + } + function xs(e, t, i, n) { + (this.l = +e), (this.a = +t), (this.b = +i), (this.opacity = +n); + } + function Ls(e) { + return e > 0.008856451679035631 ? Math.pow(e, 1 / 3) : e / ws + vs; + } + function Ms(e) { + return e > ys ? e * e * e : ws * (e - vs); + } + function Ds(e) { + return ( + 255 * + (e <= 0.0031308 ? 12.92 * e : 1.055 * Math.pow(e, 1 / 2.4) - 0.055) + ); + } + function Ns(e) { + return (e /= 255) <= 0.04045 + ? e / 12.92 + : Math.pow((e + 0.055) / 1.055, 2.4); + } + function Es(e) { + if (e instanceof Os) return new Os(e.h, e.c, e.l, e.opacity); + if ((e instanceof xs || (e = Cs(e)), 0 === e.a && 0 === e.b)) + return new Os(NaN, 0 < e.l && e.l < 100 ? 0 : NaN, e.l, e.opacity); + var t = Math.atan2(e.b, e.a) * ms; + return new Os( + t < 0 ? t + 360 : t, + Math.sqrt(e.a * e.a + e.b * e.b), + e.l, + e.opacity + ); + } + function Ts(e, t, i, n) { + return 1 === arguments.length + ? Es(e) + : new Os(i, t, e, null == n ? 1 : n); + } + function Is(e, t, i, n) { + return 1 === arguments.length + ? Es(e) + : new Os(e, t, i, null == n ? 1 : n); + } + function Os(e, t, i, n) { + (this.h = +e), (this.c = +t), (this.l = +i), (this.opacity = +n); + } + function As(e) { + if (isNaN(e.h)) return new xs(e.l, 0, 0, e.opacity); + var t = e.h * ps; + return new xs(e.l, Math.cos(t) * e.c, Math.sin(t) * e.c, e.opacity); + } + Nt( + xs, + ks, + Et(Tt, { + brighter: function (e) { + return new xs( + this.l + 18 * (null == e ? 1 : e), + this.a, + this.b, + this.opacity + ); + }, + darker: function (e) { + return new xs( + this.l - 18 * (null == e ? 1 : e), + this.a, + this.b, + this.opacity + ); + }, + rgb: function () { + var e = (this.l + 16) / 116, + t = isNaN(this.a) ? e : e + this.a / 500, + i = isNaN(this.b) ? e : e - this.b / 200; + return new Qt( + Ds( + 3.1338561 * (t = _s * Ms(t)) - + 1.6168667 * (e = 1 * Ms(e)) - + 0.4906146 * (i = bs * Ms(i)) + ), + Ds(-0.9787684 * t + 1.9161415 * e + 0.033454 * i), + Ds(0.0719453 * t - 0.2289914 * e + 1.4052427 * i), + this.opacity + ); + }, + }) + ), + Nt( + Os, + Is, + Et(Tt, { + brighter: function (e) { + return new Os( + this.h, + this.c, + this.l + 18 * (null == e ? 1 : e), + this.opacity + ); + }, + darker: function (e) { + return new Os( + this.h, + this.c, + this.l - 18 * (null == e ? 1 : e), + this.opacity + ); + }, + rgb: function () { + return As(this).rgb(); + }, + }) + ); + var Rs = -0.14861, + Ps = 1.78277, + Fs = -0.29227, + Bs = -0.90649, + Ws = 1.97294, + Ys = Ws * Bs, + Hs = Ws * Ps, + js = Ps * Fs - Bs * Rs; + function Vs(e) { + if (e instanceof Us) return new Us(e.h, e.s, e.l, e.opacity); + e instanceof Qt || (e = Zt(e)); + var t = e.r / 255, + i = e.g / 255, + n = e.b / 255, + r = (js * n + Ys * t - Hs * i) / (js + Ys - Hs), + s = n - r, + o = (Ws * (i - r) - Fs * s) / Bs, + a = Math.sqrt(o * o + s * s) / (Ws * r * (1 - r)), + l = a ? Math.atan2(o, s) * ms - 120 : NaN; + return new Us(l < 0 ? l + 360 : l, a, r, e.opacity); + } + function zs(e, t, i, n) { + return 1 === arguments.length + ? Vs(e) + : new Us(e, t, i, null == n ? 1 : n); + } + function Us(e, t, i, n) { + (this.h = +e), (this.s = +t), (this.l = +i), (this.opacity = +n); + } + Nt( + Us, + zs, + Et(Tt, { + brighter: function (e) { + return ( + (e = null == e ? Ot : Math.pow(Ot, e)), + new Us(this.h, this.s, this.l * e, this.opacity) + ); + }, + darker: function (e) { + return ( + (e = null == e ? It : Math.pow(It, e)), + new Us(this.h, this.s, this.l * e, this.opacity) + ); + }, + rgb: function () { + var e = isNaN(this.h) ? 0 : (this.h + 120) * ps, + t = +this.l, + i = isNaN(this.s) ? 0 : this.s * t * (1 - t), + n = Math.cos(e), + r = Math.sin(e); + return new Qt( + 255 * (t + i * (Rs * n + Ps * r)), + 255 * (t + i * (Fs * n + Bs * r)), + 255 * (t + i * (Ws * n)), + this.opacity + ); + }, + }) + ); + var $s = Array.prototype.slice; + function Ks(e, t) { + return e - t; + } + function qs(e) { + return function () { + return e; + }; + } + function Gs(e, t) { + for (var i, n = -1, r = t.length; ++n < r; ) + if ((i = Zs(e, t[n]))) return i; + return 0; + } + function Zs(e, t) { + for ( + var i = t[0], n = t[1], r = -1, s = 0, o = e.length, a = o - 1; + s < o; + a = s++ + ) { + var l = e[s], + c = l[0], + d = l[1], + h = e[a], + u = h[0], + g = h[1]; + if (Js(l, h, t)) return 0; + d > n != g > n && i < ((u - c) * (n - d)) / (g - d) + c && (r = -r); + } + return r; + } + function Js(e, t, i) { + var n, r, s, o; + return ( + (function (e, t, i) { + return ( + (t[0] - e[0]) * (i[1] - e[1]) == (i[0] - e[0]) * (t[1] - e[1]) + ); + })(e, t, i) && + ((r = e[(n = +(e[0] === t[0]))]), + (s = i[n]), + (o = t[n]), + (r <= s && s <= o) || (o <= s && s <= r)) + ); + } + function Qs() {} + var Xs = [ + [], + [ + [ + [1, 1.5], + [0.5, 1], + ], + ], + [ + [ + [1.5, 1], + [1, 1.5], + ], + ], + [ + [ + [1.5, 1], + [0.5, 1], + ], + ], + [ + [ + [1, 0.5], + [1.5, 1], + ], + ], + [ + [ + [1, 1.5], + [0.5, 1], + ], + [ + [1, 0.5], + [1.5, 1], + ], + ], + [ + [ + [1, 0.5], + [1, 1.5], + ], + ], + [ + [ + [1, 0.5], + [0.5, 1], + ], + ], + [ + [ + [0.5, 1], + [1, 0.5], + ], + ], + [ + [ + [1, 1.5], + [1, 0.5], + ], + ], + [ + [ + [0.5, 1], + [1, 0.5], + ], + [ + [1.5, 1], + [1, 1.5], + ], + ], + [ + [ + [1.5, 1], + [1, 0.5], + ], + ], + [ + [ + [0.5, 1], + [1.5, 1], + ], + ], + [ + [ + [1, 1.5], + [1.5, 1], + ], + ], + [ + [ + [0.5, 1], + [1, 1.5], + ], + ], + [], + ]; + function eo() { + var e = 1, + t = 1, + i = E, + n = a; + function r(e) { + var t = i(e); + if (Array.isArray(t)) t = t.slice().sort(Ks); + else { + var n = _(e), + r = n[0], + o = n[1]; + (t = N(r, o, t)), + (t = S(Math.floor(r / t) * t, Math.floor(o / t) * t, t)); + } + return t.map(function (t) { + return s(e, t); + }); + } + function s(i, r) { + var s = [], + a = []; + return ( + (function (i, n, r) { + var s, + a, + l, + c, + d, + h, + u = new Array(), + g = new Array(); + for ( + s = a = -1, c = i[0] >= n, Xs[c << 1].forEach(f); + ++s < e - 1; + + ) + (l = c), (c = i[s + 1] >= n), Xs[l | (c << 1)].forEach(f); + for (Xs[c << 0].forEach(f); ++a < t - 1; ) { + for ( + s = -1, + c = i[a * e + e] >= n, + d = i[a * e] >= n, + Xs[(c << 1) | (d << 2)].forEach(f); + ++s < e - 1; + + ) + (l = c), + (c = i[a * e + e + s + 1] >= n), + (h = d), + (d = i[a * e + s + 1] >= n), + Xs[l | (c << 1) | (d << 2) | (h << 3)].forEach(f); + Xs[c | (d << 3)].forEach(f); + } + for ( + s = -1, d = i[a * e] >= n, Xs[d << 2].forEach(f); + ++s < e - 1; + + ) + (h = d), + (d = i[a * e + s + 1] >= n), + Xs[(d << 2) | (h << 3)].forEach(f); + function f(e) { + var t, + i, + n = [e[0][0] + s, e[0][1] + a], + l = [e[1][0] + s, e[1][1] + a], + c = o(n), + d = o(l); + (t = g[c]) + ? (i = u[d]) + ? (delete g[t.end], + delete u[i.start], + t === i + ? (t.ring.push(l), r(t.ring)) + : (u[t.start] = g[i.end] = { + start: t.start, + end: i.end, + ring: t.ring.concat(i.ring), + })) + : (delete g[t.end], t.ring.push(l), (g[(t.end = d)] = t)) + : (t = u[d]) + ? (i = g[c]) + ? (delete u[t.start], + delete g[i.end], + t === i + ? (t.ring.push(l), r(t.ring)) + : (u[i.start] = g[t.end] = { + start: i.start, + end: t.end, + ring: i.ring.concat(t.ring), + })) + : (delete u[t.start], + t.ring.unshift(n), + (u[(t.start = c)] = t)) + : (u[c] = g[d] = { start: c, end: d, ring: [n, l] }); + } + Xs[d << 3].forEach(f); + })(i, r, function (e) { + n(e, i, r), + (function (e) { + for ( + var t = 0, + i = e.length, + n = e[i - 1][1] * e[0][0] - e[i - 1][0] * e[0][1]; + ++t < i; + + ) + n += e[t - 1][1] * e[t][0] - e[t - 1][0] * e[t][1]; + return n; + })(e) > 0 + ? s.push([e]) + : a.push(e); + }), + a.forEach(function (e) { + for (var t, i = 0, n = s.length; i < n; ++i) + if (-1 !== Gs((t = s[i])[0], e)) return void t.push(e); + }), + { type: 'MultiPolygon', value: r, coordinates: s } + ); + } + function o(t) { + return 2 * t[0] + t[1] * (e + 1) * 4; + } + function a(i, n, r) { + i.forEach(function (i) { + var s, + o = i[0], + a = i[1], + l = 0 | o, + c = 0 | a, + d = n[c * e + l]; + o > 0 && + o < e && + l === o && + ((s = n[c * e + l - 1]), (i[0] = o + (r - s) / (d - s) - 0.5)), + a > 0 && + a < t && + c === a && + ((s = n[(c - 1) * e + l]), + (i[1] = a + (r - s) / (d - s) - 0.5)); + }); + } + return ( + (r.contour = s), + (r.size = function (i) { + if (!arguments.length) return [e, t]; + var n = Math.ceil(i[0]), + s = Math.ceil(i[1]); + if (!(n > 0 && s > 0)) throw new Error('invalid size'); + return (e = n), (t = s), r; + }), + (r.thresholds = function (e) { + return arguments.length + ? ((i = + 'function' == typeof e + ? e + : Array.isArray(e) + ? qs($s.call(e)) + : qs(e)), + r) + : i; + }), + (r.smooth = function (e) { + return arguments.length ? ((n = e ? a : Qs), r) : n === a; + }), + r + ); + } + function to(e, t, i) { + for ( + var n = e.width, r = e.height, s = 1 + (i << 1), o = 0; + o < r; + ++o + ) + for (var a = 0, l = 0; a < n + i; ++a) + a < n && (l += e.data[a + o * n]), + a >= i && + (a >= s && (l -= e.data[a - s + o * n]), + (t.data[a - i + o * n] = + l / Math.min(a + 1, n - 1 + s - a, s))); + } + function io(e, t, i) { + for ( + var n = e.width, r = e.height, s = 1 + (i << 1), o = 0; + o < n; + ++o + ) + for (var a = 0, l = 0; a < r + i; ++a) + a < r && (l += e.data[o + a * n]), + a >= i && + (a >= s && (l -= e.data[o + (a - s) * n]), + (t.data[o + (a - i) * n] = + l / Math.min(a + 1, r - 1 + s - a, s))); + } + function no(e) { + return e[0]; + } + function ro(e) { + return e[1]; + } + function so() { + return 1; + } + function oo() { + var e = no, + t = ro, + i = so, + n = 960, + r = 500, + s = 20, + o = 2, + a = 3 * s, + l = (n + 2 * a) >> o, + c = (r + 2 * a) >> o, + d = qs(20); + function h(n) { + var r = new Float32Array(l * c), + h = new Float32Array(l * c); + n.forEach(function (n, s, d) { + var h = (+e(n, s, d) + a) >> o, + u = (+t(n, s, d) + a) >> o, + g = +i(n, s, d); + h >= 0 && h < l && u >= 0 && u < c && (r[h + u * l] += g); + }), + to( + { width: l, height: c, data: r }, + { width: l, height: c, data: h }, + s >> o + ), + io( + { width: l, height: c, data: h }, + { width: l, height: c, data: r }, + s >> o + ), + to( + { width: l, height: c, data: r }, + { width: l, height: c, data: h }, + s >> o + ), + io( + { width: l, height: c, data: h }, + { width: l, height: c, data: r }, + s >> o + ), + to( + { width: l, height: c, data: r }, + { width: l, height: c, data: h }, + s >> o + ), + io( + { width: l, height: c, data: h }, + { width: l, height: c, data: r }, + s >> o + ); + var g = d(r); + if (!Array.isArray(g)) { + var f = R(r); + (g = N(0, f, g)), (g = S(0, Math.floor(f / g) * g, g)).shift(); + } + return eo().thresholds(g).size([l, c])(r).map(u); + } + function u(e) { + return ( + (e.value *= Math.pow(2, -2 * o)), e.coordinates.forEach(g), e + ); + } + function g(e) { + e.forEach(f); + } + function f(e) { + e.forEach(p); + } + function p(e) { + (e[0] = e[0] * Math.pow(2, o) - a), + (e[1] = e[1] * Math.pow(2, o) - a); + } + function m() { + return (l = (n + 2 * (a = 3 * s)) >> o), (c = (r + 2 * a) >> o), h; + } + return ( + (h.x = function (t) { + return arguments.length + ? ((e = 'function' == typeof t ? t : qs(+t)), h) + : e; + }), + (h.y = function (e) { + return arguments.length + ? ((t = 'function' == typeof e ? e : qs(+e)), h) + : t; + }), + (h.weight = function (e) { + return arguments.length + ? ((i = 'function' == typeof e ? e : qs(+e)), h) + : i; + }), + (h.size = function (e) { + if (!arguments.length) return [n, r]; + var t = Math.ceil(e[0]), + i = Math.ceil(e[1]); + if (!(t >= 0 || t >= 0)) throw new Error('invalid size'); + return (n = t), (r = i), m(); + }), + (h.cellSize = function (e) { + if (!arguments.length) return 1 << o; + if (!((e = +e) >= 1)) throw new Error('invalid cell size'); + return (o = Math.floor(Math.log(e) / Math.LN2)), m(); + }), + (h.thresholds = function (e) { + return arguments.length + ? ((d = + 'function' == typeof e + ? e + : Array.isArray(e) + ? qs($s.call(e)) + : qs(e)), + h) + : d; + }), + (h.bandwidth = function (e) { + if (!arguments.length) return Math.sqrt(s * (s + 1)); + if (!((e = +e) >= 0)) throw new Error('invalid bandwidth'); + return (s = Math.round((Math.sqrt(4 * e * e + 1) - 1) / 2)), m(); + }), + h + ); + } + function ao(e) { + return function () { + return e; + }; + } + function lo(e, t, i, n, r, s, o, a, l, c) { + (this.target = e), + (this.type = t), + (this.subject = i), + (this.identifier = n), + (this.active = r), + (this.x = s), + (this.y = o), + (this.dx = a), + (this.dy = l), + (this._ = c); + } + function co() { + return !dt.ctrlKey && !dt.button; + } + function ho() { + return this.parentNode; + } + function uo(e) { + return null == e ? { x: dt.x, y: dt.y } : e; + } + function go() { + return navigator.maxTouchPoints || 'ontouchstart' in this; + } + function fo() { + var e, + t, + i, + n, + r = co, + s = ho, + o = uo, + a = go, + l = {}, + c = ue('start', 'drag', 'end'), + d = 0, + h = 0; + function u(e) { + e.on('mousedown.drag', g) + .filter(a) + .on('touchstart.drag', m) + .on('touchmove.drag', _) + .on('touchend.drag touchcancel.drag', b) + .style('touch-action', 'none') + .style('-webkit-tap-highlight-color', 'rgba(0,0,0,0)'); + } + function g() { + if (!n && r.apply(this, arguments)) { + var o = v('mouse', s.apply(this, arguments), Ii, this, arguments); + o && + (kt(dt.view) + .on('mousemove.drag', f, !0) + .on('mouseup.drag', p, !0), + Mt(dt.view), + xt(), + (i = !1), + (e = dt.clientX), + (t = dt.clientY), + o('start')); + } + } + function f() { + if ((Lt(), !i)) { + var n = dt.clientX - e, + r = dt.clientY - t; + i = n * n + r * r > h; + } + l.mouse('drag'); + } + function p() { + kt(dt.view).on('mousemove.drag mouseup.drag', null), + Dt(dt.view, i), + Lt(), + l.mouse('end'); + } + function m() { + if (r.apply(this, arguments)) { + var e, + t, + i = dt.changedTouches, + n = s.apply(this, arguments), + o = i.length; + for (e = 0; e < o; ++e) + (t = v(i[e].identifier, n, Ti, this, arguments)) && + (xt(), t('start')); + } + } + function _() { + var e, + t, + i = dt.changedTouches, + n = i.length; + for (e = 0; e < n; ++e) + (t = l[i[e].identifier]) && (Lt(), t('drag')); + } + function b() { + var e, + t, + i = dt.changedTouches, + r = i.length; + for ( + n && clearTimeout(n), + n = setTimeout(function () { + n = null; + }, 500), + e = 0; + e < r; + ++e + ) + (t = l[i[e].identifier]) && (xt(), t('end')); + } + function v(e, t, i, n, r) { + var s, + a, + h, + g = i(t, e), + f = c.copy(); + if ( + mt( + new lo(u, 'beforestart', s, e, d, g[0], g[1], 0, 0, f), + function () { + return ( + null != (dt.subject = s = o.apply(n, r)) && + ((a = s.x - g[0] || 0), (h = s.y - g[1] || 0), !0) + ); + } + ) + ) + return function o(c) { + var p, + m = g; + switch (c) { + case 'start': + (l[e] = o), (p = d++); + break; + case 'end': + delete l[e], --d; + case 'drag': + (g = i(t, e)), (p = d); + } + mt( + new lo( + u, + c, + s, + e, + p, + g[0] + a, + g[1] + h, + g[0] - m[0], + g[1] - m[1], + f + ), + f.apply, + f, + [c, n, r] + ); + }; + } + return ( + (u.filter = function (e) { + return arguments.length + ? ((r = 'function' == typeof e ? e : ao(!!e)), u) + : r; + }), + (u.container = function (e) { + return arguments.length + ? ((s = 'function' == typeof e ? e : ao(e)), u) + : s; + }), + (u.subject = function (e) { + return arguments.length + ? ((o = 'function' == typeof e ? e : ao(e)), u) + : o; + }), + (u.touchable = function (e) { + return arguments.length + ? ((a = 'function' == typeof e ? e : ao(!!e)), u) + : a; + }), + (u.on = function () { + var e = c.on.apply(c, arguments); + return e === c ? u : e; + }), + (u.clickDistance = function (e) { + return arguments.length ? ((h = (e = +e) * e), u) : Math.sqrt(h); + }), + u + ); + } + lo.prototype.on = function () { + var e = this._.on.apply(this._, arguments); + return e === this._ ? this : e; + }; + var po = {}, + mo = {}; + function _o(e) { + return new Function( + 'd', + 'return {' + + e + .map(function (e, t) { + return JSON.stringify(e) + ': d[' + t + '] || ""'; + }) + .join(',') + + '}' + ); + } + function bo(e) { + var t = Object.create(null), + i = []; + return ( + e.forEach(function (e) { + for (var n in e) n in t || i.push((t[n] = n)); + }), + i + ); + } + function vo(e, t) { + var i = e + '', + n = i.length; + return n < t ? new Array(t - n + 1).join(0) + i : i; + } + function yo(e) { + var t = new RegExp('["' + e + '\n\r]'), + i = e.charCodeAt(0); + function n(e, t) { + var n, + r = [], + s = e.length, + o = 0, + a = 0, + l = s <= 0, + c = !1; + function d() { + if (l) return mo; + if (c) return (c = !1), po; + var t, + n, + r = o; + if (34 === e.charCodeAt(r)) { + for ( + ; + (o++ < s && 34 !== e.charCodeAt(o)) || + 34 === e.charCodeAt(++o); + + ); + return ( + (t = o) >= s + ? (l = !0) + : 10 === (n = e.charCodeAt(o++)) + ? (c = !0) + : 13 === n && ((c = !0), 10 === e.charCodeAt(o) && ++o), + e.slice(r + 1, t - 1).replace(/""/g, '"') + ); + } + for (; o < s; ) { + if (10 === (n = e.charCodeAt((t = o++)))) c = !0; + else if (13 === n) (c = !0), 10 === e.charCodeAt(o) && ++o; + else if (n !== i) continue; + return e.slice(r, t); + } + return (l = !0), e.slice(r, s); + } + for ( + 10 === e.charCodeAt(s - 1) && --s, + 13 === e.charCodeAt(s - 1) && --s; + (n = d()) !== mo; + + ) { + for (var h = []; n !== po && n !== mo; ) h.push(n), (n = d()); + (t && null == (h = t(h, a++))) || r.push(h); + } + return r; + } + function r(t, i) { + return t.map(function (t) { + return i + .map(function (e) { + return o(t[e]); + }) + .join(e); + }); + } + function s(t) { + return t.map(o).join(e); + } + function o(e) { + return null == e + ? '' + : e instanceof Date + ? (function (e) { + var t = e.getUTCHours(), + i = e.getUTCMinutes(), + n = e.getUTCSeconds(), + r = e.getUTCMilliseconds(); + return isNaN(e) + ? 'Invalid Date' + : (function (e) { + return e < 0 + ? '-' + vo(-e, 6) + : e > 9999 + ? '+' + vo(e, 6) + : vo(e, 4); + })(e.getUTCFullYear()) + + '-' + + vo(e.getUTCMonth() + 1, 2) + + '-' + + vo(e.getUTCDate(), 2) + + (r + ? 'T' + + vo(t, 2) + + ':' + + vo(i, 2) + + ':' + + vo(n, 2) + + '.' + + vo(r, 3) + + 'Z' + : n + ? 'T' + + vo(t, 2) + + ':' + + vo(i, 2) + + ':' + + vo(n, 2) + + 'Z' + : i || t + ? 'T' + vo(t, 2) + ':' + vo(i, 2) + 'Z' + : ''); + })(e) + : t.test((e += '')) + ? '"' + e.replace(/"/g, '""') + '"' + : e; + } + return { + parse: function (e, t) { + var i, + r, + s = n(e, function (e, n) { + if (i) return i(e, n - 1); + (r = e), + (i = t + ? (function (e, t) { + var i = _o(e); + return function (n, r) { + return t(i(n), r, e); + }; + })(e, t) + : _o(e)); + }); + return (s.columns = r || []), s; + }, + parseRows: n, + format: function (t, i) { + return ( + null == i && (i = bo(t)), + [i.map(o).join(e)].concat(r(t, i)).join('\n') + ); + }, + formatBody: function (e, t) { + return null == t && (t = bo(e)), r(e, t).join('\n'); + }, + formatRows: function (e) { + return e.map(s).join('\n'); + }, + formatRow: s, + formatValue: o, + }; + } + var wo = yo(','), + Co = wo.parse, + So = wo.parseRows, + ko = wo.format, + xo = wo.formatBody, + Lo = wo.formatRows, + Mo = wo.formatRow, + Do = wo.formatValue, + No = yo('\t'), + Eo = No.parse, + To = No.parseRows, + Io = No.format, + Oo = No.formatBody, + Ao = No.formatRows, + Ro = No.formatRow, + Po = No.formatValue; + function Fo(e) { + for (var t in e) { + var i, + n, + r = e[t].trim(); + if (r) + if ('true' === r) r = !0; + else if ('false' === r) r = !1; + else if ('NaN' === r) r = NaN; + else if (isNaN((i = +r))) { + if ( + !(n = r.match( + /^([-+]\d{2})?\d{4}(-\d{2}(-\d{2})?)?(T\d{2}:\d{2}(:\d{2}(\.\d{3})?)?(Z|[-+]\d{2}:\d{2})?)?$/ + )) + ) + continue; + Bo && + n[4] && + !n[7] && + (r = r.replace(/-/g, '/').replace(/T/, ' ')), + (r = new Date(r)); + } else r = i; + else r = null; + e[t] = r; + } + return e; + } + var Bo = + new Date('2019-01-01T00:00').getHours() || + new Date('2019-07-01T00:00').getHours(); + function Wo(e) { + return +e; + } + function Yo(e) { + return e * e; + } + function Ho(e) { + return e * (2 - e); + } + function jo(e) { + return ((e *= 2) <= 1 ? e * e : --e * (2 - e) + 1) / 2; + } + var Vo = (function e(t) { + function i(e) { + return Math.pow(e, t); + } + return (t = +t), (i.exponent = e), i; + })(3), + zo = (function e(t) { + function i(e) { + return 1 - Math.pow(1 - e, t); + } + return (t = +t), (i.exponent = e), i; + })(3), + Uo = (function e(t) { + function i(e) { + return ( + ((e *= 2) <= 1 ? Math.pow(e, t) : 2 - Math.pow(2 - e, t)) / 2 + ); + } + return (t = +t), (i.exponent = e), i; + })(3), + $o = Math.PI, + Ko = $o / 2; + function qo(e) { + return 1 - Math.cos(e * Ko); + } + function Go(e) { + return Math.sin(e * Ko); + } + function Zo(e) { + return (1 - Math.cos($o * e)) / 2; + } + function Jo(e) { + return Math.pow(2, 10 * e - 10); + } + function Qo(e) { + return 1 - Math.pow(2, -10 * e); + } + function Xo(e) { + return ( + ((e *= 2) <= 1 + ? Math.pow(2, 10 * e - 10) + : 2 - Math.pow(2, 10 - 10 * e)) / 2 + ); + } + function ea(e) { + return 1 - Math.sqrt(1 - e * e); + } + function ta(e) { + return Math.sqrt(1 - --e * e); + } + function ia(e) { + return ( + ((e *= 2) <= 1 + ? 1 - Math.sqrt(1 - e * e) + : Math.sqrt(1 - (e -= 2) * e) + 1) / 2 + ); + } + var na = 7.5625; + function ra(e) { + return 1 - sa(1 - e); + } + function sa(e) { + return (e = +e) < 0.36363636363636365 + ? na * e * e + : e < 0.7272727272727273 + ? na * (e -= 0.5454545454545454) * e + 0.75 + : e < 0.9090909090909091 + ? na * (e -= 0.8181818181818182) * e + 0.9375 + : na * (e -= 0.9545454545454546) * e + 0.984375; + } + function oa(e) { + return ((e *= 2) <= 1 ? 1 - sa(1 - e) : sa(e - 1) + 1) / 2; + } + var aa = 1.70158, + la = (function e(t) { + function i(e) { + return e * e * ((t + 1) * e - t); + } + return (t = +t), (i.overshoot = e), i; + })(aa), + ca = (function e(t) { + function i(e) { + return --e * e * ((t + 1) * e + t) + 1; + } + return (t = +t), (i.overshoot = e), i; + })(aa), + da = (function e(t) { + function i(e) { + return ( + ((e *= 2) < 1 + ? e * e * ((t + 1) * e - t) + : (e -= 2) * e * ((t + 1) * e + t) + 2) / 2 + ); + } + return (t = +t), (i.overshoot = e), i; + })(aa), + ha = 2 * Math.PI, + ua = (function e(t, i) { + var n = Math.asin(1 / (t = Math.max(1, t))) * (i /= ha); + function r(e) { + return t * Math.pow(2, 10 * --e) * Math.sin((n - e) / i); + } + return ( + (r.amplitude = function (t) { + return e(t, i * ha); + }), + (r.period = function (i) { + return e(t, i); + }), + r + ); + })(1, 0.3), + ga = (function e(t, i) { + var n = Math.asin(1 / (t = Math.max(1, t))) * (i /= ha); + function r(e) { + return ( + 1 - t * Math.pow(2, -10 * (e = +e)) * Math.sin((e + n) / i) + ); + } + return ( + (r.amplitude = function (t) { + return e(t, i * ha); + }), + (r.period = function (i) { + return e(t, i); + }), + r + ); + })(1, 0.3), + fa = (function e(t, i) { + var n = Math.asin(1 / (t = Math.max(1, t))) * (i /= ha); + function r(e) { + return ( + ((e = 2 * e - 1) < 0 + ? t * Math.pow(2, 10 * e) * Math.sin((n - e) / i) + : 2 - t * Math.pow(2, -10 * e) * Math.sin((n + e) / i)) / 2 + ); + } + return ( + (r.amplitude = function (t) { + return e(t, i * ha); + }), + (r.period = function (i) { + return e(t, i); + }), + r + ); + })(1, 0.3); + function pa(e) { + if (!e.ok) throw new Error(e.status + ' ' + e.statusText); + return e.blob(); + } + function ma(e, t) { + return fetch(e, t).then(pa); + } + function _a(e) { + if (!e.ok) throw new Error(e.status + ' ' + e.statusText); + return e.arrayBuffer(); + } + function ba(e, t) { + return fetch(e, t).then(_a); + } + function va(e) { + if (!e.ok) throw new Error(e.status + ' ' + e.statusText); + return e.text(); + } + function ya(e, t) { + return fetch(e, t).then(va); + } + function wa(e) { + return function (t, i, n) { + return ( + 2 === arguments.length && + 'function' == typeof i && + ((n = i), (i = void 0)), + ya(t, i).then(function (t) { + return e(t, n); + }) + ); + }; + } + function Ca(e, t, i, n) { + 3 === arguments.length && + 'function' == typeof i && + ((n = i), (i = void 0)); + var r = yo(e); + return ya(t, i).then(function (e) { + return r.parse(e, n); + }); + } + var Sa = wa(Co), + ka = wa(Eo); + function xa(e, t) { + return new Promise(function (i, n) { + var r = new Image(); + for (var s in t) r[s] = t[s]; + (r.onerror = n), + (r.onload = function () { + i(r); + }), + (r.src = e); + }); + } + function La(e) { + if (!e.ok) throw new Error(e.status + ' ' + e.statusText); + return e.json(); + } + function Ma(e, t) { + return fetch(e, t).then(La); + } + function Da(e) { + return function (t, i) { + return ya(t, i).then(function (t) { + return new DOMParser().parseFromString(t, e); + }); + }; + } + const Na = Da('application/xml'); + var Ea = Da('text/html'), + Ta = Da('image/svg+xml'); + function Ia(e, t) { + var i; + function n() { + var n, + r, + s = i.length, + o = 0, + a = 0; + for (n = 0; n < s; ++n) (o += (r = i[n]).x), (a += r.y); + for (o = o / s - e, a = a / s - t, n = 0; n < s; ++n) + ((r = i[n]).x -= o), (r.y -= a); + } + return ( + null == e && (e = 0), + null == t && (t = 0), + (n.initialize = function (e) { + i = e; + }), + (n.x = function (t) { + return arguments.length ? ((e = +t), n) : e; + }), + (n.y = function (e) { + return arguments.length ? ((t = +e), n) : t; + }), + n + ); + } + function Oa(e) { + return function () { + return e; + }; + } + function Aa() { + return 1e-6 * (Math.random() - 0.5); + } + function Ra(e, t, i, n) { + if (isNaN(t) || isNaN(i)) return e; + var r, + s, + o, + a, + l, + c, + d, + h, + u, + g = e._root, + f = { data: n }, + p = e._x0, + m = e._y0, + _ = e._x1, + b = e._y1; + if (!g) return (e._root = f), e; + for (; g.length; ) + if ( + ((c = t >= (s = (p + _) / 2)) ? (p = s) : (_ = s), + (d = i >= (o = (m + b) / 2)) ? (m = o) : (b = o), + (r = g), + !(g = g[(h = (d << 1) | c)])) + ) + return (r[h] = f), e; + if ( + ((a = +e._x.call(null, g.data)), + (l = +e._y.call(null, g.data)), + t === a && i === l) + ) + return (f.next = g), r ? (r[h] = f) : (e._root = f), e; + do { + (r = r ? (r[h] = new Array(4)) : (e._root = new Array(4))), + (c = t >= (s = (p + _) / 2)) ? (p = s) : (_ = s), + (d = i >= (o = (m + b) / 2)) ? (m = o) : (b = o); + } while ((h = (d << 1) | c) == (u = ((l >= o) << 1) | (a >= s))); + return (r[u] = g), (r[h] = f), e; + } + function Pa(e, t, i, n, r) { + (this.node = e), + (this.x0 = t), + (this.y0 = i), + (this.x1 = n), + (this.y1 = r); + } + function Fa(e) { + return e[0]; + } + function Ba(e) { + return e[1]; + } + function Wa(e, t, i) { + var n = new Ya( + null == t ? Fa : t, + null == i ? Ba : i, + NaN, + NaN, + NaN, + NaN + ); + return null == e ? n : n.addAll(e); + } + function Ya(e, t, i, n, r, s) { + (this._x = e), + (this._y = t), + (this._x0 = i), + (this._y0 = n), + (this._x1 = r), + (this._y1 = s), + (this._root = void 0); + } + function Ha(e) { + for (var t = { data: e.data }, i = t; (e = e.next); ) + i = i.next = { data: e.data }; + return t; + } + var ja = (Wa.prototype = Ya.prototype); + function Va(e) { + return e.x + e.vx; + } + function za(e) { + return e.y + e.vy; + } + function Ua(e) { + var t, + i, + n = 1, + r = 1; + function s() { + for (var e, s, a, l, c, d, h, u = t.length, g = 0; g < r; ++g) + for (s = Wa(t, Va, za).visitAfter(o), e = 0; e < u; ++e) + (a = t[e]), + (d = i[a.index]), + (h = d * d), + (l = a.x + a.vx), + (c = a.y + a.vy), + s.visit(f); + function f(e, t, i, r, s) { + var o = e.data, + u = e.r, + g = d + u; + if (!o) return t > l + g || r < l - g || i > c + g || s < c - g; + if (o.index > a.index) { + var f = l - o.x - o.vx, + p = c - o.y - o.vy, + m = f * f + p * p; + m < g * g && + (0 === f && (m += (f = Aa()) * f), + 0 === p && (m += (p = Aa()) * p), + (m = ((g - (m = Math.sqrt(m))) / m) * n), + (a.vx += (f *= m) * (g = (u *= u) / (h + u))), + (a.vy += (p *= m) * g), + (o.vx -= f * (g = 1 - g)), + (o.vy -= p * g)); + } + } + } + function o(e) { + if (e.data) return (e.r = i[e.data.index]); + for (var t = (e.r = 0); t < 4; ++t) + e[t] && e[t].r > e.r && (e.r = e[t].r); + } + function a() { + if (t) { + var n, + r, + s = t.length; + for (i = new Array(s), n = 0; n < s; ++n) + (r = t[n]), (i[r.index] = +e(r, n, t)); + } + } + return ( + 'function' != typeof e && (e = Oa(null == e ? 1 : +e)), + (s.initialize = function (e) { + (t = e), a(); + }), + (s.iterations = function (e) { + return arguments.length ? ((r = +e), s) : r; + }), + (s.strength = function (e) { + return arguments.length ? ((n = +e), s) : n; + }), + (s.radius = function (t) { + return arguments.length + ? ((e = 'function' == typeof t ? t : Oa(+t)), a(), s) + : e; + }), + s + ); + } + function $a(e) { + return e.index; + } + function Ka(e, t) { + var i = e.get(t); + if (!i) throw new Error('missing: ' + t); + return i; + } + function qa(e) { + var t, + i, + n, + r, + s, + o = $a, + a = function (e) { + return 1 / Math.min(r[e.source.index], r[e.target.index]); + }, + l = Oa(30), + c = 1; + function d(n) { + for (var r = 0, o = e.length; r < c; ++r) + for (var a, l, d, h, u, g, f, p = 0; p < o; ++p) + (l = (a = e[p]).source), + (h = (d = a.target).x + d.vx - l.x - l.vx || Aa()), + (u = d.y + d.vy - l.y - l.vy || Aa()), + (h *= g = + (((g = Math.sqrt(h * h + u * u)) - i[p]) / g) * n * t[p]), + (u *= g), + (d.vx -= h * (f = s[p])), + (d.vy -= u * f), + (l.vx += h * (f = 1 - f)), + (l.vy += u * f); + } + function h() { + if (n) { + var a, + l, + c = n.length, + d = e.length, + h = is(n, o); + for (a = 0, r = new Array(c); a < d; ++a) + ((l = e[a]).index = a), + 'object' != typeof l.source && (l.source = Ka(h, l.source)), + 'object' != typeof l.target && (l.target = Ka(h, l.target)), + (r[l.source.index] = (r[l.source.index] || 0) + 1), + (r[l.target.index] = (r[l.target.index] || 0) + 1); + for (a = 0, s = new Array(d); a < d; ++a) + (l = e[a]), + (s[a] = + r[l.source.index] / + (r[l.source.index] + r[l.target.index])); + (t = new Array(d)), u(), (i = new Array(d)), g(); + } + } + function u() { + if (n) + for (var i = 0, r = e.length; i < r; ++i) t[i] = +a(e[i], i, e); + } + function g() { + if (n) + for (var t = 0, r = e.length; t < r; ++t) i[t] = +l(e[t], t, e); + } + return ( + null == e && (e = []), + (d.initialize = function (e) { + (n = e), h(); + }), + (d.links = function (t) { + return arguments.length ? ((e = t), h(), d) : e; + }), + (d.id = function (e) { + return arguments.length ? ((o = e), d) : o; + }), + (d.iterations = function (e) { + return arguments.length ? ((c = +e), d) : c; + }), + (d.strength = function (e) { + return arguments.length + ? ((a = 'function' == typeof e ? e : Oa(+e)), u(), d) + : a; + }), + (d.distance = function (e) { + return arguments.length + ? ((l = 'function' == typeof e ? e : Oa(+e)), g(), d) + : l; + }), + d + ); + } + function Ga(e) { + return e.x; + } + function Za(e) { + return e.y; + } + (ja.copy = function () { + var e, + t, + i = new Ya( + this._x, + this._y, + this._x0, + this._y0, + this._x1, + this._y1 + ), + n = this._root; + if (!n) return i; + if (!n.length) return (i._root = Ha(n)), i; + for ( + e = [{ source: n, target: (i._root = new Array(4)) }]; + (n = e.pop()); + + ) + for (var r = 0; r < 4; ++r) + (t = n.source[r]) && + (t.length + ? e.push({ source: t, target: (n.target[r] = new Array(4)) }) + : (n.target[r] = Ha(t))); + return i; + }), + (ja.add = function (e) { + var t = +this._x.call(null, e), + i = +this._y.call(null, e); + return Ra(this.cover(t, i), t, i, e); + }), + (ja.addAll = function (e) { + var t, + i, + n, + r, + s = e.length, + o = new Array(s), + a = new Array(s), + l = 1 / 0, + c = 1 / 0, + d = -1 / 0, + h = -1 / 0; + for (i = 0; i < s; ++i) + isNaN((n = +this._x.call(null, (t = e[i])))) || + isNaN((r = +this._y.call(null, t))) || + ((o[i] = n), + (a[i] = r), + n < l && (l = n), + n > d && (d = n), + r < c && (c = r), + r > h && (h = r)); + if (l > d || c > h) return this; + for (this.cover(l, c).cover(d, h), i = 0; i < s; ++i) + Ra(this, o[i], a[i], e[i]); + return this; + }), + (ja.cover = function (e, t) { + if (isNaN((e = +e)) || isNaN((t = +t))) return this; + var i = this._x0, + n = this._y0, + r = this._x1, + s = this._y1; + if (isNaN(i)) + (r = (i = Math.floor(e)) + 1), (s = (n = Math.floor(t)) + 1); + else { + for ( + var o, a, l = r - i, c = this._root; + i > e || e >= r || n > t || t >= s; + + ) + switch ( + ((a = ((t < n) << 1) | (e < i)), + ((o = new Array(4))[a] = c), + (c = o), + (l *= 2), + a) + ) { + case 0: + (r = i + l), (s = n + l); + break; + case 1: + (i = r - l), (s = n + l); + break; + case 2: + (r = i + l), (n = s - l); + break; + case 3: + (i = r - l), (n = s - l); + } + this._root && this._root.length && (this._root = c); + } + return ( + (this._x0 = i), + (this._y0 = n), + (this._x1 = r), + (this._y1 = s), + this + ); + }), + (ja.data = function () { + var e = []; + return ( + this.visit(function (t) { + if (!t.length) + do { + e.push(t.data); + } while ((t = t.next)); + }), + e + ); + }), + (ja.extent = function (e) { + return arguments.length + ? this.cover(+e[0][0], +e[0][1]).cover(+e[1][0], +e[1][1]) + : isNaN(this._x0) + ? void 0 + : [ + [this._x0, this._y0], + [this._x1, this._y1], + ]; + }), + (ja.find = function (e, t, i) { + var n, + r, + s, + o, + a, + l, + c, + d = this._x0, + h = this._y0, + u = this._x1, + g = this._y1, + f = [], + p = this._root; + for ( + p && f.push(new Pa(p, d, h, u, g)), + null == i + ? (i = 1 / 0) + : ((d = e - i), + (h = t - i), + (u = e + i), + (g = t + i), + (i *= i)); + (l = f.pop()); + + ) + if ( + !( + !(p = l.node) || + (r = l.x0) > u || + (s = l.y0) > g || + (o = l.x1) < d || + (a = l.y1) < h + ) + ) + if (p.length) { + var m = (r + o) / 2, + _ = (s + a) / 2; + f.push( + new Pa(p[3], m, _, o, a), + new Pa(p[2], r, _, m, a), + new Pa(p[1], m, s, o, _), + new Pa(p[0], r, s, m, _) + ), + (c = ((t >= _) << 1) | (e >= m)) && + ((l = f[f.length - 1]), + (f[f.length - 1] = f[f.length - 1 - c]), + (f[f.length - 1 - c] = l)); + } else { + var b = e - +this._x.call(null, p.data), + v = t - +this._y.call(null, p.data), + y = b * b + v * v; + if (y < i) { + var w = Math.sqrt((i = y)); + (d = e - w), + (h = t - w), + (u = e + w), + (g = t + w), + (n = p.data); + } + } + return n; + }), + (ja.remove = function (e) { + if ( + isNaN((s = +this._x.call(null, e))) || + isNaN((o = +this._y.call(null, e))) + ) + return this; + var t, + i, + n, + r, + s, + o, + a, + l, + c, + d, + h, + u, + g = this._root, + f = this._x0, + p = this._y0, + m = this._x1, + _ = this._y1; + if (!g) return this; + if (g.length) + for (;;) { + if ( + ((c = s >= (a = (f + m) / 2)) ? (f = a) : (m = a), + (d = o >= (l = (p + _) / 2)) ? (p = l) : (_ = l), + (t = g), + !(g = g[(h = (d << 1) | c)])) + ) + return this; + if (!g.length) break; + (t[(h + 1) & 3] || t[(h + 2) & 3] || t[(h + 3) & 3]) && + ((i = t), (u = h)); + } + for (; g.data !== e; ) if (((n = g), !(g = g.next))) return this; + return ( + (r = g.next) && delete g.next, + n + ? (r ? (n.next = r) : delete n.next, this) + : t + ? (r ? (t[h] = r) : delete t[h], + (g = t[0] || t[1] || t[2] || t[3]) && + g === (t[3] || t[2] || t[1] || t[0]) && + !g.length && + (i ? (i[u] = g) : (this._root = g)), + this) + : ((this._root = r), this) + ); + }), + (ja.removeAll = function (e) { + for (var t = 0, i = e.length; t < i; ++t) this.remove(e[t]); + return this; + }), + (ja.root = function () { + return this._root; + }), + (ja.size = function () { + var e = 0; + return ( + this.visit(function (t) { + if (!t.length) + do { + ++e; + } while ((t = t.next)); + }), + e + ); + }), + (ja.visit = function (e) { + var t, + i, + n, + r, + s, + o, + a = [], + l = this._root; + for ( + l && a.push(new Pa(l, this._x0, this._y0, this._x1, this._y1)); + (t = a.pop()); + + ) + if ( + !e( + (l = t.node), + (n = t.x0), + (r = t.y0), + (s = t.x1), + (o = t.y1) + ) && + l.length + ) { + var c = (n + s) / 2, + d = (r + o) / 2; + (i = l[3]) && a.push(new Pa(i, c, d, s, o)), + (i = l[2]) && a.push(new Pa(i, n, d, c, o)), + (i = l[1]) && a.push(new Pa(i, c, r, s, d)), + (i = l[0]) && a.push(new Pa(i, n, r, c, d)); + } + return this; + }), + (ja.visitAfter = function (e) { + var t, + i = [], + n = []; + for ( + this._root && + i.push( + new Pa(this._root, this._x0, this._y0, this._x1, this._y1) + ); + (t = i.pop()); + + ) { + var r = t.node; + if (r.length) { + var s, + o = t.x0, + a = t.y0, + l = t.x1, + c = t.y1, + d = (o + l) / 2, + h = (a + c) / 2; + (s = r[0]) && i.push(new Pa(s, o, a, d, h)), + (s = r[1]) && i.push(new Pa(s, d, a, l, h)), + (s = r[2]) && i.push(new Pa(s, o, h, d, c)), + (s = r[3]) && i.push(new Pa(s, d, h, l, c)); + } + n.push(t); + } + for (; (t = n.pop()); ) e(t.node, t.x0, t.y0, t.x1, t.y1); + return this; + }), + (ja.x = function (e) { + return arguments.length ? ((this._x = e), this) : this._x; + }), + (ja.y = function (e) { + return arguments.length ? ((this._y = e), this) : this._y; + }); + var Ja = Math.PI * (3 - Math.sqrt(5)); + function Qa(e) { + var t, + i = 1, + n = 0.001, + r = 1 - Math.pow(n, 1 / 300), + s = 0, + o = 0.6, + a = is(), + l = $i(d), + c = ue('tick', 'end'); + function d() { + h(), c.call('tick', t), i < n && (l.stop(), c.call('end', t)); + } + function h(n) { + var l, + c, + d = e.length; + void 0 === n && (n = 1); + for (var h = 0; h < n; ++h) + for ( + i += (s - i) * r, + a.each(function (e) { + e(i); + }), + l = 0; + l < d; + ++l + ) + null == (c = e[l]).fx + ? (c.x += c.vx *= o) + : ((c.x = c.fx), (c.vx = 0)), + null == c.fy + ? (c.y += c.vy *= o) + : ((c.y = c.fy), (c.vy = 0)); + return t; + } + function u() { + for (var t, i = 0, n = e.length; i < n; ++i) { + if ( + (((t = e[i]).index = i), + null != t.fx && (t.x = t.fx), + null != t.fy && (t.y = t.fy), + isNaN(t.x) || isNaN(t.y)) + ) { + var r = 10 * Math.sqrt(i), + s = i * Ja; + (t.x = r * Math.cos(s)), (t.y = r * Math.sin(s)); + } + (isNaN(t.vx) || isNaN(t.vy)) && (t.vx = t.vy = 0); + } + } + function g(t) { + return t.initialize && t.initialize(e), t; + } + return ( + null == e && (e = []), + u(), + (t = { + tick: h, + restart: function () { + return l.restart(d), t; + }, + stop: function () { + return l.stop(), t; + }, + nodes: function (i) { + return arguments.length ? ((e = i), u(), a.each(g), t) : e; + }, + alpha: function (e) { + return arguments.length ? ((i = +e), t) : i; + }, + alphaMin: function (e) { + return arguments.length ? ((n = +e), t) : n; + }, + alphaDecay: function (e) { + return arguments.length ? ((r = +e), t) : +r; + }, + alphaTarget: function (e) { + return arguments.length ? ((s = +e), t) : s; + }, + velocityDecay: function (e) { + return arguments.length ? ((o = 1 - e), t) : 1 - o; + }, + force: function (e, i) { + return arguments.length > 1 + ? (null == i ? a.remove(e) : a.set(e, g(i)), t) + : a.get(e); + }, + find: function (t, i, n) { + var r, + s, + o, + a, + l, + c = 0, + d = e.length; + for (null == n ? (n = 1 / 0) : (n *= n), c = 0; c < d; ++c) + (o = (r = t - (a = e[c]).x) * r + (s = i - a.y) * s) < n && + ((l = a), (n = o)); + return l; + }, + on: function (e, i) { + return arguments.length > 1 ? (c.on(e, i), t) : c.on(e); + }, + }) + ); + } + function Xa() { + var e, + t, + i, + n, + r = Oa(-30), + s = 1, + o = 1 / 0, + a = 0.81; + function l(n) { + var r, + s = e.length, + o = Wa(e, Ga, Za).visitAfter(d); + for (i = n, r = 0; r < s; ++r) (t = e[r]), o.visit(h); + } + function c() { + if (e) { + var t, + i, + s = e.length; + for (n = new Array(s), t = 0; t < s; ++t) + (i = e[t]), (n[i.index] = +r(i, t, e)); + } + } + function d(e) { + var t, + i, + r, + s, + o, + a = 0, + l = 0; + if (e.length) { + for (r = s = o = 0; o < 4; ++o) + (t = e[o]) && + (i = Math.abs(t.value)) && + ((a += t.value), (l += i), (r += i * t.x), (s += i * t.y)); + (e.x = r / l), (e.y = s / l); + } else { + ((t = e).x = t.data.x), (t.y = t.data.y); + do { + a += n[t.data.index]; + } while ((t = t.next)); + } + e.value = a; + } + function h(e, r, l, c) { + if (!e.value) return !0; + var d = e.x - t.x, + h = e.y - t.y, + u = c - r, + g = d * d + h * h; + if ((u * u) / a < g) + return ( + g < o && + (0 === d && (g += (d = Aa()) * d), + 0 === h && (g += (h = Aa()) * h), + g < s && (g = Math.sqrt(s * g)), + (t.vx += (d * e.value * i) / g), + (t.vy += (h * e.value * i) / g)), + !0 + ); + if (!(e.length || g >= o)) { + (e.data !== t || e.next) && + (0 === d && (g += (d = Aa()) * d), + 0 === h && (g += (h = Aa()) * h), + g < s && (g = Math.sqrt(s * g))); + do { + e.data !== t && + ((u = (n[e.data.index] * i) / g), + (t.vx += d * u), + (t.vy += h * u)); + } while ((e = e.next)); + } + } + return ( + (l.initialize = function (t) { + (e = t), c(); + }), + (l.strength = function (e) { + return arguments.length + ? ((r = 'function' == typeof e ? e : Oa(+e)), c(), l) + : r; + }), + (l.distanceMin = function (e) { + return arguments.length ? ((s = e * e), l) : Math.sqrt(s); + }), + (l.distanceMax = function (e) { + return arguments.length ? ((o = e * e), l) : Math.sqrt(o); + }), + (l.theta = function (e) { + return arguments.length ? ((a = e * e), l) : Math.sqrt(a); + }), + l + ); + } + function el(e, t, i) { + var n, + r, + s, + o = Oa(0.1); + function a(e) { + for (var o = 0, a = n.length; o < a; ++o) { + var l = n[o], + c = l.x - t || 1e-6, + d = l.y - i || 1e-6, + h = Math.sqrt(c * c + d * d), + u = ((s[o] - h) * r[o] * e) / h; + (l.vx += c * u), (l.vy += d * u); + } + } + function l() { + if (n) { + var t, + i = n.length; + for (r = new Array(i), s = new Array(i), t = 0; t < i; ++t) + (s[t] = +e(n[t], t, n)), + (r[t] = isNaN(s[t]) ? 0 : +o(n[t], t, n)); + } + } + return ( + 'function' != typeof e && (e = Oa(+e)), + null == t && (t = 0), + null == i && (i = 0), + (a.initialize = function (e) { + (n = e), l(); + }), + (a.strength = function (e) { + return arguments.length + ? ((o = 'function' == typeof e ? e : Oa(+e)), l(), a) + : o; + }), + (a.radius = function (t) { + return arguments.length + ? ((e = 'function' == typeof t ? t : Oa(+t)), l(), a) + : e; + }), + (a.x = function (e) { + return arguments.length ? ((t = +e), a) : t; + }), + (a.y = function (e) { + return arguments.length ? ((i = +e), a) : i; + }), + a + ); + } + function tl(e) { + var t, + i, + n, + r = Oa(0.1); + function s(e) { + for (var r, s = 0, o = t.length; s < o; ++s) + (r = t[s]).vx += (n[s] - r.x) * i[s] * e; + } + function o() { + if (t) { + var s, + o = t.length; + for (i = new Array(o), n = new Array(o), s = 0; s < o; ++s) + i[s] = isNaN((n[s] = +e(t[s], s, t))) ? 0 : +r(t[s], s, t); + } + } + return ( + 'function' != typeof e && (e = Oa(null == e ? 0 : +e)), + (s.initialize = function (e) { + (t = e), o(); + }), + (s.strength = function (e) { + return arguments.length + ? ((r = 'function' == typeof e ? e : Oa(+e)), o(), s) + : r; + }), + (s.x = function (t) { + return arguments.length + ? ((e = 'function' == typeof t ? t : Oa(+t)), o(), s) + : e; + }), + s + ); + } + function il(e) { + var t, + i, + n, + r = Oa(0.1); + function s(e) { + for (var r, s = 0, o = t.length; s < o; ++s) + (r = t[s]).vy += (n[s] - r.y) * i[s] * e; + } + function o() { + if (t) { + var s, + o = t.length; + for (i = new Array(o), n = new Array(o), s = 0; s < o; ++s) + i[s] = isNaN((n[s] = +e(t[s], s, t))) ? 0 : +r(t[s], s, t); + } + } + return ( + 'function' != typeof e && (e = Oa(null == e ? 0 : +e)), + (s.initialize = function (e) { + (t = e), o(); + }), + (s.strength = function (e) { + return arguments.length + ? ((r = 'function' == typeof e ? e : Oa(+e)), o(), s) + : r; + }), + (s.y = function (t) { + return arguments.length + ? ((e = 'function' == typeof t ? t : Oa(+t)), o(), s) + : e; + }), + s + ); + } + function nl(e, t) { + if ( + (i = (e = t ? e.toExponential(t - 1) : e.toExponential()).indexOf( + 'e' + )) < 0 + ) + return null; + var i, + n = e.slice(0, i); + return [n.length > 1 ? n[0] + n.slice(2) : n, +e.slice(i + 1)]; + } + function rl(e) { + return (e = nl(Math.abs(e))) ? e[1] : NaN; + } + var sl, + ol = /^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i; + function al(e) { + if (!(t = ol.exec(e))) throw new Error('invalid format: ' + e); + var t; + return new ll({ + fill: t[1], + align: t[2], + sign: t[3], + symbol: t[4], + zero: t[5], + width: t[6], + comma: t[7], + precision: t[8] && t[8].slice(1), + trim: t[9], + type: t[10], + }); + } + function ll(e) { + (this.fill = void 0 === e.fill ? ' ' : e.fill + ''), + (this.align = void 0 === e.align ? '>' : e.align + ''), + (this.sign = void 0 === e.sign ? '-' : e.sign + ''), + (this.symbol = void 0 === e.symbol ? '' : e.symbol + ''), + (this.zero = !!e.zero), + (this.width = void 0 === e.width ? void 0 : +e.width), + (this.comma = !!e.comma), + (this.precision = void 0 === e.precision ? void 0 : +e.precision), + (this.trim = !!e.trim), + (this.type = void 0 === e.type ? '' : e.type + ''); + } + function cl(e, t) { + var i = nl(e, t); + if (!i) return e + ''; + var n = i[0], + r = i[1]; + return r < 0 + ? '0.' + new Array(-r).join('0') + n + : n.length > r + 1 + ? n.slice(0, r + 1) + '.' + n.slice(r + 1) + : n + new Array(r - n.length + 2).join('0'); + } + (al.prototype = ll.prototype), + (ll.prototype.toString = function () { + return ( + this.fill + + this.align + + this.sign + + this.symbol + + (this.zero ? '0' : '') + + (void 0 === this.width ? '' : Math.max(1, 0 | this.width)) + + (this.comma ? ',' : '') + + (void 0 === this.precision + ? '' + : '.' + Math.max(0, 0 | this.precision)) + + (this.trim ? '~' : '') + + this.type + ); + }); + const dl = { + '%': function (e, t) { + return (100 * e).toFixed(t); + }, + b: function (e) { + return Math.round(e).toString(2); + }, + c: function (e) { + return e + ''; + }, + d: function (e) { + return Math.round(e).toString(10); + }, + e: function (e, t) { + return e.toExponential(t); + }, + f: function (e, t) { + return e.toFixed(t); + }, + g: function (e, t) { + return e.toPrecision(t); + }, + o: function (e) { + return Math.round(e).toString(8); + }, + p: function (e, t) { + return cl(100 * e, t); + }, + r: cl, + s: function (e, t) { + var i = nl(e, t); + if (!i) return e + ''; + var n = i[0], + r = i[1], + s = + r - (sl = 3 * Math.max(-8, Math.min(8, Math.floor(r / 3)))) + 1, + o = n.length; + return s === o + ? n + : s > o + ? n + new Array(s - o + 1).join('0') + : s > 0 + ? n.slice(0, s) + '.' + n.slice(s) + : '0.' + + new Array(1 - s).join('0') + + nl(e, Math.max(0, t + s - 1))[0]; + }, + X: function (e) { + return Math.round(e).toString(16).toUpperCase(); + }, + x: function (e) { + return Math.round(e).toString(16); + }, + }; + function hl(e) { + return e; + } + var ul, + gl, + fl, + pl = Array.prototype.map, + ml = [ + 'y', + 'z', + 'a', + 'f', + 'p', + 'n', + 'µ', + 'm', + '', + 'k', + 'M', + 'G', + 'T', + 'P', + 'E', + 'Z', + 'Y', + ]; + function _l(e) { + var t, + i, + n = + void 0 === e.grouping || void 0 === e.thousands + ? hl + : ((t = pl.call(e.grouping, Number)), + (i = e.thousands + ''), + function (e, n) { + for ( + var r = e.length, s = [], o = 0, a = t[0], l = 0; + r > 0 && + a > 0 && + (l + a + 1 > n && (a = Math.max(1, n - l)), + s.push(e.substring((r -= a), r + a)), + !((l += a + 1) > n)); + + ) + a = t[(o = (o + 1) % t.length)]; + return s.reverse().join(i); + }), + r = void 0 === e.currency ? '' : e.currency[0] + '', + s = void 0 === e.currency ? '' : e.currency[1] + '', + o = void 0 === e.decimal ? '.' : e.decimal + '', + a = + void 0 === e.numerals + ? hl + : (function (e) { + return function (t) { + return t.replace(/[0-9]/g, function (t) { + return e[+t]; + }); + }; + })(pl.call(e.numerals, String)), + l = void 0 === e.percent ? '%' : e.percent + '', + c = void 0 === e.minus ? '-' : e.minus + '', + d = void 0 === e.nan ? 'NaN' : e.nan + ''; + function h(e) { + var t = (e = al(e)).fill, + i = e.align, + h = e.sign, + u = e.symbol, + g = e.zero, + f = e.width, + p = e.comma, + m = e.precision, + _ = e.trim, + b = e.type; + 'n' === b + ? ((p = !0), (b = 'g')) + : dl[b] || (void 0 === m && (m = 12), (_ = !0), (b = 'g')), + (g || ('0' === t && '=' === i)) && + ((g = !0), (t = '0'), (i = '=')); + var v = + '$' === u + ? r + : '#' === u && /[boxX]/.test(b) + ? '0' + b.toLowerCase() + : '', + y = '$' === u ? s : /[%p]/.test(b) ? l : '', + w = dl[b], + C = /[defgprs%]/.test(b); + function S(e) { + var r, + s, + l, + u = v, + S = y; + if ('c' === b) (S = w(e) + S), (e = ''); + else { + var k = (e = +e) < 0; + if ( + ((e = isNaN(e) ? d : w(Math.abs(e), m)), + _ && + (e = (function (e) { + e: for (var t, i = e.length, n = 1, r = -1; n < i; ++n) + switch (e[n]) { + case '.': + r = t = n; + break; + case '0': + 0 === r && (r = n), (t = n); + break; + default: + if (r > 0) { + if (!+e[n]) break e; + r = 0; + } + } + return r > 0 ? e.slice(0, r) + e.slice(t + 1) : e; + })(e)), + k && 0 == +e && (k = !1), + (u = + (k + ? '(' === h + ? h + : c + : '-' === h || '(' === h + ? '' + : h) + u), + (S = + ('s' === b ? ml[8 + sl / 3] : '') + + S + + (k && '(' === h ? ')' : '')), + C) + ) + for (r = -1, s = e.length; ++r < s; ) + if (48 > (l = e.charCodeAt(r)) || l > 57) { + (S = (46 === l ? o + e.slice(r + 1) : e.slice(r)) + S), + (e = e.slice(0, r)); + break; + } + } + p && !g && (e = n(e, 1 / 0)); + var x = u.length + e.length + S.length, + L = x < f ? new Array(f - x + 1).join(t) : ''; + switch ( + (p && + g && + ((e = n(L + e, L.length ? f - S.length : 1 / 0)), (L = '')), + i) + ) { + case '<': + e = u + e + S + L; + break; + case '=': + e = u + L + e + S; + break; + case '^': + e = L.slice(0, (x = L.length >> 1)) + u + e + S + L.slice(x); + break; + default: + e = L + u + e + S; + } + return a(e); + } + return ( + (m = + void 0 === m + ? 6 + : /[gprs]/.test(b) + ? Math.max(1, Math.min(21, m)) + : Math.max(0, Math.min(20, m))), + (S.toString = function () { + return e + ''; + }), + S + ); + } + return { + format: h, + formatPrefix: function (e, t) { + var i = h((((e = al(e)).type = 'f'), e)), + n = 3 * Math.max(-8, Math.min(8, Math.floor(rl(t) / 3))), + r = Math.pow(10, -n), + s = ml[8 + n / 3]; + return function (e) { + return i(r * e) + s; + }; + }, + }; + } + function bl(e) { + return (ul = _l(e)), (gl = ul.format), (fl = ul.formatPrefix), ul; + } + function vl(e) { + return Math.max(0, -rl(Math.abs(e))); + } + function yl(e, t) { + return Math.max( + 0, + 3 * Math.max(-8, Math.min(8, Math.floor(rl(t) / 3))) - + rl(Math.abs(e)) + ); + } + function wl(e, t) { + return ( + (e = Math.abs(e)), + (t = Math.abs(t) - e), + Math.max(0, rl(t) - rl(e)) + 1 + ); + } + function Cl() { + return new Sl(); + } + function Sl() { + this.reset(); + } + bl({ + decimal: '.', + thousands: ',', + grouping: [3], + currency: ['$', ''], + minus: '-', + }), + (Sl.prototype = { + constructor: Sl, + reset: function () { + this.s = this.t = 0; + }, + add: function (e) { + xl(kl, e, this.t), + xl(this, kl.s, this.s), + this.s ? (this.t += kl.t) : (this.s = kl.t); + }, + valueOf: function () { + return this.s; + }, + }); + var kl = new Sl(); + function xl(e, t, i) { + var n = (e.s = t + i), + r = n - t, + s = n - r; + e.t = t - s + (i - r); + } + var Ll = 1e-6, + Ml = 1e-12, + Dl = Math.PI, + Nl = Dl / 2, + El = Dl / 4, + Tl = 2 * Dl, + Il = 180 / Dl, + Ol = Dl / 180, + Al = Math.abs, + Rl = Math.atan, + Pl = Math.atan2, + Fl = Math.cos, + Bl = Math.ceil, + Wl = Math.exp, + Yl = (Math.floor, Math.log), + Hl = Math.pow, + jl = Math.sin, + Vl = + Math.sign || + function (e) { + return e > 0 ? 1 : e < 0 ? -1 : 0; + }, + zl = Math.sqrt, + Ul = Math.tan; + function $l(e) { + return e > 1 ? 0 : e < -1 ? Dl : Math.acos(e); + } + function Kl(e) { + return e > 1 ? Nl : e < -1 ? -Nl : Math.asin(e); + } + function ql(e) { + return (e = jl(e / 2)) * e; + } + function Gl() {} + function Zl(e, t) { + e && Ql.hasOwnProperty(e.type) && Ql[e.type](e, t); + } + var Jl = { + Feature: function (e, t) { + Zl(e.geometry, t); + }, + FeatureCollection: function (e, t) { + for (var i = e.features, n = -1, r = i.length; ++n < r; ) + Zl(i[n].geometry, t); + }, + }, + Ql = { + Sphere: function (e, t) { + t.sphere(); + }, + Point: function (e, t) { + (e = e.coordinates), t.point(e[0], e[1], e[2]); + }, + MultiPoint: function (e, t) { + for (var i = e.coordinates, n = -1, r = i.length; ++n < r; ) + (e = i[n]), t.point(e[0], e[1], e[2]); + }, + LineString: function (e, t) { + Xl(e.coordinates, t, 0); + }, + MultiLineString: function (e, t) { + for (var i = e.coordinates, n = -1, r = i.length; ++n < r; ) + Xl(i[n], t, 0); + }, + Polygon: function (e, t) { + ec(e.coordinates, t); + }, + MultiPolygon: function (e, t) { + for (var i = e.coordinates, n = -1, r = i.length; ++n < r; ) + ec(i[n], t); + }, + GeometryCollection: function (e, t) { + for (var i = e.geometries, n = -1, r = i.length; ++n < r; ) + Zl(i[n], t); + }, + }; + function Xl(e, t, i) { + var n, + r = -1, + s = e.length - i; + for (t.lineStart(); ++r < s; ) (n = e[r]), t.point(n[0], n[1], n[2]); + t.lineEnd(); + } + function ec(e, t) { + var i = -1, + n = e.length; + for (t.polygonStart(); ++i < n; ) Xl(e[i], t, 1); + t.polygonEnd(); + } + function tc(e, t) { + e && Jl.hasOwnProperty(e.type) ? Jl[e.type](e, t) : Zl(e, t); + } + var ic, + nc, + rc, + sc, + oc, + ac = Cl(), + lc = Cl(), + cc = { + point: Gl, + lineStart: Gl, + lineEnd: Gl, + polygonStart: function () { + ac.reset(), (cc.lineStart = dc), (cc.lineEnd = hc); + }, + polygonEnd: function () { + var e = +ac; + lc.add(e < 0 ? Tl + e : e), + (this.lineStart = this.lineEnd = this.point = Gl); + }, + sphere: function () { + lc.add(Tl); + }, + }; + function dc() { + cc.point = uc; + } + function hc() { + gc(ic, nc); + } + function uc(e, t) { + (cc.point = gc), + (ic = e), + (nc = t), + (rc = e *= Ol), + (sc = Fl((t = (t *= Ol) / 2 + El))), + (oc = jl(t)); + } + function gc(e, t) { + var i = (e *= Ol) - rc, + n = i >= 0 ? 1 : -1, + r = n * i, + s = Fl((t = (t *= Ol) / 2 + El)), + o = jl(t), + a = oc * o, + l = sc * s + a * Fl(r), + c = a * n * jl(r); + ac.add(Pl(c, l)), (rc = e), (sc = s), (oc = o); + } + function fc(e) { + return lc.reset(), tc(e, cc), 2 * lc; + } + function pc(e) { + return [Pl(e[1], e[0]), Kl(e[2])]; + } + function mc(e) { + var t = e[0], + i = e[1], + n = Fl(i); + return [n * Fl(t), n * jl(t), jl(i)]; + } + function _c(e, t) { + return e[0] * t[0] + e[1] * t[1] + e[2] * t[2]; + } + function bc(e, t) { + return [ + e[1] * t[2] - e[2] * t[1], + e[2] * t[0] - e[0] * t[2], + e[0] * t[1] - e[1] * t[0], + ]; + } + function vc(e, t) { + (e[0] += t[0]), (e[1] += t[1]), (e[2] += t[2]); + } + function yc(e, t) { + return [e[0] * t, e[1] * t, e[2] * t]; + } + function wc(e) { + var t = zl(e[0] * e[0] + e[1] * e[1] + e[2] * e[2]); + (e[0] /= t), (e[1] /= t), (e[2] /= t); + } + var Cc, + Sc, + kc, + xc, + Lc, + Mc, + Dc, + Nc, + Ec, + Tc, + Ic, + Oc, + Ac, + Rc, + Pc, + Fc, + Bc, + Wc, + Yc, + Hc, + jc, + Vc, + zc, + Uc, + $c, + Kc, + qc = Cl(), + Gc = { + point: Zc, + lineStart: Qc, + lineEnd: Xc, + polygonStart: function () { + (Gc.point = ed), + (Gc.lineStart = td), + (Gc.lineEnd = id), + qc.reset(), + cc.polygonStart(); + }, + polygonEnd: function () { + cc.polygonEnd(), + (Gc.point = Zc), + (Gc.lineStart = Qc), + (Gc.lineEnd = Xc), + ac < 0 + ? ((Cc = -(kc = 180)), (Sc = -(xc = 90))) + : qc > Ll + ? (xc = 90) + : qc < -1e-6 && (Sc = -90), + (Tc[0] = Cc), + (Tc[1] = kc); + }, + sphere: function () { + (Cc = -(kc = 180)), (Sc = -(xc = 90)); + }, + }; + function Zc(e, t) { + Ec.push((Tc = [(Cc = e), (kc = e)])), + t < Sc && (Sc = t), + t > xc && (xc = t); + } + function Jc(e, t) { + var i = mc([e * Ol, t * Ol]); + if (Nc) { + var n = bc(Nc, i), + r = bc([n[1], -n[0], 0], n); + wc(r), (r = pc(r)); + var s, + o = e - Lc, + a = o > 0 ? 1 : -1, + l = r[0] * Il * a, + c = Al(o) > 180; + c ^ (a * Lc < l && l < a * e) + ? (s = r[1] * Il) > xc && (xc = s) + : c ^ (a * Lc < (l = ((l + 360) % 360) - 180) && l < a * e) + ? (s = -r[1] * Il) < Sc && (Sc = s) + : (t < Sc && (Sc = t), t > xc && (xc = t)), + c + ? e < Lc + ? nd(Cc, e) > nd(Cc, kc) && (kc = e) + : nd(e, kc) > nd(Cc, kc) && (Cc = e) + : kc >= Cc + ? (e < Cc && (Cc = e), e > kc && (kc = e)) + : e > Lc + ? nd(Cc, e) > nd(Cc, kc) && (kc = e) + : nd(e, kc) > nd(Cc, kc) && (Cc = e); + } else Ec.push((Tc = [(Cc = e), (kc = e)])); + t < Sc && (Sc = t), t > xc && (xc = t), (Nc = i), (Lc = e); + } + function Qc() { + Gc.point = Jc; + } + function Xc() { + (Tc[0] = Cc), (Tc[1] = kc), (Gc.point = Zc), (Nc = null); + } + function ed(e, t) { + if (Nc) { + var i = e - Lc; + qc.add(Al(i) > 180 ? i + (i > 0 ? 360 : -360) : i); + } else (Mc = e), (Dc = t); + cc.point(e, t), Jc(e, t); + } + function td() { + cc.lineStart(); + } + function id() { + ed(Mc, Dc), + cc.lineEnd(), + Al(qc) > Ll && (Cc = -(kc = 180)), + (Tc[0] = Cc), + (Tc[1] = kc), + (Nc = null); + } + function nd(e, t) { + return (t -= e) < 0 ? t + 360 : t; + } + function rd(e, t) { + return e[0] - t[0]; + } + function sd(e, t) { + return e[0] <= e[1] ? e[0] <= t && t <= e[1] : t < e[0] || e[1] < t; + } + function od(e) { + var t, i, n, r, s, o, a; + if ( + ((xc = kc = -(Cc = Sc = 1 / 0)), + (Ec = []), + tc(e, Gc), + (i = Ec.length)) + ) { + for (Ec.sort(rd), t = 1, s = [(n = Ec[0])]; t < i; ++t) + sd(n, (r = Ec[t])[0]) || sd(n, r[1]) + ? (nd(n[0], r[1]) > nd(n[0], n[1]) && (n[1] = r[1]), + nd(r[0], n[1]) > nd(n[0], n[1]) && (n[0] = r[0])) + : s.push((n = r)); + for ( + o = -1 / 0, t = 0, n = s[(i = s.length - 1)]; + t <= i; + n = r, ++t + ) + (r = s[t]), + (a = nd(n[1], r[0])) > o && ((o = a), (Cc = r[0]), (kc = n[1])); + } + return ( + (Ec = Tc = null), + Cc === 1 / 0 || Sc === 1 / 0 + ? [ + [NaN, NaN], + [NaN, NaN], + ] + : [ + [Cc, Sc], + [kc, xc], + ] + ); + } + var ad = { + sphere: Gl, + point: ld, + lineStart: dd, + lineEnd: gd, + polygonStart: function () { + (ad.lineStart = fd), (ad.lineEnd = pd); + }, + polygonEnd: function () { + (ad.lineStart = dd), (ad.lineEnd = gd); + }, + }; + function ld(e, t) { + e *= Ol; + var i = Fl((t *= Ol)); + cd(i * Fl(e), i * jl(e), jl(t)); + } + function cd(e, t, i) { + ++Ic, + (Ac += (e - Ac) / Ic), + (Rc += (t - Rc) / Ic), + (Pc += (i - Pc) / Ic); + } + function dd() { + ad.point = hd; + } + function hd(e, t) { + e *= Ol; + var i = Fl((t *= Ol)); + (Uc = i * Fl(e)), + ($c = i * jl(e)), + (Kc = jl(t)), + (ad.point = ud), + cd(Uc, $c, Kc); + } + function ud(e, t) { + e *= Ol; + var i = Fl((t *= Ol)), + n = i * Fl(e), + r = i * jl(e), + s = jl(t), + o = Pl( + zl( + (o = $c * s - Kc * r) * o + + (o = Kc * n - Uc * s) * o + + (o = Uc * r - $c * n) * o + ), + Uc * n + $c * r + Kc * s + ); + (Oc += o), + (Fc += o * (Uc + (Uc = n))), + (Bc += o * ($c + ($c = r))), + (Wc += o * (Kc + (Kc = s))), + cd(Uc, $c, Kc); + } + function gd() { + ad.point = ld; + } + function fd() { + ad.point = md; + } + function pd() { + _d(Vc, zc), (ad.point = ld); + } + function md(e, t) { + (Vc = e), (zc = t), (e *= Ol), (t *= Ol), (ad.point = _d); + var i = Fl(t); + (Uc = i * Fl(e)), ($c = i * jl(e)), (Kc = jl(t)), cd(Uc, $c, Kc); + } + function _d(e, t) { + e *= Ol; + var i = Fl((t *= Ol)), + n = i * Fl(e), + r = i * jl(e), + s = jl(t), + o = $c * s - Kc * r, + a = Kc * n - Uc * s, + l = Uc * r - $c * n, + c = zl(o * o + a * a + l * l), + d = Kl(c), + h = c && -d / c; + (Yc += h * o), + (Hc += h * a), + (jc += h * l), + (Oc += d), + (Fc += d * (Uc + (Uc = n))), + (Bc += d * ($c + ($c = r))), + (Wc += d * (Kc + (Kc = s))), + cd(Uc, $c, Kc); + } + function bd(e) { + (Ic = Oc = Ac = Rc = Pc = Fc = Bc = Wc = Yc = Hc = jc = 0), tc(e, ad); + var t = Yc, + i = Hc, + n = jc, + r = t * t + i * i + n * n; + return r < Ml && + ((t = Fc), + (i = Bc), + (n = Wc), + Oc < Ll && ((t = Ac), (i = Rc), (n = Pc)), + (r = t * t + i * i + n * n) < Ml) + ? [NaN, NaN] + : [Pl(i, t) * Il, Kl(n / zl(r)) * Il]; + } + function vd(e) { + return function () { + return e; + }; + } + function yd(e, t) { + function i(i, n) { + return (i = e(i, n)), t(i[0], i[1]); + } + return ( + e.invert && + t.invert && + (i.invert = function (i, n) { + return (i = t.invert(i, n)) && e.invert(i[0], i[1]); + }), + i + ); + } + function wd(e, t) { + return [Al(e) > Dl ? e + Math.round(-e / Tl) * Tl : e, t]; + } + function Cd(e, t, i) { + return (e %= Tl) + ? t || i + ? yd(kd(e), xd(t, i)) + : kd(e) + : t || i + ? xd(t, i) + : wd; + } + function Sd(e) { + return function (t, i) { + return [(t += e) > Dl ? t - Tl : t < -Dl ? t + Tl : t, i]; + }; + } + function kd(e) { + var t = Sd(e); + return (t.invert = Sd(-e)), t; + } + function xd(e, t) { + var i = Fl(e), + n = jl(e), + r = Fl(t), + s = jl(t); + function o(e, t) { + var o = Fl(t), + a = Fl(e) * o, + l = jl(e) * o, + c = jl(t), + d = c * i + a * n; + return [Pl(l * r - d * s, a * i - c * n), Kl(d * r + l * s)]; + } + return ( + (o.invert = function (e, t) { + var o = Fl(t), + a = Fl(e) * o, + l = jl(e) * o, + c = jl(t), + d = c * r - l * s; + return [Pl(l * r + c * s, a * i + d * n), Kl(d * i - a * n)]; + }), + o + ); + } + function Ld(e) { + function t(t) { + return ((t = e(t[0] * Ol, t[1] * Ol))[0] *= Il), (t[1] *= Il), t; + } + return ( + (e = Cd(e[0] * Ol, e[1] * Ol, e.length > 2 ? e[2] * Ol : 0)), + (t.invert = function (t) { + return ( + ((t = e.invert(t[0] * Ol, t[1] * Ol))[0] *= Il), (t[1] *= Il), t + ); + }), + t + ); + } + function Md(e, t, i, n, r, s) { + if (i) { + var o = Fl(t), + a = jl(t), + l = n * i; + null == r + ? ((r = t + n * Tl), (s = t - l / 2)) + : ((r = Dd(o, r)), + (s = Dd(o, s)), + (n > 0 ? r < s : r > s) && (r += n * Tl)); + for (var c, d = r; n > 0 ? d > s : d < s; d -= l) + (c = pc([o, -a * Fl(d), -a * jl(d)])), e.point(c[0], c[1]); + } + } + function Dd(e, t) { + ((t = mc(t))[0] -= e), wc(t); + var i = $l(-t[1]); + return ((-t[2] < 0 ? -i : i) + Tl - Ll) % Tl; + } + function Nd() { + var e, + t, + i = vd([0, 0]), + n = vd(90), + r = vd(6), + s = { + point: function (i, n) { + e.push((i = t(i, n))), (i[0] *= Il), (i[1] *= Il); + }, + }; + function o() { + var o = i.apply(this, arguments), + a = n.apply(this, arguments) * Ol, + l = r.apply(this, arguments) * Ol; + return ( + (e = []), + (t = Cd(-o[0] * Ol, -o[1] * Ol, 0).invert), + Md(s, a, l, 1), + (o = { type: 'Polygon', coordinates: [e] }), + (e = t = null), + o + ); + } + return ( + (o.center = function (e) { + return arguments.length + ? ((i = 'function' == typeof e ? e : vd([+e[0], +e[1]])), o) + : i; + }), + (o.radius = function (e) { + return arguments.length + ? ((n = 'function' == typeof e ? e : vd(+e)), o) + : n; + }), + (o.precision = function (e) { + return arguments.length + ? ((r = 'function' == typeof e ? e : vd(+e)), o) + : r; + }), + o + ); + } + function Ed() { + var e, + t = []; + return { + point: function (t, i) { + e.push([t, i]); + }, + lineStart: function () { + t.push((e = [])); + }, + lineEnd: Gl, + rejoin: function () { + t.length > 1 && t.push(t.pop().concat(t.shift())); + }, + result: function () { + var i = t; + return (t = []), (e = null), i; + }, + }; + } + function Td(e, t) { + return Al(e[0] - t[0]) < Ll && Al(e[1] - t[1]) < Ll; + } + function Id(e, t, i, n) { + (this.x = e), + (this.z = t), + (this.o = i), + (this.e = n), + (this.v = !1), + (this.n = this.p = null); + } + function Od(e, t, i, n, r) { + var s, + o, + a = [], + l = []; + if ( + (e.forEach(function (e) { + if (!((t = e.length - 1) <= 0)) { + var t, + i, + n = e[0], + o = e[t]; + if (Td(n, o)) { + for (r.lineStart(), s = 0; s < t; ++s) + r.point((n = e[s])[0], n[1]); + r.lineEnd(); + } else + a.push((i = new Id(n, e, null, !0))), + l.push((i.o = new Id(n, null, i, !1))), + a.push((i = new Id(o, e, null, !1))), + l.push((i.o = new Id(o, null, i, !0))); + } + }), + a.length) + ) { + for (l.sort(t), Ad(a), Ad(l), s = 0, o = l.length; s < o; ++s) + l[s].e = i = !i; + for (var c, d, h = a[0]; ; ) { + for (var u = h, g = !0; u.v; ) if ((u = u.n) === h) return; + (c = u.z), r.lineStart(); + do { + if (((u.v = u.o.v = !0), u.e)) { + if (g) + for (s = 0, o = c.length; s < o; ++s) + r.point((d = c[s])[0], d[1]); + else n(u.x, u.n.x, 1, r); + u = u.n; + } else { + if (g) + for (c = u.p.z, s = c.length - 1; s >= 0; --s) + r.point((d = c[s])[0], d[1]); + else n(u.x, u.p.x, -1, r); + u = u.p; + } + (c = (u = u.o).z), (g = !g); + } while (!u.v); + r.lineEnd(); + } + } + } + function Ad(e) { + if ((t = e.length)) { + for (var t, i, n = 0, r = e[0]; ++n < t; ) + (r.n = i = e[n]), (i.p = r), (r = i); + (r.n = i = e[0]), (i.p = r); + } + } + wd.invert = wd; + var Rd = Cl(); + function Pd(e) { + return Al(e[0]) <= Dl + ? e[0] + : Vl(e[0]) * (((Al(e[0]) + Dl) % Tl) - Dl); + } + function Fd(e, t) { + var i = Pd(t), + n = t[1], + r = jl(n), + s = [jl(i), -Fl(i), 0], + o = 0, + a = 0; + Rd.reset(), 1 === r ? (n = Nl + Ll) : -1 === r && (n = -Nl - Ll); + for (var l = 0, c = e.length; l < c; ++l) + if ((h = (d = e[l]).length)) + for ( + var d, + h, + u = d[h - 1], + g = Pd(u), + f = u[1] / 2 + El, + p = jl(f), + m = Fl(f), + _ = 0; + _ < h; + ++_, g = v, p = w, m = C, u = b + ) { + var b = d[_], + v = Pd(b), + y = b[1] / 2 + El, + w = jl(y), + C = Fl(y), + S = v - g, + k = S >= 0 ? 1 : -1, + x = k * S, + L = x > Dl, + M = p * w; + if ( + (Rd.add(Pl(M * k * jl(x), m * C + M * Fl(x))), + (o += L ? S + k * Tl : S), + L ^ (g >= i) ^ (v >= i)) + ) { + var D = bc(mc(u), mc(b)); + wc(D); + var N = bc(s, D); + wc(N); + var E = (L ^ (S >= 0) ? -1 : 1) * Kl(N[2]); + (n > E || (n === E && (D[0] || D[1]))) && + (a += L ^ (S >= 0) ? 1 : -1); + } + } + return (o < -1e-6 || (o < Ll && Rd < -1e-6)) ^ (1 & a); + } + function Bd(e, t, i, n) { + return function (r) { + var s, + o, + a, + l = t(r), + c = Ed(), + d = t(c), + h = !1, + u = { + point: g, + lineStart: p, + lineEnd: m, + polygonStart: function () { + (u.point = _), + (u.lineStart = b), + (u.lineEnd = v), + (o = []), + (s = []); + }, + polygonEnd: function () { + (u.point = g), (u.lineStart = p), (u.lineEnd = m), (o = B(o)); + var e = Fd(s, n); + o.length + ? (h || (r.polygonStart(), (h = !0)), Od(o, Yd, e, i, r)) + : e && + (h || (r.polygonStart(), (h = !0)), + r.lineStart(), + i(null, null, 1, r), + r.lineEnd()), + h && (r.polygonEnd(), (h = !1)), + (o = s = null); + }, + sphere: function () { + r.polygonStart(), + r.lineStart(), + i(null, null, 1, r), + r.lineEnd(), + r.polygonEnd(); + }, + }; + function g(t, i) { + e(t, i) && r.point(t, i); + } + function f(e, t) { + l.point(e, t); + } + function p() { + (u.point = f), l.lineStart(); + } + function m() { + (u.point = g), l.lineEnd(); + } + function _(e, t) { + a.push([e, t]), d.point(e, t); + } + function b() { + d.lineStart(), (a = []); + } + function v() { + _(a[0][0], a[0][1]), d.lineEnd(); + var e, + t, + i, + n, + l = d.clean(), + u = c.result(), + g = u.length; + if ((a.pop(), s.push(a), (a = null), g)) + if (1 & l) { + if ((t = (i = u[0]).length - 1) > 0) { + for ( + h || (r.polygonStart(), (h = !0)), r.lineStart(), e = 0; + e < t; + ++e + ) + r.point((n = i[e])[0], n[1]); + r.lineEnd(); + } + } else + g > 1 && 2 & l && u.push(u.pop().concat(u.shift())), + o.push(u.filter(Wd)); + } + return u; + }; + } + function Wd(e) { + return e.length > 1; + } + function Yd(e, t) { + return ( + ((e = e.x)[0] < 0 ? e[1] - Nl - Ll : Nl - e[1]) - + ((t = t.x)[0] < 0 ? t[1] - Nl - Ll : Nl - t[1]) + ); + } + const Hd = Bd( + function () { + return !0; + }, + function (e) { + var t, + i = NaN, + n = NaN, + r = NaN; + return { + lineStart: function () { + e.lineStart(), (t = 1); + }, + point: function (s, o) { + var a = s > 0 ? Dl : -Dl, + l = Al(s - i); + Al(l - Dl) < Ll + ? (e.point(i, (n = (n + o) / 2 > 0 ? Nl : -Nl)), + e.point(r, n), + e.lineEnd(), + e.lineStart(), + e.point(a, n), + e.point(s, n), + (t = 0)) + : r !== a && + l >= Dl && + (Al(i - r) < Ll && (i -= r * Ll), + Al(s - a) < Ll && (s -= a * Ll), + (n = (function (e, t, i, n) { + var r, + s, + o = jl(e - i); + return Al(o) > Ll + ? Rl( + (jl(t) * (s = Fl(n)) * jl(i) - + jl(n) * (r = Fl(t)) * jl(e)) / + (r * s * o) + ) + : (t + n) / 2; + })(i, n, s, o)), + e.point(r, n), + e.lineEnd(), + e.lineStart(), + e.point(a, n), + (t = 0)), + e.point((i = s), (n = o)), + (r = a); + }, + lineEnd: function () { + e.lineEnd(), (i = n = NaN); + }, + clean: function () { + return 2 - t; + }, + }; + }, + function (e, t, i, n) { + var r; + if (null == e) + (r = i * Nl), + n.point(-Dl, r), + n.point(0, r), + n.point(Dl, r), + n.point(Dl, 0), + n.point(Dl, -r), + n.point(0, -r), + n.point(-Dl, -r), + n.point(-Dl, 0), + n.point(-Dl, r); + else if (Al(e[0] - t[0]) > Ll) { + var s = e[0] < t[0] ? Dl : -Dl; + (r = (i * s) / 2), n.point(-s, r), n.point(0, r), n.point(s, r); + } else n.point(t[0], t[1]); + }, + [-Dl, -Nl] + ); + function jd(e) { + var t = Fl(e), + i = 6 * Ol, + n = t > 0, + r = Al(t) > Ll; + function s(e, i) { + return Fl(e) * Fl(i) > t; + } + function o(e, i, n) { + var r = [1, 0, 0], + s = bc(mc(e), mc(i)), + o = _c(s, s), + a = s[0], + l = o - a * a; + if (!l) return !n && e; + var c = (t * o) / l, + d = (-t * a) / l, + h = bc(r, s), + u = yc(r, c); + vc(u, yc(s, d)); + var g = h, + f = _c(u, g), + p = _c(g, g), + m = f * f - p * (_c(u, u) - 1); + if (!(m < 0)) { + var _ = zl(m), + b = yc(g, (-f - _) / p); + if ((vc(b, u), (b = pc(b)), !n)) return b; + var v, + y = e[0], + w = i[0], + C = e[1], + S = i[1]; + w < y && ((v = y), (y = w), (w = v)); + var k = w - y, + x = Al(k - Dl) < Ll; + if ( + (!x && S < C && ((v = C), (C = S), (S = v)), + x || k < Ll + ? x + ? (C + S > 0) ^ (b[1] < (Al(b[0] - y) < Ll ? C : S)) + : C <= b[1] && b[1] <= S + : (k > Dl) ^ (y <= b[0] && b[0] <= w)) + ) { + var L = yc(g, (-f + _) / p); + return vc(L, u), [b, pc(L)]; + } + } + } + function a(t, i) { + var r = n ? e : Dl - e, + s = 0; + return ( + t < -r ? (s |= 1) : t > r && (s |= 2), + i < -r ? (s |= 4) : i > r && (s |= 8), + s + ); + } + return Bd( + s, + function (e) { + var t, i, l, c, d; + return { + lineStart: function () { + (c = l = !1), (d = 1); + }, + point: function (h, u) { + var g, + f = [h, u], + p = s(h, u), + m = n + ? p + ? 0 + : a(h, u) + : p + ? a(h + (h < 0 ? Dl : -Dl), u) + : 0; + if ( + (!t && (c = l = p) && e.lineStart(), + p !== l && + (!(g = o(t, f)) || Td(t, g) || Td(f, g)) && + ((f[0] += Ll), (f[1] += Ll), (p = s(f[0], f[1]))), + p !== l) + ) + (d = 0), + p + ? (e.lineStart(), (g = o(f, t)), e.point(g[0], g[1])) + : ((g = o(t, f)), e.point(g[0], g[1]), e.lineEnd()), + (t = g); + else if (r && t && n ^ p) { + var _; + m & i || + !(_ = o(f, t, !0)) || + ((d = 0), + n + ? (e.lineStart(), + e.point(_[0][0], _[0][1]), + e.point(_[1][0], _[1][1]), + e.lineEnd()) + : (e.point(_[1][0], _[1][1]), + e.lineEnd(), + e.lineStart(), + e.point(_[0][0], _[0][1]))); + } + !p || (t && Td(t, f)) || e.point(f[0], f[1]), + (t = f), + (l = p), + (i = m); + }, + lineEnd: function () { + l && e.lineEnd(), (t = null); + }, + clean: function () { + return d | ((c && l) << 1); + }, + }; + }, + function (t, n, r, s) { + Md(s, e, i, r, t, n); + }, + n ? [0, -e] : [-Dl, e - Dl] + ); + } + var Vd = 1e9, + zd = -Vd; + function Ud(e, t, i, n) { + function r(r, s) { + return e <= r && r <= i && t <= s && s <= n; + } + function s(r, s, a, c) { + var d = 0, + h = 0; + if ( + null == r || + (d = o(r, a)) !== (h = o(s, a)) || + (l(r, s) < 0) ^ (a > 0) + ) + do { + c.point(0 === d || 3 === d ? e : i, d > 1 ? n : t); + } while ((d = (d + a + 4) % 4) !== h); + else c.point(s[0], s[1]); + } + function o(n, r) { + return Al(n[0] - e) < Ll + ? r > 0 + ? 0 + : 3 + : Al(n[0] - i) < Ll + ? r > 0 + ? 2 + : 1 + : Al(n[1] - t) < Ll + ? r > 0 + ? 1 + : 0 + : r > 0 + ? 3 + : 2; + } + function a(e, t) { + return l(e.x, t.x); + } + function l(e, t) { + var i = o(e, 1), + n = o(t, 1); + return i !== n + ? i - n + : 0 === i + ? t[1] - e[1] + : 1 === i + ? e[0] - t[0] + : 2 === i + ? e[1] - t[1] + : t[0] - e[0]; + } + return function (o) { + var l, + c, + d, + h, + u, + g, + f, + p, + m, + _, + b, + v = o, + y = Ed(), + w = { + point: C, + lineStart: function () { + (w.point = S), + c && c.push((d = [])), + (_ = !0), + (m = !1), + (f = p = NaN); + }, + lineEnd: function () { + l && (S(h, u), g && m && y.rejoin(), l.push(y.result())), + (w.point = C), + m && v.lineEnd(); + }, + polygonStart: function () { + (v = y), (l = []), (c = []), (b = !0); + }, + polygonEnd: function () { + var t = (function () { + for (var t = 0, i = 0, r = c.length; i < r; ++i) + for ( + var s, + o, + a = c[i], + l = 1, + d = a.length, + h = a[0], + u = h[0], + g = h[1]; + l < d; + ++l + ) + (s = u), + (o = g), + (u = (h = a[l])[0]), + (g = h[1]), + o <= n + ? g > n && + (u - s) * (n - o) > (g - o) * (e - s) && + ++t + : g <= n && + (u - s) * (n - o) < (g - o) * (e - s) && + --t; + return t; + })(), + i = b && t, + r = (l = B(l)).length; + (i || r) && + (o.polygonStart(), + i && (o.lineStart(), s(null, null, 1, o), o.lineEnd()), + r && Od(l, a, t, s, o), + o.polygonEnd()), + (v = o), + (l = c = d = null); + }, + }; + function C(e, t) { + r(e, t) && v.point(e, t); + } + function S(s, o) { + var a = r(s, o); + if ((c && d.push([s, o]), _)) + (h = s), + (u = o), + (g = a), + (_ = !1), + a && (v.lineStart(), v.point(s, o)); + else if (a && m) v.point(s, o); + else { + var l = [ + (f = Math.max(zd, Math.min(Vd, f))), + (p = Math.max(zd, Math.min(Vd, p))), + ], + y = [ + (s = Math.max(zd, Math.min(Vd, s))), + (o = Math.max(zd, Math.min(Vd, o))), + ]; + !(function (e, t, i, n, r, s) { + var o, + a = e[0], + l = e[1], + c = 0, + d = 1, + h = t[0] - a, + u = t[1] - l; + if (((o = i - a), h || !(o > 0))) { + if (((o /= h), h < 0)) { + if (o < c) return; + o < d && (d = o); + } else if (h > 0) { + if (o > d) return; + o > c && (c = o); + } + if (((o = r - a), h || !(o < 0))) { + if (((o /= h), h < 0)) { + if (o > d) return; + o > c && (c = o); + } else if (h > 0) { + if (o < c) return; + o < d && (d = o); + } + if (((o = n - l), u || !(o > 0))) { + if (((o /= u), u < 0)) { + if (o < c) return; + o < d && (d = o); + } else if (u > 0) { + if (o > d) return; + o > c && (c = o); + } + if (((o = s - l), u || !(o < 0))) { + if (((o /= u), u < 0)) { + if (o > d) return; + o > c && (c = o); + } else if (u > 0) { + if (o < c) return; + o < d && (d = o); + } + return ( + c > 0 && ((e[0] = a + c * h), (e[1] = l + c * u)), + d < 1 && ((t[0] = a + d * h), (t[1] = l + d * u)), + !0 + ); + } + } + } + } + })(l, y, e, t, i, n) + ? a && (v.lineStart(), v.point(s, o), (b = !1)) + : (m || (v.lineStart(), v.point(l[0], l[1])), + v.point(y[0], y[1]), + a || v.lineEnd(), + (b = !1)); + } + (f = s), (p = o), (m = a); + } + return w; + }; + } + function $d() { + var e, + t, + i, + n = 0, + r = 0, + s = 960, + o = 500; + return (i = { + stream: function (i) { + return e && t === i ? e : (e = Ud(n, r, s, o)((t = i))); + }, + extent: function (a) { + return arguments.length + ? ((n = +a[0][0]), + (r = +a[0][1]), + (s = +a[1][0]), + (o = +a[1][1]), + (e = t = null), + i) + : [ + [n, r], + [s, o], + ]; + }, + }); + } + var Kd, + qd, + Gd, + Zd = Cl(), + Jd = { + sphere: Gl, + point: Gl, + lineStart: function () { + (Jd.point = Xd), (Jd.lineEnd = Qd); + }, + lineEnd: Gl, + polygonStart: Gl, + polygonEnd: Gl, + }; + function Qd() { + Jd.point = Jd.lineEnd = Gl; + } + function Xd(e, t) { + (Kd = e *= Ol), (qd = jl((t *= Ol))), (Gd = Fl(t)), (Jd.point = eh); + } + function eh(e, t) { + e *= Ol; + var i = jl((t *= Ol)), + n = Fl(t), + r = Al(e - Kd), + s = Fl(r), + o = n * jl(r), + a = Gd * i - qd * n * s, + l = qd * i + Gd * n * s; + Zd.add(Pl(zl(o * o + a * a), l)), (Kd = e), (qd = i), (Gd = n); + } + function th(e) { + return Zd.reset(), tc(e, Jd), +Zd; + } + var ih = [null, null], + nh = { type: 'LineString', coordinates: ih }; + function rh(e, t) { + return (ih[0] = e), (ih[1] = t), th(nh); + } + var sh = { + Feature: function (e, t) { + return ah(e.geometry, t); + }, + FeatureCollection: function (e, t) { + for (var i = e.features, n = -1, r = i.length; ++n < r; ) + if (ah(i[n].geometry, t)) return !0; + return !1; + }, + }, + oh = { + Sphere: function () { + return !0; + }, + Point: function (e, t) { + return lh(e.coordinates, t); + }, + MultiPoint: function (e, t) { + for (var i = e.coordinates, n = -1, r = i.length; ++n < r; ) + if (lh(i[n], t)) return !0; + return !1; + }, + LineString: function (e, t) { + return ch(e.coordinates, t); + }, + MultiLineString: function (e, t) { + for (var i = e.coordinates, n = -1, r = i.length; ++n < r; ) + if (ch(i[n], t)) return !0; + return !1; + }, + Polygon: function (e, t) { + return dh(e.coordinates, t); + }, + MultiPolygon: function (e, t) { + for (var i = e.coordinates, n = -1, r = i.length; ++n < r; ) + if (dh(i[n], t)) return !0; + return !1; + }, + GeometryCollection: function (e, t) { + for (var i = e.geometries, n = -1, r = i.length; ++n < r; ) + if (ah(i[n], t)) return !0; + return !1; + }, + }; + function ah(e, t) { + return !(!e || !oh.hasOwnProperty(e.type)) && oh[e.type](e, t); + } + function lh(e, t) { + return 0 === rh(e, t); + } + function ch(e, t) { + for (var i, n, r, s = 0, o = e.length; s < o; s++) { + if (0 === (n = rh(e[s], t))) return !0; + if ( + s > 0 && + (r = rh(e[s], e[s - 1])) > 0 && + i <= r && + n <= r && + (i + n - r) * (1 - Math.pow((i - n) / r, 2)) < Ml * r + ) + return !0; + i = n; + } + return !1; + } + function dh(e, t) { + return !!Fd(e.map(hh), uh(t)); + } + function hh(e) { + return (e = e.map(uh)).pop(), e; + } + function uh(e) { + return [e[0] * Ol, e[1] * Ol]; + } + function gh(e, t) { + return (e && sh.hasOwnProperty(e.type) ? sh[e.type] : ah)(e, t); + } + function fh(e, t, i) { + var n = S(e, t - Ll, i).concat(t); + return function (e) { + return n.map(function (t) { + return [e, t]; + }); + }; + } + function ph(e, t, i) { + var n = S(e, t - Ll, i).concat(t); + return function (e) { + return n.map(function (t) { + return [t, e]; + }); + }; + } + function mh() { + var e, + t, + i, + n, + r, + s, + o, + a, + l, + c, + d, + h, + u = 10, + g = u, + f = 90, + p = 360, + m = 2.5; + function _() { + return { type: 'MultiLineString', coordinates: b() }; + } + function b() { + return S(Bl(n / f) * f, i, f) + .map(d) + .concat(S(Bl(a / p) * p, o, p).map(h)) + .concat( + S(Bl(t / u) * u, e, u) + .filter(function (e) { + return Al(e % f) > Ll; + }) + .map(l) + ) + .concat( + S(Bl(s / g) * g, r, g) + .filter(function (e) { + return Al(e % p) > Ll; + }) + .map(c) + ); + } + return ( + (_.lines = function () { + return b().map(function (e) { + return { type: 'LineString', coordinates: e }; + }); + }), + (_.outline = function () { + return { + type: 'Polygon', + coordinates: [ + d(n).concat( + h(o).slice(1), + d(i).reverse().slice(1), + h(a).reverse().slice(1) + ), + ], + }; + }), + (_.extent = function (e) { + return arguments.length + ? _.extentMajor(e).extentMinor(e) + : _.extentMinor(); + }), + (_.extentMajor = function (e) { + return arguments.length + ? ((n = +e[0][0]), + (i = +e[1][0]), + (a = +e[0][1]), + (o = +e[1][1]), + n > i && ((e = n), (n = i), (i = e)), + a > o && ((e = a), (a = o), (o = e)), + _.precision(m)) + : [ + [n, a], + [i, o], + ]; + }), + (_.extentMinor = function (i) { + return arguments.length + ? ((t = +i[0][0]), + (e = +i[1][0]), + (s = +i[0][1]), + (r = +i[1][1]), + t > e && ((i = t), (t = e), (e = i)), + s > r && ((i = s), (s = r), (r = i)), + _.precision(m)) + : [ + [t, s], + [e, r], + ]; + }), + (_.step = function (e) { + return arguments.length + ? _.stepMajor(e).stepMinor(e) + : _.stepMinor(); + }), + (_.stepMajor = function (e) { + return arguments.length ? ((f = +e[0]), (p = +e[1]), _) : [f, p]; + }), + (_.stepMinor = function (e) { + return arguments.length ? ((u = +e[0]), (g = +e[1]), _) : [u, g]; + }), + (_.precision = function (u) { + return arguments.length + ? ((m = +u), + (l = fh(s, r, 90)), + (c = ph(t, e, m)), + (d = fh(a, o, 90)), + (h = ph(n, i, m)), + _) + : m; + }), + _.extentMajor([ + [-180, -89.999999], + [180, 89.999999], + ]).extentMinor([ + [-180, -80.000001], + [180, 80.000001], + ]) + ); + } + function _h() { + return mh()(); + } + function bh(e, t) { + var i = e[0] * Ol, + n = e[1] * Ol, + r = t[0] * Ol, + s = t[1] * Ol, + o = Fl(n), + a = jl(n), + l = Fl(s), + c = jl(s), + d = o * Fl(i), + h = o * jl(i), + u = l * Fl(r), + g = l * jl(r), + f = 2 * Kl(zl(ql(s - n) + o * l * ql(r - i))), + p = jl(f), + m = f + ? function (e) { + var t = jl((e *= f)) / p, + i = jl(f - e) / p, + n = i * d + t * u, + r = i * h + t * g, + s = i * a + t * c; + return [Pl(r, n) * Il, Pl(s, zl(n * n + r * r)) * Il]; + } + : function () { + return [i * Il, n * Il]; + }; + return (m.distance = f), m; + } + function vh(e) { + return e; + } + var yh, + wh, + Ch, + Sh, + kh = Cl(), + xh = Cl(), + Lh = { + point: Gl, + lineStart: Gl, + lineEnd: Gl, + polygonStart: function () { + (Lh.lineStart = Mh), (Lh.lineEnd = Eh); + }, + polygonEnd: function () { + (Lh.lineStart = Lh.lineEnd = Lh.point = Gl), + kh.add(Al(xh)), + xh.reset(); + }, + result: function () { + var e = kh / 2; + return kh.reset(), e; + }, + }; + function Mh() { + Lh.point = Dh; + } + function Dh(e, t) { + (Lh.point = Nh), (yh = Ch = e), (wh = Sh = t); + } + function Nh(e, t) { + xh.add(Sh * e - Ch * t), (Ch = e), (Sh = t); + } + function Eh() { + Nh(yh, wh); + } + const Th = Lh; + var Ih = 1 / 0, + Oh = Ih, + Ah = -Ih, + Rh = Ah; + const Ph = { + point: function (e, t) { + e < Ih && (Ih = e), + e > Ah && (Ah = e), + t < Oh && (Oh = t), + t > Rh && (Rh = t); + }, + lineStart: Gl, + lineEnd: Gl, + polygonStart: Gl, + polygonEnd: Gl, + result: function () { + var e = [ + [Ih, Oh], + [Ah, Rh], + ]; + return (Ah = Rh = -(Oh = Ih = 1 / 0)), e; + }, + }; + var Fh, + Bh, + Wh, + Yh, + Hh = 0, + jh = 0, + Vh = 0, + zh = 0, + Uh = 0, + $h = 0, + Kh = 0, + qh = 0, + Gh = 0, + Zh = { + point: Jh, + lineStart: Qh, + lineEnd: tu, + polygonStart: function () { + (Zh.lineStart = iu), (Zh.lineEnd = nu); + }, + polygonEnd: function () { + (Zh.point = Jh), (Zh.lineStart = Qh), (Zh.lineEnd = tu); + }, + result: function () { + var e = Gh + ? [Kh / Gh, qh / Gh] + : $h + ? [zh / $h, Uh / $h] + : Vh + ? [Hh / Vh, jh / Vh] + : [NaN, NaN]; + return (Hh = jh = Vh = zh = Uh = $h = Kh = qh = Gh = 0), e; + }, + }; + function Jh(e, t) { + (Hh += e), (jh += t), ++Vh; + } + function Qh() { + Zh.point = Xh; + } + function Xh(e, t) { + (Zh.point = eu), Jh((Wh = e), (Yh = t)); + } + function eu(e, t) { + var i = e - Wh, + n = t - Yh, + r = zl(i * i + n * n); + (zh += (r * (Wh + e)) / 2), + (Uh += (r * (Yh + t)) / 2), + ($h += r), + Jh((Wh = e), (Yh = t)); + } + function tu() { + Zh.point = Jh; + } + function iu() { + Zh.point = ru; + } + function nu() { + su(Fh, Bh); + } + function ru(e, t) { + (Zh.point = su), Jh((Fh = Wh = e), (Bh = Yh = t)); + } + function su(e, t) { + var i = e - Wh, + n = t - Yh, + r = zl(i * i + n * n); + (zh += (r * (Wh + e)) / 2), + (Uh += (r * (Yh + t)) / 2), + ($h += r), + (Kh += (r = Yh * e - Wh * t) * (Wh + e)), + (qh += r * (Yh + t)), + (Gh += 3 * r), + Jh((Wh = e), (Yh = t)); + } + const ou = Zh; + function au(e) { + this._context = e; + } + au.prototype = { + _radius: 4.5, + pointRadius: function (e) { + return (this._radius = e), this; + }, + polygonStart: function () { + this._line = 0; + }, + polygonEnd: function () { + this._line = NaN; + }, + lineStart: function () { + this._point = 0; + }, + lineEnd: function () { + 0 === this._line && this._context.closePath(), (this._point = NaN); + }, + point: function (e, t) { + switch (this._point) { + case 0: + this._context.moveTo(e, t), (this._point = 1); + break; + case 1: + this._context.lineTo(e, t); + break; + default: + this._context.moveTo(e + this._radius, t), + this._context.arc(e, t, this._radius, 0, Tl); + } + }, + result: Gl, + }; + var lu, + cu, + du, + hu, + uu, + gu = Cl(), + fu = { + point: Gl, + lineStart: function () { + fu.point = pu; + }, + lineEnd: function () { + lu && mu(cu, du), (fu.point = Gl); + }, + polygonStart: function () { + lu = !0; + }, + polygonEnd: function () { + lu = null; + }, + result: function () { + var e = +gu; + return gu.reset(), e; + }, + }; + function pu(e, t) { + (fu.point = mu), (cu = hu = e), (du = uu = t); + } + function mu(e, t) { + (hu -= e), + (uu -= t), + gu.add(zl(hu * hu + uu * uu)), + (hu = e), + (uu = t); + } + const _u = fu; + function bu() { + this._string = []; + } + function vu(e) { + return ( + 'm0,' + + e + + 'a' + + e + + ',' + + e + + ' 0 1,1 0,' + + -2 * e + + 'a' + + e + + ',' + + e + + ' 0 1,1 0,' + + 2 * e + + 'z' + ); + } + function yu(e, t) { + var i, + n, + r = 4.5; + function s(e) { + return ( + e && + ('function' == typeof r && + n.pointRadius(+r.apply(this, arguments)), + tc(e, i(n))), + n.result() + ); + } + return ( + (s.area = function (e) { + return tc(e, i(Th)), Th.result(); + }), + (s.measure = function (e) { + return tc(e, i(_u)), _u.result(); + }), + (s.bounds = function (e) { + return tc(e, i(Ph)), Ph.result(); + }), + (s.centroid = function (e) { + return tc(e, i(ou)), ou.result(); + }), + (s.projection = function (t) { + return arguments.length + ? ((i = null == t ? ((e = null), vh) : (e = t).stream), s) + : e; + }), + (s.context = function (e) { + return arguments.length + ? ((n = null == e ? ((t = null), new bu()) : new au((t = e))), + 'function' != typeof r && n.pointRadius(r), + s) + : t; + }), + (s.pointRadius = function (e) { + return arguments.length + ? ((r = 'function' == typeof e ? e : (n.pointRadius(+e), +e)), + s) + : r; + }), + s.projection(e).context(t) + ); + } + function wu(e) { + return { stream: Cu(e) }; + } + function Cu(e) { + return function (t) { + var i = new Su(); + for (var n in e) i[n] = e[n]; + return (i.stream = t), i; + }; + } + function Su() {} + function ku(e, t, i) { + var n = e.clipExtent && e.clipExtent(); + return ( + e.scale(150).translate([0, 0]), + null != n && e.clipExtent(null), + tc(i, e.stream(Ph)), + t(Ph.result()), + null != n && e.clipExtent(n), + e + ); + } + function xu(e, t, i) { + return ku( + e, + function (i) { + var n = t[1][0] - t[0][0], + r = t[1][1] - t[0][1], + s = Math.min(n / (i[1][0] - i[0][0]), r / (i[1][1] - i[0][1])), + o = +t[0][0] + (n - s * (i[1][0] + i[0][0])) / 2, + a = +t[0][1] + (r - s * (i[1][1] + i[0][1])) / 2; + e.scale(150 * s).translate([o, a]); + }, + i + ); + } + function Lu(e, t, i) { + return xu(e, [[0, 0], t], i); + } + function Mu(e, t, i) { + return ku( + e, + function (i) { + var n = +t, + r = n / (i[1][0] - i[0][0]), + s = (n - r * (i[1][0] + i[0][0])) / 2, + o = -r * i[0][1]; + e.scale(150 * r).translate([s, o]); + }, + i + ); + } + function Du(e, t, i) { + return ku( + e, + function (i) { + var n = +t, + r = n / (i[1][1] - i[0][1]), + s = -r * i[0][0], + o = (n - r * (i[1][1] + i[0][1])) / 2; + e.scale(150 * r).translate([s, o]); + }, + i + ); + } + (bu.prototype = { + _radius: 4.5, + _circle: vu(4.5), + pointRadius: function (e) { + return ( + (e = +e) !== this._radius && + ((this._radius = e), (this._circle = null)), + this + ); + }, + polygonStart: function () { + this._line = 0; + }, + polygonEnd: function () { + this._line = NaN; + }, + lineStart: function () { + this._point = 0; + }, + lineEnd: function () { + 0 === this._line && this._string.push('Z'), (this._point = NaN); + }, + point: function (e, t) { + switch (this._point) { + case 0: + this._string.push('M', e, ',', t), (this._point = 1); + break; + case 1: + this._string.push('L', e, ',', t); + break; + default: + null == this._circle && (this._circle = vu(this._radius)), + this._string.push('M', e, ',', t, this._circle); + } + }, + result: function () { + if (this._string.length) { + var e = this._string.join(''); + return (this._string = []), e; + } + return null; + }, + }), + (Su.prototype = { + constructor: Su, + point: function (e, t) { + this.stream.point(e, t); + }, + sphere: function () { + this.stream.sphere(); + }, + lineStart: function () { + this.stream.lineStart(); + }, + lineEnd: function () { + this.stream.lineEnd(); + }, + polygonStart: function () { + this.stream.polygonStart(); + }, + polygonEnd: function () { + this.stream.polygonEnd(); + }, + }); + var Nu = Fl(30 * Ol); + function Eu(e, t) { + return +t + ? (function (e, t) { + function i(n, r, s, o, a, l, c, d, h, u, g, f, p, m) { + var _ = c - n, + b = d - r, + v = _ * _ + b * b; + if (v > 4 * t && p--) { + var y = o + u, + w = a + g, + C = l + f, + S = zl(y * y + w * w + C * C), + k = Kl((C /= S)), + x = + Al(Al(C) - 1) < Ll || Al(s - h) < Ll + ? (s + h) / 2 + : Pl(w, y), + L = e(x, k), + M = L[0], + D = L[1], + N = M - n, + E = D - r, + T = b * N - _ * E; + ((T * T) / v > t || + Al((_ * N + b * E) / v - 0.5) > 0.3 || + o * u + a * g + l * f < Nu) && + (i( + n, + r, + s, + o, + a, + l, + M, + D, + x, + (y /= S), + (w /= S), + C, + p, + m + ), + m.point(M, D), + i(M, D, x, y, w, C, c, d, h, u, g, f, p, m)); + } + } + return function (t) { + var n, + r, + s, + o, + a, + l, + c, + d, + h, + u, + g, + f, + p = { + point: m, + lineStart: _, + lineEnd: v, + polygonStart: function () { + t.polygonStart(), (p.lineStart = y); + }, + polygonEnd: function () { + t.polygonEnd(), (p.lineStart = _); + }, + }; + function m(i, n) { + (i = e(i, n)), t.point(i[0], i[1]); + } + function _() { + (d = NaN), (p.point = b), t.lineStart(); + } + function b(n, r) { + var s = mc([n, r]), + o = e(n, r); + i( + d, + h, + c, + u, + g, + f, + (d = o[0]), + (h = o[1]), + (c = n), + (u = s[0]), + (g = s[1]), + (f = s[2]), + 16, + t + ), + t.point(d, h); + } + function v() { + (p.point = m), t.lineEnd(); + } + function y() { + _(), (p.point = w), (p.lineEnd = C); + } + function w(e, t) { + b((n = e), t), + (r = d), + (s = h), + (o = u), + (a = g), + (l = f), + (p.point = b); + } + function C() { + i(d, h, c, u, g, f, r, s, n, o, a, l, 16, t), + (p.lineEnd = v), + v(); + } + return p; + }; + })(e, t) + : (function (e) { + return Cu({ + point: function (t, i) { + (t = e(t, i)), this.stream.point(t[0], t[1]); + }, + }); + })(e); + } + var Tu = Cu({ + point: function (e, t) { + this.stream.point(e * Ol, t * Ol); + }, + }); + function Iu(e, t, i) { + function n(n, r) { + return [t + e * n, i - e * r]; + } + return ( + (n.invert = function (n, r) { + return [(n - t) / e, (i - r) / e]; + }), + n + ); + } + function Ou(e, t, i, n) { + var r = Fl(n), + s = jl(n), + o = r * e, + a = s * e, + l = r / e, + c = s / e, + d = (s * i - r * t) / e, + h = (s * t + r * i) / e; + function u(e, n) { + return [o * e - a * n + t, i - a * e - o * n]; + } + return ( + (u.invert = function (e, t) { + return [l * e - c * t + d, h - c * e - l * t]; + }), + u + ); + } + function Au(e) { + return Ru(function () { + return e; + })(); + } + function Ru(e) { + var t, + i, + n, + r, + s, + o, + a, + l, + c, + d, + h = 150, + u = 480, + g = 250, + f = 0, + p = 0, + m = 0, + _ = 0, + b = 0, + v = 0, + y = null, + w = Hd, + C = null, + S = vh, + k = 0.5; + function x(e) { + return l(e[0] * Ol, e[1] * Ol); + } + function L(e) { + return (e = l.invert(e[0], e[1])) && [e[0] * Il, e[1] * Il]; + } + function M() { + var e = Ou(h, 0, 0, v).apply(null, t(f, p)), + n = (v ? Ou : Iu)(h, u - e[0], g - e[1], v); + return ( + (i = Cd(m, _, b)), + (a = yd(t, n)), + (l = yd(i, a)), + (o = Eu(a, k)), + D() + ); + } + function D() { + return (c = d = null), x; + } + return ( + (x.stream = function (e) { + return c && d === e + ? c + : (c = Tu( + (function (e) { + return Cu({ + point: function (t, i) { + var n = e(t, i); + return this.stream.point(n[0], n[1]); + }, + }); + })(i)(w(o(S((d = e))))) + )); + }), + (x.preclip = function (e) { + return arguments.length ? ((w = e), (y = void 0), D()) : w; + }), + (x.postclip = function (e) { + return arguments.length + ? ((S = e), (C = n = r = s = null), D()) + : S; + }), + (x.clipAngle = function (e) { + return arguments.length + ? ((w = +e ? jd((y = e * Ol)) : ((y = null), Hd)), D()) + : y * Il; + }), + (x.clipExtent = function (e) { + return arguments.length + ? ((S = + null == e + ? ((C = n = r = s = null), vh) + : Ud( + (C = +e[0][0]), + (n = +e[0][1]), + (r = +e[1][0]), + (s = +e[1][1]) + )), + D()) + : null == C + ? null + : [ + [C, n], + [r, s], + ]; + }), + (x.scale = function (e) { + return arguments.length ? ((h = +e), M()) : h; + }), + (x.translate = function (e) { + return arguments.length + ? ((u = +e[0]), (g = +e[1]), M()) + : [u, g]; + }), + (x.center = function (e) { + return arguments.length + ? ((f = (e[0] % 360) * Ol), (p = (e[1] % 360) * Ol), M()) + : [f * Il, p * Il]; + }), + (x.rotate = function (e) { + return arguments.length + ? ((m = (e[0] % 360) * Ol), + (_ = (e[1] % 360) * Ol), + (b = e.length > 2 ? (e[2] % 360) * Ol : 0), + M()) + : [m * Il, _ * Il, b * Il]; + }), + (x.angle = function (e) { + return arguments.length ? ((v = (e % 360) * Ol), M()) : v * Il; + }), + (x.precision = function (e) { + return arguments.length ? ((o = Eu(a, (k = e * e))), D()) : zl(k); + }), + (x.fitExtent = function (e, t) { + return xu(x, e, t); + }), + (x.fitSize = function (e, t) { + return Lu(x, e, t); + }), + (x.fitWidth = function (e, t) { + return Mu(x, e, t); + }), + (x.fitHeight = function (e, t) { + return Du(x, e, t); + }), + function () { + return ( + (t = e.apply(this, arguments)), (x.invert = t.invert && L), M() + ); + } + ); + } + function Pu(e) { + var t = 0, + i = Dl / 3, + n = Ru(e), + r = n(t, i); + return ( + (r.parallels = function (e) { + return arguments.length + ? n((t = e[0] * Ol), (i = e[1] * Ol)) + : [t * Il, i * Il]; + }), + r + ); + } + function Fu(e, t) { + var i = jl(e), + n = (i + jl(t)) / 2; + if (Al(n) < Ll) + return (function (e) { + var t = Fl(e); + function i(e, i) { + return [e * t, jl(i) / t]; + } + return ( + (i.invert = function (e, i) { + return [e / t, Kl(i * t)]; + }), + i + ); + })(e); + var r = 1 + i * (2 * n - i), + s = zl(r) / n; + function o(e, t) { + var i = zl(r - 2 * n * jl(t)) / n; + return [i * jl((e *= n)), s - i * Fl(e)]; + } + return ( + (o.invert = function (e, t) { + var i = s - t; + return [ + (Pl(e, Al(i)) / n) * Vl(i), + Kl((r - (e * e + i * i) * n * n) / (2 * n)), + ]; + }), + o + ); + } + function Bu() { + return Pu(Fu).scale(155.424).center([0, 33.6442]); + } + function Wu() { + return Bu() + .parallels([29.5, 45.5]) + .scale(1070) + .translate([480, 250]) + .rotate([96, 0]) + .center([-0.6, 38.7]); + } + function Yu() { + var e, + t, + i, + n, + r, + s, + o = Wu(), + a = Bu().rotate([154, 0]).center([-2, 58.5]).parallels([55, 65]), + l = Bu().rotate([157, 0]).center([-3, 19.9]).parallels([8, 18]), + c = { + point: function (e, t) { + s = [e, t]; + }, + }; + function d(e) { + var t = e[0], + o = e[1]; + return ( + (s = null), + i.point(t, o), + s || (n.point(t, o), s) || (r.point(t, o), s) + ); + } + function h() { + return (e = t = null), d; + } + return ( + (d.invert = function (e) { + var t = o.scale(), + i = o.translate(), + n = (e[0] - i[0]) / t, + r = (e[1] - i[1]) / t; + return (r >= 0.12 && r < 0.234 && n >= -0.425 && n < -0.214 + ? a + : r >= 0.166 && r < 0.234 && n >= -0.214 && n < -0.115 + ? l + : o + ).invert(e); + }), + (d.stream = function (i) { + return e && t === i + ? e + : ((n = [o.stream((t = i)), a.stream(i), l.stream(i)]), + (r = n.length), + (e = { + point: function (e, t) { + for (var i = -1; ++i < r; ) n[i].point(e, t); + }, + sphere: function () { + for (var e = -1; ++e < r; ) n[e].sphere(); + }, + lineStart: function () { + for (var e = -1; ++e < r; ) n[e].lineStart(); + }, + lineEnd: function () { + for (var e = -1; ++e < r; ) n[e].lineEnd(); + }, + polygonStart: function () { + for (var e = -1; ++e < r; ) n[e].polygonStart(); + }, + polygonEnd: function () { + for (var e = -1; ++e < r; ) n[e].polygonEnd(); + }, + })); + var n, r; + }), + (d.precision = function (e) { + return arguments.length + ? (o.precision(e), a.precision(e), l.precision(e), h()) + : o.precision(); + }), + (d.scale = function (e) { + return arguments.length + ? (o.scale(e), + a.scale(0.35 * e), + l.scale(e), + d.translate(o.translate())) + : o.scale(); + }), + (d.translate = function (e) { + if (!arguments.length) return o.translate(); + var t = o.scale(), + s = +e[0], + d = +e[1]; + return ( + (i = o + .translate(e) + .clipExtent([ + [s - 0.455 * t, d - 0.238 * t], + [s + 0.455 * t, d + 0.238 * t], + ]) + .stream(c)), + (n = a + .translate([s - 0.307 * t, d + 0.201 * t]) + .clipExtent([ + [s - 0.425 * t + Ll, d + 0.12 * t + Ll], + [s - 0.214 * t - Ll, d + 0.234 * t - Ll], + ]) + .stream(c)), + (r = l + .translate([s - 0.205 * t, d + 0.212 * t]) + .clipExtent([ + [s - 0.214 * t + Ll, d + 0.166 * t + Ll], + [s - 0.115 * t - Ll, d + 0.234 * t - Ll], + ]) + .stream(c)), + h() + ); + }), + (d.fitExtent = function (e, t) { + return xu(d, e, t); + }), + (d.fitSize = function (e, t) { + return Lu(d, e, t); + }), + (d.fitWidth = function (e, t) { + return Mu(d, e, t); + }), + (d.fitHeight = function (e, t) { + return Du(d, e, t); + }), + d.scale(1070) + ); + } + function Hu(e) { + return function (t, i) { + var n = Fl(t), + r = Fl(i), + s = e(n * r); + return [s * r * jl(t), s * jl(i)]; + }; + } + function ju(e) { + return function (t, i) { + var n = zl(t * t + i * i), + r = e(n), + s = jl(r), + o = Fl(r); + return [Pl(t * s, n * o), Kl(n && (i * s) / n)]; + }; + } + var Vu = Hu(function (e) { + return zl(2 / (1 + e)); + }); + function zu() { + return Au(Vu).scale(124.75).clipAngle(179.999); + } + Vu.invert = ju(function (e) { + return 2 * Kl(e / 2); + }); + var Uu = Hu(function (e) { + return (e = $l(e)) && e / jl(e); + }); + function $u() { + return Au(Uu).scale(79.4188).clipAngle(179.999); + } + function Ku(e, t) { + return [e, Yl(Ul((Nl + t) / 2))]; + } + function qu() { + return Gu(Ku).scale(961 / Tl); + } + function Gu(e) { + var t, + i, + n, + r = Au(e), + s = r.center, + o = r.scale, + a = r.translate, + l = r.clipExtent, + c = null; + function d() { + var s = Dl * o(), + a = r(Ld(r.rotate()).invert([0, 0])); + return l( + null == c + ? [ + [a[0] - s, a[1] - s], + [a[0] + s, a[1] + s], + ] + : e === Ku + ? [ + [Math.max(a[0] - s, c), t], + [Math.min(a[0] + s, i), n], + ] + : [ + [c, Math.max(a[1] - s, t)], + [i, Math.min(a[1] + s, n)], + ] + ); + } + return ( + (r.scale = function (e) { + return arguments.length ? (o(e), d()) : o(); + }), + (r.translate = function (e) { + return arguments.length ? (a(e), d()) : a(); + }), + (r.center = function (e) { + return arguments.length ? (s(e), d()) : s(); + }), + (r.clipExtent = function (e) { + return arguments.length + ? (null == e + ? (c = t = i = n = null) + : ((c = +e[0][0]), + (t = +e[0][1]), + (i = +e[1][0]), + (n = +e[1][1])), + d()) + : null == c + ? null + : [ + [c, t], + [i, n], + ]; + }), + d() + ); + } + function Zu(e) { + return Ul((Nl + e) / 2); + } + function Ju(e, t) { + var i = Fl(e), + n = e === t ? jl(e) : Yl(i / Fl(t)) / Yl(Zu(t) / Zu(e)), + r = (i * Hl(Zu(e), n)) / n; + if (!n) return Ku; + function s(e, t) { + r > 0 + ? t < -Nl + Ll && (t = -Nl + Ll) + : t > Nl - Ll && (t = Nl - Ll); + var i = r / Hl(Zu(t), n); + return [i * jl(n * e), r - i * Fl(n * e)]; + } + return ( + (s.invert = function (e, t) { + var i = r - t, + s = Vl(n) * zl(e * e + i * i); + return [ + (Pl(e, Al(i)) / n) * Vl(i), + 2 * Rl(Hl(r / s, 1 / n)) - Nl, + ]; + }), + s + ); + } + function Qu() { + return Pu(Ju).scale(109.5).parallels([30, 30]); + } + function Xu(e, t) { + return [e, t]; + } + function eg() { + return Au(Xu).scale(152.63); + } + function tg(e, t) { + var i = Fl(e), + n = e === t ? jl(e) : (i - Fl(t)) / (t - e), + r = i / n + e; + if (Al(n) < Ll) return Xu; + function s(e, t) { + var i = r - t, + s = n * e; + return [i * jl(s), r - i * Fl(s)]; + } + return ( + (s.invert = function (e, t) { + var i = r - t; + return [ + (Pl(e, Al(i)) / n) * Vl(i), + r - Vl(n) * zl(e * e + i * i), + ]; + }), + s + ); + } + function ig() { + return Pu(tg).scale(131.154).center([0, 13.9389]); + } + (Uu.invert = ju(function (e) { + return e; + })), + (Ku.invert = function (e, t) { + return [e, 2 * Rl(Wl(t)) - Nl]; + }), + (Xu.invert = Xu); + var ng = 1.340264, + rg = -0.081106, + sg = 893e-6, + og = 0.003796, + ag = zl(3) / 2; + function lg(e, t) { + var i = Kl(ag * jl(t)), + n = i * i, + r = n * n * n; + return [ + (e * Fl(i)) / (ag * (ng + 3 * rg * n + r * (7 * sg + 9 * og * n))), + i * (ng + rg * n + r * (sg + og * n)), + ]; + } + function cg() { + return Au(lg).scale(177.158); + } + function dg(e, t) { + var i = Fl(t), + n = Fl(e) * i; + return [(i * jl(e)) / n, jl(t) / n]; + } + function hg() { + return Au(dg).scale(144.049).clipAngle(60); + } + function ug(e, t, i, n) { + return 1 === e && 1 === t && 0 === i && 0 === n + ? vh + : Cu({ + point: function (r, s) { + this.stream.point(r * e + i, s * t + n); + }, + }); + } + function gg() { + var e, + t, + i, + n, + r, + s, + o = 1, + a = 0, + l = 0, + c = 1, + d = 1, + h = vh, + u = null, + g = vh; + function f() { + return (n = r = null), s; + } + return (s = { + stream: function (e) { + return n && r === e ? n : (n = h(g((r = e)))); + }, + postclip: function (n) { + return arguments.length + ? ((g = n), (u = e = t = i = null), f()) + : g; + }, + clipExtent: function (n) { + return arguments.length + ? ((g = + null == n + ? ((u = e = t = i = null), vh) + : Ud( + (u = +n[0][0]), + (e = +n[0][1]), + (t = +n[1][0]), + (i = +n[1][1]) + )), + f()) + : null == u + ? null + : [ + [u, e], + [t, i], + ]; + }, + scale: function (e) { + return arguments.length + ? ((h = ug((o = +e) * c, o * d, a, l)), f()) + : o; + }, + translate: function (e) { + return arguments.length + ? ((h = ug(o * c, o * d, (a = +e[0]), (l = +e[1]))), f()) + : [a, l]; + }, + reflectX: function (e) { + return arguments.length + ? ((h = ug(o * (c = e ? -1 : 1), o * d, a, l)), f()) + : c < 0; + }, + reflectY: function (e) { + return arguments.length + ? ((h = ug(o * c, o * (d = e ? -1 : 1), a, l)), f()) + : d < 0; + }, + fitExtent: function (e, t) { + return xu(s, e, t); + }, + fitSize: function (e, t) { + return Lu(s, e, t); + }, + fitWidth: function (e, t) { + return Mu(s, e, t); + }, + fitHeight: function (e, t) { + return Du(s, e, t); + }, + }); + } + function fg(e, t) { + var i = t * t, + n = i * i; + return [ + e * + (0.8707 - + 0.131979 * i + + n * (n * (0.003971 * i - 0.001529 * n) - 0.013791)), + t * + (1.007226 + + i * (0.015085 + n * (0.028874 * i - 0.044475 - 0.005916 * n))), + ]; + } + function pg() { + return Au(fg).scale(175.295); + } + function mg(e, t) { + return [Fl(t) * jl(e), jl(t)]; + } + function _g() { + return Au(mg).scale(249.5).clipAngle(90.000001); + } + function bg(e, t) { + var i = Fl(t), + n = 1 + Fl(e) * i; + return [(i * jl(e)) / n, jl(t) / n]; + } + function vg() { + return Au(bg).scale(250).clipAngle(142); + } + function yg(e, t) { + return [Yl(Ul((Nl + t) / 2)), -e]; + } + function wg() { + var e = Gu(yg), + t = e.center, + i = e.rotate; + return ( + (e.center = function (e) { + return arguments.length + ? t([-e[1], e[0]]) + : [(e = t())[1], -e[0]]; + }), + (e.rotate = function (e) { + return arguments.length + ? i([e[0], e[1], e.length > 2 ? e[2] + 90 : 90]) + : [(e = i())[0], e[1], e[2] - 90]; + }), + i([0, 0, 90]).scale(159.155) + ); + } + function Cg(e, t) { + return e.parent === t.parent ? 1 : 2; + } + function Sg(e, t) { + return e + t.x; + } + function kg(e, t) { + return Math.max(e, t.y); + } + function xg() { + var e = Cg, + t = 1, + i = 1, + n = !1; + function r(r) { + var s, + o = 0; + r.eachAfter(function (t) { + var i = t.children; + i + ? ((t.x = (function (e) { + return e.reduce(Sg, 0) / e.length; + })(i)), + (t.y = (function (e) { + return 1 + e.reduce(kg, 0); + })(i))) + : ((t.x = s ? (o += e(t, s)) : 0), (t.y = 0), (s = t)); + }); + var a = (function (e) { + for (var t; (t = e.children); ) e = t[0]; + return e; + })(r), + l = (function (e) { + for (var t; (t = e.children); ) e = t[t.length - 1]; + return e; + })(r), + c = a.x - e(a, l) / 2, + d = l.x + e(l, a) / 2; + return r.eachAfter( + n + ? function (e) { + (e.x = (e.x - r.x) * t), (e.y = (r.y - e.y) * i); + } + : function (e) { + (e.x = ((e.x - c) / (d - c)) * t), + (e.y = (1 - (r.y ? e.y / r.y : 1)) * i); + } + ); + } + return ( + (r.separation = function (t) { + return arguments.length ? ((e = t), r) : e; + }), + (r.size = function (e) { + return arguments.length + ? ((n = !1), (t = +e[0]), (i = +e[1]), r) + : n + ? null + : [t, i]; + }), + (r.nodeSize = function (e) { + return arguments.length + ? ((n = !0), (t = +e[0]), (i = +e[1]), r) + : n + ? [t, i] + : null; + }), + r + ); + } + function Lg(e) { + var t = 0, + i = e.children, + n = i && i.length; + if (n) for (; --n >= 0; ) t += i[n].value; + else t = 1; + e.value = t; + } + function Mg(e, t) { + var i, + n, + r, + s, + o, + a = new Tg(e), + l = +e.value && (a.value = e.value), + c = [a]; + for (null == t && (t = Dg); (i = c.pop()); ) + if ( + (l && (i.value = +i.data.value), + (r = t(i.data)) && (o = r.length)) + ) + for (i.children = new Array(o), s = o - 1; s >= 0; --s) + c.push((n = i.children[s] = new Tg(r[s]))), + (n.parent = i), + (n.depth = i.depth + 1); + return a.eachBefore(Eg); + } + function Dg(e) { + return e.children; + } + function Ng(e) { + e.data = e.data.data; + } + function Eg(e) { + var t = 0; + do { + e.height = t; + } while ((e = e.parent) && e.height < ++t); + } + function Tg(e) { + (this.data = e), (this.depth = this.height = 0), (this.parent = null); + } + (lg.invert = function (e, t) { + for ( + var i, n = t, r = n * n, s = r * r * r, o = 0; + o < 12 && + ((s = + (r = + (n -= i = + (n * (ng + rg * r + s * (sg + og * r)) - t) / + (ng + 3 * rg * r + s * (7 * sg + 9 * og * r))) * n) * + r * + r), + !(Al(i) < Ml)); + ++o + ); + return [ + (ag * e * (ng + 3 * rg * r + s * (7 * sg + 9 * og * r))) / Fl(n), + Kl(jl(n) / ag), + ]; + }), + (dg.invert = ju(Rl)), + (fg.invert = function (e, t) { + var i, + n = t, + r = 25; + do { + var s = n * n, + o = s * s; + n -= i = + (n * + (1.007226 + + s * + (0.015085 + + o * (0.028874 * s - 0.044475 - 0.005916 * o))) - + t) / + (1.007226 + + s * + (0.045255 + + o * (0.259866 * s - 0.311325 - 0.005916 * 11 * o))); + } while (Al(i) > Ll && --r > 0); + return [ + e / + (0.8707 + + (s = n * n) * + (s * (s * s * s * (0.003971 - 0.001529 * s) - 0.013791) - + 0.131979)), + n, + ]; + }), + (mg.invert = ju(Kl)), + (bg.invert = ju(function (e) { + return 2 * Rl(e); + })), + (yg.invert = function (e, t) { + return [-t, 2 * Rl(Wl(e)) - Nl]; + }), + (Tg.prototype = Mg.prototype = { + constructor: Tg, + count: function () { + return this.eachAfter(Lg); + }, + each: function (e) { + var t, + i, + n, + r, + s = this, + o = [s]; + do { + for (t = o.reverse(), o = []; (s = t.pop()); ) + if ((e(s), (i = s.children))) + for (n = 0, r = i.length; n < r; ++n) o.push(i[n]); + } while (o.length); + return this; + }, + eachAfter: function (e) { + for (var t, i, n, r = this, s = [r], o = []; (r = s.pop()); ) + if ((o.push(r), (t = r.children))) + for (i = 0, n = t.length; i < n; ++i) s.push(t[i]); + for (; (r = o.pop()); ) e(r); + return this; + }, + eachBefore: function (e) { + for (var t, i, n = this, r = [n]; (n = r.pop()); ) + if ((e(n), (t = n.children))) + for (i = t.length - 1; i >= 0; --i) r.push(t[i]); + return this; + }, + sum: function (e) { + return this.eachAfter(function (t) { + for ( + var i = +e(t.data) || 0, n = t.children, r = n && n.length; + --r >= 0; + + ) + i += n[r].value; + t.value = i; + }); + }, + sort: function (e) { + return this.eachBefore(function (t) { + t.children && t.children.sort(e); + }); + }, + path: function (e) { + for ( + var t = this, + i = (function (e, t) { + if (e === t) return e; + var i = e.ancestors(), + n = t.ancestors(), + r = null; + for (e = i.pop(), t = n.pop(); e === t; ) + (r = e), (e = i.pop()), (t = n.pop()); + return r; + })(t, e), + n = [t]; + t !== i; + + ) + (t = t.parent), n.push(t); + for (var r = n.length; e !== i; ) + n.splice(r, 0, e), (e = e.parent); + return n; + }, + ancestors: function () { + for (var e = this, t = [e]; (e = e.parent); ) t.push(e); + return t; + }, + descendants: function () { + var e = []; + return ( + this.each(function (t) { + e.push(t); + }), + e + ); + }, + leaves: function () { + var e = []; + return ( + this.eachBefore(function (t) { + t.children || e.push(t); + }), + e + ); + }, + links: function () { + var e = this, + t = []; + return ( + e.each(function (i) { + i !== e && t.push({ source: i.parent, target: i }); + }), + t + ); + }, + copy: function () { + return Mg(this).eachBefore(Ng); + }, + }); + var Ig = Array.prototype.slice; + function Og(e) { + for ( + var t, + i, + n = 0, + r = (e = (function (e) { + for (var t, i, n = e.length; n; ) + (i = (Math.random() * n--) | 0), + (t = e[n]), + (e[n] = e[i]), + (e[i] = t); + return e; + })(Ig.call(e))).length, + s = []; + n < r; + + ) + (t = e[n]), + i && Pg(i, t) ? ++n : ((i = Bg((s = Ag(s, t)))), (n = 0)); + return i; + } + function Ag(e, t) { + var i, n; + if (Fg(t, e)) return [t]; + for (i = 0; i < e.length; ++i) + if (Rg(t, e[i]) && Fg(Wg(e[i], t), e)) return [e[i], t]; + for (i = 0; i < e.length - 1; ++i) + for (n = i + 1; n < e.length; ++n) + if ( + Rg(Wg(e[i], e[n]), t) && + Rg(Wg(e[i], t), e[n]) && + Rg(Wg(e[n], t), e[i]) && + Fg(Yg(e[i], e[n], t), e) + ) + return [e[i], e[n], t]; + throw new Error(); + } + function Rg(e, t) { + var i = e.r - t.r, + n = t.x - e.x, + r = t.y - e.y; + return i < 0 || i * i < n * n + r * r; + } + function Pg(e, t) { + var i = e.r - t.r + 1e-6, + n = t.x - e.x, + r = t.y - e.y; + return i > 0 && i * i > n * n + r * r; + } + function Fg(e, t) { + for (var i = 0; i < t.length; ++i) if (!Pg(e, t[i])) return !1; + return !0; + } + function Bg(e) { + switch (e.length) { + case 1: + return (function (e) { + return { x: e.x, y: e.y, r: e.r }; + })(e[0]); + case 2: + return Wg(e[0], e[1]); + case 3: + return Yg(e[0], e[1], e[2]); + } + } + function Wg(e, t) { + var i = e.x, + n = e.y, + r = e.r, + s = t.x, + o = t.y, + a = t.r, + l = s - i, + c = o - n, + d = a - r, + h = Math.sqrt(l * l + c * c); + return { + x: (i + s + (l / h) * d) / 2, + y: (n + o + (c / h) * d) / 2, + r: (h + r + a) / 2, + }; + } + function Yg(e, t, i) { + var n = e.x, + r = e.y, + s = e.r, + o = t.x, + a = t.y, + l = t.r, + c = i.x, + d = i.y, + h = i.r, + u = n - o, + g = n - c, + f = r - a, + p = r - d, + m = l - s, + _ = h - s, + b = n * n + r * r - s * s, + v = b - o * o - a * a + l * l, + y = b - c * c - d * d + h * h, + w = g * f - u * p, + C = (f * y - p * v) / (2 * w) - n, + S = (p * m - f * _) / w, + k = (g * v - u * y) / (2 * w) - r, + x = (u * _ - g * m) / w, + L = S * S + x * x - 1, + M = 2 * (s + C * S + k * x), + D = C * C + k * k - s * s, + N = -(L ? (M + Math.sqrt(M * M - 4 * L * D)) / (2 * L) : D / M); + return { x: n + C + S * N, y: r + k + x * N, r: N }; + } + function Hg(e, t, i) { + var n, + r, + s, + o, + a = e.x - t.x, + l = e.y - t.y, + c = a * a + l * l; + c + ? ((r = t.r + i.r), + (r *= r), + (o = e.r + i.r), + r > (o *= o) + ? ((n = (c + o - r) / (2 * c)), + (s = Math.sqrt(Math.max(0, o / c - n * n))), + (i.x = e.x - n * a - s * l), + (i.y = e.y - n * l + s * a)) + : ((n = (c + r - o) / (2 * c)), + (s = Math.sqrt(Math.max(0, r / c - n * n))), + (i.x = t.x + n * a - s * l), + (i.y = t.y + n * l + s * a))) + : ((i.x = t.x + i.r), (i.y = t.y)); + } + function jg(e, t) { + var i = e.r + t.r - 1e-6, + n = t.x - e.x, + r = t.y - e.y; + return i > 0 && i * i > n * n + r * r; + } + function Vg(e) { + var t = e._, + i = e.next._, + n = t.r + i.r, + r = (t.x * i.r + i.x * t.r) / n, + s = (t.y * i.r + i.y * t.r) / n; + return r * r + s * s; + } + function zg(e) { + (this._ = e), (this.next = null), (this.previous = null); + } + function Ug(e) { + if (!(r = e.length)) return 0; + var t, i, n, r, s, o, a, l, c, d, h; + if ((((t = e[0]).x = 0), (t.y = 0), !(r > 1))) return t.r; + if (((i = e[1]), (t.x = -i.r), (i.x = t.r), (i.y = 0), !(r > 2))) + return t.r + i.r; + Hg(i, t, (n = e[2])), + (t = new zg(t)), + (i = new zg(i)), + (n = new zg(n)), + (t.next = n.previous = i), + (i.next = t.previous = n), + (n.next = i.previous = t); + e: for (a = 3; a < r; ++a) { + Hg(t._, i._, (n = e[a])), + (n = new zg(n)), + (l = i.next), + (c = t.previous), + (d = i._.r), + (h = t._.r); + do { + if (d <= h) { + if (jg(l._, n._)) { + (i = l), (t.next = i), (i.previous = t), --a; + continue e; + } + (d += l._.r), (l = l.next); + } else { + if (jg(c._, n._)) { + ((t = c).next = i), (i.previous = t), --a; + continue e; + } + (h += c._.r), (c = c.previous); + } + } while (l !== c.next); + for ( + n.previous = t, + n.next = i, + t.next = i.previous = i = n, + s = Vg(t); + (n = n.next) !== i; + + ) + (o = Vg(n)) < s && ((t = n), (s = o)); + i = t.next; + } + for (t = [i._], n = i; (n = n.next) !== i; ) t.push(n._); + for (n = Og(t), a = 0; a < r; ++a) + ((t = e[a]).x -= n.x), (t.y -= n.y); + return n.r; + } + function $g(e) { + return Ug(e), e; + } + function Kg(e) { + return null == e ? null : qg(e); + } + function qg(e) { + if ('function' != typeof e) throw new Error(); + return e; + } + function Gg() { + return 0; + } + function Zg(e) { + return function () { + return e; + }; + } + function Jg(e) { + return Math.sqrt(e.value); + } + function Qg() { + var e = null, + t = 1, + i = 1, + n = Gg; + function r(r) { + return ( + (r.x = t / 2), + (r.y = i / 2), + e + ? r.eachBefore(Xg(e)).eachAfter(ef(n, 0.5)).eachBefore(tf(1)) + : r + .eachBefore(Xg(Jg)) + .eachAfter(ef(Gg, 1)) + .eachAfter(ef(n, r.r / Math.min(t, i))) + .eachBefore(tf(Math.min(t, i) / (2 * r.r))), + r + ); + } + return ( + (r.radius = function (t) { + return arguments.length ? ((e = Kg(t)), r) : e; + }), + (r.size = function (e) { + return arguments.length ? ((t = +e[0]), (i = +e[1]), r) : [t, i]; + }), + (r.padding = function (e) { + return arguments.length + ? ((n = 'function' == typeof e ? e : Zg(+e)), r) + : n; + }), + r + ); + } + function Xg(e) { + return function (t) { + t.children || (t.r = Math.max(0, +e(t) || 0)); + }; + } + function ef(e, t) { + return function (i) { + if ((n = i.children)) { + var n, + r, + s, + o = n.length, + a = e(i) * t || 0; + if (a) for (r = 0; r < o; ++r) n[r].r += a; + if (((s = Ug(n)), a)) for (r = 0; r < o; ++r) n[r].r -= a; + i.r = s + a; + } + }; + } + function tf(e) { + return function (t) { + var i = t.parent; + (t.r *= e), i && ((t.x = i.x + e * t.x), (t.y = i.y + e * t.y)); + }; + } + function nf(e) { + (e.x0 = Math.round(e.x0)), + (e.y0 = Math.round(e.y0)), + (e.x1 = Math.round(e.x1)), + (e.y1 = Math.round(e.y1)); + } + function rf(e, t, i, n, r) { + for ( + var s, + o = e.children, + a = -1, + l = o.length, + c = e.value && (n - t) / e.value; + ++a < l; + + ) + ((s = o[a]).y0 = i), + (s.y1 = r), + (s.x0 = t), + (s.x1 = t += s.value * c); + } + function sf() { + var e = 1, + t = 1, + i = 0, + n = !1; + function r(r) { + var s = r.height + 1; + return ( + (r.x0 = r.y0 = i), + (r.x1 = e), + (r.y1 = t / s), + r.eachBefore( + (function (e, t) { + return function (n) { + n.children && + rf( + n, + n.x0, + (e * (n.depth + 1)) / t, + n.x1, + (e * (n.depth + 2)) / t + ); + var r = n.x0, + s = n.y0, + o = n.x1 - i, + a = n.y1 - i; + o < r && (r = o = (r + o) / 2), + a < s && (s = a = (s + a) / 2), + (n.x0 = r), + (n.y0 = s), + (n.x1 = o), + (n.y1 = a); + }; + })(t, s) + ), + n && r.eachBefore(nf), + r + ); + } + return ( + (r.round = function (e) { + return arguments.length ? ((n = !!e), r) : n; + }), + (r.size = function (i) { + return arguments.length ? ((e = +i[0]), (t = +i[1]), r) : [e, t]; + }), + (r.padding = function (e) { + return arguments.length ? ((i = +e), r) : i; + }), + r + ); + } + var of = { depth: -1 }, + af = {}; + function lf(e) { + return e.id; + } + function cf(e) { + return e.parentId; + } + function df() { + var e = lf, + t = cf; + function i(i) { + var n, + r, + s, + o, + a, + l, + c, + d = i.length, + h = new Array(d), + u = {}; + for (r = 0; r < d; ++r) + (n = i[r]), + (a = h[r] = new Tg(n)), + null != (l = e(n, r, i)) && + (l += '') && + (u[(c = '$' + (a.id = l))] = c in u ? af : a); + for (r = 0; r < d; ++r) + if (((a = h[r]), null != (l = t(i[r], r, i)) && (l += ''))) { + if (!(o = u['$' + l])) throw new Error('missing: ' + l); + if (o === af) throw new Error('ambiguous: ' + l); + o.children ? o.children.push(a) : (o.children = [a]), + (a.parent = o); + } else { + if (s) throw new Error('multiple roots'); + s = a; + } + if (!s) throw new Error('no root'); + if ( + ((s.parent = of), + s + .eachBefore(function (e) { + (e.depth = e.parent.depth + 1), --d; + }) + .eachBefore(Eg), + (s.parent = null), + d > 0) + ) + throw new Error('cycle'); + return s; + } + return ( + (i.id = function (t) { + return arguments.length ? ((e = qg(t)), i) : e; + }), + (i.parentId = function (e) { + return arguments.length ? ((t = qg(e)), i) : t; + }), + i + ); + } + function hf(e, t) { + return e.parent === t.parent ? 1 : 2; + } + function uf(e) { + var t = e.children; + return t ? t[0] : e.t; + } + function gf(e) { + var t = e.children; + return t ? t[t.length - 1] : e.t; + } + function ff(e, t, i) { + var n = i / (t.i - e.i); + (t.c -= n), (t.s += i), (e.c += n), (t.z += i), (t.m += i); + } + function pf(e, t, i) { + return e.a.parent === t.parent ? e.a : i; + } + function mf(e, t) { + (this._ = e), + (this.parent = null), + (this.children = null), + (this.A = null), + (this.a = this), + (this.z = 0), + (this.m = 0), + (this.c = 0), + (this.s = 0), + (this.t = null), + (this.i = t); + } + function _f() { + var e = hf, + t = 1, + i = 1, + n = null; + function r(r) { + var l = (function (e) { + for ( + var t, i, n, r, s, o = new mf(e, 0), a = [o]; + (t = a.pop()); + + ) + if ((n = t._.children)) + for ( + t.children = new Array((s = n.length)), r = s - 1; + r >= 0; + --r + ) + a.push((i = t.children[r] = new mf(n[r], r))), + (i.parent = t); + return ((o.parent = new mf(null, 0)).children = [o]), o; + })(r); + if ((l.eachAfter(s), (l.parent.m = -l.z), l.eachBefore(o), n)) + r.eachBefore(a); + else { + var c = r, + d = r, + h = r; + r.eachBefore(function (e) { + e.x < c.x && (c = e), + e.x > d.x && (d = e), + e.depth > h.depth && (h = e); + }); + var u = c === d ? 1 : e(c, d) / 2, + g = u - c.x, + f = t / (d.x + u + g), + p = i / (h.depth || 1); + r.eachBefore(function (e) { + (e.x = (e.x + g) * f), (e.y = e.depth * p); + }); + } + return r; + } + function s(t) { + var i = t.children, + n = t.parent.children, + r = t.i ? n[t.i - 1] : null; + if (i) { + !(function (e) { + for ( + var t, i = 0, n = 0, r = e.children, s = r.length; + --s >= 0; + + ) + ((t = r[s]).z += i), (t.m += i), (i += t.s + (n += t.c)); + })(t); + var s = (i[0].z + i[i.length - 1].z) / 2; + r ? ((t.z = r.z + e(t._, r._)), (t.m = t.z - s)) : (t.z = s); + } else r && (t.z = r.z + e(t._, r._)); + t.parent.A = (function (t, i, n) { + if (i) { + for ( + var r, + s = t, + o = t, + a = i, + l = s.parent.children[0], + c = s.m, + d = o.m, + h = a.m, + u = l.m; + (a = gf(a)), (s = uf(s)), a && s; + + ) + (l = uf(l)), + ((o = gf(o)).a = t), + (r = a.z + h - s.z - c + e(a._, s._)) > 0 && + (ff(pf(a, t, n), t, r), (c += r), (d += r)), + (h += a.m), + (c += s.m), + (u += l.m), + (d += o.m); + a && !gf(o) && ((o.t = a), (o.m += h - d)), + s && !uf(l) && ((l.t = s), (l.m += c - u), (n = t)); + } + return n; + })(t, r, t.parent.A || n[0]); + } + function o(e) { + (e._.x = e.z + e.parent.m), (e.m += e.parent.m); + } + function a(e) { + (e.x *= t), (e.y = e.depth * i); + } + return ( + (r.separation = function (t) { + return arguments.length ? ((e = t), r) : e; + }), + (r.size = function (e) { + return arguments.length + ? ((n = !1), (t = +e[0]), (i = +e[1]), r) + : n + ? null + : [t, i]; + }), + (r.nodeSize = function (e) { + return arguments.length + ? ((n = !0), (t = +e[0]), (i = +e[1]), r) + : n + ? [t, i] + : null; + }), + r + ); + } + function bf(e, t, i, n, r) { + for ( + var s, + o = e.children, + a = -1, + l = o.length, + c = e.value && (r - i) / e.value; + ++a < l; + + ) + ((s = o[a]).x0 = t), + (s.x1 = n), + (s.y0 = i), + (s.y1 = i += s.value * c); + } + mf.prototype = Object.create(Tg.prototype); + var vf = (1 + Math.sqrt(5)) / 2; + function yf(e, t, i, n, r, s) { + for ( + var o, + a, + l, + c, + d, + h, + u, + g, + f, + p, + m, + _ = [], + b = t.children, + v = 0, + y = 0, + w = b.length, + C = t.value; + v < w; + + ) { + (l = r - i), (c = s - n); + do { + d = b[y++].value; + } while (!d && y < w); + for ( + h = u = d, + m = d * d * (p = Math.max(c / l, l / c) / (C * e)), + f = Math.max(u / m, m / h); + y < w; + ++y + ) { + if ( + ((d += a = b[y].value), + a < h && (h = a), + a > u && (u = a), + (m = d * d * p), + (g = Math.max(u / m, m / h)) > f) + ) { + d -= a; + break; + } + f = g; + } + _.push((o = { value: d, dice: l < c, children: b.slice(v, y) })), + o.dice + ? rf(o, i, n, r, C ? (n += (c * d) / C) : s) + : bf(o, i, n, C ? (i += (l * d) / C) : r, s), + (C -= d), + (v = y); + } + return _; + } + const wf = (function e(t) { + function i(e, i, n, r, s) { + yf(t, e, i, n, r, s); + } + return ( + (i.ratio = function (t) { + return e((t = +t) > 1 ? t : 1); + }), + i + ); + })(vf); + function Cf() { + var e = wf, + t = !1, + i = 1, + n = 1, + r = [0], + s = Gg, + o = Gg, + a = Gg, + l = Gg, + c = Gg; + function d(e) { + return ( + (e.x0 = e.y0 = 0), + (e.x1 = i), + (e.y1 = n), + e.eachBefore(h), + (r = [0]), + t && e.eachBefore(nf), + e + ); + } + function h(t) { + var i = r[t.depth], + n = t.x0 + i, + d = t.y0 + i, + h = t.x1 - i, + u = t.y1 - i; + h < n && (n = h = (n + h) / 2), + u < d && (d = u = (d + u) / 2), + (t.x0 = n), + (t.y0 = d), + (t.x1 = h), + (t.y1 = u), + t.children && + ((i = r[t.depth + 1] = s(t) / 2), + (n += c(t) - i), + (d += o(t) - i), + (h -= a(t) - i) < n && (n = h = (n + h) / 2), + (u -= l(t) - i) < d && (d = u = (d + u) / 2), + e(t, n, d, h, u)); + } + return ( + (d.round = function (e) { + return arguments.length ? ((t = !!e), d) : t; + }), + (d.size = function (e) { + return arguments.length ? ((i = +e[0]), (n = +e[1]), d) : [i, n]; + }), + (d.tile = function (t) { + return arguments.length ? ((e = qg(t)), d) : e; + }), + (d.padding = function (e) { + return arguments.length + ? d.paddingInner(e).paddingOuter(e) + : d.paddingInner(); + }), + (d.paddingInner = function (e) { + return arguments.length + ? ((s = 'function' == typeof e ? e : Zg(+e)), d) + : s; + }), + (d.paddingOuter = function (e) { + return arguments.length + ? d + .paddingTop(e) + .paddingRight(e) + .paddingBottom(e) + .paddingLeft(e) + : d.paddingTop(); + }), + (d.paddingTop = function (e) { + return arguments.length + ? ((o = 'function' == typeof e ? e : Zg(+e)), d) + : o; + }), + (d.paddingRight = function (e) { + return arguments.length + ? ((a = 'function' == typeof e ? e : Zg(+e)), d) + : a; + }), + (d.paddingBottom = function (e) { + return arguments.length + ? ((l = 'function' == typeof e ? e : Zg(+e)), d) + : l; + }), + (d.paddingLeft = function (e) { + return arguments.length + ? ((c = 'function' == typeof e ? e : Zg(+e)), d) + : c; + }), + d + ); + } + function Sf(e, t, i, n, r) { + var s, + o, + a = e.children, + l = a.length, + c = new Array(l + 1); + for (c[0] = o = s = 0; s < l; ++s) c[s + 1] = o += a[s].value; + !(function e(t, i, n, r, s, o, l) { + if (t >= i - 1) { + var d = a[t]; + return (d.x0 = r), (d.y0 = s), (d.x1 = o), void (d.y1 = l); + } + for (var h = c[t], u = n / 2 + h, g = t + 1, f = i - 1; g < f; ) { + var p = (g + f) >>> 1; + c[p] < u ? (g = p + 1) : (f = p); + } + u - c[g - 1] < c[g] - u && t + 1 < g && --g; + var m = c[g] - h, + _ = n - m; + if (o - r > l - s) { + var b = (r * _ + o * m) / n; + e(t, g, m, r, s, b, l), e(g, i, _, b, s, o, l); + } else { + var v = (s * _ + l * m) / n; + e(t, g, m, r, s, o, v), e(g, i, _, r, v, o, l); + } + })(0, l, e.value, t, i, n, r); + } + function kf(e, t, i, n, r) { + (1 & e.depth ? bf : rf)(e, t, i, n, r); + } + const xf = (function e(t) { + function i(e, i, n, r, s) { + if ((o = e._squarify) && o.ratio === t) + for ( + var o, a, l, c, d, h = -1, u = o.length, g = e.value; + ++h < u; + + ) { + for ( + l = (a = o[h]).children, c = a.value = 0, d = l.length; + c < d; + ++c + ) + a.value += l[c].value; + a.dice + ? rf(a, i, n, r, (n += ((s - n) * a.value) / g)) + : bf(a, i, n, (i += ((r - i) * a.value) / g), s), + (g -= a.value); + } + else (e._squarify = o = yf(t, e, i, n, r, s)), (o.ratio = t); + } + return ( + (i.ratio = function (t) { + return e((t = +t) > 1 ? t : 1); + }), + i + ); + })(vf); + function Lf(e) { + var t = e.length; + return function (i) { + return e[Math.max(0, Math.min(t - 1, Math.floor(i * t)))]; + }; + } + function Mf(e, t) { + var i = ui(+e, +t); + return function (e) { + var t = i(e); + return t - 360 * Math.floor(t / 360); + }; + } + function Df(e, t) { + return ( + (e = +e), + (t = +t), + function (i) { + return Math.round(e * (1 - i) + t * i); + } + ); + } + var Nf = Math.SQRT2; + function Ef(e) { + return ((e = Math.exp(e)) + 1 / e) / 2; + } + function Tf(e, t) { + var i, + n, + r = e[0], + s = e[1], + o = e[2], + a = t[0], + l = t[1], + c = t[2], + d = a - r, + h = l - s, + u = d * d + h * h; + if (u < 1e-12) + (n = Math.log(c / o) / Nf), + (i = function (e) { + return [r + e * d, s + e * h, o * Math.exp(Nf * e * n)]; + }); + else { + var g = Math.sqrt(u), + f = (c * c - o * o + 4 * u) / (2 * o * 2 * g), + p = (c * c - o * o - 4 * u) / (2 * c * 2 * g), + m = Math.log(Math.sqrt(f * f + 1) - f), + _ = Math.log(Math.sqrt(p * p + 1) - p); + (n = (_ - m) / Nf), + (i = function (e) { + var t, + i = e * n, + a = Ef(m), + l = + (o / (2 * g)) * + (a * + ((t = Nf * i + m), + ((t = Math.exp(2 * t)) - 1) / (t + 1)) - + (function (e) { + return ((e = Math.exp(e)) - 1 / e) / 2; + })(m)); + return [r + l * d, s + l * h, (o * a) / Ef(Nf * i + m)]; + }); + } + return (i.duration = 1e3 * n), i; + } + function If(e) { + return function (t, i) { + var n = e((t = ri(t)).h, (i = ri(i)).h), + r = gi(t.s, i.s), + s = gi(t.l, i.l), + o = gi(t.opacity, i.opacity); + return function (e) { + return ( + (t.h = n(e)), + (t.s = r(e)), + (t.l = s(e)), + (t.opacity = o(e)), + t + '' + ); + }; + }; + } + const Of = If(ui); + var Af = If(gi); + function Rf(e, t) { + var i = gi((e = ks(e)).l, (t = ks(t)).l), + n = gi(e.a, t.a), + r = gi(e.b, t.b), + s = gi(e.opacity, t.opacity); + return function (t) { + return ( + (e.l = i(t)), + (e.a = n(t)), + (e.b = r(t)), + (e.opacity = s(t)), + e + '' + ); + }; + } + function Pf(e) { + return function (t, i) { + var n = e((t = Is(t)).h, (i = Is(i)).h), + r = gi(t.c, i.c), + s = gi(t.l, i.l), + o = gi(t.opacity, i.opacity); + return function (e) { + return ( + (t.h = n(e)), + (t.c = r(e)), + (t.l = s(e)), + (t.opacity = o(e)), + t + '' + ); + }; + }; + } + const Ff = Pf(ui); + var Bf = Pf(gi); + function Wf(e) { + return (function t(i) { + function n(t, n) { + var r = e((t = zs(t)).h, (n = zs(n)).h), + s = gi(t.s, n.s), + o = gi(t.l, n.l), + a = gi(t.opacity, n.opacity); + return function (e) { + return ( + (t.h = r(e)), + (t.s = s(e)), + (t.l = o(Math.pow(e, i))), + (t.opacity = a(e)), + t + '' + ); + }; + } + return (i = +i), (n.gamma = t), n; + })(1); + } + const Yf = Wf(ui); + var Hf = Wf(gi); + function jf(e, t) { + for ( + var i = 0, n = t.length - 1, r = t[0], s = new Array(n < 0 ? 0 : n); + i < n; + + ) + s[i] = e(r, (r = t[++i])); + return function (e) { + var t = Math.max(0, Math.min(n - 1, Math.floor((e *= n)))); + return s[t](e - t); + }; + } + function Vf(e, t) { + for (var i = new Array(t), n = 0; n < t; ++n) i[n] = e(n / (t - 1)); + return i; + } + function zf(e) { + for (var t, i = -1, n = e.length, r = e[n - 1], s = 0; ++i < n; ) + (t = r), (r = e[i]), (s += t[1] * r[0] - t[0] * r[1]); + return s / 2; + } + function Uf(e) { + for ( + var t, i, n = -1, r = e.length, s = 0, o = 0, a = e[r - 1], l = 0; + ++n < r; + + ) + (t = a), + (a = e[n]), + (l += i = t[0] * a[1] - a[0] * t[1]), + (s += (t[0] + a[0]) * i), + (o += (t[1] + a[1]) * i); + return [s / (l *= 3), o / l]; + } + function $f(e, t, i) { + return (t[0] - e[0]) * (i[1] - e[1]) - (t[1] - e[1]) * (i[0] - e[0]); + } + function Kf(e, t) { + return e[0] - t[0] || e[1] - t[1]; + } + function qf(e) { + for (var t = e.length, i = [0, 1], n = 2, r = 2; r < t; ++r) { + for (; n > 1 && $f(e[i[n - 2]], e[i[n - 1]], e[r]) <= 0; ) --n; + i[n++] = r; + } + return i.slice(0, n); + } + function Gf(e) { + if ((i = e.length) < 3) return null; + var t, + i, + n = new Array(i), + r = new Array(i); + for (t = 0; t < i; ++t) n[t] = [+e[t][0], +e[t][1], t]; + for (n.sort(Kf), t = 0; t < i; ++t) r[t] = [n[t][0], -n[t][1]]; + var s = qf(n), + o = qf(r), + a = o[0] === s[0], + l = o[o.length - 1] === s[s.length - 1], + c = []; + for (t = s.length - 1; t >= 0; --t) c.push(e[n[s[t]][2]]); + for (t = +a; t < o.length - l; ++t) c.push(e[n[o[t]][2]]); + return c; + } + function Zf(e, t) { + for ( + var i, + n, + r = e.length, + s = e[r - 1], + o = t[0], + a = t[1], + l = s[0], + c = s[1], + d = !1, + h = 0; + h < r; + ++h + ) + (i = (s = e[h])[0]), + (n = s[1]) > a != c > a && + o < ((l - i) * (a - n)) / (c - n) + i && + (d = !d), + (l = i), + (c = n); + return d; + } + function Jf(e) { + for ( + var t, + i, + n = -1, + r = e.length, + s = e[r - 1], + o = s[0], + a = s[1], + l = 0; + ++n < r; + + ) + (t = o), + (i = a), + (t -= o = (s = e[n])[0]), + (i -= a = s[1]), + (l += Math.sqrt(t * t + i * i)); + return l; + } + function Qf() { + return Math.random(); + } + const Xf = (function e(t) { + function i(e, i) { + return ( + (e = null == e ? 0 : +e), + (i = null == i ? 1 : +i), + 1 === arguments.length ? ((i = e), (e = 0)) : (i -= e), + function () { + return t() * i + e; + } + ); + } + return (i.source = e), i; + })(Qf), + ep = (function e(t) { + function i(e, i) { + var n, r; + return ( + (e = null == e ? 0 : +e), + (i = null == i ? 1 : +i), + function () { + var s; + if (null != n) (s = n), (n = null); + else + do { + (n = 2 * t() - 1), (s = 2 * t() - 1), (r = n * n + s * s); + } while (!r || r > 1); + return e + i * s * Math.sqrt((-2 * Math.log(r)) / r); + } + ); + } + return (i.source = e), i; + })(Qf), + tp = (function e(t) { + function i() { + var e = ep.source(t).apply(this, arguments); + return function () { + return Math.exp(e()); + }; + } + return (i.source = e), i; + })(Qf), + ip = (function e(t) { + function i(e) { + return function () { + for (var i = 0, n = 0; n < e; ++n) i += t(); + return i; + }; + } + return (i.source = e), i; + })(Qf), + np = (function e(t) { + function i(e) { + var i = ip.source(t)(e); + return function () { + return i() / e; + }; + } + return (i.source = e), i; + })(Qf), + rp = (function e(t) { + function i(e) { + return function () { + return -Math.log(1 - t()) / e; + }; + } + return (i.source = e), i; + })(Qf); + function sp(e, t) { + switch (arguments.length) { + case 0: + break; + case 1: + this.range(e); + break; + default: + this.range(t).domain(e); + } + return this; + } + function op(e, t) { + switch (arguments.length) { + case 0: + break; + case 1: + this.interpolator(e); + break; + default: + this.interpolator(t).domain(e); + } + return this; + } + var ap = Array.prototype, + lp = ap.map, + cp = ap.slice, + dp = { name: 'implicit' }; + function hp() { + var e = is(), + t = [], + i = [], + n = dp; + function r(r) { + var s = r + '', + o = e.get(s); + if (!o) { + if (n !== dp) return n; + e.set(s, (o = t.push(r))); + } + return i[(o - 1) % i.length]; + } + return ( + (r.domain = function (i) { + if (!arguments.length) return t.slice(); + (t = []), (e = is()); + for (var n, s, o = -1, a = i.length; ++o < a; ) + e.has((s = (n = i[o]) + '')) || e.set(s, t.push(n)); + return r; + }), + (r.range = function (e) { + return arguments.length ? ((i = cp.call(e)), r) : i.slice(); + }), + (r.unknown = function (e) { + return arguments.length ? ((n = e), r) : n; + }), + (r.copy = function () { + return hp(t, i).unknown(n); + }), + sp.apply(r, arguments), + r + ); + } + function up() { + var e, + t, + i = hp().unknown(void 0), + n = i.domain, + r = i.range, + s = [0, 1], + o = !1, + a = 0, + l = 0, + c = 0.5; + function d() { + var i = n().length, + d = s[1] < s[0], + h = s[d - 0], + u = s[1 - d]; + (e = (u - h) / Math.max(1, i - a + 2 * l)), + o && (e = Math.floor(e)), + (h += (u - h - e * (i - a)) * c), + (t = e * (1 - a)), + o && ((h = Math.round(h)), (t = Math.round(t))); + var g = S(i).map(function (t) { + return h + e * t; + }); + return r(d ? g.reverse() : g); + } + return ( + delete i.unknown, + (i.domain = function (e) { + return arguments.length ? (n(e), d()) : n(); + }), + (i.range = function (e) { + return arguments.length ? ((s = [+e[0], +e[1]]), d()) : s.slice(); + }), + (i.rangeRound = function (e) { + return (s = [+e[0], +e[1]]), (o = !0), d(); + }), + (i.bandwidth = function () { + return t; + }), + (i.step = function () { + return e; + }), + (i.round = function (e) { + return arguments.length ? ((o = !!e), d()) : o; + }), + (i.padding = function (e) { + return arguments.length ? ((a = Math.min(1, (l = +e))), d()) : a; + }), + (i.paddingInner = function (e) { + return arguments.length ? ((a = Math.min(1, e)), d()) : a; + }), + (i.paddingOuter = function (e) { + return arguments.length ? ((l = +e), d()) : l; + }), + (i.align = function (e) { + return arguments.length + ? ((c = Math.max(0, Math.min(1, e))), d()) + : c; + }), + (i.copy = function () { + return up(n(), s) + .round(o) + .paddingInner(a) + .paddingOuter(l) + .align(c); + }), + sp.apply(d(), arguments) + ); + } + function gp(e) { + var t = e.copy; + return ( + (e.padding = e.paddingOuter), + delete e.paddingInner, + delete e.paddingOuter, + (e.copy = function () { + return gp(t()); + }), + e + ); + } + function fp() { + return gp(up.apply(null, arguments).paddingInner(1)); + } + function pp(e) { + return +e; + } + var mp = [0, 1]; + function _p(e) { + return e; + } + function bp(e, t) { + return (t -= e = +e) + ? function (i) { + return (i - e) / t; + } + : ((i = isNaN(t) ? NaN : 0.5), + function () { + return i; + }); + var i; + } + function vp(e) { + var t, + i = e[0], + n = e[e.length - 1]; + return ( + i > n && ((t = i), (i = n), (n = t)), + function (e) { + return Math.max(i, Math.min(n, e)); + } + ); + } + function yp(e, t, i) { + var n = e[0], + r = e[1], + s = t[0], + o = t[1]; + return ( + r < n + ? ((n = bp(r, n)), (s = i(o, s))) + : ((n = bp(n, r)), (s = i(s, o))), + function (e) { + return s(n(e)); + } + ); + } + function wp(e, t, i) { + var n = Math.min(e.length, t.length) - 1, + r = new Array(n), + s = new Array(n), + o = -1; + for ( + e[n] < e[0] && + ((e = e.slice().reverse()), (t = t.slice().reverse())); + ++o < n; + + ) + (r[o] = bp(e[o], e[o + 1])), (s[o] = i(t[o], t[o + 1])); + return function (t) { + var i = c(e, t, 1, n) - 1; + return s[i](r[i](t)); + }; + } + function Cp(e, t) { + return t + .domain(e.domain()) + .range(e.range()) + .interpolate(e.interpolate()) + .clamp(e.clamp()) + .unknown(e.unknown()); + } + function Sp() { + var e, + t, + i, + n, + r, + s, + o = mp, + a = mp, + l = Di, + c = _p; + function d() { + return ( + (n = Math.min(o.length, a.length) > 2 ? wp : yp), + (r = s = null), + h + ); + } + function h(t) { + return isNaN((t = +t)) + ? i + : (r || (r = n(o.map(e), a, l)))(e(c(t))); + } + return ( + (h.invert = function (i) { + return c(t((s || (s = n(a, o.map(e), Si)))(i))); + }), + (h.domain = function (e) { + return arguments.length + ? ((o = lp.call(e, pp)), c === _p || (c = vp(o)), d()) + : o.slice(); + }), + (h.range = function (e) { + return arguments.length ? ((a = cp.call(e)), d()) : a.slice(); + }), + (h.rangeRound = function (e) { + return (a = cp.call(e)), (l = Df), d(); + }), + (h.clamp = function (e) { + return arguments.length ? ((c = e ? vp(o) : _p), h) : c !== _p; + }), + (h.interpolate = function (e) { + return arguments.length ? ((l = e), d()) : l; + }), + (h.unknown = function (e) { + return arguments.length ? ((i = e), h) : i; + }), + function (i, n) { + return (e = i), (t = n), d(); + } + ); + } + function kp(e, t) { + return Sp()(e, t); + } + function xp(e, t, i, n) { + var r, + s = N(e, t, i); + switch ((n = al(null == n ? ',f' : n)).type) { + case 's': + var o = Math.max(Math.abs(e), Math.abs(t)); + return ( + null != n.precision || + isNaN((r = yl(s, o))) || + (n.precision = r), + fl(n, o) + ); + case '': + case 'e': + case 'g': + case 'p': + case 'r': + null != n.precision || + isNaN((r = wl(s, Math.max(Math.abs(e), Math.abs(t))))) || + (n.precision = r - ('e' === n.type)); + break; + case 'f': + case '%': + null != n.precision || + isNaN((r = vl(s))) || + (n.precision = r - 2 * ('%' === n.type)); + } + return gl(n); + } + function Lp(e) { + var t = e.domain; + return ( + (e.ticks = function (e) { + var i = t(); + return M(i[0], i[i.length - 1], null == e ? 10 : e); + }), + (e.tickFormat = function (e, i) { + var n = t(); + return xp(n[0], n[n.length - 1], null == e ? 10 : e, i); + }), + (e.nice = function (i) { + null == i && (i = 10); + var n, + r = t(), + s = 0, + o = r.length - 1, + a = r[s], + l = r[o]; + return ( + l < a && ((n = a), (a = l), (l = n), (n = s), (s = o), (o = n)), + (n = D(a, l, i)) > 0 + ? (n = D( + (a = Math.floor(a / n) * n), + (l = Math.ceil(l / n) * n), + i + )) + : n < 0 && + (n = D( + (a = Math.ceil(a * n) / n), + (l = Math.floor(l * n) / n), + i + )), + n > 0 + ? ((r[s] = Math.floor(a / n) * n), + (r[o] = Math.ceil(l / n) * n), + t(r)) + : n < 0 && + ((r[s] = Math.ceil(a * n) / n), + (r[o] = Math.floor(l * n) / n), + t(r)), + e + ); + }), + e + ); + } + function Mp() { + var e = kp(_p, _p); + return ( + (e.copy = function () { + return Cp(e, Mp()); + }), + sp.apply(e, arguments), + Lp(e) + ); + } + function Dp(e) { + var t; + function i(e) { + return isNaN((e = +e)) ? t : e; + } + return ( + (i.invert = i), + (i.domain = i.range = function (t) { + return arguments.length ? ((e = lp.call(t, pp)), i) : e.slice(); + }), + (i.unknown = function (e) { + return arguments.length ? ((t = e), i) : t; + }), + (i.copy = function () { + return Dp(e).unknown(t); + }), + (e = arguments.length ? lp.call(e, pp) : [0, 1]), + Lp(i) + ); + } + function Np(e, t) { + var i, + n = 0, + r = (e = e.slice()).length - 1, + s = e[n], + o = e[r]; + return ( + o < s && ((i = n), (n = r), (r = i), (i = s), (s = o), (o = i)), + (e[n] = t.floor(s)), + (e[r] = t.ceil(o)), + e + ); + } + function Ep(e) { + return Math.log(e); + } + function Tp(e) { + return Math.exp(e); + } + function Ip(e) { + return -Math.log(-e); + } + function Op(e) { + return -Math.exp(-e); + } + function Ap(e) { + return isFinite(e) ? +('1e' + e) : e < 0 ? 0 : e; + } + function Rp(e) { + return function (t) { + return -e(-t); + }; + } + function Pp(e) { + var t, + i, + n = e(Ep, Tp), + r = n.domain, + s = 10; + function o() { + return ( + (t = (function (e) { + return e === Math.E + ? Math.log + : (10 === e && Math.log10) || + (2 === e && Math.log2) || + ((e = Math.log(e)), + function (t) { + return Math.log(t) / e; + }); + })(s)), + (i = (function (e) { + return 10 === e + ? Ap + : e === Math.E + ? Math.exp + : function (t) { + return Math.pow(e, t); + }; + })(s)), + r()[0] < 0 ? ((t = Rp(t)), (i = Rp(i)), e(Ip, Op)) : e(Ep, Tp), + n + ); + } + return ( + (n.base = function (e) { + return arguments.length ? ((s = +e), o()) : s; + }), + (n.domain = function (e) { + return arguments.length ? (r(e), o()) : r(); + }), + (n.ticks = function (e) { + var n, + o = r(), + a = o[0], + l = o[o.length - 1]; + (n = l < a) && ((u = a), (a = l), (l = u)); + var c, + d, + h, + u = t(a), + g = t(l), + f = null == e ? 10 : +e, + p = []; + if (!(s % 1) && g - u < f) { + if (((u = Math.round(u) - 1), (g = Math.round(g) + 1), a > 0)) { + for (; u < g; ++u) + for (d = 1, c = i(u); d < s; ++d) + if (!((h = c * d) < a)) { + if (h > l) break; + p.push(h); + } + } else + for (; u < g; ++u) + for (d = s - 1, c = i(u); d >= 1; --d) + if (!((h = c * d) < a)) { + if (h > l) break; + p.push(h); + } + } else p = M(u, g, Math.min(g - u, f)).map(i); + return n ? p.reverse() : p; + }), + (n.tickFormat = function (e, r) { + if ( + (null == r && (r = 10 === s ? '.0e' : ','), + 'function' != typeof r && (r = gl(r)), + e === 1 / 0) + ) + return r; + null == e && (e = 10); + var o = Math.max(1, (s * e) / n.ticks().length); + return function (e) { + var n = e / i(Math.round(t(e))); + return n * s < s - 0.5 && (n *= s), n <= o ? r(e) : ''; + }; + }), + (n.nice = function () { + return r( + Np(r(), { + floor: function (e) { + return i(Math.floor(t(e))); + }, + ceil: function (e) { + return i(Math.ceil(t(e))); + }, + }) + ); + }), + n + ); + } + function Fp() { + var e = Pp(Sp()).domain([1, 10]); + return ( + (e.copy = function () { + return Cp(e, Fp()).base(e.base()); + }), + sp.apply(e, arguments), + e + ); + } + function Bp(e) { + return function (t) { + return Math.sign(t) * Math.log1p(Math.abs(t / e)); + }; + } + function Wp(e) { + return function (t) { + return Math.sign(t) * Math.expm1(Math.abs(t)) * e; + }; + } + function Yp(e) { + var t = 1, + i = e(Bp(t), Wp(t)); + return ( + (i.constant = function (i) { + return arguments.length ? e(Bp((t = +i)), Wp(t)) : t; + }), + Lp(i) + ); + } + function Hp() { + var e = Yp(Sp()); + return ( + (e.copy = function () { + return Cp(e, Hp()).constant(e.constant()); + }), + sp.apply(e, arguments) + ); + } + function jp(e) { + return function (t) { + return t < 0 ? -Math.pow(-t, e) : Math.pow(t, e); + }; + } + function Vp(e) { + return e < 0 ? -Math.sqrt(-e) : Math.sqrt(e); + } + function zp(e) { + return e < 0 ? -e * e : e * e; + } + function Up(e) { + var t = e(_p, _p), + i = 1; + function n() { + return 1 === i + ? e(_p, _p) + : 0.5 === i + ? e(Vp, zp) + : e(jp(i), jp(1 / i)); + } + return ( + (t.exponent = function (e) { + return arguments.length ? ((i = +e), n()) : i; + }), + Lp(t) + ); + } + function $p() { + var e = Up(Sp()); + return ( + (e.copy = function () { + return Cp(e, $p()).exponent(e.exponent()); + }), + sp.apply(e, arguments), + e + ); + } + function Kp() { + return $p.apply(null, arguments).exponent(0.5); + } + function qp() { + var e, + t = [], + i = [], + n = []; + function s() { + var e = 0, + r = Math.max(1, i.length); + for (n = new Array(r - 1); ++e < r; ) n[e - 1] = I(t, e / r); + return o; + } + function o(t) { + return isNaN((t = +t)) ? e : i[c(n, t)]; + } + return ( + (o.invertExtent = function (e) { + var r = i.indexOf(e); + return r < 0 + ? [NaN, NaN] + : [ + r > 0 ? n[r - 1] : t[0], + r < n.length ? n[r] : t[t.length - 1], + ]; + }), + (o.domain = function (e) { + if (!arguments.length) return t.slice(); + t = []; + for (var i, n = 0, o = e.length; n < o; ++n) + null == (i = e[n]) || isNaN((i = +i)) || t.push(i); + return t.sort(r), s(); + }), + (o.range = function (e) { + return arguments.length ? ((i = cp.call(e)), s()) : i.slice(); + }), + (o.unknown = function (t) { + return arguments.length ? ((e = t), o) : e; + }), + (o.quantiles = function () { + return n.slice(); + }), + (o.copy = function () { + return qp().domain(t).range(i).unknown(e); + }), + sp.apply(o, arguments) + ); + } + function Gp() { + var e, + t = 0, + i = 1, + n = 1, + r = [0.5], + s = [0, 1]; + function o(t) { + return t <= t ? s[c(r, t, 0, n)] : e; + } + function a() { + var e = -1; + for (r = new Array(n); ++e < n; ) + r[e] = ((e + 1) * i - (e - n) * t) / (n + 1); + return o; + } + return ( + (o.domain = function (e) { + return arguments.length + ? ((t = +e[0]), (i = +e[1]), a()) + : [t, i]; + }), + (o.range = function (e) { + return arguments.length + ? ((n = (s = cp.call(e)).length - 1), a()) + : s.slice(); + }), + (o.invertExtent = function (e) { + var o = s.indexOf(e); + return o < 0 + ? [NaN, NaN] + : o < 1 + ? [t, r[0]] + : o >= n + ? [r[n - 1], i] + : [r[o - 1], r[o]]; + }), + (o.unknown = function (t) { + return arguments.length ? ((e = t), o) : o; + }), + (o.thresholds = function () { + return r.slice(); + }), + (o.copy = function () { + return Gp().domain([t, i]).range(s).unknown(e); + }), + sp.apply(Lp(o), arguments) + ); + } + function Zp() { + var e, + t = [0.5], + i = [0, 1], + n = 1; + function r(r) { + return r <= r ? i[c(t, r, 0, n)] : e; + } + return ( + (r.domain = function (e) { + return arguments.length + ? ((t = cp.call(e)), (n = Math.min(t.length, i.length - 1)), r) + : t.slice(); + }), + (r.range = function (e) { + return arguments.length + ? ((i = cp.call(e)), (n = Math.min(t.length, i.length - 1)), r) + : i.slice(); + }), + (r.invertExtent = function (e) { + var n = i.indexOf(e); + return [t[n - 1], t[n]]; + }), + (r.unknown = function (t) { + return arguments.length ? ((e = t), r) : e; + }), + (r.copy = function () { + return Zp().domain(t).range(i).unknown(e); + }), + sp.apply(r, arguments) + ); + } + var Jp = new Date(), + Qp = new Date(); + function Xp(e, t, i, n) { + function r(t) { + return ( + e((t = 0 === arguments.length ? new Date() : new Date(+t))), t + ); + } + return ( + (r.floor = function (t) { + return e((t = new Date(+t))), t; + }), + (r.ceil = function (i) { + return e((i = new Date(i - 1))), t(i, 1), e(i), i; + }), + (r.round = function (e) { + var t = r(e), + i = r.ceil(e); + return e - t < i - e ? t : i; + }), + (r.offset = function (e, i) { + return t((e = new Date(+e)), null == i ? 1 : Math.floor(i)), e; + }), + (r.range = function (i, n, s) { + var o, + a = []; + if ( + ((i = r.ceil(i)), + (s = null == s ? 1 : Math.floor(s)), + !(i < n && s > 0)) + ) + return a; + do { + a.push((o = new Date(+i))), t(i, s), e(i); + } while (o < i && i < n); + return a; + }), + (r.filter = function (i) { + return Xp( + function (t) { + if (t >= t) for (; e(t), !i(t); ) t.setTime(t - 1); + }, + function (e, n) { + if (e >= e) + if (n < 0) for (; ++n <= 0; ) for (; t(e, -1), !i(e); ); + else for (; --n >= 0; ) for (; t(e, 1), !i(e); ); + } + ); + }), + i && + ((r.count = function (t, n) { + return ( + Jp.setTime(+t), + Qp.setTime(+n), + e(Jp), + e(Qp), + Math.floor(i(Jp, Qp)) + ); + }), + (r.every = function (e) { + return ( + (e = Math.floor(e)), + isFinite(e) && e > 0 + ? e > 1 + ? r.filter( + n + ? function (t) { + return n(t) % e == 0; + } + : function (t) { + return r.count(0, t) % e == 0; + } + ) + : r + : null + ); + })), + r + ); + } + var em = Xp( + function (e) { + e.setMonth(0, 1), e.setHours(0, 0, 0, 0); + }, + function (e, t) { + e.setFullYear(e.getFullYear() + t); + }, + function (e, t) { + return t.getFullYear() - e.getFullYear(); + }, + function (e) { + return e.getFullYear(); + } + ); + em.every = function (e) { + return isFinite((e = Math.floor(e))) && e > 0 + ? Xp( + function (t) { + t.setFullYear(Math.floor(t.getFullYear() / e) * e), + t.setMonth(0, 1), + t.setHours(0, 0, 0, 0); + }, + function (t, i) { + t.setFullYear(t.getFullYear() + i * e); + } + ) + : null; + }; + const tm = em; + var im = em.range, + nm = Xp( + function (e) { + e.setDate(1), e.setHours(0, 0, 0, 0); + }, + function (e, t) { + e.setMonth(e.getMonth() + t); + }, + function (e, t) { + return ( + t.getMonth() - + e.getMonth() + + 12 * (t.getFullYear() - e.getFullYear()) + ); + }, + function (e) { + return e.getMonth(); + } + ); + const rm = nm; + var sm = nm.range, + om = 1e3, + am = 6e4, + lm = 36e5, + cm = 864e5, + dm = 6048e5; + function hm(e) { + return Xp( + function (t) { + t.setDate(t.getDate() - ((t.getDay() + 7 - e) % 7)), + t.setHours(0, 0, 0, 0); + }, + function (e, t) { + e.setDate(e.getDate() + 7 * t); + }, + function (e, t) { + return ( + (t - e - (t.getTimezoneOffset() - e.getTimezoneOffset()) * am) / + dm + ); + } + ); + } + var um = hm(0), + gm = hm(1), + fm = hm(2), + pm = hm(3), + mm = hm(4), + _m = hm(5), + bm = hm(6), + vm = um.range, + ym = gm.range, + wm = fm.range, + Cm = pm.range, + Sm = mm.range, + km = _m.range, + xm = bm.range, + Lm = Xp( + function (e) { + e.setHours(0, 0, 0, 0); + }, + function (e, t) { + e.setDate(e.getDate() + t); + }, + function (e, t) { + return ( + (t - e - (t.getTimezoneOffset() - e.getTimezoneOffset()) * am) / + cm + ); + }, + function (e) { + return e.getDate() - 1; + } + ); + const Mm = Lm; + var Dm = Lm.range, + Nm = Xp( + function (e) { + e.setTime( + e - + e.getMilliseconds() - + e.getSeconds() * om - + e.getMinutes() * am + ); + }, + function (e, t) { + e.setTime(+e + t * lm); + }, + function (e, t) { + return (t - e) / lm; + }, + function (e) { + return e.getHours(); + } + ); + const Em = Nm; + var Tm = Nm.range, + Im = Xp( + function (e) { + e.setTime(e - e.getMilliseconds() - e.getSeconds() * om); + }, + function (e, t) { + e.setTime(+e + t * am); + }, + function (e, t) { + return (t - e) / am; + }, + function (e) { + return e.getMinutes(); + } + ); + const Om = Im; + var Am = Im.range, + Rm = Xp( + function (e) { + e.setTime(e - e.getMilliseconds()); + }, + function (e, t) { + e.setTime(+e + t * om); + }, + function (e, t) { + return (t - e) / om; + }, + function (e) { + return e.getUTCSeconds(); + } + ); + const Pm = Rm; + var Fm = Rm.range, + Bm = Xp( + function () {}, + function (e, t) { + e.setTime(+e + t); + }, + function (e, t) { + return t - e; + } + ); + Bm.every = function (e) { + return ( + (e = Math.floor(e)), + isFinite(e) && e > 0 + ? e > 1 + ? Xp( + function (t) { + t.setTime(Math.floor(t / e) * e); + }, + function (t, i) { + t.setTime(+t + i * e); + }, + function (t, i) { + return (i - t) / e; + } + ) + : Bm + : null + ); + }; + const Wm = Bm; + var Ym = Bm.range; + function Hm(e) { + return Xp( + function (t) { + t.setUTCDate(t.getUTCDate() - ((t.getUTCDay() + 7 - e) % 7)), + t.setUTCHours(0, 0, 0, 0); + }, + function (e, t) { + e.setUTCDate(e.getUTCDate() + 7 * t); + }, + function (e, t) { + return (t - e) / dm; + } + ); + } + var jm = Hm(0), + Vm = Hm(1), + zm = Hm(2), + Um = Hm(3), + $m = Hm(4), + Km = Hm(5), + qm = Hm(6), + Gm = jm.range, + Zm = Vm.range, + Jm = zm.range, + Qm = Um.range, + Xm = $m.range, + e_ = Km.range, + t_ = qm.range, + i_ = Xp( + function (e) { + e.setUTCHours(0, 0, 0, 0); + }, + function (e, t) { + e.setUTCDate(e.getUTCDate() + t); + }, + function (e, t) { + return (t - e) / cm; + }, + function (e) { + return e.getUTCDate() - 1; + } + ); + const n_ = i_; + var r_ = i_.range, + s_ = Xp( + function (e) { + e.setUTCMonth(0, 1), e.setUTCHours(0, 0, 0, 0); + }, + function (e, t) { + e.setUTCFullYear(e.getUTCFullYear() + t); + }, + function (e, t) { + return t.getUTCFullYear() - e.getUTCFullYear(); + }, + function (e) { + return e.getUTCFullYear(); + } + ); + s_.every = function (e) { + return isFinite((e = Math.floor(e))) && e > 0 + ? Xp( + function (t) { + t.setUTCFullYear(Math.floor(t.getUTCFullYear() / e) * e), + t.setUTCMonth(0, 1), + t.setUTCHours(0, 0, 0, 0); + }, + function (t, i) { + t.setUTCFullYear(t.getUTCFullYear() + i * e); + } + ) + : null; + }; + const o_ = s_; + var a_ = s_.range; + function l_(e) { + if (0 <= e.y && e.y < 100) { + var t = new Date(-1, e.m, e.d, e.H, e.M, e.S, e.L); + return t.setFullYear(e.y), t; + } + return new Date(e.y, e.m, e.d, e.H, e.M, e.S, e.L); + } + function c_(e) { + if (0 <= e.y && e.y < 100) { + var t = new Date(Date.UTC(-1, e.m, e.d, e.H, e.M, e.S, e.L)); + return t.setUTCFullYear(e.y), t; + } + return new Date(Date.UTC(e.y, e.m, e.d, e.H, e.M, e.S, e.L)); + } + function d_(e, t, i) { + return { y: e, m: t, d: i, H: 0, M: 0, S: 0, L: 0 }; + } + function h_(e) { + var t = e.dateTime, + i = e.date, + n = e.time, + r = e.periods, + s = e.days, + o = e.shortDays, + a = e.months, + l = e.shortMonths, + c = S_(r), + d = k_(r), + h = S_(s), + u = k_(s), + g = S_(o), + f = k_(o), + p = S_(a), + m = k_(a), + _ = S_(l), + b = k_(l), + v = { + a: function (e) { + return o[e.getDay()]; + }, + A: function (e) { + return s[e.getDay()]; + }, + b: function (e) { + return l[e.getMonth()]; + }, + B: function (e) { + return a[e.getMonth()]; + }, + c: null, + d: U_, + e: U_, + f: Z_, + H: $_, + I: K_, + j: q_, + L: G_, + m: J_, + M: Q_, + p: function (e) { + return r[+(e.getHours() >= 12)]; + }, + q: function (e) { + return 1 + ~~(e.getMonth() / 3); + }, + Q: Lb, + s: Mb, + S: X_, + u: eb, + U: tb, + V: ib, + w: nb, + W: rb, + x: null, + X: null, + y: sb, + Y: ob, + Z: ab, + '%': xb, + }, + y = { + a: function (e) { + return o[e.getUTCDay()]; + }, + A: function (e) { + return s[e.getUTCDay()]; + }, + b: function (e) { + return l[e.getUTCMonth()]; + }, + B: function (e) { + return a[e.getUTCMonth()]; + }, + c: null, + d: lb, + e: lb, + f: gb, + H: cb, + I: db, + j: hb, + L: ub, + m: fb, + M: pb, + p: function (e) { + return r[+(e.getUTCHours() >= 12)]; + }, + q: function (e) { + return 1 + ~~(e.getUTCMonth() / 3); + }, + Q: Lb, + s: Mb, + S: mb, + u: _b, + U: bb, + V: vb, + w: yb, + W: wb, + x: null, + X: null, + y: Cb, + Y: Sb, + Z: kb, + '%': xb, + }, + w = { + a: function (e, t, i) { + var n = g.exec(t.slice(i)); + return n + ? ((e.w = f[n[0].toLowerCase()]), i + n[0].length) + : -1; + }, + A: function (e, t, i) { + var n = h.exec(t.slice(i)); + return n + ? ((e.w = u[n[0].toLowerCase()]), i + n[0].length) + : -1; + }, + b: function (e, t, i) { + var n = _.exec(t.slice(i)); + return n + ? ((e.m = b[n[0].toLowerCase()]), i + n[0].length) + : -1; + }, + B: function (e, t, i) { + var n = p.exec(t.slice(i)); + return n + ? ((e.m = m[n[0].toLowerCase()]), i + n[0].length) + : -1; + }, + c: function (e, i, n) { + return k(e, t, i, n); + }, + d: R_, + e: R_, + f: H_, + H: F_, + I: F_, + j: P_, + L: Y_, + m: A_, + M: B_, + p: function (e, t, i) { + var n = c.exec(t.slice(i)); + return n + ? ((e.p = d[n[0].toLowerCase()]), i + n[0].length) + : -1; + }, + q: O_, + Q: V_, + s: z_, + S: W_, + u: L_, + U: M_, + V: D_, + w: x_, + W: N_, + x: function (e, t, n) { + return k(e, i, t, n); + }, + X: function (e, t, i) { + return k(e, n, t, i); + }, + y: T_, + Y: E_, + Z: I_, + '%': j_, + }; + function C(e, t) { + return function (i) { + var n, + r, + s, + o = [], + a = -1, + l = 0, + c = e.length; + for (i instanceof Date || (i = new Date(+i)); ++a < c; ) + 37 === e.charCodeAt(a) && + (o.push(e.slice(l, a)), + null != (r = __[(n = e.charAt(++a))]) + ? (n = e.charAt(++a)) + : (r = 'e' === n ? ' ' : '0'), + (s = t[n]) && (n = s(i, r)), + o.push(n), + (l = a + 1)); + return o.push(e.slice(l, a)), o.join(''); + }; + } + function S(e, t) { + return function (i) { + var n, + r, + s = d_(1900, void 0, 1); + if (k(s, e, (i += ''), 0) != i.length) return null; + if ('Q' in s) return new Date(s.Q); + if ('s' in s) return new Date(1e3 * s.s + ('L' in s ? s.L : 0)); + if ( + (t && !('Z' in s) && (s.Z = 0), + 'p' in s && (s.H = (s.H % 12) + 12 * s.p), + void 0 === s.m && (s.m = 'q' in s ? s.q : 0), + 'V' in s) + ) { + if (s.V < 1 || s.V > 53) return null; + 'w' in s || (s.w = 1), + 'Z' in s + ? ((r = (n = c_(d_(s.y, 0, 1))).getUTCDay()), + (n = r > 4 || 0 === r ? Vm.ceil(n) : Vm(n)), + (n = n_.offset(n, 7 * (s.V - 1))), + (s.y = n.getUTCFullYear()), + (s.m = n.getUTCMonth()), + (s.d = n.getUTCDate() + ((s.w + 6) % 7))) + : ((r = (n = l_(d_(s.y, 0, 1))).getDay()), + (n = r > 4 || 0 === r ? gm.ceil(n) : gm(n)), + (n = Mm.offset(n, 7 * (s.V - 1))), + (s.y = n.getFullYear()), + (s.m = n.getMonth()), + (s.d = n.getDate() + ((s.w + 6) % 7))); + } else + ('W' in s || 'U' in s) && + ('w' in s || (s.w = 'u' in s ? s.u % 7 : 'W' in s ? 1 : 0), + (r = + 'Z' in s + ? c_(d_(s.y, 0, 1)).getUTCDay() + : l_(d_(s.y, 0, 1)).getDay()), + (s.m = 0), + (s.d = + 'W' in s + ? ((s.w + 6) % 7) + 7 * s.W - ((r + 5) % 7) + : s.w + 7 * s.U - ((r + 6) % 7))); + return 'Z' in s + ? ((s.H += (s.Z / 100) | 0), (s.M += s.Z % 100), c_(s)) + : l_(s); + }; + } + function k(e, t, i, n) { + for (var r, s, o = 0, a = t.length, l = i.length; o < a; ) { + if (n >= l) return -1; + if (37 === (r = t.charCodeAt(o++))) { + if ( + ((r = t.charAt(o++)), + !(s = w[r in __ ? t.charAt(o++) : r]) || (n = s(e, i, n)) < 0) + ) + return -1; + } else if (r != i.charCodeAt(n++)) return -1; + } + return n; + } + return ( + (v.x = C(i, v)), + (v.X = C(n, v)), + (v.c = C(t, v)), + (y.x = C(i, y)), + (y.X = C(n, y)), + (y.c = C(t, y)), + { + format: function (e) { + var t = C((e += ''), v); + return ( + (t.toString = function () { + return e; + }), + t + ); + }, + parse: function (e) { + var t = S((e += ''), !1); + return ( + (t.toString = function () { + return e; + }), + t + ); + }, + utcFormat: function (e) { + var t = C((e += ''), y); + return ( + (t.toString = function () { + return e; + }), + t + ); + }, + utcParse: function (e) { + var t = S((e += ''), !0); + return ( + (t.toString = function () { + return e; + }), + t + ); + }, + } + ); + } + var u_, + g_, + f_, + p_, + m_, + __ = { '-': '', _: ' ', 0: '0' }, + b_ = /^\s*\d+/, + v_ = /^%/, + y_ = /[\\^$*+?|[\]().{}]/g; + function w_(e, t, i) { + var n = e < 0 ? '-' : '', + r = (n ? -e : e) + '', + s = r.length; + return n + (s < i ? new Array(i - s + 1).join(t) + r : r); + } + function C_(e) { + return e.replace(y_, '\\$&'); + } + function S_(e) { + return new RegExp('^(?:' + e.map(C_).join('|') + ')', 'i'); + } + function k_(e) { + for (var t = {}, i = -1, n = e.length; ++i < n; ) + t[e[i].toLowerCase()] = i; + return t; + } + function x_(e, t, i) { + var n = b_.exec(t.slice(i, i + 1)); + return n ? ((e.w = +n[0]), i + n[0].length) : -1; + } + function L_(e, t, i) { + var n = b_.exec(t.slice(i, i + 1)); + return n ? ((e.u = +n[0]), i + n[0].length) : -1; + } + function M_(e, t, i) { + var n = b_.exec(t.slice(i, i + 2)); + return n ? ((e.U = +n[0]), i + n[0].length) : -1; + } + function D_(e, t, i) { + var n = b_.exec(t.slice(i, i + 2)); + return n ? ((e.V = +n[0]), i + n[0].length) : -1; + } + function N_(e, t, i) { + var n = b_.exec(t.slice(i, i + 2)); + return n ? ((e.W = +n[0]), i + n[0].length) : -1; + } + function E_(e, t, i) { + var n = b_.exec(t.slice(i, i + 4)); + return n ? ((e.y = +n[0]), i + n[0].length) : -1; + } + function T_(e, t, i) { + var n = b_.exec(t.slice(i, i + 2)); + return n + ? ((e.y = +n[0] + (+n[0] > 68 ? 1900 : 2e3)), i + n[0].length) + : -1; + } + function I_(e, t, i) { + var n = /^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(i, i + 6)); + return n + ? ((e.Z = n[1] ? 0 : -(n[2] + (n[3] || '00'))), i + n[0].length) + : -1; + } + function O_(e, t, i) { + var n = b_.exec(t.slice(i, i + 1)); + return n ? ((e.q = 3 * n[0] - 3), i + n[0].length) : -1; + } + function A_(e, t, i) { + var n = b_.exec(t.slice(i, i + 2)); + return n ? ((e.m = n[0] - 1), i + n[0].length) : -1; + } + function R_(e, t, i) { + var n = b_.exec(t.slice(i, i + 2)); + return n ? ((e.d = +n[0]), i + n[0].length) : -1; + } + function P_(e, t, i) { + var n = b_.exec(t.slice(i, i + 3)); + return n ? ((e.m = 0), (e.d = +n[0]), i + n[0].length) : -1; + } + function F_(e, t, i) { + var n = b_.exec(t.slice(i, i + 2)); + return n ? ((e.H = +n[0]), i + n[0].length) : -1; + } + function B_(e, t, i) { + var n = b_.exec(t.slice(i, i + 2)); + return n ? ((e.M = +n[0]), i + n[0].length) : -1; + } + function W_(e, t, i) { + var n = b_.exec(t.slice(i, i + 2)); + return n ? ((e.S = +n[0]), i + n[0].length) : -1; + } + function Y_(e, t, i) { + var n = b_.exec(t.slice(i, i + 3)); + return n ? ((e.L = +n[0]), i + n[0].length) : -1; + } + function H_(e, t, i) { + var n = b_.exec(t.slice(i, i + 6)); + return n ? ((e.L = Math.floor(n[0] / 1e3)), i + n[0].length) : -1; + } + function j_(e, t, i) { + var n = v_.exec(t.slice(i, i + 1)); + return n ? i + n[0].length : -1; + } + function V_(e, t, i) { + var n = b_.exec(t.slice(i)); + return n ? ((e.Q = +n[0]), i + n[0].length) : -1; + } + function z_(e, t, i) { + var n = b_.exec(t.slice(i)); + return n ? ((e.s = +n[0]), i + n[0].length) : -1; + } + function U_(e, t) { + return w_(e.getDate(), t, 2); + } + function $_(e, t) { + return w_(e.getHours(), t, 2); + } + function K_(e, t) { + return w_(e.getHours() % 12 || 12, t, 2); + } + function q_(e, t) { + return w_(1 + Mm.count(tm(e), e), t, 3); + } + function G_(e, t) { + return w_(e.getMilliseconds(), t, 3); + } + function Z_(e, t) { + return G_(e, t) + '000'; + } + function J_(e, t) { + return w_(e.getMonth() + 1, t, 2); + } + function Q_(e, t) { + return w_(e.getMinutes(), t, 2); + } + function X_(e, t) { + return w_(e.getSeconds(), t, 2); + } + function eb(e) { + var t = e.getDay(); + return 0 === t ? 7 : t; + } + function tb(e, t) { + return w_(um.count(tm(e) - 1, e), t, 2); + } + function ib(e, t) { + var i = e.getDay(); + return ( + (e = i >= 4 || 0 === i ? mm(e) : mm.ceil(e)), + w_(mm.count(tm(e), e) + (4 === tm(e).getDay()), t, 2) + ); + } + function nb(e) { + return e.getDay(); + } + function rb(e, t) { + return w_(gm.count(tm(e) - 1, e), t, 2); + } + function sb(e, t) { + return w_(e.getFullYear() % 100, t, 2); + } + function ob(e, t) { + return w_(e.getFullYear() % 1e4, t, 4); + } + function ab(e) { + var t = e.getTimezoneOffset(); + return ( + (t > 0 ? '-' : ((t *= -1), '+')) + + w_((t / 60) | 0, '0', 2) + + w_(t % 60, '0', 2) + ); + } + function lb(e, t) { + return w_(e.getUTCDate(), t, 2); + } + function cb(e, t) { + return w_(e.getUTCHours(), t, 2); + } + function db(e, t) { + return w_(e.getUTCHours() % 12 || 12, t, 2); + } + function hb(e, t) { + return w_(1 + n_.count(o_(e), e), t, 3); + } + function ub(e, t) { + return w_(e.getUTCMilliseconds(), t, 3); + } + function gb(e, t) { + return ub(e, t) + '000'; + } + function fb(e, t) { + return w_(e.getUTCMonth() + 1, t, 2); + } + function pb(e, t) { + return w_(e.getUTCMinutes(), t, 2); + } + function mb(e, t) { + return w_(e.getUTCSeconds(), t, 2); + } + function _b(e) { + var t = e.getUTCDay(); + return 0 === t ? 7 : t; + } + function bb(e, t) { + return w_(jm.count(o_(e) - 1, e), t, 2); + } + function vb(e, t) { + var i = e.getUTCDay(); + return ( + (e = i >= 4 || 0 === i ? $m(e) : $m.ceil(e)), + w_($m.count(o_(e), e) + (4 === o_(e).getUTCDay()), t, 2) + ); + } + function yb(e) { + return e.getUTCDay(); + } + function wb(e, t) { + return w_(Vm.count(o_(e) - 1, e), t, 2); + } + function Cb(e, t) { + return w_(e.getUTCFullYear() % 100, t, 2); + } + function Sb(e, t) { + return w_(e.getUTCFullYear() % 1e4, t, 4); + } + function kb() { + return '+0000'; + } + function xb() { + return '%'; + } + function Lb(e) { + return +e; + } + function Mb(e) { + return Math.floor(+e / 1e3); + } + function Db(e) { + return ( + (u_ = h_(e)), + (g_ = u_.format), + (f_ = u_.parse), + (p_ = u_.utcFormat), + (m_ = u_.utcParse), + u_ + ); + } + Db({ + dateTime: '%x, %X', + date: '%-m/%-d/%Y', + time: '%-I:%M:%S %p', + periods: ['AM', 'PM'], + days: [ + 'Sunday', + 'Monday', + 'Tuesday', + 'Wednesday', + 'Thursday', + 'Friday', + 'Saturday', + ], + shortDays: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + months: [ + 'January', + 'February', + 'March', + 'April', + 'May', + 'June', + 'July', + 'August', + 'September', + 'October', + 'November', + 'December', + ], + shortMonths: [ + 'Jan', + 'Feb', + 'Mar', + 'Apr', + 'May', + 'Jun', + 'Jul', + 'Aug', + 'Sep', + 'Oct', + 'Nov', + 'Dec', + ], + }); + var Nb = 31536e6; + function Eb(e) { + return new Date(e); + } + function Tb(e) { + return e instanceof Date ? +e : +new Date(+e); + } + function Ib(e, t, i, n, r, o, a, l, c) { + var d = kp(_p, _p), + h = d.invert, + u = d.domain, + g = c('.%L'), + f = c(':%S'), + p = c('%I:%M'), + m = c('%I %p'), + _ = c('%a %d'), + b = c('%b %d'), + v = c('%B'), + y = c('%Y'), + w = [ + [a, 1, 1e3], + [a, 5, 5e3], + [a, 15, 15e3], + [a, 30, 3e4], + [o, 1, 6e4], + [o, 5, 3e5], + [o, 15, 9e5], + [o, 30, 18e5], + [r, 1, 36e5], + [r, 3, 108e5], + [r, 6, 216e5], + [r, 12, 432e5], + [n, 1, 864e5], + [n, 2, 1728e5], + [i, 1, 6048e5], + [t, 1, 2592e6], + [t, 3, 7776e6], + [e, 1, Nb], + ]; + function C(s) { + return (a(s) < s + ? g + : o(s) < s + ? f + : r(s) < s + ? p + : n(s) < s + ? m + : t(s) < s + ? i(s) < s + ? _ + : b + : e(s) < s + ? v + : y)(s); + } + function S(t, i, n, r) { + if ((null == t && (t = 10), 'number' == typeof t)) { + var o = Math.abs(n - i) / t, + a = s(function (e) { + return e[2]; + }).right(w, o); + a === w.length + ? ((r = N(i / Nb, n / Nb, t)), (t = e)) + : a + ? ((r = (a = w[o / w[a - 1][2] < w[a][2] / o ? a - 1 : a])[1]), + (t = a[0])) + : ((r = Math.max(N(i, n, t), 1)), (t = l)); + } + return null == r ? t : t.every(r); + } + return ( + (d.invert = function (e) { + return new Date(h(e)); + }), + (d.domain = function (e) { + return arguments.length ? u(lp.call(e, Tb)) : u().map(Eb); + }), + (d.ticks = function (e, t) { + var i, + n = u(), + r = n[0], + s = n[n.length - 1], + o = s < r; + return ( + o && ((i = r), (r = s), (s = i)), + (i = (i = S(e, r, s, t)) ? i.range(r, s + 1) : []), + o ? i.reverse() : i + ); + }), + (d.tickFormat = function (e, t) { + return null == t ? C : c(t); + }), + (d.nice = function (e, t) { + var i = u(); + return (e = S(e, i[0], i[i.length - 1], t)) ? u(Np(i, e)) : d; + }), + (d.copy = function () { + return Cp(d, Ib(e, t, i, n, r, o, a, l, c)); + }), + d + ); + } + function Ob() { + return sp.apply( + Ib(tm, rm, um, Mm, Em, Om, Pm, Wm, g_).domain([ + new Date(2e3, 0, 1), + new Date(2e3, 0, 2), + ]), + arguments + ); + } + var Ab = Xp( + function (e) { + e.setUTCDate(1), e.setUTCHours(0, 0, 0, 0); + }, + function (e, t) { + e.setUTCMonth(e.getUTCMonth() + t); + }, + function (e, t) { + return ( + t.getUTCMonth() - + e.getUTCMonth() + + 12 * (t.getUTCFullYear() - e.getUTCFullYear()) + ); + }, + function (e) { + return e.getUTCMonth(); + } + ); + const Rb = Ab; + var Pb = Ab.range, + Fb = Xp( + function (e) { + e.setUTCMinutes(0, 0, 0); + }, + function (e, t) { + e.setTime(+e + t * lm); + }, + function (e, t) { + return (t - e) / lm; + }, + function (e) { + return e.getUTCHours(); + } + ); + const Bb = Fb; + var Wb = Fb.range, + Yb = Xp( + function (e) { + e.setUTCSeconds(0, 0); + }, + function (e, t) { + e.setTime(+e + t * am); + }, + function (e, t) { + return (t - e) / am; + }, + function (e) { + return e.getUTCMinutes(); + } + ); + const Hb = Yb; + var jb = Yb.range; + function Vb() { + return sp.apply( + Ib(o_, Rb, jm, n_, Bb, Hb, Pm, Wm, p_).domain([ + Date.UTC(2e3, 0, 1), + Date.UTC(2e3, 0, 2), + ]), + arguments + ); + } + function zb() { + var e, + t, + i, + n, + r, + s = 0, + o = 1, + a = _p, + l = !1; + function c(t) { + return isNaN((t = +t)) + ? r + : a( + 0 === i + ? 0.5 + : ((t = (n(t) - e) * i), + l ? Math.max(0, Math.min(1, t)) : t) + ); + } + return ( + (c.domain = function (r) { + return arguments.length + ? ((e = n((s = +r[0]))), + (t = n((o = +r[1]))), + (i = e === t ? 0 : 1 / (t - e)), + c) + : [s, o]; + }), + (c.clamp = function (e) { + return arguments.length ? ((l = !!e), c) : l; + }), + (c.interpolator = function (e) { + return arguments.length ? ((a = e), c) : a; + }), + (c.unknown = function (e) { + return arguments.length ? ((r = e), c) : r; + }), + function (r) { + return ( + (n = r), + (e = r(s)), + (t = r(o)), + (i = e === t ? 0 : 1 / (t - e)), + c + ); + } + ); + } + function Ub(e, t) { + return t + .domain(e.domain()) + .interpolator(e.interpolator()) + .clamp(e.clamp()) + .unknown(e.unknown()); + } + function $b() { + var e = Lp(zb()(_p)); + return ( + (e.copy = function () { + return Ub(e, $b()); + }), + op.apply(e, arguments) + ); + } + function Kb() { + var e = Pp(zb()).domain([1, 10]); + return ( + (e.copy = function () { + return Ub(e, Kb()).base(e.base()); + }), + op.apply(e, arguments) + ); + } + function qb() { + var e = Yp(zb()); + return ( + (e.copy = function () { + return Ub(e, qb()).constant(e.constant()); + }), + op.apply(e, arguments) + ); + } + function Gb() { + var e = Up(zb()); + return ( + (e.copy = function () { + return Ub(e, Gb()).exponent(e.exponent()); + }), + op.apply(e, arguments) + ); + } + function Zb() { + return Gb.apply(null, arguments).exponent(0.5); + } + function Jb() { + var e = [], + t = _p; + function i(i) { + if (!isNaN((i = +i))) return t((c(e, i) - 1) / (e.length - 1)); + } + return ( + (i.domain = function (t) { + if (!arguments.length) return e.slice(); + e = []; + for (var n, s = 0, o = t.length; s < o; ++s) + null == (n = t[s]) || isNaN((n = +n)) || e.push(n); + return e.sort(r), i; + }), + (i.interpolator = function (e) { + return arguments.length ? ((t = e), i) : t; + }), + (i.copy = function () { + return Jb(t).domain(e); + }), + op.apply(i, arguments) + ); + } + function Qb() { + var e, + t, + i, + n, + r, + s, + o, + a = 0, + l = 0.5, + c = 1, + d = _p, + h = !1; + function u(e) { + return isNaN((e = +e)) + ? o + : ((e = 0.5 + ((e = +s(e)) - t) * (e < t ? n : r)), + d(h ? Math.max(0, Math.min(1, e)) : e)); + } + return ( + (u.domain = function (o) { + return arguments.length + ? ((e = s((a = +o[0]))), + (t = s((l = +o[1]))), + (i = s((c = +o[2]))), + (n = e === t ? 0 : 0.5 / (t - e)), + (r = t === i ? 0 : 0.5 / (i - t)), + u) + : [a, l, c]; + }), + (u.clamp = function (e) { + return arguments.length ? ((h = !!e), u) : h; + }), + (u.interpolator = function (e) { + return arguments.length ? ((d = e), u) : d; + }), + (u.unknown = function (e) { + return arguments.length ? ((o = e), u) : o; + }), + function (o) { + return ( + (s = o), + (e = o(a)), + (t = o(l)), + (i = o(c)), + (n = e === t ? 0 : 0.5 / (t - e)), + (r = t === i ? 0 : 0.5 / (i - t)), + u + ); + } + ); + } + function Xb() { + var e = Lp(Qb()(_p)); + return ( + (e.copy = function () { + return Ub(e, Xb()); + }), + op.apply(e, arguments) + ); + } + function ev() { + var e = Pp(Qb()).domain([0.1, 1, 10]); + return ( + (e.copy = function () { + return Ub(e, ev()).base(e.base()); + }), + op.apply(e, arguments) + ); + } + function tv() { + var e = Yp(Qb()); + return ( + (e.copy = function () { + return Ub(e, tv()).constant(e.constant()); + }), + op.apply(e, arguments) + ); + } + function iv() { + var e = Up(Qb()); + return ( + (e.copy = function () { + return Ub(e, iv()).exponent(e.exponent()); + }), + op.apply(e, arguments) + ); + } + function nv() { + return iv.apply(null, arguments).exponent(0.5); + } + function rv(e) { + for (var t = (e.length / 6) | 0, i = new Array(t), n = 0; n < t; ) + i[n] = '#' + e.slice(6 * n, 6 * ++n); + return i; + } + const sv = rv( + '1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf' + ), + ov = rv('7fc97fbeaed4fdc086ffff99386cb0f0027fbf5b17666666'), + av = rv('1b9e77d95f027570b3e7298a66a61ee6ab02a6761d666666'), + lv = rv( + 'a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928' + ), + cv = rv('fbb4aeb3cde3ccebc5decbe4fed9a6ffffcce5d8bdfddaecf2f2f2'), + dv = rv('b3e2cdfdcdaccbd5e8f4cae4e6f5c9fff2aef1e2cccccccc'), + hv = rv('e41a1c377eb84daf4a984ea3ff7f00ffff33a65628f781bf999999'), + uv = rv('66c2a5fc8d628da0cbe78ac3a6d854ffd92fe5c494b3b3b3'), + gv = rv( + '8dd3c7ffffb3bebadafb807280b1d3fdb462b3de69fccde5d9d9d9bc80bdccebc5ffed6f' + ), + fv = rv( + '4e79a7f28e2ce1575976b7b259a14fedc949af7aa1ff9da79c755fbab0ab' + ); + function pv(e) { + return mi(e[e.length - 1]); + } + var mv = new Array(3) + .concat( + 'd8b365f5f5f55ab4ac', + 'a6611adfc27d80cdc1018571', + 'a6611adfc27df5f5f580cdc1018571', + '8c510ad8b365f6e8c3c7eae55ab4ac01665e', + '8c510ad8b365f6e8c3f5f5f5c7eae55ab4ac01665e', + '8c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e', + '8c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e', + '5430058c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e003c30', + '5430058c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e003c30' + ) + .map(rv); + const _v = pv(mv); + var bv = new Array(3) + .concat( + 'af8dc3f7f7f77fbf7b', + '7b3294c2a5cfa6dba0008837', + '7b3294c2a5cff7f7f7a6dba0008837', + '762a83af8dc3e7d4e8d9f0d37fbf7b1b7837', + '762a83af8dc3e7d4e8f7f7f7d9f0d37fbf7b1b7837', + '762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b7837', + '762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b7837', + '40004b762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b783700441b', + '40004b762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b783700441b' + ) + .map(rv); + const vv = pv(bv); + var yv = new Array(3) + .concat( + 'e9a3c9f7f7f7a1d76a', + 'd01c8bf1b6dab8e1864dac26', + 'd01c8bf1b6daf7f7f7b8e1864dac26', + 'c51b7de9a3c9fde0efe6f5d0a1d76a4d9221', + 'c51b7de9a3c9fde0eff7f7f7e6f5d0a1d76a4d9221', + 'c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221', + 'c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221', + '8e0152c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221276419', + '8e0152c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221276419' + ) + .map(rv); + const wv = pv(yv); + var Cv = new Array(3) + .concat( + '998ec3f7f7f7f1a340', + '5e3c99b2abd2fdb863e66101', + '5e3c99b2abd2f7f7f7fdb863e66101', + '542788998ec3d8daebfee0b6f1a340b35806', + '542788998ec3d8daebf7f7f7fee0b6f1a340b35806', + '5427888073acb2abd2d8daebfee0b6fdb863e08214b35806', + '5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b35806', + '2d004b5427888073acb2abd2d8daebfee0b6fdb863e08214b358067f3b08', + '2d004b5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b358067f3b08' + ) + .map(rv); + const Sv = pv(Cv); + var kv = new Array(3) + .concat( + 'ef8a62f7f7f767a9cf', + 'ca0020f4a58292c5de0571b0', + 'ca0020f4a582f7f7f792c5de0571b0', + 'b2182bef8a62fddbc7d1e5f067a9cf2166ac', + 'b2182bef8a62fddbc7f7f7f7d1e5f067a9cf2166ac', + 'b2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac', + 'b2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac', + '67001fb2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac053061', + '67001fb2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac053061' + ) + .map(rv); + const xv = pv(kv); + var Lv = new Array(3) + .concat( + 'ef8a62ffffff999999', + 'ca0020f4a582bababa404040', + 'ca0020f4a582ffffffbababa404040', + 'b2182bef8a62fddbc7e0e0e09999994d4d4d', + 'b2182bef8a62fddbc7ffffffe0e0e09999994d4d4d', + 'b2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d', + 'b2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d', + '67001fb2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d1a1a1a', + '67001fb2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d1a1a1a' + ) + .map(rv); + const Mv = pv(Lv); + var Dv = new Array(3) + .concat( + 'fc8d59ffffbf91bfdb', + 'd7191cfdae61abd9e92c7bb6', + 'd7191cfdae61ffffbfabd9e92c7bb6', + 'd73027fc8d59fee090e0f3f891bfdb4575b4', + 'd73027fc8d59fee090ffffbfe0f3f891bfdb4575b4', + 'd73027f46d43fdae61fee090e0f3f8abd9e974add14575b4', + 'd73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4', + 'a50026d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4313695', + 'a50026d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4313695' + ) + .map(rv); + const Nv = pv(Dv); + var Ev = new Array(3) + .concat( + 'fc8d59ffffbf91cf60', + 'd7191cfdae61a6d96a1a9641', + 'd7191cfdae61ffffbfa6d96a1a9641', + 'd73027fc8d59fee08bd9ef8b91cf601a9850', + 'd73027fc8d59fee08bffffbfd9ef8b91cf601a9850', + 'd73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850', + 'd73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850', + 'a50026d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850006837', + 'a50026d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850006837' + ) + .map(rv); + const Tv = pv(Ev); + var Iv = new Array(3) + .concat( + 'fc8d59ffffbf99d594', + 'd7191cfdae61abdda42b83ba', + 'd7191cfdae61ffffbfabdda42b83ba', + 'd53e4ffc8d59fee08be6f59899d5943288bd', + 'd53e4ffc8d59fee08bffffbfe6f59899d5943288bd', + 'd53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd', + 'd53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd', + '9e0142d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd5e4fa2', + '9e0142d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd5e4fa2' + ) + .map(rv); + const Ov = pv(Iv); + var Av = new Array(3) + .concat( + 'e5f5f999d8c92ca25f', + 'edf8fbb2e2e266c2a4238b45', + 'edf8fbb2e2e266c2a42ca25f006d2c', + 'edf8fbccece699d8c966c2a42ca25f006d2c', + 'edf8fbccece699d8c966c2a441ae76238b45005824', + 'f7fcfde5f5f9ccece699d8c966c2a441ae76238b45005824', + 'f7fcfde5f5f9ccece699d8c966c2a441ae76238b45006d2c00441b' + ) + .map(rv); + const Rv = pv(Av); + var Pv = new Array(3) + .concat( + 'e0ecf49ebcda8856a7', + 'edf8fbb3cde38c96c688419d', + 'edf8fbb3cde38c96c68856a7810f7c', + 'edf8fbbfd3e69ebcda8c96c68856a7810f7c', + 'edf8fbbfd3e69ebcda8c96c68c6bb188419d6e016b', + 'f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d6e016b', + 'f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d810f7c4d004b' + ) + .map(rv); + const Fv = pv(Pv); + var Bv = new Array(3) + .concat( + 'e0f3dba8ddb543a2ca', + 'f0f9e8bae4bc7bccc42b8cbe', + 'f0f9e8bae4bc7bccc443a2ca0868ac', + 'f0f9e8ccebc5a8ddb57bccc443a2ca0868ac', + 'f0f9e8ccebc5a8ddb57bccc44eb3d32b8cbe08589e', + 'f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe08589e', + 'f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe0868ac084081' + ) + .map(rv); + const Wv = pv(Bv); + var Yv = new Array(3) + .concat( + 'fee8c8fdbb84e34a33', + 'fef0d9fdcc8afc8d59d7301f', + 'fef0d9fdcc8afc8d59e34a33b30000', + 'fef0d9fdd49efdbb84fc8d59e34a33b30000', + 'fef0d9fdd49efdbb84fc8d59ef6548d7301f990000', + 'fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301f990000', + 'fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301fb300007f0000' + ) + .map(rv); + const Hv = pv(Yv); + var jv = new Array(3) + .concat( + 'ece2f0a6bddb1c9099', + 'f6eff7bdc9e167a9cf02818a', + 'f6eff7bdc9e167a9cf1c9099016c59', + 'f6eff7d0d1e6a6bddb67a9cf1c9099016c59', + 'f6eff7d0d1e6a6bddb67a9cf3690c002818a016450', + 'fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016450', + 'fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016c59014636' + ) + .map(rv); + const Vv = pv(jv); + var zv = new Array(3) + .concat( + 'ece7f2a6bddb2b8cbe', + 'f1eef6bdc9e174a9cf0570b0', + 'f1eef6bdc9e174a9cf2b8cbe045a8d', + 'f1eef6d0d1e6a6bddb74a9cf2b8cbe045a8d', + 'f1eef6d0d1e6a6bddb74a9cf3690c00570b0034e7b', + 'fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0034e7b', + 'fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0045a8d023858' + ) + .map(rv); + const Uv = pv(zv); + var $v = new Array(3) + .concat( + 'e7e1efc994c7dd1c77', + 'f1eef6d7b5d8df65b0ce1256', + 'f1eef6d7b5d8df65b0dd1c77980043', + 'f1eef6d4b9dac994c7df65b0dd1c77980043', + 'f1eef6d4b9dac994c7df65b0e7298ace125691003f', + 'f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125691003f', + 'f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125698004367001f' + ) + .map(rv); + const Kv = pv($v); + var qv = new Array(3) + .concat( + 'fde0ddfa9fb5c51b8a', + 'feebe2fbb4b9f768a1ae017e', + 'feebe2fbb4b9f768a1c51b8a7a0177', + 'feebe2fcc5c0fa9fb5f768a1c51b8a7a0177', + 'feebe2fcc5c0fa9fb5f768a1dd3497ae017e7a0177', + 'fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a0177', + 'fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a017749006a' + ) + .map(rv); + const Gv = pv(qv); + var Zv = new Array(3) + .concat( + 'edf8b17fcdbb2c7fb8', + 'ffffcca1dab441b6c4225ea8', + 'ffffcca1dab441b6c42c7fb8253494', + 'ffffccc7e9b47fcdbb41b6c42c7fb8253494', + 'ffffccc7e9b47fcdbb41b6c41d91c0225ea80c2c84', + 'ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea80c2c84', + 'ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea8253494081d58' + ) + .map(rv); + const Jv = pv(Zv); + var Qv = new Array(3) + .concat( + 'f7fcb9addd8e31a354', + 'ffffccc2e69978c679238443', + 'ffffccc2e69978c67931a354006837', + 'ffffccd9f0a3addd8e78c67931a354006837', + 'ffffccd9f0a3addd8e78c67941ab5d238443005a32', + 'ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443005a32', + 'ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443006837004529' + ) + .map(rv); + const Xv = pv(Qv); + var ey = new Array(3) + .concat( + 'fff7bcfec44fd95f0e', + 'ffffd4fed98efe9929cc4c02', + 'ffffd4fed98efe9929d95f0e993404', + 'ffffd4fee391fec44ffe9929d95f0e993404', + 'ffffd4fee391fec44ffe9929ec7014cc4c028c2d04', + 'ffffe5fff7bcfee391fec44ffe9929ec7014cc4c028c2d04', + 'ffffe5fff7bcfee391fec44ffe9929ec7014cc4c02993404662506' + ) + .map(rv); + const ty = pv(ey); + var iy = new Array(3) + .concat( + 'ffeda0feb24cf03b20', + 'ffffb2fecc5cfd8d3ce31a1c', + 'ffffb2fecc5cfd8d3cf03b20bd0026', + 'ffffb2fed976feb24cfd8d3cf03b20bd0026', + 'ffffb2fed976feb24cfd8d3cfc4e2ae31a1cb10026', + 'ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cb10026', + 'ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cbd0026800026' + ) + .map(rv); + const ny = pv(iy); + var ry = new Array(3) + .concat( + 'deebf79ecae13182bd', + 'eff3ffbdd7e76baed62171b5', + 'eff3ffbdd7e76baed63182bd08519c', + 'eff3ffc6dbef9ecae16baed63182bd08519c', + 'eff3ffc6dbef9ecae16baed64292c62171b5084594', + 'f7fbffdeebf7c6dbef9ecae16baed64292c62171b5084594', + 'f7fbffdeebf7c6dbef9ecae16baed64292c62171b508519c08306b' + ) + .map(rv); + const sy = pv(ry); + var oy = new Array(3) + .concat( + 'e5f5e0a1d99b31a354', + 'edf8e9bae4b374c476238b45', + 'edf8e9bae4b374c47631a354006d2c', + 'edf8e9c7e9c0a1d99b74c47631a354006d2c', + 'edf8e9c7e9c0a1d99b74c47641ab5d238b45005a32', + 'f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45005a32', + 'f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45006d2c00441b' + ) + .map(rv); + const ay = pv(oy); + var ly = new Array(3) + .concat( + 'f0f0f0bdbdbd636363', + 'f7f7f7cccccc969696525252', + 'f7f7f7cccccc969696636363252525', + 'f7f7f7d9d9d9bdbdbd969696636363252525', + 'f7f7f7d9d9d9bdbdbd969696737373525252252525', + 'fffffff0f0f0d9d9d9bdbdbd969696737373525252252525', + 'fffffff0f0f0d9d9d9bdbdbd969696737373525252252525000000' + ) + .map(rv); + const cy = pv(ly); + var dy = new Array(3) + .concat( + 'efedf5bcbddc756bb1', + 'f2f0f7cbc9e29e9ac86a51a3', + 'f2f0f7cbc9e29e9ac8756bb154278f', + 'f2f0f7dadaebbcbddc9e9ac8756bb154278f', + 'f2f0f7dadaebbcbddc9e9ac8807dba6a51a34a1486', + 'fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a34a1486', + 'fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a354278f3f007d' + ) + .map(rv); + const hy = pv(dy); + var uy = new Array(3) + .concat( + 'fee0d2fc9272de2d26', + 'fee5d9fcae91fb6a4acb181d', + 'fee5d9fcae91fb6a4ade2d26a50f15', + 'fee5d9fcbba1fc9272fb6a4ade2d26a50f15', + 'fee5d9fcbba1fc9272fb6a4aef3b2ccb181d99000d', + 'fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181d99000d', + 'fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181da50f1567000d' + ) + .map(rv); + const gy = pv(uy); + var fy = new Array(3) + .concat( + 'fee6cefdae6be6550d', + 'feeddefdbe85fd8d3cd94701', + 'feeddefdbe85fd8d3ce6550da63603', + 'feeddefdd0a2fdae6bfd8d3ce6550da63603', + 'feeddefdd0a2fdae6bfd8d3cf16913d948018c2d04', + 'fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d948018c2d04', + 'fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d94801a636037f2704' + ) + .map(rv); + const py = pv(fy); + function my(e) { + return ( + (e = Math.max(0, Math.min(1, e))), + 'rgb(' + + Math.max( + 0, + Math.min( + 255, + Math.round( + -4.54 - + e * + (35.34 - + e * + (2381.73 - + e * (6402.7 - e * (7024.72 - 2710.57 * e)))) + ) + ) + ) + + ', ' + + Math.max( + 0, + Math.min( + 255, + Math.round( + 32.49 + + e * + (170.73 + + e * (52.82 - e * (131.46 - e * (176.58 - 67.37 * e)))) + ) + ) + ) + + ', ' + + Math.max( + 0, + Math.min( + 255, + Math.round( + 81.24 + + e * + (442.36 - + e * + (2482.43 - + e * (6167.24 - e * (6614.94 - 2475.67 * e)))) + ) + ) + ) + + ')' + ); + } + const _y = Hf(zs(300, 0.5, 0), zs(-240, 0.5, 1)); + var by = Hf(zs(-100, 0.75, 0.35), zs(80, 1.5, 0.8)), + vy = Hf(zs(260, 0.75, 0.35), zs(80, 1.5, 0.8)), + yy = zs(); + function wy(e) { + (e < 0 || e > 1) && (e -= Math.floor(e)); + var t = Math.abs(e - 0.5); + return ( + (yy.h = 360 * e - 100), + (yy.s = 1.5 - 1.5 * t), + (yy.l = 0.8 - 0.9 * t), + yy + '' + ); + } + var Cy = Jt(), + Sy = Math.PI / 3, + ky = (2 * Math.PI) / 3; + function xy(e) { + var t; + return ( + (e = (0.5 - e) * Math.PI), + (Cy.r = 255 * (t = Math.sin(e)) * t), + (Cy.g = 255 * (t = Math.sin(e + Sy)) * t), + (Cy.b = 255 * (t = Math.sin(e + ky)) * t), + Cy + '' + ); + } + function Ly(e) { + return ( + (e = Math.max(0, Math.min(1, e))), + 'rgb(' + + Math.max( + 0, + Math.min( + 255, + Math.round( + 34.61 + + e * + (1172.33 - + e * + (10793.56 - + e * (33300.12 - e * (38394.49 - 14825.05 * e)))) + ) + ) + ) + + ', ' + + Math.max( + 0, + Math.min( + 255, + Math.round( + 23.31 + + e * + (557.33 + + e * + (1225.33 - + e * (3574.96 - e * (1073.77 + 707.56 * e)))) + ) + ) + ) + + ', ' + + Math.max( + 0, + Math.min( + 255, + Math.round( + 27.2 + + e * + (3211.1 - + e * + (15327.97 - + e * (27814 - e * (22569.18 - 6838.66 * e)))) + ) + ) + ) + + ')' + ); + } + function My(e) { + var t = e.length; + return function (i) { + return e[Math.max(0, Math.min(t - 1, Math.floor(i * t)))]; + }; + } + const Dy = My( + rv( + '44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725' + ) + ); + var Ny = My( + rv( + '00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf' + ) + ), + Ey = My( + rv( + '00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4' + ) + ), + Ty = My( + rv( + '0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921' + ) + ); + function Iy(e) { + return kt(rt(e).call(document.documentElement)); + } + var Oy = 0; + function Ay() { + return new Ry(); + } + function Ry() { + this._ = '@' + (++Oy).toString(36); + } + function Py(e) { + return 'string' == typeof e + ? new wt([document.querySelectorAll(e)], [document.documentElement]) + : new wt([null == e ? [] : e], yt); + } + function Fy(e, t) { + null == t && (t = Ni().touches); + for (var i = 0, n = t ? t.length : 0, r = new Array(n); i < n; ++i) + r[i] = Ei(e, t[i]); + return r; + } + function By(e) { + return function () { + return e; + }; + } + Ry.prototype = Ay.prototype = { + constructor: Ry, + get: function (e) { + for (var t = this._; !(t in e); ) if (!(e = e.parentNode)) return; + return e[t]; + }, + set: function (e, t) { + return (e[this._] = t); + }, + remove: function (e) { + return this._ in e && delete e[this._]; + }, + toString: function () { + return this._; + }, + }; + var Wy = Math.abs, + Yy = Math.atan2, + Hy = Math.cos, + jy = Math.max, + Vy = Math.min, + zy = Math.sin, + Uy = Math.sqrt, + $y = 1e-12, + Ky = Math.PI, + qy = Ky / 2, + Gy = 2 * Ky; + function Zy(e) { + return e > 1 ? 0 : e < -1 ? Ky : Math.acos(e); + } + function Jy(e) { + return e >= 1 ? qy : e <= -1 ? -qy : Math.asin(e); + } + function Qy(e) { + return e.innerRadius; + } + function Xy(e) { + return e.outerRadius; + } + function ew(e) { + return e.startAngle; + } + function tw(e) { + return e.endAngle; + } + function iw(e) { + return e && e.padAngle; + } + function nw(e, t, i, n, r, s, o, a) { + var l = i - e, + c = n - t, + d = o - r, + h = a - s, + u = h * l - d * c; + if (!(u * u < $y)) + return [e + (u = (d * (t - s) - h * (e - r)) / u) * l, t + u * c]; + } + function rw(e, t, i, n, r, s, o) { + var a = e - i, + l = t - n, + c = (o ? s : -s) / Uy(a * a + l * l), + d = c * l, + h = -c * a, + u = e + d, + g = t + h, + f = i + d, + p = n + h, + m = (u + f) / 2, + _ = (g + p) / 2, + b = f - u, + v = p - g, + y = b * b + v * v, + w = r - s, + C = u * p - f * g, + S = (v < 0 ? -1 : 1) * Uy(jy(0, w * w * y - C * C)), + k = (C * v - b * S) / y, + x = (-C * b - v * S) / y, + L = (C * v + b * S) / y, + M = (-C * b + v * S) / y, + D = k - m, + N = x - _, + E = L - m, + T = M - _; + return ( + D * D + N * N > E * E + T * T && ((k = L), (x = M)), + { + cx: k, + cy: x, + x01: -d, + y01: -h, + x11: k * (r / w - 1), + y11: x * (r / w - 1), + } + ); + } + function sw() { + var e = Qy, + t = Xy, + i = By(0), + n = null, + r = ew, + s = tw, + o = iw, + a = null; + function l() { + var l, + c, + d = +e.apply(this, arguments), + h = +t.apply(this, arguments), + u = r.apply(this, arguments) - qy, + g = s.apply(this, arguments) - qy, + f = Wy(g - u), + p = g > u; + if ( + (a || (a = l = $r()), + h < d && ((c = h), (h = d), (d = c)), + h > $y) + ) + if (f > Gy - $y) + a.moveTo(h * Hy(u), h * zy(u)), + a.arc(0, 0, h, u, g, !p), + d > $y && + (a.moveTo(d * Hy(g), d * zy(g)), a.arc(0, 0, d, g, u, p)); + else { + var m, + _, + b = u, + v = g, + y = u, + w = g, + C = f, + S = f, + k = o.apply(this, arguments) / 2, + x = + k > $y && + (n ? +n.apply(this, arguments) : Uy(d * d + h * h)), + L = Vy(Wy(h - d) / 2, +i.apply(this, arguments)), + M = L, + D = L; + if (x > $y) { + var N = Jy((x / d) * zy(k)), + E = Jy((x / h) * zy(k)); + (C -= 2 * N) > $y + ? ((y += N *= p ? 1 : -1), (w -= N)) + : ((C = 0), (y = w = (u + g) / 2)), + (S -= 2 * E) > $y + ? ((b += E *= p ? 1 : -1), (v -= E)) + : ((S = 0), (b = v = (u + g) / 2)); + } + var T = h * Hy(b), + I = h * zy(b), + O = d * Hy(w), + A = d * zy(w); + if (L > $y) { + var R, + P = h * Hy(v), + F = h * zy(v), + B = d * Hy(y), + W = d * zy(y); + if (f < Ky && (R = nw(T, I, B, W, P, F, O, A))) { + var Y = T - R[0], + H = I - R[1], + j = P - R[0], + V = F - R[1], + z = + 1 / + zy( + Zy( + (Y * j + H * V) / + (Uy(Y * Y + H * H) * Uy(j * j + V * V)) + ) / 2 + ), + U = Uy(R[0] * R[0] + R[1] * R[1]); + (M = Vy(L, (d - U) / (z - 1))), + (D = Vy(L, (h - U) / (z + 1))); + } + } + S > $y + ? D > $y + ? ((m = rw(B, W, T, I, h, D, p)), + (_ = rw(P, F, O, A, h, D, p)), + a.moveTo(m.cx + m.x01, m.cy + m.y01), + D < L + ? a.arc( + m.cx, + m.cy, + D, + Yy(m.y01, m.x01), + Yy(_.y01, _.x01), + !p + ) + : (a.arc( + m.cx, + m.cy, + D, + Yy(m.y01, m.x01), + Yy(m.y11, m.x11), + !p + ), + a.arc( + 0, + 0, + h, + Yy(m.cy + m.y11, m.cx + m.x11), + Yy(_.cy + _.y11, _.cx + _.x11), + !p + ), + a.arc( + _.cx, + _.cy, + D, + Yy(_.y11, _.x11), + Yy(_.y01, _.x01), + !p + ))) + : (a.moveTo(T, I), a.arc(0, 0, h, b, v, !p)) + : a.moveTo(T, I), + d > $y && C > $y + ? M > $y + ? ((m = rw(O, A, P, F, d, -M, p)), + (_ = rw(T, I, B, W, d, -M, p)), + a.lineTo(m.cx + m.x01, m.cy + m.y01), + M < L + ? a.arc( + m.cx, + m.cy, + M, + Yy(m.y01, m.x01), + Yy(_.y01, _.x01), + !p + ) + : (a.arc( + m.cx, + m.cy, + M, + Yy(m.y01, m.x01), + Yy(m.y11, m.x11), + !p + ), + a.arc( + 0, + 0, + d, + Yy(m.cy + m.y11, m.cx + m.x11), + Yy(_.cy + _.y11, _.cx + _.x11), + p + ), + a.arc( + _.cx, + _.cy, + M, + Yy(_.y11, _.x11), + Yy(_.y01, _.x01), + !p + ))) + : a.arc(0, 0, d, w, y, p) + : a.lineTo(O, A); + } + else a.moveTo(0, 0); + if ((a.closePath(), l)) return (a = null), l + '' || null; + } + return ( + (l.centroid = function () { + var i = + (+e.apply(this, arguments) + +t.apply(this, arguments)) / 2, + n = + (+r.apply(this, arguments) + +s.apply(this, arguments)) / 2 - + Ky / 2; + return [Hy(n) * i, zy(n) * i]; + }), + (l.innerRadius = function (t) { + return arguments.length + ? ((e = 'function' == typeof t ? t : By(+t)), l) + : e; + }), + (l.outerRadius = function (e) { + return arguments.length + ? ((t = 'function' == typeof e ? e : By(+e)), l) + : t; + }), + (l.cornerRadius = function (e) { + return arguments.length + ? ((i = 'function' == typeof e ? e : By(+e)), l) + : i; + }), + (l.padRadius = function (e) { + return arguments.length + ? ((n = null == e ? null : 'function' == typeof e ? e : By(+e)), + l) + : n; + }), + (l.startAngle = function (e) { + return arguments.length + ? ((r = 'function' == typeof e ? e : By(+e)), l) + : r; + }), + (l.endAngle = function (e) { + return arguments.length + ? ((s = 'function' == typeof e ? e : By(+e)), l) + : s; + }), + (l.padAngle = function (e) { + return arguments.length + ? ((o = 'function' == typeof e ? e : By(+e)), l) + : o; + }), + (l.context = function (e) { + return arguments.length ? ((a = null == e ? null : e), l) : a; + }), + l + ); + } + function ow(e) { + this._context = e; + } + function aw(e) { + return new ow(e); + } + function lw(e) { + return e[0]; + } + function cw(e) { + return e[1]; + } + function dw() { + var e = lw, + t = cw, + i = By(!0), + n = null, + r = aw, + s = null; + function o(o) { + var a, + l, + c, + d = o.length, + h = !1; + for (null == n && (s = r((c = $r()))), a = 0; a <= d; ++a) + !(a < d && i((l = o[a]), a, o)) === h && + ((h = !h) ? s.lineStart() : s.lineEnd()), + h && s.point(+e(l, a, o), +t(l, a, o)); + if (c) return (s = null), c + '' || null; + } + return ( + (o.x = function (t) { + return arguments.length + ? ((e = 'function' == typeof t ? t : By(+t)), o) + : e; + }), + (o.y = function (e) { + return arguments.length + ? ((t = 'function' == typeof e ? e : By(+e)), o) + : t; + }), + (o.defined = function (e) { + return arguments.length + ? ((i = 'function' == typeof e ? e : By(!!e)), o) + : i; + }), + (o.curve = function (e) { + return arguments.length + ? ((r = e), null != n && (s = r(n)), o) + : r; + }), + (o.context = function (e) { + return arguments.length + ? (null == e ? (n = s = null) : (s = r((n = e))), o) + : n; + }), + o + ); + } + function hw() { + var e = lw, + t = null, + i = By(0), + n = cw, + r = By(!0), + s = null, + o = aw, + a = null; + function l(l) { + var c, + d, + h, + u, + g, + f = l.length, + p = !1, + m = new Array(f), + _ = new Array(f); + for (null == s && (a = o((g = $r()))), c = 0; c <= f; ++c) { + if (!(c < f && r((u = l[c]), c, l)) === p) + if ((p = !p)) (d = c), a.areaStart(), a.lineStart(); + else { + for (a.lineEnd(), a.lineStart(), h = c - 1; h >= d; --h) + a.point(m[h], _[h]); + a.lineEnd(), a.areaEnd(); + } + p && + ((m[c] = +e(u, c, l)), + (_[c] = +i(u, c, l)), + a.point(t ? +t(u, c, l) : m[c], n ? +n(u, c, l) : _[c])); + } + if (g) return (a = null), g + '' || null; + } + function c() { + return dw().defined(r).curve(o).context(s); + } + return ( + (l.x = function (i) { + return arguments.length + ? ((e = 'function' == typeof i ? i : By(+i)), (t = null), l) + : e; + }), + (l.x0 = function (t) { + return arguments.length + ? ((e = 'function' == typeof t ? t : By(+t)), l) + : e; + }), + (l.x1 = function (e) { + return arguments.length + ? ((t = null == e ? null : 'function' == typeof e ? e : By(+e)), + l) + : t; + }), + (l.y = function (e) { + return arguments.length + ? ((i = 'function' == typeof e ? e : By(+e)), (n = null), l) + : i; + }), + (l.y0 = function (e) { + return arguments.length + ? ((i = 'function' == typeof e ? e : By(+e)), l) + : i; + }), + (l.y1 = function (e) { + return arguments.length + ? ((n = null == e ? null : 'function' == typeof e ? e : By(+e)), + l) + : n; + }), + (l.lineX0 = l.lineY0 = function () { + return c().x(e).y(i); + }), + (l.lineY1 = function () { + return c().x(e).y(n); + }), + (l.lineX1 = function () { + return c().x(t).y(i); + }), + (l.defined = function (e) { + return arguments.length + ? ((r = 'function' == typeof e ? e : By(!!e)), l) + : r; + }), + (l.curve = function (e) { + return arguments.length + ? ((o = e), null != s && (a = o(s)), l) + : o; + }), + (l.context = function (e) { + return arguments.length + ? (null == e ? (s = a = null) : (a = o((s = e))), l) + : s; + }), + l + ); + } + function uw(e, t) { + return t < e ? -1 : t > e ? 1 : t >= e ? 0 : NaN; + } + function gw(e) { + return e; + } + function fw() { + var e = gw, + t = uw, + i = null, + n = By(0), + r = By(Gy), + s = By(0); + function o(o) { + var a, + l, + c, + d, + h, + u = o.length, + g = 0, + f = new Array(u), + p = new Array(u), + m = +n.apply(this, arguments), + _ = Math.min(Gy, Math.max(-Gy, r.apply(this, arguments) - m)), + b = Math.min(Math.abs(_) / u, s.apply(this, arguments)), + v = b * (_ < 0 ? -1 : 1); + for (a = 0; a < u; ++a) + (h = p[(f[a] = a)] = +e(o[a], a, o)) > 0 && (g += h); + for ( + null != t + ? f.sort(function (e, i) { + return t(p[e], p[i]); + }) + : null != i && + f.sort(function (e, t) { + return i(o[e], o[t]); + }), + a = 0, + c = g ? (_ - u * v) / g : 0; + a < u; + ++a, m = d + ) + (l = f[a]), + (d = m + ((h = p[l]) > 0 ? h * c : 0) + v), + (p[l] = { + data: o[l], + index: a, + value: h, + startAngle: m, + endAngle: d, + padAngle: b, + }); + return p; + } + return ( + (o.value = function (t) { + return arguments.length + ? ((e = 'function' == typeof t ? t : By(+t)), o) + : e; + }), + (o.sortValues = function (e) { + return arguments.length ? ((t = e), (i = null), o) : t; + }), + (o.sort = function (e) { + return arguments.length ? ((i = e), (t = null), o) : i; + }), + (o.startAngle = function (e) { + return arguments.length + ? ((n = 'function' == typeof e ? e : By(+e)), o) + : n; + }), + (o.endAngle = function (e) { + return arguments.length + ? ((r = 'function' == typeof e ? e : By(+e)), o) + : r; + }), + (o.padAngle = function (e) { + return arguments.length + ? ((s = 'function' == typeof e ? e : By(+e)), o) + : s; + }), + o + ); + } + ow.prototype = { + areaStart: function () { + this._line = 0; + }, + areaEnd: function () { + this._line = NaN; + }, + lineStart: function () { + this._point = 0; + }, + lineEnd: function () { + (this._line || (0 !== this._line && 1 === this._point)) && + this._context.closePath(), + (this._line = 1 - this._line); + }, + point: function (e, t) { + switch (((e = +e), (t = +t), this._point)) { + case 0: + (this._point = 1), + this._line + ? this._context.lineTo(e, t) + : this._context.moveTo(e, t); + break; + case 1: + this._point = 2; + default: + this._context.lineTo(e, t); + } + }, + }; + var pw = _w(aw); + function mw(e) { + this._curve = e; + } + function _w(e) { + function t(t) { + return new mw(e(t)); + } + return (t._curve = e), t; + } + function bw(e) { + var t = e.curve; + return ( + (e.angle = e.x), + delete e.x, + (e.radius = e.y), + delete e.y, + (e.curve = function (e) { + return arguments.length ? t(_w(e)) : t()._curve; + }), + e + ); + } + function vw() { + return bw(dw().curve(pw)); + } + function yw() { + var e = hw().curve(pw), + t = e.curve, + i = e.lineX0, + n = e.lineX1, + r = e.lineY0, + s = e.lineY1; + return ( + (e.angle = e.x), + delete e.x, + (e.startAngle = e.x0), + delete e.x0, + (e.endAngle = e.x1), + delete e.x1, + (e.radius = e.y), + delete e.y, + (e.innerRadius = e.y0), + delete e.y0, + (e.outerRadius = e.y1), + delete e.y1, + (e.lineStartAngle = function () { + return bw(i()); + }), + delete e.lineX0, + (e.lineEndAngle = function () { + return bw(n()); + }), + delete e.lineX1, + (e.lineInnerRadius = function () { + return bw(r()); + }), + delete e.lineY0, + (e.lineOuterRadius = function () { + return bw(s()); + }), + delete e.lineY1, + (e.curve = function (e) { + return arguments.length ? t(_w(e)) : t()._curve; + }), + e + ); + } + function ww(e, t) { + return [(t = +t) * Math.cos((e -= Math.PI / 2)), t * Math.sin(e)]; + } + mw.prototype = { + areaStart: function () { + this._curve.areaStart(); + }, + areaEnd: function () { + this._curve.areaEnd(); + }, + lineStart: function () { + this._curve.lineStart(); + }, + lineEnd: function () { + this._curve.lineEnd(); + }, + point: function (e, t) { + this._curve.point(t * Math.sin(e), t * -Math.cos(e)); + }, + }; + var Cw = Array.prototype.slice; + function Sw(e) { + return e.source; + } + function kw(e) { + return e.target; + } + function xw(e) { + var t = Sw, + i = kw, + n = lw, + r = cw, + s = null; + function o() { + var o, + a = Cw.call(arguments), + l = t.apply(this, a), + c = i.apply(this, a); + if ( + (s || (s = o = $r()), + e( + s, + +n.apply(this, ((a[0] = l), a)), + +r.apply(this, a), + +n.apply(this, ((a[0] = c), a)), + +r.apply(this, a) + ), + o) + ) + return (s = null), o + '' || null; + } + return ( + (o.source = function (e) { + return arguments.length ? ((t = e), o) : t; + }), + (o.target = function (e) { + return arguments.length ? ((i = e), o) : i; + }), + (o.x = function (e) { + return arguments.length + ? ((n = 'function' == typeof e ? e : By(+e)), o) + : n; + }), + (o.y = function (e) { + return arguments.length + ? ((r = 'function' == typeof e ? e : By(+e)), o) + : r; + }), + (o.context = function (e) { + return arguments.length ? ((s = null == e ? null : e), o) : s; + }), + o + ); + } + function Lw(e, t, i, n, r) { + e.moveTo(t, i), e.bezierCurveTo((t = (t + n) / 2), i, t, r, n, r); + } + function Mw(e, t, i, n, r) { + e.moveTo(t, i), e.bezierCurveTo(t, (i = (i + r) / 2), n, i, n, r); + } + function Dw(e, t, i, n, r) { + var s = ww(t, i), + o = ww(t, (i = (i + r) / 2)), + a = ww(n, i), + l = ww(n, r); + e.moveTo(s[0], s[1]), + e.bezierCurveTo(o[0], o[1], a[0], a[1], l[0], l[1]); + } + function Nw() { + return xw(Lw); + } + function Ew() { + return xw(Mw); + } + function Tw() { + var e = xw(Dw); + return (e.angle = e.x), delete e.x, (e.radius = e.y), delete e.y, e; + } + const Iw = { + draw: function (e, t) { + var i = Math.sqrt(t / Ky); + e.moveTo(i, 0), e.arc(0, 0, i, 0, Gy); + }, + }, + Ow = { + draw: function (e, t) { + var i = Math.sqrt(t / 5) / 2; + e.moveTo(-3 * i, -i), + e.lineTo(-i, -i), + e.lineTo(-i, -3 * i), + e.lineTo(i, -3 * i), + e.lineTo(i, -i), + e.lineTo(3 * i, -i), + e.lineTo(3 * i, i), + e.lineTo(i, i), + e.lineTo(i, 3 * i), + e.lineTo(-i, 3 * i), + e.lineTo(-i, i), + e.lineTo(-3 * i, i), + e.closePath(); + }, + }; + var Aw = Math.sqrt(1 / 3), + Rw = 2 * Aw; + const Pw = { + draw: function (e, t) { + var i = Math.sqrt(t / Rw), + n = i * Aw; + e.moveTo(0, -i), + e.lineTo(n, 0), + e.lineTo(0, i), + e.lineTo(-n, 0), + e.closePath(); + }, + }; + var Fw = Math.sin(Ky / 10) / Math.sin((7 * Ky) / 10), + Bw = Math.sin(Gy / 10) * Fw, + Ww = -Math.cos(Gy / 10) * Fw; + const Yw = { + draw: function (e, t) { + var i = Math.sqrt(0.8908130915292852 * t), + n = Bw * i, + r = Ww * i; + e.moveTo(0, -i), e.lineTo(n, r); + for (var s = 1; s < 5; ++s) { + var o = (Gy * s) / 5, + a = Math.cos(o), + l = Math.sin(o); + e.lineTo(l * i, -a * i), e.lineTo(a * n - l * r, l * n + a * r); + } + e.closePath(); + }, + }, + Hw = { + draw: function (e, t) { + var i = Math.sqrt(t), + n = -i / 2; + e.rect(n, n, i, i); + }, + }; + var jw = Math.sqrt(3); + const Vw = { + draw: function (e, t) { + var i = -Math.sqrt(t / (3 * jw)); + e.moveTo(0, 2 * i), + e.lineTo(-jw * i, -i), + e.lineTo(jw * i, -i), + e.closePath(); + }, + }; + var zw = -0.5, + Uw = Math.sqrt(3) / 2, + $w = 1 / Math.sqrt(12), + Kw = 3 * ($w / 2 + 1); + const qw = { + draw: function (e, t) { + var i = Math.sqrt(t / Kw), + n = i / 2, + r = i * $w, + s = n, + o = i * $w + i, + a = -s, + l = o; + e.moveTo(n, r), + e.lineTo(s, o), + e.lineTo(a, l), + e.lineTo(zw * n - Uw * r, Uw * n + zw * r), + e.lineTo(zw * s - Uw * o, Uw * s + zw * o), + e.lineTo(zw * a - Uw * l, Uw * a + zw * l), + e.lineTo(zw * n + Uw * r, zw * r - Uw * n), + e.lineTo(zw * s + Uw * o, zw * o - Uw * s), + e.lineTo(zw * a + Uw * l, zw * l - Uw * a), + e.closePath(); + }, + }; + var Gw = [Iw, Ow, Pw, Hw, Yw, Vw, qw]; + function Zw() { + var e = By(Iw), + t = By(64), + i = null; + function n() { + var n; + if ( + (i || (i = n = $r()), + e.apply(this, arguments).draw(i, +t.apply(this, arguments)), + n) + ) + return (i = null), n + '' || null; + } + return ( + (n.type = function (t) { + return arguments.length + ? ((e = 'function' == typeof t ? t : By(t)), n) + : e; + }), + (n.size = function (e) { + return arguments.length + ? ((t = 'function' == typeof e ? e : By(+e)), n) + : t; + }), + (n.context = function (e) { + return arguments.length ? ((i = null == e ? null : e), n) : i; + }), + n + ); + } + function Jw() {} + function Qw(e, t, i) { + e._context.bezierCurveTo( + (2 * e._x0 + e._x1) / 3, + (2 * e._y0 + e._y1) / 3, + (e._x0 + 2 * e._x1) / 3, + (e._y0 + 2 * e._y1) / 3, + (e._x0 + 4 * e._x1 + t) / 6, + (e._y0 + 4 * e._y1 + i) / 6 + ); + } + function Xw(e) { + this._context = e; + } + function eC(e) { + return new Xw(e); + } + function tC(e) { + this._context = e; + } + function iC(e) { + return new tC(e); + } + function nC(e) { + this._context = e; + } + function rC(e) { + return new nC(e); + } + function sC(e, t) { + (this._basis = new Xw(e)), (this._beta = t); + } + (Xw.prototype = { + areaStart: function () { + this._line = 0; + }, + areaEnd: function () { + this._line = NaN; + }, + lineStart: function () { + (this._x0 = this._x1 = this._y0 = this._y1 = NaN), + (this._point = 0); + }, + lineEnd: function () { + switch (this._point) { + case 3: + Qw(this, this._x1, this._y1); + case 2: + this._context.lineTo(this._x1, this._y1); + } + (this._line || (0 !== this._line && 1 === this._point)) && + this._context.closePath(), + (this._line = 1 - this._line); + }, + point: function (e, t) { + switch (((e = +e), (t = +t), this._point)) { + case 0: + (this._point = 1), + this._line + ? this._context.lineTo(e, t) + : this._context.moveTo(e, t); + break; + case 1: + this._point = 2; + break; + case 2: + (this._point = 3), + this._context.lineTo( + (5 * this._x0 + this._x1) / 6, + (5 * this._y0 + this._y1) / 6 + ); + default: + Qw(this, e, t); + } + (this._x0 = this._x1), + (this._x1 = e), + (this._y0 = this._y1), + (this._y1 = t); + }, + }), + (tC.prototype = { + areaStart: Jw, + areaEnd: Jw, + lineStart: function () { + (this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = NaN), + (this._point = 0); + }, + lineEnd: function () { + switch (this._point) { + case 1: + this._context.moveTo(this._x2, this._y2), + this._context.closePath(); + break; + case 2: + this._context.moveTo( + (this._x2 + 2 * this._x3) / 3, + (this._y2 + 2 * this._y3) / 3 + ), + this._context.lineTo( + (this._x3 + 2 * this._x2) / 3, + (this._y3 + 2 * this._y2) / 3 + ), + this._context.closePath(); + break; + case 3: + this.point(this._x2, this._y2), + this.point(this._x3, this._y3), + this.point(this._x4, this._y4); + } + }, + point: function (e, t) { + switch (((e = +e), (t = +t), this._point)) { + case 0: + (this._point = 1), (this._x2 = e), (this._y2 = t); + break; + case 1: + (this._point = 2), (this._x3 = e), (this._y3 = t); + break; + case 2: + (this._point = 3), + (this._x4 = e), + (this._y4 = t), + this._context.moveTo( + (this._x0 + 4 * this._x1 + e) / 6, + (this._y0 + 4 * this._y1 + t) / 6 + ); + break; + default: + Qw(this, e, t); + } + (this._x0 = this._x1), + (this._x1 = e), + (this._y0 = this._y1), + (this._y1 = t); + }, + }), + (nC.prototype = { + areaStart: function () { + this._line = 0; + }, + areaEnd: function () { + this._line = NaN; + }, + lineStart: function () { + (this._x0 = this._x1 = this._y0 = this._y1 = NaN), + (this._point = 0); + }, + lineEnd: function () { + (this._line || (0 !== this._line && 3 === this._point)) && + this._context.closePath(), + (this._line = 1 - this._line); + }, + point: function (e, t) { + switch (((e = +e), (t = +t), this._point)) { + case 0: + this._point = 1; + break; + case 1: + this._point = 2; + break; + case 2: + this._point = 3; + var i = (this._x0 + 4 * this._x1 + e) / 6, + n = (this._y0 + 4 * this._y1 + t) / 6; + this._line + ? this._context.lineTo(i, n) + : this._context.moveTo(i, n); + break; + case 3: + this._point = 4; + default: + Qw(this, e, t); + } + (this._x0 = this._x1), + (this._x1 = e), + (this._y0 = this._y1), + (this._y1 = t); + }, + }), + (sC.prototype = { + lineStart: function () { + (this._x = []), (this._y = []), this._basis.lineStart(); + }, + lineEnd: function () { + var e = this._x, + t = this._y, + i = e.length - 1; + if (i > 0) + for ( + var n, r = e[0], s = t[0], o = e[i] - r, a = t[i] - s, l = -1; + ++l <= i; + + ) + (n = l / i), + this._basis.point( + this._beta * e[l] + (1 - this._beta) * (r + n * o), + this._beta * t[l] + (1 - this._beta) * (s + n * a) + ); + (this._x = this._y = null), this._basis.lineEnd(); + }, + point: function (e, t) { + this._x.push(+e), this._y.push(+t); + }, + }); + const oC = (function e(t) { + function i(e) { + return 1 === t ? new Xw(e) : new sC(e, t); + } + return ( + (i.beta = function (t) { + return e(+t); + }), + i + ); + })(0.85); + function aC(e, t, i) { + e._context.bezierCurveTo( + e._x1 + e._k * (e._x2 - e._x0), + e._y1 + e._k * (e._y2 - e._y0), + e._x2 + e._k * (e._x1 - t), + e._y2 + e._k * (e._y1 - i), + e._x2, + e._y2 + ); + } + function lC(e, t) { + (this._context = e), (this._k = (1 - t) / 6); + } + lC.prototype = { + areaStart: function () { + this._line = 0; + }, + areaEnd: function () { + this._line = NaN; + }, + lineStart: function () { + (this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN), + (this._point = 0); + }, + lineEnd: function () { + switch (this._point) { + case 2: + this._context.lineTo(this._x2, this._y2); + break; + case 3: + aC(this, this._x1, this._y1); + } + (this._line || (0 !== this._line && 1 === this._point)) && + this._context.closePath(), + (this._line = 1 - this._line); + }, + point: function (e, t) { + switch (((e = +e), (t = +t), this._point)) { + case 0: + (this._point = 1), + this._line + ? this._context.lineTo(e, t) + : this._context.moveTo(e, t); + break; + case 1: + (this._point = 2), (this._x1 = e), (this._y1 = t); + break; + case 2: + this._point = 3; + default: + aC(this, e, t); + } + (this._x0 = this._x1), + (this._x1 = this._x2), + (this._x2 = e), + (this._y0 = this._y1), + (this._y1 = this._y2), + (this._y2 = t); + }, + }; + const cC = (function e(t) { + function i(e) { + return new lC(e, t); + } + return ( + (i.tension = function (t) { + return e(+t); + }), + i + ); + })(0); + function dC(e, t) { + (this._context = e), (this._k = (1 - t) / 6); + } + dC.prototype = { + areaStart: Jw, + areaEnd: Jw, + lineStart: function () { + (this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._x5 = this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = this._y5 = NaN), + (this._point = 0); + }, + lineEnd: function () { + switch (this._point) { + case 1: + this._context.moveTo(this._x3, this._y3), + this._context.closePath(); + break; + case 2: + this._context.lineTo(this._x3, this._y3), + this._context.closePath(); + break; + case 3: + this.point(this._x3, this._y3), + this.point(this._x4, this._y4), + this.point(this._x5, this._y5); + } + }, + point: function (e, t) { + switch (((e = +e), (t = +t), this._point)) { + case 0: + (this._point = 1), (this._x3 = e), (this._y3 = t); + break; + case 1: + (this._point = 2), + this._context.moveTo((this._x4 = e), (this._y4 = t)); + break; + case 2: + (this._point = 3), (this._x5 = e), (this._y5 = t); + break; + default: + aC(this, e, t); + } + (this._x0 = this._x1), + (this._x1 = this._x2), + (this._x2 = e), + (this._y0 = this._y1), + (this._y1 = this._y2), + (this._y2 = t); + }, + }; + const hC = (function e(t) { + function i(e) { + return new dC(e, t); + } + return ( + (i.tension = function (t) { + return e(+t); + }), + i + ); + })(0); + function uC(e, t) { + (this._context = e), (this._k = (1 - t) / 6); + } + uC.prototype = { + areaStart: function () { + this._line = 0; + }, + areaEnd: function () { + this._line = NaN; + }, + lineStart: function () { + (this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN), + (this._point = 0); + }, + lineEnd: function () { + (this._line || (0 !== this._line && 3 === this._point)) && + this._context.closePath(), + (this._line = 1 - this._line); + }, + point: function (e, t) { + switch (((e = +e), (t = +t), this._point)) { + case 0: + this._point = 1; + break; + case 1: + this._point = 2; + break; + case 2: + (this._point = 3), + this._line + ? this._context.lineTo(this._x2, this._y2) + : this._context.moveTo(this._x2, this._y2); + break; + case 3: + this._point = 4; + default: + aC(this, e, t); + } + (this._x0 = this._x1), + (this._x1 = this._x2), + (this._x2 = e), + (this._y0 = this._y1), + (this._y1 = this._y2), + (this._y2 = t); + }, + }; + const gC = (function e(t) { + function i(e) { + return new uC(e, t); + } + return ( + (i.tension = function (t) { + return e(+t); + }), + i + ); + })(0); + function fC(e, t, i) { + var n = e._x1, + r = e._y1, + s = e._x2, + o = e._y2; + if (e._l01_a > $y) { + var a = 2 * e._l01_2a + 3 * e._l01_a * e._l12_a + e._l12_2a, + l = 3 * e._l01_a * (e._l01_a + e._l12_a); + (n = (n * a - e._x0 * e._l12_2a + e._x2 * e._l01_2a) / l), + (r = (r * a - e._y0 * e._l12_2a + e._y2 * e._l01_2a) / l); + } + if (e._l23_a > $y) { + var c = 2 * e._l23_2a + 3 * e._l23_a * e._l12_a + e._l12_2a, + d = 3 * e._l23_a * (e._l23_a + e._l12_a); + (s = (s * c + e._x1 * e._l23_2a - t * e._l12_2a) / d), + (o = (o * c + e._y1 * e._l23_2a - i * e._l12_2a) / d); + } + e._context.bezierCurveTo(n, r, s, o, e._x2, e._y2); + } + function pC(e, t) { + (this._context = e), (this._alpha = t); + } + pC.prototype = { + areaStart: function () { + this._line = 0; + }, + areaEnd: function () { + this._line = NaN; + }, + lineStart: function () { + (this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN), + (this._l01_a = this._l12_a = this._l23_a = this._l01_2a = this._l12_2a = this._l23_2a = this._point = 0); + }, + lineEnd: function () { + switch (this._point) { + case 2: + this._context.lineTo(this._x2, this._y2); + break; + case 3: + this.point(this._x2, this._y2); + } + (this._line || (0 !== this._line && 1 === this._point)) && + this._context.closePath(), + (this._line = 1 - this._line); + }, + point: function (e, t) { + if (((e = +e), (t = +t), this._point)) { + var i = this._x2 - e, + n = this._y2 - t; + this._l23_a = Math.sqrt( + (this._l23_2a = Math.pow(i * i + n * n, this._alpha)) + ); + } + switch (this._point) { + case 0: + (this._point = 1), + this._line + ? this._context.lineTo(e, t) + : this._context.moveTo(e, t); + break; + case 1: + this._point = 2; + break; + case 2: + this._point = 3; + default: + fC(this, e, t); + } + (this._l01_a = this._l12_a), + (this._l12_a = this._l23_a), + (this._l01_2a = this._l12_2a), + (this._l12_2a = this._l23_2a), + (this._x0 = this._x1), + (this._x1 = this._x2), + (this._x2 = e), + (this._y0 = this._y1), + (this._y1 = this._y2), + (this._y2 = t); + }, + }; + const mC = (function e(t) { + function i(e) { + return t ? new pC(e, t) : new lC(e, 0); + } + return ( + (i.alpha = function (t) { + return e(+t); + }), + i + ); + })(0.5); + function _C(e, t) { + (this._context = e), (this._alpha = t); + } + _C.prototype = { + areaStart: Jw, + areaEnd: Jw, + lineStart: function () { + (this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._x5 = this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = this._y5 = NaN), + (this._l01_a = this._l12_a = this._l23_a = this._l01_2a = this._l12_2a = this._l23_2a = this._point = 0); + }, + lineEnd: function () { + switch (this._point) { + case 1: + this._context.moveTo(this._x3, this._y3), + this._context.closePath(); + break; + case 2: + this._context.lineTo(this._x3, this._y3), + this._context.closePath(); + break; + case 3: + this.point(this._x3, this._y3), + this.point(this._x4, this._y4), + this.point(this._x5, this._y5); + } + }, + point: function (e, t) { + if (((e = +e), (t = +t), this._point)) { + var i = this._x2 - e, + n = this._y2 - t; + this._l23_a = Math.sqrt( + (this._l23_2a = Math.pow(i * i + n * n, this._alpha)) + ); + } + switch (this._point) { + case 0: + (this._point = 1), (this._x3 = e), (this._y3 = t); + break; + case 1: + (this._point = 2), + this._context.moveTo((this._x4 = e), (this._y4 = t)); + break; + case 2: + (this._point = 3), (this._x5 = e), (this._y5 = t); + break; + default: + fC(this, e, t); + } + (this._l01_a = this._l12_a), + (this._l12_a = this._l23_a), + (this._l01_2a = this._l12_2a), + (this._l12_2a = this._l23_2a), + (this._x0 = this._x1), + (this._x1 = this._x2), + (this._x2 = e), + (this._y0 = this._y1), + (this._y1 = this._y2), + (this._y2 = t); + }, + }; + const bC = (function e(t) { + function i(e) { + return t ? new _C(e, t) : new dC(e, 0); + } + return ( + (i.alpha = function (t) { + return e(+t); + }), + i + ); + })(0.5); + function vC(e, t) { + (this._context = e), (this._alpha = t); + } + vC.prototype = { + areaStart: function () { + this._line = 0; + }, + areaEnd: function () { + this._line = NaN; + }, + lineStart: function () { + (this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN), + (this._l01_a = this._l12_a = this._l23_a = this._l01_2a = this._l12_2a = this._l23_2a = this._point = 0); + }, + lineEnd: function () { + (this._line || (0 !== this._line && 3 === this._point)) && + this._context.closePath(), + (this._line = 1 - this._line); + }, + point: function (e, t) { + if (((e = +e), (t = +t), this._point)) { + var i = this._x2 - e, + n = this._y2 - t; + this._l23_a = Math.sqrt( + (this._l23_2a = Math.pow(i * i + n * n, this._alpha)) + ); + } + switch (this._point) { + case 0: + this._point = 1; + break; + case 1: + this._point = 2; + break; + case 2: + (this._point = 3), + this._line + ? this._context.lineTo(this._x2, this._y2) + : this._context.moveTo(this._x2, this._y2); + break; + case 3: + this._point = 4; + default: + fC(this, e, t); + } + (this._l01_a = this._l12_a), + (this._l12_a = this._l23_a), + (this._l01_2a = this._l12_2a), + (this._l12_2a = this._l23_2a), + (this._x0 = this._x1), + (this._x1 = this._x2), + (this._x2 = e), + (this._y0 = this._y1), + (this._y1 = this._y2), + (this._y2 = t); + }, + }; + const yC = (function e(t) { + function i(e) { + return t ? new vC(e, t) : new uC(e, 0); + } + return ( + (i.alpha = function (t) { + return e(+t); + }), + i + ); + })(0.5); + function wC(e) { + this._context = e; + } + function CC(e) { + return new wC(e); + } + function SC(e) { + return e < 0 ? -1 : 1; + } + function kC(e, t, i) { + var n = e._x1 - e._x0, + r = t - e._x1, + s = (e._y1 - e._y0) / (n || (r < 0 && -0)), + o = (i - e._y1) / (r || (n < 0 && -0)), + a = (s * r + o * n) / (n + r); + return ( + (SC(s) + SC(o)) * + Math.min(Math.abs(s), Math.abs(o), 0.5 * Math.abs(a)) || 0 + ); + } + function xC(e, t) { + var i = e._x1 - e._x0; + return i ? ((3 * (e._y1 - e._y0)) / i - t) / 2 : t; + } + function LC(e, t, i) { + var n = e._x0, + r = e._y0, + s = e._x1, + o = e._y1, + a = (s - n) / 3; + e._context.bezierCurveTo(n + a, r + a * t, s - a, o - a * i, s, o); + } + function MC(e) { + this._context = e; + } + function DC(e) { + this._context = new NC(e); + } + function NC(e) { + this._context = e; + } + function EC(e) { + return new MC(e); + } + function TC(e) { + return new DC(e); + } + function IC(e) { + this._context = e; + } + function OC(e) { + var t, + i, + n = e.length - 1, + r = new Array(n), + s = new Array(n), + o = new Array(n); + for ( + r[0] = 0, s[0] = 2, o[0] = e[0] + 2 * e[1], t = 1; + t < n - 1; + ++t + ) + (r[t] = 1), (s[t] = 4), (o[t] = 4 * e[t] + 2 * e[t + 1]); + for ( + r[n - 1] = 2, s[n - 1] = 7, o[n - 1] = 8 * e[n - 1] + e[n], t = 1; + t < n; + ++t + ) + (i = r[t] / s[t - 1]), (s[t] -= i), (o[t] -= i * o[t - 1]); + for (r[n - 1] = o[n - 1] / s[n - 1], t = n - 2; t >= 0; --t) + r[t] = (o[t] - r[t + 1]) / s[t]; + for (s[n - 1] = (e[n] + r[n - 1]) / 2, t = 0; t < n - 1; ++t) + s[t] = 2 * e[t + 1] - r[t + 1]; + return [r, s]; + } + function AC(e) { + return new IC(e); + } + function RC(e, t) { + (this._context = e), (this._t = t); + } + function PC(e) { + return new RC(e, 0.5); + } + function FC(e) { + return new RC(e, 0); + } + function BC(e) { + return new RC(e, 1); + } + function WC(e, t) { + if ((r = e.length) > 1) + for (var i, n, r, s = 1, o = e[t[0]], a = o.length; s < r; ++s) + for (n = o, o = e[t[s]], i = 0; i < a; ++i) + o[i][1] += o[i][0] = isNaN(n[i][1]) ? n[i][0] : n[i][1]; + } + function YC(e) { + for (var t = e.length, i = new Array(t); --t >= 0; ) i[t] = t; + return i; + } + function HC(e, t) { + return e[t]; + } + function jC() { + var e = By([]), + t = YC, + i = WC, + n = HC; + function r(r) { + var s, + o, + a = e.apply(this, arguments), + l = r.length, + c = a.length, + d = new Array(c); + for (s = 0; s < c; ++s) { + for ( + var h, u = a[s], g = (d[s] = new Array(l)), f = 0; + f < l; + ++f + ) + (g[f] = h = [0, +n(r[f], u, f, r)]), (h.data = r[f]); + g.key = u; + } + for (s = 0, o = t(d); s < c; ++s) d[o[s]].index = s; + return i(d, o), d; + } + return ( + (r.keys = function (t) { + return arguments.length + ? ((e = 'function' == typeof t ? t : By(Cw.call(t))), r) + : e; + }), + (r.value = function (e) { + return arguments.length + ? ((n = 'function' == typeof e ? e : By(+e)), r) + : n; + }), + (r.order = function (e) { + return arguments.length + ? ((t = + null == e + ? YC + : 'function' == typeof e + ? e + : By(Cw.call(e))), + r) + : t; + }), + (r.offset = function (e) { + return arguments.length ? ((i = null == e ? WC : e), r) : i; + }), + r + ); + } + function VC(e, t) { + if ((n = e.length) > 0) { + for (var i, n, r, s = 0, o = e[0].length; s < o; ++s) { + for (r = i = 0; i < n; ++i) r += e[i][s][1] || 0; + if (r) for (i = 0; i < n; ++i) e[i][s][1] /= r; + } + WC(e, t); + } + } + function zC(e, t) { + if ((a = e.length) > 0) + for (var i, n, r, s, o, a, l = 0, c = e[t[0]].length; l < c; ++l) + for (s = o = 0, i = 0; i < a; ++i) + (r = (n = e[t[i]][l])[1] - n[0]) > 0 + ? ((n[0] = s), (n[1] = s += r)) + : r < 0 + ? ((n[1] = o), (n[0] = o += r)) + : ((n[0] = 0), (n[1] = r)); + } + function UC(e, t) { + if ((i = e.length) > 0) { + for (var i, n = 0, r = e[t[0]], s = r.length; n < s; ++n) { + for (var o = 0, a = 0; o < i; ++o) a += e[o][n][1] || 0; + r[n][1] += r[n][0] = -a / 2; + } + WC(e, t); + } + } + function $C(e, t) { + if ((r = e.length) > 0 && (n = (i = e[t[0]]).length) > 0) { + for (var i, n, r, s = 0, o = 1; o < n; ++o) { + for (var a = 0, l = 0, c = 0; a < r; ++a) { + for ( + var d = e[t[a]], + h = d[o][1] || 0, + u = (h - (d[o - 1][1] || 0)) / 2, + g = 0; + g < a; + ++g + ) { + var f = e[t[g]]; + u += (f[o][1] || 0) - (f[o - 1][1] || 0); + } + (l += h), (c += u * h); + } + (i[o - 1][1] += i[o - 1][0] = s), l && (s -= c / l); + } + (i[o - 1][1] += i[o - 1][0] = s), WC(e, t); + } + } + function KC(e) { + var t = e.map(qC); + return YC(e).sort(function (e, i) { + return t[e] - t[i]; + }); + } + function qC(e) { + for (var t, i = -1, n = 0, r = e.length, s = -1 / 0; ++i < r; ) + (t = +e[i][1]) > s && ((s = t), (n = i)); + return n; + } + function GC(e) { + var t = e.map(ZC); + return YC(e).sort(function (e, i) { + return t[e] - t[i]; + }); + } + function ZC(e) { + for (var t, i = 0, n = -1, r = e.length; ++n < r; ) + (t = +e[n][1]) && (i += t); + return i; + } + function JC(e) { + return GC(e).reverse(); + } + function QC(e) { + var t, + i, + n = e.length, + r = e.map(ZC), + s = KC(e), + o = 0, + a = 0, + l = [], + c = []; + for (t = 0; t < n; ++t) + (i = s[t]), + o < a ? ((o += r[i]), l.push(i)) : ((a += r[i]), c.push(i)); + return c.reverse().concat(l); + } + function XC(e) { + return YC(e).reverse(); + } + (wC.prototype = { + areaStart: Jw, + areaEnd: Jw, + lineStart: function () { + this._point = 0; + }, + lineEnd: function () { + this._point && this._context.closePath(); + }, + point: function (e, t) { + (e = +e), + (t = +t), + this._point + ? this._context.lineTo(e, t) + : ((this._point = 1), this._context.moveTo(e, t)); + }, + }), + (MC.prototype = { + areaStart: function () { + this._line = 0; + }, + areaEnd: function () { + this._line = NaN; + }, + lineStart: function () { + (this._x0 = this._x1 = this._y0 = this._y1 = this._t0 = NaN), + (this._point = 0); + }, + lineEnd: function () { + switch (this._point) { + case 2: + this._context.lineTo(this._x1, this._y1); + break; + case 3: + LC(this, this._t0, xC(this, this._t0)); + } + (this._line || (0 !== this._line && 1 === this._point)) && + this._context.closePath(), + (this._line = 1 - this._line); + }, + point: function (e, t) { + var i = NaN; + if (((t = +t), (e = +e) !== this._x1 || t !== this._y1)) { + switch (this._point) { + case 0: + (this._point = 1), + this._line + ? this._context.lineTo(e, t) + : this._context.moveTo(e, t); + break; + case 1: + this._point = 2; + break; + case 2: + (this._point = 3), + LC(this, xC(this, (i = kC(this, e, t))), i); + break; + default: + LC(this, this._t0, (i = kC(this, e, t))); + } + (this._x0 = this._x1), + (this._x1 = e), + (this._y0 = this._y1), + (this._y1 = t), + (this._t0 = i); + } + }, + }), + ((DC.prototype = Object.create(MC.prototype)).point = function ( + e, + t + ) { + MC.prototype.point.call(this, t, e); + }), + (NC.prototype = { + moveTo: function (e, t) { + this._context.moveTo(t, e); + }, + closePath: function () { + this._context.closePath(); + }, + lineTo: function (e, t) { + this._context.lineTo(t, e); + }, + bezierCurveTo: function (e, t, i, n, r, s) { + this._context.bezierCurveTo(t, e, n, i, s, r); + }, + }), + (IC.prototype = { + areaStart: function () { + this._line = 0; + }, + areaEnd: function () { + this._line = NaN; + }, + lineStart: function () { + (this._x = []), (this._y = []); + }, + lineEnd: function () { + var e = this._x, + t = this._y, + i = e.length; + if (i) + if ( + (this._line + ? this._context.lineTo(e[0], t[0]) + : this._context.moveTo(e[0], t[0]), + 2 === i) + ) + this._context.lineTo(e[1], t[1]); + else + for (var n = OC(e), r = OC(t), s = 0, o = 1; o < i; ++s, ++o) + this._context.bezierCurveTo( + n[0][s], + r[0][s], + n[1][s], + r[1][s], + e[o], + t[o] + ); + (this._line || (0 !== this._line && 1 === i)) && + this._context.closePath(), + (this._line = 1 - this._line), + (this._x = this._y = null); + }, + point: function (e, t) { + this._x.push(+e), this._y.push(+t); + }, + }), + (RC.prototype = { + areaStart: function () { + this._line = 0; + }, + areaEnd: function () { + this._line = NaN; + }, + lineStart: function () { + (this._x = this._y = NaN), (this._point = 0); + }, + lineEnd: function () { + 0 < this._t && + this._t < 1 && + 2 === this._point && + this._context.lineTo(this._x, this._y), + (this._line || (0 !== this._line && 1 === this._point)) && + this._context.closePath(), + this._line >= 0 && + ((this._t = 1 - this._t), (this._line = 1 - this._line)); + }, + point: function (e, t) { + switch (((e = +e), (t = +t), this._point)) { + case 0: + (this._point = 1), + this._line + ? this._context.lineTo(e, t) + : this._context.moveTo(e, t); + break; + case 1: + this._point = 2; + default: + if (this._t <= 0) + this._context.lineTo(this._x, t), + this._context.lineTo(e, t); + else { + var i = this._x * (1 - this._t) + e * this._t; + this._context.lineTo(i, this._y), + this._context.lineTo(i, t); + } + } + (this._x = e), (this._y = t); + }, + }); + var eS = '%Y-%m-%dT%H:%M:%S.%LZ'; + const tS = Date.prototype.toISOString + ? function (e) { + return e.toISOString(); + } + : p_(eS), + iS = +new Date('2000-01-01T00:00:00.000Z') + ? function (e) { + var t = new Date(e); + return isNaN(t) ? null : t; + } + : m_(eS); + function nS(e, t, i) { + var n = new Ui(), + r = t; + return null == t + ? (n.restart(e, t, i), n) + : ((t = +t), + (i = null == i ? Vi() : +i), + n.restart( + function s(o) { + (o += r), n.restart(s, (r += t), i), e(o); + }, + t, + i + ), + n); + } + function rS(e) { + return function () { + return e; + }; + } + function sS(e) { + return e[0]; + } + function oS(e) { + return e[1]; + } + function aS() { + this._ = null; + } + function lS(e) { + e.U = e.C = e.L = e.R = e.P = e.N = null; + } + function cS(e, t) { + var i = t, + n = t.R, + r = i.U; + r ? (r.L === i ? (r.L = n) : (r.R = n)) : (e._ = n), + (n.U = r), + (i.U = n), + (i.R = n.L), + i.R && (i.R.U = i), + (n.L = i); + } + function dS(e, t) { + var i = t, + n = t.L, + r = i.U; + r ? (r.L === i ? (r.L = n) : (r.R = n)) : (e._ = n), + (n.U = r), + (i.U = n), + (i.L = n.R), + i.L && (i.L.U = i), + (n.R = i); + } + function hS(e) { + for (; e.L; ) e = e.L; + return e; + } + aS.prototype = { + constructor: aS, + insert: function (e, t) { + var i, n, r; + if (e) { + if ( + ((t.P = e), (t.N = e.N), e.N && (e.N.P = t), (e.N = t), e.R) + ) { + for (e = e.R; e.L; ) e = e.L; + e.L = t; + } else e.R = t; + i = e; + } else + this._ + ? ((e = hS(this._)), + (t.P = null), + (t.N = e), + (e.P = e.L = t), + (i = e)) + : ((t.P = t.N = null), (this._ = t), (i = null)); + for (t.L = t.R = null, t.U = i, t.C = !0, e = t; i && i.C; ) + i === (n = i.U).L + ? (r = n.R) && r.C + ? ((i.C = r.C = !1), (n.C = !0), (e = n)) + : (e === i.R && (cS(this, i), (i = (e = i).U)), + (i.C = !1), + (n.C = !0), + dS(this, n)) + : (r = n.L) && r.C + ? ((i.C = r.C = !1), (n.C = !0), (e = n)) + : (e === i.L && (dS(this, i), (i = (e = i).U)), + (i.C = !1), + (n.C = !0), + cS(this, n)), + (i = e.U); + this._.C = !1; + }, + remove: function (e) { + e.N && (e.N.P = e.P), e.P && (e.P.N = e.N), (e.N = e.P = null); + var t, + i, + n, + r = e.U, + s = e.L, + o = e.R; + if ( + ((i = s ? (o ? hS(o) : s) : o), + r ? (r.L === e ? (r.L = i) : (r.R = i)) : (this._ = i), + s && o + ? ((n = i.C), + (i.C = e.C), + (i.L = s), + (s.U = i), + i !== o + ? ((r = i.U), + (i.U = e.U), + (e = i.R), + (r.L = e), + (i.R = o), + (o.U = i)) + : ((i.U = r), (r = i), (e = i.R))) + : ((n = e.C), (e = i)), + e && (e.U = r), + !n) + ) + if (e && e.C) e.C = !1; + else { + do { + if (e === this._) break; + if (e === r.L) { + if ( + ((t = r.R).C && + ((t.C = !1), (r.C = !0), cS(this, r), (t = r.R)), + (t.L && t.L.C) || (t.R && t.R.C)) + ) { + (t.R && t.R.C) || + ((t.L.C = !1), (t.C = !0), dS(this, t), (t = r.R)), + (t.C = r.C), + (r.C = t.R.C = !1), + cS(this, r), + (e = this._); + break; + } + } else if ( + ((t = r.L).C && + ((t.C = !1), (r.C = !0), dS(this, r), (t = r.L)), + (t.L && t.L.C) || (t.R && t.R.C)) + ) { + (t.L && t.L.C) || + ((t.R.C = !1), (t.C = !0), cS(this, t), (t = r.L)), + (t.C = r.C), + (r.C = t.L.C = !1), + dS(this, r), + (e = this._); + break; + } + (t.C = !0), (e = r), (r = r.U); + } while (!e.C); + e && (e.C = !1); + } + }, + }; + const uS = aS; + function gS(e, t, i, n) { + var r = [null, null], + s = FS.push(r) - 1; + return ( + (r.left = e), + (r.right = t), + i && pS(r, e, t, i), + n && pS(r, t, e, n), + RS[e.index].halfedges.push(s), + RS[t.index].halfedges.push(s), + r + ); + } + function fS(e, t, i) { + var n = [t, i]; + return (n.left = e), n; + } + function pS(e, t, i, n) { + e[0] || e[1] + ? e.left === i + ? (e[1] = n) + : (e[0] = n) + : ((e[0] = n), (e.left = t), (e.right = i)); + } + function mS(e, t, i, n, r) { + var s, + o = e[0], + a = e[1], + l = o[0], + c = o[1], + d = 0, + h = 1, + u = a[0] - l, + g = a[1] - c; + if (((s = t - l), u || !(s > 0))) { + if (((s /= u), u < 0)) { + if (s < d) return; + s < h && (h = s); + } else if (u > 0) { + if (s > h) return; + s > d && (d = s); + } + if (((s = n - l), u || !(s < 0))) { + if (((s /= u), u < 0)) { + if (s > h) return; + s > d && (d = s); + } else if (u > 0) { + if (s < d) return; + s < h && (h = s); + } + if (((s = i - c), g || !(s > 0))) { + if (((s /= g), g < 0)) { + if (s < d) return; + s < h && (h = s); + } else if (g > 0) { + if (s > h) return; + s > d && (d = s); + } + if (((s = r - c), g || !(s < 0))) { + if (((s /= g), g < 0)) { + if (s > h) return; + s > d && (d = s); + } else if (g > 0) { + if (s < d) return; + s < h && (h = s); + } + return ( + !(d > 0 || h < 1) || + (d > 0 && (e[0] = [l + d * u, c + d * g]), + h < 1 && (e[1] = [l + h * u, c + h * g]), + !0) + ); + } + } + } + } + } + function _S(e, t, i, n, r) { + var s = e[1]; + if (s) return !0; + var o, + a, + l = e[0], + c = e.left, + d = e.right, + h = c[0], + u = c[1], + g = d[0], + f = d[1], + p = (h + g) / 2, + m = (u + f) / 2; + if (f === u) { + if (p < t || p >= n) return; + if (h > g) { + if (l) { + if (l[1] >= r) return; + } else l = [p, i]; + s = [p, r]; + } else { + if (l) { + if (l[1] < i) return; + } else l = [p, r]; + s = [p, i]; + } + } else if (((a = m - (o = (h - g) / (f - u)) * p), o < -1 || o > 1)) + if (h > g) { + if (l) { + if (l[1] >= r) return; + } else l = [(i - a) / o, i]; + s = [(r - a) / o, r]; + } else { + if (l) { + if (l[1] < i) return; + } else l = [(r - a) / o, r]; + s = [(i - a) / o, i]; + } + else if (u < f) { + if (l) { + if (l[0] >= n) return; + } else l = [t, o * t + a]; + s = [n, o * n + a]; + } else { + if (l) { + if (l[0] < t) return; + } else l = [n, o * n + a]; + s = [t, o * t + a]; + } + return (e[0] = l), (e[1] = s), !0; + } + function bS(e, t) { + var i = e.site, + n = t.left, + r = t.right; + return ( + i === r && ((r = n), (n = i)), + r + ? Math.atan2(r[1] - n[1], r[0] - n[0]) + : (i === n ? ((n = t[1]), (r = t[0])) : ((n = t[0]), (r = t[1])), + Math.atan2(n[0] - r[0], r[1] - n[1])) + ); + } + function vS(e, t) { + return t[+(t.left !== e.site)]; + } + function yS(e, t) { + return t[+(t.left === e.site)]; + } + var wS, + CS = []; + function SS() { + lS(this), (this.x = this.y = this.arc = this.site = this.cy = null); + } + function kS(e) { + var t = e.P, + i = e.N; + if (t && i) { + var n = t.site, + r = e.site, + s = i.site; + if (n !== s) { + var o = r[0], + a = r[1], + l = n[0] - o, + c = n[1] - a, + d = s[0] - o, + h = s[1] - a, + u = 2 * (l * h - c * d); + if (!(u >= -WS)) { + var g = l * l + c * c, + f = d * d + h * h, + p = (h * g - c * f) / u, + m = (l * f - d * g) / u, + _ = CS.pop() || new SS(); + (_.arc = e), + (_.site = r), + (_.x = p + o), + (_.y = (_.cy = m + a) + Math.sqrt(p * p + m * m)), + (e.circle = _); + for (var b = null, v = PS._; v; ) + if (_.y < v.y || (_.y === v.y && _.x <= v.x)) { + if (!v.L) { + b = v.P; + break; + } + v = v.L; + } else { + if (!v.R) { + b = v; + break; + } + v = v.R; + } + PS.insert(b, _), b || (wS = _); + } + } + } + } + function xS(e) { + var t = e.circle; + t && + (t.P || (wS = t.N), + PS.remove(t), + CS.push(t), + lS(t), + (e.circle = null)); + } + var LS = []; + function MS() { + lS(this), (this.edge = this.site = this.circle = null); + } + function DS(e) { + var t = LS.pop() || new MS(); + return (t.site = e), t; + } + function NS(e) { + xS(e), AS.remove(e), LS.push(e), lS(e); + } + function ES(e) { + var t = e.circle, + i = t.x, + n = t.cy, + r = [i, n], + s = e.P, + o = e.N, + a = [e]; + NS(e); + for ( + var l = s; + l.circle && + Math.abs(i - l.circle.x) < BS && + Math.abs(n - l.circle.cy) < BS; + + ) + (s = l.P), a.unshift(l), NS(l), (l = s); + a.unshift(l), xS(l); + for ( + var c = o; + c.circle && + Math.abs(i - c.circle.x) < BS && + Math.abs(n - c.circle.cy) < BS; + + ) + (o = c.N), a.push(c), NS(c), (c = o); + a.push(c), xS(c); + var d, + h = a.length; + for (d = 1; d < h; ++d) + (c = a[d]), (l = a[d - 1]), pS(c.edge, l.site, c.site, r); + (l = a[0]), + ((c = a[h - 1]).edge = gS(l.site, c.site, null, r)), + kS(l), + kS(c); + } + function TS(e) { + for (var t, i, n, r, s = e[0], o = e[1], a = AS._; a; ) + if ((n = IS(a, o) - s) > BS) a = a.L; + else { + if (!((r = s - OS(a, o)) > BS)) { + n > -BS + ? ((t = a.P), (i = a)) + : r > -BS + ? ((t = a), (i = a.N)) + : (t = i = a); + break; + } + if (!a.R) { + t = a; + break; + } + a = a.R; + } + !(function (e) { + RS[e.index] = { site: e, halfedges: [] }; + })(e); + var l = DS(e); + if ((AS.insert(t, l), t || i)) { + if (t === i) + return ( + xS(t), + (i = DS(t.site)), + AS.insert(l, i), + (l.edge = i.edge = gS(t.site, l.site)), + kS(t), + void kS(i) + ); + if (i) { + xS(t), xS(i); + var c = t.site, + d = c[0], + h = c[1], + u = e[0] - d, + g = e[1] - h, + f = i.site, + p = f[0] - d, + m = f[1] - h, + _ = 2 * (u * m - g * p), + b = u * u + g * g, + v = p * p + m * m, + y = [(m * b - g * v) / _ + d, (u * v - p * b) / _ + h]; + pS(i.edge, c, f, y), + (l.edge = gS(c, e, null, y)), + (i.edge = gS(e, f, null, y)), + kS(t), + kS(i); + } else l.edge = gS(t.site, l.site); + } + } + function IS(e, t) { + var i = e.site, + n = i[0], + r = i[1], + s = r - t; + if (!s) return n; + var o = e.P; + if (!o) return -1 / 0; + var a = (i = o.site)[0], + l = i[1], + c = l - t; + if (!c) return a; + var d = a - n, + h = 1 / s - 1 / c, + u = d / c; + return h + ? (-u + + Math.sqrt( + u * u - 2 * h * ((d * d) / (-2 * c) - l + c / 2 + r - s / 2) + )) / + h + + n + : (n + a) / 2; + } + function OS(e, t) { + var i = e.N; + if (i) return IS(i, t); + var n = e.site; + return n[1] === t ? n[0] : 1 / 0; + } + var AS, + RS, + PS, + FS, + BS = 1e-6, + WS = 1e-12; + function YS(e, t, i) { + return (e[0] - i[0]) * (t[1] - e[1]) - (e[0] - t[0]) * (i[1] - e[1]); + } + function HS(e, t) { + return t[1] - e[1] || t[0] - e[0]; + } + function jS(e, t) { + var i, + n, + r, + s = e.sort(HS).pop(); + for ( + FS = [], RS = new Array(e.length), AS = new uS(), PS = new uS(); + ; + + ) + if ( + ((r = wS), + s && (!r || s[1] < r.y || (s[1] === r.y && s[0] < r.x))) + ) + (s[0] === i && s[1] === n) || (TS(s), (i = s[0]), (n = s[1])), + (s = e.pop()); + else { + if (!r) break; + ES(r.arc); + } + if ( + ((function () { + for (var e, t, i, n, r = 0, s = RS.length; r < s; ++r) + if ((e = RS[r]) && (n = (t = e.halfedges).length)) { + var o = new Array(n), + a = new Array(n); + for (i = 0; i < n; ++i) (o[i] = i), (a[i] = bS(e, FS[t[i]])); + for ( + o.sort(function (e, t) { + return a[t] - a[e]; + }), + i = 0; + i < n; + ++i + ) + a[i] = t[o[i]]; + for (i = 0; i < n; ++i) t[i] = a[i]; + } + })(), + t) + ) { + var o = +t[0][0], + a = +t[0][1], + l = +t[1][0], + c = +t[1][1]; + !(function (e, t, i, n) { + for (var r, s = FS.length; s--; ) + (_S((r = FS[s]), e, t, i, n) && + mS(r, e, t, i, n) && + (Math.abs(r[0][0] - r[1][0]) > BS || + Math.abs(r[0][1] - r[1][1]) > BS)) || + delete FS[s]; + })(o, a, l, c), + (function (e, t, i, n) { + var r, + s, + o, + a, + l, + c, + d, + h, + u, + g, + f, + p, + m = RS.length, + _ = !0; + for (r = 0; r < m; ++r) + if ((s = RS[r])) { + for (o = s.site, a = (l = s.halfedges).length; a--; ) + FS[l[a]] || l.splice(a, 1); + for (a = 0, c = l.length; a < c; ) + (f = (g = yS(s, FS[l[a]]))[0]), + (p = g[1]), + (h = (d = vS(s, FS[l[++a % c]]))[0]), + (u = d[1]), + (Math.abs(f - h) > BS || Math.abs(p - u) > BS) && + (l.splice( + a, + 0, + FS.push( + fS( + o, + g, + Math.abs(f - e) < BS && n - p > BS + ? [e, Math.abs(h - e) < BS ? u : n] + : Math.abs(p - n) < BS && i - f > BS + ? [Math.abs(u - n) < BS ? h : i, n] + : Math.abs(f - i) < BS && p - t > BS + ? [i, Math.abs(h - i) < BS ? u : t] + : Math.abs(p - t) < BS && f - e > BS + ? [Math.abs(u - t) < BS ? h : e, t] + : null + ) + ) - 1 + ), + ++c); + c && (_ = !1); + } + if (_) { + var b, + v, + y, + w = 1 / 0; + for (r = 0, _ = null; r < m; ++r) + (s = RS[r]) && + (y = (b = (o = s.site)[0] - e) * b + (v = o[1] - t) * v) < + w && + ((w = y), (_ = s)); + if (_) { + var C = [e, t], + S = [e, n], + k = [i, n], + x = [i, t]; + _.halfedges.push( + FS.push(fS((o = _.site), C, S)) - 1, + FS.push(fS(o, S, k)) - 1, + FS.push(fS(o, k, x)) - 1, + FS.push(fS(o, x, C)) - 1 + ); + } + } + for (r = 0; r < m; ++r) + (s = RS[r]) && (s.halfedges.length || delete RS[r]); + })(o, a, l, c); + } + (this.edges = FS), (this.cells = RS), (AS = PS = FS = RS = null); + } + function VS() { + var e = sS, + t = oS, + i = null; + function n(n) { + return new jS( + n.map(function (i, r) { + var s = [ + Math.round(e(i, r, n) / BS) * BS, + Math.round(t(i, r, n) / BS) * BS, + ]; + return (s.index = r), (s.data = i), s; + }), + i + ); + } + return ( + (n.polygons = function (e) { + return n(e).polygons(); + }), + (n.links = function (e) { + return n(e).links(); + }), + (n.triangles = function (e) { + return n(e).triangles(); + }), + (n.x = function (t) { + return arguments.length + ? ((e = 'function' == typeof t ? t : rS(+t)), n) + : e; + }), + (n.y = function (e) { + return arguments.length + ? ((t = 'function' == typeof e ? e : rS(+e)), n) + : t; + }), + (n.extent = function (e) { + return arguments.length + ? ((i = + null == e + ? null + : [ + [+e[0][0], +e[0][1]], + [+e[1][0], +e[1][1]], + ]), + n) + : i && [ + [i[0][0], i[0][1]], + [i[1][0], i[1][1]], + ]; + }), + (n.size = function (e) { + return arguments.length + ? ((i = + null == e + ? null + : [ + [0, 0], + [+e[0], +e[1]], + ]), + n) + : i && [i[1][0] - i[0][0], i[1][1] - i[0][1]]; + }), + n + ); + } + function zS(e) { + return function () { + return e; + }; + } + function US(e, t, i) { + (this.target = e), (this.type = t), (this.transform = i); + } + function $S(e, t, i) { + (this.k = e), (this.x = t), (this.y = i); + } + (jS.prototype = { + constructor: jS, + polygons: function () { + var e = this.edges; + return this.cells.map(function (t) { + var i = t.halfedges.map(function (i) { + return vS(t, e[i]); + }); + return (i.data = t.site.data), i; + }); + }, + triangles: function () { + var e = [], + t = this.edges; + return ( + this.cells.forEach(function (i, n) { + if ((s = (r = i.halfedges).length)) + for ( + var r, + s, + o, + a = i.site, + l = -1, + c = t[r[s - 1]], + d = c.left === a ? c.right : c.left; + ++l < s; + + ) + (o = d), + (d = (c = t[r[l]]).left === a ? c.right : c.left), + o && + d && + n < o.index && + n < d.index && + YS(a, o, d) < 0 && + e.push([a.data, o.data, d.data]); + }), + e + ); + }, + links: function () { + return this.edges + .filter(function (e) { + return e.right; + }) + .map(function (e) { + return { source: e.left.data, target: e.right.data }; + }); + }, + find: function (e, t, i) { + for ( + var n, r, s = this, o = s._found || 0, a = s.cells.length; + !(r = s.cells[o]); + + ) + if (++o >= a) return null; + var l = e - r.site[0], + c = t - r.site[1], + d = l * l + c * c; + do { + (r = s.cells[(n = o)]), + (o = null), + r.halfedges.forEach(function (i) { + var n = s.edges[i], + a = n.left; + if ((a !== r.site && a) || (a = n.right)) { + var l = e - a[0], + c = t - a[1], + h = l * l + c * c; + h < d && ((d = h), (o = a.index)); + } + }); + } while (null !== o); + return (s._found = n), null == i || d <= i * i ? r.site : null; + }, + }), + ($S.prototype = { + constructor: $S, + scale: function (e) { + return 1 === e ? this : new $S(this.k * e, this.x, this.y); + }, + translate: function (e, t) { + return (0 === e) & (0 === t) + ? this + : new $S(this.k, this.x + this.k * e, this.y + this.k * t); + }, + apply: function (e) { + return [e[0] * this.k + this.x, e[1] * this.k + this.y]; + }, + applyX: function (e) { + return e * this.k + this.x; + }, + applyY: function (e) { + return e * this.k + this.y; + }, + invert: function (e) { + return [(e[0] - this.x) / this.k, (e[1] - this.y) / this.k]; + }, + invertX: function (e) { + return (e - this.x) / this.k; + }, + invertY: function (e) { + return (e - this.y) / this.k; + }, + rescaleX: function (e) { + return e + .copy() + .domain(e.range().map(this.invertX, this).map(e.invert, e)); + }, + rescaleY: function (e) { + return e + .copy() + .domain(e.range().map(this.invertY, this).map(e.invert, e)); + }, + toString: function () { + return ( + 'translate(' + this.x + ',' + this.y + ') scale(' + this.k + ')' + ); + }, + }); + var KS = new $S(1, 0, 0); + function qS(e) { + for (; !e.__zoom; ) if (!(e = e.parentNode)) return KS; + return e.__zoom; + } + function GS() { + dt.stopImmediatePropagation(); + } + function ZS() { + dt.preventDefault(), dt.stopImmediatePropagation(); + } + function JS() { + return !dt.ctrlKey && !dt.button; + } + function QS() { + var e = this; + return e instanceof SVGElement + ? (e = e.ownerSVGElement || e).hasAttribute('viewBox') + ? [ + [(e = e.viewBox.baseVal).x, e.y], + [e.x + e.width, e.y + e.height], + ] + : [ + [0, 0], + [e.width.baseVal.value, e.height.baseVal.value], + ] + : [ + [0, 0], + [e.clientWidth, e.clientHeight], + ]; + } + function XS() { + return this.__zoom || KS; + } + function ek() { + return ( + -dt.deltaY * (1 === dt.deltaMode ? 0.05 : dt.deltaMode ? 1 : 0.002) + ); + } + function tk() { + return navigator.maxTouchPoints || 'ontouchstart' in this; + } + function ik(e, t, i) { + var n = e.invertX(t[0][0]) - i[0][0], + r = e.invertX(t[1][0]) - i[1][0], + s = e.invertY(t[0][1]) - i[0][1], + o = e.invertY(t[1][1]) - i[1][1]; + return e.translate( + r > n ? (n + r) / 2 : Math.min(0, n) || Math.max(0, r), + o > s ? (s + o) / 2 : Math.min(0, s) || Math.max(0, o) + ); + } + function nk() { + var e, + t, + i = JS, + n = QS, + r = ik, + s = ek, + o = tk, + a = [0, 1 / 0], + l = [ + [-1 / 0, -1 / 0], + [1 / 0, 1 / 0], + ], + c = 250, + d = Tf, + h = ue('start', 'zoom', 'end'), + u = 500, + g = 0; + function f(e) { + e.property('__zoom', XS) + .on('wheel.zoom', w) + .on('mousedown.zoom', C) + .on('dblclick.zoom', S) + .filter(o) + .on('touchstart.zoom', k) + .on('touchmove.zoom', x) + .on('touchend.zoom touchcancel.zoom', L) + .style('touch-action', 'none') + .style('-webkit-tap-highlight-color', 'rgba(0,0,0,0)'); + } + function p(e, t) { + return (t = Math.max(a[0], Math.min(a[1], t))) === e.k + ? e + : new $S(t, e.x, e.y); + } + function m(e, t, i) { + var n = t[0] - i[0] * e.k, + r = t[1] - i[1] * e.k; + return n === e.x && r === e.y ? e : new $S(e.k, n, r); + } + function _(e) { + return [(+e[0][0] + +e[1][0]) / 2, (+e[0][1] + +e[1][1]) / 2]; + } + function b(e, t, i) { + e.on('start.zoom', function () { + v(this, arguments).start(); + }) + .on('interrupt.zoom end.zoom', function () { + v(this, arguments).end(); + }) + .tween('zoom', function () { + var e = this, + r = arguments, + s = v(e, r), + o = n.apply(e, r), + a = + null == i + ? _(o) + : 'function' == typeof i + ? i.apply(e, r) + : i, + l = Math.max(o[1][0] - o[0][0], o[1][1] - o[0][1]), + c = e.__zoom, + h = 'function' == typeof t ? t.apply(e, r) : t, + u = d( + c.invert(a).concat(l / c.k), + h.invert(a).concat(l / h.k) + ); + return function (e) { + if (1 === e) e = h; + else { + var t = u(e), + i = l / t[2]; + e = new $S(i, a[0] - t[0] * i, a[1] - t[1] * i); + } + s.zoom(null, e); + }; + }); + } + function v(e, t, i) { + return (!i && e.__zooming) || new y(e, t); + } + function y(e, t) { + (this.that = e), + (this.args = t), + (this.active = 0), + (this.extent = n.apply(e, t)), + (this.taps = 0); + } + function w() { + if (i.apply(this, arguments)) { + var e = v(this, arguments), + t = this.__zoom, + n = Math.max( + a[0], + Math.min(a[1], t.k * Math.pow(2, s.apply(this, arguments))) + ), + o = Ii(this); + if (e.wheel) + (e.mouse[0][0] === o[0] && e.mouse[0][1] === o[1]) || + (e.mouse[1] = t.invert((e.mouse[0] = o))), + clearTimeout(e.wheel); + else { + if (t.k === n) return; + (e.mouse = [o, t.invert(o)]), sn(this), e.start(); + } + ZS(), + (e.wheel = setTimeout(c, 150)), + e.zoom( + 'mouse', + r(m(p(t, n), e.mouse[0], e.mouse[1]), e.extent, l) + ); + } + function c() { + (e.wheel = null), e.end(); + } + } + function C() { + if (!t && i.apply(this, arguments)) { + var e = v(this, arguments, !0), + n = kt(dt.view) + .on('mousemove.zoom', c, !0) + .on('mouseup.zoom', d, !0), + s = Ii(this), + o = dt.clientX, + a = dt.clientY; + Mt(dt.view), + GS(), + (e.mouse = [s, this.__zoom.invert(s)]), + sn(this), + e.start(); + } + function c() { + if ((ZS(), !e.moved)) { + var t = dt.clientX - o, + i = dt.clientY - a; + e.moved = t * t + i * i > g; + } + e.zoom( + 'mouse', + r( + m(e.that.__zoom, (e.mouse[0] = Ii(e.that)), e.mouse[1]), + e.extent, + l + ) + ); + } + function d() { + n.on('mousemove.zoom mouseup.zoom', null), + Dt(dt.view, e.moved), + ZS(), + e.end(); + } + } + function S() { + if (i.apply(this, arguments)) { + var e = this.__zoom, + t = Ii(this), + s = e.invert(t), + o = e.k * (dt.shiftKey ? 0.5 : 2), + a = r(m(p(e, o), t, s), n.apply(this, arguments), l); + ZS(), + c > 0 + ? kt(this).transition().duration(c).call(b, a, t) + : kt(this).call(f.transform, a); + } + } + function k() { + if (i.apply(this, arguments)) { + var t, + n, + r, + s, + o = dt.touches, + a = o.length, + l = v(this, arguments, dt.changedTouches.length === a); + for (GS(), n = 0; n < a; ++n) + (s = [ + (s = Ti(this, o, (r = o[n]).identifier)), + this.__zoom.invert(s), + r.identifier, + ]), + l.touch0 + ? l.touch1 || + l.touch0[2] === s[2] || + ((l.touch1 = s), (l.taps = 0)) + : ((l.touch0 = s), (t = !0), (l.taps = 1 + !!e)); + e && (e = clearTimeout(e)), + t && + (l.taps < 2 && + (e = setTimeout(function () { + e = null; + }, u)), + sn(this), + l.start()); + } + } + function x() { + if (this.__zooming) { + var t, + i, + n, + s, + o = v(this, arguments), + a = dt.changedTouches, + c = a.length; + for ( + ZS(), e && (e = clearTimeout(e)), o.taps = 0, t = 0; + t < c; + ++t + ) + (n = Ti(this, a, (i = a[t]).identifier)), + o.touch0 && o.touch0[2] === i.identifier + ? (o.touch0[0] = n) + : o.touch1 && + o.touch1[2] === i.identifier && + (o.touch1[0] = n); + if (((i = o.that.__zoom), o.touch1)) { + var d = o.touch0[0], + h = o.touch0[1], + u = o.touch1[0], + g = o.touch1[1], + f = (f = u[0] - d[0]) * f + (f = u[1] - d[1]) * f, + _ = (_ = g[0] - h[0]) * _ + (_ = g[1] - h[1]) * _; + (i = p(i, Math.sqrt(f / _))), + (n = [(d[0] + u[0]) / 2, (d[1] + u[1]) / 2]), + (s = [(h[0] + g[0]) / 2, (h[1] + g[1]) / 2]); + } else { + if (!o.touch0) return; + (n = o.touch0[0]), (s = o.touch0[1]); + } + o.zoom('touch', r(m(i, n, s), o.extent, l)); + } + } + function L() { + if (this.__zooming) { + var e, + i, + n = v(this, arguments), + r = dt.changedTouches, + s = r.length; + for ( + GS(), + t && clearTimeout(t), + t = setTimeout(function () { + t = null; + }, u), + e = 0; + e < s; + ++e + ) + (i = r[e]), + n.touch0 && n.touch0[2] === i.identifier + ? delete n.touch0 + : n.touch1 && + n.touch1[2] === i.identifier && + delete n.touch1; + if ( + (n.touch1 && + !n.touch0 && + ((n.touch0 = n.touch1), delete n.touch1), + n.touch0) + ) + n.touch0[1] = this.__zoom.invert(n.touch0[0]); + else if ((n.end(), 2 === n.taps)) { + var o = kt(this).on('dblclick.zoom'); + o && o.apply(this, arguments); + } + } + } + return ( + (f.transform = function (e, t, i) { + var n = e.selection ? e.selection() : e; + n.property('__zoom', XS), + e !== n + ? b(e, t, i) + : n.interrupt().each(function () { + v(this, arguments) + .start() + .zoom( + null, + 'function' == typeof t ? t.apply(this, arguments) : t + ) + .end(); + }); + }), + (f.scaleBy = function (e, t, i) { + f.scaleTo( + e, + function () { + var e = this.__zoom.k, + i = 'function' == typeof t ? t.apply(this, arguments) : t; + return e * i; + }, + i + ); + }), + (f.scaleTo = function (e, t, i) { + f.transform( + e, + function () { + var e = n.apply(this, arguments), + s = this.__zoom, + o = + null == i + ? _(e) + : 'function' == typeof i + ? i.apply(this, arguments) + : i, + a = s.invert(o), + c = 'function' == typeof t ? t.apply(this, arguments) : t; + return r(m(p(s, c), o, a), e, l); + }, + i + ); + }), + (f.translateBy = function (e, t, i) { + f.transform(e, function () { + return r( + this.__zoom.translate( + 'function' == typeof t ? t.apply(this, arguments) : t, + 'function' == typeof i ? i.apply(this, arguments) : i + ), + n.apply(this, arguments), + l + ); + }); + }), + (f.translateTo = function (e, t, i, s) { + f.transform( + e, + function () { + var e = n.apply(this, arguments), + o = this.__zoom, + a = + null == s + ? _(e) + : 'function' == typeof s + ? s.apply(this, arguments) + : s; + return r( + KS.translate(a[0], a[1]) + .scale(o.k) + .translate( + 'function' == typeof t ? -t.apply(this, arguments) : -t, + 'function' == typeof i ? -i.apply(this, arguments) : -i + ), + e, + l + ); + }, + s + ); + }), + (y.prototype = { + start: function () { + return ( + 1 == ++this.active && + ((this.that.__zooming = this), this.emit('start')), + this + ); + }, + zoom: function (e, t) { + return ( + this.mouse && + 'mouse' !== e && + (this.mouse[1] = t.invert(this.mouse[0])), + this.touch0 && + 'touch' !== e && + (this.touch0[1] = t.invert(this.touch0[0])), + this.touch1 && + 'touch' !== e && + (this.touch1[1] = t.invert(this.touch1[0])), + (this.that.__zoom = t), + this.emit('zoom'), + this + ); + }, + end: function () { + return ( + 0 == --this.active && + (delete this.that.__zooming, this.emit('end')), + this + ); + }, + emit: function (e) { + mt(new US(f, e, this.that.__zoom), h.apply, h, [ + e, + this.that, + this.args, + ]); + }, + }), + (f.wheelDelta = function (e) { + return arguments.length + ? ((s = 'function' == typeof e ? e : zS(+e)), f) + : s; + }), + (f.filter = function (e) { + return arguments.length + ? ((i = 'function' == typeof e ? e : zS(!!e)), f) + : i; + }), + (f.touchable = function (e) { + return arguments.length + ? ((o = 'function' == typeof e ? e : zS(!!e)), f) + : o; + }), + (f.extent = function (e) { + return arguments.length + ? ((n = + 'function' == typeof e + ? e + : zS([ + [+e[0][0], +e[0][1]], + [+e[1][0], +e[1][1]], + ])), + f) + : n; + }), + (f.scaleExtent = function (e) { + return arguments.length + ? ((a[0] = +e[0]), (a[1] = +e[1]), f) + : [a[0], a[1]]; + }), + (f.translateExtent = function (e) { + return arguments.length + ? ((l[0][0] = +e[0][0]), + (l[1][0] = +e[1][0]), + (l[0][1] = +e[0][1]), + (l[1][1] = +e[1][1]), + f) + : [ + [l[0][0], l[0][1]], + [l[1][0], l[1][1]], + ]; + }), + (f.constrain = function (e) { + return arguments.length ? ((r = e), f) : r; + }), + (f.duration = function (e) { + return arguments.length ? ((c = +e), f) : c; + }), + (f.interpolate = function (e) { + return arguments.length ? ((d = e), f) : d; + }), + (f.on = function () { + var e = h.on.apply(h, arguments); + return e === h ? f : e; + }), + (f.clickDistance = function (e) { + return arguments.length ? ((g = (e = +e) * e), f) : Math.sqrt(g); + }), + f + ); + } + qS.prototype = $S.prototype; + }, + 44949: (e, t, i) => { + e.exports = { + graphlib: i(66614), + dagre: i(51463), + intersect: i(78114), + render: i(95787), + util: i(28355), + version: i(55689), + }; + }, + 39144: (e, t, i) => { + var n = i(28355); + function r(e, t, i, r) { + var s = e + .append('marker') + .attr('id', t) + .attr('viewBox', '0 0 10 10') + .attr('refX', 9) + .attr('refY', 5) + .attr('markerUnits', 'strokeWidth') + .attr('markerWidth', 8) + .attr('markerHeight', 6) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 0 0 L 10 5 L 0 10 z') + .style('stroke-width', 1) + .style('stroke-dasharray', '1,0'); + n.applyStyle(s, i[r + 'Style']), + i[r + 'Class'] && s.attr('class', i[r + 'Class']); + } + e.exports = { + default: r, + normal: r, + vee: function (e, t, i, r) { + var s = e + .append('marker') + .attr('id', t) + .attr('viewBox', '0 0 10 10') + .attr('refX', 9) + .attr('refY', 5) + .attr('markerUnits', 'strokeWidth') + .attr('markerWidth', 8) + .attr('markerHeight', 6) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 0 0 L 10 5 L 0 10 L 4 5 z') + .style('stroke-width', 1) + .style('stroke-dasharray', '1,0'); + n.applyStyle(s, i[r + 'Style']), + i[r + 'Class'] && s.attr('class', i[r + 'Class']); + }, + undirected: function (e, t, i, r) { + var s = e + .append('marker') + .attr('id', t) + .attr('viewBox', '0 0 10 10') + .attr('refX', 9) + .attr('refY', 5) + .attr('markerUnits', 'strokeWidth') + .attr('markerWidth', 8) + .attr('markerHeight', 6) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 0 5 L 10 5') + .style('stroke-width', 1) + .style('stroke-dasharray', '1,0'); + n.applyStyle(s, i[r + 'Style']), + i[r + 'Class'] && s.attr('class', i[r + 'Class']); + }, + }; + }, + 85632: (e, t, i) => { + var n = i(28355), + r = i(24322), + s = i(61322); + e.exports = function (e, t) { + var i, + o = t.nodes().filter(function (e) { + return n.isSubgraph(t, e); + }), + a = e.selectAll('g.cluster').data(o, function (e) { + return e; + }); + return ( + a.selectAll('*').remove(), + a + .enter() + .append('g') + .attr('class', 'cluster') + .attr('id', function (e) { + return t.node(e).id; + }) + .style('opacity', 0), + (a = e.selectAll('g.cluster')), + n.applyTransition(a, t).style('opacity', 1), + a.each(function (e) { + var i = t.node(e), + n = r.select(this); + r.select(this).append('rect'); + var o = n.append('g').attr('class', 'label'); + s(o, i, i.clusterLabelPos); + }), + a.selectAll('rect').each(function (e) { + var i = t.node(e), + s = r.select(this); + n.applyStyle(s, i.style); + }), + (i = a.exit ? a.exit() : a.selectAll(null)), + n.applyTransition(i, t).style('opacity', 0).remove(), + a + ); + }; + }, + 16315: (e, t, i) => { + 'use strict'; + var n = i(91034), + r = i(61322), + s = i(28355), + o = i(24322); + e.exports = function (e, t) { + var i, + a = e + .selectAll('g.edgeLabel') + .data(t.edges(), function (e) { + return s.edgeToId(e); + }) + .classed('update', !0); + return ( + a.exit().remove(), + a.enter().append('g').classed('edgeLabel', !0).style('opacity', 0), + (a = e.selectAll('g.edgeLabel')).each(function (e) { + var i = o.select(this); + i.select('.label').remove(); + var s = t.edge(e), + a = r(i, t.edge(e), 0, 0).classed('label', !0), + l = a.node().getBBox(); + s.labelId && a.attr('id', s.labelId), + n.has(s, 'width') || (s.width = l.width), + n.has(s, 'height') || (s.height = l.height); + }), + (i = a.exit ? a.exit() : a.selectAll(null)), + s.applyTransition(i, t).style('opacity', 0).remove(), + a + ); + }; + }, + 70940: (e, t, i) => { + 'use strict'; + var n = i(91034), + r = i(13042), + s = i(28355), + o = i(24322); + function a(e, t) { + var i = (o.line || o.svg.line)() + .x(function (e) { + return e.x; + }) + .y(function (e) { + return e.y; + }); + return (i.curve || i.interpolate)(e.curve), i(t); + } + e.exports = function (e, t, i) { + var l = e + .selectAll('g.edgePath') + .data(t.edges(), function (e) { + return s.edgeToId(e); + }) + .classed('update', !0), + c = (function (e, t) { + var i = e + .enter() + .append('g') + .attr('class', 'edgePath') + .style('opacity', 0); + return ( + i + .append('path') + .attr('class', 'path') + .attr('d', function (e) { + var i = t.edge(e), + r = t.node(e.v).elem; + return a( + i, + n.range(i.points.length).map(function () { + return ( + (t = (e = r).getBBox()), + { + x: (i = e.ownerSVGElement + .getScreenCTM() + .inverse() + .multiply(e.getScreenCTM()) + .translate(t.width / 2, t.height / 2)).e, + y: i.f, + } + ); + var e, t, i; + }) + ); + }), + i.append('defs'), + i + ); + })(l, t); + !(function (e, t) { + var i = e.exit(); + s.applyTransition(i, t).style('opacity', 0).remove(); + })(l, t); + var d = void 0 !== l.merge ? l.merge(c) : l; + return ( + s.applyTransition(d, t).style('opacity', 1), + d.each(function (e) { + var i = o.select(this), + n = t.edge(e); + (n.elem = this), + n.id && i.attr('id', n.id), + s.applyClass( + i, + n.class, + (i.classed('update') ? 'update ' : '') + 'edgePath' + ); + }), + d.selectAll('path.path').each(function (e) { + var i = t.edge(e); + i.arrowheadId = n.uniqueId('arrowhead'); + var l = o + .select(this) + .attr('marker-end', function () { + return ( + 'url(' + + ((e = location.href), + (t = i.arrowheadId), + e.split('#')[0] + '#' + t + ')') + ); + var e, t; + }) + .style('fill', 'none'); + s.applyTransition(l, t).attr('d', function (e) { + return (function (e, t) { + var i = e.edge(t), + n = e.node(t.v), + s = e.node(t.w), + o = i.points.slice(1, i.points.length - 1); + return ( + o.unshift(r(n, o[0])), + o.push(r(s, o[o.length - 1])), + a(i, o) + ); + })(t, e); + }), + s.applyStyle(l, i.style); + }), + d.selectAll('defs *').remove(), + d.selectAll('defs').each(function (e) { + var n = t.edge(e); + (0, + i[n.arrowhead])(o.select(this), n.arrowheadId, n, 'arrowhead'); + }), + d + ); + }; + }, + 10607: (e, t, i) => { + 'use strict'; + var n = i(91034), + r = i(61322), + s = i(28355), + o = i(24322); + e.exports = function (e, t, i) { + var a, + l = t.nodes().filter(function (e) { + return !s.isSubgraph(t, e); + }), + c = e + .selectAll('g.node') + .data(l, function (e) { + return e; + }) + .classed('update', !0); + return ( + c.exit().remove(), + c.enter().append('g').attr('class', 'node').style('opacity', 0), + (c = e.selectAll('g.node')).each(function (e) { + var a = t.node(e), + l = o.select(this); + s.applyClass( + l, + a.class, + (l.classed('update') ? 'update ' : '') + 'node' + ), + l.select('g.label').remove(); + var c = l.append('g').attr('class', 'label'), + d = r(c, a), + h = i[a.shape], + u = n.pick(d.node().getBBox(), 'width', 'height'); + (a.elem = this), + a.id && l.attr('id', a.id), + a.labelId && c.attr('id', a.labelId), + n.has(a, 'width') && (u.width = a.width), + n.has(a, 'height') && (u.height = a.height), + (u.width += a.paddingLeft + a.paddingRight), + (u.height += a.paddingTop + a.paddingBottom), + c.attr( + 'transform', + 'translate(' + + (a.paddingLeft - a.paddingRight) / 2 + + ',' + + (a.paddingTop - a.paddingBottom) / 2 + + ')' + ); + var g = o.select(this); + g.select('.label-container').remove(); + var f = h(g, u, a).classed('label-container', !0); + s.applyStyle(f, a.style); + var p = f.node().getBBox(); + (a.width = p.width), (a.height = p.height); + }), + (a = c.exit ? c.exit() : c.selectAll(null)), + s.applyTransition(a, t).style('opacity', 0).remove(), + c + ); + }; + }, + 24322: (e, t, i) => { + var n; + if (!n) + try { + n = i(69362); + } catch (e) {} + n || (n = window.d3), (e.exports = n); + }, + 51463: (e, t, i) => { + var n; + try { + n = i(72135); + } catch (e) {} + n || (n = window.dagre), (e.exports = n); + }, + 66614: (e, t, i) => { + var n; + try { + n = i(79550); + } catch (e) {} + n || (n = window.graphlib), (e.exports = n); + }, + 78114: (e, t, i) => { + e.exports = { + node: i(13042), + circle: i(56587), + ellipse: i(3260), + polygon: i(5337), + rect: i(98049), + }; + }, + 56587: (e, t, i) => { + var n = i(3260); + e.exports = function (e, t, i) { + return n(e, t, t, i); + }; + }, + 3260: (e) => { + e.exports = function (e, t, i, n) { + var r = e.x, + s = e.y, + o = r - n.x, + a = s - n.y, + l = Math.sqrt(t * t * a * a + i * i * o * o), + c = Math.abs((t * i * o) / l); + n.x < r && (c = -c); + var d = Math.abs((t * i * a) / l); + return n.y < s && (d = -d), { x: r + c, y: s + d }; + }; + }, + 36808: (e) => { + function t(e, t) { + return e * t > 0; + } + e.exports = function (e, i, n, r) { + var s, o, a, l, c, d, h, u, g, f, p, m, _; + if ( + !((s = i.y - e.y), + (a = e.x - i.x), + (c = i.x * e.y - e.x * i.y), + (g = s * n.x + a * n.y + c), + (f = s * r.x + a * r.y + c), + (0 !== g && 0 !== f && t(g, f)) || + ((o = r.y - n.y), + (l = n.x - r.x), + (d = r.x * n.y - n.x * r.y), + (h = o * e.x + l * e.y + d), + (u = o * i.x + l * i.y + d), + (0 !== h && 0 !== u && t(h, u)) || 0 == (p = s * l - o * a))) + ) + return ( + (m = Math.abs(p / 2)), + { + x: (_ = a * d - l * c) < 0 ? (_ - m) / p : (_ + m) / p, + y: (_ = o * c - s * d) < 0 ? (_ - m) / p : (_ + m) / p, + } + ); + }; + }, + 13042: (e) => { + e.exports = function (e, t) { + return e.intersect(t); + }; + }, + 5337: (e, t, i) => { + var n = i(36808); + e.exports = function (e, t, i) { + var r = e.x, + s = e.y, + o = [], + a = Number.POSITIVE_INFINITY, + l = Number.POSITIVE_INFINITY; + t.forEach(function (e) { + (a = Math.min(a, e.x)), (l = Math.min(l, e.y)); + }); + for ( + var c = r - e.width / 2 - a, d = s - e.height / 2 - l, h = 0; + h < t.length; + h++ + ) { + var u = t[h], + g = t[h < t.length - 1 ? h + 1 : 0], + f = n( + e, + i, + { x: c + u.x, y: d + u.y }, + { x: c + g.x, y: d + g.y } + ); + f && o.push(f); + } + return o.length + ? (o.length > 1 && + o.sort(function (e, t) { + var n = e.x - i.x, + r = e.y - i.y, + s = Math.sqrt(n * n + r * r), + o = t.x - i.x, + a = t.y - i.y, + l = Math.sqrt(o * o + a * a); + return s < l ? -1 : s === l ? 0 : 1; + }), + o[0]) + : (console.log('NO INTERSECTION FOUND, RETURN NODE CENTER', e), e); + }; + }, + 98049: (e) => { + e.exports = function (e, t) { + var i, + n, + r = e.x, + s = e.y, + o = t.x - r, + a = t.y - s, + l = e.width / 2, + c = e.height / 2; + return ( + Math.abs(a) * l > Math.abs(o) * c + ? (a < 0 && (c = -c), (i = 0 === a ? 0 : (c * o) / a), (n = c)) + : (o < 0 && (l = -l), (i = l), (n = 0 === o ? 0 : (l * a) / o)), + { x: r + i, y: s + n } + ); + }; + }, + 88284: (e, t, i) => { + var n = i(28355); + e.exports = function (e, t) { + var i = e.append('foreignObject').attr('width', '100000'), + r = i.append('xhtml:div'); + r.attr('xmlns', 'http://www.w3.org/1999/xhtml'); + var s = t.label; + switch (typeof s) { + case 'function': + r.insert(s); + break; + case 'object': + r.insert(function () { + return s; + }); + break; + default: + r.html(s); + } + n.applyStyle(r, t.labelStyle), + r.style('display', 'inline-block'), + r.style('white-space', 'nowrap'); + var o = r.node().getBoundingClientRect(); + return i.attr('width', o.width).attr('height', o.height), i; + }; + }, + 61322: (e, t, i) => { + var n = i(67318), + r = i(88284), + s = i(98287); + e.exports = function (e, t, i) { + var o = t.label, + a = e.append('g'); + 'svg' === t.labelType + ? s(a, t) + : 'string' != typeof o || 'html' === t.labelType + ? r(a, t) + : n(a, t); + var l, + c = a.node().getBBox(); + switch (i) { + case 'top': + l = -t.height / 2; + break; + case 'bottom': + l = t.height / 2 - c.height; + break; + default: + l = -c.height / 2; + } + return ( + a.attr('transform', 'translate(' + -c.width / 2 + ',' + l + ')'), a + ); + }; + }, + 98287: (e, t, i) => { + var n = i(28355); + e.exports = function (e, t) { + var i = e; + return ( + i.node().appendChild(t.label), n.applyStyle(i, t.labelStyle), i + ); + }; + }, + 67318: (e, t, i) => { + var n = i(28355); + e.exports = function (e, t) { + for ( + var i = e.append('text'), + r = (function (e) { + for (var t, i = '', n = !1, r = 0; r < e.length; ++r) + if (((t = e[r]), n)) { + switch (t) { + case 'n': + i += '\n'; + break; + default: + i += t; + } + n = !1; + } else '\\' === t ? (n = !0) : (i += t); + return i; + })(t.label).split('\n'), + s = 0; + s < r.length; + s++ + ) + i.append('tspan') + .attr('xml:space', 'preserve') + .attr('dy', '1em') + .attr('x', '1') + .text(r[s]); + return n.applyStyle(i, t.labelStyle), i; + }; + }, + 91034: (e, t, i) => { + var n; + try { + n = { + defaults: i(91747), + each: i(66073), + isFunction: i(23560), + isPlainObject: i(68630), + pick: i(78718), + has: i(18721), + range: i(96026), + uniqueId: i(73955), + }; + } catch (e) {} + n || (n = window._), (e.exports = n); + }, + 26381: (e, t, i) => { + 'use strict'; + var n = i(28355), + r = i(24322); + e.exports = function (e, t) { + var i = e.filter(function () { + return !r.select(this).classed('update'); + }); + function s(e) { + var i = t.node(e); + return 'translate(' + i.x + ',' + i.y + ')'; + } + i.attr('transform', s), + n.applyTransition(e, t).style('opacity', 1).attr('transform', s), + n + .applyTransition(i.selectAll('rect'), t) + .attr('width', function (e) { + return t.node(e).width; + }) + .attr('height', function (e) { + return t.node(e).height; + }) + .attr('x', function (e) { + return -t.node(e).width / 2; + }) + .attr('y', function (e) { + return -t.node(e).height / 2; + }); + }; + }, + 44577: (e, t, i) => { + 'use strict'; + var n = i(28355), + r = i(24322), + s = i(91034); + e.exports = function (e, t) { + function i(e) { + var i = t.edge(e); + return s.has(i, 'x') ? 'translate(' + i.x + ',' + i.y + ')' : ''; + } + e + .filter(function () { + return !r.select(this).classed('update'); + }) + .attr('transform', i), + n.applyTransition(e, t).style('opacity', 1).attr('transform', i); + }; + }, + 54849: (e, t, i) => { + 'use strict'; + var n = i(28355), + r = i(24322); + e.exports = function (e, t) { + function i(e) { + var i = t.node(e); + return 'translate(' + i.x + ',' + i.y + ')'; + } + e + .filter(function () { + return !r.select(this).classed('update'); + }) + .attr('transform', i), + n.applyTransition(e, t).style('opacity', 1).attr('transform', i); + }; + }, + 95787: (e, t, i) => { + var n = i(91034), + r = i(24322), + s = i(51463).layout; + e.exports = function () { + var e = i(10607), + t = i(85632), + r = i(16315), + c = i(70940), + d = i(54849), + h = i(44577), + u = i(26381), + g = i(54418), + f = i(39144), + p = function (i, p) { + !(function (e) { + e.nodes().forEach(function (t) { + var i = e.node(t); + n.has(i, 'label') || e.children(t).length || (i.label = t), + n.has(i, 'paddingX') && + n.defaults(i, { + paddingLeft: i.paddingX, + paddingRight: i.paddingX, + }), + n.has(i, 'paddingY') && + n.defaults(i, { + paddingTop: i.paddingY, + paddingBottom: i.paddingY, + }), + n.has(i, 'padding') && + n.defaults(i, { + paddingLeft: i.padding, + paddingRight: i.padding, + paddingTop: i.padding, + paddingBottom: i.padding, + }), + n.defaults(i, o), + n.each( + [ + 'paddingLeft', + 'paddingRight', + 'paddingTop', + 'paddingBottom', + ], + function (e) { + i[e] = Number(i[e]); + } + ), + n.has(i, 'width') && (i._prevWidth = i.width), + n.has(i, 'height') && (i._prevHeight = i.height); + }), + e.edges().forEach(function (t) { + var i = e.edge(t); + n.has(i, 'label') || (i.label = ''), n.defaults(i, a); + }); + })(p); + var m = l(i, 'output'), + _ = l(m, 'clusters'), + b = l(m, 'edgePaths'), + v = r(l(m, 'edgeLabels'), p), + y = e(l(m, 'nodes'), p, g); + s(p), d(y, p), h(v, p), c(b, p, f); + var w = t(_, p); + u(w, p), + (function (e) { + n.each(e.nodes(), function (t) { + var i = e.node(t); + n.has(i, '_prevWidth') + ? (i.width = i._prevWidth) + : delete i.width, + n.has(i, '_prevHeight') + ? (i.height = i._prevHeight) + : delete i.height, + delete i._prevWidth, + delete i._prevHeight; + }); + })(p); + }; + return ( + (p.createNodes = function (t) { + return arguments.length ? ((e = t), p) : e; + }), + (p.createClusters = function (e) { + return arguments.length ? ((t = e), p) : t; + }), + (p.createEdgeLabels = function (e) { + return arguments.length ? ((r = e), p) : r; + }), + (p.createEdgePaths = function (e) { + return arguments.length ? ((c = e), p) : c; + }), + (p.shapes = function (e) { + return arguments.length ? ((g = e), p) : g; + }), + (p.arrows = function (e) { + return arguments.length ? ((f = e), p) : f; + }), + p + ); + }; + var o = { + paddingLeft: 10, + paddingRight: 10, + paddingTop: 10, + paddingBottom: 10, + rx: 0, + ry: 0, + shape: 'rect', + }, + a = { arrowhead: 'normal', curve: r.curveLinear }; + function l(e, t) { + var i = e.select('g.' + t); + return i.empty() && (i = e.append('g').attr('class', t)), i; + } + }, + 54418: (e, t, i) => { + 'use strict'; + var n = i(98049), + r = i(3260), + s = i(56587), + o = i(5337); + e.exports = { + rect: function (e, t, i) { + var r = e + .insert('rect', ':first-child') + .attr('rx', i.rx) + .attr('ry', i.ry) + .attr('x', -t.width / 2) + .attr('y', -t.height / 2) + .attr('width', t.width) + .attr('height', t.height); + return ( + (i.intersect = function (e) { + return n(i, e); + }), + r + ); + }, + ellipse: function (e, t, i) { + var n = t.width / 2, + s = t.height / 2, + o = e + .insert('ellipse', ':first-child') + .attr('x', -t.width / 2) + .attr('y', -t.height / 2) + .attr('rx', n) + .attr('ry', s); + return ( + (i.intersect = function (e) { + return r(i, n, s, e); + }), + o + ); + }, + circle: function (e, t, i) { + var n = Math.max(t.width, t.height) / 2, + r = e + .insert('circle', ':first-child') + .attr('x', -t.width / 2) + .attr('y', -t.height / 2) + .attr('r', n); + return ( + (i.intersect = function (e) { + return s(i, n, e); + }), + r + ); + }, + diamond: function (e, t, i) { + var n = (t.width * Math.SQRT2) / 2, + r = (t.height * Math.SQRT2) / 2, + s = [ + { x: 0, y: -r }, + { x: -n, y: 0 }, + { x: 0, y: r }, + { x: n, y: 0 }, + ], + a = e.insert('polygon', ':first-child').attr( + 'points', + s + .map(function (e) { + return e.x + ',' + e.y; + }) + .join(' ') + ); + return ( + (i.intersect = function (e) { + return o(i, s, e); + }), + a + ); + }, + }; + }, + 28355: (e, t, i) => { + var n = i(91034); + e.exports = { + isSubgraph: function (e, t) { + return !!e.children(t).length; + }, + edgeToId: function (e) { + return s(e.v) + ':' + s(e.w) + ':' + s(e.name); + }, + applyStyle: function (e, t) { + t && e.attr('style', t); + }, + applyClass: function (e, t, i) { + t && e.attr('class', t).attr('class', i + ' ' + e.attr('class')); + }, + applyTransition: function (e, t) { + var i = t.graph(); + if (n.isPlainObject(i)) { + var r = i.transition; + if (n.isFunction(r)) return r(e); + } + return e; + }, + }; + var r = /:/g; + function s(e) { + return e ? String(e).replace(r, '\\:') : ''; + } + }, + 55689: (e) => { + e.exports = '0.6.4'; + }, + 72135: (e, t, i) => { + e.exports = { + graphlib: i(33653), + layout: i(23946), + debug: i(76181), + util: { time: i(65029).time, notime: i(65029).notime }, + version: i(96350), + }; + }, + 33717: (e, t, i) => { + 'use strict'; + var n = i(29603), + r = i(16487); + e.exports = { + run: function (e) { + var t = + 'greedy' === e.graph().acyclicer + ? r( + e, + (function (e) { + return function (t) { + return e.edge(t).weight; + }; + })(e) + ) + : (function (e) { + var t = [], + i = {}, + r = {}; + return ( + n.forEach(e.nodes(), function s(o) { + n.has(r, o) || + ((r[o] = !0), + (i[o] = !0), + n.forEach(e.outEdges(o), function (e) { + n.has(i, e.w) ? t.push(e) : s(e.w); + }), + delete i[o]); + }), + t + ); + })(e); + n.forEach(t, function (t) { + var i = e.edge(t); + e.removeEdge(t), + (i.forwardName = t.name), + (i.reversed = !0), + e.setEdge(t.w, t.v, i, n.uniqueId('rev')); + }); + }, + undo: function (e) { + n.forEach(e.edges(), function (t) { + var i = e.edge(t); + if (i.reversed) { + e.removeEdge(t); + var n = i.forwardName; + delete i.reversed, + delete i.forwardName, + e.setEdge(t.w, t.v, i, n); + } + }); + }, + }; + }, + 52226: (e, t, i) => { + var n = i(29603), + r = i(65029); + function s(e, t, i, n, s, o) { + var a = { width: 0, height: 0, rank: o, borderType: t }, + l = s[t][o - 1], + c = r.addDummyNode(e, 'border', a, i); + (s[t][o] = c), e.setParent(c, n), l && e.setEdge(l, c, { weight: 1 }); + } + e.exports = function (e) { + n.forEach(e.children(), function t(i) { + var r = e.children(i), + o = e.node(i); + if ((r.length && n.forEach(r, t), n.has(o, 'minRank'))) { + (o.borderLeft = []), (o.borderRight = []); + for (var a = o.minRank, l = o.maxRank + 1; a < l; ++a) + s(e, 'borderLeft', '_bl', i, o, a), + s(e, 'borderRight', '_br', i, o, a); + } + }); + }; + }, + 64181: (e, t, i) => { + 'use strict'; + var n = i(29603); + function r(e) { + n.forEach(e.nodes(), function (t) { + s(e.node(t)); + }), + n.forEach(e.edges(), function (t) { + s(e.edge(t)); + }); + } + function s(e) { + var t = e.width; + (e.width = e.height), (e.height = t); + } + function o(e) { + e.y = -e.y; + } + function a(e) { + var t = e.x; + (e.x = e.y), (e.y = t); + } + e.exports = { + adjust: function (e) { + var t = e.graph().rankdir.toLowerCase(); + ('lr' !== t && 'rl' !== t) || r(e); + }, + undo: function (e) { + var t = e.graph().rankdir.toLowerCase(); + ('bt' !== t && 'rl' !== t) || + (function (e) { + n.forEach(e.nodes(), function (t) { + o(e.node(t)); + }), + n.forEach(e.edges(), function (t) { + var i = e.edge(t); + n.forEach(i.points, o), n.has(i, 'y') && o(i); + }); + })(e), + ('lr' !== t && 'rl' !== t) || + ((function (e) { + n.forEach(e.nodes(), function (t) { + a(e.node(t)); + }), + n.forEach(e.edges(), function (t) { + var i = e.edge(t); + n.forEach(i.points, a), n.has(i, 'x') && a(i); + }); + })(e), + r(e)); + }, + }; + }, + 21210: (e) => { + function t() { + var e = {}; + (e._next = e._prev = e), (this._sentinel = e); + } + function i(e) { + (e._prev._next = e._next), + (e._next._prev = e._prev), + delete e._next, + delete e._prev; + } + function n(e, t) { + if ('_next' !== e && '_prev' !== e) return t; + } + (e.exports = t), + (t.prototype.dequeue = function () { + var e = this._sentinel, + t = e._prev; + if (t !== e) return i(t), t; + }), + (t.prototype.enqueue = function (e) { + var t = this._sentinel; + e._prev && e._next && i(e), + (e._next = t._next), + (t._next._prev = e), + (t._next = e), + (e._prev = t); + }), + (t.prototype.toString = function () { + for (var e = [], t = this._sentinel, i = t._prev; i !== t; ) + e.push(JSON.stringify(i, n)), (i = i._prev); + return '[' + e.join(', ') + ']'; + }); + }, + 76181: (e, t, i) => { + var n = i(29603), + r = i(65029), + s = i(33653).Graph; + e.exports = { + debugOrdering: function (e) { + var t = r.buildLayerMatrix(e), + i = new s({ compound: !0, multigraph: !0 }).setGraph({}); + return ( + n.forEach(e.nodes(), function (t) { + i.setNode(t, { label: t }), + i.setParent(t, 'layer' + e.node(t).rank); + }), + n.forEach(e.edges(), function (e) { + i.setEdge(e.v, e.w, {}, e.name); + }), + n.forEach(t, function (e, t) { + var r = 'layer' + t; + i.setNode(r, { rank: 'same' }), + n.reduce(e, function (e, t) { + return i.setEdge(e, t, { style: 'invis' }), t; + }); + }), + i + ); + }, + }; + }, + 33653: (e, t, i) => { + var n; + try { + n = i(79550); + } catch (e) {} + n || (n = window.graphlib), (e.exports = n); + }, + 16487: (e, t, i) => { + var n = i(29603), + r = i(33653).Graph, + s = i(21210); + e.exports = function (e, t) { + if (e.nodeCount() <= 1) return []; + var i = (function (e, t) { + var i = new r(), + o = 0, + a = 0; + n.forEach(e.nodes(), function (e) { + i.setNode(e, { v: e, in: 0, out: 0 }); + }), + n.forEach(e.edges(), function (e) { + var n = i.edge(e.v, e.w) || 0, + r = t(e), + s = n + r; + i.setEdge(e.v, e.w, s), + (a = Math.max(a, (i.node(e.v).out += r))), + (o = Math.max(o, (i.node(e.w).in += r))); + }); + var c = n.range(a + o + 3).map(function () { + return new s(); + }), + d = o + 1; + return ( + n.forEach(i.nodes(), function (e) { + l(c, d, i.node(e)); + }), + { graph: i, buckets: c, zeroIdx: d } + ); + })(e, t || o), + c = (function (e, t, i) { + for ( + var n, r = [], s = t[t.length - 1], o = t[0]; + e.nodeCount(); + + ) { + for (; (n = o.dequeue()); ) a(e, t, i, n); + for (; (n = s.dequeue()); ) a(e, t, i, n); + if (e.nodeCount()) + for (var l = t.length - 2; l > 0; --l) + if ((n = t[l].dequeue())) { + r = r.concat(a(e, t, i, n, !0)); + break; + } + } + return r; + })(i.graph, i.buckets, i.zeroIdx); + return n.flatten( + n.map(c, function (t) { + return e.outEdges(t.v, t.w); + }), + !0 + ); + }; + var o = n.constant(1); + function a(e, t, i, r, s) { + var o = s ? [] : void 0; + return ( + n.forEach(e.inEdges(r.v), function (n) { + var r = e.edge(n), + a = e.node(n.v); + s && o.push({ v: n.v, w: n.w }), (a.out -= r), l(t, i, a); + }), + n.forEach(e.outEdges(r.v), function (n) { + var r = e.edge(n), + s = n.w, + o = e.node(s); + (o.in -= r), l(t, i, o); + }), + e.removeNode(r.v), + o + ); + } + function l(e, t, i) { + i.out + ? i.in + ? e[i.out - i.in + t].enqueue(i) + : e[e.length - 1].enqueue(i) + : e[0].enqueue(i); + } + }, + 23946: (e, t, i) => { + 'use strict'; + var n = i(29603), + r = i(33717), + s = i(75399), + o = i(26833), + a = i(65029).normalizeRanks, + l = i(65891), + c = i(65029).removeEmptyRanks, + d = i(33956), + h = i(52226), + u = i(64181), + g = i(18095), + f = i(86587), + p = i(65029), + m = i(33653).Graph; + e.exports = function (e, t) { + var i = t && t.debugTiming ? p.time : p.notime; + i('layout', function () { + var t = i(' buildLayoutGraph', function () { + return (function (e) { + var t = new m({ multigraph: !0, compound: !0 }), + i = L(e.graph()); + return ( + t.setGraph(n.merge({}, b, x(i, _), n.pick(i, v))), + n.forEach(e.nodes(), function (i) { + var r = L(e.node(i)); + t.setNode(i, n.defaults(x(r, y), w)), + t.setParent(i, e.parent(i)); + }), + n.forEach(e.edges(), function (i) { + var r = L(e.edge(i)); + t.setEdge(i, n.merge({}, S, x(r, C), n.pick(r, k))); + }), + t + ); + })(e); + }); + i(' runLayout', function () { + !(function (e, t) { + t(' makeSpaceForEdgeLabels', function () { + !(function (e) { + var t = e.graph(); + (t.ranksep /= 2), + n.forEach(e.edges(), function (i) { + var n = e.edge(i); + (n.minlen *= 2), + 'c' !== n.labelpos.toLowerCase() && + ('TB' === t.rankdir || 'BT' === t.rankdir + ? (n.width += n.labeloffset) + : (n.height += n.labeloffset)); + }); + })(e); + }), + t(' removeSelfEdges', function () { + !(function (e) { + n.forEach(e.edges(), function (t) { + if (t.v === t.w) { + var i = e.node(t.v); + i.selfEdges || (i.selfEdges = []), + i.selfEdges.push({ e: t, label: e.edge(t) }), + e.removeEdge(t); + } + }); + })(e); + }), + t(' acyclic', function () { + r.run(e); + }), + t(' nestingGraph.run', function () { + d.run(e); + }), + t(' rank', function () { + o(p.asNonCompoundGraph(e)); + }), + t(' injectEdgeLabelProxies', function () { + !(function (e) { + n.forEach(e.edges(), function (t) { + var i = e.edge(t); + if (i.width && i.height) { + var n = e.node(t.v), + r = { + rank: (e.node(t.w).rank - n.rank) / 2 + n.rank, + e: t, + }; + p.addDummyNode(e, 'edge-proxy', r, '_ep'); + } + }); + })(e); + }), + t(' removeEmptyRanks', function () { + c(e); + }), + t(' nestingGraph.cleanup', function () { + d.cleanup(e); + }), + t(' normalizeRanks', function () { + a(e); + }), + t(' assignRankMinMax', function () { + !(function (e) { + var t = 0; + n.forEach(e.nodes(), function (i) { + var r = e.node(i); + r.borderTop && + ((r.minRank = e.node(r.borderTop).rank), + (r.maxRank = e.node(r.borderBottom).rank), + (t = n.max(t, r.maxRank))); + }), + (e.graph().maxRank = t); + })(e); + }), + t(' removeEdgeLabelProxies', function () { + !(function (e) { + n.forEach(e.nodes(), function (t) { + var i = e.node(t); + 'edge-proxy' === i.dummy && + ((e.edge(i.e).labelRank = i.rank), e.removeNode(t)); + }); + })(e); + }), + t(' normalize.run', function () { + s.run(e); + }), + t(' parentDummyChains', function () { + l(e); + }), + t(' addBorderSegments', function () { + h(e); + }), + t(' order', function () { + g(e); + }), + t(' insertSelfEdges', function () { + !(function (e) { + var t = p.buildLayerMatrix(e); + n.forEach(t, function (t) { + var i = 0; + n.forEach(t, function (t, r) { + var s = e.node(t); + (s.order = r + i), + n.forEach(s.selfEdges, function (t) { + p.addDummyNode( + e, + 'selfedge', + { + width: t.label.width, + height: t.label.height, + rank: s.rank, + order: r + ++i, + e: t.e, + label: t.label, + }, + '_se' + ); + }), + delete s.selfEdges; + }); + }); + })(e); + }), + t(' adjustCoordinateSystem', function () { + u.adjust(e); + }), + t(' position', function () { + f(e); + }), + t(' positionSelfEdges', function () { + !(function (e) { + n.forEach(e.nodes(), function (t) { + var i = e.node(t); + if ('selfedge' === i.dummy) { + var n = e.node(i.e.v), + r = n.x + n.width / 2, + s = n.y, + o = i.x - r, + a = n.height / 2; + e.setEdge(i.e, i.label), + e.removeNode(t), + (i.label.points = [ + { x: r + (2 * o) / 3, y: s - a }, + { x: r + (5 * o) / 6, y: s - a }, + { x: r + o, y: s }, + { x: r + (5 * o) / 6, y: s + a }, + { x: r + (2 * o) / 3, y: s + a }, + ]), + (i.label.x = i.x), + (i.label.y = i.y); + } + }); + })(e); + }), + t(' removeBorderNodes', function () { + !(function (e) { + n.forEach(e.nodes(), function (t) { + if (e.children(t).length) { + var i = e.node(t), + r = e.node(i.borderTop), + s = e.node(i.borderBottom), + o = e.node(n.last(i.borderLeft)), + a = e.node(n.last(i.borderRight)); + (i.width = Math.abs(a.x - o.x)), + (i.height = Math.abs(s.y - r.y)), + (i.x = o.x + i.width / 2), + (i.y = r.y + i.height / 2); + } + }), + n.forEach(e.nodes(), function (t) { + 'border' === e.node(t).dummy && e.removeNode(t); + }); + })(e); + }), + t(' normalize.undo', function () { + s.undo(e); + }), + t(' fixupEdgeLabelCoords', function () { + !(function (e) { + n.forEach(e.edges(), function (t) { + var i = e.edge(t); + if (n.has(i, 'x')) + switch ( + (('l' !== i.labelpos && 'r' !== i.labelpos) || + (i.width -= i.labeloffset), + i.labelpos) + ) { + case 'l': + i.x -= i.width / 2 + i.labeloffset; + break; + case 'r': + i.x += i.width / 2 + i.labeloffset; + } + }); + })(e); + }), + t(' undoCoordinateSystem', function () { + u.undo(e); + }), + t(' translateGraph', function () { + !(function (e) { + var t = Number.POSITIVE_INFINITY, + i = 0, + r = Number.POSITIVE_INFINITY, + s = 0, + o = e.graph(), + a = o.marginx || 0, + l = o.marginy || 0; + function c(e) { + var n = e.x, + o = e.y, + a = e.width, + l = e.height; + (t = Math.min(t, n - a / 2)), + (i = Math.max(i, n + a / 2)), + (r = Math.min(r, o - l / 2)), + (s = Math.max(s, o + l / 2)); + } + n.forEach(e.nodes(), function (t) { + c(e.node(t)); + }), + n.forEach(e.edges(), function (t) { + var i = e.edge(t); + n.has(i, 'x') && c(i); + }), + (t -= a), + (r -= l), + n.forEach(e.nodes(), function (i) { + var n = e.node(i); + (n.x -= t), (n.y -= r); + }), + n.forEach(e.edges(), function (i) { + var s = e.edge(i); + n.forEach(s.points, function (e) { + (e.x -= t), (e.y -= r); + }), + n.has(s, 'x') && (s.x -= t), + n.has(s, 'y') && (s.y -= r); + }), + (o.width = i - t + a), + (o.height = s - r + l); + })(e); + }), + t(' assignNodeIntersects', function () { + !(function (e) { + n.forEach(e.edges(), function (t) { + var i, + n, + r = e.edge(t), + s = e.node(t.v), + o = e.node(t.w); + r.points + ? ((i = r.points[0]), + (n = r.points[r.points.length - 1])) + : ((r.points = []), (i = o), (n = s)), + r.points.unshift(p.intersectRect(s, i)), + r.points.push(p.intersectRect(o, n)); + }); + })(e); + }), + t(' reversePoints', function () { + !(function (e) { + n.forEach(e.edges(), function (t) { + var i = e.edge(t); + i.reversed && i.points.reverse(); + }); + })(e); + }), + t(' acyclic.undo', function () { + r.undo(e); + }); + })(t, i); + }), + i(' updateInputGraph', function () { + !(function (e, t) { + n.forEach(e.nodes(), function (i) { + var n = e.node(i), + r = t.node(i); + n && + ((n.x = r.x), + (n.y = r.y), + t.children(i).length && + ((n.width = r.width), (n.height = r.height))); + }), + n.forEach(e.edges(), function (i) { + var r = e.edge(i), + s = t.edge(i); + (r.points = s.points), + n.has(s, 'x') && ((r.x = s.x), (r.y = s.y)); + }), + (e.graph().width = t.graph().width), + (e.graph().height = t.graph().height); + })(e, t); + }); + }); + }; + var _ = ['nodesep', 'edgesep', 'ranksep', 'marginx', 'marginy'], + b = { ranksep: 50, edgesep: 20, nodesep: 50, rankdir: 'tb' }, + v = ['acyclicer', 'ranker', 'rankdir', 'align'], + y = ['width', 'height'], + w = { width: 0, height: 0 }, + C = ['minlen', 'weight', 'width', 'height', 'labeloffset'], + S = { + minlen: 1, + weight: 1, + width: 0, + height: 0, + labeloffset: 10, + labelpos: 'r', + }, + k = ['labelpos']; + function x(e, t) { + return n.mapValues(n.pick(e, t), Number); + } + function L(e) { + var t = {}; + return ( + n.forEach(e, function (e, i) { + t[i.toLowerCase()] = e; + }), + t + ); + } + }, + 29603: (e, t, i) => { + var n; + try { + n = { + cloneDeep: i(50361), + constant: i(75703), + defaults: i(91747), + each: i(66073), + filter: i(63105), + find: i(13311), + flatten: i(85564), + forEach: i(84486), + forIn: i(62620), + has: i(18721), + isUndefined: i(52353), + last: i(10928), + map: i(35161), + mapValues: i(66604), + max: i(6162), + merge: i(82492), + min: i(53632), + minBy: i(22762), + now: i(7771), + pick: i(78718), + range: i(96026), + reduce: i(54061), + sortBy: i(89734), + uniqueId: i(73955), + values: i(52628), + zipObject: i(7287), + }; + } catch (e) {} + n || (n = window._), (e.exports = n); + }, + 33956: (e, t, i) => { + var n = i(29603), + r = i(65029); + function s(e, t, i, o, a, l, c) { + var d = e.children(c); + if (d.length) { + var h = r.addBorderNode(e, '_bt'), + u = r.addBorderNode(e, '_bb'), + g = e.node(c); + e.setParent(h, c), + (g.borderTop = h), + e.setParent(u, c), + (g.borderBottom = u), + n.forEach(d, function (n) { + s(e, t, i, o, a, l, n); + var r = e.node(n), + d = r.borderTop ? r.borderTop : n, + g = r.borderBottom ? r.borderBottom : n, + f = r.borderTop ? o : 2 * o, + p = d !== g ? 1 : a - l[c] + 1; + e.setEdge(h, d, { weight: f, minlen: p, nestingEdge: !0 }), + e.setEdge(g, u, { weight: f, minlen: p, nestingEdge: !0 }); + }), + e.parent(c) || e.setEdge(t, h, { weight: 0, minlen: a + l[c] }); + } else c !== t && e.setEdge(t, c, { weight: 0, minlen: i }); + } + e.exports = { + run: function (e) { + var t = r.addDummyNode(e, 'root', {}, '_root'), + i = (function (e) { + var t = {}; + function i(r, s) { + var o = e.children(r); + o && + o.length && + n.forEach(o, function (e) { + i(e, s + 1); + }), + (t[r] = s); + } + return ( + n.forEach(e.children(), function (e) { + i(e, 1); + }), + t + ); + })(e), + o = n.max(n.values(i)) - 1, + a = 2 * o + 1; + (e.graph().nestingRoot = t), + n.forEach(e.edges(), function (t) { + e.edge(t).minlen *= a; + }); + var l = + (function (e) { + return n.reduce( + e.edges(), + function (t, i) { + return t + e.edge(i).weight; + }, + 0 + ); + })(e) + 1; + n.forEach(e.children(), function (n) { + s(e, t, a, l, o, i, n); + }), + (e.graph().nodeRankFactor = a); + }, + cleanup: function (e) { + var t = e.graph(); + e.removeNode(t.nestingRoot), + delete t.nestingRoot, + n.forEach(e.edges(), function (t) { + e.edge(t).nestingEdge && e.removeEdge(t); + }); + }, + }; + }, + 75399: (e, t, i) => { + 'use strict'; + var n = i(29603), + r = i(65029); + e.exports = { + run: function (e) { + (e.graph().dummyChains = []), + n.forEach(e.edges(), function (t) { + !(function (e, t) { + var i, + n, + s, + o = t.v, + a = e.node(o).rank, + l = t.w, + c = e.node(l).rank, + d = t.name, + h = e.edge(t), + u = h.labelRank; + if (c !== a + 1) { + for (e.removeEdge(t), s = 0, ++a; a < c; ++s, ++a) + (h.points = []), + (n = { + width: 0, + height: 0, + edgeLabel: h, + edgeObj: t, + rank: a, + }), + (i = r.addDummyNode(e, 'edge', n, '_d')), + a === u && + ((n.width = h.width), + (n.height = h.height), + (n.dummy = 'edge-label'), + (n.labelpos = h.labelpos)), + e.setEdge(o, i, { weight: h.weight }, d), + 0 === s && e.graph().dummyChains.push(i), + (o = i); + e.setEdge(o, l, { weight: h.weight }, d); + } + })(e, t); + }); + }, + undo: function (e) { + n.forEach(e.graph().dummyChains, function (t) { + var i, + n = e.node(t), + r = n.edgeLabel; + for (e.setEdge(n.edgeObj, r); n.dummy; ) + (i = e.successors(t)[0]), + e.removeNode(t), + r.points.push({ x: n.x, y: n.y }), + 'edge-label' === n.dummy && + ((r.x = n.x), + (r.y = n.y), + (r.width = n.width), + (r.height = n.height)), + (t = i), + (n = e.node(t)); + }); + }, + }; + }, + 67266: (e, t, i) => { + var n = i(29603); + e.exports = function (e, t, i) { + var r, + s = {}; + n.forEach(i, function (i) { + for (var n, o, a = e.parent(i); a; ) { + if ( + ((n = e.parent(a)) + ? ((o = s[n]), (s[n] = a)) + : ((o = r), (r = a)), + o && o !== a) + ) + return void t.setEdge(o, a); + a = n; + } + }); + }; + }, + 57210: (e, t, i) => { + var n = i(29603); + e.exports = function (e, t) { + return n.map(t, function (t) { + var i = e.inEdges(t); + if (i.length) { + var r = n.reduce( + i, + function (t, i) { + var n = e.edge(i), + r = e.node(i.v); + return { + sum: t.sum + n.weight * r.order, + weight: t.weight + n.weight, + }; + }, + { sum: 0, weight: 0 } + ); + return { v: t, barycenter: r.sum / r.weight, weight: r.weight }; + } + return { v: t }; + }); + }; + }, + 78007: (e, t, i) => { + var n = i(29603), + r = i(33653).Graph; + e.exports = function (e, t, i) { + var s = (function (e) { + for (var t; e.hasNode((t = n.uniqueId('_root'))); ); + return t; + })(e), + o = new r({ compound: !0 }) + .setGraph({ root: s }) + .setDefaultNodeLabel(function (t) { + return e.node(t); + }); + return ( + n.forEach(e.nodes(), function (r) { + var a = e.node(r), + l = e.parent(r); + (a.rank === t || (a.minRank <= t && t <= a.maxRank)) && + (o.setNode(r), + o.setParent(r, l || s), + n.forEach(e[i](r), function (t) { + var i = t.v === r ? t.w : t.v, + s = o.edge(i, r), + a = n.isUndefined(s) ? 0 : s.weight; + o.setEdge(i, r, { weight: e.edge(t).weight + a }); + }), + n.has(a, 'minRank') && + o.setNode(r, { + borderLeft: a.borderLeft[t], + borderRight: a.borderRight[t], + })); + }), + o + ); + }; + }, + 20434: (e, t, i) => { + 'use strict'; + var n = i(29603); + function r(e, t, i) { + for ( + var r = n.zipObject( + i, + n.map(i, function (e, t) { + return t; + }) + ), + s = n.flatten( + n.map(t, function (t) { + return n.sortBy( + n.map(e.outEdges(t), function (t) { + return { pos: r[t.w], weight: e.edge(t).weight }; + }), + 'pos' + ); + }), + !0 + ), + o = 1; + o < i.length; + + ) + o <<= 1; + var a = 2 * o - 1; + o -= 1; + var l = n.map(new Array(a), function () { + return 0; + }), + c = 0; + return ( + n.forEach( + s.forEach(function (e) { + var t = e.pos + o; + l[t] += e.weight; + for (var i = 0; t > 0; ) + t % 2 && (i += l[t + 1]), (l[(t = (t - 1) >> 1)] += e.weight); + c += e.weight * i; + }) + ), + c + ); + } + e.exports = function (e, t) { + for (var i = 0, n = 1; n < t.length; ++n) i += r(e, t[n - 1], t[n]); + return i; + }; + }, + 18095: (e, t, i) => { + 'use strict'; + var n = i(29603), + r = i(48559), + s = i(20434), + o = i(40373), + a = i(78007), + l = i(67266), + c = i(33653).Graph, + d = i(65029); + function h(e, t, i) { + return n.map(t, function (t) { + return a(e, t, i); + }); + } + function u(e, t) { + var i = new c(); + n.forEach(e, function (e) { + var r = e.graph().root, + s = o(e, r, i, t); + n.forEach(s.vs, function (t, i) { + e.node(t).order = i; + }), + l(e, i, s.vs); + }); + } + function g(e, t) { + n.forEach(t, function (t) { + n.forEach(t, function (t, i) { + e.node(t).order = i; + }); + }); + } + e.exports = function (e) { + var t = d.maxRank(e), + i = h(e, n.range(1, t + 1), 'inEdges'), + o = h(e, n.range(t - 1, -1, -1), 'outEdges'), + a = r(e); + g(e, a); + for ( + var l, c = Number.POSITIVE_INFINITY, f = 0, p = 0; + p < 4; + ++f, ++p + ) { + u(f % 2 ? i : o, f % 4 >= 2), (a = d.buildLayerMatrix(e)); + var m = s(e, a); + m < c && ((p = 0), (l = n.cloneDeep(a)), (c = m)); + } + g(e, l); + }; + }, + 48559: (e, t, i) => { + 'use strict'; + var n = i(29603); + e.exports = function (e) { + var t = {}, + i = n.filter(e.nodes(), function (t) { + return !e.children(t).length; + }), + r = n.max( + n.map(i, function (t) { + return e.node(t).rank; + }) + ), + s = n.map(n.range(r + 1), function () { + return []; + }), + o = n.sortBy(i, function (t) { + return e.node(t).rank; + }); + return ( + n.forEach(o, function i(r) { + if (!n.has(t, r)) { + t[r] = !0; + var o = e.node(r); + s[o.rank].push(r), n.forEach(e.successors(r), i); + } + }), + s + ); + }; + }, + 91058: (e, t, i) => { + 'use strict'; + var n = i(29603); + e.exports = function (e, t) { + var i = {}; + return ( + n.forEach(e, function (e, t) { + var r = (i[e.v] = { + indegree: 0, + in: [], + out: [], + vs: [e.v], + i: t, + }); + n.isUndefined(e.barycenter) || + ((r.barycenter = e.barycenter), (r.weight = e.weight)); + }), + n.forEach(t.edges(), function (e) { + var t = i[e.v], + r = i[e.w]; + n.isUndefined(t) || + n.isUndefined(r) || + (r.indegree++, t.out.push(i[e.w])); + }), + (function (e) { + var t = []; + function i(e) { + return function (t) { + var i, r, s, o; + t.merged || + ((n.isUndefined(t.barycenter) || + n.isUndefined(e.barycenter) || + t.barycenter >= e.barycenter) && + ((r = t), + (s = 0), + (o = 0), + (i = e).weight && + ((s += i.barycenter * i.weight), (o += i.weight)), + r.weight && + ((s += r.barycenter * r.weight), (o += r.weight)), + (i.vs = r.vs.concat(i.vs)), + (i.barycenter = s / o), + (i.weight = o), + (i.i = Math.min(r.i, i.i)), + (r.merged = !0))); + }; + } + function r(t) { + return function (i) { + i.in.push(t), 0 == --i.indegree && e.push(i); + }; + } + for (; e.length; ) { + var s = e.pop(); + t.push(s), + n.forEach(s.in.reverse(), i(s)), + n.forEach(s.out, r(s)); + } + return n.map( + n.filter(t, function (e) { + return !e.merged; + }), + function (e) { + return n.pick(e, ['vs', 'i', 'barycenter', 'weight']); + } + ); + })( + n.filter(i, function (e) { + return !e.indegree; + }) + ) + ); + }; + }, + 40373: (e, t, i) => { + var n = i(29603), + r = i(57210), + s = i(91058), + o = i(96779); + e.exports = function e(t, i, a, l) { + var c = t.children(i), + d = t.node(i), + h = d ? d.borderLeft : void 0, + u = d ? d.borderRight : void 0, + g = {}; + h && + (c = n.filter(c, function (e) { + return e !== h && e !== u; + })); + var f = r(t, c); + n.forEach(f, function (i) { + if (t.children(i.v).length) { + var r = e(t, i.v, a, l); + (g[i.v] = r), + n.has(r, 'barycenter') && + ((s = i), + (o = r), + n.isUndefined(s.barycenter) + ? ((s.barycenter = o.barycenter), (s.weight = o.weight)) + : ((s.barycenter = + (s.barycenter * s.weight + o.barycenter * o.weight) / + (s.weight + o.weight)), + (s.weight += o.weight))); + } + var s, o; + }); + var p = s(f, a); + !(function (e, t) { + n.forEach(e, function (e) { + e.vs = n.flatten( + e.vs.map(function (e) { + return t[e] ? t[e].vs : e; + }), + !0 + ); + }); + })(p, g); + var m = o(p, l); + if ( + h && + ((m.vs = n.flatten([h, m.vs, u], !0)), t.predecessors(h).length) + ) { + var _ = t.node(t.predecessors(h)[0]), + b = t.node(t.predecessors(u)[0]); + n.has(m, 'barycenter') || ((m.barycenter = 0), (m.weight = 0)), + (m.barycenter = + (m.barycenter * m.weight + _.order + b.order) / (m.weight + 2)), + (m.weight += 2); + } + return m; + }; + }, + 96779: (e, t, i) => { + var n = i(29603), + r = i(65029); + function s(e, t, i) { + for (var r; t.length && (r = n.last(t)).i <= i; ) + t.pop(), e.push(r.vs), i++; + return i; + } + e.exports = function (e, t) { + var i, + o = r.partition(e, function (e) { + return n.has(e, 'barycenter'); + }), + a = o.lhs, + l = n.sortBy(o.rhs, function (e) { + return -e.i; + }), + c = [], + d = 0, + h = 0, + u = 0; + a.sort( + ((i = !!t), + function (e, t) { + return e.barycenter < t.barycenter + ? -1 + : e.barycenter > t.barycenter + ? 1 + : i + ? t.i - e.i + : e.i - t.i; + }) + ), + (u = s(c, l, u)), + n.forEach(a, function (e) { + (u += e.vs.length), + c.push(e.vs), + (d += e.barycenter * e.weight), + (h += e.weight), + (u = s(c, l, u)); + }); + var g = { vs: n.flatten(c, !0) }; + return h && ((g.barycenter = d / h), (g.weight = h)), g; + }; + }, + 65891: (e, t, i) => { + var n = i(29603); + e.exports = function (e) { + var t = (function (e) { + var t = {}, + i = 0; + return ( + n.forEach(e.children(), function r(s) { + var o = i; + n.forEach(e.children(s), r), (t[s] = { low: o, lim: i++ }); + }), + t + ); + })(e); + n.forEach(e.graph().dummyChains, function (i) { + for ( + var n = e.node(i), + r = n.edgeObj, + s = (function (e, t, i, n) { + var r, + s, + o = [], + a = [], + l = Math.min(t[i].low, t[n].low), + c = Math.max(t[i].lim, t[n].lim); + r = i; + do { + (r = e.parent(r)), o.push(r); + } while (r && (t[r].low > l || c > t[r].lim)); + for (s = r, r = n; (r = e.parent(r)) !== s; ) a.push(r); + return { path: o.concat(a.reverse()), lca: s }; + })(e, t, r.v, r.w), + o = s.path, + a = s.lca, + l = 0, + c = o[l], + d = !0; + i !== r.w; + + ) { + if (((n = e.node(i)), d)) { + for (; (c = o[l]) !== a && e.node(c).maxRank < n.rank; ) l++; + c === a && (d = !1); + } + if (!d) { + for ( + ; + l < o.length - 1 && e.node((c = o[l + 1])).minRank <= n.rank; + + ) + l++; + c = o[l]; + } + e.setParent(i, c), (i = e.successors(i)[0]); + } + }); + }; + }, + 19998: (e, t, i) => { + 'use strict'; + var n = i(29603), + r = i(33653).Graph, + s = i(65029); + function o(e, t) { + var i = {}; + return ( + n.reduce(t, function (t, r) { + var s = 0, + o = 0, + a = t.length, + c = n.last(r); + return ( + n.forEach(r, function (t, d) { + var h = (function (e, t) { + if (e.node(t).dummy) + return n.find(e.predecessors(t), function (t) { + return e.node(t).dummy; + }); + })(e, t), + u = h ? e.node(h).order : a; + (h || t === c) && + (n.forEach(r.slice(o, d + 1), function (t) { + n.forEach(e.predecessors(t), function (n) { + var r = e.node(n), + o = r.order; + !(o < s || u < o) || + (r.dummy && e.node(t).dummy) || + l(i, n, t); + }); + }), + (o = d + 1), + (s = u)); + }), + r + ); + }), + i + ); + } + function a(e, t) { + var i = {}; + function r(t, r, s, o, a) { + var c; + n.forEach(n.range(r, s), function (r) { + (c = t[r]), + e.node(c).dummy && + n.forEach(e.predecessors(c), function (t) { + var n = e.node(t); + n.dummy && (n.order < o || n.order > a) && l(i, t, c); + }); + }); + } + return ( + n.reduce(t, function (t, i) { + var s, + o = -1, + a = 0; + return ( + n.forEach(i, function (n, l) { + if ('border' === e.node(n).dummy) { + var c = e.predecessors(n); + c.length && + ((s = e.node(c[0]).order), + r(i, a, l, o, s), + (a = l), + (o = s)); + } + r(i, a, i.length, s, t.length); + }), + i + ); + }), + i + ); + } + function l(e, t, i) { + if (t > i) { + var n = t; + (t = i), (i = n); + } + var r = e[t]; + r || (e[t] = r = {}), (r[i] = !0); + } + function c(e, t, i) { + if (t > i) { + var r = t; + (t = i), (i = r); + } + return n.has(e[t], i); + } + function d(e, t, i, r) { + var s = {}, + o = {}, + a = {}; + return ( + n.forEach(t, function (e) { + n.forEach(e, function (e, t) { + (s[e] = e), (o[e] = e), (a[e] = t); + }); + }), + n.forEach(t, function (e) { + var t = -1; + n.forEach(e, function (e) { + var l = r(e); + if (l.length) + for ( + var d = + ((l = n.sortBy(l, function (e) { + return a[e]; + })).length - + 1) / + 2, + h = Math.floor(d), + u = Math.ceil(d); + h <= u; + ++h + ) { + var g = l[h]; + o[e] === e && + t < a[g] && + !c(i, e, g) && + ((o[g] = e), (o[e] = s[e] = s[g]), (t = a[g])); + } + }); + }), + { root: s, align: o } + ); + } + function h(e, t, i, s, o) { + var a = {}, + l = (function (e, t, i, s) { + var o = new r(), + a = e.graph(), + l = (function (e, t, i) { + return function (r, s, o) { + var a, + l = r.node(s), + c = r.node(o), + d = 0; + if (((d += l.width / 2), n.has(l, 'labelpos'))) + switch (l.labelpos.toLowerCase()) { + case 'l': + a = -l.width / 2; + break; + case 'r': + a = l.width / 2; + } + if ( + (a && (d += i ? a : -a), + (a = 0), + (d += (l.dummy ? t : e) / 2), + (d += (c.dummy ? t : e) / 2), + (d += c.width / 2), + n.has(c, 'labelpos')) + ) + switch (c.labelpos.toLowerCase()) { + case 'l': + a = c.width / 2; + break; + case 'r': + a = -c.width / 2; + } + return a && (d += i ? a : -a), (a = 0), d; + }; + })(a.nodesep, a.edgesep, s); + return ( + n.forEach(t, function (t) { + var r; + n.forEach(t, function (t) { + var n = i[t]; + if ((o.setNode(n), r)) { + var s = i[r], + a = o.edge(s, n); + o.setEdge(s, n, Math.max(l(e, t, r), a || 0)); + } + r = t; + }); + }), + o + ); + })(e, t, i, o), + c = o ? 'borderLeft' : 'borderRight'; + function d(e, t) { + for (var i = l.nodes(), n = i.pop(), r = {}; n; ) + r[n] ? e(n) : ((r[n] = !0), i.push(n), (i = i.concat(t(n)))), + (n = i.pop()); + } + return ( + d(function (e) { + a[e] = l.inEdges(e).reduce(function (e, t) { + return Math.max(e, a[t.v] + l.edge(t)); + }, 0); + }, l.predecessors.bind(l)), + d(function (t) { + var i = l.outEdges(t).reduce(function (e, t) { + return Math.min(e, a[t.w] - l.edge(t)); + }, Number.POSITIVE_INFINITY), + n = e.node(t); + i !== Number.POSITIVE_INFINITY && + n.borderType !== c && + (a[t] = Math.max(a[t], i)); + }, l.successors.bind(l)), + n.forEach(s, function (e) { + a[e] = a[i[e]]; + }), + a + ); + } + function u(e, t) { + return n.minBy(n.values(t), function (t) { + var i = Number.NEGATIVE_INFINITY, + r = Number.POSITIVE_INFINITY; + return ( + n.forIn(t, function (t, n) { + var s = + (function (e, t) { + return e.node(t).width; + })(e, n) / 2; + (i = Math.max(t + s, i)), (r = Math.min(t - s, r)); + }), + i - r + ); + }); + } + function g(e, t) { + var i = n.values(t), + r = n.min(i), + s = n.max(i); + n.forEach(['u', 'd'], function (i) { + n.forEach(['l', 'r'], function (o) { + var a, + l = i + o, + c = e[l]; + if (c !== t) { + var d = n.values(c); + (a = 'l' === o ? r - n.min(d) : s - n.max(d)) && + (e[l] = n.mapValues(c, function (e) { + return e + a; + })); + } + }); + }); + } + function f(e, t) { + return n.mapValues(e.ul, function (i, r) { + if (t) return e[t.toLowerCase()][r]; + var s = n.sortBy(n.map(e, r)); + return (s[1] + s[2]) / 2; + }); + } + e.exports = { + positionX: function (e) { + var t, + i = s.buildLayerMatrix(e), + r = n.merge(o(e, i), a(e, i)), + l = {}; + n.forEach(['u', 'd'], function (s) { + (t = 'u' === s ? i : n.values(i).reverse()), + n.forEach(['l', 'r'], function (i) { + 'r' === i && + (t = n.map(t, function (e) { + return n.values(e).reverse(); + })); + var o = ('u' === s ? e.predecessors : e.successors).bind(e), + a = d(0, t, r, o), + c = h(e, t, a.root, a.align, 'r' === i); + 'r' === i && + (c = n.mapValues(c, function (e) { + return -e; + })), + (l[s + i] = c); + }); + }); + var c = u(e, l); + return g(l, c), f(l, e.graph().align); + }, + findType1Conflicts: o, + findType2Conflicts: a, + addConflict: l, + hasConflict: c, + verticalAlignment: d, + horizontalCompaction: h, + alignCoordinates: g, + findSmallestWidthAlignment: u, + balance: f, + }; + }, + 86587: (e, t, i) => { + 'use strict'; + var n = i(29603), + r = i(65029), + s = i(19998).positionX; + e.exports = function (e) { + (function (e) { + var t = r.buildLayerMatrix(e), + i = e.graph().ranksep, + s = 0; + n.forEach(t, function (t) { + var r = n.max( + n.map(t, function (t) { + return e.node(t).height; + }) + ); + n.forEach(t, function (t) { + e.node(t).y = s + r / 2; + }), + (s += r + i); + }); + })((e = r.asNonCompoundGraph(e))), + n.forEach(s(e), function (t, i) { + e.node(i).x = t; + }); + }; + }, + 54434: (e, t, i) => { + 'use strict'; + var n = i(29603), + r = i(33653).Graph, + s = i(90697).slack; + function o(e, t) { + return ( + n.forEach(e.nodes(), function i(r) { + n.forEach(t.nodeEdges(r), function (n) { + var o = n.v, + a = r === o ? n.w : o; + e.hasNode(a) || + s(t, n) || + (e.setNode(a, {}), e.setEdge(r, a, {}), i(a)); + }); + }), + e.nodeCount() + ); + } + function a(e, t) { + return n.minBy(t.edges(), function (i) { + if (e.hasNode(i.v) !== e.hasNode(i.w)) return s(t, i); + }); + } + function l(e, t, i) { + n.forEach(e.nodes(), function (e) { + t.node(e).rank += i; + }); + } + e.exports = function (e) { + var t, + i, + n = new r({ directed: !1 }), + c = e.nodes()[0], + d = e.nodeCount(); + for (n.setNode(c, {}); o(n, e) < d; ) + (t = a(n, e)), + (i = n.hasNode(t.v) ? s(e, t) : -s(e, t)), + l(n, e, i); + return n; + }; + }, + 26833: (e, t, i) => { + 'use strict'; + var n = i(90697).longestPath, + r = i(54434), + s = i(33288); + e.exports = function (e) { + switch (e.graph().ranker) { + case 'network-simplex': + a(e); + break; + case 'tight-tree': + !(function (e) { + n(e), r(e); + })(e); + break; + case 'longest-path': + o(e); + break; + default: + a(e); + } + }; + var o = n; + function a(e) { + s(e); + } + }, + 33288: (e, t, i) => { + 'use strict'; + var n = i(29603), + r = i(54434), + s = i(90697).slack, + o = i(90697).longestPath, + a = i(33653).alg.preorder, + l = i(33653).alg.postorder, + c = i(65029).simplify; + function d(e) { + (e = c(e)), o(e); + var t, + i = r(e); + for (g(i), h(i, e); (t = p(i)); ) _(i, e, t, m(i, e, t)); + } + function h(e, t) { + var i = l(e, e.nodes()); + (i = i.slice(0, i.length - 1)), + n.forEach(i, function (i) { + !(function (e, t, i) { + var n = e.node(i).parent; + e.edge(i, n).cutvalue = u(e, t, i); + })(e, t, i); + }); + } + function u(e, t, i) { + var r = e.node(i).parent, + s = !0, + o = t.edge(i, r), + a = 0; + return ( + o || ((s = !1), (o = t.edge(r, i))), + (a = o.weight), + n.forEach(t.nodeEdges(i), function (n) { + var o, + l, + c = n.v === i, + d = c ? n.w : n.v; + if (d !== r) { + var h = c === s, + u = t.edge(n).weight; + if (((a += h ? u : -u), (o = i), (l = d), e.hasEdge(o, l))) { + var g = e.edge(i, d).cutvalue; + a += h ? -g : g; + } + } + }), + a + ); + } + function g(e, t) { + arguments.length < 2 && (t = e.nodes()[0]), f(e, {}, 1, t); + } + function f(e, t, i, r, s) { + var o = i, + a = e.node(r); + return ( + (t[r] = !0), + n.forEach(e.neighbors(r), function (s) { + n.has(t, s) || (i = f(e, t, i, s, r)); + }), + (a.low = o), + (a.lim = i++), + s ? (a.parent = s) : delete a.parent, + i + ); + } + function p(e) { + return n.find(e.edges(), function (t) { + return e.edge(t).cutvalue < 0; + }); + } + function m(e, t, i) { + var r = i.v, + o = i.w; + t.hasEdge(r, o) || ((r = i.w), (o = i.v)); + var a = e.node(r), + l = e.node(o), + c = a, + d = !1; + a.lim > l.lim && ((c = l), (d = !0)); + var h = n.filter(t.edges(), function (t) { + return d === b(0, e.node(t.v), c) && d !== b(0, e.node(t.w), c); + }); + return n.minBy(h, function (e) { + return s(t, e); + }); + } + function _(e, t, i, r) { + var s = i.v, + o = i.w; + e.removeEdge(s, o), + e.setEdge(r.v, r.w, {}), + g(e), + h(e, t), + (function (e, t) { + var i = n.find(e.nodes(), function (e) { + return !t.node(e).parent; + }), + r = a(e, i); + (r = r.slice(1)), + n.forEach(r, function (i) { + var n = e.node(i).parent, + r = t.edge(i, n), + s = !1; + r || ((r = t.edge(n, i)), (s = !0)), + (t.node(i).rank = + t.node(n).rank + (s ? r.minlen : -r.minlen)); + }); + })(e, t); + } + function b(e, t, i) { + return i.low <= t.lim && t.lim <= i.lim; + } + (e.exports = d), + (d.initLowLimValues = g), + (d.initCutValues = h), + (d.calcCutValue = u), + (d.leaveEdge = p), + (d.enterEdge = m), + (d.exchangeEdges = _); + }, + 90697: (e, t, i) => { + 'use strict'; + var n = i(29603); + e.exports = { + longestPath: function (e) { + var t = {}; + n.forEach(e.sources(), function i(r) { + var s = e.node(r); + if (n.has(t, r)) return s.rank; + t[r] = !0; + var o = n.min( + n.map(e.outEdges(r), function (t) { + return i(t.w) - e.edge(t).minlen; + }) + ); + return ( + (o !== Number.POSITIVE_INFINITY && null != o) || (o = 0), + (s.rank = o) + ); + }); + }, + slack: function (e, t) { + return e.node(t.w).rank - e.node(t.v).rank - e.edge(t).minlen; + }, + }; + }, + 65029: (e, t, i) => { + 'use strict'; + var n = i(29603), + r = i(33653).Graph; + function s(e, t, i, r) { + var s; + do { + s = n.uniqueId(r); + } while (e.hasNode(s)); + return (i.dummy = t), e.setNode(s, i), s; + } + function o(e) { + return n.max( + n.map(e.nodes(), function (t) { + var i = e.node(t).rank; + if (!n.isUndefined(i)) return i; + }) + ); + } + e.exports = { + addDummyNode: s, + simplify: function (e) { + var t = new r().setGraph(e.graph()); + return ( + n.forEach(e.nodes(), function (i) { + t.setNode(i, e.node(i)); + }), + n.forEach(e.edges(), function (i) { + var n = t.edge(i.v, i.w) || { weight: 0, minlen: 1 }, + r = e.edge(i); + t.setEdge(i.v, i.w, { + weight: n.weight + r.weight, + minlen: Math.max(n.minlen, r.minlen), + }); + }), + t + ); + }, + asNonCompoundGraph: function (e) { + var t = new r({ multigraph: e.isMultigraph() }).setGraph(e.graph()); + return ( + n.forEach(e.nodes(), function (i) { + e.children(i).length || t.setNode(i, e.node(i)); + }), + n.forEach(e.edges(), function (i) { + t.setEdge(i, e.edge(i)); + }), + t + ); + }, + successorWeights: function (e) { + var t = n.map(e.nodes(), function (t) { + var i = {}; + return ( + n.forEach(e.outEdges(t), function (t) { + i[t.w] = (i[t.w] || 0) + e.edge(t).weight; + }), + i + ); + }); + return n.zipObject(e.nodes(), t); + }, + predecessorWeights: function (e) { + var t = n.map(e.nodes(), function (t) { + var i = {}; + return ( + n.forEach(e.inEdges(t), function (t) { + i[t.v] = (i[t.v] || 0) + e.edge(t).weight; + }), + i + ); + }); + return n.zipObject(e.nodes(), t); + }, + intersectRect: function (e, t) { + var i, + n, + r = e.x, + s = e.y, + o = t.x - r, + a = t.y - s, + l = e.width / 2, + c = e.height / 2; + if (!o && !a) + throw new Error( + 'Not possible to find intersection inside of the rectangle' + ); + return ( + Math.abs(a) * l > Math.abs(o) * c + ? (a < 0 && (c = -c), (i = (c * o) / a), (n = c)) + : (o < 0 && (l = -l), (i = l), (n = (l * a) / o)), + { x: r + i, y: s + n } + ); + }, + buildLayerMatrix: function (e) { + var t = n.map(n.range(o(e) + 1), function () { + return []; + }); + return ( + n.forEach(e.nodes(), function (i) { + var r = e.node(i), + s = r.rank; + n.isUndefined(s) || (t[s][r.order] = i); + }), + t + ); + }, + normalizeRanks: function (e) { + var t = n.min( + n.map(e.nodes(), function (t) { + return e.node(t).rank; + }) + ); + n.forEach(e.nodes(), function (i) { + var r = e.node(i); + n.has(r, 'rank') && (r.rank -= t); + }); + }, + removeEmptyRanks: function (e) { + var t = n.min( + n.map(e.nodes(), function (t) { + return e.node(t).rank; + }) + ), + i = []; + n.forEach(e.nodes(), function (n) { + var r = e.node(n).rank - t; + i[r] || (i[r] = []), i[r].push(n); + }); + var r = 0, + s = e.graph().nodeRankFactor; + n.forEach(i, function (t, i) { + n.isUndefined(t) && i % s != 0 + ? --r + : r && + n.forEach(t, function (t) { + e.node(t).rank += r; + }); + }); + }, + addBorderNode: function (e, t, i, n) { + var r = { width: 0, height: 0 }; + return ( + arguments.length >= 4 && ((r.rank = i), (r.order = n)), + s(e, 'border', r, t) + ); + }, + maxRank: o, + partition: function (e, t) { + var i = { lhs: [], rhs: [] }; + return ( + n.forEach(e, function (e) { + t(e) ? i.lhs.push(e) : i.rhs.push(e); + }), + i + ); + }, + time: function (e, t) { + var i = n.now(); + try { + return t(); + } finally { + console.log(e + ' time: ' + (n.now() - i) + 'ms'); + } + }, + notime: function (e, t) { + return t(); + }, + }; + }, + 96350: (e) => { + e.exports = '0.8.5'; + }, + 79550: (e, t, i) => { + var n = i(86496); + e.exports = { + Graph: n.Graph, + json: i(72159), + alg: i(95725), + version: n.version, + }; + }, + 35318: (e, t, i) => { + var n = i(23270); + e.exports = function (e) { + var t, + i = {}, + r = []; + function s(r) { + n.has(i, r) || + ((i[r] = !0), + t.push(r), + n.each(e.successors(r), s), + n.each(e.predecessors(r), s)); + } + return ( + n.each(e.nodes(), function (e) { + (t = []), s(e), t.length && r.push(t); + }), + r + ); + }; + }, + 1012: (e, t, i) => { + var n = i(23270); + function r(e, t, i, s, o, a) { + n.has(s, t) || + ((s[t] = !0), + i || a.push(t), + n.each(o(t), function (t) { + r(e, t, i, s, o, a); + }), + i && a.push(t)); + } + e.exports = function (e, t, i) { + n.isArray(t) || (t = [t]); + var s = (e.isDirected() ? e.successors : e.neighbors).bind(e), + o = [], + a = {}; + return ( + n.each(t, function (t) { + if (!e.hasNode(t)) + throw new Error('Graph does not have node: ' + t); + r(e, t, 'post' === i, a, s, o); + }), + o + ); + }; + }, + 60796: (e, t, i) => { + var n = i(68013), + r = i(23270); + e.exports = function (e, t, i) { + return r.transform( + e.nodes(), + function (r, s) { + r[s] = n(e, s, t, i); + }, + {} + ); + }; + }, + 68013: (e, t, i) => { + var n = i(23270), + r = i(43552); + e.exports = function (e, t, i, n) { + return (function (e, t, i, n) { + var s, + o, + a = {}, + l = new r(), + c = function (e) { + var t = e.v !== s ? e.v : e.w, + n = a[t], + r = i(e), + c = o.distance + r; + if (r < 0) + throw new Error( + 'dijkstra does not allow negative edge weights. Bad edge: ' + + e + + ' Weight: ' + + r + ); + c < n.distance && + ((n.distance = c), (n.predecessor = s), l.decrease(t, c)); + }; + for ( + e.nodes().forEach(function (e) { + var i = e === t ? 0 : Number.POSITIVE_INFINITY; + (a[e] = { distance: i }), l.add(e, i); + }); + l.size() > 0 && + ((s = l.removeMin()), + (o = a[s]).distance !== Number.POSITIVE_INFINITY); + + ) + n(s).forEach(c); + return a; + })( + e, + String(t), + i || s, + n || + function (t) { + return e.outEdges(t); + } + ); + }; + var s = n.constant(1); + }, + 43647: (e, t, i) => { + var n = i(23270), + r = i(72109); + e.exports = function (e) { + return n.filter(r(e), function (t) { + return t.length > 1 || (1 === t.length && e.hasEdge(t[0], t[0])); + }); + }; + }, + 61511: (e, t, i) => { + var n = i(23270); + e.exports = function (e, t, i) { + return (function (e, t, i) { + var n = {}, + r = e.nodes(); + return ( + r.forEach(function (e) { + (n[e] = {}), + (n[e][e] = { distance: 0 }), + r.forEach(function (t) { + e !== t && + (n[e][t] = { distance: Number.POSITIVE_INFINITY }); + }), + i(e).forEach(function (i) { + var r = i.v === e ? i.w : i.v, + s = t(i); + n[e][r] = { distance: s, predecessor: e }; + }); + }), + r.forEach(function (e) { + var t = n[e]; + r.forEach(function (i) { + var s = n[i]; + r.forEach(function (i) { + var n = s[e], + r = t[i], + o = s[i], + a = n.distance + r.distance; + a < o.distance && + ((o.distance = a), (o.predecessor = r.predecessor)); + }); + }); + }), + n + ); + })( + e, + t || r, + i || + function (t) { + return e.outEdges(t); + } + ); + }; + var r = n.constant(1); + }, + 95725: (e, t, i) => { + e.exports = { + components: i(35318), + dijkstra: i(68013), + dijkstraAll: i(60796), + findCycles: i(43647), + floydWarshall: i(61511), + isAcyclic: i(42330), + postorder: i(70126), + preorder: i(74613), + prim: i(70646), + tarjan: i(72109), + topsort: i(71469), + }; + }, + 42330: (e, t, i) => { + var n = i(71469); + e.exports = function (e) { + try { + n(e); + } catch (e) { + if (e instanceof n.CycleException) return !1; + throw e; + } + return !0; + }; + }, + 70126: (e, t, i) => { + var n = i(1012); + e.exports = function (e, t) { + return n(e, t, 'post'); + }; + }, + 74613: (e, t, i) => { + var n = i(1012); + e.exports = function (e, t) { + return n(e, t, 'pre'); + }; + }, + 70646: (e, t, i) => { + var n = i(23270), + r = i(81380), + s = i(43552); + e.exports = function (e, t) { + var i, + o = new r(), + a = {}, + l = new s(); + function c(e) { + var n = e.v === i ? e.w : e.v, + r = l.priority(n); + if (void 0 !== r) { + var s = t(e); + s < r && ((a[n] = i), l.decrease(n, s)); + } + } + if (0 === e.nodeCount()) return o; + n.each(e.nodes(), function (e) { + l.add(e, Number.POSITIVE_INFINITY), o.setNode(e); + }), + l.decrease(e.nodes()[0], 0); + for (var d = !1; l.size() > 0; ) { + if (((i = l.removeMin()), n.has(a, i))) o.setEdge(i, a[i]); + else { + if (d) throw new Error('Input graph is not connected: ' + e); + d = !0; + } + e.nodeEdges(i).forEach(c); + } + return o; + }; + }, + 72109: (e, t, i) => { + var n = i(23270); + e.exports = function (e) { + var t = 0, + i = [], + r = {}, + s = []; + function o(a) { + var l = (r[a] = { onStack: !0, lowlink: t, index: t++ }); + if ( + (i.push(a), + e.successors(a).forEach(function (e) { + n.has(r, e) + ? r[e].onStack && + (l.lowlink = Math.min(l.lowlink, r[e].index)) + : (o(e), (l.lowlink = Math.min(l.lowlink, r[e].lowlink))); + }), + l.lowlink === l.index) + ) { + var c, + d = []; + do { + (c = i.pop()), (r[c].onStack = !1), d.push(c); + } while (a !== c); + s.push(d); + } + } + return ( + e.nodes().forEach(function (e) { + n.has(r, e) || o(e); + }), + s + ); + }; + }, + 71469: (e, t, i) => { + var n = i(23270); + function r(e) { + var t = {}, + i = {}, + r = []; + if ( + (n.each(e.sinks(), function o(a) { + if (n.has(i, a)) throw new s(); + n.has(t, a) || + ((i[a] = !0), + (t[a] = !0), + n.each(e.predecessors(a), o), + delete i[a], + r.push(a)); + }), + n.size(t) !== e.nodeCount()) + ) + throw new s(); + return r; + } + function s() {} + (e.exports = r), (r.CycleException = s), (s.prototype = new Error()); + }, + 43552: (e, t, i) => { + var n = i(23270); + function r() { + (this._arr = []), (this._keyIndices = {}); + } + (e.exports = r), + (r.prototype.size = function () { + return this._arr.length; + }), + (r.prototype.keys = function () { + return this._arr.map(function (e) { + return e.key; + }); + }), + (r.prototype.has = function (e) { + return n.has(this._keyIndices, e); + }), + (r.prototype.priority = function (e) { + var t = this._keyIndices[e]; + if (void 0 !== t) return this._arr[t].priority; + }), + (r.prototype.min = function () { + if (0 === this.size()) throw new Error('Queue underflow'); + return this._arr[0].key; + }), + (r.prototype.add = function (e, t) { + var i = this._keyIndices; + if (((e = String(e)), !n.has(i, e))) { + var r = this._arr, + s = r.length; + return ( + (i[e] = s), + r.push({ key: e, priority: t }), + this._decrease(s), + !0 + ); + } + return !1; + }), + (r.prototype.removeMin = function () { + this._swap(0, this._arr.length - 1); + var e = this._arr.pop(); + return delete this._keyIndices[e.key], this._heapify(0), e.key; + }), + (r.prototype.decrease = function (e, t) { + var i = this._keyIndices[e]; + if (t > this._arr[i].priority) + throw new Error( + 'New priority is greater than current priority. Key: ' + + e + + ' Old: ' + + this._arr[i].priority + + ' New: ' + + t + ); + (this._arr[i].priority = t), this._decrease(i); + }), + (r.prototype._heapify = function (e) { + var t = this._arr, + i = 2 * e, + n = i + 1, + r = e; + i < t.length && + ((r = t[i].priority < t[r].priority ? i : r), + n < t.length && (r = t[n].priority < t[r].priority ? n : r), + r !== e && (this._swap(e, r), this._heapify(r))); + }), + (r.prototype._decrease = function (e) { + for ( + var t, i = this._arr, n = i[e].priority; + 0 !== e && !(i[(t = e >> 1)].priority < n); + + ) + this._swap(e, t), (e = t); + }), + (r.prototype._swap = function (e, t) { + var i = this._arr, + n = this._keyIndices, + r = i[e], + s = i[t]; + (i[e] = s), (i[t] = r), (n[s.key] = e), (n[r.key] = t); + }); + }, + 81380: (e, t, i) => { + 'use strict'; + var n = i(23270); + e.exports = s; + var r = '\0'; + function s(e) { + (this._isDirected = !n.has(e, 'directed') || e.directed), + (this._isMultigraph = !!n.has(e, 'multigraph') && e.multigraph), + (this._isCompound = !!n.has(e, 'compound') && e.compound), + (this._label = void 0), + (this._defaultNodeLabelFn = n.constant(void 0)), + (this._defaultEdgeLabelFn = n.constant(void 0)), + (this._nodes = {}), + this._isCompound && + ((this._parent = {}), + (this._children = {}), + (this._children['\0'] = {})), + (this._in = {}), + (this._preds = {}), + (this._out = {}), + (this._sucs = {}), + (this._edgeObjs = {}), + (this._edgeLabels = {}); + } + function o(e, t) { + e[t] ? e[t]++ : (e[t] = 1); + } + function a(e, t) { + --e[t] || delete e[t]; + } + function l(e, t, i, r) { + var s = '' + t, + o = '' + i; + if (!e && s > o) { + var a = s; + (s = o), (o = a); + } + return s + '' + o + '' + (n.isUndefined(r) ? '\0' : r); + } + function c(e, t, i, n) { + var r = '' + t, + s = '' + i; + if (!e && r > s) { + var o = r; + (r = s), (s = o); + } + var a = { v: r, w: s }; + return n && (a.name = n), a; + } + function d(e, t) { + return l(e, t.v, t.w, t.name); + } + (s.prototype._nodeCount = 0), + (s.prototype._edgeCount = 0), + (s.prototype.isDirected = function () { + return this._isDirected; + }), + (s.prototype.isMultigraph = function () { + return this._isMultigraph; + }), + (s.prototype.isCompound = function () { + return this._isCompound; + }), + (s.prototype.setGraph = function (e) { + return (this._label = e), this; + }), + (s.prototype.graph = function () { + return this._label; + }), + (s.prototype.setDefaultNodeLabel = function (e) { + return ( + n.isFunction(e) || (e = n.constant(e)), + (this._defaultNodeLabelFn = e), + this + ); + }), + (s.prototype.nodeCount = function () { + return this._nodeCount; + }), + (s.prototype.nodes = function () { + return n.keys(this._nodes); + }), + (s.prototype.sources = function () { + var e = this; + return n.filter(this.nodes(), function (t) { + return n.isEmpty(e._in[t]); + }); + }), + (s.prototype.sinks = function () { + var e = this; + return n.filter(this.nodes(), function (t) { + return n.isEmpty(e._out[t]); + }); + }), + (s.prototype.setNodes = function (e, t) { + var i = arguments, + r = this; + return ( + n.each(e, function (e) { + i.length > 1 ? r.setNode(e, t) : r.setNode(e); + }), + this + ); + }), + (s.prototype.setNode = function (e, t) { + return n.has(this._nodes, e) + ? (arguments.length > 1 && (this._nodes[e] = t), this) + : ((this._nodes[e] = + arguments.length > 1 ? t : this._defaultNodeLabelFn(e)), + this._isCompound && + ((this._parent[e] = r), + (this._children[e] = {}), + (this._children['\0'][e] = !0)), + (this._in[e] = {}), + (this._preds[e] = {}), + (this._out[e] = {}), + (this._sucs[e] = {}), + ++this._nodeCount, + this); + }), + (s.prototype.node = function (e) { + return this._nodes[e]; + }), + (s.prototype.hasNode = function (e) { + return n.has(this._nodes, e); + }), + (s.prototype.removeNode = function (e) { + var t = this; + if (n.has(this._nodes, e)) { + var i = function (e) { + t.removeEdge(t._edgeObjs[e]); + }; + delete this._nodes[e], + this._isCompound && + (this._removeFromParentsChildList(e), + delete this._parent[e], + n.each(this.children(e), function (e) { + t.setParent(e); + }), + delete this._children[e]), + n.each(n.keys(this._in[e]), i), + delete this._in[e], + delete this._preds[e], + n.each(n.keys(this._out[e]), i), + delete this._out[e], + delete this._sucs[e], + --this._nodeCount; + } + return this; + }), + (s.prototype.setParent = function (e, t) { + if (!this._isCompound) + throw new Error('Cannot set parent in a non-compound graph'); + if (n.isUndefined(t)) t = r; + else { + for (var i = (t += ''); !n.isUndefined(i); i = this.parent(i)) + if (i === e) + throw new Error( + 'Setting ' + + t + + ' as parent of ' + + e + + ' would create a cycle' + ); + this.setNode(t); + } + return ( + this.setNode(e), + this._removeFromParentsChildList(e), + (this._parent[e] = t), + (this._children[t][e] = !0), + this + ); + }), + (s.prototype._removeFromParentsChildList = function (e) { + delete this._children[this._parent[e]][e]; + }), + (s.prototype.parent = function (e) { + if (this._isCompound) { + var t = this._parent[e]; + if (t !== r) return t; + } + }), + (s.prototype.children = function (e) { + if ((n.isUndefined(e) && (e = r), this._isCompound)) { + var t = this._children[e]; + if (t) return n.keys(t); + } else { + if (e === r) return this.nodes(); + if (this.hasNode(e)) return []; + } + }), + (s.prototype.predecessors = function (e) { + var t = this._preds[e]; + if (t) return n.keys(t); + }), + (s.prototype.successors = function (e) { + var t = this._sucs[e]; + if (t) return n.keys(t); + }), + (s.prototype.neighbors = function (e) { + var t = this.predecessors(e); + if (t) return n.union(t, this.successors(e)); + }), + (s.prototype.isLeaf = function (e) { + return ( + 0 === + (this.isDirected() ? this.successors(e) : this.neighbors(e)) + .length + ); + }), + (s.prototype.filterNodes = function (e) { + var t = new this.constructor({ + directed: this._isDirected, + multigraph: this._isMultigraph, + compound: this._isCompound, + }); + t.setGraph(this.graph()); + var i = this; + n.each(this._nodes, function (i, n) { + e(n) && t.setNode(n, i); + }), + n.each(this._edgeObjs, function (e) { + t.hasNode(e.v) && t.hasNode(e.w) && t.setEdge(e, i.edge(e)); + }); + var r = {}; + function s(e) { + var n = i.parent(e); + return void 0 === n || t.hasNode(n) + ? ((r[e] = n), n) + : n in r + ? r[n] + : s(n); + } + return ( + this._isCompound && + n.each(t.nodes(), function (e) { + t.setParent(e, s(e)); + }), + t + ); + }), + (s.prototype.setDefaultEdgeLabel = function (e) { + return ( + n.isFunction(e) || (e = n.constant(e)), + (this._defaultEdgeLabelFn = e), + this + ); + }), + (s.prototype.edgeCount = function () { + return this._edgeCount; + }), + (s.prototype.edges = function () { + return n.values(this._edgeObjs); + }), + (s.prototype.setPath = function (e, t) { + var i = this, + r = arguments; + return ( + n.reduce(e, function (e, n) { + return r.length > 1 ? i.setEdge(e, n, t) : i.setEdge(e, n), n; + }), + this + ); + }), + (s.prototype.setEdge = function () { + var e, + t, + i, + r, + s = !1, + a = arguments[0]; + 'object' == typeof a && null !== a && 'v' in a + ? ((e = a.v), + (t = a.w), + (i = a.name), + 2 === arguments.length && ((r = arguments[1]), (s = !0))) + : ((e = a), + (t = arguments[1]), + (i = arguments[3]), + arguments.length > 2 && ((r = arguments[2]), (s = !0))), + (e = '' + e), + (t = '' + t), + n.isUndefined(i) || (i = '' + i); + var d = l(this._isDirected, e, t, i); + if (n.has(this._edgeLabels, d)) + return s && (this._edgeLabels[d] = r), this; + if (!n.isUndefined(i) && !this._isMultigraph) + throw new Error( + 'Cannot set a named edge when isMultigraph = false' + ); + this.setNode(e), + this.setNode(t), + (this._edgeLabels[d] = s ? r : this._defaultEdgeLabelFn(e, t, i)); + var h = c(this._isDirected, e, t, i); + return ( + (e = h.v), + (t = h.w), + Object.freeze(h), + (this._edgeObjs[d] = h), + o(this._preds[t], e), + o(this._sucs[e], t), + (this._in[t][d] = h), + (this._out[e][d] = h), + this._edgeCount++, + this + ); + }), + (s.prototype.edge = function (e, t, i) { + var n = + 1 === arguments.length + ? d(this._isDirected, arguments[0]) + : l(this._isDirected, e, t, i); + return this._edgeLabels[n]; + }), + (s.prototype.hasEdge = function (e, t, i) { + var r = + 1 === arguments.length + ? d(this._isDirected, arguments[0]) + : l(this._isDirected, e, t, i); + return n.has(this._edgeLabels, r); + }), + (s.prototype.removeEdge = function (e, t, i) { + var n = + 1 === arguments.length + ? d(this._isDirected, arguments[0]) + : l(this._isDirected, e, t, i), + r = this._edgeObjs[n]; + return ( + r && + ((e = r.v), + (t = r.w), + delete this._edgeLabels[n], + delete this._edgeObjs[n], + a(this._preds[t], e), + a(this._sucs[e], t), + delete this._in[t][n], + delete this._out[e][n], + this._edgeCount--), + this + ); + }), + (s.prototype.inEdges = function (e, t) { + var i = this._in[e]; + if (i) { + var r = n.values(i); + return t + ? n.filter(r, function (e) { + return e.v === t; + }) + : r; + } + }), + (s.prototype.outEdges = function (e, t) { + var i = this._out[e]; + if (i) { + var r = n.values(i); + return t + ? n.filter(r, function (e) { + return e.w === t; + }) + : r; + } + }), + (s.prototype.nodeEdges = function (e, t) { + var i = this.inEdges(e, t); + if (i) return i.concat(this.outEdges(e, t)); + }); + }, + 86496: (e, t, i) => { + e.exports = { Graph: i(81380), version: i(52389) }; + }, + 72159: (e, t, i) => { + var n = i(23270), + r = i(81380); + function s(e) { + return n.map(e.nodes(), function (t) { + var i = e.node(t), + r = e.parent(t), + s = { v: t }; + return ( + n.isUndefined(i) || (s.value = i), + n.isUndefined(r) || (s.parent = r), + s + ); + }); + } + function o(e) { + return n.map(e.edges(), function (t) { + var i = e.edge(t), + r = { v: t.v, w: t.w }; + return ( + n.isUndefined(t.name) || (r.name = t.name), + n.isUndefined(i) || (r.value = i), + r + ); + }); + } + e.exports = { + write: function (e) { + var t = { + options: { + directed: e.isDirected(), + multigraph: e.isMultigraph(), + compound: e.isCompound(), + }, + nodes: s(e), + edges: o(e), + }; + return ( + n.isUndefined(e.graph()) || (t.value = n.clone(e.graph())), t + ); + }, + read: function (e) { + var t = new r(e.options).setGraph(e.value); + return ( + n.each(e.nodes, function (e) { + t.setNode(e.v, e.value), e.parent && t.setParent(e.v, e.parent); + }), + n.each(e.edges, function (e) { + t.setEdge({ v: e.v, w: e.w, name: e.name }, e.value); + }), + t + ); + }, + }; + }, + 23270: (e, t, i) => { + var n; + try { + n = { + clone: i(66678), + constant: i(75703), + each: i(66073), + filter: i(63105), + has: i(18721), + isArray: i(1469), + isEmpty: i(41609), + isFunction: i(23560), + isUndefined: i(52353), + keys: i(3674), + map: i(35161), + reduce: i(54061), + size: i(84238), + transform: i(68718), + union: i(93386), + values: i(52628), + }; + } catch (e) {} + n || (n = window._), (e.exports = n); + }, + 52389: (e) => { + e.exports = '2.1.8'; + }, + 70681: (e, t, i) => { + e.exports = { + graphlib: i(70574), + layout: i(98123), + debug: i(27570), + util: { time: i(11138).time, notime: i(11138).notime }, + version: i(88177), + }; + }, + 92188: (e, t, i) => { + 'use strict'; + var n = i(38436), + r = i(74079); + e.exports = { + run: function (e) { + var t = + 'greedy' === e.graph().acyclicer + ? r( + e, + (function (e) { + return function (t) { + return e.edge(t).weight; + }; + })(e) + ) + : (function (e) { + var t = [], + i = {}, + r = {}; + return ( + n.forEach(e.nodes(), function s(o) { + n.has(r, o) || + ((r[o] = !0), + (i[o] = !0), + n.forEach(e.outEdges(o), function (e) { + n.has(i, e.w) ? t.push(e) : s(e.w); + }), + delete i[o]); + }), + t + ); + })(e); + n.forEach(t, function (t) { + var i = e.edge(t); + e.removeEdge(t), + (i.forwardName = t.name), + (i.reversed = !0), + e.setEdge(t.w, t.v, i, n.uniqueId('rev')); + }); + }, + undo: function (e) { + n.forEach(e.edges(), function (t) { + var i = e.edge(t); + if (i.reversed) { + e.removeEdge(t); + var n = i.forwardName; + delete i.reversed, + delete i.forwardName, + e.setEdge(t.w, t.v, i, n); + } + }); + }, + }; + }, + 61133: (e, t, i) => { + var n = i(38436), + r = i(11138); + function s(e, t, i, n, s, o) { + var a = { width: 0, height: 0, rank: o, borderType: t }, + l = s[t][o - 1], + c = r.addDummyNode(e, 'border', a, i); + (s[t][o] = c), e.setParent(c, n), l && e.setEdge(l, c, { weight: 1 }); + } + e.exports = function (e) { + n.forEach(e.children(), function t(i) { + var r = e.children(i), + o = e.node(i); + if ((r.length && n.forEach(r, t), n.has(o, 'minRank'))) { + (o.borderLeft = []), (o.borderRight = []); + for (var a = o.minRank, l = o.maxRank + 1; a < l; ++a) + s(e, 'borderLeft', '_bl', i, o, a), + s(e, 'borderRight', '_br', i, o, a); + } + }); + }; + }, + 53258: (e, t, i) => { + 'use strict'; + var n = i(38436); + function r(e) { + n.forEach(e.nodes(), function (t) { + s(e.node(t)); + }), + n.forEach(e.edges(), function (t) { + s(e.edge(t)); + }); + } + function s(e) { + var t = e.width; + (e.width = e.height), (e.height = t); + } + function o(e) { + e.y = -e.y; + } + function a(e) { + var t = e.x; + (e.x = e.y), (e.y = t); + } + e.exports = { + adjust: function (e) { + var t = e.graph().rankdir.toLowerCase(); + ('lr' !== t && 'rl' !== t) || r(e); + }, + undo: function (e) { + var t = e.graph().rankdir.toLowerCase(); + ('bt' !== t && 'rl' !== t) || + (function (e) { + n.forEach(e.nodes(), function (t) { + o(e.node(t)); + }), + n.forEach(e.edges(), function (t) { + var i = e.edge(t); + n.forEach(i.points, o), n.has(i, 'y') && o(i); + }); + })(e), + ('lr' !== t && 'rl' !== t) || + ((function (e) { + n.forEach(e.nodes(), function (t) { + a(e.node(t)); + }), + n.forEach(e.edges(), function (t) { + var i = e.edge(t); + n.forEach(i.points, a), n.has(i, 'x') && a(i); + }); + })(e), + r(e)); + }, + }; + }, + 77822: (e) => { + function t() { + var e = {}; + (e._next = e._prev = e), (this._sentinel = e); + } + function i(e) { + (e._prev._next = e._next), + (e._next._prev = e._prev), + delete e._next, + delete e._prev; + } + function n(e, t) { + if ('_next' !== e && '_prev' !== e) return t; + } + (e.exports = t), + (t.prototype.dequeue = function () { + var e = this._sentinel, + t = e._prev; + if (t !== e) return i(t), t; + }), + (t.prototype.enqueue = function (e) { + var t = this._sentinel; + e._prev && e._next && i(e), + (e._next = t._next), + (t._next._prev = e), + (t._next = e), + (e._prev = t); + }), + (t.prototype.toString = function () { + for (var e = [], t = this._sentinel, i = t._prev; i !== t; ) + e.push(JSON.stringify(i, n)), (i = i._prev); + return '[' + e.join(', ') + ']'; + }); + }, + 27570: (e, t, i) => { + var n = i(38436), + r = i(11138), + s = i(70574).Graph; + e.exports = { + debugOrdering: function (e) { + var t = r.buildLayerMatrix(e), + i = new s({ compound: !0, multigraph: !0 }).setGraph({}); + return ( + n.forEach(e.nodes(), function (t) { + i.setNode(t, { label: t }), + i.setParent(t, 'layer' + e.node(t).rank); + }), + n.forEach(e.edges(), function (e) { + i.setEdge(e.v, e.w, {}, e.name); + }), + n.forEach(t, function (e, t) { + var r = 'layer' + t; + i.setNode(r, { rank: 'same' }), + n.reduce(e, function (e, t) { + return i.setEdge(e, t, { style: 'invis' }), t; + }); + }), + i + ); + }, + }; + }, + 70574: (e, t, i) => { + var n; + try { + n = i(28282); + } catch (e) {} + n || (n = window.graphlib), (e.exports = n); + }, + 74079: (e, t, i) => { + var n = i(38436), + r = i(70574).Graph, + s = i(77822); + e.exports = function (e, t) { + if (e.nodeCount() <= 1) return []; + var i = (function (e, t) { + var i = new r(), + o = 0, + a = 0; + n.forEach(e.nodes(), function (e) { + i.setNode(e, { v: e, in: 0, out: 0 }); + }), + n.forEach(e.edges(), function (e) { + var n = i.edge(e.v, e.w) || 0, + r = t(e), + s = n + r; + i.setEdge(e.v, e.w, s), + (a = Math.max(a, (i.node(e.v).out += r))), + (o = Math.max(o, (i.node(e.w).in += r))); + }); + var c = n.range(a + o + 3).map(function () { + return new s(); + }), + d = o + 1; + return ( + n.forEach(i.nodes(), function (e) { + l(c, d, i.node(e)); + }), + { graph: i, buckets: c, zeroIdx: d } + ); + })(e, t || o), + c = (function (e, t, i) { + for ( + var n, r = [], s = t[t.length - 1], o = t[0]; + e.nodeCount(); + + ) { + for (; (n = o.dequeue()); ) a(e, t, i, n); + for (; (n = s.dequeue()); ) a(e, t, i, n); + if (e.nodeCount()) + for (var l = t.length - 2; l > 0; --l) + if ((n = t[l].dequeue())) { + r = r.concat(a(e, t, i, n, !0)); + break; + } + } + return r; + })(i.graph, i.buckets, i.zeroIdx); + return n.flatten( + n.map(c, function (t) { + return e.outEdges(t.v, t.w); + }), + !0 + ); + }; + var o = n.constant(1); + function a(e, t, i, r, s) { + var o = s ? [] : void 0; + return ( + n.forEach(e.inEdges(r.v), function (n) { + var r = e.edge(n), + a = e.node(n.v); + s && o.push({ v: n.v, w: n.w }), (a.out -= r), l(t, i, a); + }), + n.forEach(e.outEdges(r.v), function (n) { + var r = e.edge(n), + s = n.w, + o = e.node(s); + (o.in -= r), l(t, i, o); + }), + e.removeNode(r.v), + o + ); + } + function l(e, t, i) { + i.out + ? i.in + ? e[i.out - i.in + t].enqueue(i) + : e[e.length - 1].enqueue(i) + : e[0].enqueue(i); + } + }, + 98123: (e, t, i) => { + 'use strict'; + var n = i(38436), + r = i(92188), + s = i(45995), + o = i(78093), + a = i(11138).normalizeRanks, + l = i(24219), + c = i(11138).removeEmptyRanks, + d = i(72981), + h = i(61133), + u = i(53258), + g = i(53408), + f = i(17873), + p = i(11138), + m = i(70574).Graph; + e.exports = function (e, t) { + var i = t && t.debugTiming ? p.time : p.notime; + i('layout', function () { + var t = i(' buildLayoutGraph', function () { + return (function (e) { + var t = new m({ multigraph: !0, compound: !0 }), + i = L(e.graph()); + return ( + t.setGraph(n.merge({}, b, x(i, _), n.pick(i, v))), + n.forEach(e.nodes(), function (i) { + var r = L(e.node(i)); + t.setNode(i, n.defaults(x(r, y), w)), + t.setParent(i, e.parent(i)); + }), + n.forEach(e.edges(), function (i) { + var r = L(e.edge(i)); + t.setEdge(i, n.merge({}, S, x(r, C), n.pick(r, k))); + }), + t + ); + })(e); + }); + i(' runLayout', function () { + !(function (e, t) { + t(' makeSpaceForEdgeLabels', function () { + !(function (e) { + var t = e.graph(); + (t.ranksep /= 2), + n.forEach(e.edges(), function (i) { + var n = e.edge(i); + (n.minlen *= 2), + 'c' !== n.labelpos.toLowerCase() && + ('TB' === t.rankdir || 'BT' === t.rankdir + ? (n.width += n.labeloffset) + : (n.height += n.labeloffset)); + }); + })(e); + }), + t(' removeSelfEdges', function () { + !(function (e) { + n.forEach(e.edges(), function (t) { + if (t.v === t.w) { + var i = e.node(t.v); + i.selfEdges || (i.selfEdges = []), + i.selfEdges.push({ e: t, label: e.edge(t) }), + e.removeEdge(t); + } + }); + })(e); + }), + t(' acyclic', function () { + r.run(e); + }), + t(' nestingGraph.run', function () { + d.run(e); + }), + t(' rank', function () { + o(p.asNonCompoundGraph(e)); + }), + t(' injectEdgeLabelProxies', function () { + !(function (e) { + n.forEach(e.edges(), function (t) { + var i = e.edge(t); + if (i.width && i.height) { + var n = e.node(t.v), + r = { + rank: (e.node(t.w).rank - n.rank) / 2 + n.rank, + e: t, + }; + p.addDummyNode(e, 'edge-proxy', r, '_ep'); + } + }); + })(e); + }), + t(' removeEmptyRanks', function () { + c(e); + }), + t(' nestingGraph.cleanup', function () { + d.cleanup(e); + }), + t(' normalizeRanks', function () { + a(e); + }), + t(' assignRankMinMax', function () { + !(function (e) { + var t = 0; + n.forEach(e.nodes(), function (i) { + var r = e.node(i); + r.borderTop && + ((r.minRank = e.node(r.borderTop).rank), + (r.maxRank = e.node(r.borderBottom).rank), + (t = n.max(t, r.maxRank))); + }), + (e.graph().maxRank = t); + })(e); + }), + t(' removeEdgeLabelProxies', function () { + !(function (e) { + n.forEach(e.nodes(), function (t) { + var i = e.node(t); + 'edge-proxy' === i.dummy && + ((e.edge(i.e).labelRank = i.rank), e.removeNode(t)); + }); + })(e); + }), + t(' normalize.run', function () { + s.run(e); + }), + t(' parentDummyChains', function () { + l(e); + }), + t(' addBorderSegments', function () { + h(e); + }), + t(' order', function () { + g(e); + }), + t(' insertSelfEdges', function () { + !(function (e) { + var t = p.buildLayerMatrix(e); + n.forEach(t, function (t) { + var i = 0; + n.forEach(t, function (t, r) { + var s = e.node(t); + (s.order = r + i), + n.forEach(s.selfEdges, function (t) { + p.addDummyNode( + e, + 'selfedge', + { + width: t.label.width, + height: t.label.height, + rank: s.rank, + order: r + ++i, + e: t.e, + label: t.label, + }, + '_se' + ); + }), + delete s.selfEdges; + }); + }); + })(e); + }), + t(' adjustCoordinateSystem', function () { + u.adjust(e); + }), + t(' position', function () { + f(e); + }), + t(' positionSelfEdges', function () { + !(function (e) { + n.forEach(e.nodes(), function (t) { + var i = e.node(t); + if ('selfedge' === i.dummy) { + var n = e.node(i.e.v), + r = n.x + n.width / 2, + s = n.y, + o = i.x - r, + a = n.height / 2; + e.setEdge(i.e, i.label), + e.removeNode(t), + (i.label.points = [ + { x: r + (2 * o) / 3, y: s - a }, + { x: r + (5 * o) / 6, y: s - a }, + { x: r + o, y: s }, + { x: r + (5 * o) / 6, y: s + a }, + { x: r + (2 * o) / 3, y: s + a }, + ]), + (i.label.x = i.x), + (i.label.y = i.y); + } + }); + })(e); + }), + t(' removeBorderNodes', function () { + !(function (e) { + n.forEach(e.nodes(), function (t) { + if (e.children(t).length) { + var i = e.node(t), + r = e.node(i.borderTop), + s = e.node(i.borderBottom), + o = e.node(n.last(i.borderLeft)), + a = e.node(n.last(i.borderRight)); + (i.width = Math.abs(a.x - o.x)), + (i.height = Math.abs(s.y - r.y)), + (i.x = o.x + i.width / 2), + (i.y = r.y + i.height / 2); + } + }), + n.forEach(e.nodes(), function (t) { + 'border' === e.node(t).dummy && e.removeNode(t); + }); + })(e); + }), + t(' normalize.undo', function () { + s.undo(e); + }), + t(' fixupEdgeLabelCoords', function () { + !(function (e) { + n.forEach(e.edges(), function (t) { + var i = e.edge(t); + if (n.has(i, 'x')) + switch ( + (('l' !== i.labelpos && 'r' !== i.labelpos) || + (i.width -= i.labeloffset), + i.labelpos) + ) { + case 'l': + i.x -= i.width / 2 + i.labeloffset; + break; + case 'r': + i.x += i.width / 2 + i.labeloffset; + } + }); + })(e); + }), + t(' undoCoordinateSystem', function () { + u.undo(e); + }), + t(' translateGraph', function () { + !(function (e) { + var t = Number.POSITIVE_INFINITY, + i = 0, + r = Number.POSITIVE_INFINITY, + s = 0, + o = e.graph(), + a = o.marginx || 0, + l = o.marginy || 0; + function c(e) { + var n = e.x, + o = e.y, + a = e.width, + l = e.height; + (t = Math.min(t, n - a / 2)), + (i = Math.max(i, n + a / 2)), + (r = Math.min(r, o - l / 2)), + (s = Math.max(s, o + l / 2)); + } + n.forEach(e.nodes(), function (t) { + c(e.node(t)); + }), + n.forEach(e.edges(), function (t) { + var i = e.edge(t); + n.has(i, 'x') && c(i); + }), + (t -= a), + (r -= l), + n.forEach(e.nodes(), function (i) { + var n = e.node(i); + (n.x -= t), (n.y -= r); + }), + n.forEach(e.edges(), function (i) { + var s = e.edge(i); + n.forEach(s.points, function (e) { + (e.x -= t), (e.y -= r); + }), + n.has(s, 'x') && (s.x -= t), + n.has(s, 'y') && (s.y -= r); + }), + (o.width = i - t + a), + (o.height = s - r + l); + })(e); + }), + t(' assignNodeIntersects', function () { + !(function (e) { + n.forEach(e.edges(), function (t) { + var i, + n, + r = e.edge(t), + s = e.node(t.v), + o = e.node(t.w); + r.points + ? ((i = r.points[0]), + (n = r.points[r.points.length - 1])) + : ((r.points = []), (i = o), (n = s)), + r.points.unshift(p.intersectRect(s, i)), + r.points.push(p.intersectRect(o, n)); + }); + })(e); + }), + t(' reversePoints', function () { + !(function (e) { + n.forEach(e.edges(), function (t) { + var i = e.edge(t); + i.reversed && i.points.reverse(); + }); + })(e); + }), + t(' acyclic.undo', function () { + r.undo(e); + }); + })(t, i); + }), + i(' updateInputGraph', function () { + !(function (e, t) { + n.forEach(e.nodes(), function (i) { + var n = e.node(i), + r = t.node(i); + n && + ((n.x = r.x), + (n.y = r.y), + t.children(i).length && + ((n.width = r.width), (n.height = r.height))); + }), + n.forEach(e.edges(), function (i) { + var r = e.edge(i), + s = t.edge(i); + (r.points = s.points), + n.has(s, 'x') && ((r.x = s.x), (r.y = s.y)); + }), + (e.graph().width = t.graph().width), + (e.graph().height = t.graph().height); + })(e, t); + }); + }); + }; + var _ = ['nodesep', 'edgesep', 'ranksep', 'marginx', 'marginy'], + b = { ranksep: 50, edgesep: 20, nodesep: 50, rankdir: 'tb' }, + v = ['acyclicer', 'ranker', 'rankdir', 'align'], + y = ['width', 'height'], + w = { width: 0, height: 0 }, + C = ['minlen', 'weight', 'width', 'height', 'labeloffset'], + S = { + minlen: 1, + weight: 1, + width: 0, + height: 0, + labeloffset: 10, + labelpos: 'r', + }, + k = ['labelpos']; + function x(e, t) { + return n.mapValues(n.pick(e, t), Number); + } + function L(e) { + var t = {}; + return ( + n.forEach(e, function (e, i) { + t[i.toLowerCase()] = e; + }), + t + ); + } + }, + 38436: (e, t, i) => { + var n; + try { + n = { + cloneDeep: i(50361), + constant: i(75703), + defaults: i(91747), + each: i(66073), + filter: i(63105), + find: i(13311), + flatten: i(85564), + forEach: i(84486), + forIn: i(62620), + has: i(18721), + isUndefined: i(52353), + last: i(10928), + map: i(35161), + mapValues: i(66604), + max: i(6162), + merge: i(82492), + min: i(53632), + minBy: i(22762), + now: i(7771), + pick: i(78718), + range: i(96026), + reduce: i(54061), + sortBy: i(89734), + uniqueId: i(73955), + values: i(52628), + zipObject: i(7287), + }; + } catch (e) {} + n || (n = window._), (e.exports = n); + }, + 72981: (e, t, i) => { + var n = i(38436), + r = i(11138); + function s(e, t, i, o, a, l, c) { + var d = e.children(c); + if (d.length) { + var h = r.addBorderNode(e, '_bt'), + u = r.addBorderNode(e, '_bb'), + g = e.node(c); + e.setParent(h, c), + (g.borderTop = h), + e.setParent(u, c), + (g.borderBottom = u), + n.forEach(d, function (n) { + s(e, t, i, o, a, l, n); + var r = e.node(n), + d = r.borderTop ? r.borderTop : n, + g = r.borderBottom ? r.borderBottom : n, + f = r.borderTop ? o : 2 * o, + p = d !== g ? 1 : a - l[c] + 1; + e.setEdge(h, d, { weight: f, minlen: p, nestingEdge: !0 }), + e.setEdge(g, u, { weight: f, minlen: p, nestingEdge: !0 }); + }), + e.parent(c) || e.setEdge(t, h, { weight: 0, minlen: a + l[c] }); + } else c !== t && e.setEdge(t, c, { weight: 0, minlen: i }); + } + e.exports = { + run: function (e) { + var t = r.addDummyNode(e, 'root', {}, '_root'), + i = (function (e) { + var t = {}; + function i(r, s) { + var o = e.children(r); + o && + o.length && + n.forEach(o, function (e) { + i(e, s + 1); + }), + (t[r] = s); + } + return ( + n.forEach(e.children(), function (e) { + i(e, 1); + }), + t + ); + })(e), + o = n.max(n.values(i)) - 1, + a = 2 * o + 1; + (e.graph().nestingRoot = t), + n.forEach(e.edges(), function (t) { + e.edge(t).minlen *= a; + }); + var l = + (function (e) { + return n.reduce( + e.edges(), + function (t, i) { + return t + e.edge(i).weight; + }, + 0 + ); + })(e) + 1; + n.forEach(e.children(), function (n) { + s(e, t, a, l, o, i, n); + }), + (e.graph().nodeRankFactor = a); + }, + cleanup: function (e) { + var t = e.graph(); + e.removeNode(t.nestingRoot), + delete t.nestingRoot, + n.forEach(e.edges(), function (t) { + e.edge(t).nestingEdge && e.removeEdge(t); + }); + }, + }; + }, + 45995: (e, t, i) => { + 'use strict'; + var n = i(38436), + r = i(11138); + e.exports = { + run: function (e) { + (e.graph().dummyChains = []), + n.forEach(e.edges(), function (t) { + !(function (e, t) { + var i, + n, + s, + o = t.v, + a = e.node(o).rank, + l = t.w, + c = e.node(l).rank, + d = t.name, + h = e.edge(t), + u = h.labelRank; + if (c !== a + 1) { + for (e.removeEdge(t), s = 0, ++a; a < c; ++s, ++a) + (h.points = []), + (n = { + width: 0, + height: 0, + edgeLabel: h, + edgeObj: t, + rank: a, + }), + (i = r.addDummyNode(e, 'edge', n, '_d')), + a === u && + ((n.width = h.width), + (n.height = h.height), + (n.dummy = 'edge-label'), + (n.labelpos = h.labelpos)), + e.setEdge(o, i, { weight: h.weight }, d), + 0 === s && e.graph().dummyChains.push(i), + (o = i); + e.setEdge(o, l, { weight: h.weight }, d); + } + })(e, t); + }); + }, + undo: function (e) { + n.forEach(e.graph().dummyChains, function (t) { + var i, + n = e.node(t), + r = n.edgeLabel; + for (e.setEdge(n.edgeObj, r); n.dummy; ) + (i = e.successors(t)[0]), + e.removeNode(t), + r.points.push({ x: n.x, y: n.y }), + 'edge-label' === n.dummy && + ((r.x = n.x), + (r.y = n.y), + (r.width = n.width), + (r.height = n.height)), + (t = i), + (n = e.node(t)); + }); + }, + }; + }, + 55093: (e, t, i) => { + var n = i(38436); + e.exports = function (e, t, i) { + var r, + s = {}; + n.forEach(i, function (i) { + for (var n, o, a = e.parent(i); a; ) { + if ( + ((n = e.parent(a)) + ? ((o = s[n]), (s[n] = a)) + : ((o = r), (r = a)), + o && o !== a) + ) + return void t.setEdge(o, a); + a = n; + } + }); + }; + }, + 35439: (e, t, i) => { + var n = i(38436); + e.exports = function (e, t) { + return n.map(t, function (t) { + var i = e.inEdges(t); + if (i.length) { + var r = n.reduce( + i, + function (t, i) { + var n = e.edge(i), + r = e.node(i.v); + return { + sum: t.sum + n.weight * r.order, + weight: t.weight + n.weight, + }; + }, + { sum: 0, weight: 0 } + ); + return { v: t, barycenter: r.sum / r.weight, weight: r.weight }; + } + return { v: t }; + }); + }; + }, + 23128: (e, t, i) => { + var n = i(38436), + r = i(70574).Graph; + e.exports = function (e, t, i) { + var s = (function (e) { + for (var t; e.hasNode((t = n.uniqueId('_root'))); ); + return t; + })(e), + o = new r({ compound: !0 }) + .setGraph({ root: s }) + .setDefaultNodeLabel(function (t) { + return e.node(t); + }); + return ( + n.forEach(e.nodes(), function (r) { + var a = e.node(r), + l = e.parent(r); + (a.rank === t || (a.minRank <= t && t <= a.maxRank)) && + (o.setNode(r), + o.setParent(r, l || s), + n.forEach(e[i](r), function (t) { + var i = t.v === r ? t.w : t.v, + s = o.edge(i, r), + a = n.isUndefined(s) ? 0 : s.weight; + o.setEdge(i, r, { weight: e.edge(t).weight + a }); + }), + n.has(a, 'minRank') && + o.setNode(r, { + borderLeft: a.borderLeft[t], + borderRight: a.borderRight[t], + })); + }), + o + ); + }; + }, + 56630: (e, t, i) => { + 'use strict'; + var n = i(38436); + function r(e, t, i) { + for ( + var r = n.zipObject( + i, + n.map(i, function (e, t) { + return t; + }) + ), + s = n.flatten( + n.map(t, function (t) { + return n.sortBy( + n.map(e.outEdges(t), function (t) { + return { pos: r[t.w], weight: e.edge(t).weight }; + }), + 'pos' + ); + }), + !0 + ), + o = 1; + o < i.length; + + ) + o <<= 1; + var a = 2 * o - 1; + o -= 1; + var l = n.map(new Array(a), function () { + return 0; + }), + c = 0; + return ( + n.forEach( + s.forEach(function (e) { + var t = e.pos + o; + l[t] += e.weight; + for (var i = 0; t > 0; ) + t % 2 && (i += l[t + 1]), (l[(t = (t - 1) >> 1)] += e.weight); + c += e.weight * i; + }) + ), + c + ); + } + e.exports = function (e, t) { + for (var i = 0, n = 1; n < t.length; ++n) i += r(e, t[n - 1], t[n]); + return i; + }; + }, + 53408: (e, t, i) => { + 'use strict'; + var n = i(38436), + r = i(2588), + s = i(56630), + o = i(61026), + a = i(23128), + l = i(55093), + c = i(70574).Graph, + d = i(11138); + function h(e, t, i) { + return n.map(t, function (t) { + return a(e, t, i); + }); + } + function u(e, t) { + var i = new c(); + n.forEach(e, function (e) { + var r = e.graph().root, + s = o(e, r, i, t); + n.forEach(s.vs, function (t, i) { + e.node(t).order = i; + }), + l(e, i, s.vs); + }); + } + function g(e, t) { + n.forEach(t, function (t) { + n.forEach(t, function (t, i) { + e.node(t).order = i; + }); + }); + } + e.exports = function (e) { + var t = d.maxRank(e), + i = h(e, n.range(1, t + 1), 'inEdges'), + o = h(e, n.range(t - 1, -1, -1), 'outEdges'), + a = r(e); + g(e, a); + for ( + var l, c = Number.POSITIVE_INFINITY, f = 0, p = 0; + p < 4; + ++f, ++p + ) { + u(f % 2 ? i : o, f % 4 >= 2), (a = d.buildLayerMatrix(e)); + var m = s(e, a); + m < c && ((p = 0), (l = n.cloneDeep(a)), (c = m)); + } + g(e, l); + }; + }, + 2588: (e, t, i) => { + 'use strict'; + var n = i(38436); + e.exports = function (e) { + var t = {}, + i = n.filter(e.nodes(), function (t) { + return !e.children(t).length; + }), + r = n.max( + n.map(i, function (t) { + return e.node(t).rank; + }) + ), + s = n.map(n.range(r + 1), function () { + return []; + }), + o = n.sortBy(i, function (t) { + return e.node(t).rank; + }); + return ( + n.forEach(o, function i(r) { + if (!n.has(t, r)) { + t[r] = !0; + var o = e.node(r); + s[o.rank].push(r), n.forEach(e.successors(r), i); + } + }), + s + ); + }; + }, + 83678: (e, t, i) => { + 'use strict'; + var n = i(38436); + e.exports = function (e, t) { + var i = {}; + return ( + n.forEach(e, function (e, t) { + var r = (i[e.v] = { + indegree: 0, + in: [], + out: [], + vs: [e.v], + i: t, + }); + n.isUndefined(e.barycenter) || + ((r.barycenter = e.barycenter), (r.weight = e.weight)); + }), + n.forEach(t.edges(), function (e) { + var t = i[e.v], + r = i[e.w]; + n.isUndefined(t) || + n.isUndefined(r) || + (r.indegree++, t.out.push(i[e.w])); + }), + (function (e) { + var t = []; + function i(e) { + return function (t) { + var i, r, s, o; + t.merged || + ((n.isUndefined(t.barycenter) || + n.isUndefined(e.barycenter) || + t.barycenter >= e.barycenter) && + ((r = t), + (s = 0), + (o = 0), + (i = e).weight && + ((s += i.barycenter * i.weight), (o += i.weight)), + r.weight && + ((s += r.barycenter * r.weight), (o += r.weight)), + (i.vs = r.vs.concat(i.vs)), + (i.barycenter = s / o), + (i.weight = o), + (i.i = Math.min(r.i, i.i)), + (r.merged = !0))); + }; + } + function r(t) { + return function (i) { + i.in.push(t), 0 == --i.indegree && e.push(i); + }; + } + for (; e.length; ) { + var s = e.pop(); + t.push(s), + n.forEach(s.in.reverse(), i(s)), + n.forEach(s.out, r(s)); + } + return n.map( + n.filter(t, function (e) { + return !e.merged; + }), + function (e) { + return n.pick(e, ['vs', 'i', 'barycenter', 'weight']); + } + ); + })( + n.filter(i, function (e) { + return !e.indegree; + }) + ) + ); + }; + }, + 61026: (e, t, i) => { + var n = i(38436), + r = i(35439), + s = i(83678), + o = i(87304); + e.exports = function e(t, i, a, l) { + var c = t.children(i), + d = t.node(i), + h = d ? d.borderLeft : void 0, + u = d ? d.borderRight : void 0, + g = {}; + h && + (c = n.filter(c, function (e) { + return e !== h && e !== u; + })); + var f = r(t, c); + n.forEach(f, function (i) { + if (t.children(i.v).length) { + var r = e(t, i.v, a, l); + (g[i.v] = r), + n.has(r, 'barycenter') && + ((s = i), + (o = r), + n.isUndefined(s.barycenter) + ? ((s.barycenter = o.barycenter), (s.weight = o.weight)) + : ((s.barycenter = + (s.barycenter * s.weight + o.barycenter * o.weight) / + (s.weight + o.weight)), + (s.weight += o.weight))); + } + var s, o; + }); + var p = s(f, a); + !(function (e, t) { + n.forEach(e, function (e) { + e.vs = n.flatten( + e.vs.map(function (e) { + return t[e] ? t[e].vs : e; + }), + !0 + ); + }); + })(p, g); + var m = o(p, l); + if ( + h && + ((m.vs = n.flatten([h, m.vs, u], !0)), t.predecessors(h).length) + ) { + var _ = t.node(t.predecessors(h)[0]), + b = t.node(t.predecessors(u)[0]); + n.has(m, 'barycenter') || ((m.barycenter = 0), (m.weight = 0)), + (m.barycenter = + (m.barycenter * m.weight + _.order + b.order) / (m.weight + 2)), + (m.weight += 2); + } + return m; + }; + }, + 87304: (e, t, i) => { + var n = i(38436), + r = i(11138); + function s(e, t, i) { + for (var r; t.length && (r = n.last(t)).i <= i; ) + t.pop(), e.push(r.vs), i++; + return i; + } + e.exports = function (e, t) { + var i, + o = r.partition(e, function (e) { + return n.has(e, 'barycenter'); + }), + a = o.lhs, + l = n.sortBy(o.rhs, function (e) { + return -e.i; + }), + c = [], + d = 0, + h = 0, + u = 0; + a.sort( + ((i = !!t), + function (e, t) { + return e.barycenter < t.barycenter + ? -1 + : e.barycenter > t.barycenter + ? 1 + : i + ? t.i - e.i + : e.i - t.i; + }) + ), + (u = s(c, l, u)), + n.forEach(a, function (e) { + (u += e.vs.length), + c.push(e.vs), + (d += e.barycenter * e.weight), + (h += e.weight), + (u = s(c, l, u)); + }); + var g = { vs: n.flatten(c, !0) }; + return h && ((g.barycenter = d / h), (g.weight = h)), g; + }; + }, + 24219: (e, t, i) => { + var n = i(38436); + e.exports = function (e) { + var t = (function (e) { + var t = {}, + i = 0; + return ( + n.forEach(e.children(), function r(s) { + var o = i; + n.forEach(e.children(s), r), (t[s] = { low: o, lim: i++ }); + }), + t + ); + })(e); + n.forEach(e.graph().dummyChains, function (i) { + for ( + var n = e.node(i), + r = n.edgeObj, + s = (function (e, t, i, n) { + var r, + s, + o = [], + a = [], + l = Math.min(t[i].low, t[n].low), + c = Math.max(t[i].lim, t[n].lim); + r = i; + do { + (r = e.parent(r)), o.push(r); + } while (r && (t[r].low > l || c > t[r].lim)); + for (s = r, r = n; (r = e.parent(r)) !== s; ) a.push(r); + return { path: o.concat(a.reverse()), lca: s }; + })(e, t, r.v, r.w), + o = s.path, + a = s.lca, + l = 0, + c = o[l], + d = !0; + i !== r.w; + + ) { + if (((n = e.node(i)), d)) { + for (; (c = o[l]) !== a && e.node(c).maxRank < n.rank; ) l++; + c === a && (d = !1); + } + if (!d) { + for ( + ; + l < o.length - 1 && e.node((c = o[l + 1])).minRank <= n.rank; + + ) + l++; + c = o[l]; + } + e.setParent(i, c), (i = e.successors(i)[0]); + } + }); + }; + }, + 3573: (e, t, i) => { + 'use strict'; + var n = i(38436), + r = i(70574).Graph, + s = i(11138); + function o(e, t) { + var i = {}; + return ( + n.reduce(t, function (t, r) { + var s = 0, + o = 0, + a = t.length, + c = n.last(r); + return ( + n.forEach(r, function (t, d) { + var h = (function (e, t) { + if (e.node(t).dummy) + return n.find(e.predecessors(t), function (t) { + return e.node(t).dummy; + }); + })(e, t), + u = h ? e.node(h).order : a; + (h || t === c) && + (n.forEach(r.slice(o, d + 1), function (t) { + n.forEach(e.predecessors(t), function (n) { + var r = e.node(n), + o = r.order; + !(o < s || u < o) || + (r.dummy && e.node(t).dummy) || + l(i, n, t); + }); + }), + (o = d + 1), + (s = u)); + }), + r + ); + }), + i + ); + } + function a(e, t) { + var i = {}; + function r(t, r, s, o, a) { + var c; + n.forEach(n.range(r, s), function (r) { + (c = t[r]), + e.node(c).dummy && + n.forEach(e.predecessors(c), function (t) { + var n = e.node(t); + n.dummy && (n.order < o || n.order > a) && l(i, t, c); + }); + }); + } + return ( + n.reduce(t, function (t, i) { + var s, + o = -1, + a = 0; + return ( + n.forEach(i, function (n, l) { + if ('border' === e.node(n).dummy) { + var c = e.predecessors(n); + c.length && + ((s = e.node(c[0]).order), + r(i, a, l, o, s), + (a = l), + (o = s)); + } + r(i, a, i.length, s, t.length); + }), + i + ); + }), + i + ); + } + function l(e, t, i) { + if (t > i) { + var n = t; + (t = i), (i = n); + } + var r = e[t]; + r || (e[t] = r = {}), (r[i] = !0); + } + function c(e, t, i) { + if (t > i) { + var r = t; + (t = i), (i = r); + } + return n.has(e[t], i); + } + function d(e, t, i, r) { + var s = {}, + o = {}, + a = {}; + return ( + n.forEach(t, function (e) { + n.forEach(e, function (e, t) { + (s[e] = e), (o[e] = e), (a[e] = t); + }); + }), + n.forEach(t, function (e) { + var t = -1; + n.forEach(e, function (e) { + var l = r(e); + if (l.length) + for ( + var d = + ((l = n.sortBy(l, function (e) { + return a[e]; + })).length - + 1) / + 2, + h = Math.floor(d), + u = Math.ceil(d); + h <= u; + ++h + ) { + var g = l[h]; + o[e] === e && + t < a[g] && + !c(i, e, g) && + ((o[g] = e), (o[e] = s[e] = s[g]), (t = a[g])); + } + }); + }), + { root: s, align: o } + ); + } + function h(e, t, i, s, o) { + var a = {}, + l = (function (e, t, i, s) { + var o = new r(), + a = e.graph(), + l = (function (e, t, i) { + return function (r, s, o) { + var a, + l = r.node(s), + c = r.node(o), + d = 0; + if (((d += l.width / 2), n.has(l, 'labelpos'))) + switch (l.labelpos.toLowerCase()) { + case 'l': + a = -l.width / 2; + break; + case 'r': + a = l.width / 2; + } + if ( + (a && (d += i ? a : -a), + (a = 0), + (d += (l.dummy ? t : e) / 2), + (d += (c.dummy ? t : e) / 2), + (d += c.width / 2), + n.has(c, 'labelpos')) + ) + switch (c.labelpos.toLowerCase()) { + case 'l': + a = c.width / 2; + break; + case 'r': + a = -c.width / 2; + } + return a && (d += i ? a : -a), (a = 0), d; + }; + })(a.nodesep, a.edgesep, s); + return ( + n.forEach(t, function (t) { + var r; + n.forEach(t, function (t) { + var n = i[t]; + if ((o.setNode(n), r)) { + var s = i[r], + a = o.edge(s, n); + o.setEdge(s, n, Math.max(l(e, t, r), a || 0)); + } + r = t; + }); + }), + o + ); + })(e, t, i, o), + c = o ? 'borderLeft' : 'borderRight'; + function d(e, t) { + for (var i = l.nodes(), n = i.pop(), r = {}; n; ) + r[n] ? e(n) : ((r[n] = !0), i.push(n), (i = i.concat(t(n)))), + (n = i.pop()); + } + return ( + d(function (e) { + a[e] = l.inEdges(e).reduce(function (e, t) { + return Math.max(e, a[t.v] + l.edge(t)); + }, 0); + }, l.predecessors.bind(l)), + d(function (t) { + var i = l.outEdges(t).reduce(function (e, t) { + return Math.min(e, a[t.w] - l.edge(t)); + }, Number.POSITIVE_INFINITY), + n = e.node(t); + i !== Number.POSITIVE_INFINITY && + n.borderType !== c && + (a[t] = Math.max(a[t], i)); + }, l.successors.bind(l)), + n.forEach(s, function (e) { + a[e] = a[i[e]]; + }), + a + ); + } + function u(e, t) { + return n.minBy(n.values(t), function (t) { + var i = Number.NEGATIVE_INFINITY, + r = Number.POSITIVE_INFINITY; + return ( + n.forIn(t, function (t, n) { + var s = + (function (e, t) { + return e.node(t).width; + })(e, n) / 2; + (i = Math.max(t + s, i)), (r = Math.min(t - s, r)); + }), + i - r + ); + }); + } + function g(e, t) { + var i = n.values(t), + r = n.min(i), + s = n.max(i); + n.forEach(['u', 'd'], function (i) { + n.forEach(['l', 'r'], function (o) { + var a, + l = i + o, + c = e[l]; + if (c !== t) { + var d = n.values(c); + (a = 'l' === o ? r - n.min(d) : s - n.max(d)) && + (e[l] = n.mapValues(c, function (e) { + return e + a; + })); + } + }); + }); + } + function f(e, t) { + return n.mapValues(e.ul, function (i, r) { + if (t) return e[t.toLowerCase()][r]; + var s = n.sortBy(n.map(e, r)); + return (s[1] + s[2]) / 2; + }); + } + e.exports = { + positionX: function (e) { + var t, + i = s.buildLayerMatrix(e), + r = n.merge(o(e, i), a(e, i)), + l = {}; + n.forEach(['u', 'd'], function (s) { + (t = 'u' === s ? i : n.values(i).reverse()), + n.forEach(['l', 'r'], function (i) { + 'r' === i && + (t = n.map(t, function (e) { + return n.values(e).reverse(); + })); + var o = ('u' === s ? e.predecessors : e.successors).bind(e), + a = d(0, t, r, o), + c = h(e, t, a.root, a.align, 'r' === i); + 'r' === i && + (c = n.mapValues(c, function (e) { + return -e; + })), + (l[s + i] = c); + }); + }); + var c = u(e, l); + return g(l, c), f(l, e.graph().align); + }, + findType1Conflicts: o, + findType2Conflicts: a, + addConflict: l, + hasConflict: c, + verticalAlignment: d, + horizontalCompaction: h, + alignCoordinates: g, + findSmallestWidthAlignment: u, + balance: f, + }; + }, + 17873: (e, t, i) => { + 'use strict'; + var n = i(38436), + r = i(11138), + s = i(3573).positionX; + e.exports = function (e) { + (function (e) { + var t = r.buildLayerMatrix(e), + i = e.graph().ranksep, + s = 0; + n.forEach(t, function (t) { + var r = n.max( + n.map(t, function (t) { + return e.node(t).height; + }) + ); + n.forEach(t, function (t) { + e.node(t).y = s + r / 2; + }), + (s += r + i); + }); + })((e = r.asNonCompoundGraph(e))), + n.forEach(s(e), function (t, i) { + e.node(i).x = t; + }); + }; + }, + 20300: (e, t, i) => { + 'use strict'; + var n = i(38436), + r = i(70574).Graph, + s = i(76681).slack; + function o(e, t) { + return ( + n.forEach(e.nodes(), function i(r) { + n.forEach(t.nodeEdges(r), function (n) { + var o = n.v, + a = r === o ? n.w : o; + e.hasNode(a) || + s(t, n) || + (e.setNode(a, {}), e.setEdge(r, a, {}), i(a)); + }); + }), + e.nodeCount() + ); + } + function a(e, t) { + return n.minBy(t.edges(), function (i) { + if (e.hasNode(i.v) !== e.hasNode(i.w)) return s(t, i); + }); + } + function l(e, t, i) { + n.forEach(e.nodes(), function (e) { + t.node(e).rank += i; + }); + } + e.exports = function (e) { + var t, + i, + n = new r({ directed: !1 }), + c = e.nodes()[0], + d = e.nodeCount(); + for (n.setNode(c, {}); o(n, e) < d; ) + (t = a(n, e)), + (i = n.hasNode(t.v) ? s(e, t) : -s(e, t)), + l(n, e, i); + return n; + }; + }, + 78093: (e, t, i) => { + 'use strict'; + var n = i(76681).longestPath, + r = i(20300), + s = i(42472); + e.exports = function (e) { + switch (e.graph().ranker) { + case 'network-simplex': + a(e); + break; + case 'tight-tree': + !(function (e) { + n(e), r(e); + })(e); + break; + case 'longest-path': + o(e); + break; + default: + a(e); + } + }; + var o = n; + function a(e) { + s(e); + } + }, + 42472: (e, t, i) => { + 'use strict'; + var n = i(38436), + r = i(20300), + s = i(76681).slack, + o = i(76681).longestPath, + a = i(70574).alg.preorder, + l = i(70574).alg.postorder, + c = i(11138).simplify; + function d(e) { + (e = c(e)), o(e); + var t, + i = r(e); + for (g(i), h(i, e); (t = p(i)); ) _(i, e, t, m(i, e, t)); + } + function h(e, t) { + var i = l(e, e.nodes()); + (i = i.slice(0, i.length - 1)), + n.forEach(i, function (i) { + !(function (e, t, i) { + var n = e.node(i).parent; + e.edge(i, n).cutvalue = u(e, t, i); + })(e, t, i); + }); + } + function u(e, t, i) { + var r = e.node(i).parent, + s = !0, + o = t.edge(i, r), + a = 0; + return ( + o || ((s = !1), (o = t.edge(r, i))), + (a = o.weight), + n.forEach(t.nodeEdges(i), function (n) { + var o, + l, + c = n.v === i, + d = c ? n.w : n.v; + if (d !== r) { + var h = c === s, + u = t.edge(n).weight; + if (((a += h ? u : -u), (o = i), (l = d), e.hasEdge(o, l))) { + var g = e.edge(i, d).cutvalue; + a += h ? -g : g; + } + } + }), + a + ); + } + function g(e, t) { + arguments.length < 2 && (t = e.nodes()[0]), f(e, {}, 1, t); + } + function f(e, t, i, r, s) { + var o = i, + a = e.node(r); + return ( + (t[r] = !0), + n.forEach(e.neighbors(r), function (s) { + n.has(t, s) || (i = f(e, t, i, s, r)); + }), + (a.low = o), + (a.lim = i++), + s ? (a.parent = s) : delete a.parent, + i + ); + } + function p(e) { + return n.find(e.edges(), function (t) { + return e.edge(t).cutvalue < 0; + }); + } + function m(e, t, i) { + var r = i.v, + o = i.w; + t.hasEdge(r, o) || ((r = i.w), (o = i.v)); + var a = e.node(r), + l = e.node(o), + c = a, + d = !1; + a.lim > l.lim && ((c = l), (d = !0)); + var h = n.filter(t.edges(), function (t) { + return d === b(0, e.node(t.v), c) && d !== b(0, e.node(t.w), c); + }); + return n.minBy(h, function (e) { + return s(t, e); + }); + } + function _(e, t, i, r) { + var s = i.v, + o = i.w; + e.removeEdge(s, o), + e.setEdge(r.v, r.w, {}), + g(e), + h(e, t), + (function (e, t) { + var i = n.find(e.nodes(), function (e) { + return !t.node(e).parent; + }), + r = a(e, i); + (r = r.slice(1)), + n.forEach(r, function (i) { + var n = e.node(i).parent, + r = t.edge(i, n), + s = !1; + r || ((r = t.edge(n, i)), (s = !0)), + (t.node(i).rank = + t.node(n).rank + (s ? r.minlen : -r.minlen)); + }); + })(e, t); + } + function b(e, t, i) { + return i.low <= t.lim && t.lim <= i.lim; + } + (e.exports = d), + (d.initLowLimValues = g), + (d.initCutValues = h), + (d.calcCutValue = u), + (d.leaveEdge = p), + (d.enterEdge = m), + (d.exchangeEdges = _); + }, + 76681: (e, t, i) => { + 'use strict'; + var n = i(38436); + e.exports = { + longestPath: function (e) { + var t = {}; + n.forEach(e.sources(), function i(r) { + var s = e.node(r); + if (n.has(t, r)) return s.rank; + t[r] = !0; + var o = n.min( + n.map(e.outEdges(r), function (t) { + return i(t.w) - e.edge(t).minlen; + }) + ); + return ( + (o !== Number.POSITIVE_INFINITY && null != o) || (o = 0), + (s.rank = o) + ); + }); + }, + slack: function (e, t) { + return e.node(t.w).rank - e.node(t.v).rank - e.edge(t).minlen; + }, + }; + }, + 11138: (e, t, i) => { + 'use strict'; + var n = i(38436), + r = i(70574).Graph; + function s(e, t, i, r) { + var s; + do { + s = n.uniqueId(r); + } while (e.hasNode(s)); + return (i.dummy = t), e.setNode(s, i), s; + } + function o(e) { + return n.max( + n.map(e.nodes(), function (t) { + var i = e.node(t).rank; + if (!n.isUndefined(i)) return i; + }) + ); + } + e.exports = { + addDummyNode: s, + simplify: function (e) { + var t = new r().setGraph(e.graph()); + return ( + n.forEach(e.nodes(), function (i) { + t.setNode(i, e.node(i)); + }), + n.forEach(e.edges(), function (i) { + var n = t.edge(i.v, i.w) || { weight: 0, minlen: 1 }, + r = e.edge(i); + t.setEdge(i.v, i.w, { + weight: n.weight + r.weight, + minlen: Math.max(n.minlen, r.minlen), + }); + }), + t + ); + }, + asNonCompoundGraph: function (e) { + var t = new r({ multigraph: e.isMultigraph() }).setGraph(e.graph()); + return ( + n.forEach(e.nodes(), function (i) { + e.children(i).length || t.setNode(i, e.node(i)); + }), + n.forEach(e.edges(), function (i) { + t.setEdge(i, e.edge(i)); + }), + t + ); + }, + successorWeights: function (e) { + var t = n.map(e.nodes(), function (t) { + var i = {}; + return ( + n.forEach(e.outEdges(t), function (t) { + i[t.w] = (i[t.w] || 0) + e.edge(t).weight; + }), + i + ); + }); + return n.zipObject(e.nodes(), t); + }, + predecessorWeights: function (e) { + var t = n.map(e.nodes(), function (t) { + var i = {}; + return ( + n.forEach(e.inEdges(t), function (t) { + i[t.v] = (i[t.v] || 0) + e.edge(t).weight; + }), + i + ); + }); + return n.zipObject(e.nodes(), t); + }, + intersectRect: function (e, t) { + var i, + n, + r = e.x, + s = e.y, + o = t.x - r, + a = t.y - s, + l = e.width / 2, + c = e.height / 2; + if (!o && !a) + throw new Error( + 'Not possible to find intersection inside of the rectangle' + ); + return ( + Math.abs(a) * l > Math.abs(o) * c + ? (a < 0 && (c = -c), (i = (c * o) / a), (n = c)) + : (o < 0 && (l = -l), (i = l), (n = (l * a) / o)), + { x: r + i, y: s + n } + ); + }, + buildLayerMatrix: function (e) { + var t = n.map(n.range(o(e) + 1), function () { + return []; + }); + return ( + n.forEach(e.nodes(), function (i) { + var r = e.node(i), + s = r.rank; + n.isUndefined(s) || (t[s][r.order] = i); + }), + t + ); + }, + normalizeRanks: function (e) { + var t = n.min( + n.map(e.nodes(), function (t) { + return e.node(t).rank; + }) + ); + n.forEach(e.nodes(), function (i) { + var r = e.node(i); + n.has(r, 'rank') && (r.rank -= t); + }); + }, + removeEmptyRanks: function (e) { + var t = n.min( + n.map(e.nodes(), function (t) { + return e.node(t).rank; + }) + ), + i = []; + n.forEach(e.nodes(), function (n) { + var r = e.node(n).rank - t; + i[r] || (i[r] = []), i[r].push(n); + }); + var r = 0, + s = e.graph().nodeRankFactor; + n.forEach(i, function (t, i) { + n.isUndefined(t) && i % s != 0 + ? --r + : r && + n.forEach(t, function (t) { + e.node(t).rank += r; + }); + }); + }, + addBorderNode: function (e, t, i, n) { + var r = { width: 0, height: 0 }; + return ( + arguments.length >= 4 && ((r.rank = i), (r.order = n)), + s(e, 'border', r, t) + ); + }, + maxRank: o, + partition: function (e, t) { + var i = { lhs: [], rhs: [] }; + return ( + n.forEach(e, function (e) { + t(e) ? i.lhs.push(e) : i.rhs.push(e); + }), + i + ); + }, + time: function (e, t) { + var i = n.now(); + try { + return t(); + } finally { + console.log(e + ' time: ' + (n.now() - i) + 'ms'); + } + }, + notime: function (e, t) { + return t(); + }, + }; + }, + 88177: (e) => { + e.exports = '0.8.4'; + }, + 2268: (e) => { + 'use strict'; + var t = (e.exports = {}); + (t.isIE = function (e) { + return !( + (-1 === (t = navigator.userAgent.toLowerCase()).indexOf('msie') && + -1 === t.indexOf('trident') && + -1 === t.indexOf(' edge/')) || + (e && + e !== + (function () { + var e = 3, + t = document.createElement('div'), + i = t.getElementsByTagName('i'); + do { + t.innerHTML = + '\x3c!--[if gt IE ' + ++e + ']><i></i><![endif]--\x3e'; + } while (i[0]); + return e > 4 ? e : void 0; + })()) + ); + var t; + }), + (t.isLegacyOpera = function () { + return !!window.opera; + }); + }, + 17900: (e) => { + 'use strict'; + (e.exports = {}).forEach = function (e, t) { + for (var i = 0; i < e.length; i++) { + var n = t(e[i]); + if (n) return n; + } + }; + }, + 58229: (e, t, i) => { + 'use strict'; + var n = i(2268); + e.exports = function (e) { + var t = (e = e || {}).reporter, + i = e.batchProcessor, + r = e.stateHandler.getState; + if (!t) throw new Error('Missing required dependency: reporter.'); + function s(t) { + var i = e.important ? ' !important; ' : '; '; + return (t.join(i) + i).trim(); + } + function o(e) { + return r(e).object; + } + return { + makeDetectable: function (e, o, a) { + a || ((a = o), (o = e), (e = null)), + (e = e || {}).debug, + n.isIE(8) + ? a(o) + : (function (o, a) { + var l = s([ + 'display: block', + 'position: absolute', + 'top: 0', + 'left: 0', + 'width: 100%', + 'height: 100%', + 'border: none', + 'padding: 0', + 'margin: 0', + 'opacity: 0', + 'z-index: -1000', + 'pointer-events: none', + ]), + c = !1, + d = window.getComputedStyle(o), + h = o.offsetWidth, + u = o.offsetHeight; + function g() { + function i() { + if ('static' === d.position) { + o.style.setProperty( + 'position', + 'relative', + e.important ? 'important' : '' + ); + var i = function (t, i, n, r) { + var s = n[r]; + 'auto' !== s && + '0' !== + (function (e) { + return e.replace(/[^-\d\.]/g, ''); + })(s) && + (t.warn( + 'An element that is positioned static has style.' + + r + + '=' + + s + + ' which is ignored due to the static positioning. The element will need to be positioned relative, so the style.' + + r + + ' will be set to 0. Element: ', + i + ), + i.style.setProperty( + r, + '0', + e.important ? 'important' : '' + )); + }; + i(t, o, d, 'top'), + i(t, o, d, 'right'), + i(t, o, d, 'bottom'), + i(t, o, d, 'left'); + } + } + '' !== d.position && (i(), (c = !0)); + var s = document.createElement('object'); + (s.style.cssText = l), + (s.tabIndex = -1), + (s.type = 'text/html'), + s.setAttribute('aria-hidden', 'true'), + (s.onload = function () { + c || i(), + (function e(t, i) { + if (!t.contentDocument) { + var n = r(t); + return ( + n.checkForObjectDocumentTimeoutId && + window.clearTimeout( + n.checkForObjectDocumentTimeoutId + ), + void (n.checkForObjectDocumentTimeoutId = setTimeout( + function () { + (n.checkForObjectDocumentTimeoutId = 0), + e(t, i); + }, + 100 + )) + ); + } + i(t.contentDocument); + })(this, function (e) { + a(o); + }); + }), + n.isIE() || (s.data = 'about:blank'), + r(o) && + (o.appendChild(s), + (r(o).object = s), + n.isIE() && (s.data = 'about:blank')); + } + (r(o).startSize = { width: h, height: u }), + i ? i.add(g) : g(); + })(o, a); + }, + addListener: function (e, t) { + function i() { + t(e); + } + if (n.isIE(8)) + (r(e).object = { proxy: i }), e.attachEvent('onresize', i); + else { + var s = o(e); + if (!s) + throw new Error( + 'Element is not detectable by this strategy.' + ); + s.contentDocument.defaultView.addEventListener('resize', i); + } + }, + uninstall: function (e) { + if (r(e)) { + var t = o(e); + t && + (n.isIE(8) + ? e.detachEvent('onresize', t.proxy) + : e.removeChild(t), + r(e).checkForObjectDocumentTimeoutId && + window.clearTimeout(r(e).checkForObjectDocumentTimeoutId), + delete r(e).object); + } + }, + }; + }; + }, + 60787: (e, t, i) => { + 'use strict'; + var n = i(17900).forEach; + e.exports = function (e) { + var t = (e = e || {}).reporter, + i = e.batchProcessor, + r = e.stateHandler.getState, + s = (e.stateHandler.hasState, e.idHandler); + if (!i) + throw new Error('Missing required dependency: batchProcessor'); + if (!t) throw new Error('Missing required dependency: reporter.'); + var o = (function () { + var e = document.createElement('div'); + e.style.cssText = c([ + 'position: absolute', + 'width: 1000px', + 'height: 1000px', + 'visibility: hidden', + 'margin: 0', + 'padding: 0', + ]); + var t = document.createElement('div'); + (t.style.cssText = c([ + 'position: absolute', + 'width: 500px', + 'height: 500px', + 'overflow: scroll', + 'visibility: none', + 'top: -1500px', + 'left: -1500px', + 'visibility: hidden', + 'margin: 0', + 'padding: 0', + ])), + t.appendChild(e), + document.body.insertBefore(t, document.body.firstChild); + var i = 500 - t.clientWidth, + n = 500 - t.clientHeight; + return document.body.removeChild(t), { width: i, height: n }; + })(), + a = 'erd_scroll_detection_container'; + function l(e) { + !(function (e, t, i) { + if (!e.getElementById(t)) { + var n = i + '_animation', + r = '/* Created by the element-resize-detector library. */\n'; + (r += + '.' + + i + + ' > div::-webkit-scrollbar { ' + + c(['display: none']) + + ' }\n\n'), + (r += + '.erd_scroll_detection_container_animation_active { ' + + c([ + '-webkit-animation-duration: 0.1s', + 'animation-duration: 0.1s', + '-webkit-animation-name: ' + n, + 'animation-name: ' + n, + ]) + + ' }\n'), + (r += + '@-webkit-keyframes ' + + n + + ' { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }\n'), + (function (i, n) { + n = + n || + function (t) { + e.head.appendChild(t); + }; + var r = e.createElement('style'); + (r.innerHTML = i), (r.id = t), n(r); + })( + (r += + '@keyframes ' + + n + + ' { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }') + ); + } + })(e, 'erd_scroll_detection_scrollbar_style', a); + } + function c(t) { + var i = e.important ? ' !important; ' : '; '; + return (t.join(i) + i).trim(); + } + function d(e, i, n) { + if (e.addEventListener) e.addEventListener(i, n); + else { + if (!e.attachEvent) + return t.error( + "[scroll] Don't know how to add event listeners." + ); + e.attachEvent('on' + i, n); + } + } + function h(e, i, n) { + if (e.removeEventListener) e.removeEventListener(i, n); + else { + if (!e.detachEvent) + return t.error( + "[scroll] Don't know how to remove event listeners." + ); + e.detachEvent('on' + i, n); + } + } + function u(e) { + return r(e).container.childNodes[0].childNodes[0].childNodes[0]; + } + function g(e) { + return r(e).container.childNodes[0].childNodes[0].childNodes[1]; + } + return ( + l(window.document), + { + makeDetectable: function (e, l, h) { + function f() { + if (e.debug) { + var i = Array.prototype.slice.call(arguments); + if ((i.unshift(s.get(l), 'Scroll: '), t.log.apply)) + t.log.apply(null, i); + else for (var n = 0; n < i.length; n++) t.log(i[n]); + } + } + function p(e) { + var t = r(e).container.childNodes[0], + i = window.getComputedStyle(t); + return !i.width || -1 === i.width.indexOf('px'); + } + function m() { + var e = window.getComputedStyle(l), + t = {}; + return ( + (t.position = e.position), + (t.width = l.offsetWidth), + (t.height = l.offsetHeight), + (t.top = e.top), + (t.right = e.right), + (t.bottom = e.bottom), + (t.left = e.left), + (t.widthCSS = e.width), + (t.heightCSS = e.height), + t + ); + } + function _() { + if ((f('storeStyle invoked.'), r(l))) { + var e = m(); + r(l).style = e; + } else f('Aborting because element has been uninstalled'); + } + function b(e, t, i) { + (r(e).lastWidth = t), (r(e).lastHeight = i); + } + function v() { + return 2 * o.width + 1; + } + function y() { + return 2 * o.height + 1; + } + function w(e) { + return e + 10 + v(); + } + function C(e) { + return e + 10 + y(); + } + function S(e, t, i) { + var n = u(e), + r = g(e), + s = w(t), + o = C(i), + a = (function (e) { + return 2 * e + v(); + })(t), + l = (function (e) { + return 2 * e + y(); + })(i); + (n.scrollLeft = s), + (n.scrollTop = o), + (r.scrollLeft = a), + (r.scrollTop = l); + } + function k() { + var e = r(l).container; + if (!e) { + ((e = document.createElement('div')).className = a), + (e.style.cssText = c([ + 'visibility: hidden', + 'display: inline', + 'width: 0px', + 'height: 0px', + 'z-index: -1', + 'overflow: hidden', + 'margin: 0', + 'padding: 0', + ])), + (r(l).container = e), + (function (e) { + e.className += ' ' + a + '_animation_active'; + })(e), + l.appendChild(e); + var t = function () { + r(l).onRendered && r(l).onRendered(); + }; + d(e, 'animationstart', t), (r(l).onAnimationStart = t); + } + return e; + } + function x() { + if ((f('Injecting elements'), r(l))) { + !(function () { + var i = r(l).style; + if ('static' === i.position) { + l.style.setProperty( + 'position', + 'relative', + e.important ? 'important' : '' + ); + var n = function (e, t, i, n) { + var r = i[n]; + 'auto' !== r && + '0' !== + (function (e) { + return e.replace(/[^-\d\.]/g, ''); + })(r) && + (e.warn( + 'An element that is positioned static has style.' + + n + + '=' + + r + + ' which is ignored due to the static positioning. The element will need to be positioned relative, so the style.' + + n + + ' will be set to 0. Element: ', + t + ), + (t.style[n] = 0)); + }; + n(t, l, i, 'top'), + n(t, l, i, 'right'), + n(t, l, i, 'bottom'), + n(t, l, i, 'left'); + } + })(); + var i = r(l).container; + i || (i = k()); + var n, + s, + h, + u, + g = o.width, + p = o.height, + m = c([ + 'position: absolute', + 'flex: none', + 'overflow: hidden', + 'z-index: -1', + 'visibility: hidden', + 'width: 100%', + 'height: 100%', + 'left: 0px', + 'top: 0px', + ]), + _ = c( + [ + 'position: absolute', + 'flex: none', + 'overflow: hidden', + 'z-index: -1', + 'visibility: hidden', + ].concat([ + 'left: ' + (n = (n = -(1 + g)) ? n + 'px' : '0'), + 'top: ' + (s = (s = -(1 + p)) ? s + 'px' : '0'), + 'right: ' + (u = (u = -g) ? u + 'px' : '0'), + 'bottom: ' + (h = (h = -p) ? h + 'px' : '0'), + ]) + ), + b = c([ + 'position: absolute', + 'flex: none', + 'overflow: scroll', + 'z-index: -1', + 'visibility: hidden', + 'width: 100%', + 'height: 100%', + ]), + v = c([ + 'position: absolute', + 'flex: none', + 'overflow: scroll', + 'z-index: -1', + 'visibility: hidden', + 'width: 100%', + 'height: 100%', + ]), + y = c(['position: absolute', 'left: 0', 'top: 0']), + w = c([ + 'position: absolute', + 'width: 200%', + 'height: 200%', + ]), + C = document.createElement('div'), + S = document.createElement('div'), + x = document.createElement('div'), + L = document.createElement('div'), + M = document.createElement('div'), + D = document.createElement('div'); + (C.dir = 'ltr'), + (C.style.cssText = m), + (C.className = a), + (S.className = a), + (S.style.cssText = _), + (x.style.cssText = b), + (L.style.cssText = y), + (M.style.cssText = v), + (D.style.cssText = w), + x.appendChild(L), + M.appendChild(D), + S.appendChild(x), + S.appendChild(M), + C.appendChild(S), + i.appendChild(C), + d(x, 'scroll', N), + d(M, 'scroll', E), + (r(l).onExpandScroll = N), + (r(l).onShrinkScroll = E); + } else f('Aborting because element has been uninstalled'); + function N() { + r(l).onExpand && r(l).onExpand(); + } + function E() { + r(l).onShrink && r(l).onShrink(); + } + } + function L() { + function o(t, i, n) { + var r = (function (e) { + return u(e).childNodes[0]; + })(t), + s = w(i), + o = C(n); + r.style.setProperty( + 'width', + s + 'px', + e.important ? 'important' : '' + ), + r.style.setProperty( + 'height', + o + 'px', + e.important ? 'important' : '' + ); + } + function a(n) { + var a = l.offsetWidth, + d = l.offsetHeight, + h = a !== r(l).lastWidth || d !== r(l).lastHeight; + f('Storing current size', a, d), + b(l, a, d), + i.add(0, function () { + if (h) + if (r(l)) + if (c()) { + if (e.debug) { + var i = l.offsetWidth, + n = l.offsetHeight; + (i === a && n === d) || + t.warn( + s.get(l), + 'Scroll: Size changed before updating detector elements.' + ); + } + o(l, a, d); + } else + f( + 'Aborting because element container has not been initialized' + ); + else + f('Aborting because element has been uninstalled'); + }), + i.add(1, function () { + r(l) + ? c() + ? S(l, a, d) + : f( + 'Aborting because element container has not been initialized' + ) + : f('Aborting because element has been uninstalled'); + }), + h && + n && + i.add(2, function () { + r(l) + ? c() + ? n() + : f( + 'Aborting because element container has not been initialized' + ) + : f( + 'Aborting because element has been uninstalled' + ); + }); + } + function c() { + return !!r(l).container; + } + function d() { + f('notifyListenersIfNeeded invoked'); + var e = r(l); + return void 0 === r(l).lastNotifiedWidth && + e.lastWidth === e.startSize.width && + e.lastHeight === e.startSize.height + ? f( + 'Not notifying: Size is the same as the start size, and there has been no notification yet.' + ) + : e.lastWidth === e.lastNotifiedWidth && + e.lastHeight === e.lastNotifiedHeight + ? f('Not notifying: Size already notified') + : (f('Current size not notified, notifying...'), + (e.lastNotifiedWidth = e.lastWidth), + (e.lastNotifiedHeight = e.lastHeight), + void n(r(l).listeners, function (e) { + e(l); + })); + } + function h() { + f('Scroll detected.'), + p(l) + ? f('Scroll event fired while unrendered. Ignoring...') + : a(d); + } + if ( + (f('registerListenersAndPositionElements invoked.'), r(l)) + ) { + (r(l).onRendered = function () { + if ((f('startanimation triggered.'), p(l))) + f('Ignoring since element is still unrendered...'); + else { + f('Element rendered.'); + var e = u(l), + t = g(l); + (0 !== e.scrollLeft && + 0 !== e.scrollTop && + 0 !== t.scrollLeft && + 0 !== t.scrollTop) || + (f( + 'Scrollbars out of sync. Updating detector elements...' + ), + a(d)); + } + }), + (r(l).onExpand = h), + (r(l).onShrink = h); + var m = r(l).style; + o(l, m.width, m.height); + } else f('Aborting because element has been uninstalled'); + } + function M() { + if ((f('finalizeDomMutation invoked.'), r(l))) { + var e = r(l).style; + b(l, e.width, e.height), S(l, e.width, e.height); + } else f('Aborting because element has been uninstalled'); + } + function D() { + h(l); + } + function N() { + var e; + f('Installing...'), + (r(l).listeners = []), + (e = m()), + (r(l).startSize = { width: e.width, height: e.height }), + f('Element start size', r(l).startSize), + i.add(0, _), + i.add(1, x), + i.add(2, L), + i.add(3, M), + i.add(4, D); + } + h || ((h = l), (l = e), (e = null)), + (e = e || {}), + f('Making detectable...'), + (function (e) { + return ( + !(function (e) { + return ( + e === e.ownerDocument.body || + e.ownerDocument.body.contains(e) + ); + })(e) || null === window.getComputedStyle(e) + ); + })(l) + ? (f('Element is detached'), + k(), + f('Waiting until element is attached...'), + (r(l).onRendered = function () { + f('Element is now attached'), N(); + })) + : N(); + }, + addListener: function (e, t) { + if (!r(e).listeners.push) + throw new Error( + 'Cannot add listener to an element that is not detectable.' + ); + r(e).listeners.push(t); + }, + uninstall: function (e) { + var t = r(e); + t && + (t.onExpandScroll && h(u(e), 'scroll', t.onExpandScroll), + t.onShrinkScroll && h(g(e), 'scroll', t.onShrinkScroll), + t.onAnimationStart && + h(t.container, 'animationstart', t.onAnimationStart), + t.container && e.removeChild(t.container)); + }, + initDocument: l, + } + ); + }; + }, + 63844: (e, t, i) => { + 'use strict'; + var n = i(17900).forEach, + r = i(68452), + s = i(96199), + o = i(75805), + a = i(79799), + l = i(71724), + c = i(2268), + d = i(98129), + h = i(21931), + u = i(58229), + g = i(60787); + function f(e) { + return Array.isArray(e) || void 0 !== e.length; + } + function p(e) { + if (Array.isArray(e)) return e; + var t = []; + return ( + n(e, function (e) { + t.push(e); + }), + t + ); + } + function m(e) { + return e && 1 === e.nodeType; + } + function _(e, t, i) { + var n = e[t]; + return null == n && void 0 !== i ? i : n; + } + e.exports = function (e) { + var t; + if ((e = e || {}).idHandler) + t = { + get: function (t) { + return e.idHandler.get(t, !0); + }, + set: e.idHandler.set, + }; + else { + var i = o(), + b = a({ idGenerator: i, stateHandler: h }); + t = b; + } + var v = e.reporter; + v || (v = l(!1 === v)); + var y = _(e, 'batchProcessor', d({ reporter: v })), + w = {}; + (w.callOnAdd = !!_(e, 'callOnAdd', !0)), + (w.debug = !!_(e, 'debug', !1)); + var C, + S = s(t), + k = r({ stateHandler: h }), + x = _(e, 'strategy', 'object'), + L = _(e, 'important', !1), + M = { + reporter: v, + batchProcessor: y, + stateHandler: h, + idHandler: t, + important: L, + }; + if ( + ('scroll' === x && + (c.isLegacyOpera() + ? (v.warn( + 'Scroll strategy is not supported on legacy Opera. Changing to object strategy.' + ), + (x = 'object')) + : c.isIE(9) && + (v.warn( + 'Scroll strategy is not supported on IE9. Changing to object strategy.' + ), + (x = 'object'))), + 'scroll' === x) + ) + C = g(M); + else { + if ('object' !== x) throw new Error('Invalid strategy name: ' + x); + C = u(M); + } + var D = {}; + return { + listenTo: function (e, i, r) { + function s(e) { + var t = S.get(e); + n(t, function (t) { + t(e); + }); + } + function o(e, t, i) { + S.add(t, i), e && i(t); + } + if ((r || ((r = i), (i = e), (e = {})), !i)) + throw new Error('At least one element required.'); + if (!r) throw new Error('Listener required.'); + if (m(i)) i = [i]; + else { + if (!f(i)) + return v.error( + 'Invalid arguments. Must be a DOM element or a collection of DOM elements.' + ); + i = p(i); + } + var a = 0, + l = _(e, 'callOnAdd', w.callOnAdd), + c = _(e, 'onReady', function () {}), + d = _(e, 'debug', w.debug); + n(i, function (e) { + h.getState(e) || (h.initState(e), t.set(e)); + var u = t.get(e); + if ( + (d && v.log('Attaching listener to element', u, e), + !k.isDetectable(e)) + ) + return ( + d && v.log(u, 'Not detectable.'), + k.isBusy(e) + ? (d && v.log(u, 'System busy making it detectable'), + o(l, e, r), + (D[u] = D[u] || []), + void D[u].push(function () { + ++a === i.length && c(); + })) + : (d && v.log(u, 'Making detectable...'), + k.markBusy(e, !0), + C.makeDetectable( + { debug: d, important: L }, + e, + function (e) { + if ( + (d && v.log(u, 'onElementDetectable'), + h.getState(e)) + ) { + k.markAsDetectable(e), + k.markBusy(e, !1), + C.addListener(e, s), + o(l, e, r); + var t = h.getState(e); + if (t && t.startSize) { + var g = e.offsetWidth, + f = e.offsetHeight; + (t.startSize.width === g && + t.startSize.height === f) || + s(e); + } + D[u] && + n(D[u], function (e) { + e(); + }); + } else + d && + v.log( + u, + 'Element uninstalled before being detectable.' + ); + delete D[u], ++a === i.length && c(); + } + )) + ); + d && v.log(u, 'Already detecable, adding listener.'), + o(l, e, r), + a++; + }), + a === i.length && c(); + }, + removeListener: S.removeListener, + removeAllListeners: S.removeAllListeners, + uninstall: function (e) { + if (!e) return v.error('At least one element is required.'); + if (m(e)) e = [e]; + else { + if (!f(e)) + return v.error( + 'Invalid arguments. Must be a DOM element or a collection of DOM elements.' + ); + e = p(e); + } + n(e, function (e) { + S.removeAllListeners(e), C.uninstall(e), h.cleanState(e); + }); + }, + initDocument: function (e) { + C.initDocument && C.initDocument(e); + }, + }; + }; + }, + 68452: (e) => { + 'use strict'; + e.exports = function (e) { + var t = e.stateHandler.getState; + return { + isDetectable: function (e) { + var i = t(e); + return i && !!i.isDetectable; + }, + markAsDetectable: function (e) { + t(e).isDetectable = !0; + }, + isBusy: function (e) { + return !!t(e).busy; + }, + markBusy: function (e, i) { + t(e).busy = !!i; + }, + }; + }; + }, + 75805: (e) => { + 'use strict'; + e.exports = function () { + var e = 1; + return { + generate: function () { + return e++; + }, + }; + }; + }, + 79799: (e) => { + 'use strict'; + e.exports = function (e) { + var t = e.idGenerator, + i = e.stateHandler.getState; + return { + get: function (e) { + var t = i(e); + return t && void 0 !== t.id ? t.id : null; + }, + set: function (e) { + var n = i(e); + if (!n) + throw new Error( + 'setId required the element to have a resize detection state.' + ); + var r = t.generate(); + return (n.id = r), r; + }, + }; + }; + }, + 96199: (e) => { + 'use strict'; + e.exports = function (e) { + var t = {}; + function i(i) { + var n = e.get(i); + return void 0 === n ? [] : t[n] || []; + } + return { + get: i, + add: function (i, n) { + var r = e.get(i); + t[r] || (t[r] = []), t[r].push(n); + }, + removeListener: function (e, t) { + for (var n = i(e), r = 0, s = n.length; r < s; ++r) + if (n[r] === t) { + n.splice(r, 1); + break; + } + }, + removeAllListeners: function (e) { + var t = i(e); + t && (t.length = 0); + }, + }; + }; + }, + 71724: (e) => { + 'use strict'; + e.exports = function (e) { + function t() {} + var i = { log: t, warn: t, error: t }; + if (!e && window.console) { + var n = function (e, t) { + e[t] = function () { + var e = console[t]; + if (e.apply) e.apply(console, arguments); + else for (var i = 0; i < arguments.length; i++) e(arguments[i]); + }; + }; + n(i, 'log'), n(i, 'warn'), n(i, 'error'); + } + return i; + }; + }, + 21931: (e) => { + 'use strict'; + function t(e) { + return e._erd; + } + e.exports = { + initState: function (e) { + return (e._erd = {}), t(e); + }, + getState: t, + cleanState: function (e) { + delete e._erd; + }, + }; + }, + 42859: (e, t, i) => { + 'use strict'; + var n; + function r(e) { + return ( + (n = n || document.createElement('div')), + (e = escape(e) + .replace(/%26/g, '&') + .replace(/%23/g, '#') + .replace(/%3B/g, ';')), + (n.innerHTML = e), + unescape(n.textContent) + ); + } + i.r(t), i.d(t, { default: () => r }); + }, + 28282: (e, t, i) => { + var n = i(82354); + e.exports = { + Graph: n.Graph, + json: i(28974), + alg: i(12440), + version: n.version, + }; + }, + 2842: (e, t, i) => { + var n = i(89126); + e.exports = function (e) { + var t, + i = {}, + r = []; + function s(r) { + n.has(i, r) || + ((i[r] = !0), + t.push(r), + n.each(e.successors(r), s), + n.each(e.predecessors(r), s)); + } + return ( + n.each(e.nodes(), function (e) { + (t = []), s(e), t.length && r.push(t); + }), + r + ); + }; + }, + 53984: (e, t, i) => { + var n = i(89126); + function r(e, t, i, s, o, a) { + n.has(s, t) || + ((s[t] = !0), + i || a.push(t), + n.each(o(t), function (t) { + r(e, t, i, s, o, a); + }), + i && a.push(t)); + } + e.exports = function (e, t, i) { + n.isArray(t) || (t = [t]); + var s = (e.isDirected() ? e.successors : e.neighbors).bind(e), + o = [], + a = {}; + return ( + n.each(t, function (t) { + if (!e.hasNode(t)) + throw new Error('Graph does not have node: ' + t); + r(e, t, 'post' === i, a, s, o); + }), + o + ); + }; + }, + 84847: (e, t, i) => { + var n = i(63763), + r = i(89126); + e.exports = function (e, t, i) { + return r.transform( + e.nodes(), + function (r, s) { + r[s] = n(e, s, t, i); + }, + {} + ); + }; + }, + 63763: (e, t, i) => { + var n = i(89126), + r = i(75639); + e.exports = function (e, t, i, n) { + return (function (e, t, i, n) { + var s, + o, + a = {}, + l = new r(), + c = function (e) { + var t = e.v !== s ? e.v : e.w, + n = a[t], + r = i(e), + c = o.distance + r; + if (r < 0) + throw new Error( + 'dijkstra does not allow negative edge weights. Bad edge: ' + + e + + ' Weight: ' + + r + ); + c < n.distance && + ((n.distance = c), (n.predecessor = s), l.decrease(t, c)); + }; + for ( + e.nodes().forEach(function (e) { + var i = e === t ? 0 : Number.POSITIVE_INFINITY; + (a[e] = { distance: i }), l.add(e, i); + }); + l.size() > 0 && + ((s = l.removeMin()), + (o = a[s]).distance !== Number.POSITIVE_INFINITY); + + ) + n(s).forEach(c); + return a; + })( + e, + String(t), + i || s, + n || + function (t) { + return e.outEdges(t); + } + ); + }; + var s = n.constant(1); + }, + 9096: (e, t, i) => { + var n = i(89126), + r = i(5023); + e.exports = function (e) { + return n.filter(r(e), function (t) { + return t.length > 1 || (1 === t.length && e.hasEdge(t[0], t[0])); + }); + }; + }, + 38924: (e, t, i) => { + var n = i(89126); + e.exports = function (e, t, i) { + return (function (e, t, i) { + var n = {}, + r = e.nodes(); + return ( + r.forEach(function (e) { + (n[e] = {}), + (n[e][e] = { distance: 0 }), + r.forEach(function (t) { + e !== t && + (n[e][t] = { distance: Number.POSITIVE_INFINITY }); + }), + i(e).forEach(function (i) { + var r = i.v === e ? i.w : i.v, + s = t(i); + n[e][r] = { distance: s, predecessor: e }; + }); + }), + r.forEach(function (e) { + var t = n[e]; + r.forEach(function (i) { + var s = n[i]; + r.forEach(function (i) { + var n = s[e], + r = t[i], + o = s[i], + a = n.distance + r.distance; + a < o.distance && + ((o.distance = a), (o.predecessor = r.predecessor)); + }); + }); + }), + n + ); + })( + e, + t || r, + i || + function (t) { + return e.outEdges(t); + } + ); + }; + var r = n.constant(1); + }, + 12440: (e, t, i) => { + e.exports = { + components: i(2842), + dijkstra: i(63763), + dijkstraAll: i(84847), + findCycles: i(9096), + floydWarshall: i(38924), + isAcyclic: i(62707), + postorder: i(58828), + preorder: i(92648), + prim: i(80514), + tarjan: i(5023), + topsort: i(2166), + }; + }, + 62707: (e, t, i) => { + var n = i(2166); + e.exports = function (e) { + try { + n(e); + } catch (e) { + if (e instanceof n.CycleException) return !1; + throw e; + } + return !0; + }; + }, + 58828: (e, t, i) => { + var n = i(53984); + e.exports = function (e, t) { + return n(e, t, 'post'); + }; + }, + 92648: (e, t, i) => { + var n = i(53984); + e.exports = function (e, t) { + return n(e, t, 'pre'); + }; + }, + 80514: (e, t, i) => { + var n = i(89126), + r = i(30771), + s = i(75639); + e.exports = function (e, t) { + var i, + o = new r(), + a = {}, + l = new s(); + function c(e) { + var n = e.v === i ? e.w : e.v, + r = l.priority(n); + if (void 0 !== r) { + var s = t(e); + s < r && ((a[n] = i), l.decrease(n, s)); + } + } + if (0 === e.nodeCount()) return o; + n.each(e.nodes(), function (e) { + l.add(e, Number.POSITIVE_INFINITY), o.setNode(e); + }), + l.decrease(e.nodes()[0], 0); + for (var d = !1; l.size() > 0; ) { + if (((i = l.removeMin()), n.has(a, i))) o.setEdge(i, a[i]); + else { + if (d) throw new Error('Input graph is not connected: ' + e); + d = !0; + } + e.nodeEdges(i).forEach(c); + } + return o; + }; + }, + 5023: (e, t, i) => { + var n = i(89126); + e.exports = function (e) { + var t = 0, + i = [], + r = {}, + s = []; + function o(a) { + var l = (r[a] = { onStack: !0, lowlink: t, index: t++ }); + if ( + (i.push(a), + e.successors(a).forEach(function (e) { + n.has(r, e) + ? r[e].onStack && + (l.lowlink = Math.min(l.lowlink, r[e].index)) + : (o(e), (l.lowlink = Math.min(l.lowlink, r[e].lowlink))); + }), + l.lowlink === l.index) + ) { + var c, + d = []; + do { + (c = i.pop()), (r[c].onStack = !1), d.push(c); + } while (a !== c); + s.push(d); + } + } + return ( + e.nodes().forEach(function (e) { + n.has(r, e) || o(e); + }), + s + ); + }; + }, + 2166: (e, t, i) => { + var n = i(89126); + function r(e) { + var t = {}, + i = {}, + r = []; + if ( + (n.each(e.sinks(), function o(a) { + if (n.has(i, a)) throw new s(); + n.has(t, a) || + ((i[a] = !0), + (t[a] = !0), + n.each(e.predecessors(a), o), + delete i[a], + r.push(a)); + }), + n.size(t) !== e.nodeCount()) + ) + throw new s(); + return r; + } + function s() {} + (e.exports = r), (r.CycleException = s), (s.prototype = new Error()); + }, + 75639: (e, t, i) => { + var n = i(89126); + function r() { + (this._arr = []), (this._keyIndices = {}); + } + (e.exports = r), + (r.prototype.size = function () { + return this._arr.length; + }), + (r.prototype.keys = function () { + return this._arr.map(function (e) { + return e.key; + }); + }), + (r.prototype.has = function (e) { + return n.has(this._keyIndices, e); + }), + (r.prototype.priority = function (e) { + var t = this._keyIndices[e]; + if (void 0 !== t) return this._arr[t].priority; + }), + (r.prototype.min = function () { + if (0 === this.size()) throw new Error('Queue underflow'); + return this._arr[0].key; + }), + (r.prototype.add = function (e, t) { + var i = this._keyIndices; + if (((e = String(e)), !n.has(i, e))) { + var r = this._arr, + s = r.length; + return ( + (i[e] = s), + r.push({ key: e, priority: t }), + this._decrease(s), + !0 + ); + } + return !1; + }), + (r.prototype.removeMin = function () { + this._swap(0, this._arr.length - 1); + var e = this._arr.pop(); + return delete this._keyIndices[e.key], this._heapify(0), e.key; + }), + (r.prototype.decrease = function (e, t) { + var i = this._keyIndices[e]; + if (t > this._arr[i].priority) + throw new Error( + 'New priority is greater than current priority. Key: ' + + e + + ' Old: ' + + this._arr[i].priority + + ' New: ' + + t + ); + (this._arr[i].priority = t), this._decrease(i); + }), + (r.prototype._heapify = function (e) { + var t = this._arr, + i = 2 * e, + n = i + 1, + r = e; + i < t.length && + ((r = t[i].priority < t[r].priority ? i : r), + n < t.length && (r = t[n].priority < t[r].priority ? n : r), + r !== e && (this._swap(e, r), this._heapify(r))); + }), + (r.prototype._decrease = function (e) { + for ( + var t, i = this._arr, n = i[e].priority; + 0 !== e && !(i[(t = e >> 1)].priority < n); + + ) + this._swap(e, t), (e = t); + }), + (r.prototype._swap = function (e, t) { + var i = this._arr, + n = this._keyIndices, + r = i[e], + s = i[t]; + (i[e] = s), (i[t] = r), (n[s.key] = e), (n[r.key] = t); + }); + }, + 30771: (e, t, i) => { + 'use strict'; + var n = i(89126); + e.exports = s; + var r = '\0'; + function s(e) { + (this._isDirected = !n.has(e, 'directed') || e.directed), + (this._isMultigraph = !!n.has(e, 'multigraph') && e.multigraph), + (this._isCompound = !!n.has(e, 'compound') && e.compound), + (this._label = void 0), + (this._defaultNodeLabelFn = n.constant(void 0)), + (this._defaultEdgeLabelFn = n.constant(void 0)), + (this._nodes = {}), + this._isCompound && + ((this._parent = {}), + (this._children = {}), + (this._children['\0'] = {})), + (this._in = {}), + (this._preds = {}), + (this._out = {}), + (this._sucs = {}), + (this._edgeObjs = {}), + (this._edgeLabels = {}); + } + function o(e, t) { + e[t] ? e[t]++ : (e[t] = 1); + } + function a(e, t) { + --e[t] || delete e[t]; + } + function l(e, t, i, r) { + var s = '' + t, + o = '' + i; + if (!e && s > o) { + var a = s; + (s = o), (o = a); + } + return s + '' + o + '' + (n.isUndefined(r) ? '\0' : r); + } + function c(e, t, i, n) { + var r = '' + t, + s = '' + i; + if (!e && r > s) { + var o = r; + (r = s), (s = o); + } + var a = { v: r, w: s }; + return n && (a.name = n), a; + } + function d(e, t) { + return l(e, t.v, t.w, t.name); + } + (s.prototype._nodeCount = 0), + (s.prototype._edgeCount = 0), + (s.prototype.isDirected = function () { + return this._isDirected; + }), + (s.prototype.isMultigraph = function () { + return this._isMultigraph; + }), + (s.prototype.isCompound = function () { + return this._isCompound; + }), + (s.prototype.setGraph = function (e) { + return (this._label = e), this; + }), + (s.prototype.graph = function () { + return this._label; + }), + (s.prototype.setDefaultNodeLabel = function (e) { + return ( + n.isFunction(e) || (e = n.constant(e)), + (this._defaultNodeLabelFn = e), + this + ); + }), + (s.prototype.nodeCount = function () { + return this._nodeCount; + }), + (s.prototype.nodes = function () { + return n.keys(this._nodes); + }), + (s.prototype.sources = function () { + var e = this; + return n.filter(this.nodes(), function (t) { + return n.isEmpty(e._in[t]); + }); + }), + (s.prototype.sinks = function () { + var e = this; + return n.filter(this.nodes(), function (t) { + return n.isEmpty(e._out[t]); + }); + }), + (s.prototype.setNodes = function (e, t) { + var i = arguments, + r = this; + return ( + n.each(e, function (e) { + i.length > 1 ? r.setNode(e, t) : r.setNode(e); + }), + this + ); + }), + (s.prototype.setNode = function (e, t) { + return n.has(this._nodes, e) + ? (arguments.length > 1 && (this._nodes[e] = t), this) + : ((this._nodes[e] = + arguments.length > 1 ? t : this._defaultNodeLabelFn(e)), + this._isCompound && + ((this._parent[e] = r), + (this._children[e] = {}), + (this._children['\0'][e] = !0)), + (this._in[e] = {}), + (this._preds[e] = {}), + (this._out[e] = {}), + (this._sucs[e] = {}), + ++this._nodeCount, + this); + }), + (s.prototype.node = function (e) { + return this._nodes[e]; + }), + (s.prototype.hasNode = function (e) { + return n.has(this._nodes, e); + }), + (s.prototype.removeNode = function (e) { + var t = this; + if (n.has(this._nodes, e)) { + var i = function (e) { + t.removeEdge(t._edgeObjs[e]); + }; + delete this._nodes[e], + this._isCompound && + (this._removeFromParentsChildList(e), + delete this._parent[e], + n.each(this.children(e), function (e) { + t.setParent(e); + }), + delete this._children[e]), + n.each(n.keys(this._in[e]), i), + delete this._in[e], + delete this._preds[e], + n.each(n.keys(this._out[e]), i), + delete this._out[e], + delete this._sucs[e], + --this._nodeCount; + } + return this; + }), + (s.prototype.setParent = function (e, t) { + if (!this._isCompound) + throw new Error('Cannot set parent in a non-compound graph'); + if (n.isUndefined(t)) t = r; + else { + for (var i = (t += ''); !n.isUndefined(i); i = this.parent(i)) + if (i === e) + throw new Error( + 'Setting ' + + t + + ' as parent of ' + + e + + ' would create a cycle' + ); + this.setNode(t); + } + return ( + this.setNode(e), + this._removeFromParentsChildList(e), + (this._parent[e] = t), + (this._children[t][e] = !0), + this + ); + }), + (s.prototype._removeFromParentsChildList = function (e) { + delete this._children[this._parent[e]][e]; + }), + (s.prototype.parent = function (e) { + if (this._isCompound) { + var t = this._parent[e]; + if (t !== r) return t; + } + }), + (s.prototype.children = function (e) { + if ((n.isUndefined(e) && (e = r), this._isCompound)) { + var t = this._children[e]; + if (t) return n.keys(t); + } else { + if (e === r) return this.nodes(); + if (this.hasNode(e)) return []; + } + }), + (s.prototype.predecessors = function (e) { + var t = this._preds[e]; + if (t) return n.keys(t); + }), + (s.prototype.successors = function (e) { + var t = this._sucs[e]; + if (t) return n.keys(t); + }), + (s.prototype.neighbors = function (e) { + var t = this.predecessors(e); + if (t) return n.union(t, this.successors(e)); + }), + (s.prototype.isLeaf = function (e) { + return ( + 0 === + (this.isDirected() ? this.successors(e) : this.neighbors(e)) + .length + ); + }), + (s.prototype.filterNodes = function (e) { + var t = new this.constructor({ + directed: this._isDirected, + multigraph: this._isMultigraph, + compound: this._isCompound, + }); + t.setGraph(this.graph()); + var i = this; + n.each(this._nodes, function (i, n) { + e(n) && t.setNode(n, i); + }), + n.each(this._edgeObjs, function (e) { + t.hasNode(e.v) && t.hasNode(e.w) && t.setEdge(e, i.edge(e)); + }); + var r = {}; + function s(e) { + var n = i.parent(e); + return void 0 === n || t.hasNode(n) + ? ((r[e] = n), n) + : n in r + ? r[n] + : s(n); + } + return ( + this._isCompound && + n.each(t.nodes(), function (e) { + t.setParent(e, s(e)); + }), + t + ); + }), + (s.prototype.setDefaultEdgeLabel = function (e) { + return ( + n.isFunction(e) || (e = n.constant(e)), + (this._defaultEdgeLabelFn = e), + this + ); + }), + (s.prototype.edgeCount = function () { + return this._edgeCount; + }), + (s.prototype.edges = function () { + return n.values(this._edgeObjs); + }), + (s.prototype.setPath = function (e, t) { + var i = this, + r = arguments; + return ( + n.reduce(e, function (e, n) { + return r.length > 1 ? i.setEdge(e, n, t) : i.setEdge(e, n), n; + }), + this + ); + }), + (s.prototype.setEdge = function () { + var e, + t, + i, + r, + s = !1, + a = arguments[0]; + 'object' == typeof a && null !== a && 'v' in a + ? ((e = a.v), + (t = a.w), + (i = a.name), + 2 === arguments.length && ((r = arguments[1]), (s = !0))) + : ((e = a), + (t = arguments[1]), + (i = arguments[3]), + arguments.length > 2 && ((r = arguments[2]), (s = !0))), + (e = '' + e), + (t = '' + t), + n.isUndefined(i) || (i = '' + i); + var d = l(this._isDirected, e, t, i); + if (n.has(this._edgeLabels, d)) + return s && (this._edgeLabels[d] = r), this; + if (!n.isUndefined(i) && !this._isMultigraph) + throw new Error( + 'Cannot set a named edge when isMultigraph = false' + ); + this.setNode(e), + this.setNode(t), + (this._edgeLabels[d] = s ? r : this._defaultEdgeLabelFn(e, t, i)); + var h = c(this._isDirected, e, t, i); + return ( + (e = h.v), + (t = h.w), + Object.freeze(h), + (this._edgeObjs[d] = h), + o(this._preds[t], e), + o(this._sucs[e], t), + (this._in[t][d] = h), + (this._out[e][d] = h), + this._edgeCount++, + this + ); + }), + (s.prototype.edge = function (e, t, i) { + var n = + 1 === arguments.length + ? d(this._isDirected, arguments[0]) + : l(this._isDirected, e, t, i); + return this._edgeLabels[n]; + }), + (s.prototype.hasEdge = function (e, t, i) { + var r = + 1 === arguments.length + ? d(this._isDirected, arguments[0]) + : l(this._isDirected, e, t, i); + return n.has(this._edgeLabels, r); + }), + (s.prototype.removeEdge = function (e, t, i) { + var n = + 1 === arguments.length + ? d(this._isDirected, arguments[0]) + : l(this._isDirected, e, t, i), + r = this._edgeObjs[n]; + return ( + r && + ((e = r.v), + (t = r.w), + delete this._edgeLabels[n], + delete this._edgeObjs[n], + a(this._preds[t], e), + a(this._sucs[e], t), + delete this._in[t][n], + delete this._out[e][n], + this._edgeCount--), + this + ); + }), + (s.prototype.inEdges = function (e, t) { + var i = this._in[e]; + if (i) { + var r = n.values(i); + return t + ? n.filter(r, function (e) { + return e.v === t; + }) + : r; + } + }), + (s.prototype.outEdges = function (e, t) { + var i = this._out[e]; + if (i) { + var r = n.values(i); + return t + ? n.filter(r, function (e) { + return e.w === t; + }) + : r; + } + }), + (s.prototype.nodeEdges = function (e, t) { + var i = this.inEdges(e, t); + if (i) return i.concat(this.outEdges(e, t)); + }); + }, + 82354: (e, t, i) => { + e.exports = { Graph: i(30771), version: i(49631) }; + }, + 28974: (e, t, i) => { + var n = i(89126), + r = i(30771); + function s(e) { + return n.map(e.nodes(), function (t) { + var i = e.node(t), + r = e.parent(t), + s = { v: t }; + return ( + n.isUndefined(i) || (s.value = i), + n.isUndefined(r) || (s.parent = r), + s + ); + }); + } + function o(e) { + return n.map(e.edges(), function (t) { + var i = e.edge(t), + r = { v: t.v, w: t.w }; + return ( + n.isUndefined(t.name) || (r.name = t.name), + n.isUndefined(i) || (r.value = i), + r + ); + }); + } + e.exports = { + write: function (e) { + var t = { + options: { + directed: e.isDirected(), + multigraph: e.isMultigraph(), + compound: e.isCompound(), + }, + nodes: s(e), + edges: o(e), + }; + return ( + n.isUndefined(e.graph()) || (t.value = n.clone(e.graph())), t + ); + }, + read: function (e) { + var t = new r(e.options).setGraph(e.value); + return ( + n.each(e.nodes, function (e) { + t.setNode(e.v, e.value), e.parent && t.setParent(e.v, e.parent); + }), + n.each(e.edges, function (e) { + t.setEdge({ v: e.v, w: e.w, name: e.name }, e.value); + }), + t + ); + }, + }; + }, + 89126: (e, t, i) => { + var n; + try { + n = { + clone: i(66678), + constant: i(75703), + each: i(66073), + filter: i(63105), + has: i(18721), + isArray: i(1469), + isEmpty: i(41609), + isFunction: i(23560), + isUndefined: i(52353), + keys: i(3674), + map: i(35161), + reduce: i(54061), + size: i(84238), + transform: i(68718), + union: i(93386), + values: i(52628), + }; + } catch (e) {} + n || (n = window._), (e.exports = n); + }, + 49631: (e) => { + e.exports = '2.1.7'; + }, + 61773: (e, t, i) => { + 'use strict'; + Object.defineProperty(t, '__esModule', { value: !0 }); + var n = i(81083), + r = i(2536), + s = i(7628), + o = (function () { + function e(e, t) { + (this.color = t), + (this.changed = !1), + (this.data = e), + (this.type = new s.default()); + } + return ( + (e.prototype.set = function (e, t) { + return ( + (this.color = t), + (this.changed = !1), + (this.data = e), + (this.type.type = r.TYPE.ALL), + this + ); + }), + (e.prototype._ensureHSL = function () { + void 0 === this.data.h && + (this.data.h = n.default.channel.rgb2hsl(this.data, 'h')), + void 0 === this.data.s && + (this.data.s = n.default.channel.rgb2hsl(this.data, 's')), + void 0 === this.data.l && + (this.data.l = n.default.channel.rgb2hsl(this.data, 'l')); + }), + (e.prototype._ensureRGB = function () { + void 0 === this.data.r && + (this.data.r = n.default.channel.hsl2rgb(this.data, 'r')), + void 0 === this.data.g && + (this.data.g = n.default.channel.hsl2rgb(this.data, 'g')), + void 0 === this.data.b && + (this.data.b = n.default.channel.hsl2rgb(this.data, 'b')); + }), + Object.defineProperty(e.prototype, 'r', { + get: function () { + return this.type.is(r.TYPE.HSL) || void 0 === this.data.r + ? (this._ensureHSL(), + n.default.channel.hsl2rgb(this.data, 'r')) + : this.data.r; + }, + set: function (e) { + this.type.set(r.TYPE.RGB), + (this.changed = !0), + (this.data.r = e); + }, + enumerable: !0, + configurable: !0, + }), + Object.defineProperty(e.prototype, 'g', { + get: function () { + return this.type.is(r.TYPE.HSL) || void 0 === this.data.g + ? (this._ensureHSL(), + n.default.channel.hsl2rgb(this.data, 'g')) + : this.data.g; + }, + set: function (e) { + this.type.set(r.TYPE.RGB), + (this.changed = !0), + (this.data.g = e); + }, + enumerable: !0, + configurable: !0, + }), + Object.defineProperty(e.prototype, 'b', { + get: function () { + return this.type.is(r.TYPE.HSL) || void 0 === this.data.b + ? (this._ensureHSL(), + n.default.channel.hsl2rgb(this.data, 'b')) + : this.data.b; + }, + set: function (e) { + this.type.set(r.TYPE.RGB), + (this.changed = !0), + (this.data.b = e); + }, + enumerable: !0, + configurable: !0, + }), + Object.defineProperty(e.prototype, 'h', { + get: function () { + return this.type.is(r.TYPE.RGB) || void 0 === this.data.h + ? (this._ensureRGB(), + n.default.channel.rgb2hsl(this.data, 'h')) + : this.data.h; + }, + set: function (e) { + this.type.set(r.TYPE.HSL), + (this.changed = !0), + (this.data.h = e); + }, + enumerable: !0, + configurable: !0, + }), + Object.defineProperty(e.prototype, 's', { + get: function () { + return this.type.is(r.TYPE.RGB) || void 0 === this.data.s + ? (this._ensureRGB(), + n.default.channel.rgb2hsl(this.data, 's')) + : this.data.s; + }, + set: function (e) { + this.type.set(r.TYPE.HSL), + (this.changed = !0), + (this.data.s = e); + }, + enumerable: !0, + configurable: !0, + }), + Object.defineProperty(e.prototype, 'l', { + get: function () { + return this.type.is(r.TYPE.RGB) || void 0 === this.data.l + ? (this._ensureRGB(), + n.default.channel.rgb2hsl(this.data, 'l')) + : this.data.l; + }, + set: function (e) { + this.type.set(r.TYPE.HSL), + (this.changed = !0), + (this.data.l = e); + }, + enumerable: !0, + configurable: !0, + }), + Object.defineProperty(e.prototype, 'a', { + get: function () { + return this.data.a; + }, + set: function (e) { + (this.changed = !0), (this.data.a = e); + }, + enumerable: !0, + configurable: !0, + }), + e + ); + })(); + t.default = o; + }, + 28167: (e, t, i) => { + 'use strict'; + Object.defineProperty(t, '__esModule', { value: !0 }); + var n = new (i(61773).default)( + { r: 0, g: 0, b: 0, a: 0 }, + 'transparent' + ); + t.default = n; + }, + 7628: (e, t, i) => { + 'use strict'; + Object.defineProperty(t, '__esModule', { value: !0 }); + var n = i(2536), + r = (function () { + function e() { + this.type = n.TYPE.ALL; + } + return ( + (e.prototype.get = function () { + return this.type; + }), + (e.prototype.set = function (e) { + if (this.type && this.type !== e) + throw new Error( + 'Cannot change both RGB and HSL channels at the same time' + ); + this.type = e; + }), + (e.prototype.reset = function () { + this.type = n.TYPE.ALL; + }), + (e.prototype.is = function (e) { + return this.type === e; + }), + e + ); + })(); + t.default = r; + }, + 51655: (e, t, i) => { + 'use strict'; + Object.defineProperty(t, '__esModule', { value: !0 }); + var n = i(81083), + r = i(28167), + s = i(66061), + o = { + re: /^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i, + parse: function (e) { + if (35 === e.charCodeAt(0)) { + var t = e.match(o.re); + if (t) { + var i = t[1], + n = parseInt(i, 16), + s = i.length, + a = s % 4 == 0, + l = s > 4, + c = l ? 1 : 17, + d = l ? 8 : 4, + h = a ? 0 : -1, + u = l ? 255 : 15; + return r.default.set( + { + r: ((n >> (d * (h + 3))) & u) * c, + g: ((n >> (d * (h + 2))) & u) * c, + b: ((n >> (d * (h + 1))) & u) * c, + a: a ? ((n & u) * c) / 255 : 1, + }, + e + ); + } + } + }, + stringify: function (e) { + return e.a < 1 + ? '#' + + s.DEC2HEX[Math.round(e.r)] + + s.DEC2HEX[Math.round(e.g)] + + s.DEC2HEX[Math.round(e.b)] + + n.default.unit.frac2hex(e.a) + : '#' + + s.DEC2HEX[Math.round(e.r)] + + s.DEC2HEX[Math.round(e.g)] + + s.DEC2HEX[Math.round(e.b)]; + }, + }; + t.default = o; + }, + 58589: (e, t, i) => { + 'use strict'; + Object.defineProperty(t, '__esModule', { value: !0 }); + var n = i(81083), + r = i(28167), + s = { + re: /^hsla?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(?:deg|grad|rad|turn)?)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(%)?))?\s*?\)$/i, + hueRe: /^(.+?)(deg|grad|rad|turn)$/i, + _hue2deg: function (e) { + var t = e.match(s.hueRe); + if (t) { + var i = t[1]; + switch (t[2]) { + case 'grad': + return n.default.channel.clamp.h(0.9 * parseFloat(i)); + case 'rad': + return n.default.channel.clamp.h( + (180 * parseFloat(i)) / Math.PI + ); + case 'turn': + return n.default.channel.clamp.h(360 * parseFloat(i)); + } + } + return n.default.channel.clamp.h(parseFloat(e)); + }, + parse: function (e) { + var t = e.charCodeAt(0); + if (104 === t || 72 === t) { + var i = e.match(s.re); + if (i) { + var o = i[1], + a = i[2], + l = i[3], + c = i[4], + d = i[5]; + return r.default.set( + { + h: s._hue2deg(o), + s: n.default.channel.clamp.s(parseFloat(a)), + l: n.default.channel.clamp.l(parseFloat(l)), + a: c + ? n.default.channel.clamp.a( + d ? parseFloat(c) / 100 : parseFloat(c) + ) + : 1, + }, + e + ); + } + } + }, + stringify: function (e) { + return e.a < 1 + ? 'hsla(' + + n.default.lang.round(e.h) + + ', ' + + n.default.lang.round(e.s) + + '%, ' + + n.default.lang.round(e.l) + + '%, ' + + e.a + + ')' + : 'hsl(' + + n.default.lang.round(e.h) + + ', ' + + n.default.lang.round(e.s) + + '%, ' + + n.default.lang.round(e.l) + + '%)'; + }, + }; + t.default = s; + }, + 32191: (e, t, i) => { + 'use strict'; + Object.defineProperty(t, '__esModule', { value: !0 }); + var n = i(2536), + r = i(51655), + s = i(7538), + o = i(76762), + a = i(58589), + l = { + format: { + keyword: s.default, + hex: r.default, + rgb: o.default, + rgba: o.default, + hsl: a.default, + hsla: a.default, + }, + parse: function (e) { + if ('string' != typeof e) return e; + var t = + r.default.parse(e) || + o.default.parse(e) || + a.default.parse(e) || + s.default.parse(e); + if (t) return t; + throw new Error('Unsupported color format: "' + e + '"'); + }, + stringify: function (e) { + return !e.changed && e.color + ? e.color + : e.type.is(n.TYPE.HSL) || void 0 === e.data.r + ? a.default.stringify(e) + : e.a < 1 || + !Number.isInteger(e.r) || + !Number.isInteger(e.g) || + !Number.isInteger(e.b) + ? o.default.stringify(e) + : r.default.stringify(e); + }, + }; + t.default = l; + }, + 7538: (e, t, i) => { + 'use strict'; + Object.defineProperty(t, '__esModule', { value: !0 }); + var n = i(51655), + r = { + colors: { + aliceblue: '#f0f8ff', + antiquewhite: '#faebd7', + aqua: '#00ffff', + aquamarine: '#7fffd4', + azure: '#f0ffff', + beige: '#f5f5dc', + bisque: '#ffe4c4', + black: '#000000', + blanchedalmond: '#ffebcd', + blue: '#0000ff', + blueviolet: '#8a2be2', + brown: '#a52a2a', + burlywood: '#deb887', + cadetblue: '#5f9ea0', + chartreuse: '#7fff00', + chocolate: '#d2691e', + coral: '#ff7f50', + cornflowerblue: '#6495ed', + cornsilk: '#fff8dc', + crimson: '#dc143c', + cyanaqua: '#00ffff', + darkblue: '#00008b', + darkcyan: '#008b8b', + darkgoldenrod: '#b8860b', + darkgray: '#a9a9a9', + darkgreen: '#006400', + darkgrey: '#a9a9a9', + darkkhaki: '#bdb76b', + darkmagenta: '#8b008b', + darkolivegreen: '#556b2f', + darkorange: '#ff8c00', + darkorchid: '#9932cc', + darkred: '#8b0000', + darksalmon: '#e9967a', + darkseagreen: '#8fbc8f', + darkslateblue: '#483d8b', + darkslategray: '#2f4f4f', + darkslategrey: '#2f4f4f', + darkturquoise: '#00ced1', + darkviolet: '#9400d3', + deeppink: '#ff1493', + deepskyblue: '#00bfff', + dimgray: '#696969', + dimgrey: '#696969', + dodgerblue: '#1e90ff', + firebrick: '#b22222', + floralwhite: '#fffaf0', + forestgreen: '#228b22', + fuchsia: '#ff00ff', + gainsboro: '#dcdcdc', + ghostwhite: '#f8f8ff', + gold: '#ffd700', + goldenrod: '#daa520', + gray: '#808080', + green: '#008000', + greenyellow: '#adff2f', + grey: '#808080', + honeydew: '#f0fff0', + hotpink: '#ff69b4', + indianred: '#cd5c5c', + indigo: '#4b0082', + ivory: '#fffff0', + khaki: '#f0e68c', + lavender: '#e6e6fa', + lavenderblush: '#fff0f5', + lawngreen: '#7cfc00', + lemonchiffon: '#fffacd', + lightblue: '#add8e6', + lightcoral: '#f08080', + lightcyan: '#e0ffff', + lightgoldenrodyellow: '#fafad2', + lightgray: '#d3d3d3', + lightgreen: '#90ee90', + lightgrey: '#d3d3d3', + lightpink: '#ffb6c1', + lightsalmon: '#ffa07a', + lightseagreen: '#20b2aa', + lightskyblue: '#87cefa', + lightslategray: '#778899', + lightslategrey: '#778899', + lightsteelblue: '#b0c4de', + lightyellow: '#ffffe0', + lime: '#00ff00', + limegreen: '#32cd32', + linen: '#faf0e6', + magenta: '#ff00ff', + maroon: '#800000', + mediumaquamarine: '#66cdaa', + mediumblue: '#0000cd', + mediumorchid: '#ba55d3', + mediumpurple: '#9370db', + mediumseagreen: '#3cb371', + mediumslateblue: '#7b68ee', + mediumspringgreen: '#00fa9a', + mediumturquoise: '#48d1cc', + mediumvioletred: '#c71585', + midnightblue: '#191970', + mintcream: '#f5fffa', + mistyrose: '#ffe4e1', + moccasin: '#ffe4b5', + navajowhite: '#ffdead', + navy: '#000080', + oldlace: '#fdf5e6', + olive: '#808000', + olivedrab: '#6b8e23', + orange: '#ffa500', + orangered: '#ff4500', + orchid: '#da70d6', + palegoldenrod: '#eee8aa', + palegreen: '#98fb98', + paleturquoise: '#afeeee', + palevioletred: '#db7093', + papayawhip: '#ffefd5', + peachpuff: '#ffdab9', + peru: '#cd853f', + pink: '#ffc0cb', + plum: '#dda0dd', + powderblue: '#b0e0e6', + purple: '#800080', + rebeccapurple: '#663399', + red: '#ff0000', + rosybrown: '#bc8f8f', + royalblue: '#4169e1', + saddlebrown: '#8b4513', + salmon: '#fa8072', + sandybrown: '#f4a460', + seagreen: '#2e8b57', + seashell: '#fff5ee', + sienna: '#a0522d', + silver: '#c0c0c0', + skyblue: '#87ceeb', + slateblue: '#6a5acd', + slategray: '#708090', + slategrey: '#708090', + snow: '#fffafa', + springgreen: '#00ff7f', + tan: '#d2b48c', + teal: '#008080', + thistle: '#d8bfd8', + transparent: '#00000000', + turquoise: '#40e0d0', + violet: '#ee82ee', + wheat: '#f5deb3', + white: '#ffffff', + whitesmoke: '#f5f5f5', + yellow: '#ffff00', + yellowgreen: '#9acd32', + }, + parse: function (e) { + e = e.toLowerCase(); + var t = r.colors[e]; + if (t) return n.default.parse(t); + }, + stringify: function (e) { + var t = n.default.stringify(e); + for (var i in r.colors) if (r.colors[i] === t) return i; + }, + }; + t.default = r; + }, + 76762: (e, t, i) => { + 'use strict'; + Object.defineProperty(t, '__esModule', { value: !0 }); + var n = i(81083), + r = i(28167), + s = { + re: /^rgba?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?)))?\s*?\)$/i, + parse: function (e) { + var t = e.charCodeAt(0); + if (114 === t || 82 === t) { + var i = e.match(s.re); + if (i) { + var o = i[1], + a = i[2], + l = i[3], + c = i[4], + d = i[5], + h = i[6], + u = i[7], + g = i[8]; + return r.default.set( + { + r: n.default.channel.clamp.r( + a ? 2.55 * parseFloat(o) : parseFloat(o) + ), + g: n.default.channel.clamp.g( + c ? 2.55 * parseFloat(l) : parseFloat(l) + ), + b: n.default.channel.clamp.b( + h ? 2.55 * parseFloat(d) : parseFloat(d) + ), + a: u + ? n.default.channel.clamp.a( + g ? parseFloat(u) / 100 : parseFloat(u) + ) + : 1, + }, + e + ); + } + } + }, + stringify: function (e) { + return e.a < 1 + ? 'rgba(' + + n.default.lang.round(e.r) + + ', ' + + n.default.lang.round(e.g) + + ', ' + + n.default.lang.round(e.b) + + ', ' + + n.default.lang.round(e.a) + + ')' + : 'rgb(' + + n.default.lang.round(e.r) + + ', ' + + n.default.lang.round(e.g) + + ', ' + + n.default.lang.round(e.b) + + ')'; + }, + }; + t.default = s; + }, + 66061: (e, t, i) => { + 'use strict'; + Object.defineProperty(t, '__esModule', { value: !0 }); + var n = i(81083), + r = {}; + t.DEC2HEX = r; + for (var s = 0; s <= 255; s++) r[s] = n.default.unit.dec2hex(s); + }, + 8613: (e, t, i) => { + 'use strict'; + Object.defineProperty(t, '__esModule', { value: !0 }), + (function (e) { + for (var i in e) t.hasOwnProperty(i) || (t[i] = e[i]); + })(i(21203)); + }, + 45371: (e, t, i) => { + 'use strict'; + Object.defineProperty(t, '__esModule', { value: !0 }); + var n = i(32191), + r = i(50418); + t.default = function (e, t) { + var i = n.default.parse(e), + s = {}; + for (var o in t) t[o] && (s[o] = i[o] + t[o]); + return r.default(e, s); + }; + }, + 11416: (e, t, i) => { + 'use strict'; + Object.defineProperty(t, '__esModule', { value: !0 }); + var n = i(81083), + r = i(32191); + t.default = function (e, t, i) { + var s = r.default.parse(e), + o = s[t], + a = n.default.channel.clamp[t](o + i); + return o !== a && (s[t] = a), r.default.stringify(s); + }; + }, + 89353: (e, t, i) => { + 'use strict'; + Object.defineProperty(t, '__esModule', { value: !0 }); + var n = i(6197); + t.default = function (e) { + return n.default(e, 'a'); + }; + }, + 63394: (e, t, i) => { + 'use strict'; + Object.defineProperty(t, '__esModule', { value: !0 }); + var n = i(6197); + t.default = function (e) { + return n.default(e, 'b'); + }; + }, + 50418: (e, t, i) => { + 'use strict'; + Object.defineProperty(t, '__esModule', { value: !0 }); + var n = i(81083), + r = i(32191); + t.default = function (e, t) { + var i = r.default.parse(e); + for (var s in t) i[s] = n.default.channel.clamp[s](t[s]); + return r.default.stringify(i); + }; + }, + 6197: (e, t, i) => { + 'use strict'; + Object.defineProperty(t, '__esModule', { value: !0 }); + var n = i(81083), + r = i(32191); + t.default = function (e, t) { + return n.default.lang.round(r.default.parse(e)[t]); + }; + }, + 77361: (e, t, i) => { + 'use strict'; + Object.defineProperty(t, '__esModule', { value: !0 }); + var n = i(11416); + t.default = function (e) { + return n.default(e, 'h', 180); + }; + }, + 61364: (e, t, i) => { + 'use strict'; + Object.defineProperty(t, '__esModule', { value: !0 }); + var n = i(11416); + t.default = function (e, t) { + return n.default(e, 'l', -t); + }; + }, + 49610: (e, t, i) => { + 'use strict'; + Object.defineProperty(t, '__esModule', { value: !0 }); + var n = i(11416); + t.default = function (e, t) { + return n.default(e, 's', -t); + }; + }, + 40572: (e, t, i) => { + 'use strict'; + Object.defineProperty(t, '__esModule', { value: !0 }); + var n = i(50418); + t.default = function (e) { + return n.default(e, { s: 0 }); + }; + }, + 12299: (e, t, i) => { + 'use strict'; + Object.defineProperty(t, '__esModule', { value: !0 }); + var n = i(6197); + t.default = function (e) { + return n.default(e, 'g'); + }; + }, + 43116: (e, t, i) => { + 'use strict'; + Object.defineProperty(t, '__esModule', { value: !0 }); + var n = i(81083), + r = i(28167), + s = i(32191); + t.default = function (e, t, i, o) { + void 0 === o && (o = 1); + var a = r.default.set({ + h: n.default.channel.clamp.h(e), + s: n.default.channel.clamp.s(t), + l: n.default.channel.clamp.l(i), + a: n.default.channel.clamp.a(o), + }); + return s.default.stringify(a); + }; + }, + 23008: (e, t, i) => { + 'use strict'; + Object.defineProperty(t, '__esModule', { value: !0 }); + var n = i(6197); + t.default = function (e) { + return n.default(e, 'h'); + }; + }, + 21203: (e, t, i) => { + 'use strict'; + Object.defineProperty(t, '__esModule', { value: !0 }); + var n = i(76538); + t.hex = n.default; + var r = i(76538); + t.rgb = r.default; + var s = i(76538); + t.rgba = s.default; + var o = i(43116); + t.hsl = o.default; + var a = i(43116); + t.hsla = a.default; + var l = i(6197); + t.channel = l.default; + var c = i(79640); + t.red = c.default; + var d = i(12299); + t.green = d.default; + var h = i(63394); + t.blue = h.default; + var u = i(23008); + t.hue = u.default; + var g = i(46451); + t.saturation = g.default; + var f = i(29235); + t.lightness = f.default; + var p = i(89353); + t.alpha = p.default; + var m = i(89353); + t.opacity = m.default; + var _ = i(68346); + t.luminance = _.default; + var b = i(4117); + t.isDark = b.default; + var v = i(82224); + t.isLight = v.default; + var y = i(20585); + t.isValid = y.default; + var w = i(61080); + t.saturate = w.default; + var C = i(49610); + t.desaturate = C.default; + var S = i(23235); + t.lighten = S.default; + var k = i(61364); + t.darken = k.default; + var x = i(27189); + t.opacify = x.default; + var L = i(27189); + t.fadeIn = L.default; + var M = i(24989); + t.transparentize = M.default; + var D = i(24989); + t.fadeOut = D.default; + var N = i(77361); + t.complement = N.default; + var E = i(40572); + t.grayscale = E.default; + var T = i(45371); + t.adjust = T.default; + var I = i(50418); + t.change = I.default; + var O = i(566); + t.invert = O.default; + var A = i(51861); + t.mix = A.default; + var R = i(7081); + t.scale = R.default; + }, + 566: (e, t, i) => { + 'use strict'; + Object.defineProperty(t, '__esModule', { value: !0 }); + var n = i(32191), + r = i(51861); + t.default = function (e, t) { + void 0 === t && (t = 100); + var i = n.default.parse(e); + return ( + (i.r = 255 - i.r), + (i.g = 255 - i.g), + (i.b = 255 - i.b), + r.default(i, e, t) + ); + }; + }, + 4117: (e, t, i) => { + 'use strict'; + Object.defineProperty(t, '__esModule', { value: !0 }); + var n = i(82224); + t.default = function (e) { + return !n.default(e); + }; + }, + 82224: (e, t, i) => { + 'use strict'; + Object.defineProperty(t, '__esModule', { value: !0 }); + var n = i(68346); + t.default = function (e) { + return n.default(e) >= 0.5; + }; + }, + 20585: (e, t, i) => { + 'use strict'; + Object.defineProperty(t, '__esModule', { value: !0 }); + var n = i(32191); + t.default = function (e) { + try { + return n.default.parse(e), !0; + } catch (e) { + return !1; + } + }; + }, + 23235: (e, t, i) => { + 'use strict'; + Object.defineProperty(t, '__esModule', { value: !0 }); + var n = i(11416); + t.default = function (e, t) { + return n.default(e, 'l', t); + }; + }, + 29235: (e, t, i) => { + 'use strict'; + Object.defineProperty(t, '__esModule', { value: !0 }); + var n = i(6197); + t.default = function (e) { + return n.default(e, 'l'); + }; + }, + 68346: (e, t, i) => { + 'use strict'; + Object.defineProperty(t, '__esModule', { value: !0 }); + var n = i(81083), + r = i(32191); + t.default = function (e) { + var t = r.default.parse(e), + i = t.r, + s = t.g, + o = t.b, + a = + 0.2126 * n.default.channel.toLinear(i) + + 0.7152 * n.default.channel.toLinear(s) + + 0.0722 * n.default.channel.toLinear(o); + return n.default.lang.round(a); + }; + }, + 51861: (e, t, i) => { + 'use strict'; + Object.defineProperty(t, '__esModule', { value: !0 }); + var n = i(32191), + r = i(76538); + t.default = function (e, t, i) { + void 0 === i && (i = 50); + var s = n.default.parse(e), + o = s.r, + a = s.g, + l = s.b, + c = s.a, + d = n.default.parse(t), + h = d.r, + u = d.g, + g = d.b, + f = d.a, + p = i / 100, + m = 2 * p - 1, + _ = c - f, + b = ((m * _ == -1 ? m : (m + _) / (1 + m * _)) + 1) / 2, + v = 1 - b, + y = o * b + h * v, + w = a * b + u * v, + C = l * b + g * v, + S = c * p + f * (1 - p); + return r.default(y, w, C, S); + }; + }, + 27189: (e, t, i) => { + 'use strict'; + Object.defineProperty(t, '__esModule', { value: !0 }); + var n = i(11416); + t.default = function (e, t) { + return n.default(e, 'a', t); + }; + }, + 79640: (e, t, i) => { + 'use strict'; + Object.defineProperty(t, '__esModule', { value: !0 }); + var n = i(6197); + t.default = function (e) { + return n.default(e, 'r'); + }; + }, + 76538: (e, t, i) => { + 'use strict'; + Object.defineProperty(t, '__esModule', { value: !0 }); + var n = i(81083), + r = i(28167), + s = i(32191), + o = i(50418); + t.default = function (e, t, i, a) { + if ( + (void 0 === i && (i = 0), + void 0 === a && (a = 1), + 'number' != typeof e) + ) + return o.default(e, { a: t }); + var l = r.default.set({ + r: n.default.channel.clamp.r(e), + g: n.default.channel.clamp.g(t), + b: n.default.channel.clamp.b(i), + a: n.default.channel.clamp.a(a), + }); + return s.default.stringify(l); + }; + }, + 61080: (e, t, i) => { + 'use strict'; + Object.defineProperty(t, '__esModule', { value: !0 }); + var n = i(11416); + t.default = function (e, t) { + return n.default(e, 's', t); + }; + }, + 46451: (e, t, i) => { + 'use strict'; + Object.defineProperty(t, '__esModule', { value: !0 }); + var n = i(6197); + t.default = function (e) { + return n.default(e, 's'); + }; + }, + 7081: (e, t, i) => { + 'use strict'; + Object.defineProperty(t, '__esModule', { value: !0 }); + var n = i(81083), + r = i(32191), + s = i(45371); + t.default = function (e, t) { + var i, + o, + a, + l = r.default.parse(e), + c = {}; + for (var d in t) + c[d] = + ((i = l[d]), + (o = t[d]), + (a = n.default.channel.max[d]), + o > 0 ? ((a - i) * o) / 100 : (i * o) / 100); + return s.default(e, c); + }; + }, + 24989: (e, t, i) => { + 'use strict'; + Object.defineProperty(t, '__esModule', { value: !0 }); + var n = i(11416); + t.default = function (e, t) { + return n.default(e, 'a', -t); + }; + }, + 2536: (e, t) => { + 'use strict'; + var i; + Object.defineProperty(t, '__esModule', { value: !0 }), + (function (e) { + (e[(e.ALL = 0)] = 'ALL'), + (e[(e.RGB = 1)] = 'RGB'), + (e[(e.HSL = 2)] = 'HSL'); + })(i || (i = {})), + (t.TYPE = i); + }, + 47994: (e, t) => { + 'use strict'; + Object.defineProperty(t, '__esModule', { value: !0 }); + var i = { + min: { r: 0, g: 0, b: 0, s: 0, l: 0, a: 0 }, + max: { r: 255, g: 255, b: 255, h: 360, s: 100, l: 100, a: 1 }, + clamp: { + r: function (e) { + return e >= 255 ? 255 : e < 0 ? 0 : e; + }, + g: function (e) { + return e >= 255 ? 255 : e < 0 ? 0 : e; + }, + b: function (e) { + return e >= 255 ? 255 : e < 0 ? 0 : e; + }, + h: function (e) { + return e % 360; + }, + s: function (e) { + return e >= 100 ? 100 : e < 0 ? 0 : e; + }, + l: function (e) { + return e >= 100 ? 100 : e < 0 ? 0 : e; + }, + a: function (e) { + return e >= 1 ? 1 : e < 0 ? 0 : e; + }, + }, + toLinear: function (e) { + var t = e / 255; + return e > 0.03928 ? Math.pow((t + 0.055) / 1.055, 2.4) : t / 12.92; + }, + hue2rgb: function (e, t, i) { + return ( + i < 0 && (i += 1), + i > 1 && (i -= 1), + i < 1 / 6 + ? e + 6 * (t - e) * i + : i < 0.5 + ? t + : i < 2 / 3 + ? e + (t - e) * (2 / 3 - i) * 6 + : e + ); + }, + hsl2rgb: function (e, t) { + var n = e.h, + r = e.s, + s = e.l; + if (100 === r) return 2.55 * s; + (n /= 360), (r /= 100); + var o = (s /= 100) < 0.5 ? s * (1 + r) : s + r - s * r, + a = 2 * s - o; + switch (t) { + case 'r': + return 255 * i.hue2rgb(a, o, n + 1 / 3); + case 'g': + return 255 * i.hue2rgb(a, o, n); + case 'b': + return 255 * i.hue2rgb(a, o, n - 1 / 3); + } + }, + rgb2hsl: function (e, t) { + var i = e.r, + n = e.g, + r = e.b; + (i /= 255), (n /= 255), (r /= 255); + var s = Math.max(i, n, r), + o = Math.min(i, n, r), + a = (s + o) / 2; + if ('l' === t) return 100 * a; + if (s === o) return 0; + var l = s - o; + if ('s' === t) + return 100 * (a > 0.5 ? l / (2 - s - o) : l / (s + o)); + switch (s) { + case i: + return 60 * ((n - r) / l + (n < r ? 6 : 0)); + case n: + return 60 * ((r - i) / l + 2); + case r: + return 60 * ((i - n) / l + 4); + default: + return -1; + } + }, + }; + t.default = i; + }, + 81083: (e, t, i) => { + 'use strict'; + Object.defineProperty(t, '__esModule', { value: !0 }); + var n = i(47994), + r = i(64027), + s = i(10318), + o = { channel: n.default, lang: r.default, unit: s.default }; + t.default = o; + }, + 64027: (e, t) => { + 'use strict'; + Object.defineProperty(t, '__esModule', { value: !0 }); + var i = { + round: function (e) { + return Math.round(1e10 * e) / 1e10; + }, + }; + t.default = i; + }, + 10318: (e, t) => { + 'use strict'; + Object.defineProperty(t, '__esModule', { value: !0 }); + var i = { + frac2hex: function (e) { + var t = Math.round(255 * e).toString(16); + return t.length > 1 ? t : '0' + t; + }, + dec2hex: function (e) { + var t = Math.round(e).toString(16); + return t.length > 1 ? t : '0' + t; + }, + }; + t.default = i; + }, + 18552: (e, t, i) => { + var n = i(10852)(i(55639), 'DataView'); + e.exports = n; + }, + 1989: (e, t, i) => { + var n = i(51789), + r = i(80401), + s = i(57667), + o = i(21327), + a = i(81866); + function l(e) { + var t = -1, + i = null == e ? 0 : e.length; + for (this.clear(); ++t < i; ) { + var n = e[t]; + this.set(n[0], n[1]); + } + } + (l.prototype.clear = n), + (l.prototype.delete = r), + (l.prototype.get = s), + (l.prototype.has = o), + (l.prototype.set = a), + (e.exports = l); + }, + 38407: (e, t, i) => { + var n = i(27040), + r = i(14125), + s = i(82117), + o = i(67518), + a = i(54705); + function l(e) { + var t = -1, + i = null == e ? 0 : e.length; + for (this.clear(); ++t < i; ) { + var n = e[t]; + this.set(n[0], n[1]); + } + } + (l.prototype.clear = n), + (l.prototype.delete = r), + (l.prototype.get = s), + (l.prototype.has = o), + (l.prototype.set = a), + (e.exports = l); + }, + 57071: (e, t, i) => { + var n = i(10852)(i(55639), 'Map'); + e.exports = n; + }, + 83369: (e, t, i) => { + var n = i(24785), + r = i(11285), + s = i(96e3), + o = i(49916), + a = i(95265); + function l(e) { + var t = -1, + i = null == e ? 0 : e.length; + for (this.clear(); ++t < i; ) { + var n = e[t]; + this.set(n[0], n[1]); + } + } + (l.prototype.clear = n), + (l.prototype.delete = r), + (l.prototype.get = s), + (l.prototype.has = o), + (l.prototype.set = a), + (e.exports = l); + }, + 53818: (e, t, i) => { + var n = i(10852)(i(55639), 'Promise'); + e.exports = n; + }, + 58525: (e, t, i) => { + var n = i(10852)(i(55639), 'Set'); + e.exports = n; + }, + 88668: (e, t, i) => { + var n = i(83369), + r = i(90619), + s = i(72385); + function o(e) { + var t = -1, + i = null == e ? 0 : e.length; + for (this.__data__ = new n(); ++t < i; ) this.add(e[t]); + } + (o.prototype.add = o.prototype.push = r), + (o.prototype.has = s), + (e.exports = o); + }, + 46384: (e, t, i) => { + var n = i(38407), + r = i(37465), + s = i(63779), + o = i(67599), + a = i(44758), + l = i(34309); + function c(e) { + var t = (this.__data__ = new n(e)); + this.size = t.size; + } + (c.prototype.clear = r), + (c.prototype.delete = s), + (c.prototype.get = o), + (c.prototype.has = a), + (c.prototype.set = l), + (e.exports = c); + }, + 62705: (e, t, i) => { + var n = i(55639).Symbol; + e.exports = n; + }, + 11149: (e, t, i) => { + var n = i(55639).Uint8Array; + e.exports = n; + }, + 70577: (e, t, i) => { + var n = i(10852)(i(55639), 'WeakMap'); + e.exports = n; + }, + 96874: (e) => { + e.exports = function (e, t, i) { + switch (i.length) { + case 0: + return e.call(t); + case 1: + return e.call(t, i[0]); + case 2: + return e.call(t, i[0], i[1]); + case 3: + return e.call(t, i[0], i[1], i[2]); + } + return e.apply(t, i); + }; + }, + 77412: (e) => { + e.exports = function (e, t) { + for ( + var i = -1, n = null == e ? 0 : e.length; + ++i < n && !1 !== t(e[i], i, e); + + ); + return e; + }; + }, + 34963: (e) => { + e.exports = function (e, t) { + for ( + var i = -1, n = null == e ? 0 : e.length, r = 0, s = []; + ++i < n; + + ) { + var o = e[i]; + t(o, i, e) && (s[r++] = o); + } + return s; + }; + }, + 47443: (e, t, i) => { + var n = i(42118); + e.exports = function (e, t) { + return !(null == e || !e.length) && n(e, t, 0) > -1; + }; + }, + 1196: (e) => { + e.exports = function (e, t, i) { + for (var n = -1, r = null == e ? 0 : e.length; ++n < r; ) + if (i(t, e[n])) return !0; + return !1; + }; + }, + 14636: (e, t, i) => { + var n = i(22545), + r = i(35694), + s = i(1469), + o = i(44144), + a = i(65776), + l = i(36719), + c = Object.prototype.hasOwnProperty; + e.exports = function (e, t) { + var i = s(e), + d = !i && r(e), + h = !i && !d && o(e), + u = !i && !d && !h && l(e), + g = i || d || h || u, + f = g ? n(e.length, String) : [], + p = f.length; + for (var m in e) + (!t && !c.call(e, m)) || + (g && + ('length' == m || + (h && ('offset' == m || 'parent' == m)) || + (u && + ('buffer' == m || + 'byteLength' == m || + 'byteOffset' == m)) || + a(m, p))) || + f.push(m); + return f; + }; + }, + 29932: (e) => { + e.exports = function (e, t) { + for ( + var i = -1, n = null == e ? 0 : e.length, r = Array(n); + ++i < n; + + ) + r[i] = t(e[i], i, e); + return r; + }; + }, + 62488: (e) => { + e.exports = function (e, t) { + for (var i = -1, n = t.length, r = e.length; ++i < n; ) + e[r + i] = t[i]; + return e; + }; + }, + 62663: (e) => { + e.exports = function (e, t, i, n) { + var r = -1, + s = null == e ? 0 : e.length; + for (n && s && (i = e[++r]); ++r < s; ) i = t(i, e[r], r, e); + return i; + }; + }, + 82908: (e) => { + e.exports = function (e, t) { + for (var i = -1, n = null == e ? 0 : e.length; ++i < n; ) + if (t(e[i], i, e)) return !0; + return !1; + }; + }, + 48983: (e, t, i) => { + var n = i(40371)('length'); + e.exports = n; + }, + 86556: (e, t, i) => { + var n = i(89465), + r = i(77813); + e.exports = function (e, t, i) { + ((void 0 !== i && !r(e[t], i)) || (void 0 === i && !(t in e))) && + n(e, t, i); + }; + }, + 34865: (e, t, i) => { + var n = i(89465), + r = i(77813), + s = Object.prototype.hasOwnProperty; + e.exports = function (e, t, i) { + var o = e[t]; + (s.call(e, t) && r(o, i) && (void 0 !== i || t in e)) || n(e, t, i); + }; + }, + 18470: (e, t, i) => { + var n = i(77813); + e.exports = function (e, t) { + for (var i = e.length; i--; ) if (n(e[i][0], t)) return i; + return -1; + }; + }, + 44037: (e, t, i) => { + var n = i(98363), + r = i(3674); + e.exports = function (e, t) { + return e && n(t, r(t), e); + }; + }, + 63886: (e, t, i) => { + var n = i(98363), + r = i(81704); + e.exports = function (e, t) { + return e && n(t, r(t), e); + }; + }, + 89465: (e, t, i) => { + var n = i(38777); + e.exports = function (e, t, i) { + '__proto__' == t && n + ? n(e, t, { + configurable: !0, + enumerable: !0, + value: i, + writable: !0, + }) + : (e[t] = i); + }; + }, + 85990: (e, t, i) => { + var n = i(46384), + r = i(77412), + s = i(34865), + o = i(44037), + a = i(63886), + l = i(64626), + c = i(278), + d = i(18805), + h = i(1911), + u = i(58234), + g = i(46904), + f = i(64160), + p = i(43824), + m = i(29148), + _ = i(38517), + b = i(1469), + v = i(44144), + y = i(56688), + w = i(13218), + C = i(72928), + S = i(3674), + k = '[object Arguments]', + x = '[object Function]', + L = '[object Object]', + M = {}; + (M[k] = M['[object Array]'] = M['[object ArrayBuffer]'] = M[ + '[object DataView]' + ] = M['[object Boolean]'] = M['[object Date]'] = M[ + '[object Float32Array]' + ] = M['[object Float64Array]'] = M['[object Int8Array]'] = M[ + '[object Int16Array]' + ] = M['[object Int32Array]'] = M['[object Map]'] = M[ + '[object Number]' + ] = M[L] = M['[object RegExp]'] = M['[object Set]'] = M[ + '[object String]' + ] = M['[object Symbol]'] = M['[object Uint8Array]'] = M[ + '[object Uint8ClampedArray]' + ] = M['[object Uint16Array]'] = M['[object Uint32Array]'] = !0), + (M['[object Error]'] = M[x] = M['[object WeakMap]'] = !1), + (e.exports = function e(t, i, D, N, E, T) { + var I, + O = 1 & i, + A = 2 & i, + R = 4 & i; + if ((D && (I = E ? D(t, N, E, T) : D(t)), void 0 !== I)) return I; + if (!w(t)) return t; + var P = b(t); + if (P) { + if (((I = p(t)), !O)) return c(t, I); + } else { + var F = f(t), + B = F == x || '[object GeneratorFunction]' == F; + if (v(t)) return l(t, O); + if (F == L || F == k || (B && !E)) { + if (((I = A || B ? {} : _(t)), !O)) + return A ? h(t, a(I, t)) : d(t, o(I, t)); + } else { + if (!M[F]) return E ? t : {}; + I = m(t, F, O); + } + } + T || (T = new n()); + var W = T.get(t); + if (W) return W; + T.set(t, I), + C(t) + ? t.forEach(function (n) { + I.add(e(n, i, D, n, t, T)); + }) + : y(t) && + t.forEach(function (n, r) { + I.set(r, e(n, i, D, r, t, T)); + }); + var Y = R ? (A ? g : u) : A ? keysIn : S, + H = P ? void 0 : Y(t); + return ( + r(H || t, function (n, r) { + H && (n = t[(r = n)]), s(I, r, e(n, i, D, r, t, T)); + }), + I + ); + }); + }, + 3118: (e, t, i) => { + var n = i(13218), + r = Object.create, + s = (function () { + function e() {} + return function (t) { + if (!n(t)) return {}; + if (r) return r(t); + e.prototype = t; + var i = new e(); + return (e.prototype = void 0), i; + }; + })(); + e.exports = s; + }, + 89881: (e, t, i) => { + var n = i(47816), + r = i(99291)(n); + e.exports = r; + }, + 56029: (e, t, i) => { + var n = i(33448); + e.exports = function (e, t, i) { + for (var r = -1, s = e.length; ++r < s; ) { + var o = e[r], + a = t(o); + if (null != a && (void 0 === l ? a == a && !n(a) : i(a, l))) + var l = a, + c = o; + } + return c; + }; + }, + 80760: (e, t, i) => { + var n = i(89881); + e.exports = function (e, t) { + var i = []; + return ( + n(e, function (e, n, r) { + t(e, n, r) && i.push(e); + }), + i + ); + }; + }, + 41848: (e) => { + e.exports = function (e, t, i, n) { + for (var r = e.length, s = i + (n ? 1 : -1); n ? s-- : ++s < r; ) + if (t(e[s], s, e)) return s; + return -1; + }; + }, + 21078: (e, t, i) => { + var n = i(62488), + r = i(37285); + e.exports = function e(t, i, s, o, a) { + var l = -1, + c = t.length; + for (s || (s = r), a || (a = []); ++l < c; ) { + var d = t[l]; + i > 0 && s(d) + ? i > 1 + ? e(d, i - 1, s, o, a) + : n(a, d) + : o || (a[a.length] = d); + } + return a; + }; + }, + 28483: (e, t, i) => { + var n = i(25063)(); + e.exports = n; + }, + 47816: (e, t, i) => { + var n = i(28483), + r = i(3674); + e.exports = function (e, t) { + return e && n(e, t, r); + }; + }, + 97786: (e, t, i) => { + var n = i(71811), + r = i(40327); + e.exports = function (e, t) { + for (var i = 0, s = (t = n(t, e)).length; null != e && i < s; ) + e = e[r(t[i++])]; + return i && i == s ? e : void 0; + }; + }, + 68866: (e, t, i) => { + var n = i(62488), + r = i(1469); + e.exports = function (e, t, i) { + var s = t(e); + return r(e) ? s : n(s, i(e)); + }; + }, + 44239: (e, t, i) => { + var n = i(62705), + r = i(89607), + s = i(2333), + o = n ? n.toStringTag : void 0; + e.exports = function (e) { + return null == e + ? void 0 === e + ? '[object Undefined]' + : '[object Null]' + : o && o in Object(e) + ? r(e) + : s(e); + }; + }, + 53325: (e) => { + e.exports = function (e, t) { + return e > t; + }; + }, + 78565: (e) => { + var t = Object.prototype.hasOwnProperty; + e.exports = function (e, i) { + return null != e && t.call(e, i); + }; + }, + 13: (e) => { + e.exports = function (e, t) { + return null != e && t in Object(e); + }; + }, + 42118: (e, t, i) => { + var n = i(41848), + r = i(62722), + s = i(42351); + e.exports = function (e, t, i) { + return t == t ? s(e, t, i) : n(e, r, i); + }; + }, + 9454: (e, t, i) => { + var n = i(44239), + r = i(37005); + e.exports = function (e) { + return r(e) && '[object Arguments]' == n(e); + }; + }, + 90939: (e, t, i) => { + var n = i(2492), + r = i(37005); + e.exports = function e(t, i, s, o, a) { + return ( + t === i || + (null == t || null == i || (!r(t) && !r(i)) + ? t != t && i != i + : n(t, i, s, o, e, a)) + ); + }; + }, + 2492: (e, t, i) => { + var n = i(46384), + r = i(67114), + s = i(18351), + o = i(16096), + a = i(64160), + l = i(1469), + c = i(44144), + d = i(36719), + h = '[object Arguments]', + u = '[object Array]', + g = '[object Object]', + f = Object.prototype.hasOwnProperty; + e.exports = function (e, t, i, p, m, _) { + var b = l(e), + v = l(t), + y = b ? u : a(e), + w = v ? u : a(t), + C = (y = y == h ? g : y) == g, + S = (w = w == h ? g : w) == g, + k = y == w; + if (k && c(e)) { + if (!c(t)) return !1; + (b = !0), (C = !1); + } + if (k && !C) + return ( + _ || (_ = new n()), + b || d(e) ? r(e, t, i, p, m, _) : s(e, t, y, i, p, m, _) + ); + if (!(1 & i)) { + var x = C && f.call(e, '__wrapped__'), + L = S && f.call(t, '__wrapped__'); + if (x || L) { + var M = x ? e.value() : e, + D = L ? t.value() : t; + return _ || (_ = new n()), m(M, D, i, p, _); + } + } + return !!k && (_ || (_ = new n()), o(e, t, i, p, m, _)); + }; + }, + 25588: (e, t, i) => { + var n = i(64160), + r = i(37005); + e.exports = function (e) { + return r(e) && '[object Map]' == n(e); + }; + }, + 2958: (e, t, i) => { + var n = i(46384), + r = i(90939); + e.exports = function (e, t, i, s) { + var o = i.length, + a = o, + l = !s; + if (null == e) return !a; + for (e = Object(e); o--; ) { + var c = i[o]; + if (l && c[2] ? c[1] !== e[c[0]] : !(c[0] in e)) return !1; + } + for (; ++o < a; ) { + var d = (c = i[o])[0], + h = e[d], + u = c[1]; + if (l && c[2]) { + if (void 0 === h && !(d in e)) return !1; + } else { + var g = new n(); + if (s) var f = s(h, u, d, e, t, g); + if (!(void 0 === f ? r(u, h, 3, s, g) : f)) return !1; + } + } + return !0; + }; + }, + 62722: (e) => { + e.exports = function (e) { + return e != e; + }; + }, + 28458: (e, t, i) => { + var n = i(23560), + r = i(15346), + s = i(13218), + o = i(80346), + a = /^\[object .+?Constructor\]$/, + l = Function.prototype, + c = Object.prototype, + d = l.toString, + h = c.hasOwnProperty, + u = RegExp( + '^' + + d + .call(h) + .replace(/[\\^$.*+?()[\]{}|]/g, '\\$&') + .replace( + /hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, + '$1.*?' + ) + + '$' + ); + e.exports = function (e) { + return !(!s(e) || r(e)) && (n(e) ? u : a).test(o(e)); + }; + }, + 29221: (e, t, i) => { + var n = i(64160), + r = i(37005); + e.exports = function (e) { + return r(e) && '[object Set]' == n(e); + }; + }, + 38749: (e, t, i) => { + var n = i(44239), + r = i(41780), + s = i(37005), + o = {}; + (o['[object Float32Array]'] = o['[object Float64Array]'] = o[ + '[object Int8Array]' + ] = o['[object Int16Array]'] = o['[object Int32Array]'] = o[ + '[object Uint8Array]' + ] = o['[object Uint8ClampedArray]'] = o['[object Uint16Array]'] = o[ + '[object Uint32Array]' + ] = !0), + (o['[object Arguments]'] = o['[object Array]'] = o[ + '[object ArrayBuffer]' + ] = o['[object Boolean]'] = o['[object DataView]'] = o[ + '[object Date]' + ] = o['[object Error]'] = o['[object Function]'] = o[ + '[object Map]' + ] = o['[object Number]'] = o['[object Object]'] = o[ + '[object RegExp]' + ] = o['[object Set]'] = o['[object String]'] = o[ + '[object WeakMap]' + ] = !1), + (e.exports = function (e) { + return s(e) && r(e.length) && !!o[n(e)]; + }); + }, + 67206: (e, t, i) => { + var n = i(91573), + r = i(16432), + s = i(6557), + o = i(1469), + a = i(39601); + e.exports = function (e) { + return 'function' == typeof e + ? e + : null == e + ? s + : 'object' == typeof e + ? o(e) + ? r(e[0], e[1]) + : n(e) + : a(e); + }; + }, + 280: (e, t, i) => { + var n = i(25726), + r = i(86916), + s = Object.prototype.hasOwnProperty; + e.exports = function (e) { + if (!n(e)) return r(e); + var t = []; + for (var i in Object(e)) + s.call(e, i) && 'constructor' != i && t.push(i); + return t; + }; + }, + 10313: (e, t, i) => { + var n = i(13218), + r = i(25726), + s = i(33498), + o = Object.prototype.hasOwnProperty; + e.exports = function (e) { + if (!n(e)) return s(e); + var t = r(e), + i = []; + for (var a in e) + ('constructor' != a || (!t && o.call(e, a))) && i.push(a); + return i; + }; + }, + 70433: (e) => { + e.exports = function (e, t) { + return e < t; + }; + }, + 69199: (e, t, i) => { + var n = i(89881), + r = i(98612); + e.exports = function (e, t) { + var i = -1, + s = r(e) ? Array(e.length) : []; + return ( + n(e, function (e, n, r) { + s[++i] = t(e, n, r); + }), + s + ); + }; + }, + 91573: (e, t, i) => { + var n = i(2958), + r = i(1499), + s = i(42634); + e.exports = function (e) { + var t = r(e); + return 1 == t.length && t[0][2] + ? s(t[0][0], t[0][1]) + : function (i) { + return i === e || n(i, e, t); + }; + }; + }, + 16432: (e, t, i) => { + var n = i(90939), + r = i(27361), + s = i(79095), + o = i(15403), + a = i(89162), + l = i(42634), + c = i(40327); + e.exports = function (e, t) { + return o(e) && a(t) + ? l(c(e), t) + : function (i) { + var o = r(i, e); + return void 0 === o && o === t ? s(i, e) : n(t, o, 3); + }; + }; + }, + 42980: (e, t, i) => { + var n = i(46384), + r = i(86556), + s = i(28483), + o = i(59783), + a = i(13218), + l = i(81704), + c = i(36390); + e.exports = function e(t, i, d, h, u) { + t !== i && + s( + i, + function (s, l) { + if ((u || (u = new n()), a(s))) o(t, i, l, d, e, h, u); + else { + var g = h ? h(c(t, l), s, l + '', t, i, u) : void 0; + void 0 === g && (g = s), r(t, l, g); + } + }, + l + ); + }; + }, + 59783: (e, t, i) => { + var n = i(86556), + r = i(64626), + s = i(77133), + o = i(278), + a = i(38517), + l = i(35694), + c = i(1469), + d = i(29246), + h = i(44144), + u = i(23560), + g = i(13218), + f = i(68630), + p = i(36719), + m = i(36390), + _ = i(59881); + e.exports = function (e, t, i, b, v, y, w) { + var C = m(e, i), + S = m(t, i), + k = w.get(S); + if (k) n(e, i, k); + else { + var x = y ? y(C, S, i + '', e, t, w) : void 0, + L = void 0 === x; + if (L) { + var M = c(S), + D = !M && h(S), + N = !M && !D && p(S); + (x = S), + M || D || N + ? c(C) + ? (x = C) + : d(C) + ? (x = o(C)) + : D + ? ((L = !1), (x = r(S, !0))) + : N + ? ((L = !1), (x = s(S, !0))) + : (x = []) + : f(S) || l(S) + ? ((x = C), l(C) ? (x = _(C)) : (g(C) && !u(C)) || (x = a(S))) + : (L = !1); + } + L && (w.set(S, x), v(x, S, b, y, w), w.delete(S)), n(e, i, x); + } + }; + }, + 82689: (e, t, i) => { + var n = i(29932), + r = i(67206), + s = i(69199), + o = i(71131), + a = i(7518), + l = i(85022), + c = i(6557); + e.exports = function (e, t, i) { + var d = -1; + t = n(t.length ? t : [c], a(r)); + var h = s(e, function (e, i, r) { + return { + criteria: n(t, function (t) { + return t(e); + }), + index: ++d, + value: e, + }; + }); + return o(h, function (e, t) { + return l(e, t, i); + }); + }; + }, + 25970: (e, t, i) => { + var n = i(63012), + r = i(79095); + e.exports = function (e, t) { + return n(e, t, function (t, i) { + return r(e, i); + }); + }; + }, + 63012: (e, t, i) => { + var n = i(97786), + r = i(10611), + s = i(71811); + e.exports = function (e, t, i) { + for (var o = -1, a = t.length, l = {}; ++o < a; ) { + var c = t[o], + d = n(e, c); + i(d, c) && r(l, s(c, e), d); + } + return l; + }; + }, + 40371: (e) => { + e.exports = function (e) { + return function (t) { + return null == t ? void 0 : t[e]; + }; + }; + }, + 79152: (e, t, i) => { + var n = i(97786); + e.exports = function (e) { + return function (t) { + return n(t, e); + }; + }; + }, + 40098: (e) => { + var t = Math.ceil, + i = Math.max; + e.exports = function (e, n, r, s) { + for (var o = -1, a = i(t((n - e) / (r || 1)), 0), l = Array(a); a--; ) + (l[s ? a : ++o] = e), (e += r); + return l; + }; + }, + 10107: (e) => { + e.exports = function (e, t, i, n, r) { + return ( + r(e, function (e, r, s) { + i = n ? ((n = !1), e) : t(i, e, r, s); + }), + i + ); + }; + }, + 18460: (e, t, i) => { + var n = i(6557), + r = i(45357), + s = i(30061); + e.exports = function (e, t) { + return s(r(e, t, n), e + ''); + }; + }, + 10611: (e, t, i) => { + var n = i(34865), + r = i(71811), + s = i(65776), + o = i(13218), + a = i(40327); + e.exports = function (e, t, i, l) { + if (!o(e)) return e; + for ( + var c = -1, d = (t = r(t, e)).length, h = d - 1, u = e; + null != u && ++c < d; + + ) { + var g = a(t[c]), + f = i; + if (c != h) { + var p = u[g]; + void 0 === (f = l ? l(p, g, u) : void 0) && + (f = o(p) ? p : s(t[c + 1]) ? [] : {}); + } + n(u, g, f), (u = u[g]); + } + return e; + }; + }, + 56560: (e, t, i) => { + var n = i(75703), + r = i(38777), + s = i(6557), + o = r + ? function (e, t) { + return r(e, 'toString', { + configurable: !0, + enumerable: !1, + value: n(t), + writable: !0, + }); + } + : s; + e.exports = o; + }, + 71131: (e) => { + e.exports = function (e, t) { + var i = e.length; + for (e.sort(t); i--; ) e[i] = e[i].value; + return e; + }; + }, + 22545: (e) => { + e.exports = function (e, t) { + for (var i = -1, n = Array(e); ++i < e; ) n[i] = t(i); + return n; + }; + }, + 80531: (e, t, i) => { + var n = i(62705), + r = i(29932), + s = i(1469), + o = i(33448), + a = n ? n.prototype : void 0, + l = a ? a.toString : void 0; + e.exports = function e(t) { + if ('string' == typeof t) return t; + if (s(t)) return r(t, e) + ''; + if (o(t)) return l ? l.call(t) : ''; + var i = t + ''; + return '0' == i && 1 / t == -1 / 0 ? '-0' : i; + }; + }, + 7518: (e) => { + e.exports = function (e) { + return function (t) { + return e(t); + }; + }; + }, + 45652: (e, t, i) => { + var n = i(88668), + r = i(47443), + s = i(1196), + o = i(74757), + a = i(23593), + l = i(21814); + e.exports = function (e, t, i) { + var c = -1, + d = r, + h = e.length, + u = !0, + g = [], + f = g; + if (i) (u = !1), (d = s); + else if (h >= 200) { + var p = t ? null : a(e); + if (p) return l(p); + (u = !1), (d = o), (f = new n()); + } else f = t ? [] : g; + e: for (; ++c < h; ) { + var m = e[c], + _ = t ? t(m) : m; + if (((m = i || 0 !== m ? m : 0), u && _ == _)) { + for (var b = f.length; b--; ) if (f[b] === _) continue e; + t && f.push(_), g.push(m); + } else d(f, _, i) || (f !== g && f.push(_), g.push(m)); + } + return g; + }; + }, + 47415: (e, t, i) => { + var n = i(29932); + e.exports = function (e, t) { + return n(t, function (t) { + return e[t]; + }); + }; + }, + 1757: (e) => { + e.exports = function (e, t, i) { + for (var n = -1, r = e.length, s = t.length, o = {}; ++n < r; ) { + var a = n < s ? t[n] : void 0; + i(o, e[n], a); + } + return o; + }; + }, + 74757: (e) => { + e.exports = function (e, t) { + return e.has(t); + }; + }, + 54290: (e, t, i) => { + var n = i(6557); + e.exports = function (e) { + return 'function' == typeof e ? e : n; + }; + }, + 71811: (e, t, i) => { + var n = i(1469), + r = i(15403), + s = i(55514), + o = i(79833); + e.exports = function (e, t) { + return n(e) ? e : r(e, t) ? [e] : s(o(e)); + }; + }, + 74318: (e, t, i) => { + var n = i(11149); + e.exports = function (e) { + var t = new e.constructor(e.byteLength); + return new n(t).set(new n(e)), t; + }; + }, + 64626: (e, t, i) => { + e = i.nmd(e); + var n = i(55639), + r = t && !t.nodeType && t, + s = r && e && !e.nodeType && e, + o = s && s.exports === r ? n.Buffer : void 0, + a = o ? o.allocUnsafe : void 0; + e.exports = function (e, t) { + if (t) return e.slice(); + var i = e.length, + n = a ? a(i) : new e.constructor(i); + return e.copy(n), n; + }; + }, + 57157: (e, t, i) => { + var n = i(74318); + e.exports = function (e, t) { + var i = t ? n(e.buffer) : e.buffer; + return new e.constructor(i, e.byteOffset, e.byteLength); + }; + }, + 93147: (e) => { + var t = /\w*$/; + e.exports = function (e) { + var i = new e.constructor(e.source, t.exec(e)); + return (i.lastIndex = e.lastIndex), i; + }; + }, + 40419: (e, t, i) => { + var n = i(62705), + r = n ? n.prototype : void 0, + s = r ? r.valueOf : void 0; + e.exports = function (e) { + return s ? Object(s.call(e)) : {}; + }; + }, + 77133: (e, t, i) => { + var n = i(74318); + e.exports = function (e, t) { + var i = t ? n(e.buffer) : e.buffer; + return new e.constructor(i, e.byteOffset, e.length); + }; + }, + 26393: (e, t, i) => { + var n = i(33448); + e.exports = function (e, t) { + if (e !== t) { + var i = void 0 !== e, + r = null === e, + s = e == e, + o = n(e), + a = void 0 !== t, + l = null === t, + c = t == t, + d = n(t); + if ( + (!l && !d && !o && e > t) || + (o && a && c && !l && !d) || + (r && a && c) || + (!i && c) || + !s + ) + return 1; + if ( + (!r && !o && !d && e < t) || + (d && i && s && !r && !o) || + (l && i && s) || + (!a && s) || + !c + ) + return -1; + } + return 0; + }; + }, + 85022: (e, t, i) => { + var n = i(26393); + e.exports = function (e, t, i) { + for ( + var r = -1, + s = e.criteria, + o = t.criteria, + a = s.length, + l = i.length; + ++r < a; + + ) { + var c = n(s[r], o[r]); + if (c) return r >= l ? c : c * ('desc' == i[r] ? -1 : 1); + } + return e.index - t.index; + }; + }, + 278: (e) => { + e.exports = function (e, t) { + var i = -1, + n = e.length; + for (t || (t = Array(n)); ++i < n; ) t[i] = e[i]; + return t; + }; + }, + 98363: (e, t, i) => { + var n = i(34865), + r = i(89465); + e.exports = function (e, t, i, s) { + var o = !i; + i || (i = {}); + for (var a = -1, l = t.length; ++a < l; ) { + var c = t[a], + d = s ? s(i[c], e[c], c, i, e) : void 0; + void 0 === d && (d = e[c]), o ? r(i, c, d) : n(i, c, d); + } + return i; + }; + }, + 18805: (e, t, i) => { + var n = i(98363), + r = i(99551); + e.exports = function (e, t) { + return n(e, r(e), t); + }; + }, + 1911: (e, t, i) => { + var n = i(98363), + r = i(51442); + e.exports = function (e, t) { + return n(e, r(e), t); + }; + }, + 14429: (e, t, i) => { + var n = i(55639)['__core-js_shared__']; + e.exports = n; + }, + 21463: (e, t, i) => { + var n = i(18460), + r = i(16612); + e.exports = function (e) { + return n(function (t, i) { + var n = -1, + s = i.length, + o = s > 1 ? i[s - 1] : void 0, + a = s > 2 ? i[2] : void 0; + for ( + o = e.length > 3 && 'function' == typeof o ? (s--, o) : void 0, + a && r(i[0], i[1], a) && ((o = s < 3 ? void 0 : o), (s = 1)), + t = Object(t); + ++n < s; + + ) { + var l = i[n]; + l && e(t, l, n, o); + } + return t; + }); + }; + }, + 99291: (e, t, i) => { + var n = i(98612); + e.exports = function (e, t) { + return function (i, r) { + if (null == i) return i; + if (!n(i)) return e(i, r); + for ( + var s = i.length, o = t ? s : -1, a = Object(i); + (t ? o-- : ++o < s) && !1 !== r(a[o], o, a); + + ); + return i; + }; + }; + }, + 25063: (e) => { + e.exports = function (e) { + return function (t, i, n) { + for (var r = -1, s = Object(t), o = n(t), a = o.length; a--; ) { + var l = o[e ? a : ++r]; + if (!1 === i(s[l], l, s)) break; + } + return t; + }; + }; + }, + 67740: (e, t, i) => { + var n = i(67206), + r = i(98612), + s = i(3674); + e.exports = function (e) { + return function (t, i, o) { + var a = Object(t); + if (!r(t)) { + var l = n(i, 3); + (t = s(t)), + (i = function (e) { + return l(a[e], e, a); + }); + } + var c = e(t, i, o); + return c > -1 ? a[l ? t[c] : c] : void 0; + }; + }; + }, + 47445: (e, t, i) => { + var n = i(40098), + r = i(16612), + s = i(18601); + e.exports = function (e) { + return function (t, i, o) { + return ( + o && 'number' != typeof o && r(t, i, o) && (i = o = void 0), + (t = s(t)), + void 0 === i ? ((i = t), (t = 0)) : (i = s(i)), + (o = void 0 === o ? (t < i ? 1 : -1) : s(o)), + n(t, i, o, e) + ); + }; + }; + }, + 23593: (e, t, i) => { + var n = i(58525), + r = i(50308), + s = i(21814), + o = + n && 1 / s(new n([, -0]))[1] == 1 / 0 + ? function (e) { + return new n(e); + } + : r; + e.exports = o; + }, + 38777: (e, t, i) => { + var n = i(10852), + r = (function () { + try { + var e = n(Object, 'defineProperty'); + return e({}, '', {}), e; + } catch (e) {} + })(); + e.exports = r; + }, + 67114: (e, t, i) => { + var n = i(88668), + r = i(82908), + s = i(74757); + e.exports = function (e, t, i, o, a, l) { + var c = 1 & i, + d = e.length, + h = t.length; + if (d != h && !(c && h > d)) return !1; + var u = l.get(e); + if (u && l.get(t)) return u == t; + var g = -1, + f = !0, + p = 2 & i ? new n() : void 0; + for (l.set(e, t), l.set(t, e); ++g < d; ) { + var m = e[g], + _ = t[g]; + if (o) var b = c ? o(_, m, g, t, e, l) : o(m, _, g, e, t, l); + if (void 0 !== b) { + if (b) continue; + f = !1; + break; + } + if (p) { + if ( + !r(t, function (e, t) { + if (!s(p, t) && (m === e || a(m, e, i, o, l))) + return p.push(t); + }) + ) { + f = !1; + break; + } + } else if (m !== _ && !a(m, _, i, o, l)) { + f = !1; + break; + } + } + return l.delete(e), l.delete(t), f; + }; + }, + 18351: (e, t, i) => { + var n = i(62705), + r = i(11149), + s = i(77813), + o = i(67114), + a = i(68776), + l = i(21814), + c = n ? n.prototype : void 0, + d = c ? c.valueOf : void 0; + e.exports = function (e, t, i, n, c, h, u) { + switch (i) { + case '[object DataView]': + if (e.byteLength != t.byteLength || e.byteOffset != t.byteOffset) + return !1; + (e = e.buffer), (t = t.buffer); + case '[object ArrayBuffer]': + return !(e.byteLength != t.byteLength || !h(new r(e), new r(t))); + case '[object Boolean]': + case '[object Date]': + case '[object Number]': + return s(+e, +t); + case '[object Error]': + return e.name == t.name && e.message == t.message; + case '[object RegExp]': + case '[object String]': + return e == t + ''; + case '[object Map]': + var g = a; + case '[object Set]': + var f = 1 & n; + if ((g || (g = l), e.size != t.size && !f)) return !1; + var p = u.get(e); + if (p) return p == t; + (n |= 2), u.set(e, t); + var m = o(g(e), g(t), n, c, h, u); + return u.delete(e), m; + case '[object Symbol]': + if (d) return d.call(e) == d.call(t); + } + return !1; + }; + }, + 16096: (e, t, i) => { + var n = i(58234), + r = Object.prototype.hasOwnProperty; + e.exports = function (e, t, i, s, o, a) { + var l = 1 & i, + c = n(e), + d = c.length; + if (d != n(t).length && !l) return !1; + for (var h = d; h--; ) { + var u = c[h]; + if (!(l ? u in t : r.call(t, u))) return !1; + } + var g = a.get(e); + if (g && a.get(t)) return g == t; + var f = !0; + a.set(e, t), a.set(t, e); + for (var p = l; ++h < d; ) { + var m = e[(u = c[h])], + _ = t[u]; + if (s) var b = l ? s(_, m, u, t, e, a) : s(m, _, u, e, t, a); + if (!(void 0 === b ? m === _ || o(m, _, i, s, a) : b)) { + f = !1; + break; + } + p || (p = 'constructor' == u); + } + if (f && !p) { + var v = e.constructor, + y = t.constructor; + v == y || + !('constructor' in e) || + !('constructor' in t) || + ('function' == typeof v && + v instanceof v && + 'function' == typeof y && + y instanceof y) || + (f = !1); + } + return a.delete(e), a.delete(t), f; + }; + }, + 99021: (e, t, i) => { + var n = i(85564), + r = i(45357), + s = i(30061); + e.exports = function (e) { + return s(r(e, void 0, n), e + ''); + }; + }, + 31957: (e, t, i) => { + var n = 'object' == typeof i.g && i.g && i.g.Object === Object && i.g; + e.exports = n; + }, + 58234: (e, t, i) => { + var n = i(68866), + r = i(99551), + s = i(3674); + e.exports = function (e) { + return n(e, s, r); + }; + }, + 46904: (e, t, i) => { + var n = i(68866), + r = i(51442), + s = i(81704); + e.exports = function (e) { + return n(e, s, r); + }; + }, + 45050: (e, t, i) => { + var n = i(37019); + e.exports = function (e, t) { + var i = e.__data__; + return n(t) ? i['string' == typeof t ? 'string' : 'hash'] : i.map; + }; + }, + 1499: (e, t, i) => { + var n = i(89162), + r = i(3674); + e.exports = function (e) { + for (var t = r(e), i = t.length; i--; ) { + var s = t[i], + o = e[s]; + t[i] = [s, o, n(o)]; + } + return t; + }; + }, + 10852: (e, t, i) => { + var n = i(28458), + r = i(47801); + e.exports = function (e, t) { + var i = r(e, t); + return n(i) ? i : void 0; + }; + }, + 85924: (e, t, i) => { + var n = i(5569)(Object.getPrototypeOf, Object); + e.exports = n; + }, + 89607: (e, t, i) => { + var n = i(62705), + r = Object.prototype, + s = r.hasOwnProperty, + o = r.toString, + a = n ? n.toStringTag : void 0; + e.exports = function (e) { + var t = s.call(e, a), + i = e[a]; + try { + e[a] = void 0; + var n = !0; + } catch (e) {} + var r = o.call(e); + return n && (t ? (e[a] = i) : delete e[a]), r; + }; + }, + 99551: (e, t, i) => { + var n = i(34963), + r = i(70479), + s = Object.prototype.propertyIsEnumerable, + o = Object.getOwnPropertySymbols, + a = o + ? function (e) { + return null == e + ? [] + : ((e = Object(e)), + n(o(e), function (t) { + return s.call(e, t); + })); + } + : r; + e.exports = a; + }, + 51442: (e, t, i) => { + var n = i(62488), + r = i(85924), + s = i(99551), + o = i(70479), + a = Object.getOwnPropertySymbols + ? function (e) { + for (var t = []; e; ) n(t, s(e)), (e = r(e)); + return t; + } + : o; + e.exports = a; + }, + 64160: (e, t, i) => { + var n = i(18552), + r = i(57071), + s = i(53818), + o = i(58525), + a = i(70577), + l = i(44239), + c = i(80346), + d = '[object Map]', + h = '[object Promise]', + u = '[object Set]', + g = '[object WeakMap]', + f = '[object DataView]', + p = c(n), + m = c(r), + _ = c(s), + b = c(o), + v = c(a), + y = l; + ((n && y(new n(new ArrayBuffer(1))) != f) || + (r && y(new r()) != d) || + (s && y(s.resolve()) != h) || + (o && y(new o()) != u) || + (a && y(new a()) != g)) && + (y = function (e) { + var t = l(e), + i = '[object Object]' == t ? e.constructor : void 0, + n = i ? c(i) : ''; + if (n) + switch (n) { + case p: + return f; + case m: + return d; + case _: + return h; + case b: + return u; + case v: + return g; + } + return t; + }), + (e.exports = y); + }, + 47801: (e) => { + e.exports = function (e, t) { + return null == e ? void 0 : e[t]; + }; + }, + 222: (e, t, i) => { + var n = i(71811), + r = i(35694), + s = i(1469), + o = i(65776), + a = i(41780), + l = i(40327); + e.exports = function (e, t, i) { + for (var c = -1, d = (t = n(t, e)).length, h = !1; ++c < d; ) { + var u = l(t[c]); + if (!(h = null != e && i(e, u))) break; + e = e[u]; + } + return h || ++c != d + ? h + : !!(d = null == e ? 0 : e.length) && + a(d) && + o(u, d) && + (s(e) || r(e)); + }; + }, + 62689: (e) => { + var t = RegExp( + '[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]' + ); + e.exports = function (e) { + return t.test(e); + }; + }, + 51789: (e, t, i) => { + var n = i(94536); + e.exports = function () { + (this.__data__ = n ? n(null) : {}), (this.size = 0); + }; + }, + 80401: (e) => { + e.exports = function (e) { + var t = this.has(e) && delete this.__data__[e]; + return (this.size -= t ? 1 : 0), t; + }; + }, + 57667: (e, t, i) => { + var n = i(94536), + r = Object.prototype.hasOwnProperty; + e.exports = function (e) { + var t = this.__data__; + if (n) { + var i = t[e]; + return '__lodash_hash_undefined__' === i ? void 0 : i; + } + return r.call(t, e) ? t[e] : void 0; + }; + }, + 21327: (e, t, i) => { + var n = i(94536), + r = Object.prototype.hasOwnProperty; + e.exports = function (e) { + var t = this.__data__; + return n ? void 0 !== t[e] : r.call(t, e); + }; + }, + 81866: (e, t, i) => { + var n = i(94536); + e.exports = function (e, t) { + var i = this.__data__; + return ( + (this.size += this.has(e) ? 0 : 1), + (i[e] = n && void 0 === t ? '__lodash_hash_undefined__' : t), + this + ); + }; + }, + 43824: (e) => { + var t = Object.prototype.hasOwnProperty; + e.exports = function (e) { + var i = e.length, + n = new e.constructor(i); + return ( + i && + 'string' == typeof e[0] && + t.call(e, 'index') && + ((n.index = e.index), (n.input = e.input)), + n + ); + }; + }, + 29148: (e, t, i) => { + var n = i(74318), + r = i(57157), + s = i(93147), + o = i(40419), + a = i(77133); + e.exports = function (e, t, i) { + var l = e.constructor; + switch (t) { + case '[object ArrayBuffer]': + return n(e); + case '[object Boolean]': + case '[object Date]': + return new l(+e); + case '[object DataView]': + return r(e, i); + case '[object Float32Array]': + case '[object Float64Array]': + case '[object Int8Array]': + case '[object Int16Array]': + case '[object Int32Array]': + case '[object Uint8Array]': + case '[object Uint8ClampedArray]': + case '[object Uint16Array]': + case '[object Uint32Array]': + return a(e, i); + case '[object Map]': + return new l(); + case '[object Number]': + case '[object String]': + return new l(e); + case '[object RegExp]': + return s(e); + case '[object Set]': + return new l(); + case '[object Symbol]': + return o(e); + } + }; + }, + 38517: (e, t, i) => { + var n = i(3118), + r = i(85924), + s = i(25726); + e.exports = function (e) { + return 'function' != typeof e.constructor || s(e) ? {} : n(r(e)); + }; + }, + 37285: (e, t, i) => { + var n = i(62705), + r = i(35694), + s = i(1469), + o = n ? n.isConcatSpreadable : void 0; + e.exports = function (e) { + return s(e) || r(e) || !!(o && e && e[o]); + }; + }, + 65776: (e) => { + var t = /^(?:0|[1-9]\d*)$/; + e.exports = function (e, i) { + var n = typeof e; + return ( + !!(i = null == i ? 9007199254740991 : i) && + ('number' == n || ('symbol' != n && t.test(e))) && + e > -1 && + e % 1 == 0 && + e < i + ); + }; + }, + 16612: (e, t, i) => { + var n = i(77813), + r = i(98612), + s = i(65776), + o = i(13218); + e.exports = function (e, t, i) { + if (!o(i)) return !1; + var a = typeof t; + return ( + !!('number' == a + ? r(i) && s(t, i.length) + : 'string' == a && t in i) && n(i[t], e) + ); + }; + }, + 15403: (e, t, i) => { + var n = i(1469), + r = i(33448), + s = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, + o = /^\w*$/; + e.exports = function (e, t) { + if (n(e)) return !1; + var i = typeof e; + return ( + !( + 'number' != i && + 'symbol' != i && + 'boolean' != i && + null != e && + !r(e) + ) || + o.test(e) || + !s.test(e) || + (null != t && e in Object(t)) + ); + }; + }, + 37019: (e) => { + e.exports = function (e) { + var t = typeof e; + return 'string' == t || + 'number' == t || + 'symbol' == t || + 'boolean' == t + ? '__proto__' !== e + : null === e; + }; + }, + 15346: (e, t, i) => { + var n, + r = i(14429), + s = (n = /[^.]+$/.exec((r && r.keys && r.keys.IE_PROTO) || '')) + ? 'Symbol(src)_1.' + n + : ''; + e.exports = function (e) { + return !!s && s in e; + }; + }, + 25726: (e) => { + var t = Object.prototype; + e.exports = function (e) { + var i = e && e.constructor; + return e === (('function' == typeof i && i.prototype) || t); + }; + }, + 89162: (e, t, i) => { + var n = i(13218); + e.exports = function (e) { + return e == e && !n(e); + }; + }, + 27040: (e) => { + e.exports = function () { + (this.__data__ = []), (this.size = 0); + }; + }, + 14125: (e, t, i) => { + var n = i(18470), + r = Array.prototype.splice; + e.exports = function (e) { + var t = this.__data__, + i = n(t, e); + return !( + i < 0 || + (i == t.length - 1 ? t.pop() : r.call(t, i, 1), --this.size, 0) + ); + }; + }, + 82117: (e, t, i) => { + var n = i(18470); + e.exports = function (e) { + var t = this.__data__, + i = n(t, e); + return i < 0 ? void 0 : t[i][1]; + }; + }, + 67518: (e, t, i) => { + var n = i(18470); + e.exports = function (e) { + return n(this.__data__, e) > -1; + }; + }, + 54705: (e, t, i) => { + var n = i(18470); + e.exports = function (e, t) { + var i = this.__data__, + r = n(i, e); + return r < 0 ? (++this.size, i.push([e, t])) : (i[r][1] = t), this; + }; + }, + 24785: (e, t, i) => { + var n = i(1989), + r = i(38407), + s = i(57071); + e.exports = function () { + (this.size = 0), + (this.__data__ = { + hash: new n(), + map: new (s || r)(), + string: new n(), + }); + }; + }, + 11285: (e, t, i) => { + var n = i(45050); + e.exports = function (e) { + var t = n(this, e).delete(e); + return (this.size -= t ? 1 : 0), t; + }; + }, + 96e3: (e, t, i) => { + var n = i(45050); + e.exports = function (e) { + return n(this, e).get(e); + }; + }, + 49916: (e, t, i) => { + var n = i(45050); + e.exports = function (e) { + return n(this, e).has(e); + }; + }, + 95265: (e, t, i) => { + var n = i(45050); + e.exports = function (e, t) { + var i = n(this, e), + r = i.size; + return i.set(e, t), (this.size += i.size == r ? 0 : 1), this; + }; + }, + 68776: (e) => { + e.exports = function (e) { + var t = -1, + i = Array(e.size); + return ( + e.forEach(function (e, n) { + i[++t] = [n, e]; + }), + i + ); + }; + }, + 42634: (e) => { + e.exports = function (e, t) { + return function (i) { + return null != i && i[e] === t && (void 0 !== t || e in Object(i)); + }; + }; + }, + 24523: (e, t, i) => { + var n = i(88306); + e.exports = function (e) { + var t = n(e, function (e) { + return 500 === i.size && i.clear(), e; + }), + i = t.cache; + return t; + }; + }, + 94536: (e, t, i) => { + var n = i(10852)(Object, 'create'); + e.exports = n; + }, + 86916: (e, t, i) => { + var n = i(5569)(Object.keys, Object); + e.exports = n; + }, + 33498: (e) => { + e.exports = function (e) { + var t = []; + if (null != e) for (var i in Object(e)) t.push(i); + return t; + }; + }, + 31167: (e, t, i) => { + e = i.nmd(e); + var n = i(31957), + r = t && !t.nodeType && t, + s = r && e && !e.nodeType && e, + o = s && s.exports === r && n.process, + a = (function () { + try { + return ( + (s && s.require && s.require('util').types) || + (o && o.binding && o.binding('util')) + ); + } catch (e) {} + })(); + e.exports = a; + }, + 2333: (e) => { + var t = Object.prototype.toString; + e.exports = function (e) { + return t.call(e); + }; + }, + 5569: (e) => { + e.exports = function (e, t) { + return function (i) { + return e(t(i)); + }; + }; + }, + 45357: (e, t, i) => { + var n = i(96874), + r = Math.max; + e.exports = function (e, t, i) { + return ( + (t = r(void 0 === t ? e.length - 1 : t, 0)), + function () { + for ( + var s = arguments, o = -1, a = r(s.length - t, 0), l = Array(a); + ++o < a; + + ) + l[o] = s[t + o]; + o = -1; + for (var c = Array(t + 1); ++o < t; ) c[o] = s[o]; + return (c[t] = i(l)), n(e, this, c); + } + ); + }; + }, + 55639: (e, t, i) => { + var n = i(31957), + r = 'object' == typeof self && self && self.Object === Object && self, + s = n || r || Function('return this')(); + e.exports = s; + }, + 36390: (e) => { + e.exports = function (e, t) { + if ( + ('constructor' !== t || 'function' != typeof e[t]) && + '__proto__' != t + ) + return e[t]; + }; + }, + 90619: (e) => { + e.exports = function (e) { + return this.__data__.set(e, '__lodash_hash_undefined__'), this; + }; + }, + 72385: (e) => { + e.exports = function (e) { + return this.__data__.has(e); + }; + }, + 21814: (e) => { + e.exports = function (e) { + var t = -1, + i = Array(e.size); + return ( + e.forEach(function (e) { + i[++t] = e; + }), + i + ); + }; + }, + 30061: (e, t, i) => { + var n = i(56560), + r = i(21275)(n); + e.exports = r; + }, + 21275: (e) => { + var t = Date.now; + e.exports = function (e) { + var i = 0, + n = 0; + return function () { + var r = t(), + s = 16 - (r - n); + if (((n = r), s > 0)) { + if (++i >= 800) return arguments[0]; + } else i = 0; + return e.apply(void 0, arguments); + }; + }; + }, + 37465: (e, t, i) => { + var n = i(38407); + e.exports = function () { + (this.__data__ = new n()), (this.size = 0); + }; + }, + 63779: (e) => { + e.exports = function (e) { + var t = this.__data__, + i = t.delete(e); + return (this.size = t.size), i; + }; + }, + 67599: (e) => { + e.exports = function (e) { + return this.__data__.get(e); + }; + }, + 44758: (e) => { + e.exports = function (e) { + return this.__data__.has(e); + }; + }, + 34309: (e, t, i) => { + var n = i(38407), + r = i(57071), + s = i(83369); + e.exports = function (e, t) { + var i = this.__data__; + if (i instanceof n) { + var o = i.__data__; + if (!r || o.length < 199) + return o.push([e, t]), (this.size = ++i.size), this; + i = this.__data__ = new s(o); + } + return i.set(e, t), (this.size = i.size), this; + }; + }, + 42351: (e) => { + e.exports = function (e, t, i) { + for (var n = i - 1, r = e.length; ++n < r; ) if (e[n] === t) return n; + return -1; + }; + }, + 88016: (e, t, i) => { + var n = i(48983), + r = i(62689), + s = i(21903); + e.exports = function (e) { + return r(e) ? s(e) : n(e); + }; + }, + 55514: (e, t, i) => { + var n = i(24523), + r = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g, + s = /\\(\\)?/g, + o = n(function (e) { + var t = []; + return ( + 46 === e.charCodeAt(0) && t.push(''), + e.replace(r, function (e, i, n, r) { + t.push(n ? r.replace(s, '$1') : i || e); + }), + t + ); + }); + e.exports = o; + }, + 40327: (e, t, i) => { + var n = i(33448); + e.exports = function (e) { + if ('string' == typeof e || n(e)) return e; + var t = e + ''; + return '0' == t && 1 / e == -1 / 0 ? '-0' : t; + }; + }, + 80346: (e) => { + var t = Function.prototype.toString; + e.exports = function (e) { + if (null != e) { + try { + return t.call(e); + } catch (e) {} + try { + return e + ''; + } catch (e) {} + } + return ''; + }; + }, + 21903: (e) => { + var t = '[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]', + i = '\\ud83c[\\udffb-\\udfff]', + n = '[^\\ud800-\\udfff]', + r = '(?:\\ud83c[\\udde6-\\uddff]){2}', + s = '[\\ud800-\\udbff][\\udc00-\\udfff]', + o = '(?:' + t + '|' + i + ')?', + a = '[\\ufe0e\\ufe0f]?', + l = + a + o + '(?:\\u200d(?:' + [n, r, s].join('|') + ')' + a + o + ')*', + c = + '(?:' + [n + t + '?', t, r, s, '[\\ud800-\\udfff]'].join('|') + ')', + d = RegExp(i + '(?=' + i + ')|' + c + l, 'g'); + e.exports = function (e) { + for (var t = (d.lastIndex = 0); d.test(e); ) ++t; + return t; + }; + }, + 66678: (e, t, i) => { + var n = i(85990); + e.exports = function (e) { + return n(e, 4); + }; + }, + 50361: (e, t, i) => { + var n = i(85990); + e.exports = function (e) { + return n(e, 5); + }; + }, + 75703: (e) => { + e.exports = function (e) { + return function () { + return e; + }; + }; + }, + 91747: (e, t, i) => { + var n = i(18460), + r = i(77813), + s = i(16612), + o = i(81704), + a = Object.prototype, + l = a.hasOwnProperty, + c = n(function (e, t) { + e = Object(e); + var i = -1, + n = t.length, + c = n > 2 ? t[2] : void 0; + for (c && s(t[0], t[1], c) && (n = 1); ++i < n; ) + for (var d = t[i], h = o(d), u = -1, g = h.length; ++u < g; ) { + var f = h[u], + p = e[f]; + (void 0 === p || (r(p, a[f]) && !l.call(e, f))) && + (e[f] = d[f]); + } + return e; + }); + e.exports = c; + }, + 66073: (e, t, i) => { + e.exports = i(84486); + }, + 77813: (e) => { + e.exports = function (e, t) { + return e === t || (e != e && t != t); + }; + }, + 63105: (e, t, i) => { + var n = i(34963), + r = i(80760), + s = i(67206), + o = i(1469); + e.exports = function (e, t) { + return (o(e) ? n : r)(e, s(t, 3)); + }; + }, + 13311: (e, t, i) => { + var n = i(67740)(i(30998)); + e.exports = n; + }, + 30998: (e, t, i) => { + var n = i(41848), + r = i(67206), + s = i(40554), + o = Math.max; + e.exports = function (e, t, i) { + var a = null == e ? 0 : e.length; + if (!a) return -1; + var l = null == i ? 0 : s(i); + return l < 0 && (l = o(a + l, 0)), n(e, r(t, 3), l); + }; + }, + 85564: (e, t, i) => { + var n = i(21078); + e.exports = function (e) { + return null != e && e.length ? n(e, 1) : []; + }; + }, + 84486: (e, t, i) => { + var n = i(77412), + r = i(89881), + s = i(54290), + o = i(1469); + e.exports = function (e, t) { + return (o(e) ? n : r)(e, s(t)); + }; + }, + 62620: (e, t, i) => { + var n = i(28483), + r = i(54290), + s = i(81704); + e.exports = function (e, t) { + return null == e ? e : n(e, r(t), s); + }; + }, + 27361: (e, t, i) => { + var n = i(97786); + e.exports = function (e, t, i) { + var r = null == e ? void 0 : n(e, t); + return void 0 === r ? i : r; + }; + }, + 18721: (e, t, i) => { + var n = i(78565), + r = i(222); + e.exports = function (e, t) { + return null != e && r(e, t, n); + }; + }, + 79095: (e, t, i) => { + var n = i(13), + r = i(222); + e.exports = function (e, t) { + return null != e && r(e, t, n); + }; + }, + 6557: (e) => { + e.exports = function (e) { + return e; + }; + }, + 35694: (e, t, i) => { + var n = i(9454), + r = i(37005), + s = Object.prototype, + o = s.hasOwnProperty, + a = s.propertyIsEnumerable, + l = n( + (function () { + return arguments; + })() + ) + ? n + : function (e) { + return r(e) && o.call(e, 'callee') && !a.call(e, 'callee'); + }; + e.exports = l; + }, + 1469: (e) => { + var t = Array.isArray; + e.exports = t; + }, + 98612: (e, t, i) => { + var n = i(23560), + r = i(41780); + e.exports = function (e) { + return null != e && r(e.length) && !n(e); + }; + }, + 29246: (e, t, i) => { + var n = i(98612), + r = i(37005); + e.exports = function (e) { + return r(e) && n(e); + }; + }, + 44144: (e, t, i) => { + e = i.nmd(e); + var n = i(55639), + r = i(95062), + s = t && !t.nodeType && t, + o = s && e && !e.nodeType && e, + a = o && o.exports === s ? n.Buffer : void 0, + l = (a ? a.isBuffer : void 0) || r; + e.exports = l; + }, + 41609: (e, t, i) => { + var n = i(280), + r = i(64160), + s = i(35694), + o = i(1469), + a = i(98612), + l = i(44144), + c = i(25726), + d = i(36719), + h = Object.prototype.hasOwnProperty; + e.exports = function (e) { + if (null == e) return !0; + if ( + a(e) && + (o(e) || + 'string' == typeof e || + 'function' == typeof e.splice || + l(e) || + d(e) || + s(e)) + ) + return !e.length; + var t = r(e); + if ('[object Map]' == t || '[object Set]' == t) return !e.size; + if (c(e)) return !n(e).length; + for (var i in e) if (h.call(e, i)) return !1; + return !0; + }; + }, + 23560: (e, t, i) => { + var n = i(44239), + r = i(13218); + e.exports = function (e) { + if (!r(e)) return !1; + var t = n(e); + return ( + '[object Function]' == t || + '[object GeneratorFunction]' == t || + '[object AsyncFunction]' == t || + '[object Proxy]' == t + ); + }; + }, + 41780: (e) => { + e.exports = function (e) { + return ( + 'number' == typeof e && + e > -1 && + e % 1 == 0 && + e <= 9007199254740991 + ); + }; + }, + 56688: (e, t, i) => { + var n = i(25588), + r = i(7518), + s = i(31167), + o = s && s.isMap, + a = o ? r(o) : n; + e.exports = a; + }, + 13218: (e) => { + e.exports = function (e) { + var t = typeof e; + return null != e && ('object' == t || 'function' == t); + }; + }, + 37005: (e) => { + e.exports = function (e) { + return null != e && 'object' == typeof e; + }; + }, + 68630: (e, t, i) => { + var n = i(44239), + r = i(85924), + s = i(37005), + o = Function.prototype, + a = Object.prototype, + l = o.toString, + c = a.hasOwnProperty, + d = l.call(Object); + e.exports = function (e) { + if (!s(e) || '[object Object]' != n(e)) return !1; + var t = r(e); + if (null === t) return !0; + var i = c.call(t, 'constructor') && t.constructor; + return 'function' == typeof i && i instanceof i && l.call(i) == d; + }; + }, + 72928: (e, t, i) => { + var n = i(29221), + r = i(7518), + s = i(31167), + o = s && s.isSet, + a = o ? r(o) : n; + e.exports = a; + }, + 47037: (e, t, i) => { + var n = i(44239), + r = i(1469), + s = i(37005); + e.exports = function (e) { + return ( + 'string' == typeof e || (!r(e) && s(e) && '[object String]' == n(e)) + ); + }; + }, + 33448: (e, t, i) => { + var n = i(44239), + r = i(37005); + e.exports = function (e) { + return 'symbol' == typeof e || (r(e) && '[object Symbol]' == n(e)); + }; + }, + 36719: (e, t, i) => { + var n = i(38749), + r = i(7518), + s = i(31167), + o = s && s.isTypedArray, + a = o ? r(o) : n; + e.exports = a; + }, + 52353: (e) => { + e.exports = function (e) { + return void 0 === e; + }; + }, + 3674: (e, t, i) => { + var n = i(14636), + r = i(280), + s = i(98612); + e.exports = function (e) { + return s(e) ? n(e) : r(e); + }; + }, + 81704: (e, t, i) => { + var n = i(14636), + r = i(10313), + s = i(98612); + e.exports = function (e) { + return s(e) ? n(e, !0) : r(e); + }; + }, + 10928: (e) => { + e.exports = function (e) { + var t = null == e ? 0 : e.length; + return t ? e[t - 1] : void 0; + }; + }, + 35161: (e, t, i) => { + var n = i(29932), + r = i(67206), + s = i(69199), + o = i(1469); + e.exports = function (e, t) { + return (o(e) ? n : s)(e, r(t, 3)); + }; + }, + 66604: (e, t, i) => { + var n = i(89465), + r = i(47816), + s = i(67206); + e.exports = function (e, t) { + var i = {}; + return ( + (t = s(t, 3)), + r(e, function (e, r, s) { + n(i, r, t(e, r, s)); + }), + i + ); + }; + }, + 6162: (e, t, i) => { + var n = i(56029), + r = i(53325), + s = i(6557); + e.exports = function (e) { + return e && e.length ? n(e, s, r) : void 0; + }; + }, + 88306: (e, t, i) => { + var n = i(83369); + function r(e, t) { + if ('function' != typeof e || (null != t && 'function' != typeof t)) + throw new TypeError('Expected a function'); + var i = function () { + var n = arguments, + r = t ? t.apply(this, n) : n[0], + s = i.cache; + if (s.has(r)) return s.get(r); + var o = e.apply(this, n); + return (i.cache = s.set(r, o) || s), o; + }; + return (i.cache = new (r.Cache || n)()), i; + } + (r.Cache = n), (e.exports = r); + }, + 82492: (e, t, i) => { + var n = i(42980), + r = i(21463)(function (e, t, i) { + n(e, t, i); + }); + e.exports = r; + }, + 53632: (e, t, i) => { + var n = i(56029), + r = i(70433), + s = i(6557); + e.exports = function (e) { + return e && e.length ? n(e, s, r) : void 0; + }; + }, + 22762: (e, t, i) => { + var n = i(56029), + r = i(67206), + s = i(70433); + e.exports = function (e, t) { + return e && e.length ? n(e, r(t, 2), s) : void 0; + }; + }, + 50308: (e) => { + e.exports = function () {}; + }, + 7771: (e, t, i) => { + var n = i(55639); + e.exports = function () { + return n.Date.now(); + }; + }, + 78718: (e, t, i) => { + var n = i(25970), + r = i(99021)(function (e, t) { + return null == e ? {} : n(e, t); + }); + e.exports = r; + }, + 39601: (e, t, i) => { + var n = i(40371), + r = i(79152), + s = i(15403), + o = i(40327); + e.exports = function (e) { + return s(e) ? n(o(e)) : r(e); + }; + }, + 96026: (e, t, i) => { + var n = i(47445)(); + e.exports = n; + }, + 54061: (e, t, i) => { + var n = i(62663), + r = i(89881), + s = i(67206), + o = i(10107), + a = i(1469); + e.exports = function (e, t, i) { + var l = a(e) ? n : o, + c = arguments.length < 3; + return l(e, s(t, 4), i, c, r); + }; + }, + 84238: (e, t, i) => { + var n = i(280), + r = i(64160), + s = i(98612), + o = i(47037), + a = i(88016); + e.exports = function (e) { + if (null == e) return 0; + if (s(e)) return o(e) ? a(e) : e.length; + var t = r(e); + return '[object Map]' == t || '[object Set]' == t + ? e.size + : n(e).length; + }; + }, + 89734: (e, t, i) => { + var n = i(21078), + r = i(82689), + s = i(18460), + o = i(16612), + a = s(function (e, t) { + if (null == e) return []; + var i = t.length; + return ( + i > 1 && o(e, t[0], t[1]) + ? (t = []) + : i > 2 && o(t[0], t[1], t[2]) && (t = [t[0]]), + r(e, n(t, 1), []) + ); + }); + e.exports = a; + }, + 70479: (e) => { + e.exports = function () { + return []; + }; + }, + 95062: (e) => { + e.exports = function () { + return !1; + }; + }, + 18601: (e, t, i) => { + var n = i(14841); + e.exports = function (e) { + return e + ? Infinity === (e = n(e)) || e === -1 / 0 + ? 17976931348623157e292 * (e < 0 ? -1 : 1) + : e == e + ? e + : 0 + : 0 === e + ? e + : 0; + }; + }, + 40554: (e, t, i) => { + var n = i(18601); + e.exports = function (e) { + var t = n(e), + i = t % 1; + return t == t ? (i ? t - i : t) : 0; + }; + }, + 14841: (e, t, i) => { + var n = i(13218), + r = i(33448), + s = /^\s+|\s+$/g, + o = /^[-+]0x[0-9a-f]+$/i, + a = /^0b[01]+$/i, + l = /^0o[0-7]+$/i, + c = parseInt; + e.exports = function (e) { + if ('number' == typeof e) return e; + if (r(e)) return NaN; + if (n(e)) { + var t = 'function' == typeof e.valueOf ? e.valueOf() : e; + e = n(t) ? t + '' : t; + } + if ('string' != typeof e) return 0 === e ? e : +e; + e = e.replace(s, ''); + var i = a.test(e); + return i || l.test(e) + ? c(e.slice(2), i ? 2 : 8) + : o.test(e) + ? NaN + : +e; + }; + }, + 59881: (e, t, i) => { + var n = i(98363), + r = i(81704); + e.exports = function (e) { + return n(e, r(e)); + }; + }, + 79833: (e, t, i) => { + var n = i(80531); + e.exports = function (e) { + return null == e ? '' : n(e); + }; + }, + 68718: (e, t, i) => { + var n = i(77412), + r = i(3118), + s = i(47816), + o = i(67206), + a = i(85924), + l = i(1469), + c = i(44144), + d = i(23560), + h = i(13218), + u = i(36719); + e.exports = function (e, t, i) { + var g = l(e), + f = g || c(e) || u(e); + if (((t = o(t, 4)), null == i)) { + var p = e && e.constructor; + i = f ? (g ? new p() : []) : h(e) && d(p) ? r(a(e)) : {}; + } + return ( + (f ? n : s)(e, function (e, n, r) { + return t(i, e, n, r); + }), + i + ); + }; + }, + 93386: (e, t, i) => { + var n = i(21078), + r = i(18460), + s = i(45652), + o = i(29246), + a = r(function (e) { + return s(n(e, 1, o, !0)); + }); + e.exports = a; + }, + 73955: (e, t, i) => { + var n = i(79833), + r = 0; + e.exports = function (e) { + var t = ++r; + return n(e) + t; + }; + }, + 52628: (e, t, i) => { + var n = i(47415), + r = i(3674); + e.exports = function (e) { + return null == e ? [] : n(e, r(e)); + }; + }, + 7287: (e, t, i) => { + var n = i(34865), + r = i(1757); + e.exports = function (e, t) { + return r(e || [], t || [], n); + }; + }, + 21140: function (e, t, i) { + var n; + 'undefined' != typeof self && self, + (n = function () { + return (function (e) { + var t = {}; + function i(n) { + if (t[n]) return t[n].exports; + var r = (t[n] = { i: n, l: !1, exports: {} }); + return ( + e[n].call(r.exports, r, r.exports, i), (r.l = !0), r.exports + ); + } + return ( + (i.m = e), + (i.c = t), + (i.d = function (e, t, n) { + i.o(e, t) || + Object.defineProperty(e, t, { enumerable: !0, get: n }); + }), + (i.r = function (e) { + 'undefined' != typeof Symbol && + Symbol.toStringTag && + Object.defineProperty(e, Symbol.toStringTag, { + value: 'Module', + }), + Object.defineProperty(e, '__esModule', { value: !0 }); + }), + (i.t = function (e, t) { + if ((1 & t && (e = i(e)), 8 & t)) return e; + if (4 & t && 'object' == typeof e && e && e.__esModule) + return e; + var n = Object.create(null); + if ( + (i.r(n), + Object.defineProperty(n, 'default', { + enumerable: !0, + value: e, + }), + 2 & t && 'string' != typeof e) + ) + for (var r in e) + i.d( + n, + r, + function (t) { + return e[t]; + }.bind(null, r) + ); + return n; + }), + (i.n = function (e) { + var t = + e && e.__esModule + ? function () { + return e.default; + } + : function () { + return e; + }; + return i.d(t, 'a', t), t; + }), + (i.o = function (e, t) { + return Object.prototype.hasOwnProperty.call(e, t); + }), + (i.p = ''), + i((i.s = './src/mermaid.js')) + ); + })({ + './node_modules/node-libs-browser/mock/empty.js': function ( + e, + t + ) {}, + './node_modules/path-browserify/index.js': function (e, t, i) { + (function (e) { + function i(e, t) { + for (var i = 0, n = e.length - 1; n >= 0; n--) { + var r = e[n]; + '.' === r + ? e.splice(n, 1) + : '..' === r + ? (e.splice(n, 1), i++) + : i && (e.splice(n, 1), i--); + } + if (t) for (; i--; i) e.unshift('..'); + return e; + } + function n(e, t) { + if (e.filter) return e.filter(t); + for (var i = [], n = 0; n < e.length; n++) + t(e[n], n, e) && i.push(e[n]); + return i; + } + (t.resolve = function () { + for ( + var t = '', r = !1, s = arguments.length - 1; + s >= -1 && !r; + s-- + ) { + var o = s >= 0 ? arguments[s] : e.cwd(); + if ('string' != typeof o) + throw new TypeError( + 'Arguments to path.resolve must be strings' + ); + o && ((t = o + '/' + t), (r = '/' === o.charAt(0))); + } + return ( + (r ? '/' : '') + + (t = i( + n(t.split('/'), function (e) { + return !!e; + }), + !r + ).join('/')) || '.' + ); + }), + (t.normalize = function (e) { + var s = t.isAbsolute(e), + o = '/' === r(e, -1); + return ( + (e = i( + n(e.split('/'), function (e) { + return !!e; + }), + !s + ).join('/')) || + s || + (e = '.'), + e && o && (e += '/'), + (s ? '/' : '') + e + ); + }), + (t.isAbsolute = function (e) { + return '/' === e.charAt(0); + }), + (t.join = function () { + var e = Array.prototype.slice.call(arguments, 0); + return t.normalize( + n(e, function (e, t) { + if ('string' != typeof e) + throw new TypeError( + 'Arguments to path.join must be strings' + ); + return e; + }).join('/') + ); + }), + (t.relative = function (e, i) { + function n(e) { + for (var t = 0; t < e.length && '' === e[t]; t++); + for (var i = e.length - 1; i >= 0 && '' === e[i]; i--); + return t > i ? [] : e.slice(t, i - t + 1); + } + (e = t.resolve(e).substr(1)), + (i = t.resolve(i).substr(1)); + for ( + var r = n(e.split('/')), + s = n(i.split('/')), + o = Math.min(r.length, s.length), + a = o, + l = 0; + l < o; + l++ + ) + if (r[l] !== s[l]) { + a = l; + break; + } + var c = []; + for (l = a; l < r.length; l++) c.push('..'); + return (c = c.concat(s.slice(a))).join('/'); + }), + (t.sep = '/'), + (t.delimiter = ':'), + (t.dirname = function (e) { + if (('string' != typeof e && (e += ''), 0 === e.length)) + return '.'; + for ( + var t = e.charCodeAt(0), + i = 47 === t, + n = -1, + r = !0, + s = e.length - 1; + s >= 1; + --s + ) + if (47 === (t = e.charCodeAt(s))) { + if (!r) { + n = s; + break; + } + } else r = !1; + return -1 === n + ? i + ? '/' + : '.' + : i && 1 === n + ? '/' + : e.slice(0, n); + }), + (t.basename = function (e, t) { + var i = (function (e) { + 'string' != typeof e && (e += ''); + var t, + i = 0, + n = -1, + r = !0; + for (t = e.length - 1; t >= 0; --t) + if (47 === e.charCodeAt(t)) { + if (!r) { + i = t + 1; + break; + } + } else -1 === n && ((r = !1), (n = t + 1)); + return -1 === n ? '' : e.slice(i, n); + })(e); + return ( + t && + i.substr(-1 * t.length) === t && + (i = i.substr(0, i.length - t.length)), + i + ); + }), + (t.extname = function (e) { + 'string' != typeof e && (e += ''); + for ( + var t = -1, + i = 0, + n = -1, + r = !0, + s = 0, + o = e.length - 1; + o >= 0; + --o + ) { + var a = e.charCodeAt(o); + if (47 !== a) + -1 === n && ((r = !1), (n = o + 1)), + 46 === a + ? -1 === t + ? (t = o) + : 1 !== s && (s = 1) + : -1 !== t && (s = -1); + else if (!r) { + i = o + 1; + break; + } + } + return -1 === t || + -1 === n || + 0 === s || + (1 === s && t === n - 1 && t === i + 1) + ? '' + : e.slice(t, n); + }); + var r = function (e, t, i) { + return e.substr(t, i); + }; + }.call(this, i('./node_modules/process/browser.js'))); + }, + './node_modules/process/browser.js': function (e, t) { + var i, + n, + r = (e.exports = {}); + function s() { + throw new Error('setTimeout has not been defined'); + } + function o() { + throw new Error('clearTimeout has not been defined'); + } + function a(e) { + if (i === setTimeout) return setTimeout(e, 0); + if ((i === s || !i) && setTimeout) + return (i = setTimeout), setTimeout(e, 0); + try { + return i(e, 0); + } catch (t) { + try { + return i.call(null, e, 0); + } catch (t) { + return i.call(this, e, 0); + } + } + } + !(function () { + try { + i = 'function' == typeof setTimeout ? setTimeout : s; + } catch (e) { + i = s; + } + try { + n = 'function' == typeof clearTimeout ? clearTimeout : o; + } catch (e) { + n = o; + } + })(); + var l, + c = [], + d = !1, + h = -1; + function u() { + d && + l && + ((d = !1), + l.length ? (c = l.concat(c)) : (h = -1), + c.length && g()); + } + function g() { + if (!d) { + var e = a(u); + d = !0; + for (var t = c.length; t; ) { + for (l = c, c = []; ++h < t; ) l && l[h].run(); + (h = -1), (t = c.length); + } + (l = null), + (d = !1), + (function (e) { + if (n === clearTimeout) return clearTimeout(e); + if ((n === o || !n) && clearTimeout) + return (n = clearTimeout), clearTimeout(e); + try { + n(e); + } catch (t) { + try { + return n.call(null, e); + } catch (t) { + return n.call(this, e); + } + } + })(e); + } + } + function f(e, t) { + (this.fun = e), (this.array = t); + } + function p() {} + (r.nextTick = function (e) { + var t = new Array(arguments.length - 1); + if (arguments.length > 1) + for (var i = 1; i < arguments.length; i++) + t[i - 1] = arguments[i]; + c.push(new f(e, t)), 1 !== c.length || d || a(g); + }), + (f.prototype.run = function () { + this.fun.apply(null, this.array); + }), + (r.title = 'browser'), + (r.browser = !0), + (r.env = {}), + (r.argv = []), + (r.version = ''), + (r.versions = {}), + (r.on = p), + (r.addListener = p), + (r.once = p), + (r.off = p), + (r.removeListener = p), + (r.removeAllListeners = p), + (r.emit = p), + (r.prependListener = p), + (r.prependOnceListener = p), + (r.listeners = function (e) { + return []; + }), + (r.binding = function (e) { + throw new Error('process.binding is not supported'); + }), + (r.cwd = function () { + return '/'; + }), + (r.chdir = function (e) { + throw new Error('process.chdir is not supported'); + }), + (r.umask = function () { + return 0; + }); + }, + './node_modules/webpack/buildin/module.js': function (e, t) { + e.exports = function (e) { + return ( + e.webpackPolyfill || + ((e.deprecate = function () {}), + (e.paths = []), + e.children || (e.children = []), + Object.defineProperty(e, 'loaded', { + enumerable: !0, + get: function () { + return e.l; + }, + }), + Object.defineProperty(e, 'id', { + enumerable: !0, + get: function () { + return e.i; + }, + }), + (e.webpackPolyfill = 1)), + e + ); + }; + }, + './package.json': function (e) { + e.exports = JSON.parse( + '{"name":"mermaid","version":"8.9.3","description":"Markdownish syntax for generating flowcharts, sequence diagrams, class diagrams, gantt charts and git graphs.","main":"dist/mermaid.core.js","keywords":["diagram","markdown","flowchart","sequence diagram","gantt","class diagram","git graph"],"scripts":{"build:development":"webpack --progress --colors","build:production":"yarn build:development -p --config webpack.config.prod.babel.js","build":"yarn build:development && yarn build:production","postbuild":"documentation build src/mermaidAPI.js src/config.js src/defaultConfig.js --shallow -f md --markdown-toc false > docs/Setup.md","build:watch":"yarn build --watch","minify":"minify ./dist/mermaid.js > ./dist/mermaid.min.js","release":"yarn build","lint":"eslint src","e2e:depr":"yarn lint && jest e2e --config e2e/jest.config.js","cypress":"percy exec -- cypress run","e2e":"start-server-and-test dev http://localhost:9000/ cypress","e2e-upd":"yarn lint && jest e2e -u --config e2e/jest.config.js","dev":"webpack-dev-server --config webpack.config.e2e.js","test":"yarn lint && jest src/.*","test:watch":"jest --watch src","prepublishOnly":"yarn build && yarn test","prepare":"yarn build"},"repository":{"type":"git","url":"https://github.com/knsv/mermaid"},"author":"Knut Sveidqvist","license":"MIT","standard":{"ignore":["**/parser/*.js","dist/**/*.js","cypress/**/*.js"],"globals":["page"]},"dependencies":{"@braintree/sanitize-url":"^3.1.0","d3":"^5.7.0","dagre":"^0.8.4","dagre-d3":"^0.6.4","entity-decode":"^2.0.2","graphlib":"^2.1.7","he":"^1.2.0","khroma":"^1.1.0","minify":"^4.1.1","moment-mini":"^2.22.1","stylis":"^3.5.2"},"devDependencies":{"@babel/core":"^7.2.2","@babel/preset-env":"^7.8.4","@babel/register":"^7.0.0","@percy/cypress":"*","babel-core":"7.0.0-bridge.0","babel-eslint":"^10.1.0","babel-jest":"^24.9.0","babel-loader":"^8.0.4","coveralls":"^3.0.2","css-loader":"^2.0.1","css-to-string-loader":"^0.1.3","cypress":"4.0.1","documentation":"^12.0.1","eslint":"^6.3.0","eslint-config-prettier":"^6.3.0","eslint-plugin-prettier":"^3.1.0","husky":"^1.2.1","identity-obj-proxy":"^3.0.0","jest":"^24.9.0","jison":"^0.4.18","moment":"^2.23.0","node-sass":"^5.0.0","prettier":"^1.18.2","puppeteer":"^1.17.0","sass-loader":"^7.1.0","start-server-and-test":"^1.10.6","terser-webpack-plugin":"^2.2.2","webpack":"^4.41.2","webpack-bundle-analyzer":"^3.7.0","webpack-cli":"^3.1.2","webpack-dev-server":"^3.4.1","webpack-node-externals":"^1.7.2","yarn-upgrade-all":"^0.5.0"},"files":["dist"],"yarn-upgrade-all":{"ignore":["babel-core"]},"sideEffects":["**/*.css","**/*.scss"],"husky":{"hooks":{"pre-push":"yarn test"}}}' + ); + }, + './src/config.js': function (e, t, i) { + 'use strict'; + i.r(t), + i.d(t, 'defaultConfig', function () { + return c; + }), + i.d(t, 'updateCurrentConfig', function () { + return g; + }), + i.d(t, 'setSiteConfig', function () { + return f; + }), + i.d(t, 'saveConfigFromInitilize', function () { + return p; + }), + i.d(t, 'updateSiteConfig', function () { + return m; + }), + i.d(t, 'getSiteConfig', function () { + return _; + }), + i.d(t, 'setConfig', function () { + return b; + }), + i.d(t, 'getConfig', function () { + return v; + }), + i.d(t, 'sanitize', function () { + return y; + }), + i.d(t, 'addDirective', function () { + return w; + }), + i.d(t, 'reset', function () { + return C; + }); + var n = i('./src/utils.js'), + r = i('./src/logger.js'), + s = i('./src/themes/index.js'), + o = i('./src/defaultConfig.js'); + function a(e) { + return (a = + 'function' == typeof Symbol && + 'symbol' == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + 'function' == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? 'symbol' + : typeof e; + })(e); + } + var l, + c = Object.freeze(o.default), + d = Object(n.assignWithDepth)({}, c), + h = [], + u = Object(n.assignWithDepth)({}, c), + g = function (e, t) { + for ( + var i = Object(n.assignWithDepth)({}, e), r = {}, o = 0; + o < t.length; + o++ + ) { + var a = t[o]; + y(a), (r = Object(n.assignWithDepth)(r, a)); + } + if (((i = Object(n.assignWithDepth)(i, r)), r.theme)) { + var c = Object(n.assignWithDepth)({}, l), + d = Object(n.assignWithDepth)( + c.themeVariables || {}, + r.themeVariables + ); + i.themeVariables = s.default[i.theme].getThemeVariables( + d + ); + } + return (u = i), i; + }, + f = function (e) { + return ( + (d = Object(n.assignWithDepth)({}, c)), + (d = Object(n.assignWithDepth)(d, e)), + e.theme && + (d.themeVariables = s.default[ + e.theme + ].getThemeVariables(e.themeVariables)), + (u = g(d, h)), + d + ); + }, + p = function (e) { + l = Object(n.assignWithDepth)({}, e); + }, + m = function (e) { + return (d = Object(n.assignWithDepth)(d, e)), g(d, h), d; + }, + _ = function () { + return Object(n.assignWithDepth)({}, d); + }, + b = function (e) { + return Object(n.assignWithDepth)(u, e), v(); + }, + v = function () { + return Object(n.assignWithDepth)({}, u); + }, + y = function e(t) { + Object.keys(d.secure).forEach(function (e) { + void 0 !== t[d.secure[e]] && + (r.log.debug( + 'Denied attempt to modify a secure key '.concat( + d.secure[e] + ), + t[d.secure[e]] + ), + delete t[d.secure[e]]); + }), + Object.keys(t).forEach(function (e) { + 0 === e.indexOf('__') && delete t[e]; + }), + Object.keys(t).forEach(function (i) { + 'string' == typeof t[i] && + (t[i].indexOf('<') > -1 || + t[i].indexOf('>') > -1 || + t[i].indexOf('url(data:') > -1) && + delete t[i], + 'object' === a(t[i]) && e(t[i]); + }); + }, + w = function (e) { + e.fontFamily && + ((e.themeVariables && e.themeVariables.fontFamily) || + (e.themeVariables = { fontFamily: e.fontFamily })), + h.push(e), + g(d, h); + }, + C = function () { + g(d, (h = [])); + }; + }, + './src/dagre-wrapper/clusters.js': function (e, t, i) { + 'use strict'; + i.r(t), + i.d(t, 'insertCluster', function () { + return d; + }), + i.d(t, 'getClusterTitleWidth', function () { + return h; + }), + i.d(t, 'clear', function () { + return u; + }), + i.d(t, 'positionCluster', function () { + return g; + }); + var n = i('./src/dagre-wrapper/intersect/intersect-rect.js'), + r = i('./src/logger.js'), + s = i('./src/dagre-wrapper/createLabel.js'), + o = i('d3'), + a = i('./src/config.js'), + l = { + rect: function (e, t) { + r.log.trace('Creating subgraph rect for ', t.id, t); + var i = e + .insert('g') + .attr( + 'class', + 'cluster' + (t.class ? ' ' + t.class : '') + ) + .attr('id', t.id), + l = i.insert('rect', ':first-child'), + c = i.insert('g').attr('class', 'cluster-label'), + d = c + .node() + .appendChild( + Object(s.default)( + t.labelText, + t.labelStyle, + void 0, + !0 + ) + ), + h = d.getBBox(); + if (Object(a.getConfig)().flowchart.htmlLabels) { + var u = d.children[0], + g = Object(o.select)(d); + (h = u.getBoundingClientRect()), + g.attr('width', h.width), + g.attr('height', h.height); + } + var f = 0 * t.padding, + p = f / 2; + r.log.trace('Data ', t, JSON.stringify(t)), + l + .attr('style', t.style) + .attr('rx', t.rx) + .attr('ry', t.ry) + .attr('x', t.x - t.width / 2 - p) + .attr('y', t.y - t.height / 2 - p) + .attr('width', t.width + f) + .attr('height', t.height + f), + c.attr( + 'transform', + 'translate(' + + (t.x - h.width / 2) + + ', ' + + (t.y - t.height / 2 + t.padding / 3) + + ')' + ); + var m = l.node().getBBox(); + return ( + (t.width = m.width), + (t.height = m.height), + (t.intersect = function (e) { + return Object(n.default)(t, e); + }), + i + ); + }, + roundedWithTitle: function (e, t) { + var i = e + .insert('g') + .attr('class', t.classes) + .attr('id', t.id), + r = i.insert('rect', ':first-child'), + l = i.insert('g').attr('class', 'cluster-label'), + c = i.append('rect'), + d = l + .node() + .appendChild( + Object(s.default)( + t.labelText, + t.labelStyle, + void 0, + !0 + ) + ), + h = d.getBBox(); + if (Object(a.getConfig)().flowchart.htmlLabels) { + var u = d.children[0], + g = Object(o.select)(d); + (h = u.getBoundingClientRect()), + g.attr('width', h.width), + g.attr('height', h.height); + } + h = d.getBBox(); + var f = 0 * t.padding, + p = f / 2; + r + .attr('class', 'outer') + .attr('x', t.x - t.width / 2 - p) + .attr('y', t.y - t.height / 2 - p) + .attr('width', t.width + f) + .attr('height', t.height + f), + c + .attr('class', 'inner') + .attr('x', t.x - t.width / 2 - p) + .attr('y', t.y - t.height / 2 - p + h.height - 1) + .attr('width', t.width + f) + .attr('height', t.height + f - h.height - 3), + l.attr( + 'transform', + 'translate(' + + (t.x - h.width / 2) + + ', ' + + (t.y - + t.height / 2 - + t.padding / 3 + + (Object(a.getConfig)().flowchart.htmlLabels + ? 5 + : 3)) + + ')' + ); + var m = r.node().getBBox(); + return ( + (t.width = m.width), + (t.height = m.height), + (t.intersect = function (e) { + return Object(n.default)(t, e); + }), + i + ); + }, + noteGroup: function (e, t) { + var i = e + .insert('g') + .attr('class', 'note-cluster') + .attr('id', t.id), + r = i.insert('rect', ':first-child'), + s = 0 * t.padding, + o = s / 2; + r.attr('rx', t.rx) + .attr('ry', t.ry) + .attr('x', t.x - t.width / 2 - o) + .attr('y', t.y - t.height / 2 - o) + .attr('width', t.width + s) + .attr('height', t.height + s) + .attr('fill', 'none'); + var a = r.node().getBBox(); + return ( + (t.width = a.width), + (t.height = a.height), + (t.intersect = function (e) { + return Object(n.default)(t, e); + }), + i + ); + }, + divider: function (e, t) { + var i = e + .insert('g') + .attr('class', t.classes) + .attr('id', t.id), + r = i.insert('rect', ':first-child'), + s = 0 * t.padding, + o = s / 2; + r.attr('class', 'divider') + .attr('x', t.x - t.width / 2 - o) + .attr('y', t.y - t.height / 2) + .attr('width', t.width + s) + .attr('height', t.height + s); + var a = r.node().getBBox(); + return ( + (t.width = a.width), + (t.height = a.height), + (t.intersect = function (e) { + return Object(n.default)(t, e); + }), + i + ); + }, + }, + c = {}, + d = function (e, t) { + r.log.trace('Inserting cluster'); + var i = t.shape || 'rect'; + c[t.id] = l[i](e, t); + }, + h = function (e, t) { + var i = Object(s.default)( + t.labelText, + t.labelStyle, + void 0, + !0 + ); + e.node().appendChild(i); + var n = i.getBBox().width; + return e.node().removeChild(i), n; + }, + u = function () { + c = {}; + }, + g = function (e) { + r.log.info('Position cluster'), + c[e.id].attr( + 'transform', + 'translate(' + e.x + ', ' + e.y + ')' + ); + }; + }, + './src/dagre-wrapper/createLabel.js': function (e, t, i) { + 'use strict'; + i.r(t); + var n = i('d3'), + r = i('./src/logger.js'), + s = i('./src/config.js'); + t.default = function (e, t, i, o) { + var a, + l, + c, + d, + h, + u, + g = e || ''; + if (Object(s.getConfig)().flowchart.htmlLabels) + return ( + (g = g.replace(/\\n|\n/g, '<br />')), + r.log.info('vertexText' + g), + (a = { + isNode: o, + label: g.replace(/fa[lrsb]?:fa-[\w-]+/g, function (e) { + return "<i class='".concat( + e.replace(':', ' '), + "'></i>" + ); + }), + labelStyle: t.replace('fill:', 'color:'), + }), + (c = Object(n.select)( + document.createElementNS( + 'http://www.w3.org/2000/svg', + 'foreignObject' + ) + )), + (d = c.append('xhtml:div')), + (h = a.label), + (u = a.isNode ? 'nodeLabel' : 'edgeLabel'), + d.html( + '<span class="' + + u + + '" ' + + (a.labelStyle ? 'style="' + a.labelStyle + '"' : '') + + '>' + + h + + '</span>' + ), + (l = a.labelStyle) && d.attr('style', l), + d.style('display', 'inline-block'), + d.style('white-space', 'nowrap'), + d.attr('xmlns', 'http://www.w3.org/1999/xhtml'), + c.node() + ); + var f = document.createElementNS( + 'http://www.w3.org/2000/svg', + 'text' + ); + f.setAttribute('style', t.replace('color:', 'fill:')); + var p = []; + p = + 'string' == typeof g + ? g.split(/\\n|\n|<br\s*\/?>/gi) + : Array.isArray(g) + ? g + : []; + for (var m = 0; m < p.length; m++) { + var _ = document.createElementNS( + 'http://www.w3.org/2000/svg', + 'tspan' + ); + _.setAttributeNS( + 'http://www.w3.org/XML/1998/namespace', + 'xml:space', + 'preserve' + ), + _.setAttribute('dy', '1em'), + _.setAttribute('x', '0'), + i + ? _.setAttribute('class', 'title-row') + : _.setAttribute('class', 'row'), + (_.textContent = p[m].trim()), + f.appendChild(_); + } + return f; + }; + }, + './src/dagre-wrapper/edges.js': function (e, t, i) { + 'use strict'; + i.r(t), + i.d(t, 'clear', function () { + return d; + }), + i.d(t, 'insertEdgeLabel', function () { + return h; + }), + i.d(t, 'positionEdgeLabel', function () { + return u; + }), + i.d(t, 'intersection', function () { + return f; + }), + i.d(t, 'insertEdge', function () { + return p; + }); + var n = i('./src/logger.js'), + r = i('./src/dagre-wrapper/createLabel.js'), + s = i('d3'), + o = i('./src/config.js'), + a = i('./src/utils.js'), + l = {}, + c = {}, + d = function () { + (l = {}), (c = {}); + }, + h = function (e, t) { + var i = Object(r.default)(t.label, t.labelStyle), + n = e.insert('g').attr('class', 'edgeLabel'), + a = n.insert('g').attr('class', 'label'); + a.node().appendChild(i); + var d = i.getBBox(); + if (Object(o.getConfig)().flowchart.htmlLabels) { + var h = i.children[0], + u = Object(s.select)(i); + (d = h.getBoundingClientRect()), + u.attr('width', d.width), + u.attr('height', d.height); + } + if ( + (a.attr( + 'transform', + 'translate(' + -d.width / 2 + ', ' + -d.height / 2 + ')' + ), + (l[t.id] = n), + (t.width = d.width), + (t.height = d.height), + t.startLabelLeft) + ) { + var g = Object(r.default)(t.startLabelLeft, t.labelStyle), + f = e.insert('g').attr('class', 'edgeTerminals'), + p = f.insert('g').attr('class', 'inner'); + p.node().appendChild(g); + var m = g.getBBox(); + p.attr( + 'transform', + 'translate(' + -m.width / 2 + ', ' + -m.height / 2 + ')' + ), + c[t.id] || (c[t.id] = {}), + (c[t.id].startLeft = f); + } + if (t.startLabelRight) { + var _ = Object(r.default)( + t.startLabelRight, + t.labelStyle + ), + b = e.insert('g').attr('class', 'edgeTerminals'), + v = b.insert('g').attr('class', 'inner'); + b.node().appendChild(_), v.node().appendChild(_); + var y = _.getBBox(); + v.attr( + 'transform', + 'translate(' + -y.width / 2 + ', ' + -y.height / 2 + ')' + ), + c[t.id] || (c[t.id] = {}), + (c[t.id].startRight = b); + } + if (t.endLabelLeft) { + var w = Object(r.default)(t.endLabelLeft, t.labelStyle), + C = e.insert('g').attr('class', 'edgeTerminals'), + S = C.insert('g').attr('class', 'inner'); + S.node().appendChild(w); + var k = w.getBBox(); + S.attr( + 'transform', + 'translate(' + -k.width / 2 + ', ' + -k.height / 2 + ')' + ), + C.node().appendChild(w), + c[t.id] || (c[t.id] = {}), + (c[t.id].endLeft = C); + } + if (t.endLabelRight) { + var x = Object(r.default)(t.endLabelRight, t.labelStyle), + L = e.insert('g').attr('class', 'edgeTerminals'), + M = L.insert('g').attr('class', 'inner'); + M.node().appendChild(x); + var D = x.getBBox(); + M.attr( + 'transform', + 'translate(' + -D.width / 2 + ', ' + -D.height / 2 + ')' + ), + L.node().appendChild(x), + c[t.id] || (c[t.id] = {}), + (c[t.id].endRight = L); + } + }, + u = function (e, t) { + n.log.info('Moving label', e.id, e.label, l[e.id]); + var i = t.updatedPath ? t.updatedPath : t.originalPath; + if (e.label) { + var r = l[e.id], + s = e.x, + o = e.y; + if (i) { + var d = a.default.calcLabelPosition(i); + n.log.info( + 'Moving label from (', + s, + ',', + o, + ') to (', + d.x, + ',', + d.y, + ')' + ); + } + r.attr('transform', 'translate(' + s + ', ' + o + ')'); + } + if (e.startLabelLeft) { + var h = c[e.id].startLeft, + u = e.x, + g = e.y; + if (i) { + var f = a.default.calcTerminalLabelPosition( + 0, + 'start_left', + i + ); + (u = f.x), (g = f.y); + } + h.attr('transform', 'translate(' + u + ', ' + g + ')'); + } + if (e.startLabelRight) { + var p = c[e.id].startRight, + m = e.x, + _ = e.y; + if (i) { + var b = a.default.calcTerminalLabelPosition( + 0, + 'start_right', + i + ); + (m = b.x), (_ = b.y); + } + p.attr('transform', 'translate(' + m + ', ' + _ + ')'); + } + if (e.endLabelLeft) { + var v = c[e.id].endLeft, + y = e.x, + w = e.y; + if (i) { + var C = a.default.calcTerminalLabelPosition( + 0, + 'end_left', + i + ); + (y = C.x), (w = C.y); + } + v.attr('transform', 'translate(' + y + ', ' + w + ')'); + } + if (e.endLabelRight) { + var S = c[e.id].endRight, + k = e.x, + x = e.y; + if (i) { + var L = a.default.calcTerminalLabelPosition( + 0, + 'end_right', + i + ); + (k = L.x), (x = L.y); + } + S.attr('transform', 'translate(' + k + ', ' + x + ')'); + } + }, + g = function (e, t) { + var i = e.x, + n = e.y, + r = Math.abs(t.x - i), + s = Math.abs(t.y - n), + o = e.width / 2, + a = e.height / 2; + return r >= o || s >= a; + }, + f = function (e, t, i) { + n.log.warn('intersection calc o:', t, ' i:', i, e); + var r = e.x, + s = e.y, + o = Math.abs(r - i.x), + a = e.width / 2, + l = i.x < t.x ? a - o : a + o, + c = e.height / 2, + d = r - a, + h = r + a, + u = s - c, + g = s + c; + if (t.x === d || t.x === h || t.y === u || t.y === g) + return n.log.warn('calc equals on edge'), t; + var f = Math.abs(t.y - i.y), + p = Math.abs(t.x - i.x); + if (Math.abs(s - t.y) * a > Math.abs(r - t.x) * c) { + var m = i.y < t.y ? t.y - c - s : s - c - t.y; + l = (p * m) / f; + var _ = { + x: i.x < t.x ? i.x + p - l : i.x - l, + y: i.y < t.y ? i.y + f - m : i.y - m, + }; + return ( + n.log.warn( + 'topp/bott calc, Q ' + .concat(f, ', q ') + .concat(m, ', R ') + .concat(p, ', r ') + .concat(l), + _ + ), + _ + ); + } + var b = (b = + (f * (l = i.x < t.x ? t.x - a - r : r - a - t.x)) / p); + return ( + n.log.warn( + 'sides calc, Q ' + .concat(f, ', q ') + .concat(b, ', R ') + .concat(p, ', r ') + .concat(l), + { + x: i.x < t.x ? i.x + p - l : i.x + o - a, + y: i.y < t.y ? i.y + b : i.y - b, + } + ), + { + x: i.x < t.x ? i.x + p - l : i.x + o - a, + y: i.y < t.y ? i.y + b : i.y - b, + } + ); + }, + p = function (e, t, i, r, a, l) { + var c = i.points, + d = !1, + h = l.node(t.v), + u = l.node(t.w); + if ( + (u.intersect && + h.intersect && + ((c = c.slice(1, i.points.length - 1)).unshift( + h.intersect(c[0]) + ), + n.log.info( + 'Last point', + c[c.length - 1], + u, + u.intersect(c[c.length - 1]) + ), + c.push(u.intersect(c[c.length - 1]))), + i.toCluster) + ) { + var p; + n.log.trace('edge', i), + n.log.trace('to cluster', r[i.toCluster]), + (c = []); + var m = !1; + i.points.forEach(function (e) { + var t = r[i.toCluster].node; + if (g(t, e) || m) m || c.push(e); + else { + n.log.trace('inside', i.toCluster, e, p); + var s = f(t, p, e), + o = !1; + c.forEach(function (e) { + o = o || (e.x === s.x && e.y === s.y); + }), + c.find(function (e) { + return e.x === s.x && e.y === s.y; + }) + ? n.log.warn('no intersect', s, c) + : c.push(s), + (m = !0); + } + p = e; + }), + (d = !0); + } + if (i.fromCluster) { + n.log.trace('edge', i), + n.log.warn('from cluster', r[i.fromCluster]); + for ( + var _, b = [], v = !1, y = c.length - 1; + y >= 0; + y-- + ) { + var w = c[y], + C = r[i.fromCluster].node; + if (g(C, w) || v) + n.log.trace('Outside point', w), v || b.unshift(w); + else { + n.log.warn('inside', i.fromCluster, w, C); + var S = f(C, _, w); + b.unshift(S), (v = !0); + } + _ = w; + } + (c = b), (d = !0); + } + var k, + x = c.filter(function (e) { + return !Number.isNaN(e.y); + }); + k = + (('graph' === a || 'flowchart' === a) && i.curve) || + s.curveBasis; + var L, + M = Object(s.line)() + .x(function (e) { + return e.x; + }) + .y(function (e) { + return e.y; + }) + .curve(k); + switch (i.thickness) { + case 'normal': + L = 'edge-thickness-normal'; + break; + case 'thick': + L = 'edge-thickness-thick'; + break; + default: + L = ''; + } + switch (i.pattern) { + case 'solid': + L += ' edge-pattern-solid'; + break; + case 'dotted': + L += ' edge-pattern-dotted'; + break; + case 'dashed': + L += ' edge-pattern-dashed'; + } + var D = e + .append('path') + .attr('d', M(x)) + .attr('id', i.id) + .attr( + 'class', + ' ' + L + (i.classes ? ' ' + i.classes : '') + ) + .attr('style', i.style), + N = ''; + switch ( + (Object(o.getConfig)().state.arrowMarkerAbsolute && + (N = (N = (N = + window.location.protocol + + '//' + + window.location.host + + window.location.pathname + + window.location.search).replace( + /\(/g, + '\\(' + )).replace(/\)/g, '\\)')), + n.log.info('arrowTypeStart', i.arrowTypeStart), + n.log.info('arrowTypeEnd', i.arrowTypeEnd), + i.arrowTypeStart) + ) { + case 'arrow_cross': + D.attr( + 'marker-start', + 'url(' + N + '#' + a + '-crossStart)' + ); + break; + case 'arrow_point': + D.attr( + 'marker-start', + 'url(' + N + '#' + a + '-pointStart)' + ); + break; + case 'arrow_barb': + D.attr( + 'marker-start', + 'url(' + N + '#' + a + '-barbStart)' + ); + break; + case 'arrow_circle': + D.attr( + 'marker-start', + 'url(' + N + '#' + a + '-circleStart)' + ); + break; + case 'aggregation': + D.attr( + 'marker-start', + 'url(' + N + '#' + a + '-aggregationStart)' + ); + break; + case 'extension': + D.attr( + 'marker-start', + 'url(' + N + '#' + a + '-extensionStart)' + ); + break; + case 'composition': + D.attr( + 'marker-start', + 'url(' + N + '#' + a + '-compositionStart)' + ); + break; + case 'dependency': + D.attr( + 'marker-start', + 'url(' + N + '#' + a + '-dependencyStart)' + ); + } + switch (i.arrowTypeEnd) { + case 'arrow_cross': + D.attr( + 'marker-end', + 'url(' + N + '#' + a + '-crossEnd)' + ); + break; + case 'arrow_point': + D.attr( + 'marker-end', + 'url(' + N + '#' + a + '-pointEnd)' + ); + break; + case 'arrow_barb': + D.attr( + 'marker-end', + 'url(' + N + '#' + a + '-barbEnd)' + ); + break; + case 'arrow_circle': + D.attr( + 'marker-end', + 'url(' + N + '#' + a + '-circleEnd)' + ); + break; + case 'aggregation': + D.attr( + 'marker-end', + 'url(' + N + '#' + a + '-aggregationEnd)' + ); + break; + case 'extension': + D.attr( + 'marker-end', + 'url(' + N + '#' + a + '-extensionEnd)' + ); + break; + case 'composition': + D.attr( + 'marker-end', + 'url(' + N + '#' + a + '-compositionEnd)' + ); + break; + case 'dependency': + D.attr( + 'marker-end', + 'url(' + N + '#' + a + '-dependencyEnd)' + ); + } + var E = {}; + return ( + d && (E.updatedPath = c), (E.originalPath = i.points), E + ); + }; + }, + './src/dagre-wrapper/index.js': function (e, t, i) { + 'use strict'; + i.r(t), + i.d(t, 'render', function () { + return p; + }); + var n = i('dagre'), + r = i.n(n), + s = i('graphlib'), + o = i.n(s), + a = i('./src/dagre-wrapper/markers.js'), + l = i('./src/dagre-wrapper/shapes/util.js'), + c = i('./src/dagre-wrapper/mermaid-graphlib.js'), + d = i('./src/dagre-wrapper/nodes.js'), + h = i('./src/dagre-wrapper/clusters.js'), + u = i('./src/dagre-wrapper/edges.js'), + g = i('./src/logger.js'), + f = function e(t, i, n, s) { + g.log.info( + 'Graph in recursive render: XXX', + o.a.json.write(i), + s + ); + var a = i.graph().rankdir; + g.log.warn('Dir in recursive render - dir:', a); + var f = t.insert('g').attr('class', 'root'); + i.nodes() + ? g.log.info('Recursive render XXX', i.nodes()) + : g.log.info('No nodes found for', i), + i.edges().length > 0 && + g.log.info('Recursive edges', i.edge(i.edges()[0])); + var p = f.insert('g').attr('class', 'clusters'), + m = f.insert('g').attr('class', 'edgePaths'), + _ = f.insert('g').attr('class', 'edgeLabels'), + b = f.insert('g').attr('class', 'nodes'); + return ( + i.nodes().forEach(function (t) { + var r = i.node(t); + if (void 0 !== s) { + var o = JSON.parse(JSON.stringify(s.clusterData)); + g.log.info( + 'Setting data for cluster XXX (', + t, + ') ', + o, + s + ), + i.setNode(s.id, o), + i.parent(t) || + (g.log.warn('Setting parent', t, s.id), + i.setParent(t, s.id, o)); + } + if ( + (g.log.info( + '(Insert) Node XXX' + + t + + ': ' + + JSON.stringify(i.node(t)) + ), + r && r.clusterNode) + ) { + g.log.info('Cluster identified', t, r, i.node(t)); + var h = e(b, r.graph, n, i.node(t)); + Object(l.updateNodeBounds)(r, h), + Object(d.setNodeElem)(h, r), + g.log.warn('Recursive render complete', h, r); + } else i.children(t).length > 0 ? (g.log.info('Cluster - the non recursive path XXX', t, r.id, r, i), g.log.info(Object(c.findNonClusterChild)(r.id, i)), (c.clusterDb[r.id] = { id: Object(c.findNonClusterChild)(r.id, i), node: r })) : (g.log.info('Node - the non recursive path', t, r.id, r), Object(d.insertNode)(b, i.node(t), a)); + }), + i.edges().forEach(function (e) { + var t = i.edge(e.v, e.w, e.name); + g.log.info( + 'Edge ' + + e.v + + ' -> ' + + e.w + + ': ' + + JSON.stringify(e) + ), + g.log.info( + 'Edge ' + e.v + ' -> ' + e.w + ': ', + e, + ' ', + JSON.stringify(i.edge(e)) + ), + g.log.info( + 'Fix', + c.clusterDb, + 'ids:', + e.v, + e.w, + 'Translateing: ', + c.clusterDb[e.v], + c.clusterDb[e.w] + ), + Object(u.insertEdgeLabel)(_, t); + }), + i.edges().forEach(function (e) { + g.log.info( + 'Edge ' + + e.v + + ' -> ' + + e.w + + ': ' + + JSON.stringify(e) + ); + }), + g.log.info( + '#############################################' + ), + g.log.info( + '### Layout ###' + ), + g.log.info( + '#############################################' + ), + g.log.info(i), + r.a.layout(i), + g.log.info('Graph after layout:', o.a.json.write(i)), + Object(c.sortNodesByHierarchy)(i).forEach(function (e) { + var t = i.node(e); + g.log.info( + 'Position ' + e + ': ' + JSON.stringify(i.node(e)) + ), + g.log.info( + 'Position ' + e + ': (' + t.x, + ',' + t.y, + ') width: ', + t.width, + ' height: ', + t.height + ), + t && t.clusterNode + ? Object(d.positionNode)(t) + : i.children(e).length > 0 + ? (Object(h.insertCluster)(p, t), + (c.clusterDb[t.id].node = t)) + : Object(d.positionNode)(t); + }), + i.edges().forEach(function (e) { + var t = i.edge(e); + g.log.info( + 'Edge ' + + e.v + + ' -> ' + + e.w + + ': ' + + JSON.stringify(t), + t + ); + var r = Object(u.insertEdge)( + m, + e, + t, + c.clusterDb, + n, + i + ); + Object(u.positionEdgeLabel)(t, r); + }), + f + ); + }, + p = function (e, t, i, n, r) { + Object(a.default)(e, i, n, r), + Object(d.clear)(), + Object(u.clear)(), + Object(h.clear)(), + Object(c.clear)(), + g.log.warn('Graph at first:', o.a.json.write(t)), + Object(c.adjustClustersAndEdges)(t), + g.log.warn('Graph after:', o.a.json.write(t)), + f(e, t, n); + }; + }, + './src/dagre-wrapper/intersect/index.js': function (e, t, i) { + 'use strict'; + i.r(t); + var n = i('./src/dagre-wrapper/intersect/intersect-node.js'), + r = i.n(n), + s = i('./src/dagre-wrapper/intersect/intersect-circle.js'), + o = i('./src/dagre-wrapper/intersect/intersect-ellipse.js'), + a = i('./src/dagre-wrapper/intersect/intersect-polygon.js'), + l = i('./src/dagre-wrapper/intersect/intersect-rect.js'); + t.default = { + node: r.a, + circle: s.default, + ellipse: o.default, + polygon: a.default, + rect: l.default, + }; + }, + './src/dagre-wrapper/intersect/intersect-circle.js': function ( + e, + t, + i + ) { + 'use strict'; + i.r(t); + var n = i('./src/dagre-wrapper/intersect/intersect-ellipse.js'); + t.default = function (e, t, i) { + return Object(n.default)(e, t, t, i); + }; + }, + './src/dagre-wrapper/intersect/intersect-ellipse.js': function ( + e, + t, + i + ) { + 'use strict'; + i.r(t), + (t.default = function (e, t, i, n) { + var r = e.x, + s = e.y, + o = r - n.x, + a = s - n.y, + l = Math.sqrt(t * t * a * a + i * i * o * o), + c = Math.abs((t * i * o) / l); + n.x < r && (c = -c); + var d = Math.abs((t * i * a) / l); + return n.y < s && (d = -d), { x: r + c, y: s + d }; + }); + }, + './src/dagre-wrapper/intersect/intersect-line.js': function ( + e, + t, + i + ) { + 'use strict'; + function n(e, t) { + return e * t > 0; + } + i.r(t), + (t.default = function (e, t, i, r) { + var s, o, a, l, c, d, h, u, g, f, p, m, _; + if ( + ((s = t.y - e.y), + (a = e.x - t.x), + (c = t.x * e.y - e.x * t.y), + (g = s * i.x + a * i.y + c), + (f = s * r.x + a * r.y + c), + !( + (0 !== g && 0 !== f && n(g, f)) || + ((o = r.y - i.y), + (l = i.x - r.x), + (d = r.x * i.y - i.x * r.y), + (h = o * e.x + l * e.y + d), + (u = o * t.x + l * t.y + d), + (0 !== h && 0 !== u && n(h, u)) || + 0 == (p = s * l - o * a)) + )) + ) + return ( + (m = Math.abs(p / 2)), + { + x: + (_ = a * d - l * c) < 0 ? (_ - m) / p : (_ + m) / p, + y: + (_ = o * c - s * d) < 0 ? (_ - m) / p : (_ + m) / p, + } + ); + }); + }, + './src/dagre-wrapper/intersect/intersect-node.js': function ( + e, + t + ) { + e.exports = function (e, t) { + return e.intersect(t); + }; + }, + './src/dagre-wrapper/intersect/intersect-polygon.js': function ( + e, + t, + i + ) { + 'use strict'; + i.r(t); + var n = i('./src/dagre-wrapper/intersect/intersect-line.js'); + t.default = function (e, t, i) { + var r = e.x, + s = e.y, + o = [], + a = Number.POSITIVE_INFINITY, + l = Number.POSITIVE_INFINITY; + 'function' == typeof t.forEach + ? t.forEach(function (e) { + (a = Math.min(a, e.x)), (l = Math.min(l, e.y)); + }) + : ((a = Math.min(a, t.x)), (l = Math.min(l, t.y))); + for ( + var c = r - e.width / 2 - a, + d = s - e.height / 2 - l, + h = 0; + h < t.length; + h++ + ) { + var u = t[h], + g = t[h < t.length - 1 ? h + 1 : 0], + f = Object(n.default)( + e, + i, + { x: c + u.x, y: d + u.y }, + { x: c + g.x, y: d + g.y } + ); + f && o.push(f); + } + return o.length + ? (o.length > 1 && + o.sort(function (e, t) { + var n = e.x - i.x, + r = e.y - i.y, + s = Math.sqrt(n * n + r * r), + o = t.x - i.x, + a = t.y - i.y, + l = Math.sqrt(o * o + a * a); + return s < l ? -1 : s === l ? 0 : 1; + }), + o[0]) + : e; + }; + }, + './src/dagre-wrapper/intersect/intersect-rect.js': function ( + e, + t, + i + ) { + 'use strict'; + i.r(t), + (t.default = function (e, t) { + var i, + n, + r = e.x, + s = e.y, + o = t.x - r, + a = t.y - s, + l = e.width / 2, + c = e.height / 2; + return ( + Math.abs(a) * l > Math.abs(o) * c + ? (a < 0 && (c = -c), + (i = 0 === a ? 0 : (c * o) / a), + (n = c)) + : (o < 0 && (l = -l), + (i = l), + (n = 0 === o ? 0 : (l * a) / o)), + { x: r + i, y: s + n } + ); + }); + }, + './src/dagre-wrapper/markers.js': function (e, t, i) { + 'use strict'; + i.r(t); + var n = i('./src/logger.js'), + r = { + extension: function (e, t, i) { + n.log.trace('Making markers for ', i), + e + .append('defs') + .append('marker') + .attr('id', t + '-extensionStart') + .attr('class', 'marker extension ' + t) + .attr('refX', 0) + .attr('refY', 7) + .attr('markerWidth', 190) + .attr('markerHeight', 240) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 1,7 L18,13 V 1 Z'), + e + .append('defs') + .append('marker') + .attr('id', t + '-extensionEnd') + .attr('class', 'marker extension ' + t) + .attr('refX', 19) + .attr('refY', 7) + .attr('markerWidth', 20) + .attr('markerHeight', 28) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 1,1 V 13 L18,7 Z'); + }, + composition: function (e, t) { + e + .append('defs') + .append('marker') + .attr('id', t + '-compositionStart') + .attr('class', 'marker composition ' + t) + .attr('refX', 0) + .attr('refY', 7) + .attr('markerWidth', 190) + .attr('markerHeight', 240) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z'), + e + .append('defs') + .append('marker') + .attr('id', t + '-compositionEnd') + .attr('class', 'marker composition ' + t) + .attr('refX', 19) + .attr('refY', 7) + .attr('markerWidth', 20) + .attr('markerHeight', 28) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z'); + }, + aggregation: function (e, t) { + e + .append('defs') + .append('marker') + .attr('id', t + '-aggregationStart') + .attr('class', 'marker aggregation ' + t) + .attr('refX', 0) + .attr('refY', 7) + .attr('markerWidth', 190) + .attr('markerHeight', 240) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z'), + e + .append('defs') + .append('marker') + .attr('id', t + '-aggregationEnd') + .attr('class', 'marker aggregation ' + t) + .attr('refX', 19) + .attr('refY', 7) + .attr('markerWidth', 20) + .attr('markerHeight', 28) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z'); + }, + dependency: function (e, t) { + e + .append('defs') + .append('marker') + .attr('id', t + '-dependencyStart') + .attr('class', 'marker dependency ' + t) + .attr('refX', 0) + .attr('refY', 7) + .attr('markerWidth', 190) + .attr('markerHeight', 240) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 5,7 L9,13 L1,7 L9,1 Z'), + e + .append('defs') + .append('marker') + .attr('id', t + '-dependencyEnd') + .attr('class', 'marker dependency ' + t) + .attr('refX', 19) + .attr('refY', 7) + .attr('markerWidth', 20) + .attr('markerHeight', 28) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 18,7 L9,13 L14,7 L9,1 Z'); + }, + point: function (e, t) { + e + .append('marker') + .attr('id', t + '-pointEnd') + .attr('class', 'marker ' + t) + .attr('viewBox', '0 0 10 10') + .attr('refX', 9) + .attr('refY', 5) + .attr('markerUnits', 'userSpaceOnUse') + .attr('markerWidth', 12) + .attr('markerHeight', 12) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 0 0 L 10 5 L 0 10 z') + .attr('class', 'arrowMarkerPath') + .style('stroke-width', 1) + .style('stroke-dasharray', '1,0'), + e + .append('marker') + .attr('id', t + '-pointStart') + .attr('class', 'marker ' + t) + .attr('viewBox', '0 0 10 10') + .attr('refX', 0) + .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'); + }, + circle: function (e, t) { + e + .append('marker') + .attr('id', 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', 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'); + }, + cross: function (e, t) { + e + .append('marker') + .attr('id', 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', 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'); + }, + barb: function (e, t) { + e.append('defs') + .append('marker') + .attr('id', 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'); + }, + }; + t.default = function (e, t, i, n) { + t.forEach(function (t) { + r[t](e, i, n); + }); + }; + }, + './src/dagre-wrapper/mermaid-graphlib.js': function (e, t, i) { + 'use strict'; + i.r(t), + i.d(t, 'clusterDb', function () { + return o; + }), + i.d(t, 'clear', function () { + return c; + }), + i.d(t, 'extractDecendants', function () { + return u; + }), + i.d(t, 'validate', function () { + return g; + }), + i.d(t, 'findNonClusterChild', function () { + return f; + }), + i.d(t, 'adjustClustersAndEdges', function () { + return m; + }), + i.d(t, 'extractor', function () { + return _; + }), + i.d(t, 'sortNodesByHierarchy', function () { + return v; + }); + var n = i('./src/logger.js'), + r = i('graphlib'), + s = i.n(r), + o = {}, + a = {}, + l = {}, + c = function () { + (a = {}), (l = {}), (o = {}); + }, + d = function (e, t) { + return ( + n.log.debug( + 'In isDecendant', + t, + ' ', + e, + ' = ', + a[t].indexOf(e) >= 0 + ), + a[t].indexOf(e) >= 0 + ); + }, + h = function e(t, i, r, s) { + n.log.warn( + 'Copying children of ', + t, + 'root', + s, + 'data', + i.node(t), + s + ); + var o = i.children(t) || []; + t !== s && o.push(t), + n.log.warn('Copying (nodes) clusterId', t, 'nodes', o), + o.forEach(function (o) { + if (i.children(o).length > 0) e(o, i, r, s); + else { + var l = i.node(o); + n.log.info('cp ', o, ' to ', s, ' with parent ', t), + r.setNode(o, l), + s !== i.parent(o) && + (n.log.warn('Setting parent', o, i.parent(o)), + r.setParent(o, i.parent(o))), + t !== s && o !== t + ? (n.log.debug('Setting parent', o, t), + r.setParent(o, t)) + : (n.log.info( + 'In copy ', + t, + 'root', + s, + 'data', + i.node(t), + s + ), + n.log.debug( + 'Not Setting parent for node=', + o, + 'cluster!==rootId', + t !== s, + 'node!==clusterId', + o !== t + )); + var c = i.edges(o); + n.log.debug('Copying Edges', c), + c.forEach(function (e) { + n.log.info('Edge', e); + var o = i.edge(e.v, e.w, e.name); + n.log.info('Edge data', o, s); + try { + !(function (e, t) { + return ( + n.log.info( + 'Decendants of ', + t, + ' is ', + a[t] + ), + n.log.info('Edge is ', e), + e.v !== t && + e.w !== t && + (a[t] + ? (n.log.info('Here '), + a[t].indexOf(e.v) >= 0 || + !!d(e.v, t) || + !!d(e.w, t) || + a[t].indexOf(e.w) >= 0) + : (n.log.debug( + 'Tilt, ', + t, + ',not in decendants' + ), + !1)) + ); + })(e, s) + ? n.log.info( + 'Skipping copy of edge ', + e.v, + '--\x3e', + e.w, + ' rootId: ', + s, + ' clusterId:', + t + ) + : (n.log.info( + 'Copying as ', + e.v, + e.w, + o, + e.name + ), + r.setEdge(e.v, e.w, o, e.name), + n.log.info( + 'newGraph edges ', + r.edges(), + r.edge(r.edges()[0]) + )); + } catch (e) { + n.log.error(e); + } + }); + } + n.log.debug('Removing node', o), i.removeNode(o); + }); + }, + u = function e(t, i) { + for ( + var n = i.children(t), r = [].concat(n), s = 0; + s < n.length; + s++ + ) + (l[n[s]] = t), (r = r.concat(e(n[s], i))); + return r; + }, + g = function (e) { + var t = e.edges(); + n.log.trace('Edges: ', t); + for (var i = 0; i < t.length; i++) { + if (e.children(t[i].v).length > 0) + return ( + n.log.trace( + 'The node ', + t[i].v, + ' is part of and edge even though it has children' + ), + !1 + ); + if (e.children(t[i].w).length > 0) + return ( + n.log.trace( + 'The node ', + t[i].w, + ' is part of and edge even though it has children' + ), + !1 + ); + } + return !0; + }, + f = function e(t, i) { + n.log.trace('Searching', t); + var r = i.children(t); + if ( + (n.log.trace('Searching children of id ', t, r), + r.length < 1) + ) + return n.log.trace('This is a valid node', t), t; + for (var s = 0; s < r.length; s++) { + var o = e(r[s], i); + if (o) + return ( + n.log.trace('Found replacement for', t, ' => ', o), o + ); + } + }, + p = function (e) { + return o[e] && o[e].externalConnections && o[e] + ? o[e].id + : e; + }, + m = function (e, t) { + !e || t > 10 + ? n.log.debug('Opting out, no graph ') + : (n.log.debug('Opting in, graph '), + e.nodes().forEach(function (t) { + e.children(t).length > 0 && + (n.log.warn( + 'Cluster identified', + t, + ' Replacement id in edges: ', + f(t, e) + ), + (a[t] = u(t, e)), + (o[t] = { id: f(t, e), clusterData: e.node(t) })); + }), + e.nodes().forEach(function (t) { + var i = e.children(t), + r = e.edges(); + i.length > 0 + ? (n.log.debug('Cluster identified', t, a), + r.forEach(function (e) { + e.v !== t && + e.w !== t && + d(e.v, t) ^ d(e.w, t) && + (n.log.warn( + 'Edge: ', + e, + ' leaves cluster ', + t + ), + n.log.warn( + 'Decendants of XXX ', + t, + ': ', + a[t] + ), + (o[t].externalConnections = !0)); + })) + : n.log.debug('Not a cluster ', t, a); + }), + e.edges().forEach(function (t) { + var i = e.edge(t); + n.log.warn( + 'Edge ' + + t.v + + ' -> ' + + t.w + + ': ' + + JSON.stringify(t) + ), + n.log.warn( + 'Edge ' + + t.v + + ' -> ' + + t.w + + ': ' + + JSON.stringify(e.edge(t)) + ); + var r = t.v, + s = t.w; + n.log.warn( + 'Fix XXX', + o, + 'ids:', + t.v, + t.w, + 'Translateing: ', + o[t.v], + ' --- ', + o[t.w] + ), + (o[t.v] || o[t.w]) && + (n.log.warn( + 'Fixing and trixing - removing XXX', + t.v, + t.w, + t.name + ), + (r = p(t.v)), + (s = p(t.w)), + e.removeEdge(t.v, t.w, t.name), + r !== t.v && (i.fromCluster = t.v), + s !== t.w && (i.toCluster = t.w), + n.log.warn( + 'Fix Replacing with XXX', + r, + s, + t.name + ), + e.setEdge(r, s, i, t.name)); + }), + n.log.warn('Adjusted Graph', s.a.json.write(e)), + _(e, 0), + n.log.trace(o)); + }, + _ = function e(t, i) { + if ( + (n.log.warn( + 'extractor - ', + i, + s.a.json.write(t), + t.children('D') + ), + i > 10) + ) + n.log.error('Bailing out'); + else { + for ( + var r = t.nodes(), a = !1, l = 0; + l < r.length; + l++ + ) { + var c = r[l], + d = t.children(c); + a = a || d.length > 0; + } + if (a) { + n.log.debug('Nodes = ', r, i); + for (var u = 0; u < r.length; u++) { + var g = r[u]; + if ( + (n.log.debug( + 'Extracting node', + g, + o, + o[g] && !o[g].externalConnections, + !t.parent(g), + t.node(g), + t.children('D'), + ' Depth ', + i + ), + o[g]) + ) + if ( + !o[g].externalConnections && + t.children(g) && + t.children(g).length > 0 + ) { + n.log.warn( + 'Cluster without external connections, without a parent and with children', + g, + i + ); + var f = t.graph(), + p = new s.a.Graph({ + multigraph: !0, + compound: !0, + }) + .setGraph({ + rankdir: 'TB' === f.rankdir ? 'LR' : 'TB', + nodesep: 50, + ranksep: 50, + marginx: 8, + marginy: 8, + }) + .setDefaultEdgeLabel(function () { + return {}; + }); + n.log.warn( + 'Old graph before copy', + s.a.json.write(t) + ), + h(g, t, p, g), + t.setNode(g, { + clusterNode: !0, + id: g, + clusterData: o[g].clusterData, + labelText: o[g].labelText, + graph: p, + }), + n.log.warn( + 'New graph after copy node: (', + g, + ')', + s.a.json.write(p) + ), + n.log.debug( + 'Old graph after copy', + s.a.json.write(t) + ); + } else + n.log.warn( + 'Cluster ** ', + g, + ' **not meeting the criteria !externalConnections:', + !o[g].externalConnections, + ' no parent: ', + !t.parent(g), + ' children ', + t.children(g) && t.children(g).length > 0, + t.children('D'), + i + ), + n.log.debug(o); + else n.log.debug('Not a cluster', g, i); + } + (r = t.nodes()), n.log.warn('New list of nodes', r); + for (var m = 0; m < r.length; m++) { + var _ = r[m], + b = t.node(_); + n.log.warn(' Now next level', _, b), + b.clusterNode && e(b.graph, i + 1); + } + } else + n.log.debug('Done, no node has children', t.nodes()); + } + }, + b = function e(t, i) { + if (0 === i.length) return []; + var n = Object.assign(i); + return ( + i.forEach(function (i) { + var r = t.children(i), + s = e(t, r); + n = n.concat(s); + }), + n + ); + }, + v = function (e) { + return b(e, e.children()); + }; + }, + './src/dagre-wrapper/nodes.js': function (e, t, i) { + 'use strict'; + i.r(t), + i.d(t, 'insertNode', function () { + return f; + }), + i.d(t, 'setNodeElem', function () { + return p; + }), + i.d(t, 'clear', function () { + return m; + }), + i.d(t, 'positionNode', function () { + return _; + }); + var n = i('d3'), + r = i('./src/logger.js'), + s = i('./src/dagre-wrapper/shapes/util.js'), + o = i('./src/config.js'), + a = i('./src/dagre-wrapper/intersect/index.js'), + l = i('./src/dagre-wrapper/createLabel.js'), + c = i('./src/dagre-wrapper/shapes/note.js'), + d = i('./src/diagrams/class/svgDraw.js'), + h = function (e, t, i) { + var n = e + .insert('g') + .attr('class', 'node default') + .attr('id', t.domId || t.id), + r = 70, + o = 10; + 'LR' === i && ((r = 10), (o = 70)); + var l = n + .append('rect') + .style('stroke', 'black') + .style('fill', 'black') + .attr('x', (-1 * r) / 2) + .attr('y', (-1 * o) / 2) + .attr('width', r) + .attr('height', o) + .attr('class', 'fork-join'); + return ( + Object(s.updateNodeBounds)(t, l), + (t.height = t.height + t.padding / 2), + (t.width = t.width + t.padding / 2), + (t.intersect = function (e) { + return a.default.rect(t, e); + }), + n + ); + }, + u = { + question: function (e, t) { + var i = Object(s.labelHelper)(e, t, void 0, !0), + n = i.shapeSvg, + o = i.bbox, + l = o.width + t.padding + (o.height + t.padding), + c = [ + { x: l / 2, y: 0 }, + { x: l, y: -l / 2 }, + { x: l / 2, y: -l }, + { x: 0, y: -l / 2 }, + ]; + r.log.info('Question main (Circle)'); + var d = Object(s.insertPolygonShape)(n, l, l, c); + return ( + d.attr('style', t.style), + Object(s.updateNodeBounds)(t, d), + (t.intersect = function (e) { + return ( + r.log.warn('Intersect called'), + a.default.polygon(t, c, e) + ); + }), + n + ); + }, + rect: function (e, t) { + var i = Object(s.labelHelper)( + e, + t, + 'node ' + t.classes, + !0 + ), + n = i.shapeSvg, + o = i.bbox, + l = i.halfPadding; + r.log.trace('Classes = ', t.classes); + var c = n.insert('rect', ':first-child'); + return ( + c + .attr('class', 'basic label-container') + .attr('style', t.style) + .attr('rx', t.rx) + .attr('ry', t.ry) + .attr('x', -o.width / 2 - l) + .attr('y', -o.height / 2 - l) + .attr('width', o.width + t.padding) + .attr('height', o.height + t.padding), + Object(s.updateNodeBounds)(t, c), + (t.intersect = function (e) { + return a.default.rect(t, e); + }), + n + ); + }, + rectWithTitle: function (e, t) { + var i; + i = t.classes ? 'node ' + t.classes : 'node default'; + var c = e + .insert('g') + .attr('class', i) + .attr('id', t.domId || t.id), + d = c.insert('rect', ':first-child'), + h = c.insert('line'), + u = c.insert('g').attr('class', 'label'), + g = t.labelText.flat(); + r.log.info('Label text', g[0]); + var f, + p = u + .node() + .appendChild( + Object(l.default)(g[0], t.labelStyle, !0, !0) + ); + if (Object(o.getConfig)().flowchart.htmlLabels) { + var m = p.children[0], + _ = Object(n.select)(p); + (f = m.getBoundingClientRect()), + _.attr('width', f.width), + _.attr('height', f.height); + } + r.log.info('Text 2', g); + var b = g.slice(1, g.length), + v = p.getBBox(), + y = u + .node() + .appendChild( + Object(l.default)( + b.join('<br/>'), + t.labelStyle, + !0, + !0 + ) + ); + if (Object(o.getConfig)().flowchart.htmlLabels) { + var w = y.children[0], + C = Object(n.select)(y); + (f = w.getBoundingClientRect()), + C.attr('width', f.width), + C.attr('height', f.height); + } + var S = t.padding / 2; + return ( + Object(n.select)(y).attr( + 'transform', + 'translate( ' + + (f.width > v.width ? 0 : (v.width - f.width) / 2) + + ', ' + + (v.height + S + 5) + + ')' + ), + Object(n.select)(p).attr( + 'transform', + 'translate( ' + + (f.width < v.width ? 0 : -(v.width - f.width) / 2) + + ', 0)' + ), + (f = u.node().getBBox()), + u.attr( + 'transform', + 'translate(' + + -f.width / 2 + + ', ' + + (-f.height / 2 - S + 3) + + ')' + ), + d + .attr('class', 'outer title-state') + .attr('x', -f.width / 2 - S) + .attr('y', -f.height / 2 - S) + .attr('width', f.width + t.padding) + .attr('height', f.height + t.padding), + h + .attr('class', 'divider') + .attr('x1', -f.width / 2 - S) + .attr('x2', f.width / 2 + S) + .attr('y1', -f.height / 2 - S + v.height + S) + .attr('y2', -f.height / 2 - S + v.height + S), + Object(s.updateNodeBounds)(t, d), + (t.intersect = function (e) { + return a.default.rect(t, e); + }), + c + ); + }, + circle: function (e, t) { + var i = Object(s.labelHelper)(e, t, void 0, !0), + n = i.shapeSvg, + o = i.bbox, + l = i.halfPadding, + c = n.insert('circle', ':first-child'); + return ( + c + .attr('style', t.style) + .attr('rx', t.rx) + .attr('ry', t.ry) + .attr('r', o.width / 2 + l) + .attr('width', o.width + t.padding) + .attr('height', o.height + t.padding), + r.log.info('Circle main'), + Object(s.updateNodeBounds)(t, c), + (t.intersect = function (e) { + return ( + r.log.info( + 'Circle intersect', + t, + o.width / 2 + l, + e + ), + a.default.circle(t, o.width / 2 + l, e) + ); + }), + n + ); + }, + stadium: function (e, t) { + var i = Object(s.labelHelper)(e, t, void 0, !0), + n = i.shapeSvg, + r = i.bbox, + o = r.height + t.padding, + l = r.width + o / 4 + t.padding, + c = n + .insert('rect', ':first-child') + .attr('style', t.style) + .attr('rx', o / 2) + .attr('ry', o / 2) + .attr('x', -l / 2) + .attr('y', -o / 2) + .attr('width', l) + .attr('height', o); + return ( + Object(s.updateNodeBounds)(t, c), + (t.intersect = function (e) { + return a.default.rect(t, e); + }), + n + ); + }, + hexagon: function (e, t) { + var i = Object(s.labelHelper)(e, t, void 0, !0), + n = i.shapeSvg, + r = i.bbox, + o = r.height + t.padding, + l = o / 4, + c = r.width + 2 * l + t.padding, + d = [ + { x: l, y: 0 }, + { x: c - l, y: 0 }, + { x: c, y: -o / 2 }, + { x: c - l, y: -o }, + { x: l, y: -o }, + { x: 0, y: -o / 2 }, + ], + h = Object(s.insertPolygonShape)(n, c, o, d); + return ( + h.attr('style', t.style), + Object(s.updateNodeBounds)(t, h), + (t.intersect = function (e) { + return a.default.polygon(t, d, e); + }), + n + ); + }, + rect_left_inv_arrow: function (e, t) { + var i = Object(s.labelHelper)(e, t, void 0, !0), + n = i.shapeSvg, + r = i.bbox, + o = r.width + t.padding, + l = r.height + t.padding, + c = [ + { x: -l / 2, y: 0 }, + { x: o, y: 0 }, + { x: o, y: -l }, + { x: -l / 2, y: -l }, + { x: 0, y: -l / 2 }, + ]; + return ( + Object(s.insertPolygonShape)(n, o, l, c).attr( + 'style', + t.style + ), + (t.width = o + l), + (t.height = l), + (t.intersect = function (e) { + return a.default.polygon(t, c, e); + }), + n + ); + }, + lean_right: function (e, t) { + var i = Object(s.labelHelper)(e, t, void 0, !0), + n = i.shapeSvg, + r = i.bbox, + o = r.width + t.padding, + l = r.height + t.padding, + c = [ + { x: (-2 * l) / 6, y: 0 }, + { x: o - l / 6, y: 0 }, + { x: o + (2 * l) / 6, y: -l }, + { x: l / 6, y: -l }, + ], + d = Object(s.insertPolygonShape)(n, o, l, c); + return ( + d.attr('style', t.style), + Object(s.updateNodeBounds)(t, d), + (t.intersect = function (e) { + return a.default.polygon(t, c, e); + }), + n + ); + }, + lean_left: function (e, t) { + var i = Object(s.labelHelper)(e, t, void 0, !0), + n = i.shapeSvg, + r = i.bbox, + o = r.width + t.padding, + l = r.height + t.padding, + c = [ + { x: (2 * l) / 6, y: 0 }, + { x: o + l / 6, y: 0 }, + { x: o - (2 * l) / 6, y: -l }, + { x: -l / 6, y: -l }, + ], + d = Object(s.insertPolygonShape)(n, o, l, c); + return ( + d.attr('style', t.style), + Object(s.updateNodeBounds)(t, d), + (t.intersect = function (e) { + return a.default.polygon(t, c, e); + }), + n + ); + }, + trapezoid: function (e, t) { + var i = Object(s.labelHelper)(e, t, void 0, !0), + n = i.shapeSvg, + r = i.bbox, + o = r.width + t.padding, + l = r.height + t.padding, + c = [ + { x: (-2 * l) / 6, y: 0 }, + { x: o + (2 * l) / 6, y: 0 }, + { x: o - l / 6, y: -l }, + { x: l / 6, y: -l }, + ], + d = Object(s.insertPolygonShape)(n, o, l, c); + return ( + d.attr('style', t.style), + Object(s.updateNodeBounds)(t, d), + (t.intersect = function (e) { + return a.default.polygon(t, c, e); + }), + n + ); + }, + inv_trapezoid: function (e, t) { + var i = Object(s.labelHelper)(e, t, void 0, !0), + n = i.shapeSvg, + r = i.bbox, + o = r.width + t.padding, + l = r.height + t.padding, + c = [ + { x: l / 6, y: 0 }, + { x: o - l / 6, y: 0 }, + { x: o + (2 * l) / 6, y: -l }, + { x: (-2 * l) / 6, y: -l }, + ], + d = Object(s.insertPolygonShape)(n, o, l, c); + return ( + d.attr('style', t.style), + Object(s.updateNodeBounds)(t, d), + (t.intersect = function (e) { + return a.default.polygon(t, c, e); + }), + n + ); + }, + rect_right_inv_arrow: function (e, t) { + var i = Object(s.labelHelper)(e, t, void 0, !0), + n = i.shapeSvg, + r = i.bbox, + o = r.width + t.padding, + l = r.height + t.padding, + c = [ + { x: 0, y: 0 }, + { x: o + l / 2, y: 0 }, + { x: o, y: -l / 2 }, + { x: o + l / 2, y: -l }, + { x: 0, y: -l }, + ], + d = Object(s.insertPolygonShape)(n, o, l, c); + return ( + d.attr('style', t.style), + Object(s.updateNodeBounds)(t, d), + (t.intersect = function (e) { + return a.default.polygon(t, c, e); + }), + n + ); + }, + cylinder: function (e, t) { + var i = Object(s.labelHelper)(e, t, void 0, !0), + n = i.shapeSvg, + r = i.bbox, + o = r.width + t.padding, + l = o / 2, + c = l / (2.5 + o / 50), + d = r.height + c + t.padding, + h = + 'M 0,' + + c + + ' a ' + + l + + ',' + + c + + ' 0,0,0 ' + + o + + ' 0 a ' + + l + + ',' + + c + + ' 0,0,0 ' + + -o + + ' 0 l 0,' + + d + + ' a ' + + l + + ',' + + c + + ' 0,0,0 ' + + o + + ' 0 l 0,' + + -d, + u = n + .attr('label-offset-y', c) + .insert('path', ':first-child') + .attr('style', t.style) + .attr('d', h) + .attr( + 'transform', + 'translate(' + -o / 2 + ',' + -(d / 2 + c) + ')' + ); + return ( + Object(s.updateNodeBounds)(t, u), + (t.intersect = function (e) { + var i = a.default.rect(t, e), + n = i.x - t.x; + if ( + 0 != l && + (Math.abs(n) < t.width / 2 || + (Math.abs(n) == t.width / 2 && + Math.abs(i.y - t.y) > t.height / 2 - c)) + ) { + var r = c * c * (1 - (n * n) / (l * l)); + 0 != r && (r = Math.sqrt(r)), + (r = c - r), + e.y - t.y > 0 && (r = -r), + (i.y += r); + } + return i; + }), + n + ); + }, + start: function (e, t) { + var i = e + .insert('g') + .attr('class', 'node default') + .attr('id', t.domId || t.id), + n = i.insert('circle', ':first-child'); + return ( + n + .attr('class', 'state-start') + .attr('r', 7) + .attr('width', 14) + .attr('height', 14), + Object(s.updateNodeBounds)(t, n), + (t.intersect = function (e) { + return a.default.circle(t, 7, e); + }), + i + ); + }, + end: function (e, t) { + var i = e + .insert('g') + .attr('class', 'node default') + .attr('id', t.domId || t.id), + n = i.insert('circle', ':first-child'), + r = i.insert('circle', ':first-child'); + return ( + r + .attr('class', 'state-start') + .attr('r', 7) + .attr('width', 14) + .attr('height', 14), + n + .attr('class', 'state-end') + .attr('r', 5) + .attr('width', 10) + .attr('height', 10), + Object(s.updateNodeBounds)(t, r), + (t.intersect = function (e) { + return a.default.circle(t, 7, e); + }), + i + ); + }, + note: c.default, + subroutine: function (e, t) { + var i = Object(s.labelHelper)(e, t, void 0, !0), + n = i.shapeSvg, + r = i.bbox, + o = r.width + t.padding, + l = r.height + t.padding, + c = [ + { x: 0, y: 0 }, + { x: o, y: 0 }, + { x: o, y: -l }, + { x: 0, y: -l }, + { x: 0, y: 0 }, + { x: -8, y: 0 }, + { x: o + 8, y: 0 }, + { x: o + 8, y: -l }, + { x: -8, y: -l }, + { x: -8, y: 0 }, + ], + d = Object(s.insertPolygonShape)(n, o, l, c); + return ( + d.attr('style', t.style), + Object(s.updateNodeBounds)(t, d), + (t.intersect = function (e) { + return a.default.polygon(t, c, e); + }), + n + ); + }, + fork: h, + join: h, + class_box: function (e, t) { + var i, + r = t.padding / 2; + i = t.classes ? 'node ' + t.classes : 'node default'; + var c = e + .insert('g') + .attr('class', i) + .attr('id', t.domId || t.id), + h = c.insert('rect', ':first-child'), + u = c.insert('line'), + g = c.insert('line'), + f = 0, + p = 4, + m = c.insert('g').attr('class', 'label'), + _ = 0, + b = + t.classData.annotations && t.classData.annotations[0], + v = t.classData.annotations[0] + ? '«' + t.classData.annotations[0] + '»' + : '', + y = m + .node() + .appendChild( + Object(l.default)(v, t.labelStyle, !0, !0) + ), + w = y.getBBox(); + if (Object(o.getConfig)().flowchart.htmlLabels) { + var C = y.children[0], + S = Object(n.select)(y); + (w = C.getBoundingClientRect()), + S.attr('width', w.width), + S.attr('height', w.height); + } + t.classData.annotations[0] && + ((p += w.height + 4), (f += w.width)); + var k = t.classData.id; + void 0 !== t.classData.type && + '' !== t.classData.type && + (k += '<' + t.classData.type + '>'); + var x = m + .node() + .appendChild( + Object(l.default)(k, t.labelStyle, !0, !0) + ); + Object(n.select)(x).attr('class', 'classTitle'); + var L = x.getBBox(); + if (Object(o.getConfig)().flowchart.htmlLabels) { + var M = x.children[0], + D = Object(n.select)(x); + (L = M.getBoundingClientRect()), + D.attr('width', L.width), + D.attr('height', L.height); + } + (p += L.height + 4), L.width > f && (f = L.width); + var N = []; + t.classData.members.forEach(function (e) { + var i = Object(d.parseMember)(e).displayText, + r = m + .node() + .appendChild( + Object(l.default)(i, t.labelStyle, !0, !0) + ), + s = r.getBBox(); + if (Object(o.getConfig)().flowchart.htmlLabels) { + var a = r.children[0], + c = Object(n.select)(r); + (s = a.getBoundingClientRect()), + c.attr('width', s.width), + c.attr('height', s.height); + } + s.width > f && (f = s.width), + (p += s.height + 4), + N.push(r); + }), + (p += 8); + var E = []; + if ( + (t.classData.methods.forEach(function (e) { + var i = Object(d.parseMember)(e).displayText, + r = m + .node() + .appendChild( + Object(l.default)(i, t.labelStyle, !0, !0) + ), + s = r.getBBox(); + if (Object(o.getConfig)().flowchart.htmlLabels) { + var a = r.children[0], + c = Object(n.select)(r); + (s = a.getBoundingClientRect()), + c.attr('width', s.width), + c.attr('height', s.height); + } + s.width > f && (f = s.width), + (p += s.height + 4), + E.push(r); + }), + (p += 8), + b) + ) { + var T = (f - w.width) / 2; + Object(n.select)(y).attr( + 'transform', + 'translate( ' + + ((-1 * f) / 2 + T) + + ', ' + + (-1 * p) / 2 + + ')' + ), + (_ = w.height + 4); + } + var I = (f - L.width) / 2; + return ( + Object(n.select)(x).attr( + 'transform', + 'translate( ' + + ((-1 * f) / 2 + I) + + ', ' + + ((-1 * p) / 2 + _) + + ')' + ), + (_ += L.height + 4), + u + .attr('class', 'divider') + .attr('x1', -f / 2 - r) + .attr('x2', f / 2 + r) + .attr('y1', -p / 2 - r + 8 + _) + .attr('y2', -p / 2 - r + 8 + _), + (_ += 8), + N.forEach(function (e) { + Object(n.select)(e).attr( + 'transform', + 'translate( ' + + -f / 2 + + ', ' + + ((-1 * p) / 2 + _ + 4) + + ')' + ), + (_ += L.height + 4); + }), + (_ += 8), + g + .attr('class', 'divider') + .attr('x1', -f / 2 - r) + .attr('x2', f / 2 + r) + .attr('y1', -p / 2 - r + 8 + _) + .attr('y2', -p / 2 - r + 8 + _), + (_ += 8), + E.forEach(function (e) { + Object(n.select)(e).attr( + 'transform', + 'translate( ' + + -f / 2 + + ', ' + + ((-1 * p) / 2 + _) + + ')' + ), + (_ += L.height + 4); + }), + h + .attr('class', 'outer title-state') + .attr('x', -f / 2 - r) + .attr('y', -p / 2 - r) + .attr('width', f + t.padding) + .attr('height', p + t.padding), + Object(s.updateNodeBounds)(t, h), + (t.intersect = function (e) { + return a.default.rect(t, e); + }), + c + ); + }, + }, + g = {}, + f = function (e, t, i) { + var n, r; + t.link + ? ((n = e + .insert('svg:a') + .attr('xlink:href', t.link) + .attr('target', t.linkTarget || '_blank')), + (r = u[t.shape](n, t, i))) + : (n = r = u[t.shape](e, t, i)), + t.tooltip && r.attr('title', t.tooltip), + t.class && r.attr('class', 'node default ' + t.class), + (g[t.id] = n), + t.haveCallback && + g[t.id].attr( + 'class', + g[t.id].attr('class') + ' clickable' + ); + }, + p = function (e, t) { + g[t.id] = e; + }, + m = function () { + g = {}; + }, + _ = function (e) { + var t = g[e.id]; + r.log.trace( + 'Transforming node', + e, + 'translate(' + + (e.x - e.width / 2 - 5) + + ', ' + + (e.y - e.height / 2 - 5) + + ')' + ), + e.clusterNode + ? t.attr( + 'transform', + 'translate(' + + (e.x - e.width / 2 - 8) + + ', ' + + (e.y - e.height / 2 - 8) + + ')' + ) + : t.attr( + 'transform', + 'translate(' + e.x + ', ' + e.y + ')' + ); + }; + }, + './src/dagre-wrapper/shapes/note.js': function (e, t, i) { + 'use strict'; + i.r(t); + var n = i('./src/dagre-wrapper/shapes/util.js'), + r = i('./src/logger.js'), + s = i('./src/dagre-wrapper/intersect/index.js'); + t.default = function (e, t) { + var i = Object(n.labelHelper)(e, t, 'node ' + t.classes, !0), + o = i.shapeSvg, + a = i.bbox, + l = i.halfPadding; + r.log.info('Classes = ', t.classes); + var c = o.insert('rect', ':first-child'); + return ( + c + .attr('rx', t.rx) + .attr('ry', t.ry) + .attr('x', -a.width / 2 - l) + .attr('y', -a.height / 2 - l) + .attr('width', a.width + t.padding) + .attr('height', a.height + t.padding), + Object(n.updateNodeBounds)(t, c), + (t.intersect = function (e) { + return s.default.rect(t, e); + }), + o + ); + }; + }, + './src/dagre-wrapper/shapes/util.js': function (e, t, i) { + 'use strict'; + i.r(t), + i.d(t, 'labelHelper', function () { + return o; + }), + i.d(t, 'updateNodeBounds', function () { + return a; + }), + i.d(t, 'insertPolygonShape', function () { + return l; + }); + var n = i('./src/dagre-wrapper/createLabel.js'), + r = i('./src/config.js'), + s = i('d3'), + o = function (e, t, i, o) { + var a; + a = i || 'node default'; + var l = e + .insert('g') + .attr('class', a) + .attr('id', t.domId || t.id), + c = l + .insert('g') + .attr('class', 'label') + .attr('style', t.labelStyle), + d = c + .node() + .appendChild( + Object(n.default)(t.labelText, t.labelStyle, !1, o) + ), + h = d.getBBox(); + if (Object(r.getConfig)().flowchart.htmlLabels) { + var u = d.children[0], + g = Object(s.select)(d); + (h = u.getBoundingClientRect()), + g.attr('width', h.width), + g.attr('height', h.height); + } + var f = t.padding / 2; + return ( + c.attr( + 'transform', + 'translate(' + -h.width / 2 + ', ' + -h.height / 2 + ')' + ), + { shapeSvg: l, bbox: h, halfPadding: f, label: c } + ); + }, + a = function (e, t) { + var i = t.node().getBBox(); + (e.width = i.width), (e.height = i.height); + }; + function l(e, t, i, n) { + return e + .insert('polygon', ':first-child') + .attr( + 'points', + n + .map(function (e) { + return e.x + ',' + e.y; + }) + .join(' ') + ) + .attr('class', 'label-container') + .attr( + 'transform', + 'translate(' + -t / 2 + ',' + i / 2 + ')' + ); + } + }, + './src/defaultConfig.js': function (e, t, i) { + 'use strict'; + i.r(t); + var n = { + theme: 'default', + themeVariables: i( + './src/themes/index.js' + ).default.default.getThemeVariables(), + themeCSS: void 0, + maxTextSize: 5e4, + fontFamily: '"trebuchet ms", verdana, arial, sans-serif;', + logLevel: 5, + securityLevel: 'strict', + startOnLoad: !0, + arrowMarkerAbsolute: !1, + secure: [ + 'secure', + 'securityLevel', + 'startOnLoad', + 'maxTextSize', + ], + deterministicIds: !1, + deterministicIDSeed: void 0, + flowchart: { + diagramPadding: 8, + htmlLabels: !0, + nodeSpacing: 50, + rankSpacing: 50, + curve: 'basis', + padding: 15, + useMaxWidth: !0, + }, + sequence: { + activationWidth: 10, + diagramMarginX: 50, + diagramMarginY: 10, + actorMargin: 50, + width: 150, + height: 65, + boxMargin: 10, + boxTextMargin: 5, + noteMargin: 10, + messageMargin: 35, + messageAlign: 'center', + mirrorActors: !0, + bottomMarginAdj: 1, + useMaxWidth: !0, + rightAngles: !1, + showSequenceNumbers: !1, + actorFontSize: 14, + actorFontFamily: '"Open-Sans", "sans-serif"', + actorFontWeight: 400, + noteFontSize: 14, + noteFontFamily: + '"trebuchet ms", verdana, arial, sans-serif', + noteFontWeight: 400, + noteAlign: 'center', + messageFontSize: 16, + messageFontFamily: + '"trebuchet ms", verdana, arial, sans-serif', + messageFontWeight: 400, + wrap: !1, + wrapPadding: 10, + labelBoxWidth: 50, + labelBoxHeight: 20, + messageFont: function () { + return { + fontFamily: this.messageFontFamily, + fontSize: this.messageFontSize, + fontWeight: this.messageFontWeight, + }; + }, + noteFont: function () { + return { + fontFamily: this.noteFontFamily, + fontSize: this.noteFontSize, + fontWeight: this.noteFontWeight, + }; + }, + actorFont: function () { + return { + fontFamily: this.actorFontFamily, + fontSize: this.actorFontSize, + fontWeight: this.actorFontWeight, + }; + }, + }, + gantt: { + titleTopMargin: 25, + barHeight: 20, + barGap: 4, + topPadding: 50, + rightPadding: 75, + leftPadding: 75, + gridLineStartPadding: 35, + fontSize: 11, + sectionFontSize: 11, + numberSectionStyles: 4, + axisFormat: '%Y-%m-%d', + useMaxWidth: !0, + topAxis: !1, + useWidth: void 0, + }, + journey: { + diagramMarginX: 50, + diagramMarginY: 10, + leftMargin: 150, + width: 150, + height: 50, + boxMargin: 10, + boxTextMargin: 5, + noteMargin: 10, + messageMargin: 35, + messageAlign: 'center', + bottomMarginAdj: 1, + useMaxWidth: !0, + rightAngles: !1, + taskFontSize: 14, + taskFontFamily: '"Open-Sans", "sans-serif"', + taskMargin: 50, + activationWidth: 10, + textPlacement: 'fo', + actorColours: [ + '#8FBC8F', + '#7CFC00', + '#00FFFF', + '#20B2AA', + '#B0E0E6', + '#FFFFE0', + ], + sectionFills: [ + '#191970', + '#8B008B', + '#4B0082', + '#2F4F4F', + '#800000', + '#8B4513', + '#00008B', + ], + sectionColours: ['#fff'], + }, + class: { arrowMarkerAbsolute: !1, useMaxWidth: !0 }, + git: { + arrowMarkerAbsolute: !1, + useWidth: void 0, + useMaxWidth: !0, + }, + state: { + dividerMargin: 10, + sizeUnit: 5, + padding: 8, + textHeight: 10, + titleShift: -15, + noteMargin: 10, + forkWidth: 70, + forkHeight: 7, + miniPadding: 2, + fontSizeFactor: 5.02, + fontSize: 24, + labelHeight: 16, + edgeLengthFactor: '20', + compositTitleSize: 35, + radius: 5, + useMaxWidth: !0, + }, + er: { + diagramPadding: 20, + layoutDirection: 'TB', + minEntityWidth: 100, + minEntityHeight: 75, + entityPadding: 15, + stroke: 'gray', + fill: 'honeydew', + fontSize: 12, + useMaxWidth: !0, + }, + pie: { useWidth: void 0, useMaxWidth: !0 }, + requirement: { + useWidth: void 0, + useMaxWidth: !0, + rect_fill: '#f9f9f9', + text_color: '#333', + rect_border_size: '0.5px', + rect_border_color: '#bbb', + rect_min_width: 200, + rect_min_height: 200, + fontSize: 14, + rect_padding: 10, + line_height: 20, + }, + }; + (n.class.arrowMarkerAbsolute = n.arrowMarkerAbsolute), + (n.git.arrowMarkerAbsolute = n.arrowMarkerAbsolute), + (t.default = n); + }, + './src/diagrams/class/classDb.js': function (e, t, i) { + 'use strict'; + i.r(t), + i.d(t, 'parseDirective', function () { + return f; + }), + i.d(t, 'addClass', function () { + return m; + }), + i.d(t, 'lookUpDomId', function () { + return _; + }), + i.d(t, 'clear', function () { + return b; + }), + i.d(t, 'getClass', function () { + return v; + }), + i.d(t, 'getClasses', function () { + return y; + }), + i.d(t, 'getRelations', function () { + return w; + }), + i.d(t, 'addRelation', function () { + return C; + }), + i.d(t, 'addAnnotation', function () { + return S; + }), + i.d(t, 'addMember', function () { + return k; + }), + i.d(t, 'addMembers', function () { + return x; + }), + i.d(t, 'cleanupLabel', function () { + return L; + }), + i.d(t, 'setCssClass', function () { + return M; + }), + i.d(t, 'setLink', function () { + return D; + }), + i.d(t, 'setClickEvent', function () { + return N; + }), + i.d(t, 'bindFunctions', function () { + return T; + }), + i.d(t, 'lineType', function () { + return I; + }), + i.d(t, 'relationType', function () { + return O; + }); + var n = i('d3'), + r = i('./src/logger.js'), + s = i('./src/config.js'), + o = i('./src/diagrams/common/common.js'), + a = i('./src/utils.js'), + l = i('./src/mermaidAPI.js'); + var c = 'classid-', + d = [], + h = {}, + u = 0, + g = [], + f = function (e, t, i) { + l.default.parseDirective(this, e, t, i); + }, + p = function (e) { + var t = '', + i = e; + if (e.indexOf('~') > 0) { + var n = e.split('~'); + (i = n[0]), (t = n[1]); + } + return { className: i, type: t }; + }, + m = function (e) { + var t = p(e); + void 0 === h[t.className] && + ((h[t.className] = { + id: t.className, + type: t.type, + cssClasses: [], + methods: [], + members: [], + annotations: [], + domId: c + t.className + '-' + u, + }), + u++); + }, + _ = function (e) { + for (var t = Object.keys(h), i = 0; i < t.length; i++) + if (h[t[i]].id === e) return h[t[i]].domId; + }, + b = function () { + (d = []), (h = {}), (g = []).push(A); + }, + v = function (e) { + return h[e]; + }, + y = function () { + return h; + }, + w = function () { + return d; + }, + C = function (e) { + r.log.debug('Adding relation: ' + JSON.stringify(e)), + m(e.id1), + m(e.id2), + (e.id1 = p(e.id1).className), + (e.id2 = p(e.id2).className), + d.push(e); + }, + S = function (e, t) { + var i = p(e).className; + h[i].annotations.push(t); + }, + k = function (e, t) { + var i = p(e).className, + n = h[i]; + if ('string' == typeof t) { + var r = t.trim(); + r.startsWith('<<') && r.endsWith('>>') + ? n.annotations.push(r.substring(2, r.length - 2)) + : r.indexOf(')') > 0 + ? n.methods.push(r) + : r && n.members.push(r); + } + }, + x = function (e, t) { + Array.isArray(t) && + (t.reverse(), + t.forEach(function (t) { + return k(e, t); + })); + }, + L = function (e) { + return ':' === e.substring(0, 1) + ? e.substr(1).trim() + : e.trim(); + }, + M = function (e, t) { + e.split(',').forEach(function (e) { + var i = e; + e[0].match(/\d/) && (i = c + i), + void 0 !== h[i] && h[i].cssClasses.push(t); + }); + }, + D = function (e, t, i) { + var n = s.getConfig(); + e.split(',').forEach(function (e) { + var r = e; + e[0].match(/\d/) && (r = c + r), + void 0 !== h[r] && + ((h[r].link = a.default.formatUrl(t, n)), + (h[r].linkTarget = + 'string' == typeof i ? i : '_blank')); + }), + M(e, 'clickable'); + }, + N = function (e, t, i) { + e.split(',').forEach(function (e) { + E(e, t, i), (h[e].haveCallback = !0); + }), + M(e, 'clickable'); + }, + E = function (e, t, i) { + var n = s.getConfig(), + r = e, + o = _(r); + if ( + 'loose' === n.securityLevel && + void 0 !== t && + void 0 !== h[r] + ) { + var l = []; + if ('string' == typeof i) { + l = i.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/); + for (var c = 0; c < l.length; c++) { + var d = l[c].trim(); + '"' === d.charAt(0) && + '"' === d.charAt(d.length - 1) && + (d = d.substr(1, d.length - 2)), + (l[c] = d); + } + } + 0 === l.length && l.push(o), + g.push(function () { + var e = document.querySelector( + '[id="'.concat(o, '"]') + ); + null !== e && + e.addEventListener( + 'click', + function () { + var e; + a.default.runFunc.apply( + a.default, + [t].concat( + (function (e) { + if (Array.isArray(e)) { + for ( + var t = 0, i = new Array(e.length); + t < e.length; + t++ + ) + i[t] = e[t]; + return i; + } + })((e = l)) || + (function (e) { + if ( + Symbol.iterator in Object(e) || + '[object Arguments]' === + Object.prototype.toString.call(e) + ) + return Array.from(e); + })(e) || + (function () { + throw new TypeError( + 'Invalid attempt to spread non-iterable instance' + ); + })() + ) + ); + }, + !1 + ); + }); + } + }, + T = function (e) { + g.forEach(function (t) { + t(e); + }); + }, + I = { LINE: 0, DOTTED_LINE: 1 }, + O = { + AGGREGATION: 0, + EXTENSION: 1, + COMPOSITION: 2, + DEPENDENCY: 3, + }, + A = function (e) { + var t = Object(n.select)('.mermaidTooltip'); + null === (t._groups || t)[0][0] && + (t = Object(n.select)('body') + .append('div') + .attr('class', 'mermaidTooltip') + .style('opacity', 0)), + Object(n.select)(e) + .select('svg') + .selectAll('g.node') + .on('mouseover', function () { + var e = Object(n.select)(this); + if (null !== e.attr('title')) { + var i = this.getBoundingClientRect(); + t.transition().duration(200).style('opacity', '.9'), + t + .html(e.attr('title')) + .style( + 'left', + window.scrollX + + i.left + + (i.right - i.left) / 2 + + 'px' + ) + .style( + 'top', + window.scrollY + + i.top - + 14 + + document.body.scrollTop + + 'px' + ), + e.classed('hover', !0); + } + }) + .on('mouseout', function () { + t.transition().duration(500).style('opacity', 0), + Object(n.select)(this).classed('hover', !1); + }); + }; + g.push(A), + (t.default = { + parseDirective: f, + getConfig: function () { + return s.getConfig().class; + }, + addClass: m, + bindFunctions: T, + clear: b, + getClass: v, + getClasses: y, + addAnnotation: S, + getRelations: w, + addRelation: C, + addMember: k, + addMembers: x, + cleanupLabel: L, + lineType: I, + relationType: O, + setClickEvent: N, + setCssClass: M, + setLink: D, + setTooltip: function (e, t) { + var i = s.getConfig(); + e.split(',').forEach(function (e) { + void 0 !== t && + (h[e].tooltip = o.default.sanitizeText(t, i)); + }); + }, + lookUpDomId: _, + }); + }, + './src/diagrams/class/classRenderer-v2.js': function (e, t, i) { + 'use strict'; + i.r(t), + i.d(t, 'addClasses', function () { + return b; + }), + i.d(t, 'addRelations', function () { + return v; + }), + i.d(t, 'setConf', function () { + return w; + }), + i.d(t, 'drawOld', function () { + return C; + }), + i.d(t, 'draw', function () { + return S; + }); + var n = i('d3'), + r = i('dagre'), + s = i.n(r), + o = i('graphlib'), + a = i.n(o), + l = i('./src/logger.js'), + c = i('./src/diagrams/class/classDb.js'), + d = i('./src/diagrams/class/parser/classDiagram.jison'), + h = i('./src/diagrams/class/svgDraw.js'), + u = i('./src/config.js'), + g = i('./src/dagre-wrapper/index.js'), + f = i('./src/utils.js'), + p = i('./src/diagrams/common/common.js'); + d.parser.yy = c.default; + var m = {}, + _ = { dividerMargin: 10, padding: 5, textHeight: 10 }, + b = function (e, t) { + var i = Object.keys(e); + l.log.info('keys:', i), + l.log.info(e), + i.forEach(function (i) { + var n = e[i], + r = ''; + n.cssClasses.length > 0 && + (r = r + ' ' + n.cssClasses.join(' ')); + var s = { labelStyle: '' }, + o = void 0 !== n.text ? n.text : n.id, + a = ''; + switch (n.type) { + case 'class': + a = 'class_box'; + break; + default: + a = 'class_box'; + } + t.setNode(n.id, { + labelStyle: s.labelStyle, + shape: a, + labelText: o, + classData: n, + rx: 0, + ry: 0, + class: r, + style: s.style, + id: n.id, + domId: n.domId, + haveCallback: n.haveCallback, + link: n.link, + width: 'group' === n.type ? 500 : void 0, + type: n.type, + padding: Object(u.getConfig)().flowchart.padding, + }), + l.log.info('setNode', { + labelStyle: s.labelStyle, + shape: a, + labelText: o, + rx: 0, + ry: 0, + class: r, + style: s.style, + id: n.id, + width: 'group' === n.type ? 500 : void 0, + type: n.type, + padding: Object(u.getConfig)().flowchart.padding, + }); + }); + }, + v = function (e, t) { + var i = 0; + e.forEach(function (r) { + i++; + var s = { classes: 'relation' }; + (s.pattern = + 1 == r.relation.lineType ? 'dashed' : 'solid'), + (s.id = 'id' + i), + 'arrow_open' === r.type + ? (s.arrowhead = 'none') + : (s.arrowhead = 'normal'), + l.log.info(s, r), + (s.startLabelRight = + 'none' === r.relationTitle1 ? '' : r.relationTitle1), + (s.endLabelLeft = + 'none' === r.relationTitle2 ? '' : r.relationTitle2), + (s.arrowTypeStart = k(r.relation.type1)), + (s.arrowTypeEnd = k(r.relation.type2)); + var o = '', + a = ''; + if (void 0 !== r.style) { + var c = Object(f.getStylesFromArray)(r.style); + (o = c.style), (a = c.labelStyle); + } else o = 'fill:none'; + (s.style = o), + (s.labelStyle = a), + void 0 !== r.interpolate + ? (s.curve = Object(f.interpolateToCurve)( + r.interpolate, + n.curveLinear + )) + : void 0 !== e.defaultInterpolate + ? (s.curve = Object(f.interpolateToCurve)( + e.defaultInterpolate, + n.curveLinear + )) + : (s.curve = Object(f.interpolateToCurve)( + _.curve, + n.curveLinear + )), + (r.text = r.title), + void 0 === r.text + ? void 0 !== r.style && + (s.arrowheadStyle = 'fill: #333') + : ((s.arrowheadStyle = 'fill: #333'), + (s.labelpos = 'c'), + Object(u.getConfig)().flowchart.htmlLabels, + (s.labelType = 'text'), + (s.label = r.text.replace( + p.default.lineBreakRegex, + '\n' + )), + void 0 === r.style && + (s.style = + s.style || + 'stroke: #333; stroke-width: 1.5px;fill:none'), + (s.labelStyle = s.labelStyle.replace( + 'color:', + 'fill:' + ))), + t.setEdge(r.id1, r.id2, s, i); + }); + }, + y = function (e) { + for (var t = Object.keys(m), i = 0; i < t.length; i++) + if (m[t[i]].label === e) return t[i]; + }, + w = function (e) { + Object.keys(e).forEach(function (t) { + _[t] = e[t]; + }); + }, + C = function (e, t) { + (m = {}), + d.parser.yy.clear(), + d.parser.parse(e), + l.log.info('Rendering diagram ' + e); + var i = Object(n.select)("[id='".concat(t, "']")), + r = new a.a.Graph({ multigraph: !0 }); + r.setGraph({ isMultiGraph: !0 }), + r.setDefaultEdgeLabel(function () { + return {}; + }); + var o = c.default.getClasses(); + l.log.info('classes:'), l.log.info(o); + for (var u = Object.keys(o), g = 0; g < u.length; g++) { + var p = o[u[g]], + b = h.default.drawClass(i, p, _); + (m[b.id] = b), + r.setNode(b.id, b), + l.log.info('Org height: ' + b.height); + } + var v = c.default.getRelations(); + l.log.info('relations:', v), + v.forEach(function (e) { + l.log.info( + 'tjoho' + y(e.id1) + y(e.id2) + JSON.stringify(e) + ), + r.setEdge( + y(e.id1), + y(e.id2), + { relation: e }, + e.title || 'DEFAULT' + ); + }), + s.a.layout(r), + r.nodes().forEach(function (e) { + void 0 !== e && + void 0 !== r.node(e) && + (l.log.debug( + 'Node ' + e + ': ' + JSON.stringify(r.node(e)) + ), + Object(n.select)('#' + Object(c.lookUpDomId)(e)).attr( + 'transform', + 'translate(' + + (r.node(e).x - r.node(e).width / 2) + + ',' + + (r.node(e).y - r.node(e).height / 2) + + ' )' + )); + }), + r.edges().forEach(function (e) { + void 0 !== e && + void 0 !== r.edge(e) && + (l.log.debug( + 'Edge ' + + e.v + + ' -> ' + + e.w + + ': ' + + JSON.stringify(r.edge(e)) + ), + h.default.drawEdge( + i, + r.edge(e), + r.edge(e).relation, + _ + )); + }); + var w = i.node().getBBox(), + C = w.width + 40, + S = w.height + 40; + Object(f.configureSvgSize)(i, S, C, _.useMaxWidth); + var k = '' + .concat(w.x - 20, ' ') + .concat(w.y - 20, ' ') + .concat(C, ' ') + .concat(S); + l.log.debug('viewBox '.concat(k)), i.attr('viewBox', k); + }, + S = function (e, t) { + l.log.info('Drawing class'), + c.default.clear(), + d.parser.parse(e); + var i = Object(u.getConfig)().flowchart; + l.log.info('config:', i); + var r = i.nodeSpacing || 50, + s = i.rankSpacing || 50, + o = new a.a.Graph({ multigraph: !0, compound: !0 }) + .setGraph({ + rankdir: 'TD', + nodesep: r, + ranksep: s, + marginx: 8, + marginy: 8, + }) + .setDefaultEdgeLabel(function () { + return {}; + }), + h = c.default.getClasses(), + p = c.default.getRelations(); + l.log.info(p), b(h, o, t), v(p, o); + var m = Object(n.select)('[id="'.concat(t, '"]')); + m.attr('xmlns:xlink', 'http://www.w3.org/1999/xlink'); + var _ = Object(n.select)('#' + t + ' g'); + Object(g.render)( + _, + o, + ['aggregation', 'extension', 'composition', 'dependency'], + 'classDiagram', + t + ); + var y = m.node().getBBox(), + w = y.width + 16, + C = y.height + 16; + if ( + (l.log.debug( + 'new ViewBox 0 0 '.concat(w, ' ').concat(C), + 'translate(' + .concat(8 - o._label.marginx, ', ') + .concat(8 - o._label.marginy, ')') + ), + Object(f.configureSvgSize)(m, C, w, i.useMaxWidth), + m.attr('viewBox', '0 0 '.concat(w, ' ').concat(C)), + m + .select('g') + .attr( + 'transform', + 'translate(' + .concat(8 - o._label.marginx, ', ') + .concat(8 - y.y, ')') + ), + !i.htmlLabels) + ) + for ( + var S = document.querySelectorAll( + '[id="' + t + '"] .edgeLabel .label' + ), + k = 0; + k < S.length; + k++ + ) { + var x = S[k], + L = x.getBBox(), + M = document.createElementNS( + 'http://www.w3.org/2000/svg', + 'rect' + ); + M.setAttribute('rx', 0), + M.setAttribute('ry', 0), + M.setAttribute('width', L.width), + M.setAttribute('height', L.height), + M.setAttribute('style', 'fill:#e8e8e8;'), + x.insertBefore(M, x.firstChild); + } + }; + function k(e) { + var t; + switch (e) { + case 0: + t = 'aggregation'; + break; + case 1: + t = 'extension'; + break; + case 2: + t = 'composition'; + break; + case 3: + t = 'dependency'; + break; + default: + t = 'none'; + } + return t; + } + t.default = { setConf: w, draw: S }; + }, + './src/diagrams/class/classRenderer.js': function (e, t, i) { + 'use strict'; + i.r(t), + i.d(t, 'setConf', function () { + return m; + }), + i.d(t, 'draw', function () { + return _; + }); + var n = i('d3'), + r = i('dagre'), + s = i.n(r), + o = i('graphlib'), + a = i.n(o), + l = i('./src/logger.js'), + c = i('./src/diagrams/class/classDb.js'), + d = i('./src/diagrams/class/parser/classDiagram.jison'), + h = i('./src/diagrams/class/svgDraw.js'), + u = i('./src/utils.js'); + d.parser.yy = c.default; + var g = {}, + f = { dividerMargin: 10, padding: 5, textHeight: 10 }, + p = function (e) { + for (var t = Object.keys(g), i = 0; i < t.length; i++) + if (g[t[i]].label === e) return t[i]; + }, + m = function (e) { + Object.keys(e).forEach(function (t) { + f[t] = e[t]; + }); + }, + _ = function (e, t) { + (g = {}), + d.parser.yy.clear(), + d.parser.parse(e), + l.log.info('Rendering diagram ' + e); + var i, + r = Object(n.select)("[id='".concat(t, "']")); + r.attr('xmlns:xlink', 'http://www.w3.org/1999/xlink'), + (i = r) + .append('defs') + .append('marker') + .attr('id', 'extensionStart') + .attr('class', 'extension') + .attr('refX', 0) + .attr('refY', 7) + .attr('markerWidth', 190) + .attr('markerHeight', 240) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 1,7 L18,13 V 1 Z'), + i + .append('defs') + .append('marker') + .attr('id', 'extensionEnd') + .attr('refX', 19) + .attr('refY', 7) + .attr('markerWidth', 20) + .attr('markerHeight', 28) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 1,1 V 13 L18,7 Z'), + i + .append('defs') + .append('marker') + .attr('id', 'compositionStart') + .attr('class', 'extension') + .attr('refX', 0) + .attr('refY', 7) + .attr('markerWidth', 190) + .attr('markerHeight', 240) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z'), + i + .append('defs') + .append('marker') + .attr('id', 'compositionEnd') + .attr('refX', 19) + .attr('refY', 7) + .attr('markerWidth', 20) + .attr('markerHeight', 28) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z'), + i + .append('defs') + .append('marker') + .attr('id', 'aggregationStart') + .attr('class', 'extension') + .attr('refX', 0) + .attr('refY', 7) + .attr('markerWidth', 190) + .attr('markerHeight', 240) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z'), + i + .append('defs') + .append('marker') + .attr('id', 'aggregationEnd') + .attr('refX', 19) + .attr('refY', 7) + .attr('markerWidth', 20) + .attr('markerHeight', 28) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z'), + i + .append('defs') + .append('marker') + .attr('id', 'dependencyStart') + .attr('class', 'extension') + .attr('refX', 0) + .attr('refY', 7) + .attr('markerWidth', 190) + .attr('markerHeight', 240) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 5,7 L9,13 L1,7 L9,1 Z'), + i + .append('defs') + .append('marker') + .attr('id', 'dependencyEnd') + .attr('refX', 19) + .attr('refY', 7) + .attr('markerWidth', 20) + .attr('markerHeight', 28) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 18,7 L9,13 L14,7 L9,1 Z'); + var o = new a.a.Graph({ multigraph: !0 }); + o.setGraph({ isMultiGraph: !0 }), + o.setDefaultEdgeLabel(function () { + return {}; + }); + for ( + var m = c.default.getClasses(), _ = Object.keys(m), b = 0; + b < _.length; + b++ + ) { + var v = m[_[b]], + y = h.default.drawClass(r, v, f); + (g[y.id] = y), + o.setNode(y.id, y), + l.log.info('Org height: ' + y.height); + } + c.default.getRelations().forEach(function (e) { + l.log.info( + 'tjoho' + p(e.id1) + p(e.id2) + JSON.stringify(e) + ), + o.setEdge( + p(e.id1), + p(e.id2), + { relation: e }, + e.title || 'DEFAULT' + ); + }), + s.a.layout(o), + o.nodes().forEach(function (e) { + void 0 !== e && + void 0 !== o.node(e) && + (l.log.debug( + 'Node ' + e + ': ' + JSON.stringify(o.node(e)) + ), + Object(n.select)('#' + Object(c.lookUpDomId)(e)).attr( + 'transform', + 'translate(' + + (o.node(e).x - o.node(e).width / 2) + + ',' + + (o.node(e).y - o.node(e).height / 2) + + ' )' + )); + }), + o.edges().forEach(function (e) { + void 0 !== e && + void 0 !== o.edge(e) && + (l.log.debug( + 'Edge ' + + e.v + + ' -> ' + + e.w + + ': ' + + JSON.stringify(o.edge(e)) + ), + h.default.drawEdge( + r, + o.edge(e), + o.edge(e).relation, + f + )); + }); + var w = r.node().getBBox(), + C = w.width + 40, + S = w.height + 40; + Object(u.configureSvgSize)(r, S, C, f.useMaxWidth); + var k = '' + .concat(w.x - 20, ' ') + .concat(w.y - 20, ' ') + .concat(C, ' ') + .concat(S); + l.log.debug('viewBox '.concat(k)), r.attr('viewBox', k); + }; + t.default = { setConf: m, draw: _ }; + }, + './src/diagrams/class/parser/classDiagram.jison': function ( + e, + t, + i + ) { + (function (e, n) { + var r = (function () { + var e = function (e, t, i, n) { + for (i = i || {}, n = e.length; n--; i[e[n]] = t); + return i; + }, + t = [1, 7], + i = [1, 6], + n = [1, 14], + r = [1, 25], + s = [1, 28], + o = [1, 26], + a = [1, 27], + l = [1, 29], + c = [1, 30], + d = [1, 31], + h = [1, 32], + u = [1, 35], + g = [1, 36], + f = [1, 37], + p = [1, 38], + m = [10, 19], + _ = [1, 50], + b = [1, 51], + v = [1, 52], + y = [1, 53], + w = [1, 54], + C = [1, 55], + S = [ + 10, + 19, + 26, + 33, + 34, + 42, + 45, + 46, + 47, + 48, + 49, + 50, + 55, + 57, + ], + k = [ + 10, + 19, + 24, + 26, + 33, + 34, + 38, + 42, + 45, + 46, + 47, + 48, + 49, + 50, + 55, + 57, + 72, + 73, + 74, + 75, + ], + x = [10, 13, 17, 19], + L = [42, 72, 73, 74, 75], + M = [42, 49, 50, 72, 73, 74, 75], + D = [42, 45, 46, 47, 48, 72, 73, 74, 75], + N = [10, 19, 26], + E = [1, 87], + T = { + trace: function () {}, + yy: {}, + symbols_: { + error: 2, + start: 3, + mermaidDoc: 4, + directive: 5, + graphConfig: 6, + openDirective: 7, + typeDirective: 8, + closeDirective: 9, + NEWLINE: 10, + ':': 11, + argDirective: 12, + open_directive: 13, + type_directive: 14, + arg_directive: 15, + close_directive: 16, + CLASS_DIAGRAM: 17, + statements: 18, + EOF: 19, + statement: 20, + className: 21, + alphaNumToken: 22, + classLiteralName: 23, + GENERICTYPE: 24, + relationStatement: 25, + LABEL: 26, + classStatement: 27, + methodStatement: 28, + annotationStatement: 29, + clickStatement: 30, + cssClassStatement: 31, + CLASS: 32, + STYLE_SEPARATOR: 33, + STRUCT_START: 34, + members: 35, + STRUCT_STOP: 36, + ANNOTATION_START: 37, + ANNOTATION_END: 38, + MEMBER: 39, + SEPARATOR: 40, + relation: 41, + STR: 42, + relationType: 43, + lineType: 44, + AGGREGATION: 45, + EXTENSION: 46, + COMPOSITION: 47, + DEPENDENCY: 48, + LINE: 49, + DOTTED_LINE: 50, + CALLBACK: 51, + LINK: 52, + LINK_TARGET: 53, + CLICK: 54, + CALLBACK_NAME: 55, + CALLBACK_ARGS: 56, + HREF: 57, + CSSCLASS: 58, + commentToken: 59, + textToken: 60, + graphCodeTokens: 61, + textNoTagsToken: 62, + TAGSTART: 63, + TAGEND: 64, + '==': 65, + '--': 66, + PCT: 67, + DEFAULT: 68, + SPACE: 69, + MINUS: 70, + keywords: 71, + UNICODE_TEXT: 72, + NUM: 73, + ALPHA: 74, + BQUOTE_STR: 75, + $accept: 0, + $end: 1, + }, + terminals_: { + 2: 'error', + 10: 'NEWLINE', + 11: ':', + 13: 'open_directive', + 14: 'type_directive', + 15: 'arg_directive', + 16: 'close_directive', + 17: 'CLASS_DIAGRAM', + 19: 'EOF', + 24: 'GENERICTYPE', + 26: 'LABEL', + 32: 'CLASS', + 33: 'STYLE_SEPARATOR', + 34: 'STRUCT_START', + 36: 'STRUCT_STOP', + 37: 'ANNOTATION_START', + 38: 'ANNOTATION_END', + 39: 'MEMBER', + 40: 'SEPARATOR', + 42: 'STR', + 45: 'AGGREGATION', + 46: 'EXTENSION', + 47: 'COMPOSITION', + 48: 'DEPENDENCY', + 49: 'LINE', + 50: 'DOTTED_LINE', + 51: 'CALLBACK', + 52: 'LINK', + 53: 'LINK_TARGET', + 54: 'CLICK', + 55: 'CALLBACK_NAME', + 56: 'CALLBACK_ARGS', + 57: 'HREF', + 58: 'CSSCLASS', + 61: 'graphCodeTokens', + 63: 'TAGSTART', + 64: 'TAGEND', + 65: '==', + 66: '--', + 67: 'PCT', + 68: 'DEFAULT', + 69: 'SPACE', + 70: 'MINUS', + 71: 'keywords', + 72: 'UNICODE_TEXT', + 73: 'NUM', + 74: 'ALPHA', + 75: 'BQUOTE_STR', + }, + productions_: [ + 0, + [3, 1], + [3, 2], + [4, 1], + [5, 4], + [5, 6], + [7, 1], + [8, 1], + [12, 1], + [9, 1], + [6, 4], + [18, 1], + [18, 2], + [18, 3], + [21, 1], + [21, 1], + [21, 2], + [21, 2], + [21, 2], + [20, 1], + [20, 2], + [20, 1], + [20, 1], + [20, 1], + [20, 1], + [20, 1], + [20, 1], + [27, 2], + [27, 4], + [27, 5], + [27, 7], + [29, 4], + [35, 1], + [35, 2], + [28, 1], + [28, 2], + [28, 1], + [28, 1], + [25, 3], + [25, 4], + [25, 4], + [25, 5], + [41, 3], + [41, 2], + [41, 2], + [41, 1], + [43, 1], + [43, 1], + [43, 1], + [43, 1], + [44, 1], + [44, 1], + [30, 3], + [30, 4], + [30, 3], + [30, 4], + [30, 4], + [30, 5], + [30, 3], + [30, 4], + [30, 4], + [30, 5], + [30, 3], + [30, 4], + [30, 4], + [30, 5], + [31, 3], + [59, 1], + [59, 1], + [60, 1], + [60, 1], + [60, 1], + [60, 1], + [60, 1], + [60, 1], + [60, 1], + [62, 1], + [62, 1], + [62, 1], + [62, 1], + [22, 1], + [22, 1], + [22, 1], + [23, 1], + ], + performAction: function (e, t, i, n, r, s, o) { + var a = s.length - 1; + switch (r) { + case 6: + n.parseDirective('%%{', 'open_directive'); + break; + case 7: + n.parseDirective(s[a], 'type_directive'); + break; + case 8: + (s[a] = s[a].trim().replace(/'/g, '"')), + n.parseDirective(s[a], 'arg_directive'); + break; + case 9: + n.parseDirective( + '}%%', + 'close_directive', + 'class' + ); + break; + case 14: + case 15: + this.$ = s[a]; + break; + case 16: + this.$ = s[a - 1] + s[a]; + break; + case 17: + case 18: + this.$ = s[a - 1] + '~' + s[a]; + break; + case 19: + n.addRelation(s[a]); + break; + case 20: + (s[a - 1].title = n.cleanupLabel(s[a])), + n.addRelation(s[a - 1]); + break; + case 27: + n.addClass(s[a]); + break; + case 28: + n.addClass(s[a - 2]), + n.setCssClass(s[a - 2], s[a]); + break; + case 29: + n.addClass(s[a - 3]), + n.addMembers(s[a - 3], s[a - 1]); + break; + case 30: + n.addClass(s[a - 5]), + n.setCssClass(s[a - 5], s[a - 3]), + n.addMembers(s[a - 5], s[a - 1]); + break; + case 31: + n.addAnnotation(s[a], s[a - 2]); + break; + case 32: + this.$ = [s[a]]; + break; + case 33: + s[a].push(s[a - 1]), (this.$ = s[a]); + break; + case 34: + break; + case 35: + n.addMember(s[a - 1], n.cleanupLabel(s[a])); + break; + case 36: + case 37: + break; + case 38: + this.$ = { + id1: s[a - 2], + id2: s[a], + relation: s[a - 1], + relationTitle1: 'none', + relationTitle2: 'none', + }; + break; + case 39: + this.$ = { + id1: s[a - 3], + id2: s[a], + relation: s[a - 1], + relationTitle1: s[a - 2], + relationTitle2: 'none', + }; + break; + case 40: + this.$ = { + id1: s[a - 3], + id2: s[a], + relation: s[a - 2], + relationTitle1: 'none', + relationTitle2: s[a - 1], + }; + break; + case 41: + this.$ = { + id1: s[a - 4], + id2: s[a], + relation: s[a - 2], + relationTitle1: s[a - 3], + relationTitle2: s[a - 1], + }; + break; + case 42: + this.$ = { + type1: s[a - 2], + type2: s[a], + lineType: s[a - 1], + }; + break; + case 43: + this.$ = { + type1: 'none', + type2: s[a], + lineType: s[a - 1], + }; + break; + case 44: + this.$ = { + type1: s[a - 1], + type2: 'none', + lineType: s[a], + }; + break; + case 45: + this.$ = { + type1: 'none', + type2: 'none', + lineType: s[a], + }; + break; + case 46: + this.$ = n.relationType.AGGREGATION; + break; + case 47: + this.$ = n.relationType.EXTENSION; + break; + case 48: + this.$ = n.relationType.COMPOSITION; + break; + case 49: + this.$ = n.relationType.DEPENDENCY; + break; + case 50: + this.$ = n.lineType.LINE; + break; + case 51: + this.$ = n.lineType.DOTTED_LINE; + break; + case 52: + case 58: + (this.$ = s[a - 2]), + n.setClickEvent(s[a - 1], s[a]); + break; + case 53: + case 59: + (this.$ = s[a - 3]), + n.setClickEvent(s[a - 2], s[a - 1]), + n.setTooltip(s[a - 2], s[a]); + break; + case 54: + case 62: + (this.$ = s[a - 2]), n.setLink(s[a - 1], s[a]); + break; + case 55: + (this.$ = s[a - 3]), + n.setLink(s[a - 2], s[a - 1], s[a]); + break; + case 56: + case 64: + (this.$ = s[a - 3]), + n.setLink(s[a - 2], s[a - 1]), + n.setTooltip(s[a - 2], s[a]); + break; + case 57: + case 65: + (this.$ = s[a - 4]), + n.setLink(s[a - 3], s[a - 2], s[a]), + n.setTooltip(s[a - 3], s[a - 1]); + break; + case 60: + (this.$ = s[a - 3]), + n.setClickEvent(s[a - 2], s[a - 1], s[a]); + break; + case 61: + (this.$ = s[a - 4]), + n.setClickEvent(s[a - 3], s[a - 2], s[a - 1]), + n.setTooltip(s[a - 3], s[a]); + break; + case 63: + (this.$ = s[a - 3]), + n.setLink(s[a - 2], s[a - 1], s[a]); + break; + case 66: + n.setCssClass(s[a - 1], s[a]); + } + }, + table: [ + { 3: 1, 4: 2, 5: 3, 6: 4, 7: 5, 13: t, 17: i }, + { 1: [3] }, + { 1: [2, 1] }, + { 3: 8, 4: 2, 5: 3, 6: 4, 7: 5, 13: t, 17: i }, + { 1: [2, 3] }, + { 8: 9, 14: [1, 10] }, + { 10: [1, 11] }, + { 14: [2, 6] }, + { 1: [2, 2] }, + { 9: 12, 11: [1, 13], 16: n }, + e([11, 16], [2, 7]), + { + 5: 23, + 7: 5, + 13: t, + 18: 15, + 20: 16, + 21: 24, + 22: 33, + 23: 34, + 25: 17, + 27: 18, + 28: 19, + 29: 20, + 30: 21, + 31: 22, + 32: r, + 37: s, + 39: o, + 40: a, + 51: l, + 52: c, + 54: d, + 58: h, + 72: u, + 73: g, + 74: f, + 75: p, + }, + { 10: [1, 39] }, + { 12: 40, 15: [1, 41] }, + { 10: [2, 9] }, + { 19: [1, 42] }, + { 10: [1, 43], 19: [2, 11] }, + e(m, [2, 19], { 26: [1, 44] }), + e(m, [2, 21]), + e(m, [2, 22]), + e(m, [2, 23]), + e(m, [2, 24]), + e(m, [2, 25]), + e(m, [2, 26]), + e(m, [2, 34], { + 41: 45, + 43: 48, + 44: 49, + 26: [1, 47], + 42: [1, 46], + 45: _, + 46: b, + 47: v, + 48: y, + 49: w, + 50: C, + }), + { + 21: 56, + 22: 33, + 23: 34, + 72: u, + 73: g, + 74: f, + 75: p, + }, + e(m, [2, 36]), + e(m, [2, 37]), + { 22: 57, 72: u, 73: g, 74: f }, + { + 21: 58, + 22: 33, + 23: 34, + 72: u, + 73: g, + 74: f, + 75: p, + }, + { + 21: 59, + 22: 33, + 23: 34, + 72: u, + 73: g, + 74: f, + 75: p, + }, + { + 21: 60, + 22: 33, + 23: 34, + 72: u, + 73: g, + 74: f, + 75: p, + }, + { 42: [1, 61] }, + e(S, [2, 14], { + 22: 33, + 23: 34, + 21: 62, + 24: [1, 63], + 72: u, + 73: g, + 74: f, + 75: p, + }), + e(S, [2, 15], { 24: [1, 64] }), + e(k, [2, 80]), + e(k, [2, 81]), + e(k, [2, 82]), + e( + [ + 10, + 19, + 24, + 26, + 33, + 34, + 42, + 45, + 46, + 47, + 48, + 49, + 50, + 55, + 57, + ], + [2, 83] + ), + e(x, [2, 4]), + { 9: 65, 16: n }, + { 16: [2, 8] }, + { 1: [2, 10] }, + { + 5: 23, + 7: 5, + 13: t, + 18: 66, + 19: [2, 12], + 20: 16, + 21: 24, + 22: 33, + 23: 34, + 25: 17, + 27: 18, + 28: 19, + 29: 20, + 30: 21, + 31: 22, + 32: r, + 37: s, + 39: o, + 40: a, + 51: l, + 52: c, + 54: d, + 58: h, + 72: u, + 73: g, + 74: f, + 75: p, + }, + e(m, [2, 20]), + { + 21: 67, + 22: 33, + 23: 34, + 42: [1, 68], + 72: u, + 73: g, + 74: f, + 75: p, + }, + { + 41: 69, + 43: 48, + 44: 49, + 45: _, + 46: b, + 47: v, + 48: y, + 49: w, + 50: C, + }, + e(m, [2, 35]), + { 44: 70, 49: w, 50: C }, + e(L, [2, 45], { 43: 71, 45: _, 46: b, 47: v, 48: y }), + e(M, [2, 46]), + e(M, [2, 47]), + e(M, [2, 48]), + e(M, [2, 49]), + e(D, [2, 50]), + e(D, [2, 51]), + e(m, [2, 27], { 33: [1, 72], 34: [1, 73] }), + { 38: [1, 74] }, + { 42: [1, 75] }, + { 42: [1, 76] }, + { 55: [1, 77], 57: [1, 78] }, + { 22: 79, 72: u, 73: g, 74: f }, + e(S, [2, 16]), + e(S, [2, 17]), + e(S, [2, 18]), + { 10: [1, 80] }, + { 19: [2, 13] }, + e(N, [2, 38]), + { + 21: 81, + 22: 33, + 23: 34, + 72: u, + 73: g, + 74: f, + 75: p, + }, + { + 21: 82, + 22: 33, + 23: 34, + 42: [1, 83], + 72: u, + 73: g, + 74: f, + 75: p, + }, + e(L, [2, 44], { 43: 84, 45: _, 46: b, 47: v, 48: y }), + e(L, [2, 43]), + { 22: 85, 72: u, 73: g, 74: f }, + { 35: 86, 39: E }, + { + 21: 88, + 22: 33, + 23: 34, + 72: u, + 73: g, + 74: f, + 75: p, + }, + e(m, [2, 52], { 42: [1, 89] }), + e(m, [2, 54], { 42: [1, 91], 53: [1, 90] }), + e(m, [2, 58], { 42: [1, 92], 56: [1, 93] }), + e(m, [2, 62], { 42: [1, 95], 53: [1, 94] }), + e(m, [2, 66]), + e(x, [2, 5]), + e(N, [2, 40]), + e(N, [2, 39]), + { + 21: 96, + 22: 33, + 23: 34, + 72: u, + 73: g, + 74: f, + 75: p, + }, + e(L, [2, 42]), + e(m, [2, 28], { 34: [1, 97] }), + { 36: [1, 98] }, + { 35: 99, 36: [2, 32], 39: E }, + e(m, [2, 31]), + e(m, [2, 53]), + e(m, [2, 55]), + e(m, [2, 56], { 53: [1, 100] }), + e(m, [2, 59]), + e(m, [2, 60], { 42: [1, 101] }), + e(m, [2, 63]), + e(m, [2, 64], { 53: [1, 102] }), + e(N, [2, 41]), + { 35: 103, 39: E }, + e(m, [2, 29]), + { 36: [2, 33] }, + e(m, [2, 57]), + e(m, [2, 61]), + e(m, [2, 65]), + { 36: [1, 104] }, + e(m, [2, 30]), + ], + defaultActions: { + 2: [2, 1], + 4: [2, 3], + 7: [2, 6], + 8: [2, 2], + 14: [2, 9], + 41: [2, 8], + 42: [2, 10], + 66: [2, 13], + 99: [2, 33], + }, + parseError: function (e, t) { + if (!t.recoverable) { + var i = new Error(e); + throw ((i.hash = t), i); + } + this.trace(e); + }, + parse: function (e) { + var t = this, + i = [0], + n = [], + r = [null], + s = [], + o = this.table, + a = '', + l = 0, + c = 0, + d = 0, + h = 2, + u = 1, + g = s.slice.call(arguments, 1), + f = Object.create(this.lexer), + p = { yy: {} }; + for (var m in this.yy) + Object.prototype.hasOwnProperty.call(this.yy, m) && + (p.yy[m] = this.yy[m]); + f.setInput(e, p.yy), + (p.yy.lexer = f), + (p.yy.parser = this), + void 0 === f.yylloc && (f.yylloc = {}); + var _ = f.yylloc; + s.push(_); + var b = f.options && f.options.ranges; + function v() { + var e; + return ( + 'number' != + typeof (e = n.pop() || f.lex() || u) && + (e instanceof Array && (e = (n = e).pop()), + (e = t.symbols_[e] || e)), + e + ); + } + 'function' == typeof p.yy.parseError + ? (this.parseError = p.yy.parseError) + : (this.parseError = Object.getPrototypeOf( + this + ).parseError); + for (var y, w, C, S, k, x, L, M, D, N = {}; ; ) { + if ( + ((C = i[i.length - 1]), + this.defaultActions[C] + ? (S = this.defaultActions[C]) + : (null == y && (y = v()), + (S = o[C] && o[C][y])), + void 0 === S || !S.length || !S[0]) + ) { + var E = ''; + for (x in ((D = []), o[C])) + this.terminals_[x] && + x > h && + D.push("'" + this.terminals_[x] + "'"); + (E = f.showPosition + ? 'Parse error on line ' + + (l + 1) + + ':\n' + + f.showPosition() + + '\nExpecting ' + + D.join(', ') + + ", got '" + + (this.terminals_[y] || y) + + "'" + : 'Parse error on line ' + + (l + 1) + + ': Unexpected ' + + (y == u + ? 'end of input' + : "'" + (this.terminals_[y] || y) + "'")), + this.parseError(E, { + text: f.match, + token: this.terminals_[y] || y, + line: f.yylineno, + loc: _, + expected: D, + }); + } + if (S[0] instanceof Array && S.length > 1) + throw new Error( + 'Parse Error: multiple actions possible at state: ' + + C + + ', token: ' + + y + ); + switch (S[0]) { + case 1: + i.push(y), + r.push(f.yytext), + s.push(f.yylloc), + i.push(S[1]), + (y = null), + w + ? ((y = w), (w = null)) + : ((c = f.yyleng), + (a = f.yytext), + (l = f.yylineno), + (_ = f.yylloc), + d > 0 && d--); + break; + case 2: + if ( + ((L = this.productions_[S[1]][1]), + (N.$ = r[r.length - L]), + (N._$ = { + first_line: + s[s.length - (L || 1)].first_line, + last_line: s[s.length - 1].last_line, + first_column: + s[s.length - (L || 1)].first_column, + last_column: s[s.length - 1].last_column, + }), + b && + (N._$.range = [ + s[s.length - (L || 1)].range[0], + s[s.length - 1].range[1], + ]), + void 0 !== + (k = this.performAction.apply( + N, + [a, c, l, p.yy, S[1], r, s].concat(g) + ))) + ) + return k; + L && + ((i = i.slice(0, -1 * L * 2)), + (r = r.slice(0, -1 * L)), + (s = s.slice(0, -1 * L))), + i.push(this.productions_[S[1]][0]), + r.push(N.$), + s.push(N._$), + (M = o[i[i.length - 2]][i[i.length - 1]]), + i.push(M); + break; + case 3: + return !0; + } + } + return !0; + }, + }, + I = { + EOF: 1, + parseError: function (e, t) { + if (!this.yy.parser) throw new Error(e); + this.yy.parser.parseError(e, t); + }, + setInput: function (e, t) { + return ( + (this.yy = t || this.yy || {}), + (this._input = e), + (this._more = this._backtrack = this.done = !1), + (this.yylineno = this.yyleng = 0), + (this.yytext = this.matched = this.match = ''), + (this.conditionStack = ['INITIAL']), + (this.yylloc = { + first_line: 1, + first_column: 0, + last_line: 1, + last_column: 0, + }), + this.options.ranges && (this.yylloc.range = [0, 0]), + (this.offset = 0), + this + ); + }, + input: function () { + var e = this._input[0]; + return ( + (this.yytext += e), + this.yyleng++, + this.offset++, + (this.match += e), + (this.matched += e), + e.match(/(?:\r\n?|\n).*/g) + ? (this.yylineno++, this.yylloc.last_line++) + : this.yylloc.last_column++, + this.options.ranges && this.yylloc.range[1]++, + (this._input = this._input.slice(1)), + e + ); + }, + unput: function (e) { + var t = e.length, + i = e.split(/(?:\r\n?|\n)/g); + (this._input = e + this._input), + (this.yytext = this.yytext.substr( + 0, + this.yytext.length - t + )), + (this.offset -= t); + var n = this.match.split(/(?:\r\n?|\n)/g); + (this.match = this.match.substr( + 0, + this.match.length - 1 + )), + (this.matched = this.matched.substr( + 0, + this.matched.length - 1 + )), + i.length - 1 && (this.yylineno -= i.length - 1); + var r = 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: i + ? (i.length === n.length + ? this.yylloc.first_column + : 0) + + n[n.length - i.length].length - + i[0].length + : this.yylloc.first_column - t, + }), + this.options.ranges && + (this.yylloc.range = [ + r[0], + r[0] + this.yyleng - t, + ]), + (this.yyleng = this.yytext.length), + this + ); + }, + more: function () { + return (this._more = !0), this; + }, + reject: function () { + return this.options.backtrack_lexer + ? ((this._backtrack = !0), this) + : this.parseError( + 'Lexical error on line ' + + (this.yylineno + 1) + + '. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n' + + this.showPosition(), + { text: '', token: null, line: this.yylineno } + ); + }, + less: function (e) { + this.unput(this.match.slice(e)); + }, + pastInput: function () { + var e = this.matched.substr( + 0, + this.matched.length - this.match.length + ); + return ( + (e.length > 20 ? '...' : '') + + e.substr(-20).replace(/\n/g, '') + ); + }, + upcomingInput: function () { + var e = this.match; + return ( + e.length < 20 && + (e += this._input.substr(0, 20 - e.length)), + ( + e.substr(0, 20) + (e.length > 20 ? '...' : '') + ).replace(/\n/g, '') + ); + }, + showPosition: function () { + var e = this.pastInput(), + t = new Array(e.length + 1).join('-'); + return e + this.upcomingInput() + '\n' + t + '^'; + }, + test_match: function (e, t) { + var i, n, r; + if ( + (this.options.backtrack_lexer && + ((r = { + 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 && + (r.yylloc.range = this.yylloc.range.slice(0))), + (n = e[0].match(/(?:\r\n?|\n).*/g)) && + (this.yylineno += n.length), + (this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: n + ? n[n.length - 1].length - + n[n.length - 1].match(/\r?\n?/)[0].length + : this.yylloc.last_column + e[0].length, + }), + (this.yytext += e[0]), + (this.match += e[0]), + (this.matches = e), + (this.yyleng = this.yytext.length), + this.options.ranges && + (this.yylloc.range = [ + this.offset, + (this.offset += this.yyleng), + ]), + (this._more = !1), + (this._backtrack = !1), + (this._input = this._input.slice(e[0].length)), + (this.matched += e[0]), + (i = this.performAction.call( + this, + this.yy, + this, + t, + this.conditionStack[ + this.conditionStack.length - 1 + ] + )), + this.done && this._input && (this.done = !1), + i) + ) + return i; + if (this._backtrack) { + for (var s in r) this[s] = r[s]; + return !1; + } + return !1; + }, + next: function () { + if (this.done) return this.EOF; + var e, t, i, n; + this._input || (this.done = !0), + this._more || + ((this.yytext = ''), (this.match = '')); + for ( + var r = this._currentRules(), s = 0; + s < r.length; + s++ + ) + if ( + (i = this._input.match(this.rules[r[s]])) && + (!t || i[0].length > t[0].length) + ) { + if ( + ((t = i), (n = s), this.options.backtrack_lexer) + ) { + if (!1 !== (e = this.test_match(i, r[s]))) + return e; + if (this._backtrack) { + t = !1; + continue; + } + return !1; + } + if (!this.options.flex) break; + } + return t + ? !1 !== (e = this.test_match(t, r[n])) && e + : '' === this._input + ? this.EOF + : this.parseError( + 'Lexical error on line ' + + (this.yylineno + 1) + + '. Unrecognized text.\n' + + this.showPosition(), + { text: '', token: null, line: this.yylineno } + ); + }, + lex: function () { + return this.next() || this.lex(); + }, + begin: function (e) { + this.conditionStack.push(e); + }, + popState: function () { + return this.conditionStack.length - 1 > 0 + ? this.conditionStack.pop() + : this.conditionStack[0]; + }, + _currentRules: function () { + return this.conditionStack.length && + this.conditionStack[this.conditionStack.length - 1] + ? this.conditions[ + this.conditionStack[ + this.conditionStack.length - 1 + ] + ].rules + : this.conditions.INITIAL.rules; + }, + topState: function (e) { + return (e = + this.conditionStack.length - + 1 - + Math.abs(e || 0)) >= 0 + ? this.conditionStack[e] + : 'INITIAL'; + }, + pushState: function (e) { + this.begin(e); + }, + stateStackSize: function () { + return this.conditionStack.length; + }, + options: {}, + performAction: function (e, t, i, n) { + switch (i) { + case 0: + return this.begin('open_directive'), 13; + case 1: + return this.begin('type_directive'), 14; + case 2: + return ( + this.popState(), this.begin('arg_directive'), 11 + ); + case 3: + return this.popState(), this.popState(), 16; + case 4: + return 15; + case 5: + case 6: + break; + case 7: + return 10; + case 8: + break; + case 9: + case 10: + return 17; + case 11: + return this.begin('struct'), 34; + case 12: + return 'EOF_IN_STRUCT'; + case 13: + return 'OPEN_IN_STRUCT'; + case 14: + return this.popState(), 36; + case 15: + break; + case 16: + return 'MEMBER'; + case 17: + return 32; + case 18: + return 58; + case 19: + return 51; + case 20: + return 52; + case 21: + return 54; + case 22: + return 37; + case 23: + return 38; + case 24: + this.begin('generic'); + break; + case 25: + this.popState(); + break; + case 26: + return 'GENERICTYPE'; + case 27: + this.begin('string'); + break; + case 28: + this.popState(); + break; + case 29: + return 'STR'; + case 30: + this.begin('bqstring'); + break; + case 31: + this.popState(); + break; + case 32: + return 'BQUOTE_STR'; + case 33: + this.begin('href'); + break; + case 34: + this.popState(); + break; + case 35: + return 57; + case 36: + this.begin('callback_name'); + break; + case 37: + this.popState(); + break; + case 38: + this.popState(), this.begin('callback_args'); + break; + case 39: + return 55; + case 40: + this.popState(); + break; + case 41: + return 56; + case 42: + case 43: + case 44: + case 45: + return 53; + case 46: + case 47: + return 46; + case 48: + case 49: + return 48; + case 50: + return 47; + case 51: + return 45; + case 52: + return 49; + case 53: + return 50; + case 54: + return 26; + case 55: + return 33; + case 56: + return 70; + case 57: + return 'DOT'; + case 58: + return 'PLUS'; + case 59: + return 67; + case 60: + case 61: + return 'EQUALS'; + case 62: + return 74; + case 63: + return 'PUNCTUATION'; + case 64: + return 73; + case 65: + return 72; + case 66: + return 69; + case 67: + return 19; + } + }, + rules: [ + /^(?:%%\{)/, + /^(?:((?:(?!\}%%)[^:.])*))/, + /^(?::)/, + /^(?:\}%%)/, + /^(?:((?:(?!\}%%).|\n)*))/, + /^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/, + /^(?:%%[^\n]*(\r?\n)*)/, + /^(?:(\r?\n)+)/, + /^(?:\s+)/, + /^(?:classDiagram-v2\b)/, + /^(?:classDiagram\b)/, + /^(?:[{])/, + /^(?:$)/, + /^(?:[{])/, + /^(?:[}])/, + /^(?:[\n])/, + /^(?:[^{}\n]*)/, + /^(?:class\b)/, + /^(?:cssClass\b)/, + /^(?:callback\b)/, + /^(?:link\b)/, + /^(?:click\b)/, + /^(?:<<)/, + /^(?:>>)/, + /^(?:[~])/, + /^(?:[~])/, + /^(?:[^~]*)/, + /^(?:["])/, + /^(?:["])/, + /^(?:[^"]*)/, + /^(?:[`])/, + /^(?:[`])/, + /^(?:[^`]+)/, + /^(?:href[\s]+["])/, + /^(?:["])/, + /^(?:[^"]*)/, + /^(?:call[\s]+)/, + /^(?:\([\s]*\))/, + /^(?:\()/, + /^(?:[^(]*)/, + /^(?:\))/, + /^(?:[^)]*)/, + /^(?:_self\b)/, + /^(?:_blank\b)/, + /^(?:_parent\b)/, + /^(?:_top\b)/, + /^(?:\s*<\|)/, + /^(?:\s*\|>)/, + /^(?:\s*>)/, + /^(?:\s*<)/, + /^(?:\s*\*)/, + /^(?:\s*o\b)/, + /^(?:--)/, + /^(?:\.\.)/, + /^(?::{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)/, + /^(?:$)/, + ], + conditions: { + arg_directive: { rules: [3, 4], inclusive: !1 }, + type_directive: { rules: [2, 3], inclusive: !1 }, + open_directive: { rules: [1], inclusive: !1 }, + callback_args: { rules: [40, 41], inclusive: !1 }, + callback_name: { rules: [37, 38, 39], inclusive: !1 }, + href: { rules: [34, 35], inclusive: !1 }, + struct: { + rules: [12, 13, 14, 15, 16], + inclusive: !1, + }, + generic: { rules: [25, 26], inclusive: !1 }, + bqstring: { rules: [31, 32], inclusive: !1 }, + string: { rules: [28, 29], inclusive: !1 }, + INITIAL: { + rules: [ + 0, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 27, + 30, + 33, + 36, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + ], + inclusive: !0, + }, + }, + }; + function O() { + this.yy = {}; + } + return ( + (T.lexer = I), (O.prototype = T), (T.Parser = O), new O() + ); + })(); + (t.parser = r), + (t.Parser = r.Parser), + (t.parse = function () { + return r.parse.apply(r, arguments); + }), + (t.main = function (n) { + n[1] || + (console.log('Usage: ' + n[0] + ' FILE'), e.exit(1)); + var r = i( + './node_modules/node-libs-browser/mock/empty.js' + ).readFileSync( + i('./node_modules/path-browserify/index.js').normalize( + n[1] + ), + 'utf8' + ); + return t.parser.parse(r); + }), + i.c[i.s] === n && t.main(e.argv.slice(1)); + }.call( + this, + i('./node_modules/process/browser.js'), + i('./node_modules/webpack/buildin/module.js')(e) + )); + }, + './src/diagrams/class/styles.js': function (e, t, i) { + 'use strict'; + i.r(t), + (t.default = function (e) { + return 'g.classGroup text {\n fill: ' + .concat(e.nodeBorder, ';\n fill: ') + .concat( + e.classText, + ';\n stroke: none;\n font-family: ' + ) + .concat( + e.fontFamily, + ';\n font-size: 10px;\n\n .title {\n font-weight: bolder;\n }\n\n}\n\n.classTitle {\n font-weight: bolder;\n}\n.node rect,\n .node circle,\n .node ellipse,\n .node polygon,\n .node path {\n fill: ' + ) + .concat(e.mainBkg, ';\n stroke: ') + .concat( + e.nodeBorder, + ';\n stroke-width: 1px;\n }\n\n\n.divider {\n stroke: ' + ) + .concat( + e.nodeBorder, + ';\n stroke: 1;\n}\n\ng.clickable {\n cursor: pointer;\n}\n\ng.classGroup rect {\n fill: ' + ) + .concat(e.mainBkg, ';\n stroke: ') + .concat( + e.nodeBorder, + ';\n}\n\ng.classGroup line {\n stroke: ' + ) + .concat( + e.nodeBorder, + ';\n stroke-width: 1;\n}\n\n.classLabel .box {\n stroke: none;\n stroke-width: 0;\n fill: ' + ) + .concat( + e.mainBkg, + ';\n opacity: 0.5;\n}\n\n.classLabel .label {\n fill: ' + ) + .concat( + e.nodeBorder, + ';\n font-size: 10px;\n}\n\n.relation {\n stroke: ' + ) + .concat( + e.lineColor, + ';\n stroke-width: 1;\n fill: none;\n}\n\n.dashed-line{\n stroke-dasharray: 3;\n}\n\n#compositionStart, .composition {\n fill: ' + ) + .concat(e.lineColor, ' !important;\n stroke: ') + .concat( + e.lineColor, + ' !important;\n stroke-width: 1;\n}\n\n#compositionEnd, .composition {\n fill: ' + ) + .concat(e.lineColor, ' !important;\n stroke: ') + .concat( + e.lineColor, + ' !important;\n stroke-width: 1;\n}\n\n#dependencyStart, .dependency {\n fill: ' + ) + .concat(e.lineColor, ' !important;\n stroke: ') + .concat( + e.lineColor, + ' !important;\n stroke-width: 1;\n}\n\n#dependencyStart, .dependency {\n fill: ' + ) + .concat(e.lineColor, ' !important;\n stroke: ') + .concat( + e.lineColor, + ' !important;\n stroke-width: 1;\n}\n\n#extensionStart, .extension {\n fill: ' + ) + .concat(e.lineColor, ' !important;\n stroke: ') + .concat( + e.lineColor, + ' !important;\n stroke-width: 1;\n}\n\n#extensionEnd, .extension {\n fill: ' + ) + .concat(e.lineColor, ' !important;\n stroke: ') + .concat( + e.lineColor, + ' !important;\n stroke-width: 1;\n}\n\n#aggregationStart, .aggregation {\n fill: ' + ) + .concat(e.mainBkg, ' !important;\n stroke: ') + .concat( + e.lineColor, + ' !important;\n stroke-width: 1;\n}\n\n#aggregationEnd, .aggregation {\n fill: ' + ) + .concat(e.mainBkg, ' !important;\n stroke: ') + .concat( + e.lineColor, + ' !important;\n stroke-width: 1;\n}\n\n.edgeTerminals {\n font-size: 11px;\n}\n\n' + ); + }); + }, + './src/diagrams/class/svgDraw.js': function (e, t, i) { + 'use strict'; + i.r(t), + i.d(t, 'drawEdge', function () { + return l; + }), + i.d(t, 'drawClass', function () { + return c; + }), + i.d(t, 'parseMember', function () { + return d; + }); + var n = i('d3'), + r = i('./src/diagrams/class/classDb.js'), + s = i('./src/utils.js'), + o = i('./src/logger.js'), + a = 0, + l = function (e, t, i, l) { + var c = function (e) { + switch (e) { + case r.relationType.AGGREGATION: + return 'aggregation'; + case r.relationType.EXTENSION: + return 'extension'; + case r.relationType.COMPOSITION: + return 'composition'; + case r.relationType.DEPENDENCY: + return 'dependency'; + } + }; + t.points = t.points.filter(function (e) { + return !Number.isNaN(e.y); + }); + var d, + h, + u = t.points, + g = Object(n.line)() + .x(function (e) { + return e.x; + }) + .y(function (e) { + return e.y; + }) + .curve(n.curveBasis), + f = e + .append('path') + .attr('d', g(u)) + .attr('id', 'edge' + a) + .attr('class', 'relation'), + p = ''; + l.arrowMarkerAbsolute && + (p = (p = (p = + window.location.protocol + + '//' + + window.location.host + + window.location.pathname + + window.location.search).replace(/\(/g, '\\(')).replace( + /\)/g, + '\\)' + )), + 1 == i.relation.lineType && + f.attr('class', 'relation dashed-line'), + 'none' !== i.relation.type1 && + f.attr( + 'marker-start', + 'url(' + p + '#' + c(i.relation.type1) + 'Start)' + ), + 'none' !== i.relation.type2 && + f.attr( + 'marker-end', + 'url(' + p + '#' + c(i.relation.type2) + 'End)' + ); + var m, + _, + b, + v, + y = t.points.length, + w = s.default.calcLabelPosition(t.points); + if (((d = w.x), (h = w.y), y % 2 != 0 && y > 1)) { + var C = s.default.calcCardinalityPosition( + 'none' !== i.relation.type1, + t.points, + t.points[0] + ), + S = s.default.calcCardinalityPosition( + 'none' !== i.relation.type2, + t.points, + t.points[y - 1] + ); + o.log.debug('cardinality_1_point ' + JSON.stringify(C)), + o.log.debug('cardinality_2_point ' + JSON.stringify(S)), + (m = C.x), + (_ = C.y), + (b = S.x), + (v = S.y); + } + if (void 0 !== i.title) { + var k = e.append('g').attr('class', 'classLabel'), + x = k + .append('text') + .attr('class', 'label') + .attr('x', d) + .attr('y', h) + .attr('fill', 'red') + .attr('text-anchor', 'middle') + .text(i.title); + window.label = x; + var L = x.node().getBBox(); + k.insert('rect', ':first-child') + .attr('class', 'box') + .attr('x', L.x - l.padding / 2) + .attr('y', L.y - l.padding / 2) + .attr('width', L.width + l.padding) + .attr('height', L.height + l.padding); + } + o.log.info('Rendering relation ' + JSON.stringify(i)), + void 0 !== i.relationTitle1 && + 'none' !== i.relationTitle1 && + e + .append('g') + .attr('class', 'cardinality') + .append('text') + .attr('class', 'type1') + .attr('x', m) + .attr('y', _) + .attr('fill', 'black') + .attr('font-size', '6') + .text(i.relationTitle1), + void 0 !== i.relationTitle2 && + 'none' !== i.relationTitle2 && + e + .append('g') + .attr('class', 'cardinality') + .append('text') + .attr('class', 'type2') + .attr('x', b) + .attr('y', v) + .attr('fill', 'black') + .attr('font-size', '6') + .text(i.relationTitle2), + a++; + }, + c = function (e, t, i) { + o.log.info('Rendering class ' + t); + var n, + s = t.id, + a = { id: s, label: t.id, width: 0, height: 0 }, + l = e + .append('g') + .attr('id', Object(r.lookUpDomId)(s)) + .attr('class', 'classGroup'); + n = t.link + ? l + .append('svg:a') + .attr('xlink:href', t.link) + .attr('target', t.linkTarget) + .append('text') + .attr('y', i.textHeight + i.padding) + .attr('x', 0) + : l + .append('text') + .attr('y', i.textHeight + i.padding) + .attr('x', 0); + var c = !0; + t.annotations.forEach(function (e) { + var t = n.append('tspan').text('«' + e + '»'); + c || t.attr('dy', i.textHeight), (c = !1); + }); + var d = t.id; + void 0 !== t.type && + '' !== t.type && + (d += '<' + t.type + '>'); + var h = n.append('tspan').text(d).attr('class', 'title'); + c || h.attr('dy', i.textHeight); + var u = n.node().getBBox().height, + g = l + .append('line') + .attr('x1', 0) + .attr('y1', i.padding + u + i.dividerMargin / 2) + .attr('y2', i.padding + u + i.dividerMargin / 2), + p = l + .append('text') + .attr('x', i.padding) + .attr('y', u + i.dividerMargin + i.textHeight) + .attr('fill', 'white') + .attr('class', 'classText'); + (c = !0), + t.members.forEach(function (e) { + f(p, e, c, i), (c = !1); + }); + var m = p.node().getBBox(), + _ = l + .append('line') + .attr('x1', 0) + .attr('y1', i.padding + u + i.dividerMargin + m.height) + .attr('y2', i.padding + u + i.dividerMargin + m.height), + b = l + .append('text') + .attr('x', i.padding) + .attr( + 'y', + u + 2 * i.dividerMargin + m.height + i.textHeight + ) + .attr('fill', 'white') + .attr('class', 'classText'); + (c = !0), + t.methods.forEach(function (e) { + f(b, e, c, i), (c = !1); + }); + var v = l.node().getBBox(), + y = ' '; + t.cssClasses.length > 0 && (y += t.cssClasses.join(' ')); + var w = l + .insert('rect', ':first-child') + .attr('x', 0) + .attr('y', 0) + .attr('width', v.width + 2 * i.padding) + .attr( + 'height', + v.height + i.padding + 0.5 * i.dividerMargin + ) + .attr('class', y) + .node() + .getBBox().width; + return ( + n.node().childNodes.forEach(function (e) { + e.setAttribute('x', (w - e.getBBox().width) / 2); + }), + t.tooltip && n.insert('title').text(t.tooltip), + g.attr('x2', w), + _.attr('x2', w), + (a.width = w), + (a.height = v.height + i.padding + 0.5 * i.dividerMargin), + a + ); + }, + d = function (e) { + var t = e.match(/(\+|-|~|#)?(\w+)(~\w+~|\[\])?\s+(\w+)/), + i = e.match( + /^([+|\-|~|#])?(\w+) *\( *(.*)\) *(\*|\$)? *(\w*[~|[\]]*\s*\w*~?)$/ + ); + return t && !i ? h(t) : i ? u(i) : g(e); + }, + h = function (e) { + var t = ''; + try { + t = + (e[1] ? e[1].trim() : '') + + (e[2] ? e[2].trim() : '') + + (e[3] ? p(e[3].trim()) : '') + + ' ' + + (e[4] ? e[4].trim() : ''); + } catch (i) { + t = e; + } + return { displayText: t, cssStyle: '' }; + }, + u = function (e) { + var t = '', + i = ''; + try { + var n = e[1] ? e[1].trim() : '', + r = e[2] ? e[2].trim() : '', + s = e[3] ? p(e[3].trim()) : '', + o = e[4] ? e[4].trim() : ''; + (i = + n + + r + + '(' + + s + + ')' + + (e[5] ? ' : ' + p(e[5]).trim() : '')), + (t = m(o)); + } catch (t) { + i = e; + } + return { displayText: i, cssStyle: t }; + }, + g = function (e) { + var t = '', + i = '', + n = '', + r = e.indexOf('('), + s = e.indexOf(')'); + if (r > 1 && s > r && s <= e.length) { + var o = '', + a = '', + l = e.substring(0, 1); + l.match(/\w/) + ? (a = e.substring(0, r).trim()) + : (l.match(/\+|-|~|#/) && (o = l), + (a = e.substring(1, r).trim())); + var c = e.substring(r + 1, s), + d = e.substring(s + 1, 1); + (i = m(d)), + (t = o + a + '(' + p(c.trim()) + ')'), + s < ''.length && + '' !== (n = e.substring(s + 2).trim()) && + (n = ' : ' + p(n)); + } else t = p(e); + return { displayText: t, cssStyle: i }; + }, + f = function (e, t, i, n) { + var r = d(t), + s = e + .append('tspan') + .attr('x', n.padding) + .text(r.displayText); + '' !== r.cssStyle && s.attr('style', r.cssStyle), + i || s.attr('dy', n.textHeight); + }, + p = function e(t) { + var i = t; + return -1 != t.indexOf('~') + ? e((i = (i = i.replace('~', '<')).replace('~', '>'))) + : i; + }, + m = function (e) { + switch (e) { + case '*': + return 'font-style:italic;'; + case '$': + return 'text-decoration:underline;'; + default: + return ''; + } + }; + t.default = { drawClass: c, drawEdge: l, parseMember: d }; + }, + './src/diagrams/common/common.js': function (e, t, i) { + 'use strict'; + i.r(t), + i.d(t, 'getRows', function () { + return n; + }), + i.d(t, 'removeScript', function () { + return r; + }), + i.d(t, 'sanitizeText', function () { + return s; + }), + i.d(t, 'lineBreakRegex', function () { + return o; + }), + i.d(t, 'hasBreaks', function () { + return a; + }), + i.d(t, 'splitBreaks', function () { + return l; + }); + var n = function (e) { + if (!e) return 1; + var t = c(e); + return (t = t.replace(/\\n/g, '#br#')).split('#br#'); + }, + r = function (e) { + for (var t = '', i = 0; i >= 0; ) { + if (!((i = e.indexOf('<script')) >= 0)) { + (t += e), (i = -1); + break; + } + (t += e.substr(0, i)), + (i = (e = e.substr(i + 1)).indexOf('</script>')) >= 0 && + ((i += 9), (e = e.substr(i))); + } + return t; + }, + s = function (e, t) { + var i = e, + n = !0; + if ( + (!t.flowchart || + (!1 !== t.flowchart.htmlLabels && + 'false' !== t.flowchart.htmlLabels) || + (n = !1), + n) + ) { + var s = t.securityLevel; + 'antiscript' === s + ? (i = r(i)) + : 'loose' !== s && + ((i = (i = (i = c(i)) + .replace(/</g, '<') + .replace(/>/g, '>')).replace(/=/g, '=')), + (i = d(i))); + } + return i; + }, + o = /<br\s*\/?>/gi, + a = function (e) { + return /<br\s*[/]?>/gi.test(e); + }, + l = function (e) { + return e.split(/<br\s*[/]?>/gi); + }, + c = function (e) { + return e.replace(o, '#br#'); + }, + d = function (e) { + return e.replace(/#br#/g, '<br/>'); + }; + t.default = { + getRows: n, + sanitizeText: s, + hasBreaks: a, + splitBreaks: l, + lineBreakRegex: o, + removeScript: r, + getUrl: function (e) { + var t = ''; + return ( + e && + (t = (t = (t = + window.location.protocol + + '//' + + window.location.host + + window.location.pathname + + window.location.search).replace( + /\(/g, + '\\(' + )).replace(/\)/g, '\\)')), + t + ); + }, + }; + }, + './src/diagrams/er/erDb.js': function (e, t, i) { + 'use strict'; + i.r(t), + i.d(t, 'parseDirective', function () { + return c; + }); + var n = i('./src/logger.js'), + r = i('./src/mermaidAPI.js'), + s = i('./src/config.js'), + o = {}, + a = [], + l = '', + c = function (e, t, i) { + r.default.parseDirective(this, e, t, i); + }, + d = function (e) { + return ( + void 0 === o[e] && + ((o[e] = { attributes: [] }), + n.log.info('Added new entity :', e)), + o[e] + ); + }; + t.default = { + Cardinality: { + ZERO_OR_ONE: 'ZERO_OR_ONE', + ZERO_OR_MORE: 'ZERO_OR_MORE', + ONE_OR_MORE: 'ONE_OR_MORE', + ONLY_ONE: 'ONLY_ONE', + }, + Identification: { + NON_IDENTIFYING: 'NON_IDENTIFYING', + IDENTIFYING: 'IDENTIFYING', + }, + parseDirective: c, + getConfig: function () { + return s.getConfig().er; + }, + addEntity: d, + addAttributes: function (e, t) { + var i, + r = d(e); + for (i = t.length - 1; i >= 0; i--) + r.attributes.push(t[i]), + n.log.debug('Added attribute ', t[i].attributeName); + }, + getEntities: function () { + return o; + }, + addRelationship: function (e, t, i, r) { + var s = { entityA: e, roleA: t, entityB: i, relSpec: r }; + a.push(s), n.log.debug('Added new relationship :', s); + }, + getRelationships: function () { + return a; + }, + clear: function () { + (o = {}), (a = []), (l = ''); + }, + setTitle: function (e) { + l = e; + }, + getTitle: function () { + return l; + }, + }; + }, + './src/diagrams/er/erMarkers.js': function (e, t, i) { + 'use strict'; + i.r(t); + var n = { + ONLY_ONE_START: 'ONLY_ONE_START', + ONLY_ONE_END: 'ONLY_ONE_END', + ZERO_OR_ONE_START: 'ZERO_OR_ONE_START', + ZERO_OR_ONE_END: 'ZERO_OR_ONE_END', + ONE_OR_MORE_START: 'ONE_OR_MORE_START', + ONE_OR_MORE_END: 'ONE_OR_MORE_END', + ZERO_OR_MORE_START: 'ZERO_OR_MORE_START', + ZERO_OR_MORE_END: 'ZERO_OR_MORE_END', + }; + t.default = { + ERMarkers: n, + insertMarkers: function (e, t) { + var i; + e + .append('defs') + .append('marker') + .attr('id', n.ONLY_ONE_START) + .attr('refX', 0) + .attr('refY', 9) + .attr('markerWidth', 18) + .attr('markerHeight', 18) + .attr('orient', 'auto') + .append('path') + .attr('stroke', t.stroke) + .attr('fill', 'none') + .attr('d', 'M9,0 L9,18 M15,0 L15,18'), + e + .append('defs') + .append('marker') + .attr('id', n.ONLY_ONE_END) + .attr('refX', 18) + .attr('refY', 9) + .attr('markerWidth', 18) + .attr('markerHeight', 18) + .attr('orient', 'auto') + .append('path') + .attr('stroke', t.stroke) + .attr('fill', 'none') + .attr('d', 'M3,0 L3,18 M9,0 L9,18'), + (i = e + .append('defs') + .append('marker') + .attr('id', n.ZERO_OR_ONE_START) + .attr('refX', 0) + .attr('refY', 9) + .attr('markerWidth', 30) + .attr('markerHeight', 18) + .attr('orient', 'auto')) + .append('circle') + .attr('stroke', t.stroke) + .attr('fill', 'white') + .attr('cx', 21) + .attr('cy', 9) + .attr('r', 6), + i + .append('path') + .attr('stroke', t.stroke) + .attr('fill', 'none') + .attr('d', 'M9,0 L9,18'), + (i = e + .append('defs') + .append('marker') + .attr('id', n.ZERO_OR_ONE_END) + .attr('refX', 30) + .attr('refY', 9) + .attr('markerWidth', 30) + .attr('markerHeight', 18) + .attr('orient', 'auto')) + .append('circle') + .attr('stroke', t.stroke) + .attr('fill', 'white') + .attr('cx', 9) + .attr('cy', 9) + .attr('r', 6), + i + .append('path') + .attr('stroke', t.stroke) + .attr('fill', 'none') + .attr('d', 'M21,0 L21,18'), + e + .append('defs') + .append('marker') + .attr('id', n.ONE_OR_MORE_START) + .attr('refX', 18) + .attr('refY', 18) + .attr('markerWidth', 45) + .attr('markerHeight', 36) + .attr('orient', 'auto') + .append('path') + .attr('stroke', t.stroke) + .attr('fill', 'none') + .attr( + 'd', + 'M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27' + ), + e + .append('defs') + .append('marker') + .attr('id', n.ONE_OR_MORE_END) + .attr('refX', 27) + .attr('refY', 18) + .attr('markerWidth', 45) + .attr('markerHeight', 36) + .attr('orient', 'auto') + .append('path') + .attr('stroke', t.stroke) + .attr('fill', 'none') + .attr('d', 'M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18'), + (i = e + .append('defs') + .append('marker') + .attr('id', n.ZERO_OR_MORE_START) + .attr('refX', 18) + .attr('refY', 18) + .attr('markerWidth', 57) + .attr('markerHeight', 36) + .attr('orient', 'auto')) + .append('circle') + .attr('stroke', t.stroke) + .attr('fill', 'white') + .attr('cx', 48) + .attr('cy', 18) + .attr('r', 6), + i + .append('path') + .attr('stroke', t.stroke) + .attr('fill', 'none') + .attr('d', 'M0,18 Q18,0 36,18 Q18,36 0,18'), + (i = e + .append('defs') + .append('marker') + .attr('id', n.ZERO_OR_MORE_END) + .attr('refX', 39) + .attr('refY', 18) + .attr('markerWidth', 57) + .attr('markerHeight', 36) + .attr('orient', 'auto')) + .append('circle') + .attr('stroke', t.stroke) + .attr('fill', 'white') + .attr('cx', 9) + .attr('cy', 18) + .attr('r', 6), + i + .append('path') + .attr('stroke', t.stroke) + .attr('fill', 'none') + .attr('d', 'M21,18 Q39,0 57,18 Q39,36 21,18'); + }, + }; + }, + './src/diagrams/er/erRenderer.js': function (e, t, i) { + 'use strict'; + i.r(t), + i.d(t, 'setConf', function () { + return m; + }), + i.d(t, 'draw', function () { + return v; + }); + var n = i('graphlib'), + r = i.n(n), + s = i('d3'), + o = i('./src/diagrams/er/erDb.js'), + a = i('./src/diagrams/er/parser/erDiagram.jison'), + l = i.n(a), + c = i('dagre'), + d = i.n(c), + h = i('./src/config.js'), + u = i('./src/logger.js'), + g = i('./src/diagrams/er/erMarkers.js'), + f = i('./src/utils.js'), + p = {}, + m = function (e) { + for (var t = Object.keys(e), i = 0; i < t.length; i++) + p[t[i]] = e[t[i]]; + }, + _ = function (e) { + return (e.entityA + e.roleA + e.entityB).replace(/\s/g, ''); + }, + b = 0, + v = function (e, t) { + u.log.info('Drawing ER diagram'), o.default.clear(); + var i = l.a.parser; + i.yy = o.default; + try { + i.parse(e); + } catch (e) { + u.log.debug('Parsing failed'); + } + var n, + a = Object(s.select)("[id='".concat(t, "']")); + g.default.insertMarkers(a, p), + (n = new r.a.Graph({ + multigraph: !0, + directed: !0, + compound: !1, + }) + .setGraph({ + rankdir: p.layoutDirection, + marginx: 20, + marginy: 20, + nodesep: 100, + edgesep: 100, + ranksep: 100, + }) + .setDefaultEdgeLabel(function () { + return {}; + })); + var c, + m, + v = (function (e, t, i) { + var n; + return ( + Object.keys(t).forEach(function (r) { + var s = e.append('g').attr('id', r); + n = void 0 === n ? r : n; + var o = 'entity-' + r, + a = s + .append('text') + .attr('class', 'er entityLabel') + .attr('id', o) + .attr('x', 0) + .attr('y', 0) + .attr('dominant-baseline', 'middle') + .attr('text-anchor', 'middle') + .attr( + 'style', + 'font-family: ' + + Object(h.getConfig)().fontFamily + + '; font-size: ' + + p.fontSize + + 'px' + ) + .text(r), + l = (function (e, t, i) { + var n = p.entityPadding / 3, + r = p.entityPadding / 3, + s = 0.85 * p.fontSize, + o = t.node().getBBox(), + a = [], + l = 0, + c = 0, + d = o.height + 2 * n, + u = 1; + i.forEach(function (i) { + var r = '' + .concat(t.node().id, '-attr-') + .concat(u), + o = e + .append('text') + .attr('class', 'er entityLabel') + .attr('id', ''.concat(r, '-type')) + .attr('x', 0) + .attr('y', 0) + .attr('dominant-baseline', 'middle') + .attr('text-anchor', 'left') + .attr( + 'style', + 'font-family: ' + + Object(h.getConfig)().fontFamily + + '; font-size: ' + + s + + 'px' + ) + .text(i.attributeType), + g = e + .append('text') + .attr('class', 'er entityLabel') + .attr('id', ''.concat(r, '-name')) + .attr('x', 0) + .attr('y', 0) + .attr('dominant-baseline', 'middle') + .attr('text-anchor', 'left') + .attr( + 'style', + 'font-family: ' + + Object(h.getConfig)().fontFamily + + '; font-size: ' + + s + + 'px' + ) + .text(i.attributeName); + a.push({ tn: o, nn: g }); + var f = o.node().getBBox(), + p = g.node().getBBox(); + (l = Math.max(l, f.width)), + (c = Math.max(c, p.width)), + (d += Math.max(f.height, p.height) + 2 * n), + (u += 1); + }); + var g = { + width: Math.max( + p.minEntityWidth, + Math.max( + o.width + 2 * p.entityPadding, + l + c + 4 * r + ) + ), + height: + i.length > 0 + ? d + : Math.max( + p.minEntityHeight, + o.height + 2 * p.entityPadding + ), + }, + f = Math.max(0, g.width - (l + c) - 4 * r); + if (i.length > 0) { + t.attr( + 'transform', + 'translate(' + + g.width / 2 + + ',' + + (n + o.height / 2) + + ')' + ); + var m = o.height + 2 * n, + _ = 'attributeBoxOdd'; + a.forEach(function (t) { + var i = + m + + n + + Math.max( + t.tn.node().getBBox().height, + t.nn.node().getBBox().height + ) / + 2; + t.tn.attr( + 'transform', + 'translate(' + r + ',' + i + ')' + ); + var s = e + .insert('rect', '#' + t.tn.node().id) + .attr('class', 'er '.concat(_)) + .attr('fill', p.fill) + .attr('fill-opacity', '100%') + .attr('stroke', p.stroke) + .attr('x', 0) + .attr('y', m) + .attr('width', l + 2 * r + f / 2) + .attr( + 'height', + t.tn.node().getBBox().height + 2 * n + ); + t.nn.attr( + 'transform', + 'translate(' + + (parseFloat(s.attr('width')) + r) + + ',' + + i + + ')' + ), + e + .insert('rect', '#' + t.nn.node().id) + .attr('class', 'er '.concat(_)) + .attr('fill', p.fill) + .attr('fill-opacity', '100%') + .attr('stroke', p.stroke) + .attr( + 'x', + ''.concat( + s.attr('x') + s.attr('width') + ) + ) + .attr('y', m) + .attr('width', c + 2 * r + f / 2) + .attr( + 'height', + t.nn.node().getBBox().height + 2 * n + ), + (m += + Math.max( + t.tn.node().getBBox().height, + t.nn.node().getBBox().height + ) + + 2 * n), + (_ = + 'attributeBoxOdd' == _ + ? 'attributeBoxEven' + : 'attributeBoxOdd'); + }); + } else + (g.height = Math.max(p.minEntityHeight, d)), + t.attr( + 'transform', + 'translate(' + + g.width / 2 + + ',' + + g.height / 2 + + ')' + ); + return g; + })(s, a, t[r].attributes), + c = l.width, + d = l.height, + u = s + .insert('rect', '#' + o) + .attr('class', 'er entityBox') + .attr('fill', p.fill) + .attr('fill-opacity', '100%') + .attr('stroke', p.stroke) + .attr('x', 0) + .attr('y', 0) + .attr('width', c) + .attr('height', d) + .node() + .getBBox(); + i.setNode(r, { + width: u.width, + height: u.height, + shape: 'rect', + id: r, + }); + }), + n + ); + })(a, o.default.getEntities(), n), + y = (function (e, t) { + return ( + e.forEach(function (e) { + t.setEdge( + e.entityA, + e.entityB, + { relationship: e }, + _(e) + ); + }), + e + ); + })(o.default.getRelationships(), n); + d.a.layout(n), + (c = a), + (m = n).nodes().forEach(function (e) { + void 0 !== e && + void 0 !== m.node(e) && + c + .select('#' + e) + .attr( + 'transform', + 'translate(' + + (m.node(e).x - m.node(e).width / 2) + + ',' + + (m.node(e).y - m.node(e).height / 2) + + ' )' + ); + }), + y.forEach(function (e) { + !(function (e, t, i, n) { + b++; + var r = i.edge(t.entityA, t.entityB, _(t)), + a = Object(s.line)() + .x(function (e) { + return e.x; + }) + .y(function (e) { + return e.y; + }) + .curve(s.curveBasis), + l = e + .insert('path', '#' + n) + .attr('class', 'er relationshipLine') + .attr('d', a(r.points)) + .attr('stroke', p.stroke) + .attr('fill', 'none'); + t.relSpec.relType === + o.default.Identification.NON_IDENTIFYING && + l.attr('stroke-dasharray', '8,8'); + var c = ''; + switch ( + (p.arrowMarkerAbsolute && + (c = (c = (c = + window.location.protocol + + '//' + + window.location.host + + window.location.pathname + + window.location.search).replace( + /\(/g, + '\\(' + )).replace(/\)/g, '\\)')), + t.relSpec.cardA) + ) { + case o.default.Cardinality.ZERO_OR_ONE: + l.attr( + 'marker-end', + 'url(' + + c + + '#' + + g.default.ERMarkers.ZERO_OR_ONE_END + + ')' + ); + break; + case o.default.Cardinality.ZERO_OR_MORE: + l.attr( + 'marker-end', + 'url(' + + c + + '#' + + g.default.ERMarkers.ZERO_OR_MORE_END + + ')' + ); + break; + case o.default.Cardinality.ONE_OR_MORE: + l.attr( + 'marker-end', + 'url(' + + c + + '#' + + g.default.ERMarkers.ONE_OR_MORE_END + + ')' + ); + break; + case o.default.Cardinality.ONLY_ONE: + l.attr( + 'marker-end', + 'url(' + + c + + '#' + + g.default.ERMarkers.ONLY_ONE_END + + ')' + ); + } + switch (t.relSpec.cardB) { + case o.default.Cardinality.ZERO_OR_ONE: + l.attr( + 'marker-start', + 'url(' + + c + + '#' + + g.default.ERMarkers.ZERO_OR_ONE_START + + ')' + ); + break; + case o.default.Cardinality.ZERO_OR_MORE: + l.attr( + 'marker-start', + 'url(' + + c + + '#' + + g.default.ERMarkers.ZERO_OR_MORE_START + + ')' + ); + break; + case o.default.Cardinality.ONE_OR_MORE: + l.attr( + 'marker-start', + 'url(' + + c + + '#' + + g.default.ERMarkers.ONE_OR_MORE_START + + ')' + ); + break; + case o.default.Cardinality.ONLY_ONE: + l.attr( + 'marker-start', + 'url(' + + c + + '#' + + g.default.ERMarkers.ONLY_ONE_START + + ')' + ); + } + var d = l.node().getTotalLength(), + u = l.node().getPointAtLength(0.5 * d), + f = 'rel' + b, + m = e + .append('text') + .attr('class', 'er relationshipLabel') + .attr('id', f) + .attr('x', u.x) + .attr('y', u.y) + .attr('text-anchor', 'middle') + .attr('dominant-baseline', 'middle') + .attr( + 'style', + 'font-family: ' + + Object(h.getConfig)().fontFamily + + '; font-size: ' + + p.fontSize + + 'px' + ) + .text(t.roleA) + .node() + .getBBox(); + e.insert('rect', '#' + f) + .attr('class', 'er relationshipLabelBox') + .attr('x', u.x - m.width / 2) + .attr('y', u.y - m.height / 2) + .attr('width', m.width) + .attr('height', m.height) + .attr('fill', 'white') + .attr('fill-opacity', '85%'); + })(a, e, n, v); + }); + var w = p.diagramPadding, + C = a.node().getBBox(), + S = C.width + 2 * w, + k = C.height + 2 * w; + Object(f.configureSvgSize)(a, k, S, p.useMaxWidth), + a.attr( + 'viewBox', + '' + .concat(C.x - w, ' ') + .concat(C.y - w, ' ') + .concat(S, ' ') + .concat(k) + ); + }; + t.default = { setConf: m, draw: v }; + }, + './src/diagrams/er/parser/erDiagram.jison': function (e, t, i) { + (function (e, n) { + var r = (function () { + var e = function (e, t, i, n) { + for (i = i || {}, n = e.length; n--; i[e[n]] = t); + return i; + }, + t = [1, 2], + i = [1, 5], + n = [6, 9, 11, 23, 37], + r = [1, 17], + s = [1, 20], + o = [1, 25], + a = [1, 26], + l = [1, 27], + c = [1, 28], + d = [1, 37], + h = [23, 34, 35], + u = [4, 6, 9, 11, 23, 37], + g = [30, 31, 32, 33], + f = [22, 27], + p = { + trace: function () {}, + yy: {}, + symbols_: { + error: 2, + start: 3, + ER_DIAGRAM: 4, + document: 5, + EOF: 6, + directive: 7, + line: 8, + SPACE: 9, + statement: 10, + NEWLINE: 11, + openDirective: 12, + typeDirective: 13, + closeDirective: 14, + ':': 15, + argDirective: 16, + entityName: 17, + relSpec: 18, + role: 19, + BLOCK_START: 20, + attributes: 21, + BLOCK_STOP: 22, + ALPHANUM: 23, + attribute: 24, + attributeType: 25, + attributeName: 26, + ATTRIBUTE_WORD: 27, + cardinality: 28, + relType: 29, + ZERO_OR_ONE: 30, + ZERO_OR_MORE: 31, + ONE_OR_MORE: 32, + ONLY_ONE: 33, + NON_IDENTIFYING: 34, + IDENTIFYING: 35, + WORD: 36, + open_directive: 37, + type_directive: 38, + arg_directive: 39, + close_directive: 40, + $accept: 0, + $end: 1, + }, + terminals_: { + 2: 'error', + 4: 'ER_DIAGRAM', + 6: 'EOF', + 9: 'SPACE', + 11: 'NEWLINE', + 15: ':', + 20: 'BLOCK_START', + 22: 'BLOCK_STOP', + 23: 'ALPHANUM', + 27: 'ATTRIBUTE_WORD', + 30: 'ZERO_OR_ONE', + 31: 'ZERO_OR_MORE', + 32: 'ONE_OR_MORE', + 33: 'ONLY_ONE', + 34: 'NON_IDENTIFYING', + 35: 'IDENTIFYING', + 36: 'WORD', + 37: 'open_directive', + 38: 'type_directive', + 39: 'arg_directive', + 40: 'close_directive', + }, + productions_: [ + 0, + [3, 3], + [3, 2], + [5, 0], + [5, 2], + [8, 2], + [8, 1], + [8, 1], + [8, 1], + [7, 4], + [7, 6], + [10, 1], + [10, 5], + [10, 4], + [10, 3], + [10, 1], + [17, 1], + [21, 1], + [21, 2], + [24, 2], + [25, 1], + [26, 1], + [18, 3], + [28, 1], + [28, 1], + [28, 1], + [28, 1], + [29, 1], + [29, 1], + [19, 1], + [19, 1], + [12, 1], + [13, 1], + [16, 1], + [14, 1], + ], + performAction: function (e, t, i, n, r, s, o) { + var a = s.length - 1; + switch (r) { + case 1: + break; + case 3: + this.$ = []; + break; + case 4: + s[a - 1].push(s[a]), (this.$ = s[a - 1]); + break; + case 5: + case 6: + this.$ = s[a]; + break; + case 7: + case 8: + this.$ = []; + break; + case 12: + n.addEntity(s[a - 4]), + n.addEntity(s[a - 2]), + n.addRelationship( + s[a - 4], + s[a], + s[a - 2], + s[a - 3] + ); + break; + case 13: + n.addEntity(s[a - 3]), + n.addAttributes(s[a - 3], s[a - 1]); + break; + case 14: + n.addEntity(s[a - 2]); + break; + case 15: + n.addEntity(s[a]); + break; + case 16: + this.$ = s[a]; + break; + case 17: + this.$ = [s[a]]; + break; + case 18: + s[a].push(s[a - 1]), (this.$ = s[a]); + break; + case 19: + this.$ = { + attributeType: s[a - 1], + attributeName: s[a], + }; + break; + case 20: + case 21: + this.$ = s[a]; + break; + case 22: + this.$ = { + cardA: s[a], + relType: s[a - 1], + cardB: s[a - 2], + }; + break; + case 23: + this.$ = n.Cardinality.ZERO_OR_ONE; + break; + case 24: + this.$ = n.Cardinality.ZERO_OR_MORE; + break; + case 25: + this.$ = n.Cardinality.ONE_OR_MORE; + break; + case 26: + this.$ = n.Cardinality.ONLY_ONE; + break; + case 27: + this.$ = n.Identification.NON_IDENTIFYING; + break; + case 28: + this.$ = n.Identification.IDENTIFYING; + break; + case 29: + this.$ = s[a].replace(/"/g, ''); + break; + case 30: + this.$ = s[a]; + break; + case 31: + n.parseDirective('%%{', 'open_directive'); + break; + case 32: + n.parseDirective(s[a], 'type_directive'); + break; + case 33: + (s[a] = s[a].trim().replace(/'/g, '"')), + n.parseDirective(s[a], 'arg_directive'); + break; + case 34: + n.parseDirective('}%%', 'close_directive', 'er'); + } + }, + table: [ + { 3: 1, 4: t, 7: 3, 12: 4, 37: i }, + { 1: [3] }, + e(n, [2, 3], { 5: 6 }), + { 3: 7, 4: t, 7: 3, 12: 4, 37: i }, + { 13: 8, 38: [1, 9] }, + { 38: [2, 31] }, + { + 6: [1, 10], + 7: 15, + 8: 11, + 9: [1, 12], + 10: 13, + 11: [1, 14], + 12: 4, + 17: 16, + 23: r, + 37: i, + }, + { 1: [2, 2] }, + { 14: 18, 15: [1, 19], 40: s }, + e([15, 40], [2, 32]), + e(n, [2, 8], { 1: [2, 1] }), + e(n, [2, 4]), + { 7: 15, 10: 21, 12: 4, 17: 16, 23: r, 37: i }, + e(n, [2, 6]), + e(n, [2, 7]), + e(n, [2, 11]), + e(n, [2, 15], { + 18: 22, + 28: 24, + 20: [1, 23], + 30: o, + 31: a, + 32: l, + 33: c, + }), + e( + [6, 9, 11, 15, 20, 23, 30, 31, 32, 33, 37], + [2, 16] + ), + { 11: [1, 29] }, + { 16: 30, 39: [1, 31] }, + { 11: [2, 34] }, + e(n, [2, 5]), + { 17: 32, 23: r }, + { 21: 33, 22: [1, 34], 24: 35, 25: 36, 27: d }, + { 29: 38, 34: [1, 39], 35: [1, 40] }, + e(h, [2, 23]), + e(h, [2, 24]), + e(h, [2, 25]), + e(h, [2, 26]), + e(u, [2, 9]), + { 14: 41, 40: s }, + { 40: [2, 33] }, + { 15: [1, 42] }, + { 22: [1, 43] }, + e(n, [2, 14]), + { 21: 44, 22: [2, 17], 24: 35, 25: 36, 27: d }, + { 26: 45, 27: [1, 46] }, + { 27: [2, 20] }, + { 28: 47, 30: o, 31: a, 32: l, 33: c }, + e(g, [2, 27]), + e(g, [2, 28]), + { 11: [1, 48] }, + { 19: 49, 23: [1, 51], 36: [1, 50] }, + e(n, [2, 13]), + { 22: [2, 18] }, + e(f, [2, 19]), + e(f, [2, 21]), + { 23: [2, 22] }, + e(u, [2, 10]), + e(n, [2, 12]), + e(n, [2, 29]), + e(n, [2, 30]), + ], + defaultActions: { + 5: [2, 31], + 7: [2, 2], + 20: [2, 34], + 31: [2, 33], + 37: [2, 20], + 44: [2, 18], + 47: [2, 22], + }, + parseError: function (e, t) { + if (!t.recoverable) { + var i = new Error(e); + throw ((i.hash = t), i); + } + this.trace(e); + }, + parse: function (e) { + var t = this, + i = [0], + n = [], + r = [null], + s = [], + o = this.table, + a = '', + l = 0, + c = 0, + d = 0, + h = 2, + u = 1, + g = s.slice.call(arguments, 1), + f = Object.create(this.lexer), + p = { yy: {} }; + for (var m in this.yy) + Object.prototype.hasOwnProperty.call(this.yy, m) && + (p.yy[m] = this.yy[m]); + f.setInput(e, p.yy), + (p.yy.lexer = f), + (p.yy.parser = this), + void 0 === f.yylloc && (f.yylloc = {}); + var _ = f.yylloc; + s.push(_); + var b = f.options && f.options.ranges; + function v() { + var e; + return ( + 'number' != + typeof (e = n.pop() || f.lex() || u) && + (e instanceof Array && (e = (n = e).pop()), + (e = t.symbols_[e] || e)), + e + ); + } + 'function' == typeof p.yy.parseError + ? (this.parseError = p.yy.parseError) + : (this.parseError = Object.getPrototypeOf( + this + ).parseError); + for (var y, w, C, S, k, x, L, M, D, N = {}; ; ) { + if ( + ((C = i[i.length - 1]), + this.defaultActions[C] + ? (S = this.defaultActions[C]) + : (null == y && (y = v()), + (S = o[C] && o[C][y])), + void 0 === S || !S.length || !S[0]) + ) { + var E = ''; + for (x in ((D = []), o[C])) + this.terminals_[x] && + x > h && + D.push("'" + this.terminals_[x] + "'"); + (E = f.showPosition + ? 'Parse error on line ' + + (l + 1) + + ':\n' + + f.showPosition() + + '\nExpecting ' + + D.join(', ') + + ", got '" + + (this.terminals_[y] || y) + + "'" + : 'Parse error on line ' + + (l + 1) + + ': Unexpected ' + + (y == u + ? 'end of input' + : "'" + (this.terminals_[y] || y) + "'")), + this.parseError(E, { + text: f.match, + token: this.terminals_[y] || y, + line: f.yylineno, + loc: _, + expected: D, + }); + } + if (S[0] instanceof Array && S.length > 1) + throw new Error( + 'Parse Error: multiple actions possible at state: ' + + C + + ', token: ' + + y + ); + switch (S[0]) { + case 1: + i.push(y), + r.push(f.yytext), + s.push(f.yylloc), + i.push(S[1]), + (y = null), + w + ? ((y = w), (w = null)) + : ((c = f.yyleng), + (a = f.yytext), + (l = f.yylineno), + (_ = f.yylloc), + d > 0 && d--); + break; + case 2: + if ( + ((L = this.productions_[S[1]][1]), + (N.$ = r[r.length - L]), + (N._$ = { + first_line: + s[s.length - (L || 1)].first_line, + last_line: s[s.length - 1].last_line, + first_column: + s[s.length - (L || 1)].first_column, + last_column: s[s.length - 1].last_column, + }), + b && + (N._$.range = [ + s[s.length - (L || 1)].range[0], + s[s.length - 1].range[1], + ]), + void 0 !== + (k = this.performAction.apply( + N, + [a, c, l, p.yy, S[1], r, s].concat(g) + ))) + ) + return k; + L && + ((i = i.slice(0, -1 * L * 2)), + (r = r.slice(0, -1 * L)), + (s = s.slice(0, -1 * L))), + i.push(this.productions_[S[1]][0]), + r.push(N.$), + s.push(N._$), + (M = o[i[i.length - 2]][i[i.length - 1]]), + i.push(M); + break; + case 3: + return !0; + } + } + return !0; + }, + }, + m = { + EOF: 1, + parseError: function (e, t) { + if (!this.yy.parser) throw new Error(e); + this.yy.parser.parseError(e, t); + }, + setInput: function (e, t) { + return ( + (this.yy = t || this.yy || {}), + (this._input = e), + (this._more = this._backtrack = this.done = !1), + (this.yylineno = this.yyleng = 0), + (this.yytext = this.matched = this.match = ''), + (this.conditionStack = ['INITIAL']), + (this.yylloc = { + first_line: 1, + first_column: 0, + last_line: 1, + last_column: 0, + }), + this.options.ranges && (this.yylloc.range = [0, 0]), + (this.offset = 0), + this + ); + }, + input: function () { + var e = this._input[0]; + return ( + (this.yytext += e), + this.yyleng++, + this.offset++, + (this.match += e), + (this.matched += e), + e.match(/(?:\r\n?|\n).*/g) + ? (this.yylineno++, this.yylloc.last_line++) + : this.yylloc.last_column++, + this.options.ranges && this.yylloc.range[1]++, + (this._input = this._input.slice(1)), + e + ); + }, + unput: function (e) { + var t = e.length, + i = e.split(/(?:\r\n?|\n)/g); + (this._input = e + this._input), + (this.yytext = this.yytext.substr( + 0, + this.yytext.length - t + )), + (this.offset -= t); + var n = this.match.split(/(?:\r\n?|\n)/g); + (this.match = this.match.substr( + 0, + this.match.length - 1 + )), + (this.matched = this.matched.substr( + 0, + this.matched.length - 1 + )), + i.length - 1 && (this.yylineno -= i.length - 1); + var r = 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: i + ? (i.length === n.length + ? this.yylloc.first_column + : 0) + + n[n.length - i.length].length - + i[0].length + : this.yylloc.first_column - t, + }), + this.options.ranges && + (this.yylloc.range = [ + r[0], + r[0] + this.yyleng - t, + ]), + (this.yyleng = this.yytext.length), + this + ); + }, + more: function () { + return (this._more = !0), this; + }, + reject: function () { + return this.options.backtrack_lexer + ? ((this._backtrack = !0), this) + : this.parseError( + 'Lexical error on line ' + + (this.yylineno + 1) + + '. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n' + + this.showPosition(), + { text: '', token: null, line: this.yylineno } + ); + }, + less: function (e) { + this.unput(this.match.slice(e)); + }, + pastInput: function () { + var e = this.matched.substr( + 0, + this.matched.length - this.match.length + ); + return ( + (e.length > 20 ? '...' : '') + + e.substr(-20).replace(/\n/g, '') + ); + }, + upcomingInput: function () { + var e = this.match; + return ( + e.length < 20 && + (e += this._input.substr(0, 20 - e.length)), + ( + e.substr(0, 20) + (e.length > 20 ? '...' : '') + ).replace(/\n/g, '') + ); + }, + showPosition: function () { + var e = this.pastInput(), + t = new Array(e.length + 1).join('-'); + return e + this.upcomingInput() + '\n' + t + '^'; + }, + test_match: function (e, t) { + var i, n, r; + if ( + (this.options.backtrack_lexer && + ((r = { + 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 && + (r.yylloc.range = this.yylloc.range.slice(0))), + (n = e[0].match(/(?:\r\n?|\n).*/g)) && + (this.yylineno += n.length), + (this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: n + ? n[n.length - 1].length - + n[n.length - 1].match(/\r?\n?/)[0].length + : this.yylloc.last_column + e[0].length, + }), + (this.yytext += e[0]), + (this.match += e[0]), + (this.matches = e), + (this.yyleng = this.yytext.length), + this.options.ranges && + (this.yylloc.range = [ + this.offset, + (this.offset += this.yyleng), + ]), + (this._more = !1), + (this._backtrack = !1), + (this._input = this._input.slice(e[0].length)), + (this.matched += e[0]), + (i = this.performAction.call( + this, + this.yy, + this, + t, + this.conditionStack[ + this.conditionStack.length - 1 + ] + )), + this.done && this._input && (this.done = !1), + i) + ) + return i; + if (this._backtrack) { + for (var s in r) this[s] = r[s]; + return !1; + } + return !1; + }, + next: function () { + if (this.done) return this.EOF; + var e, t, i, n; + this._input || (this.done = !0), + this._more || + ((this.yytext = ''), (this.match = '')); + for ( + var r = this._currentRules(), s = 0; + s < r.length; + s++ + ) + if ( + (i = this._input.match(this.rules[r[s]])) && + (!t || i[0].length > t[0].length) + ) { + if ( + ((t = i), (n = s), this.options.backtrack_lexer) + ) { + if (!1 !== (e = this.test_match(i, r[s]))) + return e; + if (this._backtrack) { + t = !1; + continue; + } + return !1; + } + if (!this.options.flex) break; + } + return t + ? !1 !== (e = this.test_match(t, r[n])) && e + : '' === this._input + ? this.EOF + : this.parseError( + 'Lexical error on line ' + + (this.yylineno + 1) + + '. Unrecognized text.\n' + + this.showPosition(), + { text: '', token: null, line: this.yylineno } + ); + }, + lex: function () { + return this.next() || this.lex(); + }, + begin: function (e) { + this.conditionStack.push(e); + }, + popState: function () { + return this.conditionStack.length - 1 > 0 + ? this.conditionStack.pop() + : this.conditionStack[0]; + }, + _currentRules: function () { + return this.conditionStack.length && + this.conditionStack[this.conditionStack.length - 1] + ? this.conditions[ + this.conditionStack[ + this.conditionStack.length - 1 + ] + ].rules + : this.conditions.INITIAL.rules; + }, + topState: function (e) { + return (e = + this.conditionStack.length - + 1 - + Math.abs(e || 0)) >= 0 + ? this.conditionStack[e] + : 'INITIAL'; + }, + pushState: function (e) { + this.begin(e); + }, + stateStackSize: function () { + return this.conditionStack.length; + }, + options: { 'case-insensitive': !0 }, + performAction: function (e, t, i, n) { + switch (i) { + case 0: + return this.begin('open_directive'), 37; + case 1: + return this.begin('type_directive'), 38; + case 2: + return ( + this.popState(), this.begin('arg_directive'), 15 + ); + case 3: + return this.popState(), this.popState(), 40; + case 4: + return 39; + case 5: + case 6: + break; + case 7: + return 11; + case 8: + break; + case 9: + return 9; + case 10: + return 36; + case 11: + return 4; + case 12: + return this.begin('block'), 20; + case 13: + break; + case 14: + return 27; + case 15: + break; + case 16: + return this.popState(), 22; + case 17: + return t.yytext[0]; + case 18: + return 30; + case 19: + return 31; + case 20: + return 32; + case 21: + return 33; + case 22: + return 30; + case 23: + return 31; + case 24: + return 32; + case 25: + return 34; + case 26: + return 35; + case 27: + case 28: + return 34; + case 29: + return 23; + case 30: + return t.yytext[0]; + case 31: + return 6; + } + }, + rules: [ + /^(?:%%\{)/i, + /^(?:((?:(?!\}%%)[^:.])*))/i, + /^(?::)/i, + /^(?:\}%%)/i, + /^(?:((?:(?!\}%%).|\n)*))/i, + /^(?:%(?!\{)[^\n]*)/i, + /^(?:[^\}]%%[^\n]*)/i, + /^(?:[\n]+)/i, + /^(?:\s+)/i, + /^(?:[\s]+)/i, + /^(?:"[^"]*")/i, + /^(?:erDiagram\b)/i, + /^(?:\{)/i, + /^(?:\s+)/i, + /^(?:[A-Za-z][A-Za-z0-9\-_]*)/i, + /^(?:[\n]+)/i, + /^(?:\})/i, + /^(?:.)/i, + /^(?:\|o\b)/i, + /^(?:\}o\b)/i, + /^(?:\}\|)/i, + /^(?:\|\|)/i, + /^(?:o\|)/i, + /^(?:o\{)/i, + /^(?:\|\{)/i, + /^(?:\.\.)/i, + /^(?:--)/i, + /^(?:\.-)/i, + /^(?:-\.)/i, + /^(?:[A-Za-z][A-Za-z0-9\-_]*)/i, + /^(?:.)/i, + /^(?:$)/i, + ], + conditions: { + open_directive: { rules: [1], inclusive: !1 }, + type_directive: { rules: [2, 3], inclusive: !1 }, + arg_directive: { rules: [3, 4], inclusive: !1 }, + block: { rules: [13, 14, 15, 16, 17], inclusive: !1 }, + INITIAL: { + rules: [ + 0, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + ], + inclusive: !0, + }, + }, + }; + function _() { + this.yy = {}; + } + return ( + (p.lexer = m), (_.prototype = p), (p.Parser = _), new _() + ); + })(); + (t.parser = r), + (t.Parser = r.Parser), + (t.parse = function () { + return r.parse.apply(r, arguments); + }), + (t.main = function (n) { + n[1] || + (console.log('Usage: ' + n[0] + ' FILE'), e.exit(1)); + var r = i( + './node_modules/node-libs-browser/mock/empty.js' + ).readFileSync( + i('./node_modules/path-browserify/index.js').normalize( + n[1] + ), + 'utf8' + ); + return t.parser.parse(r); + }), + i.c[i.s] === n && t.main(e.argv.slice(1)); + }.call( + this, + i('./node_modules/process/browser.js'), + i('./node_modules/webpack/buildin/module.js')(e) + )); + }, + './src/diagrams/er/styles.js': function (e, t, i) { + 'use strict'; + i.r(t), + (t.default = function (e) { + return '\n .entityBox {\n fill: ' + .concat(e.mainBkg, ';\n stroke: ') + .concat( + e.nodeBorder, + ';\n }\n\n .attributeBoxOdd {\n fill: #ffffff;\n stroke: ' + ) + .concat( + e.nodeBorder, + ';\n }\n\n .attributeBoxEven {\n fill: #f2f2f2;\n stroke: ' + ) + .concat( + e.nodeBorder, + ';\n }\n\n .relationshipLabelBox {\n fill: ' + ) + .concat( + e.tertiaryColor, + ';\n opacity: 0.7;\n background-color: ' + ) + .concat( + e.tertiaryColor, + ';\n rect {\n opacity: 0.5;\n }\n }\n\n .relationshipLine {\n stroke: ' + ) + .concat(e.lineColor, ';\n }\n'); + }); + }, + './src/diagrams/flowchart/flowChartShapes.js': function ( + e, + t, + i + ) { + 'use strict'; + i.r(t), + i.d(t, 'addToRender', function () { + return m; + }), + i.d(t, 'addToRenderV2', function () { + return _; + }); + var n = i('dagre-d3'), + r = i.n(n); + function s(e, t, i) { + var n = 0.9 * (t.width + t.height), + s = [ + { x: n / 2, y: 0 }, + { x: n, y: -n / 2 }, + { x: n / 2, y: -n }, + { x: 0, y: -n / 2 }, + ], + o = b(e, n, n, s); + return ( + (i.intersect = function (e) { + return r.a.intersect.polygon(i, s, e); + }), + o + ); + } + function o(e, t, i) { + var n = t.height, + s = n / 4, + o = t.width + 2 * s, + a = [ + { x: s, y: 0 }, + { x: o - s, y: 0 }, + { x: o, y: -n / 2 }, + { x: o - s, y: -n }, + { x: s, y: -n }, + { x: 0, y: -n / 2 }, + ], + l = b(e, o, n, a); + return ( + (i.intersect = function (e) { + return r.a.intersect.polygon(i, a, e); + }), + l + ); + } + function a(e, t, i) { + var n = t.width, + s = t.height, + o = [ + { x: -s / 2, y: 0 }, + { x: n, y: 0 }, + { x: n, y: -s }, + { x: -s / 2, y: -s }, + { x: 0, y: -s / 2 }, + ], + a = b(e, n, s, o); + return ( + (i.intersect = function (e) { + return r.a.intersect.polygon(i, o, e); + }), + a + ); + } + function l(e, t, i) { + var n = t.width, + s = t.height, + o = [ + { x: (-2 * s) / 6, y: 0 }, + { x: n - s / 6, y: 0 }, + { x: n + (2 * s) / 6, y: -s }, + { x: s / 6, y: -s }, + ], + a = b(e, n, s, o); + return ( + (i.intersect = function (e) { + return r.a.intersect.polygon(i, o, e); + }), + a + ); + } + function c(e, t, i) { + var n = t.width, + s = t.height, + o = [ + { x: (2 * s) / 6, y: 0 }, + { x: n + s / 6, y: 0 }, + { x: n - (2 * s) / 6, y: -s }, + { x: -s / 6, y: -s }, + ], + a = b(e, n, s, o); + return ( + (i.intersect = function (e) { + return r.a.intersect.polygon(i, o, e); + }), + a + ); + } + function d(e, t, i) { + var n = t.width, + s = t.height, + o = [ + { x: (-2 * s) / 6, y: 0 }, + { x: n + (2 * s) / 6, y: 0 }, + { x: n - s / 6, y: -s }, + { x: s / 6, y: -s }, + ], + a = b(e, n, s, o); + return ( + (i.intersect = function (e) { + return r.a.intersect.polygon(i, o, e); + }), + a + ); + } + function h(e, t, i) { + var n = t.width, + s = t.height, + o = [ + { x: s / 6, y: 0 }, + { x: n - s / 6, y: 0 }, + { x: n + (2 * s) / 6, y: -s }, + { x: (-2 * s) / 6, y: -s }, + ], + a = b(e, n, s, o); + return ( + (i.intersect = function (e) { + return r.a.intersect.polygon(i, o, e); + }), + a + ); + } + function u(e, t, i) { + var n = t.width, + s = t.height, + o = [ + { x: 0, y: 0 }, + { x: n + s / 2, y: 0 }, + { x: n, y: -s / 2 }, + { x: n + s / 2, y: -s }, + { x: 0, y: -s }, + ], + a = b(e, n, s, o); + return ( + (i.intersect = function (e) { + return r.a.intersect.polygon(i, o, e); + }), + a + ); + } + function g(e, t, i) { + var n = t.height, + s = t.width + n / 4, + o = e + .insert('rect', ':first-child') + .attr('rx', n / 2) + .attr('ry', n / 2) + .attr('x', -s / 2) + .attr('y', -n / 2) + .attr('width', s) + .attr('height', n); + return ( + (i.intersect = function (e) { + return r.a.intersect.rect(i, e); + }), + o + ); + } + function f(e, t, i) { + var n = t.width, + s = t.height, + o = [ + { x: 0, y: 0 }, + { x: n, y: 0 }, + { x: n, y: -s }, + { x: 0, y: -s }, + { x: 0, y: 0 }, + { x: -8, y: 0 }, + { x: n + 8, y: 0 }, + { x: n + 8, y: -s }, + { x: -8, y: -s }, + { x: -8, y: 0 }, + ], + a = b(e, n, s, o); + return ( + (i.intersect = function (e) { + return r.a.intersect.polygon(i, o, e); + }), + a + ); + } + function p(e, t, i) { + var n = t.width, + s = n / 2, + o = s / (2.5 + n / 50), + a = t.height + o, + l = + 'M 0,' + + o + + ' a ' + + s + + ',' + + o + + ' 0,0,0 ' + + n + + ' 0 a ' + + s + + ',' + + o + + ' 0,0,0 ' + + -n + + ' 0 l 0,' + + a + + ' a ' + + s + + ',' + + o + + ' 0,0,0 ' + + n + + ' 0 l 0,' + + -a, + c = e + .attr('label-offset-y', o) + .insert('path', ':first-child') + .attr('d', l) + .attr( + 'transform', + 'translate(' + -n / 2 + ',' + -(a / 2 + o) + ')' + ); + return ( + (i.intersect = function (e) { + var t = r.a.intersect.rect(i, e), + n = t.x - i.x; + if ( + 0 != s && + (Math.abs(n) < i.width / 2 || + (Math.abs(n) == i.width / 2 && + Math.abs(t.y - i.y) > i.height / 2 - o)) + ) { + var a = o * o * (1 - (n * n) / (s * s)); + 0 != a && (a = Math.sqrt(a)), + (a = o - a), + e.y - i.y > 0 && (a = -a), + (t.y += a); + } + return t; + }), + c + ); + } + function m(e) { + (e.shapes().question = s), + (e.shapes().hexagon = o), + (e.shapes().stadium = g), + (e.shapes().subroutine = f), + (e.shapes().cylinder = p), + (e.shapes().rect_left_inv_arrow = a), + (e.shapes().lean_right = l), + (e.shapes().lean_left = c), + (e.shapes().trapezoid = d), + (e.shapes().inv_trapezoid = h), + (e.shapes().rect_right_inv_arrow = u); + } + function _(e) { + e({ question: s }), + e({ hexagon: o }), + e({ stadium: g }), + e({ subroutine: f }), + e({ cylinder: p }), + e({ rect_left_inv_arrow: a }), + e({ lean_right: l }), + e({ lean_left: c }), + e({ trapezoid: d }), + e({ inv_trapezoid: h }), + e({ rect_right_inv_arrow: u }); + } + function b(e, t, i, n) { + return e + .insert('polygon', ':first-child') + .attr( + 'points', + n + .map(function (e) { + return e.x + ',' + e.y; + }) + .join(' ') + ) + .attr( + 'transform', + 'translate(' + -t / 2 + ',' + i / 2 + ')' + ); + } + t.default = { addToRender: m, addToRenderV2: _ }; + }, + './src/diagrams/flowchart/flowDb.js': function (e, t, i) { + 'use strict'; + i.r(t), + i.d(t, 'parseDirective', function () { + return S; + }), + i.d(t, 'lookUpDomId', function () { + return k; + }), + i.d(t, 'addVertex', function () { + return x; + }), + i.d(t, 'addSingleLink', function () { + return L; + }), + i.d(t, 'addLink', function () { + return M; + }), + i.d(t, 'updateLinkInterpolate', function () { + return D; + }), + i.d(t, 'updateLink', function () { + return N; + }), + i.d(t, 'addClass', function () { + return E; + }), + i.d(t, 'setDirection', function () { + return T; + }), + i.d(t, 'setClass', function () { + return I; + }), + i.d(t, 'setLink', function () { + return O; + }), + i.d(t, 'getTooltip', function () { + return A; + }), + i.d(t, 'setClickEvent', function () { + return R; + }), + i.d(t, 'bindFunctions', function () { + return P; + }), + i.d(t, 'getDirection', function () { + return F; + }), + i.d(t, 'getVertices', function () { + return B; + }), + i.d(t, 'getEdges', function () { + return W; + }), + i.d(t, 'getClasses', function () { + return Y; + }), + i.d(t, 'clear', function () { + return j; + }), + i.d(t, 'setGen', function () { + return V; + }), + i.d(t, 'defaultStyle', function () { + return z; + }), + i.d(t, 'addSubGraph', function () { + return U; + }), + i.d(t, 'getDepthFirstPos', function () { + return Z; + }), + i.d(t, 'indexNodes', function () { + return J; + }), + i.d(t, 'getSubGraphs', function () { + return Q; + }), + i.d(t, 'firstGraph', function () { + return X; + }); + var n = i('d3'), + r = i('./src/utils.js'), + s = i('./src/config.js'), + o = i('./src/diagrams/common/common.js'), + a = i('./src/mermaidAPI.js'), + l = i('./src/logger.js'); + function c(e) { + return (c = + 'function' == typeof Symbol && + 'symbol' == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + 'function' == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? 'symbol' + : typeof e; + })(e); + } + var d, + h, + u = 0, + g = s.getConfig(), + f = {}, + p = [], + m = [], + _ = [], + b = {}, + v = {}, + y = 0, + w = !0, + C = [], + S = function (e, t, i) { + a.default.parseDirective(this, e, t, i); + }, + k = function (e) { + for (var t = Object.keys(f), i = 0; i < t.length; i++) + if (f[t[i]].id === e) return f[t[i]].domId; + return e; + }, + x = function (e, t, i, n, r) { + var a, + l = e; + void 0 !== l && + 0 !== l.trim().length && + (void 0 === f[l] && + (f[l] = { + id: l, + domId: 'flowchart-' + l + '-' + u, + styles: [], + classes: [], + }), + u++, + void 0 !== t + ? ((g = s.getConfig()), + '"' === + (a = o.default.sanitizeText(t.trim(), g))[0] && + '"' === a[a.length - 1] && + (a = a.substring(1, a.length - 1)), + (f[l].text = a)) + : void 0 === f[l].text && (f[l].text = e), + void 0 !== i && (f[l].type = i), + null != n && + n.forEach(function (e) { + f[l].styles.push(e); + }), + null != r && + r.forEach(function (e) { + f[l].classes.push(e); + })); + }, + L = function (e, t, i, n) { + var r = { start: e, end: t, type: void 0, text: '' }; + void 0 !== (n = i.text) && + ((r.text = o.default.sanitizeText(n.trim(), g)), + '"' === r.text[0] && + '"' === r.text[r.text.length - 1] && + (r.text = r.text.substring(1, r.text.length - 1))), + void 0 !== i && + ((r.type = i.type), + (r.stroke = i.stroke), + (r.length = i.length)), + p.push(r); + }, + M = function (e, t, i, n) { + var r, s; + for (r = 0; r < e.length; r++) + for (s = 0; s < t.length; s++) L(e[r], t[s], i, n); + }, + D = function (e, t) { + e.forEach(function (e) { + 'default' === e + ? (p.defaultInterpolate = t) + : (p[e].interpolate = t); + }); + }, + N = function (e, t) { + e.forEach(function (e) { + 'default' === e + ? (p.defaultStyle = t) + : (-1 === r.default.isSubstringInArray('fill', t) && + t.push('fill:none'), + (p[e].style = t)); + }); + }, + E = function (e, t) { + void 0 === m[e] && + (m[e] = { id: e, styles: [], textStyles: [] }), + null != t && + t.forEach(function (t) { + if (t.match('color')) { + var i = t + .replace('fill', 'bgFill') + .replace('color', 'fill'); + m[e].textStyles.push(i); + } + m[e].styles.push(t); + }); + }, + T = function (e) { + (d = e).match(/.*</) && (d = 'RL'), + d.match(/.*\^/) && (d = 'BT'), + d.match(/.*>/) && (d = 'LR'), + d.match(/.*v/) && (d = 'TB'); + }, + I = function (e, t) { + e.split(',').forEach(function (e) { + var i = e; + void 0 !== f[i] && f[i].classes.push(t), + void 0 !== b[i] && b[i].classes.push(t); + }); + }, + O = function (e, t, i) { + e.split(',').forEach(function (e) { + void 0 !== f[e] && + ((f[e].link = r.default.formatUrl(t, g)), + (f[e].linkTarget = i)); + }), + I(e, 'clickable'); + }, + A = function (e) { + return v[e]; + }, + R = function (e, t, i) { + e.split(',').forEach(function (e) { + !(function (e, t, i) { + var n = k(e); + if ( + 'loose' === s.getConfig().securityLevel && + void 0 !== t + ) { + var o = []; + if ('string' == typeof i) { + o = i.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/); + for (var a = 0; a < o.length; a++) { + var l = o[a].trim(); + '"' === l.charAt(0) && + '"' === l.charAt(l.length - 1) && + (l = l.substr(1, l.length - 2)), + (o[a] = l); + } + } + 0 === o.length && o.push(e), + void 0 !== f[e] && + ((f[e].haveCallback = !0), + C.push(function () { + var e = document.querySelector( + '[id="'.concat(n, '"]') + ); + null !== e && + e.addEventListener( + 'click', + function () { + var e; + r.default.runFunc.apply( + r.default, + [t].concat( + (function (e) { + if (Array.isArray(e)) { + for ( + var t = 0, + i = new Array(e.length); + t < e.length; + t++ + ) + i[t] = e[t]; + return i; + } + })((e = o)) || + (function (e) { + if ( + Symbol.iterator in Object(e) || + '[object Arguments]' === + Object.prototype.toString.call( + e + ) + ) + return Array.from(e); + })(e) || + (function () { + throw new TypeError( + 'Invalid attempt to spread non-iterable instance' + ); + })() + ) + ); + }, + !1 + ); + })); + } + })(e, t, i); + }), + I(e, 'clickable'); + }, + P = function (e) { + C.forEach(function (t) { + t(e); + }); + }, + F = function () { + return d.trim(); + }, + B = function () { + return f; + }, + W = function () { + return p; + }, + Y = function () { + return m; + }, + H = function (e) { + var t = Object(n.select)('.mermaidTooltip'); + null === (t._groups || t)[0][0] && + (t = Object(n.select)('body') + .append('div') + .attr('class', 'mermaidTooltip') + .style('opacity', 0)), + Object(n.select)(e) + .select('svg') + .selectAll('g.node') + .on('mouseover', function () { + var e = Object(n.select)(this); + if (null !== e.attr('title')) { + var i = this.getBoundingClientRect(); + t.transition().duration(200).style('opacity', '.9'), + t + .html(e.attr('title')) + .style( + 'left', + window.scrollX + + i.left + + (i.right - i.left) / 2 + + 'px' + ) + .style( + 'top', + window.scrollY + + i.top - + 14 + + document.body.scrollTop + + 'px' + ), + e.classed('hover', !0); + } + }) + .on('mouseout', function () { + t.transition().duration(500).style('opacity', 0), + Object(n.select)(this).classed('hover', !1); + }); + }; + C.push(H); + var j = function (e) { + (f = {}), + (m = {}), + (p = []), + (C = []).push(H), + (_ = []), + (b = {}), + (y = 0), + (v = []), + (w = !0), + (h = e || 'gen-1'); + }, + V = function (e) { + h = e || 'gen-1'; + }, + z = function () { + return 'fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;'; + }, + U = function (e, t, i) { + var n = e.trim(), + r = i; + e === i && i.match(/\s/) && (n = void 0); + var s, + a, + d, + u = []; + if ( + ((s = u.concat.apply(u, t)), + (a = { boolean: {}, number: {}, string: {} }), + (d = []), + (u = s.filter(function (e) { + var t = c(e); + return ( + '' !== e.trim() && + (t in a + ? !a[t].hasOwnProperty(e) && (a[t][e] = !0) + : !(d.indexOf(e) >= 0) && d.push(e)) + ); + })), + 'gen-1' === h) + ) { + l.log.warn('LOOKING UP'); + for (var f = 0; f < u.length; f++) u[f] = k(u[f]); + } + (n = n || 'subGraph' + y), + (r = r || ''), + (r = o.default.sanitizeText(r, g)), + (y += 1); + var p = { id: n, nodes: u, title: r.trim(), classes: [] }; + return ( + l.log.info('Adding', p.id, p.nodes), + (p.nodes = te(p, _).nodes), + _.push(p), + (b[n] = p), + n + ); + }, + $ = function (e) { + for (var t = 0; t < _.length; t++) + if (_[t].id === e) return t; + return -1; + }, + K = -1, + q = [], + G = function e(t, i) { + var n = _[i].nodes; + if (!((K += 1) > 2e3)) { + if (((q[K] = i), _[i].id === t)) + return { result: !0, count: 0 }; + for (var r = 0, s = 1; r < n.length; ) { + var o = $(n[r]); + if (o >= 0) { + var a = e(t, o); + if (a.result) + return { result: !0, count: s + a.count }; + s += a.count; + } + r += 1; + } + return { result: !1, count: s }; + } + }, + Z = function (e) { + return q[e]; + }, + J = function () { + (K = -1), _.length > 0 && G('none', _.length - 1); + }, + Q = function () { + return _; + }, + X = function () { + return !!w && ((w = !1), !0); + }, + ee = function (e, t) { + var i = !1; + return ( + e.forEach(function (e) { + e.nodes.indexOf(t) >= 0 && (i = !0); + }), + i + ); + }, + te = function (e, t) { + var i = []; + return ( + e.nodes.forEach(function (n, r) { + ee(t, n) || i.push(e.nodes[r]); + }), + { nodes: i } + ); + }; + t.default = { + parseDirective: S, + defaultConfig: function () { + return s.defaultConfig.flowchart; + }, + addVertex: x, + lookUpDomId: k, + addLink: M, + updateLinkInterpolate: D, + updateLink: N, + addClass: E, + setDirection: T, + setClass: I, + setTooltip: function (e, t) { + e.split(',').forEach(function (e) { + void 0 !== t && + (v['gen-1' === h ? k(e) : e] = o.default.sanitizeText( + t, + g + )); + }); + }, + getTooltip: A, + setClickEvent: R, + setLink: O, + bindFunctions: P, + getDirection: F, + getVertices: B, + getEdges: W, + getClasses: Y, + clear: j, + setGen: V, + defaultStyle: z, + addSubGraph: U, + getDepthFirstPos: Z, + indexNodes: J, + getSubGraphs: Q, + destructLink: function (e, t) { + var i, + n = (function (e) { + var t = e.trim(), + i = t.slice(0, -1), + n = 'arrow_open'; + switch (t.slice(-1)) { + case 'x': + (n = 'arrow_cross'), + 'x' === t[0] && + ((n = 'double_' + n), (i = i.slice(1))); + break; + case '>': + (n = 'arrow_point'), + '<' === t[0] && + ((n = 'double_' + n), (i = i.slice(1))); + break; + case 'o': + (n = 'arrow_circle'), + 'o' === t[0] && + ((n = 'double_' + n), (i = i.slice(1))); + } + var r = 'normal', + s = i.length - 1; + '=' === i[0] && (r = 'thick'); + var o = (function (e, t) { + for (var i = t.length, n = 0, r = 0; r < i; ++r) + '.' === t[r] && ++n; + return n; + })(0, i); + return ( + o && ((r = 'dotted'), (s = o)), + { type: n, stroke: r, length: s } + ); + })(e); + if (t) { + if ( + (i = (function (e) { + var t = e.trim(), + i = 'arrow_open'; + switch (t[0]) { + case '<': + (i = 'arrow_point'), (t = t.slice(1)); + break; + case 'x': + (i = 'arrow_cross'), (t = t.slice(1)); + break; + case 'o': + (i = 'arrow_circle'), (t = t.slice(1)); + } + var n = 'normal'; + return ( + -1 !== t.indexOf('=') && (n = 'thick'), + -1 !== t.indexOf('.') && (n = 'dotted'), + { type: i, stroke: n } + ); + })(t)).stroke !== n.stroke + ) + return { type: 'INVALID', stroke: 'INVALID' }; + if ('arrow_open' === i.type) i.type = n.type; + else { + if (i.type !== n.type) + return { type: 'INVALID', stroke: 'INVALID' }; + i.type = 'double_' + i.type; + } + return ( + 'double_arrow' === i.type && + (i.type = 'double_arrow_point'), + (i.length = n.length), + i + ); + } + return n; + }, + lex: { firstGraph: X }, + exists: ee, + makeUniq: te, + }; + }, + './src/diagrams/flowchart/flowRenderer-v2.js': function ( + e, + t, + i + ) { + 'use strict'; + i.r(t), + i.d(t, 'setConf', function () { + return _; + }), + i.d(t, 'addVertices', function () { + return b; + }), + i.d(t, 'addEdges', function () { + return v; + }), + i.d(t, 'getClasses', function () { + return y; + }), + i.d(t, 'draw', function () { + return w; + }); + var n = i('graphlib'), + r = i.n(n), + s = i('d3'), + o = i('./src/diagrams/flowchart/flowDb.js'), + a = i('./src/diagrams/flowchart/parser/flow.jison'), + l = i.n(a), + c = i('./src/config.js'), + d = i('./src/dagre-wrapper/index.js'), + h = i('dagre-d3/lib/label/add-html-label.js'), + u = i.n(h), + g = i('./src/logger.js'), + f = i('./src/diagrams/common/common.js'), + p = i('./src/utils.js'), + m = {}, + _ = function (e) { + for (var t = Object.keys(e), i = 0; i < t.length; i++) + m[t[i]] = e[t[i]]; + }, + b = function (e, t, i) { + var n = Object(s.select)('[id="'.concat(i, '"]')); + Object.keys(e).forEach(function (i) { + var r = e[i], + s = 'default'; + r.classes.length > 0 && (s = r.classes.join(' ')); + var a, + l = Object(p.getStylesFromArray)(r.styles), + d = void 0 !== r.text ? r.text : r.id; + if (Object(c.getConfig)().flowchart.htmlLabels) { + var h = { + label: d.replace( + /fa[lrsb]?:fa-[\w-]+/g, + function (e) { + return "<i class='".concat( + e.replace(':', ' '), + "'></i>" + ); + } + ), + }; + (a = u()(n, h).node()).parentNode.removeChild(a); + } else { + var m = document.createElementNS( + 'http://www.w3.org/2000/svg', + 'text' + ); + m.setAttribute( + 'style', + l.labelStyle.replace('color:', 'fill:') + ); + for ( + var _ = d.split(f.default.lineBreakRegex), b = 0; + b < _.length; + b++ + ) { + var v = document.createElementNS( + 'http://www.w3.org/2000/svg', + 'tspan' + ); + v.setAttributeNS( + 'http://www.w3.org/XML/1998/namespace', + 'xml:space', + 'preserve' + ), + v.setAttribute('dy', '1em'), + v.setAttribute('x', '1'), + (v.textContent = _[b]), + m.appendChild(v); + } + a = m; + } + var y = 0, + w = ''; + switch (r.type) { + case 'round': + (y = 5), (w = 'rect'); + break; + case 'square': + w = 'rect'; + break; + case 'diamond': + w = 'question'; + break; + case 'hexagon': + w = 'hexagon'; + break; + case 'odd': + w = 'rect_left_inv_arrow'; + break; + case 'lean_right': + w = 'lean_right'; + break; + case 'lean_left': + w = 'lean_left'; + break; + case 'trapezoid': + w = 'trapezoid'; + break; + case 'inv_trapezoid': + w = 'inv_trapezoid'; + break; + case 'odd_right': + w = 'rect_left_inv_arrow'; + break; + case 'circle': + w = 'circle'; + break; + case 'ellipse': + w = 'ellipse'; + break; + case 'stadium': + w = 'stadium'; + break; + case 'subroutine': + w = 'subroutine'; + break; + case 'cylinder': + w = 'cylinder'; + break; + case 'group': + w = 'rect'; + break; + default: + w = 'rect'; + } + t.setNode(r.id, { + labelStyle: l.labelStyle, + shape: w, + labelText: d, + rx: y, + ry: y, + class: s, + style: l.style, + id: r.id, + link: r.link, + linkTarget: r.linkTarget, + tooltip: o.default.getTooltip(r.id) || '', + domId: o.default.lookUpDomId(r.id), + haveCallback: r.haveCallback, + width: 'group' === r.type ? 500 : void 0, + type: r.type, + padding: Object(c.getConfig)().flowchart.padding, + }), + g.log.info('setNode', { + labelStyle: l.labelStyle, + shape: w, + labelText: d, + rx: y, + ry: y, + class: s, + style: l.style, + id: r.id, + domId: o.default.lookUpDomId(r.id), + width: 'group' === r.type ? 500 : void 0, + type: r.type, + padding: Object(c.getConfig)().flowchart.padding, + }); + }); + }, + v = function (e, t) { + var i, + n, + r = 0; + if (void 0 !== e.defaultStyle) { + var o = Object(p.getStylesFromArray)(e.defaultStyle); + (i = o.style), (n = o.labelStyle); + } + e.forEach(function (o) { + r++; + var a = 'L-' + o.start + '-' + o.end, + l = 'LS-' + o.start, + c = 'LE-' + o.end, + d = { style: '', labelStyle: '' }; + switch ( + ((d.minlen = o.length || 1), + 'arrow_open' === o.type + ? (d.arrowhead = 'none') + : (d.arrowhead = 'normal'), + (d.arrowTypeStart = 'arrow_open'), + (d.arrowTypeEnd = 'arrow_open'), + o.type) + ) { + case 'double_arrow_cross': + d.arrowTypeStart = 'arrow_cross'; + case 'arrow_cross': + d.arrowTypeEnd = 'arrow_cross'; + break; + case 'double_arrow_point': + d.arrowTypeStart = 'arrow_point'; + case 'arrow_point': + d.arrowTypeEnd = 'arrow_point'; + break; + case 'double_arrow_circle': + d.arrowTypeStart = 'arrow_circle'; + case 'arrow_circle': + d.arrowTypeEnd = 'arrow_circle'; + } + var h = '', + u = ''; + switch (o.stroke) { + case 'normal': + (h = 'fill:none;'), + void 0 !== i && (h = i), + void 0 !== n && (u = n), + (d.thickness = 'normal'), + (d.pattern = 'solid'); + break; + case 'dotted': + (d.thickness = 'normal'), + (d.pattern = 'dotted'), + (d.style = + 'fill:none;stroke-width:2px;stroke-dasharray:3;'); + break; + case 'thick': + (d.thickness = 'thick'), + (d.pattern = 'solid'), + (d.style = 'stroke-width: 3.5px;fill:none;'); + } + if (void 0 !== o.style) { + var g = Object(p.getStylesFromArray)(o.style); + (h = g.style), (u = g.labelStyle); + } + (d.style = d.style += h), + (d.labelStyle = d.labelStyle += u), + void 0 !== o.interpolate + ? (d.curve = Object(p.interpolateToCurve)( + o.interpolate, + s.curveLinear + )) + : void 0 !== e.defaultInterpolate + ? (d.curve = Object(p.interpolateToCurve)( + e.defaultInterpolate, + s.curveLinear + )) + : (d.curve = Object(p.interpolateToCurve)( + m.curve, + s.curveLinear + )), + void 0 === o.text + ? void 0 !== o.style && + (d.arrowheadStyle = 'fill: #333') + : ((d.arrowheadStyle = 'fill: #333'), + (d.labelpos = 'c')), + (d.labelType = 'text'), + (d.label = o.text.replace( + f.default.lineBreakRegex, + '\n' + )), + void 0 === o.style && + (d.style = + d.style || + 'stroke: #333; stroke-width: 1.5px;fill:none;'), + (d.labelStyle = d.labelStyle.replace( + 'color:', + 'fill:' + )), + (d.id = a), + (d.classes = 'flowchart-link ' + l + ' ' + c), + t.setEdge(o.start, o.end, d, r); + }); + }, + y = function (e) { + g.log.info('Extracting classes'), o.default.clear(); + var t = l.a.parser; + t.yy = o.default; + try { + t.parse(e); + } catch (e) { + return; + } + return o.default.getClasses(); + }, + w = function (e, t) { + g.log.info('Drawing flowchart'), + o.default.clear(), + o.default.setGen('gen-2'); + var i = l.a.parser; + (i.yy = o.default), i.parse(e); + var n = o.default.getDirection(); + void 0 === n && (n = 'TD'); + var a, + h = Object(c.getConfig)().flowchart, + u = h.nodeSpacing || 50, + f = h.rankSpacing || 50, + m = new r.a.Graph({ multigraph: !0, compound: !0 }) + .setGraph({ + rankdir: n, + nodesep: u, + ranksep: f, + marginx: 8, + marginy: 8, + }) + .setDefaultEdgeLabel(function () { + return {}; + }), + _ = o.default.getSubGraphs(); + g.log.info('Subgraphs - ', _); + for (var y = _.length - 1; y >= 0; y--) + (a = _[y]), + g.log.info('Subgraph - ', a), + o.default.addVertex( + a.id, + a.title, + 'group', + void 0, + a.classes + ); + var w = o.default.getVertices(), + C = o.default.getEdges(); + g.log.info(C); + var S = 0; + for (S = _.length - 1; S >= 0; S--) { + (a = _[S]), Object(s.selectAll)('cluster').append('text'); + for (var k = 0; k < a.nodes.length; k++) + g.log.info('Setting up subgraphs', a.nodes[k], a.id), + m.setParent(a.nodes[k], a.id); + } + b(w, m, t), v(C, m); + var x = Object(s.select)('[id="'.concat(t, '"]')); + x.attr('xmlns:xlink', 'http://www.w3.org/1999/xlink'); + var L = Object(s.select)('#' + t + ' g'); + Object(d.render)( + L, + m, + ['point', 'circle', 'cross'], + 'flowchart', + t + ); + var M = h.diagramPadding, + D = x.node().getBBox(), + N = D.width + 2 * M, + E = D.height + 2 * M; + if ( + (g.log.debug( + 'new ViewBox 0 0 '.concat(N, ' ').concat(E), + 'translate(' + .concat(M - m._label.marginx, ', ') + .concat(M - m._label.marginy, ')') + ), + Object(p.configureSvgSize)(x, E, N, h.useMaxWidth), + x.attr('viewBox', '0 0 '.concat(N, ' ').concat(E)), + x + .select('g') + .attr( + 'transform', + 'translate(' + .concat(M - m._label.marginx, ', ') + .concat(M - D.y, ')') + ), + o.default.indexNodes('subGraph' + S), + !h.htmlLabels) + ) + for ( + var T = document.querySelectorAll( + '[id="' + t + '"] .edgeLabel .label' + ), + I = 0; + I < T.length; + I++ + ) { + var O = T[I], + A = O.getBBox(), + R = document.createElementNS( + 'http://www.w3.org/2000/svg', + 'rect' + ); + R.setAttribute('rx', 0), + R.setAttribute('ry', 0), + R.setAttribute('width', A.width), + R.setAttribute('height', A.height), + O.insertBefore(R, O.firstChild); + } + Object.keys(w).forEach(function (e) { + var i = w[e]; + if (i.link) { + var n = Object(s.select)('#' + t + ' [id="' + e + '"]'); + if (n) { + var r = document.createElementNS( + 'http://www.w3.org/2000/svg', + 'a' + ); + r.setAttributeNS( + 'http://www.w3.org/2000/svg', + 'class', + i.classes.join(' ') + ), + r.setAttributeNS( + 'http://www.w3.org/2000/svg', + 'href', + i.link + ), + r.setAttributeNS( + 'http://www.w3.org/2000/svg', + 'rel', + 'noopener' + ), + i.linkTarget && + r.setAttributeNS( + 'http://www.w3.org/2000/svg', + 'target', + i.linkTarget + ); + var o = n.insert(function () { + return r; + }, ':first-child'), + a = n.select('.label-container'); + a && + o.append(function () { + return a.node(); + }); + var l = n.select('.label'); + l && + o.append(function () { + return l.node(); + }); + } + } + }); + }; + t.default = { + setConf: _, + addVertices: b, + addEdges: v, + getClasses: y, + draw: w, + }; + }, + './src/diagrams/flowchart/flowRenderer.js': function (e, t, i) { + 'use strict'; + i.r(t), + i.d(t, 'setConf', function () { + return v; + }), + i.d(t, 'addVertices', function () { + return y; + }), + i.d(t, 'addEdges', function () { + return w; + }), + i.d(t, 'getClasses', function () { + return C; + }), + i.d(t, 'draw', function () { + return S; + }); + var n = i('graphlib'), + r = i.n(n), + s = i('d3'), + o = i('./src/diagrams/flowchart/flowDb.js'), + a = i('./src/diagrams/flowchart/parser/flow.jison'), + l = i.n(a), + c = i('./src/config.js'), + d = i('dagre-d3'), + h = i.n(d), + u = i('dagre-d3/lib/label/add-html-label.js'), + g = i.n(u), + f = i('./src/logger.js'), + p = i('./src/diagrams/common/common.js'), + m = i('./src/utils.js'), + _ = i('./src/diagrams/flowchart/flowChartShapes.js'), + b = {}, + v = function (e) { + for (var t = Object.keys(e), i = 0; i < t.length; i++) + b[t[i]] = e[t[i]]; + }, + y = function (e, t, i) { + var n = Object(s.select)('[id="'.concat(i, '"]')); + Object.keys(e).forEach(function (i) { + var r = e[i], + s = 'default'; + r.classes.length > 0 && (s = r.classes.join(' ')); + var a, + l = Object(m.getStylesFromArray)(r.styles), + d = void 0 !== r.text ? r.text : r.id; + if (Object(c.getConfig)().flowchart.htmlLabels) { + var h = { + label: d.replace( + /fa[lrsb]?:fa-[\w-]+/g, + function (e) { + return "<i class='".concat( + e.replace(':', ' '), + "'></i>" + ); + } + ), + }; + (a = g()(n, h).node()).parentNode.removeChild(a); + } else { + var u = document.createElementNS( + 'http://www.w3.org/2000/svg', + 'text' + ); + u.setAttribute( + 'style', + l.labelStyle.replace('color:', 'fill:') + ); + for ( + var _ = d.split(p.default.lineBreakRegex), b = 0; + b < _.length; + b++ + ) { + var v = document.createElementNS( + 'http://www.w3.org/2000/svg', + 'tspan' + ); + v.setAttributeNS( + 'http://www.w3.org/XML/1998/namespace', + 'xml:space', + 'preserve' + ), + v.setAttribute('dy', '1em'), + v.setAttribute('x', '1'), + (v.textContent = _[b]), + u.appendChild(v); + } + a = u; + } + var y = 0, + w = ''; + switch (r.type) { + case 'round': + (y = 5), (w = 'rect'); + break; + case 'square': + w = 'rect'; + break; + case 'diamond': + w = 'question'; + break; + case 'hexagon': + w = 'hexagon'; + break; + case 'odd': + w = 'rect_left_inv_arrow'; + break; + case 'lean_right': + w = 'lean_right'; + break; + case 'lean_left': + w = 'lean_left'; + break; + case 'trapezoid': + w = 'trapezoid'; + break; + case 'inv_trapezoid': + w = 'inv_trapezoid'; + break; + case 'odd_right': + w = 'rect_left_inv_arrow'; + break; + case 'circle': + w = 'circle'; + break; + case 'ellipse': + w = 'ellipse'; + break; + case 'stadium': + w = 'stadium'; + break; + case 'subroutine': + w = 'subroutine'; + break; + case 'cylinder': + w = 'cylinder'; + break; + case 'group': + w = 'rect'; + break; + default: + w = 'rect'; + } + f.log.warn('Adding node', r.id, r.domId), + t.setNode(o.default.lookUpDomId(r.id), { + labelType: 'svg', + labelStyle: l.labelStyle, + shape: w, + label: a, + rx: y, + ry: y, + class: s, + style: l.style, + id: o.default.lookUpDomId(r.id), + }); + }); + }, + w = function (e, t) { + var i, + n, + r = 0; + if (void 0 !== e.defaultStyle) { + var a = Object(m.getStylesFromArray)(e.defaultStyle); + (i = a.style), (n = a.labelStyle); + } + e.forEach(function (a) { + r++; + var l = 'L-' + a.start + '-' + a.end, + d = 'LS-' + a.start, + h = 'LE-' + a.end, + u = {}; + 'arrow_open' === a.type + ? (u.arrowhead = 'none') + : (u.arrowhead = 'normal'); + var g = '', + f = ''; + if (void 0 !== a.style) { + var _ = Object(m.getStylesFromArray)(a.style); + (g = _.style), (f = _.labelStyle); + } else + switch (a.stroke) { + case 'normal': + (g = 'fill:none'), + void 0 !== i && (g = i), + void 0 !== n && (f = n); + break; + case 'dotted': + g = + 'fill:none;stroke-width:2px;stroke-dasharray:3;'; + break; + case 'thick': + g = ' stroke-width: 3.5px;fill:none'; + } + (u.style = g), + (u.labelStyle = f), + void 0 !== a.interpolate + ? (u.curve = Object(m.interpolateToCurve)( + a.interpolate, + s.curveLinear + )) + : void 0 !== e.defaultInterpolate + ? (u.curve = Object(m.interpolateToCurve)( + e.defaultInterpolate, + s.curveLinear + )) + : (u.curve = Object(m.interpolateToCurve)( + b.curve, + s.curveLinear + )), + void 0 === a.text + ? void 0 !== a.style && + (u.arrowheadStyle = 'fill: #333') + : ((u.arrowheadStyle = 'fill: #333'), + (u.labelpos = 'c'), + Object(c.getConfig)().flowchart.htmlLabels + ? ((u.labelType = 'html'), + (u.label = '<span id="L-' + .concat(l, '" class="edgeLabel L-') + .concat(d, "' L-") + .concat(h, '">') + .concat( + a.text.replace( + /fa[lrsb]?:fa-[\w-]+/g, + function (e) { + return "<i class='".concat( + e.replace(':', ' '), + "'></i>" + ); + } + ), + '</span>' + ))) + : ((u.labelType = 'text'), + (u.label = a.text.replace( + p.default.lineBreakRegex, + '\n' + )), + void 0 === a.style && + (u.style = + u.style || + 'stroke: #333; stroke-width: 1.5px;fill:none'), + (u.labelStyle = u.labelStyle.replace( + 'color:', + 'fill:' + )))), + (u.id = l), + (u.class = d + ' ' + h), + (u.minlen = a.length || 1), + t.setEdge( + o.default.lookUpDomId(a.start), + o.default.lookUpDomId(a.end), + u, + r + ); + }); + }, + C = function (e) { + f.log.info('Extracting classes'), o.default.clear(); + try { + var t = l.a.parser; + return ( + (t.yy = o.default), t.parse(e), o.default.getClasses() + ); + } catch (e) { + return; + } + }, + S = function (e, t) { + f.log.info('Drawing flowchart'), + o.default.clear(), + o.default.setGen('gen-1'); + var i = l.a.parser; + (i.yy = o.default), i.parse(e); + var n = o.default.getDirection(); + void 0 === n && (n = 'TD'); + for ( + var a, + d = Object(c.getConfig)().flowchart, + u = d.nodeSpacing || 50, + g = d.rankSpacing || 50, + p = new r.a.Graph({ multigraph: !0, compound: !0 }) + .setGraph({ + rankdir: n, + nodesep: u, + ranksep: g, + marginx: 8, + marginy: 8, + }) + .setDefaultEdgeLabel(function () { + return {}; + }), + b = o.default.getSubGraphs(), + v = b.length - 1; + v >= 0; + v-- + ) + (a = b[v]), + o.default.addVertex( + a.id, + a.title, + 'group', + void 0, + a.classes + ); + var C = o.default.getVertices(); + f.log.warn('Get vertices', C); + var S = o.default.getEdges(), + k = 0; + for (k = b.length - 1; k >= 0; k--) { + (a = b[k]), Object(s.selectAll)('cluster').append('text'); + for (var x = 0; x < a.nodes.length; x++) + f.log.warn( + 'Setting subgraph', + a.nodes[x], + o.default.lookUpDomId(a.nodes[x]), + o.default.lookUpDomId(a.id) + ), + p.setParent( + o.default.lookUpDomId(a.nodes[x]), + o.default.lookUpDomId(a.id) + ); + } + y(C, p, t), w(S, p); + var L = new (0, h.a.render)(); + _.default.addToRender(L), + (L.arrows().none = function (e, t, i, n) { + var r = e + .append('marker') + .attr('id', t) + .attr('viewBox', '0 0 10 10') + .attr('refX', 9) + .attr('refY', 5) + .attr('markerUnits', 'strokeWidth') + .attr('markerWidth', 8) + .attr('markerHeight', 6) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 0 0 L 0 0 L 0 0 z'); + h.a.util.applyStyle(r, i[n + 'Style']); + }), + (L.arrows().normal = function (e, t) { + e.append('marker') + .attr('id', t) + .attr('viewBox', '0 0 10 10') + .attr('refX', 9) + .attr('refY', 5) + .attr('markerUnits', 'strokeWidth') + .attr('markerWidth', 8) + .attr('markerHeight', 6) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 0 0 L 10 5 L 0 10 z') + .attr('class', 'arrowheadPath') + .style('stroke-width', 1) + .style('stroke-dasharray', '1,0'); + }); + var M = Object(s.select)('[id="'.concat(t, '"]')); + M.attr('xmlns:xlink', 'http://www.w3.org/1999/xlink'), + f.log.warn(p); + var D = Object(s.select)('#' + t + ' g'); + L(D, p), + D.selectAll('g.node').attr('title', function () { + return o.default.getTooltip(this.id); + }); + var N = d.diagramPadding, + E = M.node().getBBox(), + T = E.width + 2 * N, + I = E.height + 2 * N; + Object(m.configureSvgSize)(M, I, T, d.useMaxWidth); + var O = '' + .concat(E.x - N, ' ') + .concat(E.y - N, ' ') + .concat(T, ' ') + .concat(I); + for ( + f.log.debug('viewBox '.concat(O)), + M.attr('viewBox', O), + o.default.indexNodes('subGraph' + k), + k = 0; + k < b.length; + k++ + ) + if ('undefined' !== (a = b[k]).title) { + var A = document.querySelectorAll( + '#' + + t + + ' [id="' + + o.default.lookUpDomId(a.id) + + '"] rect' + ), + R = document.querySelectorAll( + '#' + + t + + ' [id="' + + o.default.lookUpDomId(a.id) + + '"]' + ), + P = A[0].x.baseVal.value, + F = A[0].y.baseVal.value, + B = A[0].width.baseVal.value, + W = Object(s.select)(R[0]).select('.label'); + W.attr( + 'transform', + 'translate(' + .concat(P + B / 2, ', ') + .concat(F + 14, ')') + ), + W.attr('id', t + 'Text'); + for (var Y = 0; Y < a.classes.length; Y++) + R[0].classList.add(a.classes[Y]); + } + d.htmlLabels; + for ( + var H = document.querySelectorAll( + '[id="' + t + '"] .edgeLabel .label' + ), + j = 0; + j < H.length; + j++ + ) { + var V = H[j], + z = V.getBBox(), + U = document.createElementNS( + 'http://www.w3.org/2000/svg', + 'rect' + ); + U.setAttribute('rx', 0), + U.setAttribute('ry', 0), + U.setAttribute('width', z.width), + U.setAttribute('height', z.height), + V.insertBefore(U, V.firstChild); + } + Object.keys(C).forEach(function (e) { + var i = C[e]; + if (i.link) { + var n = Object(s.select)( + '#' + t + ' [id="' + o.default.lookUpDomId(e) + '"]' + ); + if (n) { + var r = document.createElementNS( + 'http://www.w3.org/2000/svg', + 'a' + ); + r.setAttributeNS( + 'http://www.w3.org/2000/svg', + 'class', + i.classes.join(' ') + ), + r.setAttributeNS( + 'http://www.w3.org/2000/svg', + 'href', + i.link + ), + r.setAttributeNS( + 'http://www.w3.org/2000/svg', + 'rel', + 'noopener' + ), + i.linkTarget && + r.setAttributeNS( + 'http://www.w3.org/2000/svg', + 'target', + i.linkTarget + ); + var a = n.insert(function () { + return r; + }, ':first-child'), + l = n.select('.label-container'); + l && + a.append(function () { + return l.node(); + }); + var c = n.select('.label'); + c && + a.append(function () { + return c.node(); + }); + } + } + }); + }; + t.default = { + setConf: v, + addVertices: y, + addEdges: w, + getClasses: C, + draw: S, + }; + }, + './src/diagrams/flowchart/parser/flow.jison': function (e, t, i) { + (function (e, n) { + var r = (function () { + var e = function (e, t, i, n) { + for (i = i || {}, n = e.length; n--; i[e[n]] = t); + return i; + }, + t = [1, 9], + i = [1, 7], + n = [1, 6], + r = [1, 8], + s = [ + 1, + 20, + 21, + 22, + 23, + 38, + 46, + 75, + 76, + 77, + 78, + 79, + 80, + 94, + 95, + 98, + 99, + 100, + 102, + 103, + 109, + 110, + 111, + 112, + 113, + 114, + ], + o = [2, 10], + a = [1, 20], + l = [1, 21], + c = [1, 22], + d = [1, 23], + h = [1, 30], + u = [1, 54], + g = [1, 32], + f = [1, 33], + p = [1, 34], + m = [1, 35], + _ = [1, 36], + b = [1, 48], + v = [1, 43], + y = [1, 45], + w = [1, 40], + C = [1, 44], + S = [1, 47], + k = [1, 51], + x = [1, 52], + L = [1, 53], + M = [1, 42], + D = [1, 46], + N = [1, 49], + E = [1, 50], + T = [1, 41], + I = [1, 57], + O = [1, 62], + A = [ + 1, + 20, + 21, + 22, + 23, + 38, + 42, + 46, + 75, + 76, + 77, + 78, + 79, + 80, + 94, + 95, + 98, + 99, + 100, + 102, + 103, + 109, + 110, + 111, + 112, + 113, + 114, + ], + R = [1, 66], + P = [1, 65], + F = [1, 67], + B = [20, 21, 23, 69, 70], + W = [1, 88], + Y = [1, 93], + H = [1, 90], + j = [1, 95], + V = [1, 98], + z = [1, 96], + U = [1, 97], + $ = [1, 91], + K = [1, 103], + q = [1, 102], + G = [1, 92], + Z = [1, 94], + J = [1, 99], + Q = [1, 100], + X = [1, 101], + ee = [1, 104], + te = [20, 21, 22, 23, 69, 70], + ie = [20, 21, 22, 23, 47, 69, 70], + ne = [ + 20, + 21, + 22, + 23, + 40, + 46, + 47, + 49, + 51, + 53, + 55, + 57, + 59, + 61, + 62, + 64, + 69, + 70, + 80, + 94, + 95, + 98, + 99, + 100, + 102, + 103, + 109, + 110, + 111, + 112, + 113, + 114, + ], + re = [20, 21, 23], + se = [ + 20, + 21, + 23, + 46, + 69, + 70, + 80, + 94, + 95, + 98, + 99, + 100, + 102, + 103, + 109, + 110, + 111, + 112, + 113, + 114, + ], + oe = [ + 1, + 12, + 20, + 21, + 22, + 23, + 24, + 38, + 42, + 46, + 75, + 76, + 77, + 78, + 79, + 80, + 94, + 95, + 98, + 99, + 100, + 102, + 103, + 109, + 110, + 111, + 112, + 113, + 114, + ], + ae = [ + 46, + 80, + 94, + 95, + 98, + 99, + 100, + 102, + 103, + 109, + 110, + 111, + 112, + 113, + 114, + ], + le = [1, 136], + ce = [1, 144], + de = [1, 145], + he = [1, 146], + ue = [1, 147], + ge = [1, 131], + fe = [1, 132], + pe = [1, 128], + me = [1, 139], + _e = [1, 140], + be = [1, 141], + ve = [1, 142], + ye = [1, 143], + we = [1, 148], + Ce = [1, 149], + Se = [1, 134], + ke = [1, 137], + xe = [1, 133], + Le = [1, 130], + Me = [ + 20, + 21, + 22, + 23, + 38, + 42, + 46, + 75, + 76, + 77, + 78, + 79, + 80, + 94, + 95, + 98, + 99, + 100, + 102, + 103, + 109, + 110, + 111, + 112, + 113, + 114, + ], + De = [1, 152], + Ne = [ + 20, + 21, + 22, + 23, + 26, + 46, + 80, + 94, + 95, + 98, + 99, + 100, + 102, + 103, + 109, + 110, + 111, + 112, + 113, + 114, + ], + Ee = [ + 20, + 21, + 22, + 23, + 24, + 26, + 38, + 40, + 41, + 42, + 46, + 50, + 52, + 54, + 56, + 58, + 60, + 61, + 63, + 65, + 69, + 70, + 71, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 84, + 94, + 95, + 98, + 99, + 100, + 102, + 103, + 104, + 105, + 109, + 110, + 111, + 112, + 113, + 114, + ], + Te = [12, 21, 22, 24], + Ie = [22, 95], + Oe = [1, 233], + Ae = [1, 237], + Re = [1, 234], + Pe = [1, 231], + Fe = [1, 228], + Be = [1, 229], + We = [1, 230], + Ye = [1, 232], + He = [1, 235], + je = [1, 236], + Ve = [1, 238], + ze = [1, 255], + Ue = [20, 21, 23, 95], + $e = [ + 20, + 21, + 22, + 23, + 75, + 91, + 94, + 95, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + ], + Ke = { + trace: function () {}, + yy: {}, + symbols_: { + error: 2, + start: 3, + mermaidDoc: 4, + directive: 5, + openDirective: 6, + typeDirective: 7, + closeDirective: 8, + separator: 9, + ':': 10, + argDirective: 11, + open_directive: 12, + type_directive: 13, + arg_directive: 14, + close_directive: 15, + graphConfig: 16, + document: 17, + line: 18, + statement: 19, + SEMI: 20, + NEWLINE: 21, + SPACE: 22, + EOF: 23, + GRAPH: 24, + NODIR: 25, + DIR: 26, + FirstStmtSeperator: 27, + ending: 28, + endToken: 29, + spaceList: 30, + spaceListNewline: 31, + verticeStatement: 32, + styleStatement: 33, + linkStyleStatement: 34, + classDefStatement: 35, + classStatement: 36, + clickStatement: 37, + subgraph: 38, + text: 39, + SQS: 40, + SQE: 41, + end: 42, + link: 43, + node: 44, + vertex: 45, + AMP: 46, + STYLE_SEPARATOR: 47, + idString: 48, + PS: 49, + PE: 50, + '(-': 51, + '-)': 52, + STADIUMSTART: 53, + STADIUMEND: 54, + SUBROUTINESTART: 55, + SUBROUTINEEND: 56, + CYLINDERSTART: 57, + CYLINDEREND: 58, + DIAMOND_START: 59, + DIAMOND_STOP: 60, + TAGEND: 61, + TRAPSTART: 62, + TRAPEND: 63, + INVTRAPSTART: 64, + INVTRAPEND: 65, + linkStatement: 66, + arrowText: 67, + TESTSTR: 68, + START_LINK: 69, + LINK: 70, + PIPE: 71, + textToken: 72, + STR: 73, + keywords: 74, + STYLE: 75, + LINKSTYLE: 76, + CLASSDEF: 77, + CLASS: 78, + CLICK: 79, + DOWN: 80, + UP: 81, + textNoTags: 82, + textNoTagsToken: 83, + DEFAULT: 84, + stylesOpt: 85, + alphaNum: 86, + CALLBACKNAME: 87, + CALLBACKARGS: 88, + HREF: 89, + LINK_TARGET: 90, + HEX: 91, + numList: 92, + INTERPOLATE: 93, + NUM: 94, + COMMA: 95, + style: 96, + styleComponent: 97, + ALPHA: 98, + COLON: 99, + MINUS: 100, + UNIT: 101, + BRKT: 102, + DOT: 103, + PCT: 104, + TAGSTART: 105, + alphaNumToken: 106, + idStringToken: 107, + alphaNumStatement: 108, + PUNCTUATION: 109, + UNICODE_TEXT: 110, + PLUS: 111, + EQUALS: 112, + MULT: 113, + UNDERSCORE: 114, + graphCodeTokens: 115, + ARROW_CROSS: 116, + ARROW_POINT: 117, + ARROW_CIRCLE: 118, + ARROW_OPEN: 119, + QUOTE: 120, + $accept: 0, + $end: 1, + }, + terminals_: { + 2: 'error', + 10: ':', + 12: 'open_directive', + 13: 'type_directive', + 14: 'arg_directive', + 15: 'close_directive', + 20: 'SEMI', + 21: 'NEWLINE', + 22: 'SPACE', + 23: 'EOF', + 24: 'GRAPH', + 25: 'NODIR', + 26: 'DIR', + 38: 'subgraph', + 40: 'SQS', + 41: 'SQE', + 42: 'end', + 46: 'AMP', + 47: 'STYLE_SEPARATOR', + 49: 'PS', + 50: 'PE', + 51: '(-', + 52: '-)', + 53: 'STADIUMSTART', + 54: 'STADIUMEND', + 55: 'SUBROUTINESTART', + 56: 'SUBROUTINEEND', + 57: 'CYLINDERSTART', + 58: 'CYLINDEREND', + 59: 'DIAMOND_START', + 60: 'DIAMOND_STOP', + 61: 'TAGEND', + 62: 'TRAPSTART', + 63: 'TRAPEND', + 64: 'INVTRAPSTART', + 65: 'INVTRAPEND', + 68: 'TESTSTR', + 69: 'START_LINK', + 70: 'LINK', + 71: 'PIPE', + 73: 'STR', + 75: 'STYLE', + 76: 'LINKSTYLE', + 77: 'CLASSDEF', + 78: 'CLASS', + 79: 'CLICK', + 80: 'DOWN', + 81: 'UP', + 84: 'DEFAULT', + 87: 'CALLBACKNAME', + 88: 'CALLBACKARGS', + 89: 'HREF', + 90: 'LINK_TARGET', + 91: 'HEX', + 93: 'INTERPOLATE', + 94: 'NUM', + 95: 'COMMA', + 98: 'ALPHA', + 99: 'COLON', + 100: 'MINUS', + 101: 'UNIT', + 102: 'BRKT', + 103: 'DOT', + 104: 'PCT', + 105: 'TAGSTART', + 109: 'PUNCTUATION', + 110: 'UNICODE_TEXT', + 111: 'PLUS', + 112: 'EQUALS', + 113: 'MULT', + 114: 'UNDERSCORE', + 116: 'ARROW_CROSS', + 117: 'ARROW_POINT', + 118: 'ARROW_CIRCLE', + 119: 'ARROW_OPEN', + 120: 'QUOTE', + }, + productions_: [ + 0, + [3, 1], + [3, 2], + [5, 4], + [5, 6], + [6, 1], + [7, 1], + [11, 1], + [8, 1], + [4, 2], + [17, 0], + [17, 2], + [18, 1], + [18, 1], + [18, 1], + [18, 1], + [18, 1], + [16, 2], + [16, 2], + [16, 2], + [16, 3], + [28, 2], + [28, 1], + [29, 1], + [29, 1], + [29, 1], + [27, 1], + [27, 1], + [27, 2], + [31, 2], + [31, 2], + [31, 1], + [31, 1], + [30, 2], + [30, 1], + [19, 2], + [19, 2], + [19, 2], + [19, 2], + [19, 2], + [19, 2], + [19, 9], + [19, 6], + [19, 4], + [9, 1], + [9, 1], + [9, 1], + [32, 3], + [32, 4], + [32, 2], + [32, 1], + [44, 1], + [44, 5], + [44, 3], + [45, 4], + [45, 6], + [45, 4], + [45, 4], + [45, 4], + [45, 4], + [45, 4], + [45, 4], + [45, 6], + [45, 4], + [45, 4], + [45, 4], + [45, 4], + [45, 4], + [45, 1], + [43, 2], + [43, 3], + [43, 3], + [43, 1], + [43, 3], + [66, 1], + [67, 3], + [39, 1], + [39, 2], + [39, 1], + [74, 1], + [74, 1], + [74, 1], + [74, 1], + [74, 1], + [74, 1], + [74, 1], + [74, 1], + [74, 1], + [74, 1], + [74, 1], + [82, 1], + [82, 2], + [35, 5], + [35, 5], + [36, 5], + [37, 2], + [37, 4], + [37, 3], + [37, 5], + [37, 2], + [37, 4], + [37, 4], + [37, 6], + [37, 2], + [37, 4], + [37, 2], + [37, 4], + [37, 4], + [37, 6], + [33, 5], + [33, 5], + [34, 5], + [34, 5], + [34, 9], + [34, 9], + [34, 7], + [34, 7], + [92, 1], + [92, 3], + [85, 1], + [85, 3], + [96, 1], + [96, 2], + [97, 1], + [97, 1], + [97, 1], + [97, 1], + [97, 1], + [97, 1], + [97, 1], + [97, 1], + [97, 1], + [97, 1], + [97, 1], + [72, 1], + [72, 1], + [72, 1], + [72, 1], + [72, 1], + [72, 1], + [83, 1], + [83, 1], + [83, 1], + [83, 1], + [48, 1], + [48, 2], + [86, 1], + [86, 2], + [108, 1], + [108, 1], + [108, 1], + [108, 1], + [106, 1], + [106, 1], + [106, 1], + [106, 1], + [106, 1], + [106, 1], + [106, 1], + [106, 1], + [106, 1], + [106, 1], + [106, 1], + [106, 1], + [106, 1], + [107, 1], + [107, 1], + [107, 1], + [107, 1], + [107, 1], + [107, 1], + [107, 1], + [107, 1], + [107, 1], + [107, 1], + [107, 1], + [107, 1], + [107, 1], + [107, 1], + [107, 1], + [115, 1], + [115, 1], + [115, 1], + [115, 1], + [115, 1], + [115, 1], + [115, 1], + [115, 1], + [115, 1], + [115, 1], + [115, 1], + [115, 1], + [115, 1], + [115, 1], + [115, 1], + [115, 1], + [115, 1], + [115, 1], + [115, 1], + [115, 1], + [115, 1], + [115, 1], + [115, 1], + [115, 1], + [115, 1], + ], + performAction: function (e, t, i, n, r, s, o) { + var a = s.length - 1; + switch (r) { + case 5: + n.parseDirective('%%{', 'open_directive'); + break; + case 6: + n.parseDirective(s[a], 'type_directive'); + break; + case 7: + (s[a] = s[a].trim().replace(/'/g, '"')), + n.parseDirective(s[a], 'arg_directive'); + break; + case 8: + n.parseDirective( + '}%%', + 'close_directive', + 'flowchart' + ); + break; + case 10: + this.$ = []; + break; + case 11: + s[a] !== [] && s[a - 1].push(s[a]), + (this.$ = s[a - 1]); + break; + case 12: + case 76: + case 78: + case 90: + case 146: + case 148: + case 149: + this.$ = s[a]; + break; + case 19: + n.setDirection('TB'), (this.$ = 'TB'); + break; + case 20: + n.setDirection(s[a - 1]), (this.$ = s[a - 1]); + break; + case 35: + this.$ = s[a - 1].nodes; + break; + case 36: + case 37: + case 38: + case 39: + case 40: + this.$ = []; + break; + case 41: + this.$ = n.addSubGraph( + s[a - 6], + s[a - 1], + s[a - 4] + ); + break; + case 42: + this.$ = n.addSubGraph( + s[a - 3], + s[a - 1], + s[a - 3] + ); + break; + case 43: + this.$ = n.addSubGraph(void 0, s[a - 1], void 0); + break; + case 47: + n.addLink(s[a - 2].stmt, s[a], s[a - 1]), + (this.$ = { + stmt: s[a], + nodes: s[a].concat(s[a - 2].nodes), + }); + break; + case 48: + n.addLink(s[a - 3].stmt, s[a - 1], s[a - 2]), + (this.$ = { + stmt: s[a - 1], + nodes: s[a - 1].concat(s[a - 3].nodes), + }); + break; + case 49: + this.$ = { stmt: s[a - 1], nodes: s[a - 1] }; + break; + case 50: + this.$ = { stmt: s[a], nodes: s[a] }; + break; + case 51: + this.$ = [s[a]]; + break; + case 52: + this.$ = s[a - 4].concat(s[a]); + break; + case 53: + (this.$ = [s[a - 2]]), n.setClass(s[a - 2], s[a]); + break; + case 54: + (this.$ = s[a - 3]), + n.addVertex(s[a - 3], s[a - 1], 'square'); + break; + case 55: + (this.$ = s[a - 5]), + n.addVertex(s[a - 5], s[a - 2], 'circle'); + break; + case 56: + (this.$ = s[a - 3]), + n.addVertex(s[a - 3], s[a - 1], 'ellipse'); + break; + case 57: + (this.$ = s[a - 3]), + n.addVertex(s[a - 3], s[a - 1], 'stadium'); + break; + case 58: + (this.$ = s[a - 3]), + n.addVertex(s[a - 3], s[a - 1], 'subroutine'); + break; + case 59: + (this.$ = s[a - 3]), + n.addVertex(s[a - 3], s[a - 1], 'cylinder'); + break; + case 60: + (this.$ = s[a - 3]), + n.addVertex(s[a - 3], s[a - 1], 'round'); + break; + case 61: + (this.$ = s[a - 3]), + n.addVertex(s[a - 3], s[a - 1], 'diamond'); + break; + case 62: + (this.$ = s[a - 5]), + n.addVertex(s[a - 5], s[a - 2], 'hexagon'); + break; + case 63: + (this.$ = s[a - 3]), + n.addVertex(s[a - 3], s[a - 1], 'odd'); + break; + case 64: + (this.$ = s[a - 3]), + n.addVertex(s[a - 3], s[a - 1], 'trapezoid'); + break; + case 65: + (this.$ = s[a - 3]), + n.addVertex( + s[a - 3], + s[a - 1], + 'inv_trapezoid' + ); + break; + case 66: + (this.$ = s[a - 3]), + n.addVertex(s[a - 3], s[a - 1], 'lean_right'); + break; + case 67: + (this.$ = s[a - 3]), + n.addVertex(s[a - 3], s[a - 1], 'lean_left'); + break; + case 68: + (this.$ = s[a]), n.addVertex(s[a]); + break; + case 69: + (s[a - 1].text = s[a]), (this.$ = s[a - 1]); + break; + case 70: + case 71: + (s[a - 2].text = s[a - 1]), (this.$ = s[a - 2]); + break; + case 72: + this.$ = s[a]; + break; + case 73: + var l = n.destructLink(s[a], s[a - 2]); + this.$ = { + type: l.type, + stroke: l.stroke, + length: l.length, + text: s[a - 1], + }; + break; + case 74: + (l = n.destructLink(s[a])), + (this.$ = { + type: l.type, + stroke: l.stroke, + length: l.length, + }); + break; + case 75: + this.$ = s[a - 1]; + break; + case 77: + case 91: + case 147: + this.$ = s[a - 1] + '' + s[a]; + break; + case 92: + case 93: + (this.$ = s[a - 4]), n.addClass(s[a - 2], s[a]); + break; + case 94: + (this.$ = s[a - 4]), n.setClass(s[a - 2], s[a]); + break; + case 95: + case 103: + (this.$ = s[a - 1]), + n.setClickEvent(s[a - 1], s[a]); + break; + case 96: + case 104: + (this.$ = s[a - 3]), + n.setClickEvent(s[a - 3], s[a - 2]), + n.setTooltip(s[a - 3], s[a]); + break; + case 97: + (this.$ = s[a - 2]), + n.setClickEvent(s[a - 2], s[a - 1], s[a]); + break; + case 98: + (this.$ = s[a - 4]), + n.setClickEvent(s[a - 4], s[a - 3], s[a - 2]), + n.setTooltip(s[a - 4], s[a]); + break; + case 99: + case 105: + (this.$ = s[a - 1]), n.setLink(s[a - 1], s[a]); + break; + case 100: + case 106: + (this.$ = s[a - 3]), + n.setLink(s[a - 3], s[a - 2]), + n.setTooltip(s[a - 3], s[a]); + break; + case 101: + case 107: + (this.$ = s[a - 3]), + n.setLink(s[a - 3], s[a - 2], s[a]); + break; + case 102: + case 108: + (this.$ = s[a - 5]), + n.setLink(s[a - 5], s[a - 4], s[a]), + n.setTooltip(s[a - 5], s[a - 2]); + break; + case 109: + (this.$ = s[a - 4]), + n.addVertex(s[a - 2], void 0, void 0, s[a]); + break; + case 110: + case 112: + (this.$ = s[a - 4]), n.updateLink(s[a - 2], s[a]); + break; + case 111: + (this.$ = s[a - 4]), + n.updateLink([s[a - 2]], s[a]); + break; + case 113: + (this.$ = s[a - 8]), + n.updateLinkInterpolate([s[a - 6]], s[a - 2]), + n.updateLink([s[a - 6]], s[a]); + break; + case 114: + (this.$ = s[a - 8]), + n.updateLinkInterpolate(s[a - 6], s[a - 2]), + n.updateLink(s[a - 6], s[a]); + break; + case 115: + (this.$ = s[a - 6]), + n.updateLinkInterpolate([s[a - 4]], s[a]); + break; + case 116: + (this.$ = s[a - 6]), + n.updateLinkInterpolate(s[a - 4], s[a]); + break; + case 117: + case 119: + this.$ = [s[a]]; + break; + case 118: + case 120: + s[a - 2].push(s[a]), (this.$ = s[a - 2]); + break; + case 122: + this.$ = s[a - 1] + s[a]; + break; + case 144: + this.$ = s[a]; + break; + case 145: + this.$ = s[a - 1] + '' + s[a]; + break; + case 150: + this.$ = 'v'; + break; + case 151: + this.$ = '-'; + } + }, + table: [ + { + 3: 1, + 4: 2, + 5: 3, + 6: 5, + 12: t, + 16: 4, + 21: i, + 22: n, + 24: r, + }, + { 1: [3] }, + { 1: [2, 1] }, + { + 3: 10, + 4: 2, + 5: 3, + 6: 5, + 12: t, + 16: 4, + 21: i, + 22: n, + 24: r, + }, + e(s, o, { 17: 11 }), + { 7: 12, 13: [1, 13] }, + { 16: 14, 21: i, 22: n, 24: r }, + { 16: 15, 21: i, 22: n, 24: r }, + { 25: [1, 16], 26: [1, 17] }, + { 13: [2, 5] }, + { 1: [2, 2] }, + { + 1: [2, 9], + 18: 18, + 19: 19, + 20: a, + 21: l, + 22: c, + 23: d, + 32: 24, + 33: 25, + 34: 26, + 35: 27, + 36: 28, + 37: 29, + 38: h, + 44: 31, + 45: 37, + 46: u, + 48: 38, + 75: g, + 76: f, + 77: p, + 78: m, + 79: _, + 80: b, + 94: v, + 95: y, + 98: w, + 99: C, + 100: S, + 102: k, + 103: x, + 107: 39, + 109: L, + 110: M, + 111: D, + 112: N, + 113: E, + 114: T, + }, + { 8: 55, 10: [1, 56], 15: I }, + e([10, 15], [2, 6]), + e(s, [2, 17]), + e(s, [2, 18]), + e(s, [2, 19]), + { 20: [1, 59], 21: [1, 60], 22: O, 27: 58, 30: 61 }, + e(A, [2, 11]), + e(A, [2, 12]), + e(A, [2, 13]), + e(A, [2, 14]), + e(A, [2, 15]), + e(A, [2, 16]), + { + 9: 63, + 20: R, + 21: P, + 23: F, + 43: 64, + 66: 68, + 69: [1, 69], + 70: [1, 70], + }, + { 9: 71, 20: R, 21: P, 23: F }, + { 9: 72, 20: R, 21: P, 23: F }, + { 9: 73, 20: R, 21: P, 23: F }, + { 9: 74, 20: R, 21: P, 23: F }, + { 9: 75, 20: R, 21: P, 23: F }, + { 9: 77, 20: R, 21: P, 22: [1, 76], 23: F }, + e(B, [2, 50], { 30: 78, 22: O }), + { 22: [1, 79] }, + { 22: [1, 80] }, + { 22: [1, 81] }, + { 22: [1, 82] }, + { + 26: W, + 46: Y, + 73: [1, 86], + 80: H, + 86: 85, + 87: [1, 83], + 89: [1, 84], + 94: j, + 95: V, + 98: z, + 99: U, + 100: $, + 102: K, + 103: q, + 106: 89, + 108: 87, + 109: G, + 110: Z, + 111: J, + 112: Q, + 113: X, + 114: ee, + }, + e(te, [2, 51], { 47: [1, 105] }), + e(ie, [2, 68], { + 107: 116, + 40: [1, 106], + 46: u, + 49: [1, 107], + 51: [1, 108], + 53: [1, 109], + 55: [1, 110], + 57: [1, 111], + 59: [1, 112], + 61: [1, 113], + 62: [1, 114], + 64: [1, 115], + 80: b, + 94: v, + 95: y, + 98: w, + 99: C, + 100: S, + 102: k, + 103: x, + 109: L, + 110: M, + 111: D, + 112: N, + 113: E, + 114: T, + }), + e(ne, [2, 144]), + e(ne, [2, 165]), + e(ne, [2, 166]), + e(ne, [2, 167]), + e(ne, [2, 168]), + e(ne, [2, 169]), + e(ne, [2, 170]), + e(ne, [2, 171]), + e(ne, [2, 172]), + e(ne, [2, 173]), + e(ne, [2, 174]), + e(ne, [2, 175]), + e(ne, [2, 176]), + e(ne, [2, 177]), + e(ne, [2, 178]), + e(ne, [2, 179]), + { 9: 117, 20: R, 21: P, 23: F }, + { 11: 118, 14: [1, 119] }, + e(re, [2, 8]), + e(s, [2, 20]), + e(s, [2, 26]), + e(s, [2, 27]), + { 21: [1, 120] }, + e(se, [2, 34], { 30: 121, 22: O }), + e(A, [2, 35]), + { + 44: 122, + 45: 37, + 46: u, + 48: 38, + 80: b, + 94: v, + 95: y, + 98: w, + 99: C, + 100: S, + 102: k, + 103: x, + 107: 39, + 109: L, + 110: M, + 111: D, + 112: N, + 113: E, + 114: T, + }, + e(oe, [2, 44]), + e(oe, [2, 45]), + e(oe, [2, 46]), + e(ae, [2, 72], { + 67: 123, + 68: [1, 124], + 71: [1, 125], + }), + { + 22: le, + 24: ce, + 26: de, + 38: he, + 39: 126, + 42: ue, + 46: Y, + 61: ge, + 69: fe, + 72: 127, + 73: pe, + 74: 138, + 75: me, + 76: _e, + 77: be, + 78: ve, + 79: ye, + 80: we, + 81: Ce, + 83: 129, + 84: Se, + 94: j, + 95: V, + 98: z, + 99: U, + 100: ke, + 102: K, + 103: q, + 104: xe, + 105: Le, + 106: 135, + 109: G, + 110: Z, + 111: J, + 112: Q, + 113: X, + 114: ee, + }, + e( + [ + 46, + 68, + 71, + 80, + 94, + 95, + 98, + 99, + 100, + 102, + 103, + 109, + 110, + 111, + 112, + 113, + 114, + ], + [2, 74] + ), + e(A, [2, 36]), + e(A, [2, 37]), + e(A, [2, 38]), + e(A, [2, 39]), + e(A, [2, 40]), + { + 22: le, + 24: ce, + 26: de, + 38: he, + 39: 150, + 42: ue, + 46: Y, + 61: ge, + 69: fe, + 72: 127, + 73: pe, + 74: 138, + 75: me, + 76: _e, + 77: be, + 78: ve, + 79: ye, + 80: we, + 81: Ce, + 83: 129, + 84: Se, + 94: j, + 95: V, + 98: z, + 99: U, + 100: ke, + 102: K, + 103: q, + 104: xe, + 105: Le, + 106: 135, + 109: G, + 110: Z, + 111: J, + 112: Q, + 113: X, + 114: ee, + }, + e(Me, o, { 17: 151 }), + e(B, [2, 49], { 46: De }), + { + 26: W, + 46: Y, + 80: H, + 86: 153, + 91: [1, 154], + 94: j, + 95: V, + 98: z, + 99: U, + 100: $, + 102: K, + 103: q, + 106: 89, + 108: 87, + 109: G, + 110: Z, + 111: J, + 112: Q, + 113: X, + 114: ee, + }, + { 84: [1, 155], 92: 156, 94: [1, 157] }, + { + 26: W, + 46: Y, + 80: H, + 84: [1, 158], + 86: 159, + 94: j, + 95: V, + 98: z, + 99: U, + 100: $, + 102: K, + 103: q, + 106: 89, + 108: 87, + 109: G, + 110: Z, + 111: J, + 112: Q, + 113: X, + 114: ee, + }, + { + 26: W, + 46: Y, + 80: H, + 86: 160, + 94: j, + 95: V, + 98: z, + 99: U, + 100: $, + 102: K, + 103: q, + 106: 89, + 108: 87, + 109: G, + 110: Z, + 111: J, + 112: Q, + 113: X, + 114: ee, + }, + e(re, [2, 95], { 22: [1, 161], 88: [1, 162] }), + e(re, [2, 99], { 22: [1, 163] }), + e(re, [2, 103], { + 106: 89, + 108: 165, + 22: [1, 164], + 26: W, + 46: Y, + 80: H, + 94: j, + 95: V, + 98: z, + 99: U, + 100: $, + 102: K, + 103: q, + 109: G, + 110: Z, + 111: J, + 112: Q, + 113: X, + 114: ee, + }), + e(re, [2, 105], { 22: [1, 166] }), + e(Ne, [2, 146]), + e(Ne, [2, 148]), + e(Ne, [2, 149]), + e(Ne, [2, 150]), + e(Ne, [2, 151]), + e(Ee, [2, 152]), + e(Ee, [2, 153]), + e(Ee, [2, 154]), + e(Ee, [2, 155]), + e(Ee, [2, 156]), + e(Ee, [2, 157]), + e(Ee, [2, 158]), + e(Ee, [2, 159]), + e(Ee, [2, 160]), + e(Ee, [2, 161]), + e(Ee, [2, 162]), + e(Ee, [2, 163]), + e(Ee, [2, 164]), + { + 46: u, + 48: 167, + 80: b, + 94: v, + 95: y, + 98: w, + 99: C, + 100: S, + 102: k, + 103: x, + 107: 39, + 109: L, + 110: M, + 111: D, + 112: N, + 113: E, + 114: T, + }, + { + 22: le, + 24: ce, + 26: de, + 38: he, + 39: 168, + 42: ue, + 46: Y, + 61: ge, + 69: fe, + 72: 127, + 73: pe, + 74: 138, + 75: me, + 76: _e, + 77: be, + 78: ve, + 79: ye, + 80: we, + 81: Ce, + 83: 129, + 84: Se, + 94: j, + 95: V, + 98: z, + 99: U, + 100: ke, + 102: K, + 103: q, + 104: xe, + 105: Le, + 106: 135, + 109: G, + 110: Z, + 111: J, + 112: Q, + 113: X, + 114: ee, + }, + { + 22: le, + 24: ce, + 26: de, + 38: he, + 39: 170, + 42: ue, + 46: Y, + 49: [1, 169], + 61: ge, + 69: fe, + 72: 127, + 73: pe, + 74: 138, + 75: me, + 76: _e, + 77: be, + 78: ve, + 79: ye, + 80: we, + 81: Ce, + 83: 129, + 84: Se, + 94: j, + 95: V, + 98: z, + 99: U, + 100: ke, + 102: K, + 103: q, + 104: xe, + 105: Le, + 106: 135, + 109: G, + 110: Z, + 111: J, + 112: Q, + 113: X, + 114: ee, + }, + { + 22: le, + 24: ce, + 26: de, + 38: he, + 39: 171, + 42: ue, + 46: Y, + 61: ge, + 69: fe, + 72: 127, + 73: pe, + 74: 138, + 75: me, + 76: _e, + 77: be, + 78: ve, + 79: ye, + 80: we, + 81: Ce, + 83: 129, + 84: Se, + 94: j, + 95: V, + 98: z, + 99: U, + 100: ke, + 102: K, + 103: q, + 104: xe, + 105: Le, + 106: 135, + 109: G, + 110: Z, + 111: J, + 112: Q, + 113: X, + 114: ee, + }, + { + 22: le, + 24: ce, + 26: de, + 38: he, + 39: 172, + 42: ue, + 46: Y, + 61: ge, + 69: fe, + 72: 127, + 73: pe, + 74: 138, + 75: me, + 76: _e, + 77: be, + 78: ve, + 79: ye, + 80: we, + 81: Ce, + 83: 129, + 84: Se, + 94: j, + 95: V, + 98: z, + 99: U, + 100: ke, + 102: K, + 103: q, + 104: xe, + 105: Le, + 106: 135, + 109: G, + 110: Z, + 111: J, + 112: Q, + 113: X, + 114: ee, + }, + { + 22: le, + 24: ce, + 26: de, + 38: he, + 39: 173, + 42: ue, + 46: Y, + 61: ge, + 69: fe, + 72: 127, + 73: pe, + 74: 138, + 75: me, + 76: _e, + 77: be, + 78: ve, + 79: ye, + 80: we, + 81: Ce, + 83: 129, + 84: Se, + 94: j, + 95: V, + 98: z, + 99: U, + 100: ke, + 102: K, + 103: q, + 104: xe, + 105: Le, + 106: 135, + 109: G, + 110: Z, + 111: J, + 112: Q, + 113: X, + 114: ee, + }, + { + 22: le, + 24: ce, + 26: de, + 38: he, + 39: 174, + 42: ue, + 46: Y, + 61: ge, + 69: fe, + 72: 127, + 73: pe, + 74: 138, + 75: me, + 76: _e, + 77: be, + 78: ve, + 79: ye, + 80: we, + 81: Ce, + 83: 129, + 84: Se, + 94: j, + 95: V, + 98: z, + 99: U, + 100: ke, + 102: K, + 103: q, + 104: xe, + 105: Le, + 106: 135, + 109: G, + 110: Z, + 111: J, + 112: Q, + 113: X, + 114: ee, + }, + { + 22: le, + 24: ce, + 26: de, + 38: he, + 39: 175, + 42: ue, + 46: Y, + 59: [1, 176], + 61: ge, + 69: fe, + 72: 127, + 73: pe, + 74: 138, + 75: me, + 76: _e, + 77: be, + 78: ve, + 79: ye, + 80: we, + 81: Ce, + 83: 129, + 84: Se, + 94: j, + 95: V, + 98: z, + 99: U, + 100: ke, + 102: K, + 103: q, + 104: xe, + 105: Le, + 106: 135, + 109: G, + 110: Z, + 111: J, + 112: Q, + 113: X, + 114: ee, + }, + { + 22: le, + 24: ce, + 26: de, + 38: he, + 39: 177, + 42: ue, + 46: Y, + 61: ge, + 69: fe, + 72: 127, + 73: pe, + 74: 138, + 75: me, + 76: _e, + 77: be, + 78: ve, + 79: ye, + 80: we, + 81: Ce, + 83: 129, + 84: Se, + 94: j, + 95: V, + 98: z, + 99: U, + 100: ke, + 102: K, + 103: q, + 104: xe, + 105: Le, + 106: 135, + 109: G, + 110: Z, + 111: J, + 112: Q, + 113: X, + 114: ee, + }, + { + 22: le, + 24: ce, + 26: de, + 38: he, + 39: 178, + 42: ue, + 46: Y, + 61: ge, + 69: fe, + 72: 127, + 73: pe, + 74: 138, + 75: me, + 76: _e, + 77: be, + 78: ve, + 79: ye, + 80: we, + 81: Ce, + 83: 129, + 84: Se, + 94: j, + 95: V, + 98: z, + 99: U, + 100: ke, + 102: K, + 103: q, + 104: xe, + 105: Le, + 106: 135, + 109: G, + 110: Z, + 111: J, + 112: Q, + 113: X, + 114: ee, + }, + { + 22: le, + 24: ce, + 26: de, + 38: he, + 39: 179, + 42: ue, + 46: Y, + 61: ge, + 69: fe, + 72: 127, + 73: pe, + 74: 138, + 75: me, + 76: _e, + 77: be, + 78: ve, + 79: ye, + 80: we, + 81: Ce, + 83: 129, + 84: Se, + 94: j, + 95: V, + 98: z, + 99: U, + 100: ke, + 102: K, + 103: q, + 104: xe, + 105: Le, + 106: 135, + 109: G, + 110: Z, + 111: J, + 112: Q, + 113: X, + 114: ee, + }, + e(ne, [2, 145]), + e(Te, [2, 3]), + { 8: 180, 15: I }, + { 15: [2, 7] }, + e(s, [2, 28]), + e(se, [2, 33]), + e(B, [2, 47], { 30: 181, 22: O }), + e(ae, [2, 69], { 22: [1, 182] }), + { 22: [1, 183] }, + { + 22: le, + 24: ce, + 26: de, + 38: he, + 39: 184, + 42: ue, + 46: Y, + 61: ge, + 69: fe, + 72: 127, + 73: pe, + 74: 138, + 75: me, + 76: _e, + 77: be, + 78: ve, + 79: ye, + 80: we, + 81: Ce, + 83: 129, + 84: Se, + 94: j, + 95: V, + 98: z, + 99: U, + 100: ke, + 102: K, + 103: q, + 104: xe, + 105: Le, + 106: 135, + 109: G, + 110: Z, + 111: J, + 112: Q, + 113: X, + 114: ee, + }, + { + 22: le, + 24: ce, + 26: de, + 38: he, + 42: ue, + 46: Y, + 61: ge, + 69: fe, + 70: [1, 185], + 72: 186, + 74: 138, + 75: me, + 76: _e, + 77: be, + 78: ve, + 79: ye, + 80: we, + 81: Ce, + 83: 129, + 84: Se, + 94: j, + 95: V, + 98: z, + 99: U, + 100: ke, + 102: K, + 103: q, + 104: xe, + 105: Le, + 106: 135, + 109: G, + 110: Z, + 111: J, + 112: Q, + 113: X, + 114: ee, + }, + e(Ee, [2, 76]), + e(Ee, [2, 78]), + e(Ee, [2, 134]), + e(Ee, [2, 135]), + e(Ee, [2, 136]), + e(Ee, [2, 137]), + e(Ee, [2, 138]), + e(Ee, [2, 139]), + e(Ee, [2, 140]), + e(Ee, [2, 141]), + e(Ee, [2, 142]), + e(Ee, [2, 143]), + e(Ee, [2, 79]), + e(Ee, [2, 80]), + e(Ee, [2, 81]), + e(Ee, [2, 82]), + e(Ee, [2, 83]), + e(Ee, [2, 84]), + e(Ee, [2, 85]), + e(Ee, [2, 86]), + e(Ee, [2, 87]), + e(Ee, [2, 88]), + e(Ee, [2, 89]), + { + 9: 188, + 20: R, + 21: P, + 22: le, + 23: F, + 24: ce, + 26: de, + 38: he, + 40: [1, 187], + 42: ue, + 46: Y, + 61: ge, + 69: fe, + 72: 186, + 74: 138, + 75: me, + 76: _e, + 77: be, + 78: ve, + 79: ye, + 80: we, + 81: Ce, + 83: 129, + 84: Se, + 94: j, + 95: V, + 98: z, + 99: U, + 100: ke, + 102: K, + 103: q, + 104: xe, + 105: Le, + 106: 135, + 109: G, + 110: Z, + 111: J, + 112: Q, + 113: X, + 114: ee, + }, + { + 18: 18, + 19: 19, + 20: a, + 21: l, + 22: c, + 23: d, + 32: 24, + 33: 25, + 34: 26, + 35: 27, + 36: 28, + 37: 29, + 38: h, + 42: [1, 189], + 44: 31, + 45: 37, + 46: u, + 48: 38, + 75: g, + 76: f, + 77: p, + 78: m, + 79: _, + 80: b, + 94: v, + 95: y, + 98: w, + 99: C, + 100: S, + 102: k, + 103: x, + 107: 39, + 109: L, + 110: M, + 111: D, + 112: N, + 113: E, + 114: T, + }, + { 22: O, 30: 190 }, + { + 22: [1, 191], + 26: W, + 46: Y, + 80: H, + 94: j, + 95: V, + 98: z, + 99: U, + 100: $, + 102: K, + 103: q, + 106: 89, + 108: 165, + 109: G, + 110: Z, + 111: J, + 112: Q, + 113: X, + 114: ee, + }, + { 22: [1, 192] }, + { 22: [1, 193] }, + { 22: [1, 194], 95: [1, 195] }, + e(Ie, [2, 117]), + { 22: [1, 196] }, + { + 22: [1, 197], + 26: W, + 46: Y, + 80: H, + 94: j, + 95: V, + 98: z, + 99: U, + 100: $, + 102: K, + 103: q, + 106: 89, + 108: 165, + 109: G, + 110: Z, + 111: J, + 112: Q, + 113: X, + 114: ee, + }, + { + 22: [1, 198], + 26: W, + 46: Y, + 80: H, + 94: j, + 95: V, + 98: z, + 99: U, + 100: $, + 102: K, + 103: q, + 106: 89, + 108: 165, + 109: G, + 110: Z, + 111: J, + 112: Q, + 113: X, + 114: ee, + }, + { 73: [1, 199] }, + e(re, [2, 97], { 22: [1, 200] }), + { 73: [1, 201], 90: [1, 202] }, + { 73: [1, 203] }, + e(Ne, [2, 147]), + { 73: [1, 204], 90: [1, 205] }, + e(te, [2, 53], { + 107: 116, + 46: u, + 80: b, + 94: v, + 95: y, + 98: w, + 99: C, + 100: S, + 102: k, + 103: x, + 109: L, + 110: M, + 111: D, + 112: N, + 113: E, + 114: T, + }), + { + 22: le, + 24: ce, + 26: de, + 38: he, + 41: [1, 206], + 42: ue, + 46: Y, + 61: ge, + 69: fe, + 72: 186, + 74: 138, + 75: me, + 76: _e, + 77: be, + 78: ve, + 79: ye, + 80: we, + 81: Ce, + 83: 129, + 84: Se, + 94: j, + 95: V, + 98: z, + 99: U, + 100: ke, + 102: K, + 103: q, + 104: xe, + 105: Le, + 106: 135, + 109: G, + 110: Z, + 111: J, + 112: Q, + 113: X, + 114: ee, + }, + { + 22: le, + 24: ce, + 26: de, + 38: he, + 39: 207, + 42: ue, + 46: Y, + 61: ge, + 69: fe, + 72: 127, + 73: pe, + 74: 138, + 75: me, + 76: _e, + 77: be, + 78: ve, + 79: ye, + 80: we, + 81: Ce, + 83: 129, + 84: Se, + 94: j, + 95: V, + 98: z, + 99: U, + 100: ke, + 102: K, + 103: q, + 104: xe, + 105: Le, + 106: 135, + 109: G, + 110: Z, + 111: J, + 112: Q, + 113: X, + 114: ee, + }, + { + 22: le, + 24: ce, + 26: de, + 38: he, + 42: ue, + 46: Y, + 50: [1, 208], + 61: ge, + 69: fe, + 72: 186, + 74: 138, + 75: me, + 76: _e, + 77: be, + 78: ve, + 79: ye, + 80: we, + 81: Ce, + 83: 129, + 84: Se, + 94: j, + 95: V, + 98: z, + 99: U, + 100: ke, + 102: K, + 103: q, + 104: xe, + 105: Le, + 106: 135, + 109: G, + 110: Z, + 111: J, + 112: Q, + 113: X, + 114: ee, + }, + { + 22: le, + 24: ce, + 26: de, + 38: he, + 42: ue, + 46: Y, + 52: [1, 209], + 61: ge, + 69: fe, + 72: 186, + 74: 138, + 75: me, + 76: _e, + 77: be, + 78: ve, + 79: ye, + 80: we, + 81: Ce, + 83: 129, + 84: Se, + 94: j, + 95: V, + 98: z, + 99: U, + 100: ke, + 102: K, + 103: q, + 104: xe, + 105: Le, + 106: 135, + 109: G, + 110: Z, + 111: J, + 112: Q, + 113: X, + 114: ee, + }, + { + 22: le, + 24: ce, + 26: de, + 38: he, + 42: ue, + 46: Y, + 54: [1, 210], + 61: ge, + 69: fe, + 72: 186, + 74: 138, + 75: me, + 76: _e, + 77: be, + 78: ve, + 79: ye, + 80: we, + 81: Ce, + 83: 129, + 84: Se, + 94: j, + 95: V, + 98: z, + 99: U, + 100: ke, + 102: K, + 103: q, + 104: xe, + 105: Le, + 106: 135, + 109: G, + 110: Z, + 111: J, + 112: Q, + 113: X, + 114: ee, + }, + { + 22: le, + 24: ce, + 26: de, + 38: he, + 42: ue, + 46: Y, + 56: [1, 211], + 61: ge, + 69: fe, + 72: 186, + 74: 138, + 75: me, + 76: _e, + 77: be, + 78: ve, + 79: ye, + 80: we, + 81: Ce, + 83: 129, + 84: Se, + 94: j, + 95: V, + 98: z, + 99: U, + 100: ke, + 102: K, + 103: q, + 104: xe, + 105: Le, + 106: 135, + 109: G, + 110: Z, + 111: J, + 112: Q, + 113: X, + 114: ee, + }, + { + 22: le, + 24: ce, + 26: de, + 38: he, + 42: ue, + 46: Y, + 58: [1, 212], + 61: ge, + 69: fe, + 72: 186, + 74: 138, + 75: me, + 76: _e, + 77: be, + 78: ve, + 79: ye, + 80: we, + 81: Ce, + 83: 129, + 84: Se, + 94: j, + 95: V, + 98: z, + 99: U, + 100: ke, + 102: K, + 103: q, + 104: xe, + 105: Le, + 106: 135, + 109: G, + 110: Z, + 111: J, + 112: Q, + 113: X, + 114: ee, + }, + { + 22: le, + 24: ce, + 26: de, + 38: he, + 42: ue, + 46: Y, + 60: [1, 213], + 61: ge, + 69: fe, + 72: 186, + 74: 138, + 75: me, + 76: _e, + 77: be, + 78: ve, + 79: ye, + 80: we, + 81: Ce, + 83: 129, + 84: Se, + 94: j, + 95: V, + 98: z, + 99: U, + 100: ke, + 102: K, + 103: q, + 104: xe, + 105: Le, + 106: 135, + 109: G, + 110: Z, + 111: J, + 112: Q, + 113: X, + 114: ee, + }, + { + 22: le, + 24: ce, + 26: de, + 38: he, + 39: 214, + 42: ue, + 46: Y, + 61: ge, + 69: fe, + 72: 127, + 73: pe, + 74: 138, + 75: me, + 76: _e, + 77: be, + 78: ve, + 79: ye, + 80: we, + 81: Ce, + 83: 129, + 84: Se, + 94: j, + 95: V, + 98: z, + 99: U, + 100: ke, + 102: K, + 103: q, + 104: xe, + 105: Le, + 106: 135, + 109: G, + 110: Z, + 111: J, + 112: Q, + 113: X, + 114: ee, + }, + { + 22: le, + 24: ce, + 26: de, + 38: he, + 41: [1, 215], + 42: ue, + 46: Y, + 61: ge, + 69: fe, + 72: 186, + 74: 138, + 75: me, + 76: _e, + 77: be, + 78: ve, + 79: ye, + 80: we, + 81: Ce, + 83: 129, + 84: Se, + 94: j, + 95: V, + 98: z, + 99: U, + 100: ke, + 102: K, + 103: q, + 104: xe, + 105: Le, + 106: 135, + 109: G, + 110: Z, + 111: J, + 112: Q, + 113: X, + 114: ee, + }, + { + 22: le, + 24: ce, + 26: de, + 38: he, + 42: ue, + 46: Y, + 61: ge, + 63: [1, 216], + 65: [1, 217], + 69: fe, + 72: 186, + 74: 138, + 75: me, + 76: _e, + 77: be, + 78: ve, + 79: ye, + 80: we, + 81: Ce, + 83: 129, + 84: Se, + 94: j, + 95: V, + 98: z, + 99: U, + 100: ke, + 102: K, + 103: q, + 104: xe, + 105: Le, + 106: 135, + 109: G, + 110: Z, + 111: J, + 112: Q, + 113: X, + 114: ee, + }, + { + 22: le, + 24: ce, + 26: de, + 38: he, + 42: ue, + 46: Y, + 61: ge, + 63: [1, 219], + 65: [1, 218], + 69: fe, + 72: 186, + 74: 138, + 75: me, + 76: _e, + 77: be, + 78: ve, + 79: ye, + 80: we, + 81: Ce, + 83: 129, + 84: Se, + 94: j, + 95: V, + 98: z, + 99: U, + 100: ke, + 102: K, + 103: q, + 104: xe, + 105: Le, + 106: 135, + 109: G, + 110: Z, + 111: J, + 112: Q, + 113: X, + 114: ee, + }, + { 9: 220, 20: R, 21: P, 23: F }, + e(B, [2, 48], { 46: De }), + e(ae, [2, 71]), + e(ae, [2, 70]), + { + 22: le, + 24: ce, + 26: de, + 38: he, + 42: ue, + 46: Y, + 61: ge, + 69: fe, + 71: [1, 221], + 72: 186, + 74: 138, + 75: me, + 76: _e, + 77: be, + 78: ve, + 79: ye, + 80: we, + 81: Ce, + 83: 129, + 84: Se, + 94: j, + 95: V, + 98: z, + 99: U, + 100: ke, + 102: K, + 103: q, + 104: xe, + 105: Le, + 106: 135, + 109: G, + 110: Z, + 111: J, + 112: Q, + 113: X, + 114: ee, + }, + e(ae, [2, 73]), + e(Ee, [2, 77]), + { + 22: le, + 24: ce, + 26: de, + 38: he, + 39: 222, + 42: ue, + 46: Y, + 61: ge, + 69: fe, + 72: 127, + 73: pe, + 74: 138, + 75: me, + 76: _e, + 77: be, + 78: ve, + 79: ye, + 80: we, + 81: Ce, + 83: 129, + 84: Se, + 94: j, + 95: V, + 98: z, + 99: U, + 100: ke, + 102: K, + 103: q, + 104: xe, + 105: Le, + 106: 135, + 109: G, + 110: Z, + 111: J, + 112: Q, + 113: X, + 114: ee, + }, + e(Me, o, { 17: 223 }), + e(A, [2, 43]), + { + 45: 224, + 46: u, + 48: 38, + 80: b, + 94: v, + 95: y, + 98: w, + 99: C, + 100: S, + 102: k, + 103: x, + 107: 39, + 109: L, + 110: M, + 111: D, + 112: N, + 113: E, + 114: T, + }, + { + 22: Oe, + 75: Ae, + 85: 225, + 91: Re, + 94: Pe, + 96: 226, + 97: 227, + 98: Fe, + 99: Be, + 100: We, + 101: Ye, + 102: He, + 103: je, + 104: Ve, + }, + { + 22: Oe, + 75: Ae, + 85: 239, + 91: Re, + 94: Pe, + 96: 226, + 97: 227, + 98: Fe, + 99: Be, + 100: We, + 101: Ye, + 102: He, + 103: je, + 104: Ve, + }, + { + 22: Oe, + 75: Ae, + 85: 240, + 91: Re, + 93: [1, 241], + 94: Pe, + 96: 226, + 97: 227, + 98: Fe, + 99: Be, + 100: We, + 101: Ye, + 102: He, + 103: je, + 104: Ve, + }, + { + 22: Oe, + 75: Ae, + 85: 242, + 91: Re, + 93: [1, 243], + 94: Pe, + 96: 226, + 97: 227, + 98: Fe, + 99: Be, + 100: We, + 101: Ye, + 102: He, + 103: je, + 104: Ve, + }, + { 94: [1, 244] }, + { + 22: Oe, + 75: Ae, + 85: 245, + 91: Re, + 94: Pe, + 96: 226, + 97: 227, + 98: Fe, + 99: Be, + 100: We, + 101: Ye, + 102: He, + 103: je, + 104: Ve, + }, + { + 22: Oe, + 75: Ae, + 85: 246, + 91: Re, + 94: Pe, + 96: 226, + 97: 227, + 98: Fe, + 99: Be, + 100: We, + 101: Ye, + 102: He, + 103: je, + 104: Ve, + }, + { + 26: W, + 46: Y, + 80: H, + 86: 247, + 94: j, + 95: V, + 98: z, + 99: U, + 100: $, + 102: K, + 103: q, + 106: 89, + 108: 87, + 109: G, + 110: Z, + 111: J, + 112: Q, + 113: X, + 114: ee, + }, + e(re, [2, 96]), + { 73: [1, 248] }, + e(re, [2, 100], { 22: [1, 249] }), + e(re, [2, 101]), + e(re, [2, 104]), + e(re, [2, 106], { 22: [1, 250] }), + e(re, [2, 107]), + e(ie, [2, 54]), + { + 22: le, + 24: ce, + 26: de, + 38: he, + 42: ue, + 46: Y, + 50: [1, 251], + 61: ge, + 69: fe, + 72: 186, + 74: 138, + 75: me, + 76: _e, + 77: be, + 78: ve, + 79: ye, + 80: we, + 81: Ce, + 83: 129, + 84: Se, + 94: j, + 95: V, + 98: z, + 99: U, + 100: ke, + 102: K, + 103: q, + 104: xe, + 105: Le, + 106: 135, + 109: G, + 110: Z, + 111: J, + 112: Q, + 113: X, + 114: ee, + }, + e(ie, [2, 60]), + e(ie, [2, 56]), + e(ie, [2, 57]), + e(ie, [2, 58]), + e(ie, [2, 59]), + e(ie, [2, 61]), + { + 22: le, + 24: ce, + 26: de, + 38: he, + 42: ue, + 46: Y, + 60: [1, 252], + 61: ge, + 69: fe, + 72: 186, + 74: 138, + 75: me, + 76: _e, + 77: be, + 78: ve, + 79: ye, + 80: we, + 81: Ce, + 83: 129, + 84: Se, + 94: j, + 95: V, + 98: z, + 99: U, + 100: ke, + 102: K, + 103: q, + 104: xe, + 105: Le, + 106: 135, + 109: G, + 110: Z, + 111: J, + 112: Q, + 113: X, + 114: ee, + }, + e(ie, [2, 63]), + e(ie, [2, 64]), + e(ie, [2, 66]), + e(ie, [2, 65]), + e(ie, [2, 67]), + e(Te, [2, 4]), + e( + [ + 22, + 46, + 80, + 94, + 95, + 98, + 99, + 100, + 102, + 103, + 109, + 110, + 111, + 112, + 113, + 114, + ], + [2, 75] + ), + { + 22: le, + 24: ce, + 26: de, + 38: he, + 41: [1, 253], + 42: ue, + 46: Y, + 61: ge, + 69: fe, + 72: 186, + 74: 138, + 75: me, + 76: _e, + 77: be, + 78: ve, + 79: ye, + 80: we, + 81: Ce, + 83: 129, + 84: Se, + 94: j, + 95: V, + 98: z, + 99: U, + 100: ke, + 102: K, + 103: q, + 104: xe, + 105: Le, + 106: 135, + 109: G, + 110: Z, + 111: J, + 112: Q, + 113: X, + 114: ee, + }, + { + 18: 18, + 19: 19, + 20: a, + 21: l, + 22: c, + 23: d, + 32: 24, + 33: 25, + 34: 26, + 35: 27, + 36: 28, + 37: 29, + 38: h, + 42: [1, 254], + 44: 31, + 45: 37, + 46: u, + 48: 38, + 75: g, + 76: f, + 77: p, + 78: m, + 79: _, + 80: b, + 94: v, + 95: y, + 98: w, + 99: C, + 100: S, + 102: k, + 103: x, + 107: 39, + 109: L, + 110: M, + 111: D, + 112: N, + 113: E, + 114: T, + }, + e(te, [2, 52]), + e(re, [2, 109], { 95: ze }), + e(Ue, [2, 119], { + 97: 256, + 22: Oe, + 75: Ae, + 91: Re, + 94: Pe, + 98: Fe, + 99: Be, + 100: We, + 101: Ye, + 102: He, + 103: je, + 104: Ve, + }), + e($e, [2, 121]), + e($e, [2, 123]), + e($e, [2, 124]), + e($e, [2, 125]), + e($e, [2, 126]), + e($e, [2, 127]), + e($e, [2, 128]), + e($e, [2, 129]), + e($e, [2, 130]), + e($e, [2, 131]), + e($e, [2, 132]), + e($e, [2, 133]), + e(re, [2, 110], { 95: ze }), + e(re, [2, 111], { 95: ze }), + { 22: [1, 257] }, + e(re, [2, 112], { 95: ze }), + { 22: [1, 258] }, + e(Ie, [2, 118]), + e(re, [2, 92], { 95: ze }), + e(re, [2, 93], { 95: ze }), + e(re, [2, 94], { + 106: 89, + 108: 165, + 26: W, + 46: Y, + 80: H, + 94: j, + 95: V, + 98: z, + 99: U, + 100: $, + 102: K, + 103: q, + 109: G, + 110: Z, + 111: J, + 112: Q, + 113: X, + 114: ee, + }), + e(re, [2, 98]), + { 90: [1, 259] }, + { 90: [1, 260] }, + { 50: [1, 261] }, + { 60: [1, 262] }, + { 9: 263, 20: R, 21: P, 23: F }, + e(A, [2, 42]), + { + 22: Oe, + 75: Ae, + 91: Re, + 94: Pe, + 96: 264, + 97: 227, + 98: Fe, + 99: Be, + 100: We, + 101: Ye, + 102: He, + 103: je, + 104: Ve, + }, + e($e, [2, 122]), + { + 26: W, + 46: Y, + 80: H, + 86: 265, + 94: j, + 95: V, + 98: z, + 99: U, + 100: $, + 102: K, + 103: q, + 106: 89, + 108: 87, + 109: G, + 110: Z, + 111: J, + 112: Q, + 113: X, + 114: ee, + }, + { + 26: W, + 46: Y, + 80: H, + 86: 266, + 94: j, + 95: V, + 98: z, + 99: U, + 100: $, + 102: K, + 103: q, + 106: 89, + 108: 87, + 109: G, + 110: Z, + 111: J, + 112: Q, + 113: X, + 114: ee, + }, + e(re, [2, 102]), + e(re, [2, 108]), + e(ie, [2, 55]), + e(ie, [2, 62]), + e(Me, o, { 17: 267 }), + e(Ue, [2, 120], { + 97: 256, + 22: Oe, + 75: Ae, + 91: Re, + 94: Pe, + 98: Fe, + 99: Be, + 100: We, + 101: Ye, + 102: He, + 103: je, + 104: Ve, + }), + e(re, [2, 115], { + 106: 89, + 108: 165, + 22: [1, 268], + 26: W, + 46: Y, + 80: H, + 94: j, + 95: V, + 98: z, + 99: U, + 100: $, + 102: K, + 103: q, + 109: G, + 110: Z, + 111: J, + 112: Q, + 113: X, + 114: ee, + }), + e(re, [2, 116], { + 106: 89, + 108: 165, + 22: [1, 269], + 26: W, + 46: Y, + 80: H, + 94: j, + 95: V, + 98: z, + 99: U, + 100: $, + 102: K, + 103: q, + 109: G, + 110: Z, + 111: J, + 112: Q, + 113: X, + 114: ee, + }), + { + 18: 18, + 19: 19, + 20: a, + 21: l, + 22: c, + 23: d, + 32: 24, + 33: 25, + 34: 26, + 35: 27, + 36: 28, + 37: 29, + 38: h, + 42: [1, 270], + 44: 31, + 45: 37, + 46: u, + 48: 38, + 75: g, + 76: f, + 77: p, + 78: m, + 79: _, + 80: b, + 94: v, + 95: y, + 98: w, + 99: C, + 100: S, + 102: k, + 103: x, + 107: 39, + 109: L, + 110: M, + 111: D, + 112: N, + 113: E, + 114: T, + }, + { + 22: Oe, + 75: Ae, + 85: 271, + 91: Re, + 94: Pe, + 96: 226, + 97: 227, + 98: Fe, + 99: Be, + 100: We, + 101: Ye, + 102: He, + 103: je, + 104: Ve, + }, + { + 22: Oe, + 75: Ae, + 85: 272, + 91: Re, + 94: Pe, + 96: 226, + 97: 227, + 98: Fe, + 99: Be, + 100: We, + 101: Ye, + 102: He, + 103: je, + 104: Ve, + }, + e(A, [2, 41]), + e(re, [2, 113], { 95: ze }), + e(re, [2, 114], { 95: ze }), + ], + defaultActions: { + 2: [2, 1], + 9: [2, 5], + 10: [2, 2], + 119: [2, 7], + }, + parseError: function (e, t) { + if (!t.recoverable) { + var i = new Error(e); + throw ((i.hash = t), i); + } + this.trace(e); + }, + parse: function (e) { + var t = this, + i = [0], + n = [], + r = [null], + s = [], + o = this.table, + a = '', + l = 0, + c = 0, + d = 0, + h = 2, + u = 1, + g = s.slice.call(arguments, 1), + f = Object.create(this.lexer), + p = { yy: {} }; + for (var m in this.yy) + Object.prototype.hasOwnProperty.call(this.yy, m) && + (p.yy[m] = this.yy[m]); + f.setInput(e, p.yy), + (p.yy.lexer = f), + (p.yy.parser = this), + void 0 === f.yylloc && (f.yylloc = {}); + var _ = f.yylloc; + s.push(_); + var b = f.options && f.options.ranges; + function v() { + var e; + return ( + 'number' != + typeof (e = n.pop() || f.lex() || u) && + (e instanceof Array && (e = (n = e).pop()), + (e = t.symbols_[e] || e)), + e + ); + } + 'function' == typeof p.yy.parseError + ? (this.parseError = p.yy.parseError) + : (this.parseError = Object.getPrototypeOf( + this + ).parseError); + for (var y, w, C, S, k, x, L, M, D, N = {}; ; ) { + if ( + ((C = i[i.length - 1]), + this.defaultActions[C] + ? (S = this.defaultActions[C]) + : (null == y && (y = v()), + (S = o[C] && o[C][y])), + void 0 === S || !S.length || !S[0]) + ) { + var E = ''; + for (x in ((D = []), o[C])) + this.terminals_[x] && + x > h && + D.push("'" + this.terminals_[x] + "'"); + (E = f.showPosition + ? 'Parse error on line ' + + (l + 1) + + ':\n' + + f.showPosition() + + '\nExpecting ' + + D.join(', ') + + ", got '" + + (this.terminals_[y] || y) + + "'" + : 'Parse error on line ' + + (l + 1) + + ': Unexpected ' + + (y == u + ? 'end of input' + : "'" + (this.terminals_[y] || y) + "'")), + this.parseError(E, { + text: f.match, + token: this.terminals_[y] || y, + line: f.yylineno, + loc: _, + expected: D, + }); + } + if (S[0] instanceof Array && S.length > 1) + throw new Error( + 'Parse Error: multiple actions possible at state: ' + + C + + ', token: ' + + y + ); + switch (S[0]) { + case 1: + i.push(y), + r.push(f.yytext), + s.push(f.yylloc), + i.push(S[1]), + (y = null), + w + ? ((y = w), (w = null)) + : ((c = f.yyleng), + (a = f.yytext), + (l = f.yylineno), + (_ = f.yylloc), + d > 0 && d--); + break; + case 2: + if ( + ((L = this.productions_[S[1]][1]), + (N.$ = r[r.length - L]), + (N._$ = { + first_line: + s[s.length - (L || 1)].first_line, + last_line: s[s.length - 1].last_line, + first_column: + s[s.length - (L || 1)].first_column, + last_column: s[s.length - 1].last_column, + }), + b && + (N._$.range = [ + s[s.length - (L || 1)].range[0], + s[s.length - 1].range[1], + ]), + void 0 !== + (k = this.performAction.apply( + N, + [a, c, l, p.yy, S[1], r, s].concat(g) + ))) + ) + return k; + L && + ((i = i.slice(0, -1 * L * 2)), + (r = r.slice(0, -1 * L)), + (s = s.slice(0, -1 * L))), + i.push(this.productions_[S[1]][0]), + r.push(N.$), + s.push(N._$), + (M = o[i[i.length - 2]][i[i.length - 1]]), + i.push(M); + break; + case 3: + return !0; + } + } + return !0; + }, + }, + qe = { + EOF: 1, + parseError: function (e, t) { + if (!this.yy.parser) throw new Error(e); + this.yy.parser.parseError(e, t); + }, + setInput: function (e, t) { + return ( + (this.yy = t || this.yy || {}), + (this._input = e), + (this._more = this._backtrack = this.done = !1), + (this.yylineno = this.yyleng = 0), + (this.yytext = this.matched = this.match = ''), + (this.conditionStack = ['INITIAL']), + (this.yylloc = { + first_line: 1, + first_column: 0, + last_line: 1, + last_column: 0, + }), + this.options.ranges && (this.yylloc.range = [0, 0]), + (this.offset = 0), + this + ); + }, + input: function () { + var e = this._input[0]; + return ( + (this.yytext += e), + this.yyleng++, + this.offset++, + (this.match += e), + (this.matched += e), + e.match(/(?:\r\n?|\n).*/g) + ? (this.yylineno++, this.yylloc.last_line++) + : this.yylloc.last_column++, + this.options.ranges && this.yylloc.range[1]++, + (this._input = this._input.slice(1)), + e + ); + }, + unput: function (e) { + var t = e.length, + i = e.split(/(?:\r\n?|\n)/g); + (this._input = e + this._input), + (this.yytext = this.yytext.substr( + 0, + this.yytext.length - t + )), + (this.offset -= t); + var n = this.match.split(/(?:\r\n?|\n)/g); + (this.match = this.match.substr( + 0, + this.match.length - 1 + )), + (this.matched = this.matched.substr( + 0, + this.matched.length - 1 + )), + i.length - 1 && (this.yylineno -= i.length - 1); + var r = 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: i + ? (i.length === n.length + ? this.yylloc.first_column + : 0) + + n[n.length - i.length].length - + i[0].length + : this.yylloc.first_column - t, + }), + this.options.ranges && + (this.yylloc.range = [ + r[0], + r[0] + this.yyleng - t, + ]), + (this.yyleng = this.yytext.length), + this + ); + }, + more: function () { + return (this._more = !0), this; + }, + reject: function () { + return this.options.backtrack_lexer + ? ((this._backtrack = !0), this) + : this.parseError( + 'Lexical error on line ' + + (this.yylineno + 1) + + '. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n' + + this.showPosition(), + { text: '', token: null, line: this.yylineno } + ); + }, + less: function (e) { + this.unput(this.match.slice(e)); + }, + pastInput: function () { + var e = this.matched.substr( + 0, + this.matched.length - this.match.length + ); + return ( + (e.length > 20 ? '...' : '') + + e.substr(-20).replace(/\n/g, '') + ); + }, + upcomingInput: function () { + var e = this.match; + return ( + e.length < 20 && + (e += this._input.substr(0, 20 - e.length)), + ( + e.substr(0, 20) + (e.length > 20 ? '...' : '') + ).replace(/\n/g, '') + ); + }, + showPosition: function () { + var e = this.pastInput(), + t = new Array(e.length + 1).join('-'); + return e + this.upcomingInput() + '\n' + t + '^'; + }, + test_match: function (e, t) { + var i, n, r; + if ( + (this.options.backtrack_lexer && + ((r = { + 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 && + (r.yylloc.range = this.yylloc.range.slice(0))), + (n = e[0].match(/(?:\r\n?|\n).*/g)) && + (this.yylineno += n.length), + (this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: n + ? n[n.length - 1].length - + n[n.length - 1].match(/\r?\n?/)[0].length + : this.yylloc.last_column + e[0].length, + }), + (this.yytext += e[0]), + (this.match += e[0]), + (this.matches = e), + (this.yyleng = this.yytext.length), + this.options.ranges && + (this.yylloc.range = [ + this.offset, + (this.offset += this.yyleng), + ]), + (this._more = !1), + (this._backtrack = !1), + (this._input = this._input.slice(e[0].length)), + (this.matched += e[0]), + (i = this.performAction.call( + this, + this.yy, + this, + t, + this.conditionStack[ + this.conditionStack.length - 1 + ] + )), + this.done && this._input && (this.done = !1), + i) + ) + return i; + if (this._backtrack) { + for (var s in r) this[s] = r[s]; + return !1; + } + return !1; + }, + next: function () { + if (this.done) return this.EOF; + var e, t, i, n; + this._input || (this.done = !0), + this._more || + ((this.yytext = ''), (this.match = '')); + for ( + var r = this._currentRules(), s = 0; + s < r.length; + s++ + ) + if ( + (i = this._input.match(this.rules[r[s]])) && + (!t || i[0].length > t[0].length) + ) { + if ( + ((t = i), (n = s), this.options.backtrack_lexer) + ) { + if (!1 !== (e = this.test_match(i, r[s]))) + return e; + if (this._backtrack) { + t = !1; + continue; + } + return !1; + } + if (!this.options.flex) break; + } + return t + ? !1 !== (e = this.test_match(t, r[n])) && e + : '' === this._input + ? this.EOF + : this.parseError( + 'Lexical error on line ' + + (this.yylineno + 1) + + '. Unrecognized text.\n' + + this.showPosition(), + { text: '', token: null, line: this.yylineno } + ); + }, + lex: function () { + return this.next() || this.lex(); + }, + begin: function (e) { + this.conditionStack.push(e); + }, + popState: function () { + return this.conditionStack.length - 1 > 0 + ? this.conditionStack.pop() + : this.conditionStack[0]; + }, + _currentRules: function () { + return this.conditionStack.length && + this.conditionStack[this.conditionStack.length - 1] + ? this.conditions[ + this.conditionStack[ + this.conditionStack.length - 1 + ] + ].rules + : this.conditions.INITIAL.rules; + }, + topState: function (e) { + return (e = + this.conditionStack.length - + 1 - + Math.abs(e || 0)) >= 0 + ? this.conditionStack[e] + : 'INITIAL'; + }, + pushState: function (e) { + this.begin(e); + }, + stateStackSize: function () { + return this.conditionStack.length; + }, + options: {}, + performAction: function (e, t, i, n) { + switch (i) { + case 0: + return this.begin('open_directive'), 12; + case 1: + return this.begin('type_directive'), 13; + case 2: + return ( + this.popState(), this.begin('arg_directive'), 10 + ); + case 3: + return this.popState(), this.popState(), 15; + case 4: + return 14; + case 5: + case 6: + break; + case 7: + this.begin('string'); + break; + case 8: + this.popState(); + break; + case 9: + return 'STR'; + case 10: + return 75; + case 11: + return 84; + case 12: + return 76; + case 13: + return 93; + case 14: + return 77; + case 15: + return 78; + case 16: + this.begin('href'); + break; + case 17: + this.popState(); + break; + case 18: + return 89; + case 19: + this.begin('callbackname'); + break; + case 20: + this.popState(); + break; + case 21: + this.popState(), this.begin('callbackargs'); + break; + case 22: + return 87; + case 23: + this.popState(); + break; + case 24: + return 88; + case 25: + this.begin('click'); + break; + case 26: + this.popState(); + break; + case 27: + return 79; + case 28: + case 29: + return ( + e.lex.firstGraph() && this.begin('dir'), 24 + ); + case 30: + return 38; + case 31: + return 42; + case 32: + case 33: + case 34: + case 35: + return 90; + case 36: + return this.popState(), 25; + case 37: + case 38: + case 39: + case 40: + case 41: + case 42: + case 43: + case 44: + case 45: + case 46: + return this.popState(), 26; + case 47: + return 94; + case 48: + return 102; + case 49: + return 47; + case 50: + return 99; + case 51: + return 46; + case 52: + return 20; + case 53: + return 95; + case 54: + return 113; + case 55: + case 56: + case 57: + return 70; + case 58: + case 59: + case 60: + return 69; + case 61: + return 51; + case 62: + return 52; + case 63: + return 53; + case 64: + return 54; + case 65: + return 55; + case 66: + return 56; + case 67: + return 57; + case 68: + return 58; + case 69: + return 100; + case 70: + return 103; + case 71: + return 114; + case 72: + return 111; + case 73: + return 104; + case 74: + case 75: + return 112; + case 76: + return 105; + case 77: + return 61; + case 78: + return 81; + case 79: + return 'SEP'; + case 80: + return 80; + case 81: + return 98; + case 82: + return 63; + case 83: + return 62; + case 84: + return 65; + case 85: + return 64; + case 86: + return 109; + case 87: + return 110; + case 88: + return 71; + case 89: + return 49; + case 90: + return 50; + case 91: + return 40; + case 92: + return 41; + case 93: + return 59; + case 94: + return 60; + case 95: + return 120; + case 96: + return 21; + case 97: + return 22; + case 98: + return 23; + } + }, + rules: [ + /^(?:%%\{)/, + /^(?:((?:(?!\}%%)[^:.])*))/, + /^(?::)/, + /^(?:\}%%)/, + /^(?:((?:(?!\}%%).|\n)*))/, + /^(?:%%(?!\{)[^\n]*)/, + /^(?:[^\}]%%[^\n]*)/, + /^(?:["])/, + /^(?:["])/, + /^(?:[^"]*)/, + /^(?:style\b)/, + /^(?:default\b)/, + /^(?:linkStyle\b)/, + /^(?:interpolate\b)/, + /^(?:classDef\b)/, + /^(?:class\b)/, + /^(?:href[\s]+["])/, + /^(?:["])/, + /^(?:[^"]*)/, + /^(?:call[\s]+)/, + /^(?:\([\s]*\))/, + /^(?:\()/, + /^(?:[^(]*)/, + /^(?:\))/, + /^(?:[^)]*)/, + /^(?:click[\s]+)/, + /^(?:[\s\n])/, + /^(?:[^\s\n]*)/, + /^(?:graph\b)/, + /^(?:flowchart\b)/, + /^(?:subgraph\b)/, + /^(?:end\b\s*)/, + /^(?:_self\b)/, + /^(?:_blank\b)/, + /^(?:_parent\b)/, + /^(?:_top\b)/, + /^(?:(\r?\n)*\s*\n)/, + /^(?:\s*LR\b)/, + /^(?:\s*RL\b)/, + /^(?:\s*TB\b)/, + /^(?:\s*BT\b)/, + /^(?:\s*TD\b)/, + /^(?:\s*BR\b)/, + /^(?:\s*<)/, + /^(?:\s*>)/, + /^(?:\s*\^)/, + /^(?:\s*v\b)/, + /^(?:[0-9]+)/, + /^(?:#)/, + /^(?::::)/, + /^(?::)/, + /^(?:&)/, + /^(?:;)/, + /^(?:,)/, + /^(?:\*)/, + /^(?:\s*[xo<]?--+[-xo>]\s*)/, + /^(?:\s*[xo<]?==+[=xo>]\s*)/, + /^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/, + /^(?:\s*[xo<]?--\s*)/, + /^(?:\s*[xo<]?==\s*)/, + /^(?:\s*[xo<]?-\.\s*)/, + /^(?:\(-)/, + /^(?:-\))/, + /^(?:\(\[)/, + /^(?:\]\))/, + /^(?:\[\[)/, + /^(?:\]\])/, + /^(?:\[\()/, + /^(?:\)\])/, + /^(?:-)/, + /^(?:\.)/, + /^(?:[\_])/, + /^(?:\+)/, + /^(?:%)/, + /^(?:=)/, + /^(?:=)/, + /^(?:<)/, + /^(?:>)/, + /^(?:\^)/, + /^(?:\\\|)/, + /^(?:v\b)/, + /^(?:[A-Za-z]+)/, + /^(?:\\\])/, + /^(?:\[\/)/, + /^(?:\/\])/, + /^(?:\[\\)/, + /^(?:[!"#$%&'*+,-.`?\\_/])/, + /^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/, + /^(?:\|)/, + /^(?:\()/, + /^(?:\))/, + /^(?:\[)/, + /^(?:\])/, + /^(?:\{)/, + /^(?:\})/, + /^(?:")/, + /^(?:(\r?\n)+)/, + /^(?:\s)/, + /^(?:$)/, + ], + conditions: { + close_directive: { rules: [], inclusive: !1 }, + arg_directive: { rules: [3, 4], inclusive: !1 }, + type_directive: { rules: [2, 3], inclusive: !1 }, + open_directive: { rules: [1], inclusive: !1 }, + callbackargs: { rules: [23, 24], inclusive: !1 }, + callbackname: { rules: [20, 21, 22], inclusive: !1 }, + href: { rules: [17, 18], inclusive: !1 }, + click: { rules: [26, 27], inclusive: !1 }, + vertex: { rules: [], inclusive: !1 }, + dir: { + rules: [36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], + inclusive: !1, + }, + string: { rules: [8, 9], inclusive: !1 }, + INITIAL: { + rules: [ + 0, + 5, + 6, + 7, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 19, + 25, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + ], + inclusive: !0, + }, + }, + }; + function Ge() { + this.yy = {}; + } + return ( + (Ke.lexer = qe), + (Ge.prototype = Ke), + (Ke.Parser = Ge), + new Ge() + ); + })(); + (t.parser = r), + (t.Parser = r.Parser), + (t.parse = function () { + return r.parse.apply(r, arguments); + }), + (t.main = function (n) { + n[1] || + (console.log('Usage: ' + n[0] + ' FILE'), e.exit(1)); + var r = i( + './node_modules/node-libs-browser/mock/empty.js' + ).readFileSync( + i('./node_modules/path-browserify/index.js').normalize( + n[1] + ), + 'utf8' + ); + return t.parser.parse(r); + }), + i.c[i.s] === n && t.main(e.argv.slice(1)); + }.call( + this, + i('./node_modules/process/browser.js'), + i('./node_modules/webpack/buildin/module.js')(e) + )); + }, + './src/diagrams/flowchart/styles.js': function (e, t, i) { + 'use strict'; + i.r(t), + (t.default = function (e) { + return '.label {\n font-family: ' + .concat(e.fontFamily, ';\n color: ') + .concat( + e.nodeTextColor || e.textColor, + ';\n }\n .cluster-label text {\n fill: ' + ) + .concat( + e.titleColor, + ';\n }\n .cluster-label span {\n color: ' + ) + .concat( + e.titleColor, + ';\n }\n\n .label text,span {\n fill: ' + ) + .concat(e.nodeTextColor || e.textColor, ';\n color: ') + .concat( + e.nodeTextColor || e.textColor, + ';\n }\n\n .node rect,\n .node circle,\n .node ellipse,\n .node polygon,\n .node path {\n fill: ' + ) + .concat(e.mainBkg, ';\n stroke: ') + .concat( + e.nodeBorder, + ';\n stroke-width: 1px;\n }\n\n .node .label {\n text-align: center;\n }\n .node.clickable {\n cursor: pointer;\n }\n\n .arrowheadPath {\n fill: ' + ) + .concat( + e.arrowheadColor, + ';\n }\n\n .edgePath .path {\n stroke: ' + ) + .concat( + e.lineColor, + ';\n stroke-width: 1.5px;\n }\n\n .flowchart-link {\n stroke: ' + ) + .concat( + e.lineColor, + ';\n fill: none;\n }\n\n .edgeLabel {\n background-color: ' + ) + .concat( + e.edgeLabelBackground, + ';\n rect {\n opacity: 0.5;\n background-color: ' + ) + .concat(e.edgeLabelBackground, ';\n fill: ') + .concat( + e.edgeLabelBackground, + ';\n }\n text-align: center;\n }\n\n .cluster rect {\n fill: ' + ) + .concat(e.clusterBkg, ';\n stroke: ') + .concat( + e.clusterBorder, + ';\n stroke-width: 1px;\n }\n\n .cluster text {\n fill: ' + ) + .concat( + e.titleColor, + ';\n }\n\n .cluster span {\n color: ' + ) + .concat( + e.titleColor, + ';\n }\n // .cluster div {\n // color: ' + ) + .concat( + e.titleColor, + ';\n // }\n\n div.mermaidTooltip {\n position: absolute;\n text-align: center;\n max-width: 200px;\n padding: 2px;\n font-family: ' + ) + .concat( + e.fontFamily, + ';\n font-size: 12px;\n background: ' + ) + .concat(e.tertiaryColor, ';\n border: 1px solid ') + .concat( + e.border2, + ';\n border-radius: 2px;\n pointer-events: none;\n z-index: 100;\n }\n' + ); + }); + }, + './src/diagrams/gantt/ganttDb.js': function (e, t, i) { + 'use strict'; + i.r(t), + i.d(t, 'parseDirective', function () { + return x; + }), + i.d(t, 'clear', function () { + return L; + }), + i.d(t, 'setAxisFormat', function () { + return M; + }), + i.d(t, 'getAxisFormat', function () { + return D; + }), + i.d(t, 'setTodayMarker', function () { + return N; + }), + i.d(t, 'getTodayMarker', function () { + return E; + }), + i.d(t, 'setDateFormat', function () { + return T; + }), + i.d(t, 'enableInclusiveEndDates', function () { + return I; + }), + i.d(t, 'endDatesAreInclusive', function () { + return O; + }), + i.d(t, 'enableTopAxis', function () { + return A; + }), + i.d(t, 'topAxisEnabled', function () { + return R; + }), + i.d(t, 'getDateFormat', function () { + return P; + }), + i.d(t, 'setExcludes', function () { + return F; + }), + i.d(t, 'getExcludes', function () { + return B; + }), + i.d(t, 'setTitle', function () { + return W; + }), + i.d(t, 'getTitle', function () { + return Y; + }), + i.d(t, 'addSection', function () { + return H; + }), + i.d(t, 'getSections', function () { + return j; + }), + i.d(t, 'getTasks', function () { + return V; + }), + i.d(t, 'addTask', function () { + return ee; + }), + i.d(t, 'findTaskById', function () { + return te; + }), + i.d(t, 'addTaskOrg', function () { + return ie; + }), + i.d(t, 'setLink', function () { + return re; + }), + i.d(t, 'setClass', function () { + return se; + }), + i.d(t, 'setClickEvent', function () { + return ae; + }), + i.d(t, 'bindFunctions', function () { + return le; + }); + var n = i('moment-mini'), + r = i.n(n), + s = i('@braintree/sanitize-url'), + o = i('./src/logger.js'), + a = i('./src/config.js'), + l = i('./src/utils.js'), + c = i('./src/mermaidAPI.js'); + var d, + h, + u = '', + g = '', + f = '', + p = [], + m = '', + _ = [], + b = [], + v = '', + y = ['active', 'done', 'crit', 'milestone'], + w = [], + C = !1, + S = !1, + k = 0, + x = function (e, t, i) { + c.default.parseDirective(this, e, t, i); + }, + L = function () { + (_ = []), + (b = []), + (v = ''), + (w = []), + (m = ''), + (Z = 0), + (d = void 0), + (h = void 0), + (Q = []), + (u = ''), + (g = ''), + (f = ''), + (p = []), + (C = !1), + (S = !1), + (k = 0); + }, + M = function (e) { + g = e; + }, + D = function () { + return g; + }, + N = function (e) { + f = e; + }, + E = function () { + return f; + }, + T = function (e) { + u = e; + }, + I = function () { + C = !0; + }, + O = function () { + return C; + }, + A = function () { + S = !0; + }, + R = function () { + return S; + }, + P = function () { + return u; + }, + F = function (e) { + p = e.toLowerCase().split(/[\s,]+/); + }, + B = function () { + return p; + }, + W = function (e) { + m = e; + }, + Y = function () { + return m; + }, + H = function (e) { + (v = e), _.push(e); + }, + j = function () { + return _; + }, + V = function () { + for (var e = ne(), t = 0; !e && t < 10; ) (e = ne()), t++; + return (b = Q); + }, + z = function (e, t, i) { + return ( + (e.isoWeekday() >= 6 && i.indexOf('weekends') >= 0) || + i.indexOf(e.format('dddd').toLowerCase()) >= 0 || + i.indexOf(e.format(t.trim())) >= 0 + ); + }, + U = function (e, t, i) { + if (i.length && !e.manualEndTime) { + var n = r()(e.startTime, t, !0); + n.add(1, 'd'); + var s = r()(e.endTime, t, !0), + o = $(n, s, t, i); + (e.endTime = s.toDate()), (e.renderEndTime = o); + } + }, + $ = function (e, t, i, n) { + for (var r = !1, s = null; e <= t; ) + r || (s = t.toDate()), + (r = z(e, i, n)) && t.add(1, 'd'), + e.add(1, 'd'); + return s; + }, + K = function (e, t, i) { + i = i.trim(); + var n = /^after\s+([\d\w- ]+)/.exec(i.trim()); + if (null !== n) { + var s = null; + if ( + (n[1].split(' ').forEach(function (e) { + var t = te(e); + void 0 !== t && + (s ? t.endTime > s.endTime && (s = t) : (s = t)); + }), + s) + ) + return s.endTime; + var a = new Date(); + return a.setHours(0, 0, 0, 0), a; + } + var l = r()(i, t.trim(), !0); + return l.isValid() + ? l.toDate() + : (o.log.debug('Invalid date:' + i), + o.log.debug('With date format:' + t.trim()), + new Date()); + }, + q = function (e, t) { + if (null !== e) + switch (e[2]) { + case 's': + t.add(e[1], 'seconds'); + break; + case 'm': + t.add(e[1], 'minutes'); + break; + case 'h': + t.add(e[1], 'hours'); + break; + case 'd': + t.add(e[1], 'days'); + break; + case 'w': + t.add(e[1], 'weeks'); + } + return t.toDate(); + }, + G = function (e, t, i, n) { + (n = n || !1), (i = i.trim()); + var s = r()(i, t.trim(), !0); + return s.isValid() + ? (n && s.add(1, 'd'), s.toDate()) + : q(/^([\d]+)([wdhms])/.exec(i.trim()), r()(e)); + }, + Z = 0, + J = function (e) { + return void 0 === e ? 'task' + (Z += 1) : e; + }, + Q = [], + X = {}, + ee = function (e, t) { + var i = { + section: v, + type: v, + processed: !1, + manualEndTime: !1, + renderEndTime: null, + raw: { data: t }, + task: e, + classes: [], + }, + n = (function (e, t) { + var i = (':' === t.substr(0, 1) + ? t.substr(1, t.length) + : t + ).split(','), + n = {}; + ce(i, n, y); + for (var r = 0; r < i.length; r++) i[r] = i[r].trim(); + switch (i.length) { + case 1: + (n.id = J()), + (n.startTime = { type: 'prevTaskEnd', id: e }), + (n.endTime = { data: i[0] }); + break; + case 2: + (n.id = J()), + (n.startTime = { + type: 'getStartDate', + startData: i[0], + }), + (n.endTime = { data: i[1] }); + break; + case 3: + (n.id = J(i[0])), + (n.startTime = { + type: 'getStartDate', + startData: i[1], + }), + (n.endTime = { data: i[2] }); + } + return n; + })(h, t); + (i.raw.startTime = n.startTime), + (i.raw.endTime = n.endTime), + (i.id = n.id), + (i.prevTaskId = h), + (i.active = n.active), + (i.done = n.done), + (i.crit = n.crit), + (i.milestone = n.milestone), + (i.order = k), + k++; + var r = Q.push(i); + (h = i.id), (X[i.id] = r - 1); + }, + te = function (e) { + var t = X[e]; + return Q[t]; + }, + ie = function (e, t) { + var i = { + section: v, + type: v, + description: e, + task: e, + classes: [], + }, + n = (function (e, t) { + var i = (':' === t.substr(0, 1) + ? t.substr(1, t.length) + : t + ).split(','), + n = {}; + ce(i, n, y); + for (var s = 0; s < i.length; s++) i[s] = i[s].trim(); + var o = ''; + switch (i.length) { + case 1: + (n.id = J()), (n.startTime = e.endTime), (o = i[0]); + break; + case 2: + (n.id = J()), + (n.startTime = K(0, u, i[0])), + (o = i[1]); + break; + case 3: + (n.id = J(i[0])), + (n.startTime = K(0, u, i[1])), + (o = i[2]); + } + return ( + o && + ((n.endTime = G(n.startTime, u, o, C)), + (n.manualEndTime = r()( + o, + 'YYYY-MM-DD', + !0 + ).isValid()), + U(n, u, p)), + n + ); + })(d, t); + (i.startTime = n.startTime), + (i.endTime = n.endTime), + (i.id = n.id), + (i.active = n.active), + (i.done = n.done), + (i.crit = n.crit), + (i.milestone = n.milestone), + (d = i), + b.push(i); + }, + ne = function () { + for ( + var e = function (e) { + var t = Q[e], + i = ''; + switch (Q[e].raw.startTime.type) { + case 'prevTaskEnd': + var n = te(t.prevTaskId); + t.startTime = n.endTime; + break; + case 'getStartDate': + (i = K(0, u, Q[e].raw.startTime.startData)) && + (Q[e].startTime = i); + } + return ( + Q[e].startTime && + ((Q[e].endTime = G( + Q[e].startTime, + u, + Q[e].raw.endTime.data, + C + )), + Q[e].endTime && + ((Q[e].processed = !0), + (Q[e].manualEndTime = r()( + Q[e].raw.endTime.data, + 'YYYY-MM-DD', + !0 + ).isValid()), + U(Q[e], u, p))), + Q[e].processed + ); + }, + t = !0, + i = 0; + i < Q.length; + i++ + ) + e(i), (t = t && Q[i].processed); + return t; + }, + re = function (e, t) { + var i = t; + 'loose' !== a.getConfig().securityLevel && + (i = Object(s.sanitizeUrl)(t)), + e.split(',').forEach(function (e) { + void 0 !== te(e) && + oe(e, function () { + window.open(i, '_self'); + }); + }), + se(e, 'clickable'); + }, + se = function (e, t) { + e.split(',').forEach(function (e) { + var i = te(e); + void 0 !== i && i.classes.push(t); + }); + }, + oe = function (e, t) { + w.push(function () { + var i = document.querySelector('[id="'.concat(e, '"]')); + null !== i && + i.addEventListener('click', function () { + t(); + }); + }), + w.push(function () { + var i = document.querySelector( + '[id="'.concat(e, '-text"]') + ); + null !== i && + i.addEventListener('click', function () { + t(); + }); + }); + }, + ae = function (e, t, i) { + e.split(',').forEach(function (e) { + !(function (e, t, i) { + if ( + 'loose' === a.getConfig().securityLevel && + void 0 !== t + ) { + var n = []; + if ('string' == typeof i) { + n = i.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/); + for (var r = 0; r < n.length; r++) { + var s = n[r].trim(); + '"' === s.charAt(0) && + '"' === s.charAt(s.length - 1) && + (s = s.substr(1, s.length - 2)), + (n[r] = s); + } + } + 0 === n.length && n.push(e), + void 0 !== te(e) && + oe(e, function () { + var e; + l.default.runFunc.apply( + l.default, + [t].concat( + (function (e) { + if (Array.isArray(e)) { + for ( + var t = 0, i = new Array(e.length); + t < e.length; + t++ + ) + i[t] = e[t]; + return i; + } + })((e = n)) || + (function (e) { + if ( + Symbol.iterator in Object(e) || + '[object Arguments]' === + Object.prototype.toString.call(e) + ) + return Array.from(e); + })(e) || + (function () { + throw new TypeError( + 'Invalid attempt to spread non-iterable instance' + ); + })() + ) + ); + }); + } + })(e, t, i); + }), + se(e, 'clickable'); + }, + le = function (e) { + w.forEach(function (t) { + t(e); + }); + }; + function ce(e, t, i) { + for (var n = !0; n; ) + (n = !1), + i.forEach(function (i) { + var r = new RegExp('^\\s*' + i + '\\s*$'); + e[0].match(r) && ((t[i] = !0), e.shift(1), (n = !0)); + }); + } + t.default = { + parseDirective: x, + getConfig: function () { + return a.getConfig().gantt; + }, + clear: L, + setDateFormat: T, + getDateFormat: P, + enableInclusiveEndDates: I, + endDatesAreInclusive: O, + enableTopAxis: A, + topAxisEnabled: R, + setAxisFormat: M, + getAxisFormat: D, + setTodayMarker: N, + getTodayMarker: E, + setTitle: W, + getTitle: Y, + addSection: H, + getSections: j, + getTasks: V, + addTask: ee, + findTaskById: te, + addTaskOrg: ie, + setExcludes: F, + getExcludes: B, + setClickEvent: ae, + setLink: re, + bindFunctions: le, + durationToDate: q, + }; + }, + './src/diagrams/gantt/ganttRenderer.js': function (e, t, i) { + 'use strict'; + i.r(t), + i.d(t, 'setConf', function () { + return d; + }), + i.d(t, 'draw', function () { + return h; + }); + var n = i('d3'), + r = i('./src/diagrams/gantt/parser/gantt.jison'), + s = i('./src/diagrams/common/common.js'), + o = i('./src/diagrams/gantt/ganttDb.js'), + a = i('./src/config.js'), + l = i('./src/utils.js'); + r.parser.yy = o.default; + var c, + d = function () {}, + h = function (e, t) { + var i = Object(a.getConfig)().gantt; + r.parser.yy.clear(), r.parser.parse(e); + var d = document.getElementById(t); + void 0 === (c = d.parentElement.offsetWidth) && (c = 1200), + void 0 !== i.useWidth && (c = i.useWidth); + var h = r.parser.yy.getTasks(), + u = + h.length * (i.barHeight + i.barGap) + 2 * i.topPadding; + d.setAttribute('viewBox', '0 0 ' + c + ' ' + u); + for ( + var g = Object(n.select)('[id="'.concat(t, '"]')), + f = Object(n.scaleTime)() + .domain([ + Object(n.min)(h, function (e) { + return e.startTime; + }), + Object(n.max)(h, function (e) { + return e.endTime; + }), + ]) + .rangeRound([0, c - i.leftPadding - i.rightPadding]), + p = [], + m = 0; + m < h.length; + m++ + ) + p.push(h[m].type); + var _, + b, + v, + y, + w, + C, + S, + k = p; + (p = (function (e) { + for (var t = {}, i = [], n = 0, r = e.length; n < r; ++n) + t.hasOwnProperty(e[n]) || + ((t[e[n]] = !0), i.push(e[n])); + return i; + })(p)), + h.sort(function (e, t) { + var i = e.startTime, + n = t.startTime, + r = 0; + return i > n ? (r = 1) : i < n && (r = -1), r; + }), + (_ = h), + (b = c), + (v = u), + (w = (y = i.barHeight) + i.barGap), + (C = i.topPadding), + (S = i.leftPadding), + Object(n.scaleLinear)() + .domain([0, p.length]) + .range(['#00B9FA', '#F95002']) + .interpolate(n.interpolateHcl), + (function (e, t, s, a) { + var l = Object(n.axisBottom)(f) + .tickSize(-a + t + i.gridLineStartPadding) + .tickFormat( + Object(n.timeFormat)( + r.parser.yy.getAxisFormat() || + i.axisFormat || + '%Y-%m-%d' + ) + ); + if ( + (g + .append('g') + .attr('class', 'grid') + .attr( + 'transform', + 'translate(' + e + ', ' + (a - 50) + ')' + ) + .call(l) + .selectAll('text') + .style('text-anchor', 'middle') + .attr('fill', '#000') + .attr('stroke', 'none') + .attr('font-size', 10) + .attr('dy', '1em'), + o.default.topAxisEnabled() || i.topAxis) + ) { + var c = Object(n.axisTop)(f) + .tickSize(-a + t + i.gridLineStartPadding) + .tickFormat( + Object(n.timeFormat)( + r.parser.yy.getAxisFormat() || + i.axisFormat || + '%Y-%m-%d' + ) + ); + g.append('g') + .attr('class', 'grid') + .attr( + 'transform', + 'translate(' + e + ', ' + t + ')' + ) + .call(c) + .selectAll('text') + .style('text-anchor', 'middle') + .attr('fill', '#000') + .attr('stroke', 'none') + .attr('font-size', 10); + } + })(S, C, 0, v), + (function (e, t, n, r, s, o, a) { + g.append('g') + .selectAll('rect') + .data(e) + .enter() + .append('rect') + .attr('x', 0) + .attr('y', function (e, i) { + return e.order * t + n - 2; + }) + .attr('width', function () { + return a - i.rightPadding / 2; + }) + .attr('height', t) + .attr('class', function (e) { + for (var t = 0; t < p.length; t++) + if (e.type === p[t]) + return ( + 'section section' + + (t % i.numberSectionStyles) + ); + return 'section section0'; + }); + var l = g.append('g').selectAll('rect').data(e).enter(); + l + .append('rect') + .attr('id', function (e) { + return e.id; + }) + .attr('rx', 3) + .attr('ry', 3) + .attr('x', function (e) { + return e.milestone + ? f(e.startTime) + + r + + 0.5 * (f(e.endTime) - f(e.startTime)) - + 0.5 * s + : f(e.startTime) + r; + }) + .attr('y', function (e, i) { + return e.order * t + n; + }) + .attr('width', function (e) { + return e.milestone + ? s + : f(e.renderEndTime || e.endTime) - + f(e.startTime); + }) + .attr('height', s) + .attr('transform-origin', function (e, i) { + return ( + (i = e.order), + ( + f(e.startTime) + + r + + 0.5 * (f(e.endTime) - f(e.startTime)) + ).toString() + + 'px ' + + (i * t + n + 0.5 * s).toString() + + 'px' + ); + }) + .attr('class', function (e) { + var t = ''; + e.classes.length > 0 && (t = e.classes.join(' ')); + for (var n = 0, r = 0; r < p.length; r++) + e.type === p[r] && + (n = r % i.numberSectionStyles); + var s = ''; + return ( + e.active + ? e.crit + ? (s += ' activeCrit') + : (s = ' active') + : e.done + ? (s = e.crit ? ' doneCrit' : ' done') + : e.crit && (s += ' crit'), + 0 === s.length && (s = ' task'), + e.milestone && (s = ' milestone ' + s), + 'task' + (s += n) + ' ' + t + ); + }), + l + .append('text') + .attr('id', function (e) { + return e.id + '-text'; + }) + .text(function (e) { + return e.task; + }) + .attr('font-size', i.fontSize) + .attr('x', function (e) { + var t = f(e.startTime), + n = f(e.renderEndTime || e.endTime); + e.milestone && + (t += + 0.5 * (f(e.endTime) - f(e.startTime)) - + 0.5 * s), + e.milestone && (n = t + s); + var o = this.getBBox().width; + return o > n - t + ? n + o + 1.5 * i.leftPadding > a + ? t + r - 5 + : n + r + 5 + : (n - t) / 2 + t + r; + }) + .attr('y', function (e, r) { + return ( + e.order * t + + i.barHeight / 2 + + (i.fontSize / 2 - 2) + + n + ); + }) + .attr('text-height', s) + .attr('class', function (e) { + var t = f(e.startTime), + n = f(e.endTime); + e.milestone && (n = t + s); + var r = this.getBBox().width, + o = ''; + e.classes.length > 0 && (o = e.classes.join(' ')); + for (var l = 0, c = 0; c < p.length; c++) + e.type === p[c] && + (l = c % i.numberSectionStyles); + var d = ''; + return ( + e.active && + (d = e.crit + ? 'activeCritText' + l + : 'activeText' + l), + e.done + ? (d = e.crit + ? d + ' doneCritText' + l + : d + ' doneText' + l) + : e.crit && (d = d + ' critText' + l), + e.milestone && (d += ' milestoneText'), + r > n - t + ? n + r + 1.5 * i.leftPadding > a + ? o + + ' taskTextOutsideLeft taskTextOutside' + + l + + ' ' + + d + : o + + ' taskTextOutsideRight taskTextOutside' + + l + + ' ' + + d + + ' width-' + + r + : o + + ' taskText taskText' + + l + + ' ' + + d + + ' width-' + + r + ); + }); + })(_, w, C, S, y, 0, b), + (function (e, t) { + for (var n = [], r = 0, o = 0; o < p.length; o++) + n[o] = [ + p[o], + ((a = p[o]), + (l = k), + (function (e) { + for (var t = e.length, i = {}; t; ) + i[e[--t]] = (i[e[t]] || 0) + 1; + return i; + })(l)[a] || 0), + ]; + var a, l; + g.append('g') + .selectAll('text') + .data(n) + .enter() + .append(function (e) { + var t = e[0].split(s.default.lineBreakRegex), + i = -(t.length - 1) / 2, + n = document.createElementNS( + 'http://www.w3.org/2000/svg', + 'text' + ); + n.setAttribute('dy', i + 'em'); + for (var r = 0; r < t.length; r++) { + var o = document.createElementNS( + 'http://www.w3.org/2000/svg', + 'tspan' + ); + o.setAttribute('alignment-baseline', 'central'), + o.setAttribute('x', '10'), + r > 0 && o.setAttribute('dy', '1em'), + (o.textContent = t[r]), + n.appendChild(o); + } + return n; + }) + .attr('x', 10) + .attr('y', function (i, s) { + if (!(s > 0)) return (i[1] * e) / 2 + t; + for (var o = 0; o < s; o++) + return ( + (r += n[s - 1][1]), (i[1] * e) / 2 + r * e + t + ); + }) + .attr('font-size', i.sectionFontSize) + .attr('font-size', i.sectionFontSize) + .attr('class', function (e) { + for (var t = 0; t < p.length; t++) + if (e[0] === p[t]) + return ( + 'sectionTitle sectionTitle' + + (t % i.numberSectionStyles) + ); + return 'sectionTitle'; + }); + })(w, C), + (function (e, t, n, r) { + var s = o.default.getTodayMarker(); + if ('off' !== s) { + var a = g.append('g').attr('class', 'today'), + l = new Date(), + c = a.append('line'); + c + .attr('x1', f(l) + e) + .attr('x2', f(l) + e) + .attr('y1', i.titleTopMargin) + .attr('y2', r - i.titleTopMargin) + .attr('class', 'today'), + '' !== s && c.attr('style', s.replace(/,/g, ';')); + } + })(S, 0, 0, v), + Object(l.configureSvgSize)(g, u, c, i.useMaxWidth), + g + .append('text') + .text(r.parser.yy.getTitle()) + .attr('x', c / 2) + .attr('y', i.titleTopMargin) + .attr('class', 'titleText'); + }; + t.default = { setConf: d, draw: h }; + }, + './src/diagrams/gantt/parser/gantt.jison': function (e, t, i) { + (function (e, n) { + var r = (function () { + var e = function (e, t, i, n) { + for (i = i || {}, n = e.length; n--; i[e[n]] = t); + return i; + }, + t = [1, 3], + i = [1, 5], + n = [ + 7, + 9, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 21, + 28, + 33, + ], + r = [1, 15], + s = [1, 16], + o = [1, 17], + a = [1, 18], + l = [1, 19], + c = [1, 20], + d = [1, 21], + h = [1, 22], + u = [1, 24], + g = [1, 26], + f = [1, 29], + p = [ + 5, + 7, + 9, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 21, + 28, + 33, + ], + m = { + trace: function () {}, + yy: {}, + symbols_: { + error: 2, + start: 3, + directive: 4, + gantt: 5, + document: 6, + EOF: 7, + line: 8, + SPACE: 9, + statement: 10, + NL: 11, + dateFormat: 12, + inclusiveEndDates: 13, + topAxis: 14, + axisFormat: 15, + excludes: 16, + todayMarker: 17, + title: 18, + section: 19, + clickStatement: 20, + taskTxt: 21, + taskData: 22, + openDirective: 23, + typeDirective: 24, + closeDirective: 25, + ':': 26, + argDirective: 27, + click: 28, + callbackname: 29, + callbackargs: 30, + href: 31, + clickStatementDebug: 32, + open_directive: 33, + type_directive: 34, + arg_directive: 35, + close_directive: 36, + $accept: 0, + $end: 1, + }, + terminals_: { + 2: 'error', + 5: 'gantt', + 7: 'EOF', + 9: 'SPACE', + 11: 'NL', + 12: 'dateFormat', + 13: 'inclusiveEndDates', + 14: 'topAxis', + 15: 'axisFormat', + 16: 'excludes', + 17: 'todayMarker', + 18: 'title', + 19: 'section', + 21: 'taskTxt', + 22: 'taskData', + 26: ':', + 28: 'click', + 29: 'callbackname', + 30: 'callbackargs', + 31: 'href', + 33: 'open_directive', + 34: 'type_directive', + 35: 'arg_directive', + 36: 'close_directive', + }, + productions_: [ + 0, + [3, 2], + [3, 3], + [6, 0], + [6, 2], + [8, 2], + [8, 1], + [8, 1], + [8, 1], + [10, 1], + [10, 1], + [10, 1], + [10, 1], + [10, 1], + [10, 1], + [10, 1], + [10, 1], + [10, 1], + [10, 2], + [10, 1], + [4, 4], + [4, 6], + [20, 2], + [20, 3], + [20, 3], + [20, 4], + [20, 3], + [20, 4], + [20, 2], + [32, 2], + [32, 3], + [32, 3], + [32, 4], + [32, 3], + [32, 4], + [32, 2], + [23, 1], + [24, 1], + [27, 1], + [25, 1], + ], + performAction: function (e, t, i, n, r, s, o) { + var a = s.length - 1; + switch (r) { + case 2: + return s[a - 1]; + case 3: + this.$ = []; + break; + case 4: + s[a - 1].push(s[a]), (this.$ = s[a - 1]); + break; + case 5: + case 6: + this.$ = s[a]; + break; + case 7: + case 8: + this.$ = []; + break; + case 9: + n.setDateFormat(s[a].substr(11)), + (this.$ = s[a].substr(11)); + break; + case 10: + n.enableInclusiveEndDates(), + (this.$ = s[a].substr(18)); + break; + case 11: + n.TopAxis(), (this.$ = s[a].substr(8)); + break; + case 12: + n.setAxisFormat(s[a].substr(11)), + (this.$ = s[a].substr(11)); + break; + case 13: + n.setExcludes(s[a].substr(9)), + (this.$ = s[a].substr(9)); + break; + case 14: + n.setTodayMarker(s[a].substr(12)), + (this.$ = s[a].substr(12)); + break; + case 15: + n.setTitle(s[a].substr(6)), + (this.$ = s[a].substr(6)); + break; + case 16: + n.addSection(s[a].substr(8)), + (this.$ = s[a].substr(8)); + break; + case 18: + n.addTask(s[a - 1], s[a]), (this.$ = 'task'); + break; + case 22: + (this.$ = s[a - 1]), + n.setClickEvent(s[a - 1], s[a], null); + break; + case 23: + (this.$ = s[a - 2]), + n.setClickEvent(s[a - 2], s[a - 1], s[a]); + break; + case 24: + (this.$ = s[a - 2]), + n.setClickEvent(s[a - 2], s[a - 1], null), + n.setLink(s[a - 2], s[a]); + break; + case 25: + (this.$ = s[a - 3]), + n.setClickEvent(s[a - 3], s[a - 2], s[a - 1]), + n.setLink(s[a - 3], s[a]); + break; + case 26: + (this.$ = s[a - 2]), + n.setClickEvent(s[a - 2], s[a], null), + n.setLink(s[a - 2], s[a - 1]); + break; + case 27: + (this.$ = s[a - 3]), + n.setClickEvent(s[a - 3], s[a - 1], s[a]), + n.setLink(s[a - 3], s[a - 2]); + break; + case 28: + (this.$ = s[a - 1]), n.setLink(s[a - 1], s[a]); + break; + case 29: + case 35: + this.$ = s[a - 1] + ' ' + s[a]; + break; + case 30: + case 31: + case 33: + this.$ = s[a - 2] + ' ' + s[a - 1] + ' ' + s[a]; + break; + case 32: + case 34: + this.$ = + s[a - 3] + + ' ' + + s[a - 2] + + ' ' + + s[a - 1] + + ' ' + + s[a]; + break; + case 36: + n.parseDirective('%%{', 'open_directive'); + break; + case 37: + n.parseDirective(s[a], 'type_directive'); + break; + case 38: + (s[a] = s[a].trim().replace(/'/g, '"')), + n.parseDirective(s[a], 'arg_directive'); + break; + case 39: + n.parseDirective( + '}%%', + 'close_directive', + 'gantt' + ); + } + }, + table: [ + { 3: 1, 4: 2, 5: t, 23: 4, 33: i }, + { 1: [3] }, + { 3: 6, 4: 2, 5: t, 23: 4, 33: i }, + e(n, [2, 3], { 6: 7 }), + { 24: 8, 34: [1, 9] }, + { 34: [2, 36] }, + { 1: [2, 1] }, + { + 4: 25, + 7: [1, 10], + 8: 11, + 9: [1, 12], + 10: 13, + 11: [1, 14], + 12: r, + 13: s, + 14: o, + 15: a, + 16: l, + 17: c, + 18: d, + 19: h, + 20: 23, + 21: u, + 23: 4, + 28: g, + 33: i, + }, + { 25: 27, 26: [1, 28], 36: f }, + e([26, 36], [2, 37]), + e(n, [2, 8], { 1: [2, 2] }), + e(n, [2, 4]), + { + 4: 25, + 10: 30, + 12: r, + 13: s, + 14: o, + 15: a, + 16: l, + 17: c, + 18: d, + 19: h, + 20: 23, + 21: u, + 23: 4, + 28: g, + 33: i, + }, + e(n, [2, 6]), + e(n, [2, 7]), + e(n, [2, 9]), + e(n, [2, 10]), + e(n, [2, 11]), + e(n, [2, 12]), + e(n, [2, 13]), + e(n, [2, 14]), + e(n, [2, 15]), + e(n, [2, 16]), + e(n, [2, 17]), + { 22: [1, 31] }, + e(n, [2, 19]), + { 29: [1, 32], 31: [1, 33] }, + { 11: [1, 34] }, + { 27: 35, 35: [1, 36] }, + { 11: [2, 39] }, + e(n, [2, 5]), + e(n, [2, 18]), + e(n, [2, 22], { 30: [1, 37], 31: [1, 38] }), + e(n, [2, 28], { 29: [1, 39] }), + e(p, [2, 20]), + { 25: 40, 36: f }, + { 36: [2, 38] }, + e(n, [2, 23], { 31: [1, 41] }), + e(n, [2, 24]), + e(n, [2, 26], { 30: [1, 42] }), + { 11: [1, 43] }, + e(n, [2, 25]), + e(n, [2, 27]), + e(p, [2, 21]), + ], + defaultActions: { + 5: [2, 36], + 6: [2, 1], + 29: [2, 39], + 36: [2, 38], + }, + parseError: function (e, t) { + if (!t.recoverable) { + var i = new Error(e); + throw ((i.hash = t), i); + } + this.trace(e); + }, + parse: function (e) { + var t = this, + i = [0], + n = [], + r = [null], + s = [], + o = this.table, + a = '', + l = 0, + c = 0, + d = 0, + h = 2, + u = 1, + g = s.slice.call(arguments, 1), + f = Object.create(this.lexer), + p = { yy: {} }; + for (var m in this.yy) + Object.prototype.hasOwnProperty.call(this.yy, m) && + (p.yy[m] = this.yy[m]); + f.setInput(e, p.yy), + (p.yy.lexer = f), + (p.yy.parser = this), + void 0 === f.yylloc && (f.yylloc = {}); + var _ = f.yylloc; + s.push(_); + var b = f.options && f.options.ranges; + function v() { + var e; + return ( + 'number' != + typeof (e = n.pop() || f.lex() || u) && + (e instanceof Array && (e = (n = e).pop()), + (e = t.symbols_[e] || e)), + e + ); + } + 'function' == typeof p.yy.parseError + ? (this.parseError = p.yy.parseError) + : (this.parseError = Object.getPrototypeOf( + this + ).parseError); + for (var y, w, C, S, k, x, L, M, D, N = {}; ; ) { + if ( + ((C = i[i.length - 1]), + this.defaultActions[C] + ? (S = this.defaultActions[C]) + : (null == y && (y = v()), + (S = o[C] && o[C][y])), + void 0 === S || !S.length || !S[0]) + ) { + var E = ''; + for (x in ((D = []), o[C])) + this.terminals_[x] && + x > h && + D.push("'" + this.terminals_[x] + "'"); + (E = f.showPosition + ? 'Parse error on line ' + + (l + 1) + + ':\n' + + f.showPosition() + + '\nExpecting ' + + D.join(', ') + + ", got '" + + (this.terminals_[y] || y) + + "'" + : 'Parse error on line ' + + (l + 1) + + ': Unexpected ' + + (y == u + ? 'end of input' + : "'" + (this.terminals_[y] || y) + "'")), + this.parseError(E, { + text: f.match, + token: this.terminals_[y] || y, + line: f.yylineno, + loc: _, + expected: D, + }); + } + if (S[0] instanceof Array && S.length > 1) + throw new Error( + 'Parse Error: multiple actions possible at state: ' + + C + + ', token: ' + + y + ); + switch (S[0]) { + case 1: + i.push(y), + r.push(f.yytext), + s.push(f.yylloc), + i.push(S[1]), + (y = null), + w + ? ((y = w), (w = null)) + : ((c = f.yyleng), + (a = f.yytext), + (l = f.yylineno), + (_ = f.yylloc), + d > 0 && d--); + break; + case 2: + if ( + ((L = this.productions_[S[1]][1]), + (N.$ = r[r.length - L]), + (N._$ = { + first_line: + s[s.length - (L || 1)].first_line, + last_line: s[s.length - 1].last_line, + first_column: + s[s.length - (L || 1)].first_column, + last_column: s[s.length - 1].last_column, + }), + b && + (N._$.range = [ + s[s.length - (L || 1)].range[0], + s[s.length - 1].range[1], + ]), + void 0 !== + (k = this.performAction.apply( + N, + [a, c, l, p.yy, S[1], r, s].concat(g) + ))) + ) + return k; + L && + ((i = i.slice(0, -1 * L * 2)), + (r = r.slice(0, -1 * L)), + (s = s.slice(0, -1 * L))), + i.push(this.productions_[S[1]][0]), + r.push(N.$), + s.push(N._$), + (M = o[i[i.length - 2]][i[i.length - 1]]), + i.push(M); + break; + case 3: + return !0; + } + } + return !0; + }, + }, + _ = { + EOF: 1, + parseError: function (e, t) { + if (!this.yy.parser) throw new Error(e); + this.yy.parser.parseError(e, t); + }, + setInput: function (e, t) { + return ( + (this.yy = t || this.yy || {}), + (this._input = e), + (this._more = this._backtrack = this.done = !1), + (this.yylineno = this.yyleng = 0), + (this.yytext = this.matched = this.match = ''), + (this.conditionStack = ['INITIAL']), + (this.yylloc = { + first_line: 1, + first_column: 0, + last_line: 1, + last_column: 0, + }), + this.options.ranges && (this.yylloc.range = [0, 0]), + (this.offset = 0), + this + ); + }, + input: function () { + var e = this._input[0]; + return ( + (this.yytext += e), + this.yyleng++, + this.offset++, + (this.match += e), + (this.matched += e), + e.match(/(?:\r\n?|\n).*/g) + ? (this.yylineno++, this.yylloc.last_line++) + : this.yylloc.last_column++, + this.options.ranges && this.yylloc.range[1]++, + (this._input = this._input.slice(1)), + e + ); + }, + unput: function (e) { + var t = e.length, + i = e.split(/(?:\r\n?|\n)/g); + (this._input = e + this._input), + (this.yytext = this.yytext.substr( + 0, + this.yytext.length - t + )), + (this.offset -= t); + var n = this.match.split(/(?:\r\n?|\n)/g); + (this.match = this.match.substr( + 0, + this.match.length - 1 + )), + (this.matched = this.matched.substr( + 0, + this.matched.length - 1 + )), + i.length - 1 && (this.yylineno -= i.length - 1); + var r = 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: i + ? (i.length === n.length + ? this.yylloc.first_column + : 0) + + n[n.length - i.length].length - + i[0].length + : this.yylloc.first_column - t, + }), + this.options.ranges && + (this.yylloc.range = [ + r[0], + r[0] + this.yyleng - t, + ]), + (this.yyleng = this.yytext.length), + this + ); + }, + more: function () { + return (this._more = !0), this; + }, + reject: function () { + return this.options.backtrack_lexer + ? ((this._backtrack = !0), this) + : this.parseError( + 'Lexical error on line ' + + (this.yylineno + 1) + + '. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n' + + this.showPosition(), + { text: '', token: null, line: this.yylineno } + ); + }, + less: function (e) { + this.unput(this.match.slice(e)); + }, + pastInput: function () { + var e = this.matched.substr( + 0, + this.matched.length - this.match.length + ); + return ( + (e.length > 20 ? '...' : '') + + e.substr(-20).replace(/\n/g, '') + ); + }, + upcomingInput: function () { + var e = this.match; + return ( + e.length < 20 && + (e += this._input.substr(0, 20 - e.length)), + ( + e.substr(0, 20) + (e.length > 20 ? '...' : '') + ).replace(/\n/g, '') + ); + }, + showPosition: function () { + var e = this.pastInput(), + t = new Array(e.length + 1).join('-'); + return e + this.upcomingInput() + '\n' + t + '^'; + }, + test_match: function (e, t) { + var i, n, r; + if ( + (this.options.backtrack_lexer && + ((r = { + 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 && + (r.yylloc.range = this.yylloc.range.slice(0))), + (n = e[0].match(/(?:\r\n?|\n).*/g)) && + (this.yylineno += n.length), + (this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: n + ? n[n.length - 1].length - + n[n.length - 1].match(/\r?\n?/)[0].length + : this.yylloc.last_column + e[0].length, + }), + (this.yytext += e[0]), + (this.match += e[0]), + (this.matches = e), + (this.yyleng = this.yytext.length), + this.options.ranges && + (this.yylloc.range = [ + this.offset, + (this.offset += this.yyleng), + ]), + (this._more = !1), + (this._backtrack = !1), + (this._input = this._input.slice(e[0].length)), + (this.matched += e[0]), + (i = this.performAction.call( + this, + this.yy, + this, + t, + this.conditionStack[ + this.conditionStack.length - 1 + ] + )), + this.done && this._input && (this.done = !1), + i) + ) + return i; + if (this._backtrack) { + for (var s in r) this[s] = r[s]; + return !1; + } + return !1; + }, + next: function () { + if (this.done) return this.EOF; + var e, t, i, n; + this._input || (this.done = !0), + this._more || + ((this.yytext = ''), (this.match = '')); + for ( + var r = this._currentRules(), s = 0; + s < r.length; + s++ + ) + if ( + (i = this._input.match(this.rules[r[s]])) && + (!t || i[0].length > t[0].length) + ) { + if ( + ((t = i), (n = s), this.options.backtrack_lexer) + ) { + if (!1 !== (e = this.test_match(i, r[s]))) + return e; + if (this._backtrack) { + t = !1; + continue; + } + return !1; + } + if (!this.options.flex) break; + } + return t + ? !1 !== (e = this.test_match(t, r[n])) && e + : '' === this._input + ? this.EOF + : this.parseError( + 'Lexical error on line ' + + (this.yylineno + 1) + + '. Unrecognized text.\n' + + this.showPosition(), + { text: '', token: null, line: this.yylineno } + ); + }, + lex: function () { + return this.next() || this.lex(); + }, + begin: function (e) { + this.conditionStack.push(e); + }, + popState: function () { + return this.conditionStack.length - 1 > 0 + ? this.conditionStack.pop() + : this.conditionStack[0]; + }, + _currentRules: function () { + return this.conditionStack.length && + this.conditionStack[this.conditionStack.length - 1] + ? this.conditions[ + this.conditionStack[ + this.conditionStack.length - 1 + ] + ].rules + : this.conditions.INITIAL.rules; + }, + topState: function (e) { + return (e = + this.conditionStack.length - + 1 - + Math.abs(e || 0)) >= 0 + ? this.conditionStack[e] + : 'INITIAL'; + }, + pushState: function (e) { + this.begin(e); + }, + stateStackSize: function () { + return this.conditionStack.length; + }, + options: { 'case-insensitive': !0 }, + performAction: function (e, t, i, n) { + switch (i) { + case 0: + return this.begin('open_directive'), 33; + case 1: + return this.begin('type_directive'), 34; + case 2: + return ( + this.popState(), this.begin('arg_directive'), 26 + ); + case 3: + return this.popState(), this.popState(), 36; + case 4: + return 35; + case 5: + case 6: + case 7: + break; + case 8: + return 11; + case 9: + case 10: + case 11: + break; + case 12: + this.begin('href'); + break; + case 13: + this.popState(); + break; + case 14: + return 31; + case 15: + this.begin('callbackname'); + break; + case 16: + this.popState(); + break; + case 17: + this.popState(), this.begin('callbackargs'); + break; + case 18: + return 29; + case 19: + this.popState(); + break; + case 20: + return 30; + case 21: + this.begin('click'); + break; + case 22: + this.popState(); + break; + case 23: + return 28; + case 24: + return 5; + case 25: + return 12; + case 26: + return 13; + case 27: + return 14; + case 28: + return 15; + case 29: + return 16; + case 30: + return 17; + case 31: + return 'date'; + case 32: + return 18; + case 33: + return 19; + case 34: + return 21; + case 35: + return 22; + case 36: + return 26; + case 37: + return 7; + case 38: + return 'INVALID'; + } + }, + rules: [ + /^(?:%%\{)/i, + /^(?:((?:(?!\}%%)[^:.])*))/i, + /^(?::)/i, + /^(?:\}%%)/i, + /^(?:((?:(?!\}%%).|\n)*))/i, + /^(?:%%(?!\{)*[^\n]*)/i, + /^(?:[^\}]%%*[^\n]*)/i, + /^(?:%%*[^\n]*[\n]*)/i, + /^(?:[\n]+)/i, + /^(?:\s+)/i, + /^(?:#[^\n]*)/i, + /^(?:%[^\n]*)/i, + /^(?:href[\s]+["])/i, + /^(?:["])/i, + /^(?:[^"]*)/i, + /^(?:call[\s]+)/i, + /^(?:\([\s]*\))/i, + /^(?:\()/i, + /^(?:[^(]*)/i, + /^(?:\))/i, + /^(?:[^)]*)/i, + /^(?:click[\s]+)/i, + /^(?:[\s\n])/i, + /^(?:[^\s\n]*)/i, + /^(?:gantt\b)/i, + /^(?:dateFormat\s[^#\n;]+)/i, + /^(?:inclusiveEndDates\b)/i, + /^(?:topAxis\b)/i, + /^(?:axisFormat\s[^#\n;]+)/i, + /^(?:excludes\s[^#\n;]+)/i, + /^(?:todayMarker\s[^\n;]+)/i, + /^(?:\d\d\d\d-\d\d-\d\d\b)/i, + /^(?:title\s[^#\n;]+)/i, + /^(?:section\s[^#:\n;]+)/i, + /^(?:[^#:\n;]+)/i, + /^(?::[^#\n;]+)/i, + /^(?::)/i, + /^(?:$)/i, + /^(?:.)/i, + ], + conditions: { + close_directive: { rules: [], inclusive: !1 }, + arg_directive: { rules: [3, 4], inclusive: !1 }, + type_directive: { rules: [2, 3], inclusive: !1 }, + open_directive: { rules: [1], inclusive: !1 }, + callbackargs: { rules: [19, 20], inclusive: !1 }, + callbackname: { rules: [16, 17, 18], inclusive: !1 }, + href: { rules: [13, 14], inclusive: !1 }, + click: { rules: [22, 23], inclusive: !1 }, + INITIAL: { + rules: [ + 0, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 15, + 21, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + ], + inclusive: !0, + }, + }, + }; + function b() { + this.yy = {}; + } + return ( + (m.lexer = _), (b.prototype = m), (m.Parser = b), new b() + ); + })(); + (t.parser = r), + (t.Parser = r.Parser), + (t.parse = function () { + return r.parse.apply(r, arguments); + }), + (t.main = function (n) { + n[1] || + (console.log('Usage: ' + n[0] + ' FILE'), e.exit(1)); + var r = i( + './node_modules/node-libs-browser/mock/empty.js' + ).readFileSync( + i('./node_modules/path-browserify/index.js').normalize( + n[1] + ), + 'utf8' + ); + return t.parser.parse(r); + }), + i.c[i.s] === n && t.main(e.argv.slice(1)); + }.call( + this, + i('./node_modules/process/browser.js'), + i('./node_modules/webpack/buildin/module.js')(e) + )); + }, + './src/diagrams/gantt/styles.js': function (e, t, i) { + 'use strict'; + i.r(t), + (t.default = function (e) { + return '\n .mermaid-main-font {\n font-family: "trebuchet ms", verdana, arial, sans-serif;\n font-family: var(--mermaid-font-family);\n }\n\n .section {\n stroke: none;\n opacity: 0.2;\n }\n\n .section0 {\n fill: ' + .concat( + e.sectionBkgColor, + ';\n }\n\n .section2 {\n fill: ' + ) + .concat( + e.sectionBkgColor2, + ';\n }\n\n .section1,\n .section3 {\n fill: ' + ) + .concat( + e.altSectionBkgColor, + ';\n opacity: 0.2;\n }\n\n .sectionTitle0 {\n fill: ' + ) + .concat( + e.titleColor, + ';\n }\n\n .sectionTitle1 {\n fill: ' + ) + .concat( + e.titleColor, + ';\n }\n\n .sectionTitle2 {\n fill: ' + ) + .concat( + e.titleColor, + ';\n }\n\n .sectionTitle3 {\n fill: ' + ) + .concat( + e.titleColor, + ';\n }\n\n .sectionTitle {\n text-anchor: start;\n // font-size: ' + ) + .concat( + e.ganttFontSize, + ";\n // text-height: 14px;\n font-family: 'trebuchet ms', verdana, arial, sans-serif;\n font-family: var(--mermaid-font-family);\n\n }\n\n\n /* Grid and axis */\n\n .grid .tick {\n stroke: " + ) + .concat( + e.gridColor, + ';\n opacity: 0.8;\n shape-rendering: crispEdges;\n text {\n font-family: ' + ) + .concat(e.fontFamily, ';\n fill: ') + .concat( + e.textColor, + ';\n }\n }\n\n .grid path {\n stroke-width: 0;\n }\n\n\n /* Today line */\n\n .today {\n fill: none;\n stroke: ' + ) + .concat( + e.todayLineColor, + ";\n stroke-width: 2px;\n }\n\n\n /* Task styling */\n\n /* Default task */\n\n .task {\n stroke-width: 2;\n }\n\n .taskText {\n text-anchor: middle;\n font-family: 'trebuchet ms', verdana, arial, sans-serif;\n font-family: var(--mermaid-font-family);\n }\n\n // .taskText:not([font-size]) {\n // font-size: " + ) + .concat( + e.ganttFontSize, + ';\n // }\n\n .taskTextOutsideRight {\n fill: ' + ) + .concat( + e.taskTextDarkColor, + ';\n text-anchor: start;\n // font-size: ' + ) + .concat( + e.ganttFontSize, + ";\n font-family: 'trebuchet ms', verdana, arial, sans-serif;\n font-family: var(--mermaid-font-family);\n\n }\n\n .taskTextOutsideLeft {\n fill: " + ) + .concat( + e.taskTextDarkColor, + ';\n text-anchor: end;\n // font-size: ' + ) + .concat( + e.ganttFontSize, + ';\n }\n\n /* Special case clickable */\n .task.clickable {\n cursor: pointer;\n }\n .taskText.clickable {\n cursor: pointer;\n fill: ' + ) + .concat( + e.taskTextClickableColor, + ' !important;\n font-weight: bold;\n }\n\n .taskTextOutsideLeft.clickable {\n cursor: pointer;\n fill: ' + ) + .concat( + e.taskTextClickableColor, + ' !important;\n font-weight: bold;\n }\n\n .taskTextOutsideRight.clickable {\n cursor: pointer;\n fill: ' + ) + .concat( + e.taskTextClickableColor, + ' !important;\n font-weight: bold;\n }\n\n /* Specific task settings for the sections*/\n\n .taskText0,\n .taskText1,\n .taskText2,\n .taskText3 {\n fill: ' + ) + .concat( + e.taskTextColor, + ';\n }\n\n .task0,\n .task1,\n .task2,\n .task3 {\n fill: ' + ) + .concat(e.taskBkgColor, ';\n stroke: ') + .concat( + e.taskBorderColor, + ';\n }\n\n .taskTextOutside0,\n .taskTextOutside2\n {\n fill: ' + ) + .concat( + e.taskTextOutsideColor, + ';\n }\n\n .taskTextOutside1,\n .taskTextOutside3 {\n fill: ' + ) + .concat( + e.taskTextOutsideColor, + ';\n }\n\n\n /* Active task */\n\n .active0,\n .active1,\n .active2,\n .active3 {\n fill: ' + ) + .concat(e.activeTaskBkgColor, ';\n stroke: ') + .concat( + e.activeTaskBorderColor, + ';\n }\n\n .activeText0,\n .activeText1,\n .activeText2,\n .activeText3 {\n fill: ' + ) + .concat( + e.taskTextDarkColor, + ' !important;\n }\n\n\n /* Completed task */\n\n .done0,\n .done1,\n .done2,\n .done3 {\n stroke: ' + ) + .concat(e.doneTaskBorderColor, ';\n fill: ') + .concat( + e.doneTaskBkgColor, + ';\n stroke-width: 2;\n }\n\n .doneText0,\n .doneText1,\n .doneText2,\n .doneText3 {\n fill: ' + ) + .concat( + e.taskTextDarkColor, + ' !important;\n }\n\n\n /* Tasks on the critical line */\n\n .crit0,\n .crit1,\n .crit2,\n .crit3 {\n stroke: ' + ) + .concat(e.critBorderColor, ';\n fill: ') + .concat( + e.critBkgColor, + ';\n stroke-width: 2;\n }\n\n .activeCrit0,\n .activeCrit1,\n .activeCrit2,\n .activeCrit3 {\n stroke: ' + ) + .concat(e.critBorderColor, ';\n fill: ') + .concat( + e.activeTaskBkgColor, + ';\n stroke-width: 2;\n }\n\n .doneCrit0,\n .doneCrit1,\n .doneCrit2,\n .doneCrit3 {\n stroke: ' + ) + .concat(e.critBorderColor, ';\n fill: ') + .concat( + e.doneTaskBkgColor, + ';\n stroke-width: 2;\n cursor: pointer;\n shape-rendering: crispEdges;\n }\n\n .milestone {\n transform: rotate(45deg) scale(0.8,0.8);\n }\n\n .milestoneText {\n font-style: italic;\n }\n .doneCritText0,\n .doneCritText1,\n .doneCritText2,\n .doneCritText3 {\n fill: ' + ) + .concat( + e.taskTextDarkColor, + ' !important;\n }\n\n .activeCritText0,\n .activeCritText1,\n .activeCritText2,\n .activeCritText3 {\n fill: ' + ) + .concat( + e.taskTextDarkColor, + ' !important;\n }\n\n .titleText {\n text-anchor: middle;\n font-size: 18px;\n fill: ' + ) + .concat( + e.textColor, + " ;\n font-family: 'trebuchet ms', verdana, arial, sans-serif;\n font-family: var(--mermaid-font-family);\n }\n" + ); + }); + }, + './src/diagrams/git/gitGraphAst.js': function (e, t, i) { + 'use strict'; + i.r(t), + i.d(t, 'setDirection', function () { + return g; + }), + i.d(t, 'setOptions', function () { + return p; + }), + i.d(t, 'getOptions', function () { + return m; + }), + i.d(t, 'commit', function () { + return _; + }), + i.d(t, 'branch', function () { + return b; + }), + i.d(t, 'merge', function () { + return v; + }), + i.d(t, 'checkout', function () { + return y; + }), + i.d(t, 'reset', function () { + return w; + }), + i.d(t, 'prettyPrint', function () { + return k; + }), + i.d(t, 'clear', function () { + return x; + }), + i.d(t, 'getBranchesAsObjArray', function () { + return L; + }), + i.d(t, 'getBranches', function () { + return M; + }), + i.d(t, 'getCommits', function () { + return D; + }), + i.d(t, 'getCommitsArray', function () { + return N; + }), + i.d(t, 'getCurrentBranch', function () { + return E; + }), + i.d(t, 'getDirection', function () { + return T; + }), + i.d(t, 'getHead', function () { + return I; + }); + var n = i('./src/logger.js'), + r = i('./src/utils.js'), + s = {}, + o = null, + a = { master: o }, + l = 'master', + c = 'LR', + d = 0; + function h() { + return Object(r.random)({ length: 7 }); + } + function u(e, t) { + for ( + n.log.debug('Entering isfastforwardable:', e.id, t.id); + e.seq <= t.seq && e !== t && null != t.parent; + + ) { + if (Array.isArray(t.parent)) + return ( + n.log.debug('In merge commit:', t.parent), + u(e, s[t.parent[0]]) || u(e, s[t.parent[1]]) + ); + t = s[t.parent]; + } + return n.log.debug(e.id, t.id), e.id === t.id; + } + var g = function (e) { + c = e; + }, + f = {}, + p = function (e) { + n.log.debug('options str', e), + (e = (e = e && e.trim()) || '{}'); + try { + f = JSON.parse(e); + } catch (e) { + n.log.error( + 'error while parsing gitGraph options', + e.message + ); + } + }, + m = function () { + return f; + }, + _ = function (e) { + var t = { + id: h(), + message: e, + seq: d++, + parent: null == o ? null : o.id, + }; + (o = t), + (s[t.id] = t), + (a[l] = t.id), + n.log.debug('in pushCommit ' + t.id); + }, + b = function (e) { + (a[e] = null != o ? o.id : null), + n.log.debug('in createBranch'); + }, + v = function (e) { + var t = s[a[l]], + i = s[a[e]]; + if ( + (function (e, t) { + return e.seq > t.seq && u(t, e); + })(t, i) + ) + n.log.debug('Already merged'); + else { + if (u(t, i)) (a[l] = a[e]), (o = s[a[l]]); + else { + var r = { + id: h(), + message: 'merged branch ' + e + ' into ' + l, + seq: d++, + parent: [null == o ? null : o.id, a[e]], + }; + (o = r), (s[r.id] = r), (a[l] = r.id); + } + n.log.debug(a), n.log.debug('in mergeBranch'); + } + }, + y = function (e) { + n.log.debug('in checkout'); + var t = a[(l = e)]; + o = s[t]; + }, + w = function (e) { + n.log.debug('in reset', e); + var t = e.split(':')[0], + i = parseInt(e.split(':')[1]), + r = 'HEAD' === t ? o : s[a[t]]; + for (n.log.debug(r, i); i > 0; ) + if ((i--, !(r = s[r.parent]))) { + var c = + 'Critical error - unique parent commit not found during reset'; + throw (n.log.error(c), c); + } + (o = r), (a[l] = r.id); + }; + function C(e, t, i) { + var n = e.indexOf(t); + -1 === n ? e.push(i) : e.splice(n, 1, i); + } + function S(e) { + var t = e.reduce(function (e, t) { + return e.seq > t.seq ? e : t; + }, e[0]), + i = ''; + e.forEach(function (e) { + i += e === t ? '\t*' : '\t|'; + }); + var r, + o, + l, + c = [i, t.id, t.seq]; + for (var d in a) a[d] === t.id && c.push(d); + if ((n.log.debug(c.join(' ')), Array.isArray(t.parent))) { + var h = s[t.parent[0]]; + C(e, t, h), e.push(s[t.parent[1]]); + } else { + if (null == t.parent) return; + var u = s[t.parent]; + C(e, t, u); + } + (r = e), + (o = function (e) { + return e.id; + }), + (l = Object.create(null)), + S( + (e = r.reduce(function (e, t) { + var i = o(t); + return l[i] || ((l[i] = !0), e.push(t)), e; + }, [])) + ); + } + var k = function () { + n.log.debug(s), S([N()[0]]); + }, + x = function () { + (s = {}), + (a = { master: (o = null) }), + (l = 'master'), + (d = 0); + }, + L = function () { + var e = []; + for (var t in a) e.push({ name: t, commit: s[a[t]] }); + return e; + }, + M = function () { + return a; + }, + D = function () { + return s; + }, + N = function () { + var e = Object.keys(s).map(function (e) { + return s[e]; + }); + return ( + e.forEach(function (e) { + n.log.debug(e.id); + }), + e.sort(function (e, t) { + return t.seq - e.seq; + }), + e + ); + }, + E = function () { + return l; + }, + T = function () { + return c; + }, + I = function () { + return o; + }; + t.default = { + setDirection: g, + setOptions: p, + getOptions: m, + commit: _, + branch: b, + merge: v, + checkout: y, + reset: w, + prettyPrint: k, + clear: x, + getBranchesAsObjArray: L, + getBranches: M, + getCommits: D, + getCommitsArray: N, + getCurrentBranch: E, + getDirection: T, + getHead: I, + }; + }, + './src/diagrams/git/gitGraphRenderer.js': function (e, t, i) { + 'use strict'; + i.r(t), + i.d(t, 'setConf', function () { + return g; + }), + i.d(t, 'draw', function () { + return y; + }); + var n, + r = i('d3'), + s = i('./src/diagrams/git/gitGraphAst.js'), + o = i('./src/diagrams/git/parser/gitGraph.jison'), + a = i.n(o), + l = i('./src/logger.js'), + c = i('./src/utils.js'), + d = {}, + h = { + nodeSpacing: 150, + nodeFillColor: 'yellow', + nodeStrokeWidth: 2, + nodeStrokeColor: 'grey', + lineStrokeWidth: 4, + branchOffset: 50, + lineColor: 'grey', + leftMargin: 50, + branchColors: ['#442f74', '#983351', '#609732', '#AA9A39'], + nodeRadius: 10, + nodeLabel: { width: 75, height: 100, x: -25, y: 0 }, + }, + u = {}, + g = function (e) { + u = e; + }; + function f(e, t, i, n) { + var s = Object(c.interpolateToCurve)(n, r.curveBasis), + o = h.branchColors[i % h.branchColors.length], + a = Object(r.line)() + .x(function (e) { + return Math.round(e.x); + }) + .y(function (e) { + return Math.round(e.y); + }) + .curve(s); + e.append('svg:path') + .attr('d', a(t)) + .style('stroke', o) + .style('stroke-width', h.lineStrokeWidth) + .style('fill', 'none'); + } + function p(e, t) { + t = t || e.node().getBBox(); + var i = e.node().getCTM(); + return { + left: i.e + t.x * i.a, + top: i.f + t.y * i.d, + width: t.width, + height: t.height, + }; + } + function m(e, t, i, n, r) { + l.log.debug('svgDrawLineForCommits: ', t, i); + var s = p(e.select('#node-' + t + ' circle')), + o = p(e.select('#node-' + i + ' circle')); + switch (n) { + case 'LR': + if (s.left - o.left > h.nodeSpacing) { + var a = { + x: s.left - h.nodeSpacing, + y: o.top + o.height / 2, + }; + f( + e, + [a, { x: o.left + o.width, y: o.top + o.height / 2 }], + r, + 'linear' + ), + f( + e, + [ + { x: s.left, y: s.top + s.height / 2 }, + { + x: s.left - h.nodeSpacing / 2, + y: s.top + s.height / 2, + }, + { x: s.left - h.nodeSpacing / 2, y: a.y }, + a, + ], + r + ); + } else + f( + e, + [ + { x: s.left, y: s.top + s.height / 2 }, + { + x: s.left - h.nodeSpacing / 2, + y: s.top + s.height / 2, + }, + { + x: s.left - h.nodeSpacing / 2, + y: o.top + o.height / 2, + }, + { x: o.left + o.width, y: o.top + o.height / 2 }, + ], + r + ); + break; + case 'BT': + if (o.top - s.top > h.nodeSpacing) { + var c = { + x: o.left + o.width / 2, + y: s.top + s.height + h.nodeSpacing, + }; + f( + e, + [c, { x: o.left + o.width / 2, y: o.top }], + r, + 'linear' + ), + f( + e, + [ + { x: s.left + s.width / 2, y: s.top + s.height }, + { + x: s.left + s.width / 2, + y: s.top + s.height + h.nodeSpacing / 2, + }, + { + x: o.left + o.width / 2, + y: c.y - h.nodeSpacing / 2, + }, + c, + ], + r + ); + } else + f( + e, + [ + { x: s.left + s.width / 2, y: s.top + s.height }, + { + x: s.left + s.width / 2, + y: s.top + h.nodeSpacing / 2, + }, + { + x: o.left + o.width / 2, + y: o.top - h.nodeSpacing / 2, + }, + { x: o.left + o.width / 2, y: o.top }, + ], + r + ); + } + } + function _(e, t) { + return e.select(t).node().cloneNode(!0); + } + function b(e, t, i, r) { + var s, + o = Object.keys(d).length; + if ('string' == typeof t) + do { + if ( + ((s = d[t]), + l.log.debug('in renderCommitHistory', s.id, s.seq), + e.select('#node-' + t).size() > 0) + ) + return; + e.append(function () { + return _(e, '#def-commit'); + }) + .attr('class', 'commit') + .attr('id', function () { + return 'node-' + s.id; + }) + .attr('transform', function () { + switch (r) { + case 'LR': + return ( + 'translate(' + + (s.seq * h.nodeSpacing + h.leftMargin) + + ', ' + + n * h.branchOffset + + ')' + ); + case 'BT': + return ( + 'translate(' + + (n * h.branchOffset + h.leftMargin) + + ', ' + + (o - s.seq) * h.nodeSpacing + + ')' + ); + } + }) + .attr('fill', h.nodeFillColor) + .attr('stroke', h.nodeStrokeColor) + .attr('stroke-width', h.nodeStrokeWidth); + var a = void 0; + for (var c in i) + if (i[c].commit === s) { + a = i[c]; + break; + } + a && + (l.log.debug('found branch ', a.name), + e + .select('#node-' + s.id + ' p') + .append('xhtml:span') + .attr('class', 'branch-label') + .text(a.name + ', ')), + e + .select('#node-' + s.id + ' p') + .append('xhtml:span') + .attr('class', 'commit-id') + .text(s.id), + '' !== s.message && + 'BT' === r && + e + .select('#node-' + s.id + ' p') + .append('xhtml:span') + .attr('class', 'commit-msg') + .text(', ' + s.message), + (t = s.parent); + } while (t && d[t]); + Array.isArray(t) && + (l.log.debug('found merge commmit', t), + b(e, t[0], i, r), + n++, + b(e, t[1], i, r), + n--); + } + function v(e, t, i, n) { + for (n = n || 0; t.seq > 0 && !t.lineDrawn; ) + 'string' == typeof t.parent + ? (m(e, t.id, t.parent, i, n), + (t.lineDrawn = !0), + (t = d[t.parent])) + : Array.isArray(t.parent) && + (m(e, t.id, t.parent[0], i, n), + m(e, t.id, t.parent[1], i, n + 1), + v(e, d[t.parent[1]], i, n + 1), + (t.lineDrawn = !0), + (t = d[t.parent[0]])); + } + var y = function (e, t, i) { + try { + var o = a.a.parser; + (o.yy = s.default), + o.yy.clear(), + l.log.debug( + 'in gitgraph renderer', + e + '\n', + 'id:', + t, + i + ), + o.parse(e + '\n'), + (h = Object.assign(h, u, s.default.getOptions())), + l.log.debug('effective options', h); + var c = s.default.getDirection(); + d = s.default.getCommits(); + var g = s.default.getBranchesAsObjArray(); + 'BT' === c && + ((h.nodeLabel.x = g.length * h.branchOffset), + (h.nodeLabel.width = '100%'), + (h.nodeLabel.y = -2 * h.nodeRadius)); + var f = Object(r.select)('[id="'.concat(t, '"]')); + for (var p in ((function (e) { + e + .append('defs') + .append('g') + .attr('id', 'def-commit') + .append('circle') + .attr('r', h.nodeRadius) + .attr('cx', 0) + .attr('cy', 0), + e + .select('#def-commit') + .append('foreignObject') + .attr('width', h.nodeLabel.width) + .attr('height', h.nodeLabel.height) + .attr('x', h.nodeLabel.x) + .attr('y', h.nodeLabel.y) + .attr('class', 'node-label') + .attr( + 'requiredFeatures', + 'http://www.w3.org/TR/SVG11/feature#Extensibility' + ) + .append('p') + .html(''); + })(f), + (n = 1), + g)) { + var m = g[p]; + b(f, m.commit.id, g, c), v(f, m.commit, c), n++; + } + f.attr('height', function () { + return 'BT' === c + ? Object.keys(d).length * h.nodeSpacing + : (g.length + 1) * h.branchOffset; + }); + } catch (e) { + l.log.error('Error while rendering gitgraph'), + l.log.error(e.message); + } + }; + t.default = { setConf: g, draw: y }; + }, + './src/diagrams/git/parser/gitGraph.jison': function (e, t, i) { + (function (e, n) { + var r = (function () { + var e = function (e, t, i, n) { + for (i = i || {}, n = e.length; n--; i[e[n]] = t); + return i; + }, + t = [2, 3], + i = [1, 7], + n = [7, 12, 15, 17, 19, 20, 21], + r = [7, 11, 12, 15, 17, 19, 20, 21], + s = [2, 20], + o = [1, 32], + a = { + trace: function () {}, + yy: {}, + symbols_: { + error: 2, + start: 3, + GG: 4, + ':': 5, + document: 6, + EOF: 7, + DIR: 8, + options: 9, + body: 10, + OPT: 11, + NL: 12, + line: 13, + statement: 14, + COMMIT: 15, + commit_arg: 16, + BRANCH: 17, + ID: 18, + CHECKOUT: 19, + MERGE: 20, + RESET: 21, + reset_arg: 22, + STR: 23, + HEAD: 24, + reset_parents: 25, + CARET: 26, + $accept: 0, + $end: 1, + }, + terminals_: { + 2: 'error', + 4: 'GG', + 5: ':', + 7: 'EOF', + 8: 'DIR', + 11: 'OPT', + 12: 'NL', + 15: 'COMMIT', + 17: 'BRANCH', + 18: 'ID', + 19: 'CHECKOUT', + 20: 'MERGE', + 21: 'RESET', + 23: 'STR', + 24: 'HEAD', + 26: 'CARET', + }, + productions_: [ + 0, + [3, 4], + [3, 5], + [6, 0], + [6, 2], + [9, 2], + [9, 1], + [10, 0], + [10, 2], + [13, 2], + [13, 1], + [14, 2], + [14, 2], + [14, 2], + [14, 2], + [14, 2], + [16, 0], + [16, 1], + [22, 2], + [22, 2], + [25, 0], + [25, 2], + ], + performAction: function (e, t, i, n, r, s, o) { + var a = s.length - 1; + switch (r) { + case 1: + return s[a - 1]; + case 2: + return n.setDirection(s[a - 3]), s[a - 1]; + case 4: + n.setOptions(s[a - 1]), (this.$ = s[a]); + break; + case 5: + (s[a - 1] += s[a]), (this.$ = s[a - 1]); + break; + case 7: + this.$ = []; + break; + case 8: + s[a - 1].push(s[a]), (this.$ = s[a - 1]); + break; + case 9: + this.$ = s[a - 1]; + break; + case 11: + n.commit(s[a]); + break; + case 12: + n.branch(s[a]); + break; + case 13: + n.checkout(s[a]); + break; + case 14: + n.merge(s[a]); + break; + case 15: + n.reset(s[a]); + break; + case 16: + this.$ = ''; + break; + case 17: + this.$ = s[a]; + break; + case 18: + this.$ = s[a - 1] + ':' + s[a]; + break; + case 19: + (this.$ = s[a - 1] + ':' + n.count), + (n.count = 0); + break; + case 20: + n.count = 0; + break; + case 21: + n.count += 1; + } + }, + table: [ + { 3: 1, 4: [1, 2] }, + { 1: [3] }, + { 5: [1, 3], 8: [1, 4] }, + { 6: 5, 7: t, 9: 6, 12: i }, + { 5: [1, 8] }, + { 7: [1, 9] }, + e(n, [2, 7], { 10: 10, 11: [1, 11] }), + e(r, [2, 6]), + { 6: 12, 7: t, 9: 6, 12: i }, + { 1: [2, 1] }, + { + 7: [2, 4], + 12: [1, 15], + 13: 13, + 14: 14, + 15: [1, 16], + 17: [1, 17], + 19: [1, 18], + 20: [1, 19], + 21: [1, 20], + }, + e(r, [2, 5]), + { 7: [1, 21] }, + e(n, [2, 8]), + { 12: [1, 22] }, + e(n, [2, 10]), + { 12: [2, 16], 16: 23, 23: [1, 24] }, + { 18: [1, 25] }, + { 18: [1, 26] }, + { 18: [1, 27] }, + { 18: [1, 30], 22: 28, 24: [1, 29] }, + { 1: [2, 2] }, + e(n, [2, 9]), + { 12: [2, 11] }, + { 12: [2, 17] }, + { 12: [2, 12] }, + { 12: [2, 13] }, + { 12: [2, 14] }, + { 12: [2, 15] }, + { 12: s, 25: 31, 26: o }, + { 12: s, 25: 33, 26: o }, + { 12: [2, 18] }, + { 12: s, 25: 34, 26: o }, + { 12: [2, 19] }, + { 12: [2, 21] }, + ], + defaultActions: { + 9: [2, 1], + 21: [2, 2], + 23: [2, 11], + 24: [2, 17], + 25: [2, 12], + 26: [2, 13], + 27: [2, 14], + 28: [2, 15], + 31: [2, 18], + 33: [2, 19], + 34: [2, 21], + }, + parseError: function (e, t) { + if (!t.recoverable) { + var i = new Error(e); + throw ((i.hash = t), i); + } + this.trace(e); + }, + parse: function (e) { + var t = this, + i = [0], + n = [], + r = [null], + s = [], + o = this.table, + a = '', + l = 0, + c = 0, + d = 0, + h = 2, + u = 1, + g = s.slice.call(arguments, 1), + f = Object.create(this.lexer), + p = { yy: {} }; + for (var m in this.yy) + Object.prototype.hasOwnProperty.call(this.yy, m) && + (p.yy[m] = this.yy[m]); + f.setInput(e, p.yy), + (p.yy.lexer = f), + (p.yy.parser = this), + void 0 === f.yylloc && (f.yylloc = {}); + var _ = f.yylloc; + s.push(_); + var b = f.options && f.options.ranges; + function v() { + var e; + return ( + 'number' != + typeof (e = n.pop() || f.lex() || u) && + (e instanceof Array && (e = (n = e).pop()), + (e = t.symbols_[e] || e)), + e + ); + } + 'function' == typeof p.yy.parseError + ? (this.parseError = p.yy.parseError) + : (this.parseError = Object.getPrototypeOf( + this + ).parseError); + for (var y, w, C, S, k, x, L, M, D, N = {}; ; ) { + if ( + ((C = i[i.length - 1]), + this.defaultActions[C] + ? (S = this.defaultActions[C]) + : (null == y && (y = v()), + (S = o[C] && o[C][y])), + void 0 === S || !S.length || !S[0]) + ) { + var E = ''; + for (x in ((D = []), o[C])) + this.terminals_[x] && + x > h && + D.push("'" + this.terminals_[x] + "'"); + (E = f.showPosition + ? 'Parse error on line ' + + (l + 1) + + ':\n' + + f.showPosition() + + '\nExpecting ' + + D.join(', ') + + ", got '" + + (this.terminals_[y] || y) + + "'" + : 'Parse error on line ' + + (l + 1) + + ': Unexpected ' + + (y == u + ? 'end of input' + : "'" + (this.terminals_[y] || y) + "'")), + this.parseError(E, { + text: f.match, + token: this.terminals_[y] || y, + line: f.yylineno, + loc: _, + expected: D, + }); + } + if (S[0] instanceof Array && S.length > 1) + throw new Error( + 'Parse Error: multiple actions possible at state: ' + + C + + ', token: ' + + y + ); + switch (S[0]) { + case 1: + i.push(y), + r.push(f.yytext), + s.push(f.yylloc), + i.push(S[1]), + (y = null), + w + ? ((y = w), (w = null)) + : ((c = f.yyleng), + (a = f.yytext), + (l = f.yylineno), + (_ = f.yylloc), + d > 0 && d--); + break; + case 2: + if ( + ((L = this.productions_[S[1]][1]), + (N.$ = r[r.length - L]), + (N._$ = { + first_line: + s[s.length - (L || 1)].first_line, + last_line: s[s.length - 1].last_line, + first_column: + s[s.length - (L || 1)].first_column, + last_column: s[s.length - 1].last_column, + }), + b && + (N._$.range = [ + s[s.length - (L || 1)].range[0], + s[s.length - 1].range[1], + ]), + void 0 !== + (k = this.performAction.apply( + N, + [a, c, l, p.yy, S[1], r, s].concat(g) + ))) + ) + return k; + L && + ((i = i.slice(0, -1 * L * 2)), + (r = r.slice(0, -1 * L)), + (s = s.slice(0, -1 * L))), + i.push(this.productions_[S[1]][0]), + r.push(N.$), + s.push(N._$), + (M = o[i[i.length - 2]][i[i.length - 1]]), + i.push(M); + break; + case 3: + return !0; + } + } + return !0; + }, + }, + l = { + EOF: 1, + parseError: function (e, t) { + if (!this.yy.parser) throw new Error(e); + this.yy.parser.parseError(e, t); + }, + setInput: function (e, t) { + return ( + (this.yy = t || this.yy || {}), + (this._input = e), + (this._more = this._backtrack = this.done = !1), + (this.yylineno = this.yyleng = 0), + (this.yytext = this.matched = this.match = ''), + (this.conditionStack = ['INITIAL']), + (this.yylloc = { + first_line: 1, + first_column: 0, + last_line: 1, + last_column: 0, + }), + this.options.ranges && (this.yylloc.range = [0, 0]), + (this.offset = 0), + this + ); + }, + input: function () { + var e = this._input[0]; + return ( + (this.yytext += e), + this.yyleng++, + this.offset++, + (this.match += e), + (this.matched += e), + e.match(/(?:\r\n?|\n).*/g) + ? (this.yylineno++, this.yylloc.last_line++) + : this.yylloc.last_column++, + this.options.ranges && this.yylloc.range[1]++, + (this._input = this._input.slice(1)), + e + ); + }, + unput: function (e) { + var t = e.length, + i = e.split(/(?:\r\n?|\n)/g); + (this._input = e + this._input), + (this.yytext = this.yytext.substr( + 0, + this.yytext.length - t + )), + (this.offset -= t); + var n = this.match.split(/(?:\r\n?|\n)/g); + (this.match = this.match.substr( + 0, + this.match.length - 1 + )), + (this.matched = this.matched.substr( + 0, + this.matched.length - 1 + )), + i.length - 1 && (this.yylineno -= i.length - 1); + var r = 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: i + ? (i.length === n.length + ? this.yylloc.first_column + : 0) + + n[n.length - i.length].length - + i[0].length + : this.yylloc.first_column - t, + }), + this.options.ranges && + (this.yylloc.range = [ + r[0], + r[0] + this.yyleng - t, + ]), + (this.yyleng = this.yytext.length), + this + ); + }, + more: function () { + return (this._more = !0), this; + }, + reject: function () { + return this.options.backtrack_lexer + ? ((this._backtrack = !0), this) + : this.parseError( + 'Lexical error on line ' + + (this.yylineno + 1) + + '. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n' + + this.showPosition(), + { text: '', token: null, line: this.yylineno } + ); + }, + less: function (e) { + this.unput(this.match.slice(e)); + }, + pastInput: function () { + var e = this.matched.substr( + 0, + this.matched.length - this.match.length + ); + return ( + (e.length > 20 ? '...' : '') + + e.substr(-20).replace(/\n/g, '') + ); + }, + upcomingInput: function () { + var e = this.match; + return ( + e.length < 20 && + (e += this._input.substr(0, 20 - e.length)), + ( + e.substr(0, 20) + (e.length > 20 ? '...' : '') + ).replace(/\n/g, '') + ); + }, + showPosition: function () { + var e = this.pastInput(), + t = new Array(e.length + 1).join('-'); + return e + this.upcomingInput() + '\n' + t + '^'; + }, + test_match: function (e, t) { + var i, n, r; + if ( + (this.options.backtrack_lexer && + ((r = { + 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 && + (r.yylloc.range = this.yylloc.range.slice(0))), + (n = e[0].match(/(?:\r\n?|\n).*/g)) && + (this.yylineno += n.length), + (this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: n + ? n[n.length - 1].length - + n[n.length - 1].match(/\r?\n?/)[0].length + : this.yylloc.last_column + e[0].length, + }), + (this.yytext += e[0]), + (this.match += e[0]), + (this.matches = e), + (this.yyleng = this.yytext.length), + this.options.ranges && + (this.yylloc.range = [ + this.offset, + (this.offset += this.yyleng), + ]), + (this._more = !1), + (this._backtrack = !1), + (this._input = this._input.slice(e[0].length)), + (this.matched += e[0]), + (i = this.performAction.call( + this, + this.yy, + this, + t, + this.conditionStack[ + this.conditionStack.length - 1 + ] + )), + this.done && this._input && (this.done = !1), + i) + ) + return i; + if (this._backtrack) { + for (var s in r) this[s] = r[s]; + return !1; + } + return !1; + }, + next: function () { + if (this.done) return this.EOF; + var e, t, i, n; + this._input || (this.done = !0), + this._more || + ((this.yytext = ''), (this.match = '')); + for ( + var r = this._currentRules(), s = 0; + s < r.length; + s++ + ) + if ( + (i = this._input.match(this.rules[r[s]])) && + (!t || i[0].length > t[0].length) + ) { + if ( + ((t = i), (n = s), this.options.backtrack_lexer) + ) { + if (!1 !== (e = this.test_match(i, r[s]))) + return e; + if (this._backtrack) { + t = !1; + continue; + } + return !1; + } + if (!this.options.flex) break; + } + return t + ? !1 !== (e = this.test_match(t, r[n])) && e + : '' === this._input + ? this.EOF + : this.parseError( + 'Lexical error on line ' + + (this.yylineno + 1) + + '. Unrecognized text.\n' + + this.showPosition(), + { text: '', token: null, line: this.yylineno } + ); + }, + lex: function () { + return this.next() || this.lex(); + }, + begin: function (e) { + this.conditionStack.push(e); + }, + popState: function () { + return this.conditionStack.length - 1 > 0 + ? this.conditionStack.pop() + : this.conditionStack[0]; + }, + _currentRules: function () { + return this.conditionStack.length && + this.conditionStack[this.conditionStack.length - 1] + ? this.conditions[ + this.conditionStack[ + this.conditionStack.length - 1 + ] + ].rules + : this.conditions.INITIAL.rules; + }, + topState: function (e) { + return (e = + this.conditionStack.length - + 1 - + Math.abs(e || 0)) >= 0 + ? this.conditionStack[e] + : 'INITIAL'; + }, + pushState: function (e) { + this.begin(e); + }, + stateStackSize: function () { + return this.conditionStack.length; + }, + options: { 'case-insensitive': !0 }, + performAction: function (e, t, i, n) { + switch (i) { + case 0: + return 12; + case 1: + case 2: + case 3: + break; + case 4: + return 4; + case 5: + return 15; + case 6: + return 17; + case 7: + return 20; + case 8: + return 21; + case 9: + return 19; + case 10: + case 11: + return 8; + case 12: + return 5; + case 13: + return 26; + case 14: + this.begin('options'); + break; + case 15: + this.popState(); + break; + case 16: + return 11; + case 17: + this.begin('string'); + break; + case 18: + this.popState(); + break; + case 19: + return 23; + case 20: + return 18; + case 21: + return 7; + } + }, + rules: [ + /^(?:(\r?\n)+)/i, + /^(?:\s+)/i, + /^(?:#[^\n]*)/i, + /^(?:%[^\n]*)/i, + /^(?:gitGraph\b)/i, + /^(?:commit\b)/i, + /^(?:branch\b)/i, + /^(?:merge\b)/i, + /^(?:reset\b)/i, + /^(?:checkout\b)/i, + /^(?:LR\b)/i, + /^(?:BT\b)/i, + /^(?::)/i, + /^(?:\^)/i, + /^(?:options\r?\n)/i, + /^(?:end\r?\n)/i, + /^(?:[^\n]+\r?\n)/i, + /^(?:["])/i, + /^(?:["])/i, + /^(?:[^"]*)/i, + /^(?:[a-zA-Z][-_\.a-zA-Z0-9]*[-_a-zA-Z0-9])/i, + /^(?:$)/i, + ], + conditions: { + options: { rules: [15, 16], inclusive: !1 }, + string: { rules: [18, 19], inclusive: !1 }, + INITIAL: { + rules: [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 17, + 20, + 21, + ], + inclusive: !0, + }, + }, + }; + function c() { + this.yy = {}; + } + return ( + (a.lexer = l), (c.prototype = a), (a.Parser = c), new c() + ); + })(); + (t.parser = r), + (t.Parser = r.Parser), + (t.parse = function () { + return r.parse.apply(r, arguments); + }), + (t.main = function (n) { + n[1] || + (console.log('Usage: ' + n[0] + ' FILE'), e.exit(1)); + var r = i( + './node_modules/node-libs-browser/mock/empty.js' + ).readFileSync( + i('./node_modules/path-browserify/index.js').normalize( + n[1] + ), + 'utf8' + ); + return t.parser.parse(r); + }), + i.c[i.s] === n && t.main(e.argv.slice(1)); + }.call( + this, + i('./node_modules/process/browser.js'), + i('./node_modules/webpack/buildin/module.js')(e) + )); + }, + './src/diagrams/git/styles.js': function (e, t, i) { + 'use strict'; + i.r(t), + (t.default = function () { + return "\n .commit-id,\n .commit-msg,\n .branch-label {\n fill: lightgrey;\n color: lightgrey;\n font-family: 'trebuchet ms', verdana, arial, sans-serif;\n font-family: var(--mermaid-font-family);\n }\n"; + }); + }, + './src/diagrams/info/infoDb.js': function (e, t, i) { + 'use strict'; + i.r(t), + i.d(t, 'setMessage', function () { + return o; + }), + i.d(t, 'getMessage', function () { + return a; + }), + i.d(t, 'setInfo', function () { + return l; + }), + i.d(t, 'getInfo', function () { + return c; + }); + var n = i('./src/logger.js'), + r = '', + s = !1, + o = function (e) { + n.log.debug('Setting message to: ' + e), (r = e); + }, + a = function () { + return r; + }, + l = function (e) { + s = e; + }, + c = function () { + return s; + }; + t.default = { + setMessage: o, + getMessage: a, + setInfo: l, + getInfo: c, + }; + }, + './src/diagrams/info/infoRenderer.js': function (e, t, i) { + 'use strict'; + i.r(t), + i.d(t, 'setConf', function () { + return c; + }), + i.d(t, 'draw', function () { + return d; + }); + var n = i('d3'), + r = i('./src/diagrams/info/infoDb.js'), + s = i('./src/diagrams/info/parser/info.jison'), + o = i.n(s), + a = i('./src/logger.js'), + l = {}, + c = function (e) { + Object.keys(e).forEach(function (t) { + l[t] = e[t]; + }); + }, + d = function (e, t, i) { + try { + var s = o.a.parser; + (s.yy = r.default), + a.log.debug('Renering info diagram\n' + e), + s.parse(e), + a.log.debug('Parsed info diagram'); + var l = Object(n.select)('#' + t); + l + .append('g') + .append('text') + .attr('x', 100) + .attr('y', 40) + .attr('class', 'version') + .attr('font-size', '32px') + .style('text-anchor', 'middle') + .text('v ' + i), + l.attr('height', 100), + l.attr('width', 400); + } catch (e) { + a.log.error('Error while rendering info diagram'), + a.log.error(e.message); + } + }; + t.default = { setConf: c, draw: d }; + }, + './src/diagrams/info/parser/info.jison': function (e, t, i) { + (function (e, n) { + var r = (function () { + var e = function (e, t, i, n) { + for (i = i || {}, n = e.length; n--; i[e[n]] = t); + return i; + }, + t = [6, 9, 10], + i = { + trace: function () {}, + yy: {}, + symbols_: { + error: 2, + start: 3, + info: 4, + document: 5, + EOF: 6, + line: 7, + statement: 8, + NL: 9, + showInfo: 10, + $accept: 0, + $end: 1, + }, + terminals_: { + 2: 'error', + 4: 'info', + 6: 'EOF', + 9: 'NL', + 10: 'showInfo', + }, + productions_: [ + 0, + [3, 3], + [5, 0], + [5, 2], + [7, 1], + [7, 1], + [8, 1], + ], + performAction: function (e, t, i, n, r, s, o) { + switch ((s.length, r)) { + case 1: + return n; + case 4: + break; + case 6: + n.setInfo(!0); + } + }, + table: [ + { 3: 1, 4: [1, 2] }, + { 1: [3] }, + e(t, [2, 2], { 5: 3 }), + { 6: [1, 4], 7: 5, 8: 6, 9: [1, 7], 10: [1, 8] }, + { 1: [2, 1] }, + e(t, [2, 3]), + e(t, [2, 4]), + e(t, [2, 5]), + e(t, [2, 6]), + ], + defaultActions: { 4: [2, 1] }, + parseError: function (e, t) { + if (!t.recoverable) { + var i = new Error(e); + throw ((i.hash = t), i); + } + this.trace(e); + }, + parse: function (e) { + var t = this, + i = [0], + n = [], + r = [null], + s = [], + o = this.table, + a = '', + l = 0, + c = 0, + d = 0, + h = 2, + u = 1, + g = s.slice.call(arguments, 1), + f = Object.create(this.lexer), + p = { yy: {} }; + for (var m in this.yy) + Object.prototype.hasOwnProperty.call(this.yy, m) && + (p.yy[m] = this.yy[m]); + f.setInput(e, p.yy), + (p.yy.lexer = f), + (p.yy.parser = this), + void 0 === f.yylloc && (f.yylloc = {}); + var _ = f.yylloc; + s.push(_); + var b = f.options && f.options.ranges; + function v() { + var e; + return ( + 'number' != + typeof (e = n.pop() || f.lex() || u) && + (e instanceof Array && (e = (n = e).pop()), + (e = t.symbols_[e] || e)), + e + ); + } + 'function' == typeof p.yy.parseError + ? (this.parseError = p.yy.parseError) + : (this.parseError = Object.getPrototypeOf( + this + ).parseError); + for (var y, w, C, S, k, x, L, M, D, N = {}; ; ) { + if ( + ((C = i[i.length - 1]), + this.defaultActions[C] + ? (S = this.defaultActions[C]) + : (null == y && (y = v()), + (S = o[C] && o[C][y])), + void 0 === S || !S.length || !S[0]) + ) { + var E = ''; + for (x in ((D = []), o[C])) + this.terminals_[x] && + x > h && + D.push("'" + this.terminals_[x] + "'"); + (E = f.showPosition + ? 'Parse error on line ' + + (l + 1) + + ':\n' + + f.showPosition() + + '\nExpecting ' + + D.join(', ') + + ", got '" + + (this.terminals_[y] || y) + + "'" + : 'Parse error on line ' + + (l + 1) + + ': Unexpected ' + + (y == u + ? 'end of input' + : "'" + (this.terminals_[y] || y) + "'")), + this.parseError(E, { + text: f.match, + token: this.terminals_[y] || y, + line: f.yylineno, + loc: _, + expected: D, + }); + } + if (S[0] instanceof Array && S.length > 1) + throw new Error( + 'Parse Error: multiple actions possible at state: ' + + C + + ', token: ' + + y + ); + switch (S[0]) { + case 1: + i.push(y), + r.push(f.yytext), + s.push(f.yylloc), + i.push(S[1]), + (y = null), + w + ? ((y = w), (w = null)) + : ((c = f.yyleng), + (a = f.yytext), + (l = f.yylineno), + (_ = f.yylloc), + d > 0 && d--); + break; + case 2: + if ( + ((L = this.productions_[S[1]][1]), + (N.$ = r[r.length - L]), + (N._$ = { + first_line: + s[s.length - (L || 1)].first_line, + last_line: s[s.length - 1].last_line, + first_column: + s[s.length - (L || 1)].first_column, + last_column: s[s.length - 1].last_column, + }), + b && + (N._$.range = [ + s[s.length - (L || 1)].range[0], + s[s.length - 1].range[1], + ]), + void 0 !== + (k = this.performAction.apply( + N, + [a, c, l, p.yy, S[1], r, s].concat(g) + ))) + ) + return k; + L && + ((i = i.slice(0, -1 * L * 2)), + (r = r.slice(0, -1 * L)), + (s = s.slice(0, -1 * L))), + i.push(this.productions_[S[1]][0]), + r.push(N.$), + s.push(N._$), + (M = o[i[i.length - 2]][i[i.length - 1]]), + i.push(M); + break; + case 3: + return !0; + } + } + return !0; + }, + }, + n = { + EOF: 1, + parseError: function (e, t) { + if (!this.yy.parser) throw new Error(e); + this.yy.parser.parseError(e, t); + }, + setInput: function (e, t) { + return ( + (this.yy = t || this.yy || {}), + (this._input = e), + (this._more = this._backtrack = this.done = !1), + (this.yylineno = this.yyleng = 0), + (this.yytext = this.matched = this.match = ''), + (this.conditionStack = ['INITIAL']), + (this.yylloc = { + first_line: 1, + first_column: 0, + last_line: 1, + last_column: 0, + }), + this.options.ranges && (this.yylloc.range = [0, 0]), + (this.offset = 0), + this + ); + }, + input: function () { + var e = this._input[0]; + return ( + (this.yytext += e), + this.yyleng++, + this.offset++, + (this.match += e), + (this.matched += e), + e.match(/(?:\r\n?|\n).*/g) + ? (this.yylineno++, this.yylloc.last_line++) + : this.yylloc.last_column++, + this.options.ranges && this.yylloc.range[1]++, + (this._input = this._input.slice(1)), + e + ); + }, + unput: function (e) { + var t = e.length, + i = e.split(/(?:\r\n?|\n)/g); + (this._input = e + this._input), + (this.yytext = this.yytext.substr( + 0, + this.yytext.length - t + )), + (this.offset -= t); + var n = this.match.split(/(?:\r\n?|\n)/g); + (this.match = this.match.substr( + 0, + this.match.length - 1 + )), + (this.matched = this.matched.substr( + 0, + this.matched.length - 1 + )), + i.length - 1 && (this.yylineno -= i.length - 1); + var r = 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: i + ? (i.length === n.length + ? this.yylloc.first_column + : 0) + + n[n.length - i.length].length - + i[0].length + : this.yylloc.first_column - t, + }), + this.options.ranges && + (this.yylloc.range = [ + r[0], + r[0] + this.yyleng - t, + ]), + (this.yyleng = this.yytext.length), + this + ); + }, + more: function () { + return (this._more = !0), this; + }, + reject: function () { + return this.options.backtrack_lexer + ? ((this._backtrack = !0), this) + : this.parseError( + 'Lexical error on line ' + + (this.yylineno + 1) + + '. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n' + + this.showPosition(), + { text: '', token: null, line: this.yylineno } + ); + }, + less: function (e) { + this.unput(this.match.slice(e)); + }, + pastInput: function () { + var e = this.matched.substr( + 0, + this.matched.length - this.match.length + ); + return ( + (e.length > 20 ? '...' : '') + + e.substr(-20).replace(/\n/g, '') + ); + }, + upcomingInput: function () { + var e = this.match; + return ( + e.length < 20 && + (e += this._input.substr(0, 20 - e.length)), + ( + e.substr(0, 20) + (e.length > 20 ? '...' : '') + ).replace(/\n/g, '') + ); + }, + showPosition: function () { + var e = this.pastInput(), + t = new Array(e.length + 1).join('-'); + return e + this.upcomingInput() + '\n' + t + '^'; + }, + test_match: function (e, t) { + var i, n, r; + if ( + (this.options.backtrack_lexer && + ((r = { + 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 && + (r.yylloc.range = this.yylloc.range.slice(0))), + (n = e[0].match(/(?:\r\n?|\n).*/g)) && + (this.yylineno += n.length), + (this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: n + ? n[n.length - 1].length - + n[n.length - 1].match(/\r?\n?/)[0].length + : this.yylloc.last_column + e[0].length, + }), + (this.yytext += e[0]), + (this.match += e[0]), + (this.matches = e), + (this.yyleng = this.yytext.length), + this.options.ranges && + (this.yylloc.range = [ + this.offset, + (this.offset += this.yyleng), + ]), + (this._more = !1), + (this._backtrack = !1), + (this._input = this._input.slice(e[0].length)), + (this.matched += e[0]), + (i = this.performAction.call( + this, + this.yy, + this, + t, + this.conditionStack[ + this.conditionStack.length - 1 + ] + )), + this.done && this._input && (this.done = !1), + i) + ) + return i; + if (this._backtrack) { + for (var s in r) this[s] = r[s]; + return !1; + } + return !1; + }, + next: function () { + if (this.done) return this.EOF; + var e, t, i, n; + this._input || (this.done = !0), + this._more || + ((this.yytext = ''), (this.match = '')); + for ( + var r = this._currentRules(), s = 0; + s < r.length; + s++ + ) + if ( + (i = this._input.match(this.rules[r[s]])) && + (!t || i[0].length > t[0].length) + ) { + if ( + ((t = i), (n = s), this.options.backtrack_lexer) + ) { + if (!1 !== (e = this.test_match(i, r[s]))) + return e; + if (this._backtrack) { + t = !1; + continue; + } + return !1; + } + if (!this.options.flex) break; + } + return t + ? !1 !== (e = this.test_match(t, r[n])) && e + : '' === this._input + ? this.EOF + : this.parseError( + 'Lexical error on line ' + + (this.yylineno + 1) + + '. Unrecognized text.\n' + + this.showPosition(), + { text: '', token: null, line: this.yylineno } + ); + }, + lex: function () { + return this.next() || this.lex(); + }, + begin: function (e) { + this.conditionStack.push(e); + }, + popState: function () { + return this.conditionStack.length - 1 > 0 + ? this.conditionStack.pop() + : this.conditionStack[0]; + }, + _currentRules: function () { + return this.conditionStack.length && + this.conditionStack[this.conditionStack.length - 1] + ? this.conditions[ + this.conditionStack[ + this.conditionStack.length - 1 + ] + ].rules + : this.conditions.INITIAL.rules; + }, + topState: function (e) { + return (e = + this.conditionStack.length - + 1 - + Math.abs(e || 0)) >= 0 + ? this.conditionStack[e] + : 'INITIAL'; + }, + pushState: function (e) { + this.begin(e); + }, + stateStackSize: function () { + return this.conditionStack.length; + }, + options: { 'case-insensitive': !0 }, + performAction: function (e, t, i, n) { + switch (i) { + case 0: + return 4; + case 1: + return 9; + case 2: + return 'space'; + case 3: + return 10; + case 4: + return 6; + case 5: + return 'TXT'; + } + }, + rules: [ + /^(?:info\b)/i, + /^(?:[\s\n\r]+)/i, + /^(?:[\s]+)/i, + /^(?:showInfo\b)/i, + /^(?:$)/i, + /^(?:.)/i, + ], + conditions: { + INITIAL: { rules: [0, 1, 2, 3, 4, 5], inclusive: !0 }, + }, + }; + function r() { + this.yy = {}; + } + return ( + (i.lexer = n), (r.prototype = i), (i.Parser = r), new r() + ); + })(); + (t.parser = r), + (t.Parser = r.Parser), + (t.parse = function () { + return r.parse.apply(r, arguments); + }), + (t.main = function (n) { + n[1] || + (console.log('Usage: ' + n[0] + ' FILE'), e.exit(1)); + var r = i( + './node_modules/node-libs-browser/mock/empty.js' + ).readFileSync( + i('./node_modules/path-browserify/index.js').normalize( + n[1] + ), + 'utf8' + ); + return t.parser.parse(r); + }), + i.c[i.s] === n && t.main(e.argv.slice(1)); + }.call( + this, + i('./node_modules/process/browser.js'), + i('./node_modules/webpack/buildin/module.js')(e) + )); + }, + './src/diagrams/info/styles.js': function (e, t, i) { + 'use strict'; + i.r(t), + (t.default = function () { + return ''; + }); + }, + './src/diagrams/pie/parser/pie.jison': function (e, t, i) { + (function (e, n) { + var r = (function () { + var e = function (e, t, i, n) { + for (i = i || {}, n = e.length; n--; i[e[n]] = t); + return i; + }, + t = [1, 4], + i = [1, 5], + n = [1, 6], + r = [1, 7], + s = [1, 9], + o = [1, 10, 12, 19, 20, 21, 22], + a = [1, 6, 10, 12, 19, 20, 21, 22], + l = [19, 20, 21], + c = [1, 22], + d = [6, 19, 20, 21, 22], + h = { + trace: function () {}, + yy: {}, + symbols_: { + error: 2, + start: 3, + eol: 4, + directive: 5, + PIE: 6, + document: 7, + line: 8, + statement: 9, + txt: 10, + value: 11, + title: 12, + title_value: 13, + openDirective: 14, + typeDirective: 15, + closeDirective: 16, + ':': 17, + argDirective: 18, + NEWLINE: 19, + ';': 20, + EOF: 21, + open_directive: 22, + type_directive: 23, + arg_directive: 24, + close_directive: 25, + $accept: 0, + $end: 1, + }, + terminals_: { + 2: 'error', + 6: 'PIE', + 10: 'txt', + 11: 'value', + 12: 'title', + 13: 'title_value', + 17: ':', + 19: 'NEWLINE', + 20: ';', + 21: 'EOF', + 22: 'open_directive', + 23: 'type_directive', + 24: 'arg_directive', + 25: 'close_directive', + }, + productions_: [ + 0, + [3, 2], + [3, 2], + [3, 2], + [7, 0], + [7, 2], + [8, 2], + [9, 0], + [9, 2], + [9, 2], + [9, 1], + [5, 3], + [5, 5], + [4, 1], + [4, 1], + [4, 1], + [14, 1], + [15, 1], + [18, 1], + [16, 1], + ], + performAction: function (e, t, i, n, r, s, o) { + var a = s.length - 1; + switch (r) { + case 6: + this.$ = s[a - 1]; + break; + case 8: + n.addSection(s[a - 1], n.cleanupValue(s[a])); + break; + case 9: + (this.$ = s[a].trim()), n.setTitle(this.$); + break; + case 16: + n.parseDirective('%%{', 'open_directive'); + break; + case 17: + n.parseDirective(s[a], 'type_directive'); + break; + case 18: + (s[a] = s[a].trim().replace(/'/g, '"')), + n.parseDirective(s[a], 'arg_directive'); + break; + case 19: + n.parseDirective('}%%', 'close_directive', 'pie'); + } + }, + table: [ + { + 3: 1, + 4: 2, + 5: 3, + 6: t, + 14: 8, + 19: i, + 20: n, + 21: r, + 22: s, + }, + { 1: [3] }, + { + 3: 10, + 4: 2, + 5: 3, + 6: t, + 14: 8, + 19: i, + 20: n, + 21: r, + 22: s, + }, + { + 3: 11, + 4: 2, + 5: 3, + 6: t, + 14: 8, + 19: i, + 20: n, + 21: r, + 22: s, + }, + e(o, [2, 4], { 7: 12 }), + e(a, [2, 13]), + e(a, [2, 14]), + e(a, [2, 15]), + { 15: 13, 23: [1, 14] }, + { 23: [2, 16] }, + { 1: [2, 1] }, + { 1: [2, 2] }, + e(l, [2, 7], { + 14: 8, + 8: 15, + 9: 16, + 5: 19, + 1: [2, 3], + 10: [1, 17], + 12: [1, 18], + 22: s, + }), + { 16: 20, 17: [1, 21], 25: c }, + e([17, 25], [2, 17]), + e(o, [2, 5]), + { 4: 23, 19: i, 20: n, 21: r }, + { 11: [1, 24] }, + { 13: [1, 25] }, + e(l, [2, 10]), + e(d, [2, 11]), + { 18: 26, 24: [1, 27] }, + e(d, [2, 19]), + e(o, [2, 6]), + e(l, [2, 8]), + e(l, [2, 9]), + { 16: 28, 25: c }, + { 25: [2, 18] }, + e(d, [2, 12]), + ], + defaultActions: { + 9: [2, 16], + 10: [2, 1], + 11: [2, 2], + 27: [2, 18], + }, + parseError: function (e, t) { + if (!t.recoverable) { + var i = new Error(e); + throw ((i.hash = t), i); + } + this.trace(e); + }, + parse: function (e) { + var t = this, + i = [0], + n = [], + r = [null], + s = [], + o = this.table, + a = '', + l = 0, + c = 0, + d = 0, + h = 2, + u = 1, + g = s.slice.call(arguments, 1), + f = Object.create(this.lexer), + p = { yy: {} }; + for (var m in this.yy) + Object.prototype.hasOwnProperty.call(this.yy, m) && + (p.yy[m] = this.yy[m]); + f.setInput(e, p.yy), + (p.yy.lexer = f), + (p.yy.parser = this), + void 0 === f.yylloc && (f.yylloc = {}); + var _ = f.yylloc; + s.push(_); + var b = f.options && f.options.ranges; + function v() { + var e; + return ( + 'number' != + typeof (e = n.pop() || f.lex() || u) && + (e instanceof Array && (e = (n = e).pop()), + (e = t.symbols_[e] || e)), + e + ); + } + 'function' == typeof p.yy.parseError + ? (this.parseError = p.yy.parseError) + : (this.parseError = Object.getPrototypeOf( + this + ).parseError); + for (var y, w, C, S, k, x, L, M, D, N = {}; ; ) { + if ( + ((C = i[i.length - 1]), + this.defaultActions[C] + ? (S = this.defaultActions[C]) + : (null == y && (y = v()), + (S = o[C] && o[C][y])), + void 0 === S || !S.length || !S[0]) + ) { + var E = ''; + for (x in ((D = []), o[C])) + this.terminals_[x] && + x > h && + D.push("'" + this.terminals_[x] + "'"); + (E = f.showPosition + ? 'Parse error on line ' + + (l + 1) + + ':\n' + + f.showPosition() + + '\nExpecting ' + + D.join(', ') + + ", got '" + + (this.terminals_[y] || y) + + "'" + : 'Parse error on line ' + + (l + 1) + + ': Unexpected ' + + (y == u + ? 'end of input' + : "'" + (this.terminals_[y] || y) + "'")), + this.parseError(E, { + text: f.match, + token: this.terminals_[y] || y, + line: f.yylineno, + loc: _, + expected: D, + }); + } + if (S[0] instanceof Array && S.length > 1) + throw new Error( + 'Parse Error: multiple actions possible at state: ' + + C + + ', token: ' + + y + ); + switch (S[0]) { + case 1: + i.push(y), + r.push(f.yytext), + s.push(f.yylloc), + i.push(S[1]), + (y = null), + w + ? ((y = w), (w = null)) + : ((c = f.yyleng), + (a = f.yytext), + (l = f.yylineno), + (_ = f.yylloc), + d > 0 && d--); + break; + case 2: + if ( + ((L = this.productions_[S[1]][1]), + (N.$ = r[r.length - L]), + (N._$ = { + first_line: + s[s.length - (L || 1)].first_line, + last_line: s[s.length - 1].last_line, + first_column: + s[s.length - (L || 1)].first_column, + last_column: s[s.length - 1].last_column, + }), + b && + (N._$.range = [ + s[s.length - (L || 1)].range[0], + s[s.length - 1].range[1], + ]), + void 0 !== + (k = this.performAction.apply( + N, + [a, c, l, p.yy, S[1], r, s].concat(g) + ))) + ) + return k; + L && + ((i = i.slice(0, -1 * L * 2)), + (r = r.slice(0, -1 * L)), + (s = s.slice(0, -1 * L))), + i.push(this.productions_[S[1]][0]), + r.push(N.$), + s.push(N._$), + (M = o[i[i.length - 2]][i[i.length - 1]]), + i.push(M); + break; + case 3: + return !0; + } + } + return !0; + }, + }, + u = { + EOF: 1, + parseError: function (e, t) { + if (!this.yy.parser) throw new Error(e); + this.yy.parser.parseError(e, t); + }, + setInput: function (e, t) { + return ( + (this.yy = t || this.yy || {}), + (this._input = e), + (this._more = this._backtrack = this.done = !1), + (this.yylineno = this.yyleng = 0), + (this.yytext = this.matched = this.match = ''), + (this.conditionStack = ['INITIAL']), + (this.yylloc = { + first_line: 1, + first_column: 0, + last_line: 1, + last_column: 0, + }), + this.options.ranges && (this.yylloc.range = [0, 0]), + (this.offset = 0), + this + ); + }, + input: function () { + var e = this._input[0]; + return ( + (this.yytext += e), + this.yyleng++, + this.offset++, + (this.match += e), + (this.matched += e), + e.match(/(?:\r\n?|\n).*/g) + ? (this.yylineno++, this.yylloc.last_line++) + : this.yylloc.last_column++, + this.options.ranges && this.yylloc.range[1]++, + (this._input = this._input.slice(1)), + e + ); + }, + unput: function (e) { + var t = e.length, + i = e.split(/(?:\r\n?|\n)/g); + (this._input = e + this._input), + (this.yytext = this.yytext.substr( + 0, + this.yytext.length - t + )), + (this.offset -= t); + var n = this.match.split(/(?:\r\n?|\n)/g); + (this.match = this.match.substr( + 0, + this.match.length - 1 + )), + (this.matched = this.matched.substr( + 0, + this.matched.length - 1 + )), + i.length - 1 && (this.yylineno -= i.length - 1); + var r = 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: i + ? (i.length === n.length + ? this.yylloc.first_column + : 0) + + n[n.length - i.length].length - + i[0].length + : this.yylloc.first_column - t, + }), + this.options.ranges && + (this.yylloc.range = [ + r[0], + r[0] + this.yyleng - t, + ]), + (this.yyleng = this.yytext.length), + this + ); + }, + more: function () { + return (this._more = !0), this; + }, + reject: function () { + return this.options.backtrack_lexer + ? ((this._backtrack = !0), this) + : this.parseError( + 'Lexical error on line ' + + (this.yylineno + 1) + + '. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n' + + this.showPosition(), + { text: '', token: null, line: this.yylineno } + ); + }, + less: function (e) { + this.unput(this.match.slice(e)); + }, + pastInput: function () { + var e = this.matched.substr( + 0, + this.matched.length - this.match.length + ); + return ( + (e.length > 20 ? '...' : '') + + e.substr(-20).replace(/\n/g, '') + ); + }, + upcomingInput: function () { + var e = this.match; + return ( + e.length < 20 && + (e += this._input.substr(0, 20 - e.length)), + ( + e.substr(0, 20) + (e.length > 20 ? '...' : '') + ).replace(/\n/g, '') + ); + }, + showPosition: function () { + var e = this.pastInput(), + t = new Array(e.length + 1).join('-'); + return e + this.upcomingInput() + '\n' + t + '^'; + }, + test_match: function (e, t) { + var i, n, r; + if ( + (this.options.backtrack_lexer && + ((r = { + 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 && + (r.yylloc.range = this.yylloc.range.slice(0))), + (n = e[0].match(/(?:\r\n?|\n).*/g)) && + (this.yylineno += n.length), + (this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: n + ? n[n.length - 1].length - + n[n.length - 1].match(/\r?\n?/)[0].length + : this.yylloc.last_column + e[0].length, + }), + (this.yytext += e[0]), + (this.match += e[0]), + (this.matches = e), + (this.yyleng = this.yytext.length), + this.options.ranges && + (this.yylloc.range = [ + this.offset, + (this.offset += this.yyleng), + ]), + (this._more = !1), + (this._backtrack = !1), + (this._input = this._input.slice(e[0].length)), + (this.matched += e[0]), + (i = this.performAction.call( + this, + this.yy, + this, + t, + this.conditionStack[ + this.conditionStack.length - 1 + ] + )), + this.done && this._input && (this.done = !1), + i) + ) + return i; + if (this._backtrack) { + for (var s in r) this[s] = r[s]; + return !1; + } + return !1; + }, + next: function () { + if (this.done) return this.EOF; + var e, t, i, n; + this._input || (this.done = !0), + this._more || + ((this.yytext = ''), (this.match = '')); + for ( + var r = this._currentRules(), s = 0; + s < r.length; + s++ + ) + if ( + (i = this._input.match(this.rules[r[s]])) && + (!t || i[0].length > t[0].length) + ) { + if ( + ((t = i), (n = s), this.options.backtrack_lexer) + ) { + if (!1 !== (e = this.test_match(i, r[s]))) + return e; + if (this._backtrack) { + t = !1; + continue; + } + return !1; + } + if (!this.options.flex) break; + } + return t + ? !1 !== (e = this.test_match(t, r[n])) && e + : '' === this._input + ? this.EOF + : this.parseError( + 'Lexical error on line ' + + (this.yylineno + 1) + + '. Unrecognized text.\n' + + this.showPosition(), + { text: '', token: null, line: this.yylineno } + ); + }, + lex: function () { + return this.next() || this.lex(); + }, + begin: function (e) { + this.conditionStack.push(e); + }, + popState: function () { + return this.conditionStack.length - 1 > 0 + ? this.conditionStack.pop() + : this.conditionStack[0]; + }, + _currentRules: function () { + return this.conditionStack.length && + this.conditionStack[this.conditionStack.length - 1] + ? this.conditions[ + this.conditionStack[ + this.conditionStack.length - 1 + ] + ].rules + : this.conditions.INITIAL.rules; + }, + topState: function (e) { + return (e = + this.conditionStack.length - + 1 - + Math.abs(e || 0)) >= 0 + ? this.conditionStack[e] + : 'INITIAL'; + }, + pushState: function (e) { + this.begin(e); + }, + stateStackSize: function () { + return this.conditionStack.length; + }, + options: { 'case-insensitive': !0 }, + performAction: function (e, t, i, n) { + switch (i) { + case 0: + return this.begin('open_directive'), 22; + case 1: + return this.begin('type_directive'), 23; + case 2: + return ( + this.popState(), this.begin('arg_directive'), 17 + ); + case 3: + return this.popState(), this.popState(), 25; + case 4: + return 24; + case 5: + case 6: + break; + case 7: + return 19; + case 8: + case 9: + break; + case 10: + return this.begin('title'), 12; + case 11: + return this.popState(), 'title_value'; + case 12: + this.begin('string'); + break; + case 13: + this.popState(); + break; + case 14: + return 'txt'; + case 15: + return 6; + case 16: + return 'value'; + case 17: + return 21; + } + }, + rules: [ + /^(?:%%\{)/i, + /^(?:((?:(?!\}%%)[^:.])*))/i, + /^(?::)/i, + /^(?:\}%%)/i, + /^(?:((?:(?!\}%%).|\n)*))/i, + /^(?:%%(?!\{)[^\n]*)/i, + /^(?:[^\}]%%[^\n]*)/i, + /^(?:[\n\r]+)/i, + /^(?:%%[^\n]*)/i, + /^(?:[\s]+)/i, + /^(?:title\b)/i, + /^(?:(?!\n||)*[^\n]*)/i, + /^(?:["])/i, + /^(?:["])/i, + /^(?:[^"]*)/i, + /^(?:pie\b)/i, + /^(?::[\s]*[\d]+(?:\.[\d]+)?)/i, + /^(?:$)/i, + ], + conditions: { + close_directive: { rules: [], inclusive: !1 }, + arg_directive: { rules: [3, 4], inclusive: !1 }, + type_directive: { rules: [2, 3], inclusive: !1 }, + open_directive: { rules: [1], inclusive: !1 }, + title: { rules: [11], inclusive: !1 }, + string: { rules: [13, 14], inclusive: !1 }, + INITIAL: { + rules: [0, 5, 6, 7, 8, 9, 10, 12, 15, 16, 17], + inclusive: !0, + }, + }, + }; + function g() { + this.yy = {}; + } + return ( + (h.lexer = u), (g.prototype = h), (h.Parser = g), new g() + ); + })(); + (t.parser = r), + (t.Parser = r.Parser), + (t.parse = function () { + return r.parse.apply(r, arguments); + }), + (t.main = function (n) { + n[1] || + (console.log('Usage: ' + n[0] + ' FILE'), e.exit(1)); + var r = i( + './node_modules/node-libs-browser/mock/empty.js' + ).readFileSync( + i('./node_modules/path-browserify/index.js').normalize( + n[1] + ), + 'utf8' + ); + return t.parser.parse(r); + }), + i.c[i.s] === n && t.main(e.argv.slice(1)); + }.call( + this, + i('./node_modules/process/browser.js'), + i('./node_modules/webpack/buildin/module.js')(e) + )); + }, + './src/diagrams/pie/pieDb.js': function (e, t, i) { + 'use strict'; + i.r(t), + i.d(t, 'parseDirective', function () { + return l; + }); + var n = i('./src/logger.js'), + r = i('./src/mermaidAPI.js'), + s = i('./src/config.js'), + o = {}, + a = '', + l = function (e, t, i) { + r.default.parseDirective(this, e, t, i); + }; + t.default = { + parseDirective: l, + getConfig: function () { + return s.getConfig().pie; + }, + addSection: function (e, t) { + void 0 === o[e] && + ((o[e] = t), n.log.debug('Added new section :', e)); + }, + getSections: function () { + return o; + }, + cleanupValue: function (e) { + return ':' === e.substring(0, 1) + ? ((e = e.substring(1).trim()), Number(e.trim())) + : Number(e.trim()); + }, + clear: function () { + (o = {}), (a = ''); + }, + setTitle: function (e) { + a = e; + }, + getTitle: function () { + return a; + }, + }; + }, + './src/diagrams/pie/pieRenderer.js': function (e, t, i) { + 'use strict'; + i.r(t), + i.d(t, 'setConf', function () { + return h; + }), + i.d(t, 'draw', function () { + return u; + }); + var n, + r = i('d3'), + s = i('./src/diagrams/pie/pieDb.js'), + o = i('./src/diagrams/pie/parser/pie.jison'), + a = i.n(o), + l = i('./src/logger.js'), + c = i('./src/utils.js'), + d = {}, + h = function (e) { + Object.keys(e).forEach(function (t) { + d[t] = e[t]; + }); + }, + u = function (e, t) { + try { + var i = a.a.parser; + (i.yy = s.default), + l.log.debug('Rendering info diagram\n' + e), + i.yy.clear(), + i.parse(e), + l.log.debug('Parsed info diagram'); + var o = document.getElementById(t); + void 0 === (n = o.parentElement.offsetWidth) && + (n = 1200), + void 0 !== d.useWidth && (n = d.useWidth); + var h = Object(r.select)('#' + t); + Object(c.configureSvgSize)(h, 450, n, d.useMaxWidth), + o.setAttribute('viewBox', '0 0 ' + n + ' 450'); + var u = Math.min(n, 450) / 2 - 40, + g = h + .append('g') + .attr('transform', 'translate(' + n / 2 + ',225)'), + f = s.default.getSections(), + p = 0; + Object.keys(f).forEach(function (e) { + p += f[e]; + }); + var m = Object(r.scaleOrdinal)() + .domain(f) + .range(r.schemeSet2), + _ = Object(r.pie)().value(function (e) { + return e.value; + })(Object(r.entries)(f)), + b = Object(r.arc)().innerRadius(0).outerRadius(u); + g + .selectAll('mySlices') + .data(_) + .enter() + .append('path') + .attr('d', b) + .attr('fill', function (e) { + return m(e.data.key); + }) + .attr('stroke', 'black') + .style('stroke-width', '2px') + .style('opacity', 0.7), + g + .selectAll('mySlices') + .data( + _.filter(function (e) { + return 0 !== e.data.value; + }) + ) + .enter() + .append('text') + .text(function (e) { + return ((e.data.value / p) * 100).toFixed(0) + '%'; + }) + .attr('transform', function (e) { + return 'translate(' + b.centroid(e) + ')'; + }) + .style('text-anchor', 'middle') + .attr('class', 'slice') + .style('font-size', 17), + g + .append('text') + .text(i.yy.getTitle()) + .attr('x', 0) + .attr('y', -200) + .attr('class', 'pieTitleText'); + var v = g + .selectAll('.legend') + .data(m.domain()) + .enter() + .append('g') + .attr('class', 'legend') + .attr('transform', function (e, t) { + return ( + 'translate(216,' + + (22 * t - (22 * m.domain().length) / 2) + + ')' + ); + }); + v + .append('rect') + .attr('width', 18) + .attr('height', 18) + .style('fill', m) + .style('stroke', m), + v + .append('text') + .attr('x', 22) + .attr('y', 14) + .text(function (e) { + return e; + }); + } catch (e) { + l.log.error('Error while rendering info diagram'), + l.log.error(e); + } + }; + t.default = { setConf: h, draw: u }; + }, + './src/diagrams/pie/styles.js': function (e, t, i) { + 'use strict'; + i.r(t), + (t.default = function (e) { + return '.pieTitleText {\n text-anchor: middle;\n font-size: 25px;\n fill: ' + .concat(e.taskTextDarkColor, ';\n font-family: ') + .concat( + e.fontFamily, + ';\n }\n .slice {\n font-family: ' + ) + .concat(e.fontFamily, ';\n fill: ') + .concat( + e.textColor, + ';\n // fill: white;\n }\n .legend text {\n fill: ' + ) + .concat(e.taskTextDarkColor, ';\n font-family: ') + .concat(e.fontFamily, ';\n font-size: 17px;\n }\n'); + }); + }, + './src/diagrams/requirement/parser/requirementDiagram.jison': function ( + e, + t, + i + ) { + (function (e, n) { + var r = (function () { + var e = function (e, t, i, n) { + for (i = i || {}, n = e.length; n--; i[e[n]] = t); + return i; + }, + t = [1, 3], + i = [1, 5], + n = [1, 14], + r = [2, 9], + s = [1, 18], + o = [1, 19], + a = [1, 20], + l = [1, 21], + c = [1, 22], + d = [1, 23], + h = [1, 16], + u = [1, 24], + g = [1, 25], + f = [1, 28], + p = [66, 67], + m = [6, 8, 35, 36, 37, 38, 39, 40, 48, 55, 57, 66, 67], + _ = [5, 14], + b = [1, 47], + v = [1, 48], + y = [1, 49], + w = [1, 50], + C = [1, 51], + S = [1, 52], + k = [1, 53], + x = [57, 58], + L = [1, 65], + M = [1, 61], + D = [1, 62], + N = [1, 63], + E = [1, 64], + T = [1, 66], + I = [1, 70], + O = [1, 71], + A = [1, 68], + R = [1, 69], + P = [6, 8, 35, 36, 37, 38, 39, 40, 48, 66, 67], + F = { + trace: function () {}, + yy: {}, + symbols_: { + error: 2, + start: 3, + directive: 4, + RD: 5, + NEWLINE: 6, + diagram: 7, + EOF: 8, + openDirective: 9, + typeDirective: 10, + closeDirective: 11, + ':': 12, + argDirective: 13, + open_directive: 14, + type_directive: 15, + arg_directive: 16, + close_directive: 17, + requirementDef: 18, + elementDef: 19, + relationshipDef: 20, + requirementType: 21, + requirementName: 22, + STRUCT_START: 23, + requirementBody: 24, + ID: 25, + COLONSEP: 26, + id: 27, + TEXT: 28, + text: 29, + RISK: 30, + riskLevel: 31, + VERIFYMTHD: 32, + verifyType: 33, + STRUCT_STOP: 34, + REQUIREMENT: 35, + FUNCTIONAL_REQUIREMENT: 36, + INTERFACE_REQUIREMENT: 37, + PERFORMANCE_REQUIREMENT: 38, + PHYSICAL_REQUIREMENT: 39, + DESIGN_CONSTRAINT: 40, + LOW_RISK: 41, + MED_RISK: 42, + HIGH_RISK: 43, + VERIFY_ANALYSIS: 44, + VERIFY_DEMONSTRATION: 45, + VERIFY_INSPECTION: 46, + VERIFY_TEST: 47, + ELEMENT: 48, + elementName: 49, + elementBody: 50, + TYPE: 51, + type: 52, + DOCREF: 53, + ref: 54, + END_ARROW_L: 55, + relationship: 56, + LINE: 57, + END_ARROW_R: 58, + CONTAINS: 59, + COPIES: 60, + DERIVES: 61, + SATISFIES: 62, + VERIFIES: 63, + REFINES: 64, + TRACES: 65, + unqString: 66, + qString: 67, + $accept: 0, + $end: 1, + }, + terminals_: { + 2: 'error', + 5: 'RD', + 6: 'NEWLINE', + 8: 'EOF', + 12: ':', + 14: 'open_directive', + 15: 'type_directive', + 16: 'arg_directive', + 17: 'close_directive', + 23: 'STRUCT_START', + 25: 'ID', + 26: 'COLONSEP', + 28: 'TEXT', + 30: 'RISK', + 32: 'VERIFYMTHD', + 34: 'STRUCT_STOP', + 35: 'REQUIREMENT', + 36: 'FUNCTIONAL_REQUIREMENT', + 37: 'INTERFACE_REQUIREMENT', + 38: 'PERFORMANCE_REQUIREMENT', + 39: 'PHYSICAL_REQUIREMENT', + 40: 'DESIGN_CONSTRAINT', + 41: 'LOW_RISK', + 42: 'MED_RISK', + 43: 'HIGH_RISK', + 44: 'VERIFY_ANALYSIS', + 45: 'VERIFY_DEMONSTRATION', + 46: 'VERIFY_INSPECTION', + 47: 'VERIFY_TEST', + 48: 'ELEMENT', + 51: 'TYPE', + 53: 'DOCREF', + 55: 'END_ARROW_L', + 57: 'LINE', + 58: 'END_ARROW_R', + 59: 'CONTAINS', + 60: 'COPIES', + 61: 'DERIVES', + 62: 'SATISFIES', + 63: 'VERIFIES', + 64: 'REFINES', + 65: 'TRACES', + 66: 'unqString', + 67: 'qString', + }, + productions_: [ + 0, + [3, 2], + [3, 4], + [4, 3], + [4, 5], + [9, 1], + [10, 1], + [13, 1], + [11, 1], + [7, 0], + [7, 2], + [7, 2], + [7, 2], + [7, 2], + [18, 5], + [24, 5], + [24, 5], + [24, 5], + [24, 5], + [24, 2], + [24, 1], + [21, 1], + [21, 1], + [21, 1], + [21, 1], + [21, 1], + [21, 1], + [31, 1], + [31, 1], + [31, 1], + [33, 1], + [33, 1], + [33, 1], + [33, 1], + [19, 5], + [50, 5], + [50, 5], + [50, 2], + [50, 1], + [20, 5], + [20, 5], + [56, 1], + [56, 1], + [56, 1], + [56, 1], + [56, 1], + [56, 1], + [56, 1], + [22, 1], + [22, 1], + [27, 1], + [27, 1], + [29, 1], + [29, 1], + [49, 1], + [49, 1], + [52, 1], + [52, 1], + [54, 1], + [54, 1], + ], + performAction: function (e, t, i, n, r, s, o) { + var a = s.length - 1; + switch (r) { + case 5: + n.parseDirective('%%{', 'open_directive'); + break; + case 6: + n.parseDirective(s[a], 'type_directive'); + break; + case 7: + (s[a] = s[a].trim().replace(/'/g, '"')), + n.parseDirective(s[a], 'arg_directive'); + break; + case 8: + n.parseDirective('}%%', 'close_directive', 'pie'); + break; + case 9: + this.$ = []; + break; + case 14: + n.addRequirement(s[a - 3], s[a - 4]); + break; + case 15: + n.setNewReqId(s[a - 2]); + break; + case 16: + n.setNewReqText(s[a - 2]); + break; + case 17: + n.setNewReqRisk(s[a - 2]); + break; + case 18: + n.setNewReqVerifyMethod(s[a - 2]); + break; + case 21: + this.$ = n.RequirementType.REQUIREMENT; + break; + case 22: + this.$ = n.RequirementType.FUNCTIONAL_REQUIREMENT; + break; + case 23: + this.$ = n.RequirementType.INTERFACE_REQUIREMENT; + break; + case 24: + this.$ = + n.RequirementType.PERFORMANCE_REQUIREMENT; + break; + case 25: + this.$ = n.RequirementType.PHYSICAL_REQUIREMENT; + break; + case 26: + this.$ = n.RequirementType.DESIGN_CONSTRAINT; + break; + case 27: + this.$ = n.RiskLevel.LOW_RISK; + break; + case 28: + this.$ = n.RiskLevel.MED_RISK; + break; + case 29: + this.$ = n.RiskLevel.HIGH_RISK; + break; + case 30: + this.$ = n.VerifyType.VERIFY_ANALYSIS; + break; + case 31: + this.$ = n.VerifyType.VERIFY_DEMONSTRATION; + break; + case 32: + this.$ = n.VerifyType.VERIFY_INSPECTION; + break; + case 33: + this.$ = n.VerifyType.VERIFY_TEST; + break; + case 34: + n.addElement(s[a - 3]); + break; + case 35: + n.setNewElementType(s[a - 2]); + break; + case 36: + n.setNewElementDocRef(s[a - 2]); + break; + case 39: + n.addRelationship(s[a - 2], s[a], s[a - 4]); + break; + case 40: + n.addRelationship(s[a - 2], s[a - 4], s[a]); + break; + case 41: + this.$ = n.Relationships.CONTAINS; + break; + case 42: + this.$ = n.Relationships.COPIES; + break; + case 43: + this.$ = n.Relationships.DERIVES; + break; + case 44: + this.$ = n.Relationships.SATISFIES; + break; + case 45: + this.$ = n.Relationships.VERIFIES; + break; + case 46: + this.$ = n.Relationships.REFINES; + break; + case 47: + this.$ = n.Relationships.TRACES; + } + }, + table: [ + { 3: 1, 4: 2, 5: t, 9: 4, 14: i }, + { 1: [3] }, + { 3: 6, 4: 2, 5: t, 9: 4, 14: i }, + { 6: [1, 7] }, + { 10: 8, 15: [1, 9] }, + { 15: [2, 5] }, + { 1: [2, 1] }, + { + 6: n, + 7: 10, + 8: r, + 18: 11, + 19: 12, + 20: 13, + 21: 15, + 27: 17, + 35: s, + 36: o, + 37: a, + 38: l, + 39: c, + 40: d, + 48: h, + 66: u, + 67: g, + }, + { 11: 26, 12: [1, 27], 17: f }, + e([12, 17], [2, 6]), + { 8: [1, 29] }, + { + 6: n, + 7: 30, + 8: r, + 18: 11, + 19: 12, + 20: 13, + 21: 15, + 27: 17, + 35: s, + 36: o, + 37: a, + 38: l, + 39: c, + 40: d, + 48: h, + 66: u, + 67: g, + }, + { + 6: n, + 7: 31, + 8: r, + 18: 11, + 19: 12, + 20: 13, + 21: 15, + 27: 17, + 35: s, + 36: o, + 37: a, + 38: l, + 39: c, + 40: d, + 48: h, + 66: u, + 67: g, + }, + { + 6: n, + 7: 32, + 8: r, + 18: 11, + 19: 12, + 20: 13, + 21: 15, + 27: 17, + 35: s, + 36: o, + 37: a, + 38: l, + 39: c, + 40: d, + 48: h, + 66: u, + 67: g, + }, + { + 6: n, + 7: 33, + 8: r, + 18: 11, + 19: 12, + 20: 13, + 21: 15, + 27: 17, + 35: s, + 36: o, + 37: a, + 38: l, + 39: c, + 40: d, + 48: h, + 66: u, + 67: g, + }, + { 22: 34, 66: [1, 35], 67: [1, 36] }, + { 49: 37, 66: [1, 38], 67: [1, 39] }, + { 55: [1, 40], 57: [1, 41] }, + e(p, [2, 21]), + e(p, [2, 22]), + e(p, [2, 23]), + e(p, [2, 24]), + e(p, [2, 25]), + e(p, [2, 26]), + e(m, [2, 50]), + e(m, [2, 51]), + e(_, [2, 3]), + { 13: 42, 16: [1, 43] }, + e(_, [2, 8]), + { 1: [2, 2] }, + { 8: [2, 10] }, + { 8: [2, 11] }, + { 8: [2, 12] }, + { 8: [2, 13] }, + { 23: [1, 44] }, + { 23: [2, 48] }, + { 23: [2, 49] }, + { 23: [1, 45] }, + { 23: [2, 54] }, + { 23: [2, 55] }, + { + 56: 46, + 59: b, + 60: v, + 61: y, + 62: w, + 63: C, + 64: S, + 65: k, + }, + { + 56: 54, + 59: b, + 60: v, + 61: y, + 62: w, + 63: C, + 64: S, + 65: k, + }, + { 11: 55, 17: f }, + { 17: [2, 7] }, + { 6: [1, 56] }, + { 6: [1, 57] }, + { 57: [1, 58] }, + e(x, [2, 41]), + e(x, [2, 42]), + e(x, [2, 43]), + e(x, [2, 44]), + e(x, [2, 45]), + e(x, [2, 46]), + e(x, [2, 47]), + { 58: [1, 59] }, + e(_, [2, 4]), + { 6: L, 24: 60, 25: M, 28: D, 30: N, 32: E, 34: T }, + { 6: I, 34: O, 50: 67, 51: A, 53: R }, + { 27: 72, 66: u, 67: g }, + { 27: 73, 66: u, 67: g }, + e(P, [2, 14]), + { 26: [1, 74] }, + { 26: [1, 75] }, + { 26: [1, 76] }, + { 26: [1, 77] }, + { 6: L, 24: 78, 25: M, 28: D, 30: N, 32: E, 34: T }, + e(P, [2, 20]), + e(P, [2, 34]), + { 26: [1, 79] }, + { 26: [1, 80] }, + { 6: I, 34: O, 50: 81, 51: A, 53: R }, + e(P, [2, 38]), + e(P, [2, 39]), + e(P, [2, 40]), + { 27: 82, 66: u, 67: g }, + { 29: 83, 66: [1, 84], 67: [1, 85] }, + { 31: 86, 41: [1, 87], 42: [1, 88], 43: [1, 89] }, + { + 33: 90, + 44: [1, 91], + 45: [1, 92], + 46: [1, 93], + 47: [1, 94], + }, + e(P, [2, 19]), + { 52: 95, 66: [1, 96], 67: [1, 97] }, + { 54: 98, 66: [1, 99], 67: [1, 100] }, + e(P, [2, 37]), + { 6: [1, 101] }, + { 6: [1, 102] }, + { 6: [2, 52] }, + { 6: [2, 53] }, + { 6: [1, 103] }, + { 6: [2, 27] }, + { 6: [2, 28] }, + { 6: [2, 29] }, + { 6: [1, 104] }, + { 6: [2, 30] }, + { 6: [2, 31] }, + { 6: [2, 32] }, + { 6: [2, 33] }, + { 6: [1, 105] }, + { 6: [2, 56] }, + { 6: [2, 57] }, + { 6: [1, 106] }, + { 6: [2, 58] }, + { 6: [2, 59] }, + { 6: L, 24: 107, 25: M, 28: D, 30: N, 32: E, 34: T }, + { 6: L, 24: 108, 25: M, 28: D, 30: N, 32: E, 34: T }, + { 6: L, 24: 109, 25: M, 28: D, 30: N, 32: E, 34: T }, + { 6: L, 24: 110, 25: M, 28: D, 30: N, 32: E, 34: T }, + { 6: I, 34: O, 50: 111, 51: A, 53: R }, + { 6: I, 34: O, 50: 112, 51: A, 53: R }, + e(P, [2, 15]), + e(P, [2, 16]), + e(P, [2, 17]), + e(P, [2, 18]), + e(P, [2, 35]), + e(P, [2, 36]), + ], + defaultActions: { + 5: [2, 5], + 6: [2, 1], + 29: [2, 2], + 30: [2, 10], + 31: [2, 11], + 32: [2, 12], + 33: [2, 13], + 35: [2, 48], + 36: [2, 49], + 38: [2, 54], + 39: [2, 55], + 43: [2, 7], + 84: [2, 52], + 85: [2, 53], + 87: [2, 27], + 88: [2, 28], + 89: [2, 29], + 91: [2, 30], + 92: [2, 31], + 93: [2, 32], + 94: [2, 33], + 96: [2, 56], + 97: [2, 57], + 99: [2, 58], + 100: [2, 59], + }, + parseError: function (e, t) { + if (!t.recoverable) { + var i = new Error(e); + throw ((i.hash = t), i); + } + this.trace(e); + }, + parse: function (e) { + var t = this, + i = [0], + n = [], + r = [null], + s = [], + o = this.table, + a = '', + l = 0, + c = 0, + d = 0, + h = 2, + u = 1, + g = s.slice.call(arguments, 1), + f = Object.create(this.lexer), + p = { yy: {} }; + for (var m in this.yy) + Object.prototype.hasOwnProperty.call(this.yy, m) && + (p.yy[m] = this.yy[m]); + f.setInput(e, p.yy), + (p.yy.lexer = f), + (p.yy.parser = this), + void 0 === f.yylloc && (f.yylloc = {}); + var _ = f.yylloc; + s.push(_); + var b = f.options && f.options.ranges; + function v() { + var e; + return ( + 'number' != + typeof (e = n.pop() || f.lex() || u) && + (e instanceof Array && (e = (n = e).pop()), + (e = t.symbols_[e] || e)), + e + ); + } + 'function' == typeof p.yy.parseError + ? (this.parseError = p.yy.parseError) + : (this.parseError = Object.getPrototypeOf( + this + ).parseError); + for (var y, w, C, S, k, x, L, M, D, N = {}; ; ) { + if ( + ((C = i[i.length - 1]), + this.defaultActions[C] + ? (S = this.defaultActions[C]) + : (null == y && (y = v()), + (S = o[C] && o[C][y])), + void 0 === S || !S.length || !S[0]) + ) { + var E = ''; + for (x in ((D = []), o[C])) + this.terminals_[x] && + x > h && + D.push("'" + this.terminals_[x] + "'"); + (E = f.showPosition + ? 'Parse error on line ' + + (l + 1) + + ':\n' + + f.showPosition() + + '\nExpecting ' + + D.join(', ') + + ", got '" + + (this.terminals_[y] || y) + + "'" + : 'Parse error on line ' + + (l + 1) + + ': Unexpected ' + + (y == u + ? 'end of input' + : "'" + (this.terminals_[y] || y) + "'")), + this.parseError(E, { + text: f.match, + token: this.terminals_[y] || y, + line: f.yylineno, + loc: _, + expected: D, + }); + } + if (S[0] instanceof Array && S.length > 1) + throw new Error( + 'Parse Error: multiple actions possible at state: ' + + C + + ', token: ' + + y + ); + switch (S[0]) { + case 1: + i.push(y), + r.push(f.yytext), + s.push(f.yylloc), + i.push(S[1]), + (y = null), + w + ? ((y = w), (w = null)) + : ((c = f.yyleng), + (a = f.yytext), + (l = f.yylineno), + (_ = f.yylloc), + d > 0 && d--); + break; + case 2: + if ( + ((L = this.productions_[S[1]][1]), + (N.$ = r[r.length - L]), + (N._$ = { + first_line: + s[s.length - (L || 1)].first_line, + last_line: s[s.length - 1].last_line, + first_column: + s[s.length - (L || 1)].first_column, + last_column: s[s.length - 1].last_column, + }), + b && + (N._$.range = [ + s[s.length - (L || 1)].range[0], + s[s.length - 1].range[1], + ]), + void 0 !== + (k = this.performAction.apply( + N, + [a, c, l, p.yy, S[1], r, s].concat(g) + ))) + ) + return k; + L && + ((i = i.slice(0, -1 * L * 2)), + (r = r.slice(0, -1 * L)), + (s = s.slice(0, -1 * L))), + i.push(this.productions_[S[1]][0]), + r.push(N.$), + s.push(N._$), + (M = o[i[i.length - 2]][i[i.length - 1]]), + i.push(M); + break; + case 3: + return !0; + } + } + return !0; + }, + }, + B = { + EOF: 1, + parseError: function (e, t) { + if (!this.yy.parser) throw new Error(e); + this.yy.parser.parseError(e, t); + }, + setInput: function (e, t) { + return ( + (this.yy = t || this.yy || {}), + (this._input = e), + (this._more = this._backtrack = this.done = !1), + (this.yylineno = this.yyleng = 0), + (this.yytext = this.matched = this.match = ''), + (this.conditionStack = ['INITIAL']), + (this.yylloc = { + first_line: 1, + first_column: 0, + last_line: 1, + last_column: 0, + }), + this.options.ranges && (this.yylloc.range = [0, 0]), + (this.offset = 0), + this + ); + }, + input: function () { + var e = this._input[0]; + return ( + (this.yytext += e), + this.yyleng++, + this.offset++, + (this.match += e), + (this.matched += e), + e.match(/(?:\r\n?|\n).*/g) + ? (this.yylineno++, this.yylloc.last_line++) + : this.yylloc.last_column++, + this.options.ranges && this.yylloc.range[1]++, + (this._input = this._input.slice(1)), + e + ); + }, + unput: function (e) { + var t = e.length, + i = e.split(/(?:\r\n?|\n)/g); + (this._input = e + this._input), + (this.yytext = this.yytext.substr( + 0, + this.yytext.length - t + )), + (this.offset -= t); + var n = this.match.split(/(?:\r\n?|\n)/g); + (this.match = this.match.substr( + 0, + this.match.length - 1 + )), + (this.matched = this.matched.substr( + 0, + this.matched.length - 1 + )), + i.length - 1 && (this.yylineno -= i.length - 1); + var r = 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: i + ? (i.length === n.length + ? this.yylloc.first_column + : 0) + + n[n.length - i.length].length - + i[0].length + : this.yylloc.first_column - t, + }), + this.options.ranges && + (this.yylloc.range = [ + r[0], + r[0] + this.yyleng - t, + ]), + (this.yyleng = this.yytext.length), + this + ); + }, + more: function () { + return (this._more = !0), this; + }, + reject: function () { + return this.options.backtrack_lexer + ? ((this._backtrack = !0), this) + : this.parseError( + 'Lexical error on line ' + + (this.yylineno + 1) + + '. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n' + + this.showPosition(), + { text: '', token: null, line: this.yylineno } + ); + }, + less: function (e) { + this.unput(this.match.slice(e)); + }, + pastInput: function () { + var e = this.matched.substr( + 0, + this.matched.length - this.match.length + ); + return ( + (e.length > 20 ? '...' : '') + + e.substr(-20).replace(/\n/g, '') + ); + }, + upcomingInput: function () { + var e = this.match; + return ( + e.length < 20 && + (e += this._input.substr(0, 20 - e.length)), + ( + e.substr(0, 20) + (e.length > 20 ? '...' : '') + ).replace(/\n/g, '') + ); + }, + showPosition: function () { + var e = this.pastInput(), + t = new Array(e.length + 1).join('-'); + return e + this.upcomingInput() + '\n' + t + '^'; + }, + test_match: function (e, t) { + var i, n, r; + if ( + (this.options.backtrack_lexer && + ((r = { + 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 && + (r.yylloc.range = this.yylloc.range.slice(0))), + (n = e[0].match(/(?:\r\n?|\n).*/g)) && + (this.yylineno += n.length), + (this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: n + ? n[n.length - 1].length - + n[n.length - 1].match(/\r?\n?/)[0].length + : this.yylloc.last_column + e[0].length, + }), + (this.yytext += e[0]), + (this.match += e[0]), + (this.matches = e), + (this.yyleng = this.yytext.length), + this.options.ranges && + (this.yylloc.range = [ + this.offset, + (this.offset += this.yyleng), + ]), + (this._more = !1), + (this._backtrack = !1), + (this._input = this._input.slice(e[0].length)), + (this.matched += e[0]), + (i = this.performAction.call( + this, + this.yy, + this, + t, + this.conditionStack[ + this.conditionStack.length - 1 + ] + )), + this.done && this._input && (this.done = !1), + i) + ) + return i; + if (this._backtrack) { + for (var s in r) this[s] = r[s]; + return !1; + } + return !1; + }, + next: function () { + if (this.done) return this.EOF; + var e, t, i, n; + this._input || (this.done = !0), + this._more || + ((this.yytext = ''), (this.match = '')); + for ( + var r = this._currentRules(), s = 0; + s < r.length; + s++ + ) + if ( + (i = this._input.match(this.rules[r[s]])) && + (!t || i[0].length > t[0].length) + ) { + if ( + ((t = i), (n = s), this.options.backtrack_lexer) + ) { + if (!1 !== (e = this.test_match(i, r[s]))) + return e; + if (this._backtrack) { + t = !1; + continue; + } + return !1; + } + if (!this.options.flex) break; + } + return t + ? !1 !== (e = this.test_match(t, r[n])) && e + : '' === this._input + ? this.EOF + : this.parseError( + 'Lexical error on line ' + + (this.yylineno + 1) + + '. Unrecognized text.\n' + + this.showPosition(), + { text: '', token: null, line: this.yylineno } + ); + }, + lex: function () { + return this.next() || this.lex(); + }, + begin: function (e) { + this.conditionStack.push(e); + }, + popState: function () { + return this.conditionStack.length - 1 > 0 + ? this.conditionStack.pop() + : this.conditionStack[0]; + }, + _currentRules: function () { + return this.conditionStack.length && + this.conditionStack[this.conditionStack.length - 1] + ? this.conditions[ + this.conditionStack[ + this.conditionStack.length - 1 + ] + ].rules + : this.conditions.INITIAL.rules; + }, + topState: function (e) { + return (e = + this.conditionStack.length - + 1 - + Math.abs(e || 0)) >= 0 + ? this.conditionStack[e] + : 'INITIAL'; + }, + pushState: function (e) { + this.begin(e); + }, + stateStackSize: function () { + return this.conditionStack.length; + }, + options: { 'case-insensitive': !0 }, + performAction: function (e, t, i, n) { + switch (i) { + case 0: + return this.begin('open_directive'), 14; + case 1: + return this.begin('type_directive'), 15; + case 2: + return ( + this.popState(), this.begin('arg_directive'), 12 + ); + case 3: + return this.popState(), this.popState(), 17; + case 4: + return 16; + case 5: + return 6; + case 6: + case 7: + case 8: + break; + case 9: + return 8; + case 10: + return 5; + case 11: + return 23; + case 12: + return 34; + case 13: + return 26; + case 14: + return 25; + case 15: + return 28; + case 16: + return 30; + case 17: + return 32; + case 18: + return 35; + case 19: + return 36; + case 20: + return 37; + case 21: + return 38; + case 22: + return 39; + case 23: + return 40; + case 24: + return 41; + case 25: + return 42; + case 26: + return 43; + case 27: + return 44; + case 28: + return 45; + case 29: + return 46; + case 30: + return 47; + case 31: + return 48; + case 32: + return 59; + case 33: + return 60; + case 34: + return 61; + case 35: + return 62; + case 36: + return 63; + case 37: + return 64; + case 38: + return 65; + case 39: + return 51; + case 40: + return 53; + case 41: + return 55; + case 42: + return 58; + case 43: + return 57; + case 44: + this.begin('string'); + break; + case 45: + this.popState(); + break; + case 46: + return 'qString'; + case 47: + return (t.yytext = t.yytext.trim()), 66; + } + }, + rules: [ + /^(?:%%\{)/i, + /^(?:((?:(?!\}%%)[^:.])*))/i, + /^(?::)/i, + /^(?:\}%%)/i, + /^(?:((?:(?!\}%%).|\n)*))/i, + /^(?:(\r?\n)+)/i, + /^(?:\s+)/i, + /^(?:#[^\n]*)/i, + /^(?:%[^\n]*)/i, + /^(?:$)/i, + /^(?:requirementDiagram\b)/i, + /^(?:\{)/i, + /^(?:\})/i, + /^(?::)/i, + /^(?:id\b)/i, + /^(?:text\b)/i, + /^(?:risk\b)/i, + /^(?:verifyMethod\b)/i, + /^(?:requirement\b)/i, + /^(?:functionalRequirement\b)/i, + /^(?:interfaceRequirement\b)/i, + /^(?:performanceRequirement\b)/i, + /^(?:physicalRequirement\b)/i, + /^(?:designConstraint\b)/i, + /^(?:low\b)/i, + /^(?:medium\b)/i, + /^(?:high\b)/i, + /^(?:analysis\b)/i, + /^(?:demonstration\b)/i, + /^(?:inspection\b)/i, + /^(?:test\b)/i, + /^(?:element\b)/i, + /^(?:contains\b)/i, + /^(?:copies\b)/i, + /^(?:derives\b)/i, + /^(?:satisfies\b)/i, + /^(?:verifies\b)/i, + /^(?:refines\b)/i, + /^(?:traces\b)/i, + /^(?:type\b)/i, + /^(?:docref\b)/i, + /^(?:<-)/i, + /^(?:->)/i, + /^(?:-)/i, + /^(?:["])/i, + /^(?:["])/i, + /^(?:[^"]*)/i, + /^(?:[\w][^\r\n\{\<\>\-\=]*)/i, + ], + conditions: { + close_directive: { rules: [], inclusive: !1 }, + arg_directive: { rules: [3, 4], inclusive: !1 }, + type_directive: { rules: [2, 3], inclusive: !1 }, + open_directive: { rules: [1], inclusive: !1 }, + unqString: { rules: [], inclusive: !1 }, + token: { rules: [], inclusive: !1 }, + string: { rules: [45, 46], inclusive: !1 }, + INITIAL: { + rules: [ + 0, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 47, + ], + inclusive: !0, + }, + }, + }; + function W() { + this.yy = {}; + } + return ( + (F.lexer = B), (W.prototype = F), (F.Parser = W), new W() + ); + })(); + (t.parser = r), + (t.Parser = r.Parser), + (t.parse = function () { + return r.parse.apply(r, arguments); + }), + (t.main = function (n) { + n[1] || + (console.log('Usage: ' + n[0] + ' FILE'), e.exit(1)); + var r = i( + './node_modules/node-libs-browser/mock/empty.js' + ).readFileSync( + i('./node_modules/path-browserify/index.js').normalize( + n[1] + ), + 'utf8' + ); + return t.parser.parse(r); + }), + i.c[i.s] === n && t.main(e.argv.slice(1)); + }.call( + this, + i('./node_modules/process/browser.js'), + i('./node_modules/webpack/buildin/module.js')(e) + )); + }, + './src/diagrams/requirement/requirementDb.js': function ( + e, + t, + i + ) { + 'use strict'; + i.r(t), + i.d(t, 'parseDirective', function () { + return h; + }); + var n = i('./src/config.js'), + r = i('./src/logger.js'), + s = i('./src/mermaidAPI.js'), + o = [], + a = {}, + l = {}, + c = {}, + d = {}, + h = function (e, t, i) { + s.default.parseDirective(this, e, t, i); + }; + t.default = { + RequirementType: { + REQUIREMENT: 'Requirement', + FUNCTIONAL_REQUIREMENT: 'Functional Requirement', + INTERFACE_REQUIREMENT: 'Interface Requirement', + PERFORMANCE_REQUIREMENT: 'Performance Requirement', + PHYSICAL_REQUIREMENT: 'Physical Requirement', + DESIGN_CONSTRAINT: 'Design Constraint', + }, + RiskLevel: { + LOW_RISK: 'Low', + MED_RISK: 'Medium', + HIGH_RISK: 'High', + }, + VerifyType: { + VERIFY_ANALYSIS: 'Analysis', + VERIFY_DEMONSTRATION: 'Demonstration', + VERIFY_INSPECTION: 'Inspection', + VERIFY_TEST: 'Test', + }, + Relationships: { + CONTAINS: 'contains', + COPIES: 'copies', + DERIVES: 'derives', + SATISFIES: 'satisfies', + VERIFIES: 'verifies', + REFINES: 'refines', + TRACES: 'traces', + }, + parseDirective: h, + getConfig: function () { + return n.getConfig().req; + }, + addRequirement: function (e, t) { + return ( + void 0 === l[e] && + (l[e] = { + name: e, + type: t, + id: a.id, + text: a.text, + risk: a.risk, + verifyMethod: a.verifyMethod, + }), + (a = {}), + l[e] + ); + }, + getRequirements: function () { + return l; + }, + setNewReqId: function (e) { + void 0 !== a && (a.id = e); + }, + setNewReqText: function (e) { + void 0 !== a && (a.text = e); + }, + setNewReqRisk: function (e) { + void 0 !== a && (a.risk = e); + }, + setNewReqVerifyMethod: function (e) { + void 0 !== a && (a.verifyMethod = e); + }, + addElement: function (e) { + return ( + void 0 === d[e] && + ((d[e] = { name: e, type: c.type, docRef: c.docRef }), + r.log.info('Added new requirement: ', e)), + (c = {}), + d[e] + ); + }, + getElements: function () { + return d; + }, + setNewElementType: function (e) { + void 0 !== c && (c.type = e); + }, + setNewElementDocRef: function (e) { + void 0 !== c && (c.docRef = e); + }, + addRelationship: function (e, t, i) { + o.push({ type: e, src: t, dst: i }); + }, + getRelationships: function () { + return o; + }, + clear: function () { + (o = []), (a = {}), (l = {}), (c = {}), (d = {}); + }, + }; + }, + './src/diagrams/requirement/requirementMarkers.js': function ( + e, + t, + i + ) { + 'use strict'; + i.r(t); + var n = { CONTAINS: 'contains', ARROW: 'arrow' }; + t.default = { + ReqMarkers: n, + insertLineEndings: function (e, t) { + var i = e + .append('defs') + .append('marker') + .attr('id', n.CONTAINS + '_line_ending') + .attr('refX', 0) + .attr('refY', t.line_height / 2) + .attr('markerWidth', t.line_height) + .attr('markerHeight', t.line_height) + .attr('orient', 'auto') + .append('g'); + i + .append('circle') + .attr('cx', t.line_height / 2) + .attr('cy', t.line_height / 2) + .attr('r', t.line_height / 2) + .attr('stroke', t.rect_border_color) + .attr('stroke-width', 1) + .attr('fill', 'none'), + i + .append('line') + .attr('x1', 0) + .attr('x2', t.line_height) + .attr('y1', t.line_height / 2) + .attr('y2', t.line_height / 2) + .attr('stroke', t.rect_border_color) + .attr('stroke-width', 1), + i + .append('line') + .attr('y1', 0) + .attr('y2', t.line_height) + .attr('x1', t.line_height / 2) + .attr('x2', t.line_height / 2) + .attr('stroke', t.rect_border_color) + .attr('stroke-width', 1), + e + .append('defs') + .append('marker') + .attr('id', n.ARROW + '_line_ending') + .attr('refX', t.line_height) + .attr('refY', 0.5 * t.line_height) + .attr('markerWidth', t.line_height) + .attr('markerHeight', t.line_height) + .attr('orient', 'auto') + .append('path') + .attr( + 'd', + 'M0,0 \n L' + .concat(t.line_height, ',') + .concat(t.line_height / 2, ' \n M') + .concat(t.line_height, ',') + .concat(t.line_height / 2, ' \n L0,') + .concat(t.line_height) + ) + .attr('stroke-width', 1) + .attr('stroke', t.rect_border_color); + }, + }; + }, + './src/diagrams/requirement/requirementRenderer.js': function ( + e, + t, + i + ) { + 'use strict'; + i.r(t), + i.d(t, 'setConf', function () { + return _; + }), + i.d(t, 'drawReqs', function () { + return w; + }), + i.d(t, 'drawElements', function () { + return C; + }), + i.d(t, 'draw', function () { + return k; + }); + var n = i('d3'), + r = i('dagre'), + s = i.n(r), + o = i('graphlib'), + a = i.n(o), + l = i('./src/config.js'), + c = i('./src/logger.js'), + d = i('./src/utils.js'), + h = i('./src/diagrams/common/common.js'), + u = i( + './src/diagrams/requirement/parser/requirementDiagram.jison' + ), + g = i('./src/diagrams/requirement/requirementDb.js'), + f = i('./src/diagrams/requirement/requirementMarkers.js'), + p = {}, + m = 0, + _ = function (e) { + if (void 0 !== e) + for (var t = Object.keys(e), i = 0; i < t.length; i++) + p[t[i]] = e[t[i]]; + }, + b = function (e, t) { + return e + .insert('rect', '#' + t) + .attr('class', 'req reqBox') + .attr('fill', p.rect_fill) + .attr('fill-opacity', '100%') + .attr('stroke', p.rect_border_color) + .attr('stroke-size', p.rect_border_size) + .attr('x', 0) + .attr('y', 0) + .attr('width', p.rect_min_width + 'px') + .attr('height', p.rect_min_height + 'px'); + }, + v = function (e, t, i) { + var n = p.rect_min_width / 2, + r = e + .append('text') + .attr('class', 'req reqLabel reqTitle') + .attr('id', t) + .attr('x', n) + .attr('y', p.rect_padding) + .attr('dominant-baseline', 'hanging') + .attr( + 'style', + 'font-family: ' + + l.getConfig().fontFamily + + '; font-size: ' + + p.fontSize + + 'px' + ), + s = 0; + i.forEach(function (e) { + 0 == s + ? r + .append('tspan') + .attr('text-anchor', 'middle') + .attr('x', p.rect_min_width / 2) + .attr('dy', 0) + .text(e) + : r + .append('tspan') + .attr('text-anchor', 'middle') + .attr('x', p.rect_min_width / 2) + .attr('dy', 0.75 * p.line_height) + .text(e), + s++; + }); + var o = 1.5 * p.rect_padding + s * p.line_height * 0.75; + return ( + e + .append('line') + .attr('x1', '0') + .attr('x2', p.rect_min_width) + .attr('y1', o) + .attr('y2', o) + .attr( + 'style', + 'stroke: '.concat( + p.rect_border_color, + '; stroke-width: 1' + ) + ), + { titleNode: r, y: o } + ); + }, + y = function (e, t, i, n) { + var r = e + .append('text') + .attr('class', 'req reqLabel') + .attr('id', t) + .attr('x', p.rect_padding) + .attr('y', n) + .attr('dominant-baseline', 'hanging') + .attr( + 'style', + 'font-family: ' + + l.getConfig().fontFamily + + '; font-size: ' + + p.fontSize + + 'px' + ), + s = 0, + o = []; + return ( + i.forEach(function (e) { + for (var t = e.length; t > 30 && s < 3; ) { + var i = e.substring(0, 30); + (t = (e = e.substring(30, e.length)).length), + (o[o.length] = i), + s++; + } + if (3 == s) { + var n = o[o.length - 1]; + o[o.length - 1] = + n.substring(0, n.length - 4) + '...'; + } else o[o.length] = e; + s = 0; + }), + o.forEach(function (e) { + r.append('tspan') + .attr('x', p.rect_padding) + .attr('dy', p.line_height) + .text(e); + }), + r + ); + }, + w = function (e, t, i) { + Object.keys(e).forEach(function (n) { + var r = e[n]; + (n = S(n)), + console.log('reqName: ', n), + c.log.info('Added new requirement: ', n); + var s = i.append('g').attr('id', n), + o = b(s, 'req-' + n), + a = [], + l = v(s, n + '_title', [ + '<<'.concat(r.type, '>>'), + ''.concat(r.name), + ]); + a.push(l.titleNode); + var d = y( + s, + n + '_body', + [ + 'Id: '.concat(r.id), + 'Text: '.concat(r.text), + 'Risk: '.concat(r.risk), + 'Verification: '.concat(r.verifyMethod), + ], + l.y + ); + a.push(d); + var h = o.node().getBBox(); + t.setNode(n, { + width: h.width, + height: h.height, + shape: 'rect', + id: n, + }); + }); + }, + C = function (e, t, i) { + Object.keys(e).forEach(function (n) { + var r = e[n], + s = S(n), + o = i.append('g').attr('id', s), + a = 'element-' + s, + l = b(o, a), + c = [], + d = v(o, a + '_title', ['<<Element>>', ''.concat(n)]); + c.push(d.titleNode); + var h = y( + o, + a + '_body', + [ + 'Type: '.concat(r.type || 'Not Specified'), + 'Doc Ref: '.concat(r.docref || 'None'), + ], + d.y + ); + c.push(h); + var u = l.node().getBBox(); + t.setNode(s, { + width: u.width, + height: u.height, + shape: 'rect', + id: s, + }); + }); + }, + S = function (e) { + return e.replace(/\s/g, '').replace(/\./g, '_'); + }, + k = function (e, t) { + (u.parser.yy = g.default), u.parser.parse(e); + var i = Object(n.select)("[id='".concat(t, "']")); + f.default.insertLineEndings(i, p); + var r, + o, + l = new a.a.Graph({ + multigraph: !1, + compound: !1, + directed: !0, + }) + .setGraph({ + rankdir: p.layoutDirection, + marginx: 20, + marginy: 20, + nodesep: 100, + edgesep: 100, + ranksep: 100, + }) + .setDefaultEdgeLabel(function () { + return {}; + }), + c = g.default.getRequirements(), + _ = g.default.getElements(), + b = g.default.getRelationships(); + w(c, l, i), + C(_, l, i), + (function (e, t) { + e.forEach(function (e) { + var i = S(e.src), + n = S(e.dst); + t.setEdge(i, n, { relationship: e }); + }); + })(b, l), + s.a.layout(l), + (r = i), + (o = l).nodes().forEach(function (e) { + void 0 !== e && + void 0 !== o.node(e) && + (r.select('#' + e), + r + .select('#' + e) + .attr( + 'transform', + 'translate(' + + (o.node(e).x - o.node(e).width / 2) + + ',' + + (o.node(e).y - o.node(e).height / 2) + + ' )' + )); + }), + b.forEach(function (e) { + !(function (e, t, i, r) { + var s = i.edge(S(t.src), S(t.dst)), + o = Object(n.line)() + .x(function (e) { + return e.x; + }) + .y(function (e) { + return e.y; + }), + a = e + .insert('path', '#' + r) + .attr('class', 'er relationshipLine') + .attr('d', o(s.points)) + .attr('stroke', p.rect_border_color) + .attr('fill', 'none'); + t.type == g.default.Relationships.CONTAINS + ? a.attr( + 'marker-start', + 'url(' + + h.default.getUrl(p.arrowMarkerAbsolute) + + '#' + + t.type + + '_line_ending)' + ) + : (a.attr('stroke-dasharray', '10,7'), + a.attr( + 'marker-end', + 'url(' + + h.default.getUrl(p.arrowMarkerAbsolute) + + '#' + + f.default.ReqMarkers.ARROW + + '_line_ending)' + )), + (function (e, t, i, n) { + var r = t.node().getTotalLength(), + s = t.node().getPointAtLength(0.5 * r), + o = 'rel' + m; + m++; + var a = e + .append('text') + .attr('class', 'er relationshipLabel') + .attr('id', o) + .attr('x', s.x) + .attr('y', s.y) + .attr('text-anchor', 'middle') + .attr('dominant-baseline', 'middle') + .attr( + 'style', + 'font-family: ' + + i.fontFamily + + '; font-size: ' + + i.fontSize + + 'px' + ) + .text(n) + .node() + .getBBox(); + e.insert('rect', '#' + o) + .attr('class', 'req reqLabelBox') + .attr('x', s.x - a.width / 2) + .attr('y', s.y - a.height / 2) + .attr('width', a.width) + .attr('height', a.height) + .attr('fill', 'white') + .attr('fill-opacity', '85%'); + })(e, a, p, '<<'.concat(t.type, '>>')); + })(i, e, l, t); + }); + var v = p.rect_padding, + y = i.node().getBBox(), + k = y.width + 2 * v, + x = y.height + 2 * v; + Object(d.configureSvgSize)(i, x, k, p.useMaxWidth), + i.attr( + 'viewBox', + '' + .concat(y.x - v, ' ') + .concat(y.y - v, ' ') + .concat(k, ' ') + .concat(x) + ); + }; + t.default = { setConf: _, draw: k }; + }, + './src/diagrams/requirement/styles.js': function (e, t, i) { + 'use strict'; + i.r(t), + (t.default = function () { + return ''; + }); + }, + './src/diagrams/sequence/parser/sequenceDiagram.jison': function ( + e, + t, + i + ) { + (function (e, n) { + var r = (function () { + var e = function (e, t, i, n) { + for (i = i || {}, n = e.length; n--; i[e[n]] = t); + return i; + }, + t = [1, 2], + i = [1, 3], + n = [1, 5], + r = [1, 7], + s = [2, 5], + o = [1, 15], + a = [1, 17], + l = [1, 18], + c = [1, 20], + d = [1, 21], + h = [1, 22], + u = [1, 24], + g = [1, 25], + f = [1, 26], + p = [1, 27], + m = [1, 28], + _ = [1, 29], + b = [1, 32], + v = [1, 33], + y = [1, 36], + w = [ + 1, + 4, + 5, + 16, + 21, + 22, + 23, + 25, + 27, + 28, + 29, + 30, + 31, + 33, + 35, + 36, + 37, + 48, + 58, + ], + C = [1, 44], + S = [ + 4, + 5, + 16, + 21, + 22, + 23, + 25, + 27, + 28, + 29, + 30, + 31, + 33, + 37, + 48, + 58, + ], + k = [ + 4, + 5, + 16, + 21, + 22, + 23, + 25, + 27, + 28, + 29, + 30, + 31, + 33, + 36, + 37, + 48, + 58, + ], + x = [ + 4, + 5, + 16, + 21, + 22, + 23, + 25, + 27, + 28, + 29, + 30, + 31, + 33, + 35, + 37, + 48, + 58, + ], + L = [46, 47, 48], + M = [ + 1, + 4, + 5, + 7, + 16, + 21, + 22, + 23, + 25, + 27, + 28, + 29, + 30, + 31, + 33, + 35, + 36, + 37, + 48, + 58, + ], + D = { + trace: function () {}, + yy: {}, + symbols_: { + error: 2, + start: 3, + SPACE: 4, + NEWLINE: 5, + directive: 6, + SD: 7, + document: 8, + line: 9, + statement: 10, + openDirective: 11, + typeDirective: 12, + closeDirective: 13, + ':': 14, + argDirective: 15, + participant: 16, + actor: 17, + AS: 18, + restOfLine: 19, + signal: 20, + autonumber: 21, + activate: 22, + deactivate: 23, + note_statement: 24, + title: 25, + text2: 26, + loop: 27, + end: 28, + rect: 29, + opt: 30, + alt: 31, + else_sections: 32, + par: 33, + par_sections: 34, + and: 35, + else: 36, + note: 37, + placement: 38, + over: 39, + actor_pair: 40, + spaceList: 41, + ',': 42, + left_of: 43, + right_of: 44, + signaltype: 45, + '+': 46, + '-': 47, + ACTOR: 48, + SOLID_OPEN_ARROW: 49, + DOTTED_OPEN_ARROW: 50, + SOLID_ARROW: 51, + DOTTED_ARROW: 52, + SOLID_CROSS: 53, + DOTTED_CROSS: 54, + SOLID_POINT: 55, + DOTTED_POINT: 56, + TXT: 57, + open_directive: 58, + type_directive: 59, + arg_directive: 60, + close_directive: 61, + $accept: 0, + $end: 1, + }, + terminals_: { + 2: 'error', + 4: 'SPACE', + 5: 'NEWLINE', + 7: 'SD', + 14: ':', + 16: 'participant', + 18: 'AS', + 19: 'restOfLine', + 21: 'autonumber', + 22: 'activate', + 23: 'deactivate', + 25: 'title', + 27: 'loop', + 28: 'end', + 29: 'rect', + 30: 'opt', + 31: 'alt', + 33: 'par', + 35: 'and', + 36: 'else', + 37: 'note', + 39: 'over', + 42: ',', + 43: 'left_of', + 44: 'right_of', + 46: '+', + 47: '-', + 48: 'ACTOR', + 49: 'SOLID_OPEN_ARROW', + 50: 'DOTTED_OPEN_ARROW', + 51: 'SOLID_ARROW', + 52: 'DOTTED_ARROW', + 53: 'SOLID_CROSS', + 54: 'DOTTED_CROSS', + 55: 'SOLID_POINT', + 56: 'DOTTED_POINT', + 57: 'TXT', + 58: 'open_directive', + 59: 'type_directive', + 60: 'arg_directive', + 61: 'close_directive', + }, + productions_: [ + 0, + [3, 2], + [3, 2], + [3, 2], + [3, 2], + [8, 0], + [8, 2], + [9, 2], + [9, 1], + [9, 1], + [6, 4], + [6, 6], + [10, 5], + [10, 3], + [10, 2], + [10, 1], + [10, 3], + [10, 3], + [10, 2], + [10, 3], + [10, 4], + [10, 4], + [10, 4], + [10, 4], + [10, 4], + [10, 1], + [34, 1], + [34, 4], + [32, 1], + [32, 4], + [24, 4], + [24, 4], + [41, 2], + [41, 1], + [40, 3], + [40, 1], + [38, 1], + [38, 1], + [20, 5], + [20, 5], + [20, 4], + [17, 1], + [45, 1], + [45, 1], + [45, 1], + [45, 1], + [45, 1], + [45, 1], + [45, 1], + [45, 1], + [26, 1], + [11, 1], + [12, 1], + [15, 1], + [13, 1], + ], + performAction: function (e, t, i, n, r, s, o) { + var a = s.length - 1; + switch (r) { + case 4: + return n.apply(s[a]), s[a]; + case 5: + this.$ = []; + break; + case 6: + s[a - 1].push(s[a]), (this.$ = s[a - 1]); + break; + case 7: + case 8: + this.$ = s[a]; + break; + case 9: + this.$ = []; + break; + case 12: + (s[a - 3].description = n.parseMessage(s[a - 1])), + (this.$ = s[a - 3]); + break; + case 13: + this.$ = s[a - 1]; + break; + case 15: + n.enableSequenceNumbers(); + break; + case 16: + this.$ = { + type: 'activeStart', + signalType: n.LINETYPE.ACTIVE_START, + actor: s[a - 1], + }; + break; + case 17: + this.$ = { + type: 'activeEnd', + signalType: n.LINETYPE.ACTIVE_END, + actor: s[a - 1], + }; + break; + case 19: + this.$ = [{ type: 'setTitle', text: s[a - 1] }]; + break; + case 20: + s[a - 1].unshift({ + type: 'loopStart', + loopText: n.parseMessage(s[a - 2]), + signalType: n.LINETYPE.LOOP_START, + }), + s[a - 1].push({ + type: 'loopEnd', + loopText: s[a - 2], + signalType: n.LINETYPE.LOOP_END, + }), + (this.$ = s[a - 1]); + break; + case 21: + s[a - 1].unshift({ + type: 'rectStart', + color: n.parseMessage(s[a - 2]), + signalType: n.LINETYPE.RECT_START, + }), + s[a - 1].push({ + type: 'rectEnd', + color: n.parseMessage(s[a - 2]), + signalType: n.LINETYPE.RECT_END, + }), + (this.$ = s[a - 1]); + break; + case 22: + s[a - 1].unshift({ + type: 'optStart', + optText: n.parseMessage(s[a - 2]), + signalType: n.LINETYPE.OPT_START, + }), + s[a - 1].push({ + type: 'optEnd', + optText: n.parseMessage(s[a - 2]), + signalType: n.LINETYPE.OPT_END, + }), + (this.$ = s[a - 1]); + break; + case 23: + s[a - 1].unshift({ + type: 'altStart', + altText: n.parseMessage(s[a - 2]), + signalType: n.LINETYPE.ALT_START, + }), + s[a - 1].push({ + type: 'altEnd', + signalType: n.LINETYPE.ALT_END, + }), + (this.$ = s[a - 1]); + break; + case 24: + s[a - 1].unshift({ + type: 'parStart', + parText: n.parseMessage(s[a - 2]), + signalType: n.LINETYPE.PAR_START, + }), + s[a - 1].push({ + type: 'parEnd', + signalType: n.LINETYPE.PAR_END, + }), + (this.$ = s[a - 1]); + break; + case 27: + this.$ = s[a - 3].concat([ + { + type: 'and', + parText: n.parseMessage(s[a - 1]), + signalType: n.LINETYPE.PAR_AND, + }, + s[a], + ]); + break; + case 29: + this.$ = s[a - 3].concat([ + { + type: 'else', + altText: n.parseMessage(s[a - 1]), + signalType: n.LINETYPE.ALT_ELSE, + }, + s[a], + ]); + break; + case 30: + this.$ = [ + s[a - 1], + { + type: 'addNote', + placement: s[a - 2], + actor: s[a - 1].actor, + text: s[a], + }, + ]; + break; + case 31: + (s[a - 2] = [] + .concat(s[a - 1], s[a - 1]) + .slice(0, 2)), + (s[a - 2][0] = s[a - 2][0].actor), + (s[a - 2][1] = s[a - 2][1].actor), + (this.$ = [ + s[a - 1], + { + type: 'addNote', + placement: n.PLACEMENT.OVER, + actor: s[a - 2].slice(0, 2), + text: s[a], + }, + ]); + break; + case 34: + this.$ = [s[a - 2], s[a]]; + break; + case 35: + this.$ = s[a]; + break; + case 36: + this.$ = n.PLACEMENT.LEFTOF; + break; + case 37: + this.$ = n.PLACEMENT.RIGHTOF; + break; + case 38: + this.$ = [ + s[a - 4], + s[a - 1], + { + type: 'addMessage', + from: s[a - 4].actor, + to: s[a - 1].actor, + signalType: s[a - 3], + msg: s[a], + }, + { + type: 'activeStart', + signalType: n.LINETYPE.ACTIVE_START, + actor: s[a - 1], + }, + ]; + break; + case 39: + this.$ = [ + s[a - 4], + s[a - 1], + { + type: 'addMessage', + from: s[a - 4].actor, + to: s[a - 1].actor, + signalType: s[a - 3], + msg: s[a], + }, + { + type: 'activeEnd', + signalType: n.LINETYPE.ACTIVE_END, + actor: s[a - 4], + }, + ]; + break; + case 40: + this.$ = [ + s[a - 3], + s[a - 1], + { + type: 'addMessage', + from: s[a - 3].actor, + to: s[a - 1].actor, + signalType: s[a - 2], + msg: s[a], + }, + ]; + break; + case 41: + this.$ = { type: 'addActor', actor: s[a] }; + break; + case 42: + this.$ = n.LINETYPE.SOLID_OPEN; + break; + case 43: + this.$ = n.LINETYPE.DOTTED_OPEN; + break; + case 44: + this.$ = n.LINETYPE.SOLID; + break; + case 45: + this.$ = n.LINETYPE.DOTTED; + break; + case 46: + this.$ = n.LINETYPE.SOLID_CROSS; + break; + case 47: + this.$ = n.LINETYPE.DOTTED_CROSS; + break; + case 48: + this.$ = n.LINETYPE.SOLID_POINT; + break; + case 49: + this.$ = n.LINETYPE.DOTTED_POINT; + break; + case 50: + this.$ = n.parseMessage(s[a].trim().substring(1)); + break; + case 51: + n.parseDirective('%%{', 'open_directive'); + break; + case 52: + n.parseDirective(s[a], 'type_directive'); + break; + case 53: + (s[a] = s[a].trim().replace(/'/g, '"')), + n.parseDirective(s[a], 'arg_directive'); + break; + case 54: + n.parseDirective( + '}%%', + 'close_directive', + 'sequence' + ); + } + }, + table: [ + { 3: 1, 4: t, 5: i, 6: 4, 7: n, 11: 6, 58: r }, + { 1: [3] }, + { 3: 8, 4: t, 5: i, 6: 4, 7: n, 11: 6, 58: r }, + { 3: 9, 4: t, 5: i, 6: 4, 7: n, 11: 6, 58: r }, + { 3: 10, 4: t, 5: i, 6: 4, 7: n, 11: 6, 58: r }, + e( + [ + 1, + 4, + 5, + 16, + 21, + 22, + 23, + 25, + 27, + 29, + 30, + 31, + 33, + 37, + 48, + 58, + ], + s, + { 8: 11 } + ), + { 12: 12, 59: [1, 13] }, + { 59: [2, 51] }, + { 1: [2, 1] }, + { 1: [2, 2] }, + { 1: [2, 3] }, + { + 1: [2, 4], + 4: o, + 5: a, + 6: 30, + 9: 14, + 10: 16, + 11: 6, + 16: l, + 17: 31, + 20: 19, + 21: c, + 22: d, + 23: h, + 24: 23, + 25: u, + 27: g, + 29: f, + 30: p, + 31: m, + 33: _, + 37: b, + 48: v, + 58: r, + }, + { 13: 34, 14: [1, 35], 61: y }, + e([14, 61], [2, 52]), + e(w, [2, 6]), + { + 6: 30, + 10: 37, + 11: 6, + 16: l, + 17: 31, + 20: 19, + 21: c, + 22: d, + 23: h, + 24: 23, + 25: u, + 27: g, + 29: f, + 30: p, + 31: m, + 33: _, + 37: b, + 48: v, + 58: r, + }, + e(w, [2, 8]), + e(w, [2, 9]), + { 17: 38, 48: v }, + { 5: [1, 39] }, + e(w, [2, 15]), + { 17: 40, 48: v }, + { 17: 41, 48: v }, + { 5: [1, 42] }, + { 26: 43, 57: C }, + { 19: [1, 45] }, + { 19: [1, 46] }, + { 19: [1, 47] }, + { 19: [1, 48] }, + { 19: [1, 49] }, + e(w, [2, 25]), + { + 45: 50, + 49: [1, 51], + 50: [1, 52], + 51: [1, 53], + 52: [1, 54], + 53: [1, 55], + 54: [1, 56], + 55: [1, 57], + 56: [1, 58], + }, + { 38: 59, 39: [1, 60], 43: [1, 61], 44: [1, 62] }, + e( + [5, 18, 42, 49, 50, 51, 52, 53, 54, 55, 56, 57], + [2, 41] + ), + { 5: [1, 63] }, + { 15: 64, 60: [1, 65] }, + { 5: [2, 54] }, + e(w, [2, 7]), + { 5: [1, 67], 18: [1, 66] }, + e(w, [2, 14]), + { 5: [1, 68] }, + { 5: [1, 69] }, + e(w, [2, 18]), + { 5: [1, 70] }, + { 5: [2, 50] }, + e(S, s, { 8: 71 }), + e(S, s, { 8: 72 }), + e(S, s, { 8: 73 }), + e(k, s, { 32: 74, 8: 75 }), + e(x, s, { 34: 76, 8: 77 }), + { 17: 80, 46: [1, 78], 47: [1, 79], 48: v }, + e(L, [2, 42]), + e(L, [2, 43]), + e(L, [2, 44]), + e(L, [2, 45]), + e(L, [2, 46]), + e(L, [2, 47]), + e(L, [2, 48]), + e(L, [2, 49]), + { 17: 81, 48: v }, + { 17: 83, 40: 82, 48: v }, + { 48: [2, 36] }, + { 48: [2, 37] }, + e(M, [2, 10]), + { 13: 84, 61: y }, + { 61: [2, 53] }, + { 19: [1, 85] }, + e(w, [2, 13]), + e(w, [2, 16]), + e(w, [2, 17]), + e(w, [2, 19]), + { + 4: o, + 5: a, + 6: 30, + 9: 14, + 10: 16, + 11: 6, + 16: l, + 17: 31, + 20: 19, + 21: c, + 22: d, + 23: h, + 24: 23, + 25: u, + 27: g, + 28: [1, 86], + 29: f, + 30: p, + 31: m, + 33: _, + 37: b, + 48: v, + 58: r, + }, + { + 4: o, + 5: a, + 6: 30, + 9: 14, + 10: 16, + 11: 6, + 16: l, + 17: 31, + 20: 19, + 21: c, + 22: d, + 23: h, + 24: 23, + 25: u, + 27: g, + 28: [1, 87], + 29: f, + 30: p, + 31: m, + 33: _, + 37: b, + 48: v, + 58: r, + }, + { + 4: o, + 5: a, + 6: 30, + 9: 14, + 10: 16, + 11: 6, + 16: l, + 17: 31, + 20: 19, + 21: c, + 22: d, + 23: h, + 24: 23, + 25: u, + 27: g, + 28: [1, 88], + 29: f, + 30: p, + 31: m, + 33: _, + 37: b, + 48: v, + 58: r, + }, + { 28: [1, 89] }, + { + 4: o, + 5: a, + 6: 30, + 9: 14, + 10: 16, + 11: 6, + 16: l, + 17: 31, + 20: 19, + 21: c, + 22: d, + 23: h, + 24: 23, + 25: u, + 27: g, + 28: [2, 28], + 29: f, + 30: p, + 31: m, + 33: _, + 36: [1, 90], + 37: b, + 48: v, + 58: r, + }, + { 28: [1, 91] }, + { + 4: o, + 5: a, + 6: 30, + 9: 14, + 10: 16, + 11: 6, + 16: l, + 17: 31, + 20: 19, + 21: c, + 22: d, + 23: h, + 24: 23, + 25: u, + 27: g, + 28: [2, 26], + 29: f, + 30: p, + 31: m, + 33: _, + 35: [1, 92], + 37: b, + 48: v, + 58: r, + }, + { 17: 93, 48: v }, + { 17: 94, 48: v }, + { 26: 95, 57: C }, + { 26: 96, 57: C }, + { 26: 97, 57: C }, + { 42: [1, 98], 57: [2, 35] }, + { 5: [1, 99] }, + { 5: [1, 100] }, + e(w, [2, 20]), + e(w, [2, 21]), + e(w, [2, 22]), + e(w, [2, 23]), + { 19: [1, 101] }, + e(w, [2, 24]), + { 19: [1, 102] }, + { 26: 103, 57: C }, + { 26: 104, 57: C }, + { 5: [2, 40] }, + { 5: [2, 30] }, + { 5: [2, 31] }, + { 17: 105, 48: v }, + e(M, [2, 11]), + e(w, [2, 12]), + e(k, s, { 8: 75, 32: 106 }), + e(x, s, { 8: 77, 34: 107 }), + { 5: [2, 38] }, + { 5: [2, 39] }, + { 57: [2, 34] }, + { 28: [2, 29] }, + { 28: [2, 27] }, + ], + defaultActions: { + 7: [2, 51], + 8: [2, 1], + 9: [2, 2], + 10: [2, 3], + 36: [2, 54], + 44: [2, 50], + 61: [2, 36], + 62: [2, 37], + 65: [2, 53], + 95: [2, 40], + 96: [2, 30], + 97: [2, 31], + 103: [2, 38], + 104: [2, 39], + 105: [2, 34], + 106: [2, 29], + 107: [2, 27], + }, + parseError: function (e, t) { + if (!t.recoverable) { + var i = new Error(e); + throw ((i.hash = t), i); + } + this.trace(e); + }, + parse: function (e) { + var t = this, + i = [0], + n = [], + r = [null], + s = [], + o = this.table, + a = '', + l = 0, + c = 0, + d = 0, + h = 2, + u = 1, + g = s.slice.call(arguments, 1), + f = Object.create(this.lexer), + p = { yy: {} }; + for (var m in this.yy) + Object.prototype.hasOwnProperty.call(this.yy, m) && + (p.yy[m] = this.yy[m]); + f.setInput(e, p.yy), + (p.yy.lexer = f), + (p.yy.parser = this), + void 0 === f.yylloc && (f.yylloc = {}); + var _ = f.yylloc; + s.push(_); + var b = f.options && f.options.ranges; + function v() { + var e; + return ( + 'number' != + typeof (e = n.pop() || f.lex() || u) && + (e instanceof Array && (e = (n = e).pop()), + (e = t.symbols_[e] || e)), + e + ); + } + 'function' == typeof p.yy.parseError + ? (this.parseError = p.yy.parseError) + : (this.parseError = Object.getPrototypeOf( + this + ).parseError); + for (var y, w, C, S, k, x, L, M, D, N = {}; ; ) { + if ( + ((C = i[i.length - 1]), + this.defaultActions[C] + ? (S = this.defaultActions[C]) + : (null == y && (y = v()), + (S = o[C] && o[C][y])), + void 0 === S || !S.length || !S[0]) + ) { + var E = ''; + for (x in ((D = []), o[C])) + this.terminals_[x] && + x > h && + D.push("'" + this.terminals_[x] + "'"); + (E = f.showPosition + ? 'Parse error on line ' + + (l + 1) + + ':\n' + + f.showPosition() + + '\nExpecting ' + + D.join(', ') + + ", got '" + + (this.terminals_[y] || y) + + "'" + : 'Parse error on line ' + + (l + 1) + + ': Unexpected ' + + (y == u + ? 'end of input' + : "'" + (this.terminals_[y] || y) + "'")), + this.parseError(E, { + text: f.match, + token: this.terminals_[y] || y, + line: f.yylineno, + loc: _, + expected: D, + }); + } + if (S[0] instanceof Array && S.length > 1) + throw new Error( + 'Parse Error: multiple actions possible at state: ' + + C + + ', token: ' + + y + ); + switch (S[0]) { + case 1: + i.push(y), + r.push(f.yytext), + s.push(f.yylloc), + i.push(S[1]), + (y = null), + w + ? ((y = w), (w = null)) + : ((c = f.yyleng), + (a = f.yytext), + (l = f.yylineno), + (_ = f.yylloc), + d > 0 && d--); + break; + case 2: + if ( + ((L = this.productions_[S[1]][1]), + (N.$ = r[r.length - L]), + (N._$ = { + first_line: + s[s.length - (L || 1)].first_line, + last_line: s[s.length - 1].last_line, + first_column: + s[s.length - (L || 1)].first_column, + last_column: s[s.length - 1].last_column, + }), + b && + (N._$.range = [ + s[s.length - (L || 1)].range[0], + s[s.length - 1].range[1], + ]), + void 0 !== + (k = this.performAction.apply( + N, + [a, c, l, p.yy, S[1], r, s].concat(g) + ))) + ) + return k; + L && + ((i = i.slice(0, -1 * L * 2)), + (r = r.slice(0, -1 * L)), + (s = s.slice(0, -1 * L))), + i.push(this.productions_[S[1]][0]), + r.push(N.$), + s.push(N._$), + (M = o[i[i.length - 2]][i[i.length - 1]]), + i.push(M); + break; + case 3: + return !0; + } + } + return !0; + }, + }, + N = { + EOF: 1, + parseError: function (e, t) { + if (!this.yy.parser) throw new Error(e); + this.yy.parser.parseError(e, t); + }, + setInput: function (e, t) { + return ( + (this.yy = t || this.yy || {}), + (this._input = e), + (this._more = this._backtrack = this.done = !1), + (this.yylineno = this.yyleng = 0), + (this.yytext = this.matched = this.match = ''), + (this.conditionStack = ['INITIAL']), + (this.yylloc = { + first_line: 1, + first_column: 0, + last_line: 1, + last_column: 0, + }), + this.options.ranges && (this.yylloc.range = [0, 0]), + (this.offset = 0), + this + ); + }, + input: function () { + var e = this._input[0]; + return ( + (this.yytext += e), + this.yyleng++, + this.offset++, + (this.match += e), + (this.matched += e), + e.match(/(?:\r\n?|\n).*/g) + ? (this.yylineno++, this.yylloc.last_line++) + : this.yylloc.last_column++, + this.options.ranges && this.yylloc.range[1]++, + (this._input = this._input.slice(1)), + e + ); + }, + unput: function (e) { + var t = e.length, + i = e.split(/(?:\r\n?|\n)/g); + (this._input = e + this._input), + (this.yytext = this.yytext.substr( + 0, + this.yytext.length - t + )), + (this.offset -= t); + var n = this.match.split(/(?:\r\n?|\n)/g); + (this.match = this.match.substr( + 0, + this.match.length - 1 + )), + (this.matched = this.matched.substr( + 0, + this.matched.length - 1 + )), + i.length - 1 && (this.yylineno -= i.length - 1); + var r = 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: i + ? (i.length === n.length + ? this.yylloc.first_column + : 0) + + n[n.length - i.length].length - + i[0].length + : this.yylloc.first_column - t, + }), + this.options.ranges && + (this.yylloc.range = [ + r[0], + r[0] + this.yyleng - t, + ]), + (this.yyleng = this.yytext.length), + this + ); + }, + more: function () { + return (this._more = !0), this; + }, + reject: function () { + return this.options.backtrack_lexer + ? ((this._backtrack = !0), this) + : this.parseError( + 'Lexical error on line ' + + (this.yylineno + 1) + + '. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n' + + this.showPosition(), + { text: '', token: null, line: this.yylineno } + ); + }, + less: function (e) { + this.unput(this.match.slice(e)); + }, + pastInput: function () { + var e = this.matched.substr( + 0, + this.matched.length - this.match.length + ); + return ( + (e.length > 20 ? '...' : '') + + e.substr(-20).replace(/\n/g, '') + ); + }, + upcomingInput: function () { + var e = this.match; + return ( + e.length < 20 && + (e += this._input.substr(0, 20 - e.length)), + ( + e.substr(0, 20) + (e.length > 20 ? '...' : '') + ).replace(/\n/g, '') + ); + }, + showPosition: function () { + var e = this.pastInput(), + t = new Array(e.length + 1).join('-'); + return e + this.upcomingInput() + '\n' + t + '^'; + }, + test_match: function (e, t) { + var i, n, r; + if ( + (this.options.backtrack_lexer && + ((r = { + 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 && + (r.yylloc.range = this.yylloc.range.slice(0))), + (n = e[0].match(/(?:\r\n?|\n).*/g)) && + (this.yylineno += n.length), + (this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: n + ? n[n.length - 1].length - + n[n.length - 1].match(/\r?\n?/)[0].length + : this.yylloc.last_column + e[0].length, + }), + (this.yytext += e[0]), + (this.match += e[0]), + (this.matches = e), + (this.yyleng = this.yytext.length), + this.options.ranges && + (this.yylloc.range = [ + this.offset, + (this.offset += this.yyleng), + ]), + (this._more = !1), + (this._backtrack = !1), + (this._input = this._input.slice(e[0].length)), + (this.matched += e[0]), + (i = this.performAction.call( + this, + this.yy, + this, + t, + this.conditionStack[ + this.conditionStack.length - 1 + ] + )), + this.done && this._input && (this.done = !1), + i) + ) + return i; + if (this._backtrack) { + for (var s in r) this[s] = r[s]; + return !1; + } + return !1; + }, + next: function () { + if (this.done) return this.EOF; + var e, t, i, n; + this._input || (this.done = !0), + this._more || + ((this.yytext = ''), (this.match = '')); + for ( + var r = this._currentRules(), s = 0; + s < r.length; + s++ + ) + if ( + (i = this._input.match(this.rules[r[s]])) && + (!t || i[0].length > t[0].length) + ) { + if ( + ((t = i), (n = s), this.options.backtrack_lexer) + ) { + if (!1 !== (e = this.test_match(i, r[s]))) + return e; + if (this._backtrack) { + t = !1; + continue; + } + return !1; + } + if (!this.options.flex) break; + } + return t + ? !1 !== (e = this.test_match(t, r[n])) && e + : '' === this._input + ? this.EOF + : this.parseError( + 'Lexical error on line ' + + (this.yylineno + 1) + + '. Unrecognized text.\n' + + this.showPosition(), + { text: '', token: null, line: this.yylineno } + ); + }, + lex: function () { + return this.next() || this.lex(); + }, + begin: function (e) { + this.conditionStack.push(e); + }, + popState: function () { + return this.conditionStack.length - 1 > 0 + ? this.conditionStack.pop() + : this.conditionStack[0]; + }, + _currentRules: function () { + return this.conditionStack.length && + this.conditionStack[this.conditionStack.length - 1] + ? this.conditions[ + this.conditionStack[ + this.conditionStack.length - 1 + ] + ].rules + : this.conditions.INITIAL.rules; + }, + topState: function (e) { + return (e = + this.conditionStack.length - + 1 - + Math.abs(e || 0)) >= 0 + ? this.conditionStack[e] + : 'INITIAL'; + }, + pushState: function (e) { + this.begin(e); + }, + stateStackSize: function () { + return this.conditionStack.length; + }, + options: { 'case-insensitive': !0 }, + performAction: function (e, t, i, n) { + switch (i) { + case 0: + return this.begin('open_directive'), 58; + case 1: + return this.begin('type_directive'), 59; + case 2: + return ( + this.popState(), this.begin('arg_directive'), 14 + ); + case 3: + return this.popState(), this.popState(), 61; + case 4: + return 60; + case 5: + return 5; + case 6: + case 7: + case 8: + case 9: + case 10: + break; + case 11: + return this.begin('ID'), 16; + case 12: + return ( + (t.yytext = t.yytext.trim()), + this.begin('ALIAS'), + 48 + ); + case 13: + return ( + this.popState(), + this.popState(), + this.begin('LINE'), + 18 + ); + case 14: + return this.popState(), this.popState(), 5; + case 15: + return this.begin('LINE'), 27; + case 16: + return this.begin('LINE'), 29; + case 17: + return this.begin('LINE'), 30; + case 18: + return this.begin('LINE'), 31; + case 19: + return this.begin('LINE'), 36; + case 20: + return this.begin('LINE'), 33; + case 21: + return this.begin('LINE'), 35; + case 22: + return this.popState(), 19; + case 23: + return 28; + case 24: + return 43; + case 25: + return 44; + case 26: + return 39; + case 27: + return 37; + case 28: + return this.begin('ID'), 22; + case 29: + return this.begin('ID'), 23; + case 30: + return 25; + case 31: + return 7; + case 32: + return 21; + case 33: + return 42; + case 34: + return 5; + case 35: + return (t.yytext = t.yytext.trim()), 48; + case 36: + return 51; + case 37: + return 52; + case 38: + return 49; + case 39: + return 50; + case 40: + return 53; + case 41: + return 54; + case 42: + return 55; + case 43: + return 56; + case 44: + return 57; + case 45: + return 46; + case 46: + return 47; + case 47: + return 5; + case 48: + return 'INVALID'; + } + }, + rules: [ + /^(?:%%\{)/i, + /^(?:((?:(?!\}%%)[^:.])*))/i, + /^(?::)/i, + /^(?:\}%%)/i, + /^(?:((?:(?!\}%%).|\n)*))/i, + /^(?:[\n]+)/i, + /^(?:\s+)/i, + /^(?:((?!\n)\s)+)/i, + /^(?:#[^\n]*)/i, + /^(?:%(?!\{)[^\n]*)/i, + /^(?:[^\}]%%[^\n]*)/i, + /^(?:participant\b)/i, + /^(?:[^\->:\n,;]+?(?=((?!\n)\s)+as(?!\n)\s|[#\n;]|$))/i, + /^(?:as\b)/i, + /^(?:(?:))/i, + /^(?:loop\b)/i, + /^(?:rect\b)/i, + /^(?:opt\b)/i, + /^(?:alt\b)/i, + /^(?:else\b)/i, + /^(?:par\b)/i, + /^(?:and\b)/i, + /^(?:(?:[:]?(?:no)?wrap)?[^#\n;]*)/i, + /^(?:end\b)/i, + /^(?:left of\b)/i, + /^(?:right of\b)/i, + /^(?:over\b)/i, + /^(?:note\b)/i, + /^(?:activate\b)/i, + /^(?:deactivate\b)/i, + /^(?:title\b)/i, + /^(?:sequenceDiagram\b)/i, + /^(?:autonumber\b)/i, + /^(?:,)/i, + /^(?:;)/i, + /^(?:[^\+\->:\n,;]+((?!(-x|--x|-\)|--\)))[\-]*[^\+\->:\n,;]+)*)/i, + /^(?:->>)/i, + /^(?:-->>)/i, + /^(?:->)/i, + /^(?:-->)/i, + /^(?:-[x])/i, + /^(?:--[x])/i, + /^(?:-[\)])/i, + /^(?:--[\)])/i, + /^(?::(?:(?:no)?wrap)?[^#\n;]+)/i, + /^(?:\+)/i, + /^(?:-)/i, + /^(?:$)/i, + /^(?:.)/i, + ], + conditions: { + open_directive: { rules: [1, 8], inclusive: !1 }, + type_directive: { rules: [2, 3, 8], inclusive: !1 }, + arg_directive: { rules: [3, 4, 8], inclusive: !1 }, + ID: { rules: [7, 8, 12], inclusive: !1 }, + ALIAS: { rules: [7, 8, 13, 14], inclusive: !1 }, + LINE: { rules: [7, 8, 22], inclusive: !1 }, + INITIAL: { + rules: [ + 0, + 5, + 6, + 8, + 9, + 10, + 11, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + ], + inclusive: !0, + }, + }, + }; + function E() { + this.yy = {}; + } + return ( + (D.lexer = N), (E.prototype = D), (D.Parser = E), new E() + ); + })(); + (t.parser = r), + (t.Parser = r.Parser), + (t.parse = function () { + return r.parse.apply(r, arguments); + }), + (t.main = function (n) { + n[1] || + (console.log('Usage: ' + n[0] + ' FILE'), e.exit(1)); + var r = i( + './node_modules/node-libs-browser/mock/empty.js' + ).readFileSync( + i('./node_modules/path-browserify/index.js').normalize( + n[1] + ), + 'utf8' + ); + return t.parser.parse(r); + }), + i.c[i.s] === n && t.main(e.argv.slice(1)); + }.call( + this, + i('./node_modules/process/browser.js'), + i('./node_modules/webpack/buildin/module.js')(e) + )); + }, + './src/diagrams/sequence/sequenceDb.js': function (e, t, i) { + 'use strict'; + i.r(t), + i.d(t, 'parseDirective', function () { + return f; + }), + i.d(t, 'addActor', function () { + return p; + }), + i.d(t, 'addMessage', function () { + return _; + }), + i.d(t, 'addSignal', function () { + return b; + }), + i.d(t, 'getMessages', function () { + return v; + }), + i.d(t, 'getActors', function () { + return y; + }), + i.d(t, 'getActor', function () { + return w; + }), + i.d(t, 'getActorKeys', function () { + return C; + }), + i.d(t, 'getTitle', function () { + return S; + }), + i.d(t, 'getTitleWrapped', function () { + return k; + }), + i.d(t, 'enableSequenceNumbers', function () { + return x; + }), + i.d(t, 'showSequenceNumbers', function () { + return L; + }), + i.d(t, 'setWrap', function () { + return M; + }), + i.d(t, 'autoWrap', function () { + return D; + }), + i.d(t, 'clear', function () { + return N; + }), + i.d(t, 'parseMessage', function () { + return E; + }), + i.d(t, 'LINETYPE', function () { + return T; + }), + i.d(t, 'ARROWTYPE', function () { + return I; + }), + i.d(t, 'PLACEMENT', function () { + return O; + }), + i.d(t, 'addNote', function () { + return A; + }), + i.d(t, 'setTitle', function () { + return R; + }), + i.d(t, 'apply', function () { + return P; + }); + var n = i('./src/mermaidAPI.js'), + r = i('./src/config.js'), + s = i('./src/logger.js'), + o = void 0, + a = {}, + l = [], + c = [], + d = '', + h = !1, + u = !1, + g = !1, + f = function (e, t, i) { + n.default.parseDirective(this, e, t, i); + }, + p = function (e, t, i) { + var n = a[e]; + (n && t === n.name && null == i) || + ((null != i && null != i.text) || + (i = { text: t, wrap: null }), + (a[e] = { + name: t, + description: i.text, + wrap: (void 0 === i.wrap && D()) || !!i.wrap, + prevActor: o, + }), + o && a[o] && (a[o].nextActor = e), + (o = e)); + }, + m = function (e) { + var t, + i = 0; + for (t = 0; t < l.length; t++) + l[t].type === T.ACTIVE_START && + l[t].from.actor === e && + i++, + l[t].type === T.ACTIVE_END && + l[t].from.actor === e && + i--; + return i; + }, + _ = function (e, t, i, n) { + l.push({ + from: e, + to: t, + message: i.text, + wrap: (void 0 === i.wrap && D()) || !!i.wrap, + answer: n, + }); + }, + b = function (e, t) { + var i = + arguments.length > 2 && void 0 !== arguments[2] + ? arguments[2] + : { text: void 0, wrap: void 0 }, + n = arguments.length > 3 ? arguments[3] : void 0; + if (n === T.ACTIVE_END) { + var r = m(e.actor); + if (r < 1) { + var s = new Error( + 'Trying to inactivate an inactive participant (' + + e.actor + + ')' + ); + throw ( + ((s.hash = { + text: '->>-', + token: '->>-', + line: '1', + loc: { + first_line: 1, + last_line: 1, + first_column: 1, + last_column: 1, + }, + expected: ["'ACTIVE_PARTICIPANT'"], + }), + s) + ); + } + } + return ( + l.push({ + from: e, + to: t, + message: i.text, + wrap: (void 0 === i.wrap && D()) || !!i.wrap, + type: n, + }), + !0 + ); + }, + v = function () { + return l; + }, + y = function () { + return a; + }, + w = function (e) { + return a[e]; + }, + C = function () { + return Object.keys(a); + }, + S = function () { + return d; + }, + k = function () { + return h; + }, + x = function () { + u = !0; + }, + L = function () { + return u; + }, + M = function (e) { + g = e; + }, + D = function () { + return g; + }, + N = function () { + (a = {}), (l = []); + }, + E = function (e) { + var t = e.trim(), + i = { + text: t.replace(/^[:]?(?:no)?wrap:/, '').trim(), + wrap: + null !== t.match(/^[:]?wrap:/) || + (null === t.match(/^[:]?nowrap:/) && void 0), + }; + return s.log.debug('parseMessage:', i), i; + }, + T = { + 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, + }, + I = { FILLED: 0, OPEN: 1 }, + O = { LEFTOF: 0, RIGHTOF: 1, OVER: 2 }, + A = function (e, t, i) { + var n = { + actor: e, + placement: t, + message: i.text, + wrap: (void 0 === i.wrap && D()) || !!i.wrap, + }, + r = [].concat(e, e); + c.push(n), + l.push({ + from: r[0], + to: r[1], + message: i.text, + wrap: (void 0 === i.wrap && D()) || !!i.wrap, + type: T.NOTE, + placement: t, + }); + }, + R = function (e) { + (d = e.text), (h = (void 0 === e.wrap && D()) || !!e.wrap); + }, + P = function e(t) { + if (t instanceof Array) + t.forEach(function (t) { + e(t); + }); + else + switch (t.type) { + case 'addActor': + p(t.actor, t.actor, t.description); + break; + case 'activeStart': + case 'activeEnd': + b(t.actor, void 0, void 0, t.signalType); + break; + case 'addNote': + A(t.actor, t.placement, t.text); + break; + case 'addMessage': + b(t.from, t.to, t.msg, t.signalType); + break; + case 'loopStart': + b(void 0, void 0, t.loopText, t.signalType); + break; + case 'loopEnd': + b(void 0, void 0, void 0, t.signalType); + break; + case 'rectStart': + b(void 0, void 0, t.color, t.signalType); + break; + case 'rectEnd': + b(void 0, void 0, void 0, t.signalType); + break; + case 'optStart': + b(void 0, void 0, t.optText, t.signalType); + break; + case 'optEnd': + b(void 0, void 0, void 0, t.signalType); + break; + case 'altStart': + case 'else': + b(void 0, void 0, t.altText, t.signalType); + break; + case 'altEnd': + b(void 0, void 0, void 0, t.signalType); + break; + case 'setTitle': + R(t.text); + break; + case 'parStart': + case 'and': + b(void 0, void 0, t.parText, t.signalType); + break; + case 'parEnd': + b(void 0, void 0, void 0, t.signalType); + } + }; + t.default = { + addActor: p, + addMessage: _, + addSignal: b, + autoWrap: D, + setWrap: M, + enableSequenceNumbers: x, + showSequenceNumbers: L, + getMessages: v, + getActors: y, + getActor: w, + getActorKeys: C, + getTitle: S, + parseDirective: f, + getConfig: function () { + return r.getConfig().sequence; + }, + getTitleWrapped: k, + clear: N, + parseMessage: E, + LINETYPE: T, + ARROWTYPE: I, + PLACEMENT: O, + addNote: A, + setTitle: R, + apply: P, + }; + }, + './src/diagrams/sequence/sequenceRenderer.js': function ( + e, + t, + i + ) { + 'use strict'; + i.r(t), + i.d(t, 'bounds', function () { + return u; + }), + i.d(t, 'drawActors', function () { + return m; + }), + i.d(t, 'setConf', function () { + return _; + }), + i.d(t, 'draw', function () { + return w; + }); + var n = i('d3'), + r = i('./src/diagrams/sequence/svgDraw.js'), + s = i('./src/logger.js'), + o = i('./src/diagrams/sequence/parser/sequenceDiagram.jison'), + a = i('./src/diagrams/common/common.js'), + l = i('./src/diagrams/sequence/sequenceDb.js'), + c = i('./src/config.js'), + d = i('./src/utils.js'); + o.parser.yy = l.default; + var h = {}, + u = { + data: { + startx: void 0, + stopx: void 0, + starty: void 0, + stopy: void 0, + }, + verticalPos: 0, + sequenceItems: [], + activations: [], + models: { + getHeight: function () { + return ( + Math.max.apply( + null, + 0 === this.actors.length + ? [0] + : this.actors.map(function (e) { + return e.height || 0; + }) + ) + + (0 === this.loops.length + ? 0 + : this.loops + .map(function (e) { + return e.height || 0; + }) + .reduce(function (e, t) { + return e + t; + })) + + (0 === this.messages.length + ? 0 + : this.messages + .map(function (e) { + return e.height || 0; + }) + .reduce(function (e, t) { + return e + t; + })) + + (0 === this.notes.length + ? 0 + : this.notes + .map(function (e) { + return e.height || 0; + }) + .reduce(function (e, t) { + return e + t; + })) + ); + }, + clear: function () { + (this.actors = []), + (this.loops = []), + (this.messages = []), + (this.notes = []); + }, + addActor: function (e) { + this.actors.push(e); + }, + addLoop: function (e) { + this.loops.push(e); + }, + addMessage: function (e) { + this.messages.push(e); + }, + addNote: function (e) { + this.notes.push(e); + }, + lastActor: function () { + return this.actors[this.actors.length - 1]; + }, + lastLoop: function () { + return this.loops[this.loops.length - 1]; + }, + lastMessage: function () { + return this.messages[this.messages.length - 1]; + }, + lastNote: function () { + return this.notes[this.notes.length - 1]; + }, + actors: [], + loops: [], + messages: [], + notes: [], + }, + init: 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), + _(o.parser.yy.getConfig()); + }, + updateVal: function (e, t, i, n) { + void 0 === e[t] ? (e[t] = i) : (e[t] = n(i, e[t])); + }, + updateBounds: function (e, t, i, n) { + var r = this, + s = 0; + function o(o) { + return function (a) { + s++; + var l = r.sequenceItems.length - s + 1; + r.updateVal( + a, + 'starty', + t - l * h.boxMargin, + Math.min + ), + r.updateVal( + a, + 'stopy', + n + l * h.boxMargin, + Math.max + ), + r.updateVal( + u.data, + 'startx', + e - l * h.boxMargin, + Math.min + ), + r.updateVal( + u.data, + 'stopx', + i + l * h.boxMargin, + Math.max + ), + 'activation' !== o && + (r.updateVal( + a, + 'startx', + e - l * h.boxMargin, + Math.min + ), + r.updateVal( + a, + 'stopx', + i + l * h.boxMargin, + Math.max + ), + r.updateVal( + u.data, + 'starty', + t - l * h.boxMargin, + Math.min + ), + r.updateVal( + u.data, + 'stopy', + n + l * h.boxMargin, + Math.max + )); + }; + } + this.sequenceItems.forEach(o()), + this.activations.forEach(o('activation')); + }, + insert: function (e, t, i, n) { + var r = Math.min(e, i), + s = Math.max(e, i), + o = Math.min(t, n), + a = Math.max(t, n); + this.updateVal(u.data, 'startx', r, Math.min), + this.updateVal(u.data, 'starty', o, Math.min), + this.updateVal(u.data, 'stopx', s, Math.max), + this.updateVal(u.data, 'stopy', a, Math.max), + this.updateBounds(r, o, s, a); + }, + newActivation: function (e, t, i) { + var n = i[e.from.actor], + s = b(e.from.actor).length || 0, + o = + n.x + n.width / 2 + ((s - 1) * h.activationWidth) / 2; + this.activations.push({ + startx: o, + starty: this.verticalPos + 2, + stopx: o + h.activationWidth, + stopy: void 0, + actor: e.from.actor, + anchored: r.default.anchorElement(t), + }); + }, + endActivation: function (e) { + var t = this.activations + .map(function (e) { + return e.actor; + }) + .lastIndexOf(e.from.actor); + return this.activations.splice(t, 1)[0]; + }, + createLoop: function () { + var e = + arguments.length > 0 && void 0 !== arguments[0] + ? arguments[0] + : { message: void 0, wrap: !1, width: void 0 }, + t = arguments.length > 1 ? arguments[1] : void 0; + 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, + }; + }, + newLoop: function () { + var e = + arguments.length > 0 && void 0 !== arguments[0] + ? arguments[0] + : { message: void 0, wrap: !1, width: void 0 }, + t = arguments.length > 1 ? arguments[1] : void 0; + this.sequenceItems.push(this.createLoop(e, t)); + }, + endLoop: function () { + return this.sequenceItems.pop(); + }, + addSectionToLoop: function (e) { + var t = this.sequenceItems.pop(); + (t.sections = t.sections || []), + (t.sectionTitles = t.sectionTitles || []), + t.sections.push({ y: u.getVerticalPos(), height: 0 }), + t.sectionTitles.push(e), + this.sequenceItems.push(t); + }, + bumpVerticalPos: function (e) { + (this.verticalPos = this.verticalPos + e), + (this.data.stopy = this.verticalPos); + }, + getVerticalPos: function () { + return this.verticalPos; + }, + getBounds: function () { + return { bounds: this.data, models: this.models }; + }, + }, + g = function (e) { + return { + fontFamily: e.messageFontFamily, + fontSize: e.messageFontSize, + fontWeight: e.messageFontWeight, + }; + }, + f = function (e) { + return { + fontFamily: e.noteFontFamily, + fontSize: e.noteFontSize, + fontWeight: e.noteFontWeight, + }; + }, + p = function (e) { + return { + fontFamily: e.actorFontFamily, + fontSize: e.actorFontSize, + fontWeight: e.actorFontWeight, + }; + }, + m = function (e, t, i, n) { + for (var s = 0, o = 0, a = 0; a < i.length; a++) { + var l = t[i[a]]; + (l.width = l.width || h.width), + (l.height = Math.max(l.height || h.height, h.height)), + (l.margin = l.margin || h.actorMargin), + (l.x = s + o), + (l.y = n), + r.default.drawActor(e, l, h), + u.insert(l.x, n, l.x + l.width, l.height), + (s += l.width), + (o += l.margin), + u.models.addActor(l); + } + u.bumpVerticalPos(h.height); + }, + _ = function (e) { + Object(d.assignWithDepth)(h, e), + e.fontFamily && + (h.actorFontFamily = h.noteFontFamily = h.messageFontFamily = + e.fontFamily), + e.fontSize && + (h.actorFontSize = h.noteFontSize = h.messageFontSize = + e.fontSize), + e.fontWeight && + (h.actorFontWeight = h.noteFontWeight = h.messageFontWeight = + e.fontWeight); + }, + b = function (e) { + return u.activations.filter(function (t) { + return t.actor === e; + }); + }, + v = function (e, t) { + var i = t[e], + n = b(e); + return [ + n.reduce(function (e, t) { + return Math.min(e, t.startx); + }, i.x + i.width / 2), + n.reduce(function (e, t) { + return Math.max(e, t.stopx); + }, i.x + i.width / 2), + ]; + }; + function y(e, t, i, n, r) { + u.bumpVerticalPos(i); + var o = n; + if (t.id && t.message && e[t.id]) { + var a = e[t.id].width, + l = g(h); + (t.message = d.default.wrapLabel( + '['.concat(t.message, ']'), + a - 2 * h.wrapPadding, + l + )), + (t.width = a), + (t.wrap = !0); + var c = d.default.calculateTextDimensions(t.message, l), + f = Math.max(c.height, h.labelBoxHeight); + (o = n + f), + s.log.debug(''.concat(f, ' - ').concat(t.message)); + } + r(t), u.bumpVerticalPos(o); + } + var w = function (e, t) { + (h = c.getConfig().sequence), + o.parser.yy.clear(), + o.parser.yy.setWrap(h.wrap), + o.parser.parse(e + '\n'), + u.init(), + s.log.debug('C:'.concat(JSON.stringify(h, null, 2))); + var i = Object(n.select)('[id="'.concat(t, '"]')), + f = o.parser.yy.getActors(), + p = o.parser.yy.getActorKeys(), + _ = o.parser.yy.getMessages(), + v = o.parser.yy.getTitle(), + w = C(f, _); + (h.height = S(f, w)), m(i, f, p, 0); + var x = k(_, f, w); + r.default.insertArrowHead(i), + r.default.insertArrowCrossHead(i), + r.default.insertArrowFilledHead(i), + r.default.insertSequenceNumber(i); + var L = 1; + _.forEach(function (e) { + var t, n, c; + switch (e.type) { + case o.parser.yy.LINETYPE.NOTE: + (n = e.noteModel), + (function (e, t) { + u.bumpVerticalPos(h.boxMargin), + (t.height = h.boxMargin), + (t.starty = u.getVerticalPos()); + var i = r.default.getNoteRect(); + (i.x = t.startx), + (i.y = t.starty), + (i.width = t.width || h.width), + (i.class = 'note'); + var n = e.append('g'), + s = r.default.drawRect(n, i), + o = r.default.getTextObj(); + (o.x = t.startx), + (o.y = t.starty), + (o.width = i.width), + (o.dy = '1em'), + (o.text = t.message), + (o.class = 'noteText'), + (o.fontFamily = h.noteFontFamily), + (o.fontSize = h.noteFontSize), + (o.fontWeight = h.noteFontWeight), + (o.anchor = h.noteAlign), + (o.textMargin = h.noteMargin), + (o.valign = h.noteAlign); + var a = Object(r.drawText)(n, o), + l = Math.round( + a + .map(function (e) { + return (e._groups || + e)[0][0].getBBox().height; + }) + .reduce(function (e, t) { + return e + t; + }) + ); + s.attr('height', l + 2 * h.noteMargin), + (t.height += l + 2 * h.noteMargin), + u.bumpVerticalPos(l + 2 * h.noteMargin), + (t.stopy = t.starty + l + 2 * h.noteMargin), + (t.stopx = t.startx + i.width), + u.insert(t.startx, t.starty, t.stopx, t.stopy), + u.models.addNote(t); + })(i, n); + break; + case o.parser.yy.LINETYPE.ACTIVE_START: + u.newActivation(e, i, f); + break; + case o.parser.yy.LINETYPE.ACTIVE_END: + !(function (e, t) { + var n = u.endActivation(e); + n.starty + 18 > t && + ((n.starty = t - 6), (t += 12)), + r.default.drawActivation( + i, + n, + t, + h, + b(e.from.actor).length + ), + u.insert(n.startx, t - 10, n.stopx, t); + })(e, u.getVerticalPos()); + break; + case o.parser.yy.LINETYPE.LOOP_START: + y( + x, + e, + h.boxMargin, + h.boxMargin + h.boxTextMargin, + function (e) { + return u.newLoop(e); + } + ); + break; + case o.parser.yy.LINETYPE.LOOP_END: + (t = u.endLoop()), + r.default.drawLoop(i, t, 'loop', h), + u.bumpVerticalPos(t.stopy - u.getVerticalPos()), + u.models.addLoop(t); + break; + case o.parser.yy.LINETYPE.RECT_START: + y(x, e, h.boxMargin, h.boxMargin, function (e) { + return u.newLoop(void 0, e.message); + }); + break; + case o.parser.yy.LINETYPE.RECT_END: + (t = u.endLoop()), + r.default.drawBackgroundRect(i, t), + u.models.addLoop(t), + u.bumpVerticalPos(t.stopy - u.getVerticalPos()); + break; + case o.parser.yy.LINETYPE.OPT_START: + y( + x, + e, + h.boxMargin, + h.boxMargin + h.boxTextMargin, + function (e) { + return u.newLoop(e); + } + ); + break; + case o.parser.yy.LINETYPE.OPT_END: + (t = u.endLoop()), + r.default.drawLoop(i, t, 'opt', h), + u.bumpVerticalPos(t.stopy - u.getVerticalPos()), + u.models.addLoop(t); + break; + case o.parser.yy.LINETYPE.ALT_START: + y( + x, + e, + h.boxMargin, + h.boxMargin + h.boxTextMargin, + function (e) { + return u.newLoop(e); + } + ); + break; + case o.parser.yy.LINETYPE.ALT_ELSE: + y( + x, + e, + h.boxMargin + h.boxTextMargin, + h.boxMargin, + function (e) { + return u.addSectionToLoop(e); + } + ); + break; + case o.parser.yy.LINETYPE.ALT_END: + (t = u.endLoop()), + r.default.drawLoop(i, t, 'alt', h), + u.bumpVerticalPos(t.stopy - u.getVerticalPos()), + u.models.addLoop(t); + break; + case o.parser.yy.LINETYPE.PAR_START: + y( + x, + e, + h.boxMargin, + h.boxMargin + h.boxTextMargin, + function (e) { + return u.newLoop(e); + } + ); + break; + case o.parser.yy.LINETYPE.PAR_AND: + y( + x, + e, + h.boxMargin + h.boxTextMargin, + h.boxMargin, + function (e) { + return u.addSectionToLoop(e); + } + ); + break; + case o.parser.yy.LINETYPE.PAR_END: + (t = u.endLoop()), + r.default.drawLoop(i, t, 'par', h), + u.bumpVerticalPos(t.stopy - u.getVerticalPos()), + u.models.addLoop(t); + break; + default: + try { + ((c = e.msgModel).starty = u.getVerticalPos()), + (c.sequenceIndex = L), + (function (e, t) { + u.bumpVerticalPos(10); + var i = t.startx, + n = t.stopx, + s = t.starty, + c = t.message, + f = t.type, + p = t.sequenceIndex, + m = a.default.splitBreaks(c).length, + _ = d.default.calculateTextDimensions( + c, + g(h) + ), + b = _.height / m; + (t.height += b), u.bumpVerticalPos(b); + var v = r.default.getTextObj(); + (v.x = i), + (v.y = s + 10), + (v.width = n - i), + (v.class = 'messageText'), + (v.dy = '1em'), + (v.text = c), + (v.fontFamily = h.messageFontFamily), + (v.fontSize = h.messageFontSize), + (v.fontWeight = h.messageFontWeight), + (v.anchor = h.messageAlign), + (v.valign = h.messageAlign), + (v.textMargin = h.wrapPadding), + (v.tspan = !1), + Object(r.drawText)(e, v); + var y, + w, + C = _.height - 10, + S = _.width; + if (i === n) { + (w = u.getVerticalPos() + C), + h.rightAngles + ? (y = e.append('path').attr( + 'd', + 'M ' + .concat(i, ',') + .concat(w, ' H ') + .concat( + i + Math.max(h.width / 2, S / 2), + ' V ' + ) + .concat(w + 25, ' H ') + .concat(i) + )) + : ((C += h.boxMargin), + (w = u.getVerticalPos() + C), + (y = e + .append('path') + .attr( + 'd', + 'M ' + + i + + ',' + + w + + ' C ' + + (i + 60) + + ',' + + (w - 10) + + ' ' + + (i + 60) + + ',' + + (w + 30) + + ' ' + + i + + ',' + + (w + 20) + ))), + (C += 30); + var k = Math.max(S / 2, h.width / 2); + u.insert( + i - k, + u.getVerticalPos() - 10 + C, + n + k, + u.getVerticalPos() + 30 + C + ); + } else + (C += h.boxMargin), + (w = u.getVerticalPos() + C), + (y = e.append('line')).attr('x1', i), + y.attr('y1', w), + y.attr('x2', n), + y.attr('y2', w), + u.insert(i, w - 10, n, w); + f === o.parser.yy.LINETYPE.DOTTED || + f === o.parser.yy.LINETYPE.DOTTED_CROSS || + f === o.parser.yy.LINETYPE.DOTTED_POINT || + f === o.parser.yy.LINETYPE.DOTTED_OPEN + ? (y.style('stroke-dasharray', '3, 3'), + y.attr('class', 'messageLine1')) + : y.attr('class', 'messageLine0'); + var x = ''; + h.arrowMarkerAbsolute && + (x = (x = (x = + window.location.protocol + + '//' + + window.location.host + + window.location.pathname + + window.location.search).replace( + /\(/g, + '\\(' + )).replace(/\)/g, '\\)')), + y.attr('stroke-width', 2), + y.attr('stroke', 'none'), + y.style('fill', 'none'), + (f !== o.parser.yy.LINETYPE.SOLID && + f !== o.parser.yy.LINETYPE.DOTTED) || + y.attr( + 'marker-end', + 'url(' + x + '#arrowhead)' + ), + (f !== o.parser.yy.LINETYPE.SOLID_POINT && + f !== o.parser.yy.LINETYPE.DOTTED_POINT) || + y.attr( + 'marker-end', + 'url(' + x + '#filled-head)' + ), + (f !== o.parser.yy.LINETYPE.SOLID_CROSS && + f !== o.parser.yy.LINETYPE.DOTTED_CROSS) || + y.attr( + 'marker-end', + 'url(' + x + '#crosshead)' + ), + (l.default.showSequenceNumbers() || + h.showSequenceNumbers) && + (y.attr( + 'marker-start', + 'url(' + x + '#sequencenumber)' + ), + e + .append('text') + .attr('x', i) + .attr('y', w + 4) + .attr('font-family', 'sans-serif') + .attr('font-size', '12px') + .attr('text-anchor', 'middle') + .attr('textLength', '16px') + .attr('class', 'sequenceNumber') + .text(p)), + u.bumpVerticalPos(C), + (t.height += C), + (t.stopy = t.starty + t.height), + u.insert( + t.fromBounds, + t.starty, + t.toBounds, + t.stopy + ); + })(i, c), + u.models.addMessage(c); + } catch (e) { + s.log.error('error while drawing message', e); + } + } + [ + o.parser.yy.LINETYPE.SOLID_OPEN, + o.parser.yy.LINETYPE.DOTTED_OPEN, + o.parser.yy.LINETYPE.SOLID, + o.parser.yy.LINETYPE.DOTTED, + o.parser.yy.LINETYPE.SOLID_CROSS, + o.parser.yy.LINETYPE.DOTTED_CROSS, + o.parser.yy.LINETYPE.SOLID_POINT, + o.parser.yy.LINETYPE.DOTTED_POINT, + ].includes(e.type) && L++; + }), + h.mirrorActors && + (u.bumpVerticalPos(2 * h.boxMargin), + m(i, f, p, u.getVerticalPos())); + var M = u.getBounds().bounds; + s.log.debug( + 'For line height fix Querying: #' + t + ' .actor-line' + ), + Object(n.selectAll)('#' + t + ' .actor-line').attr( + 'y2', + M.stopy + ); + var D = M.stopy - M.starty + 2 * h.diagramMarginY; + h.mirrorActors && (D = D - h.boxMargin + h.bottomMarginAdj); + var N = M.stopx - M.startx + 2 * h.diagramMarginX; + v && + i + .append('text') + .text(v) + .attr( + 'x', + (M.stopx - M.startx) / 2 - 2 * h.diagramMarginX + ) + .attr('y', -25), + Object(d.configureSvgSize)(i, D, N, h.useMaxWidth); + var E = v ? 40 : 0; + i.attr( + 'viewBox', + M.startx - + h.diagramMarginX + + ' -' + + (h.diagramMarginY + E) + + ' ' + + N + + ' ' + + (D + E) + ), + s.log.debug('models:', u.models); + }, + C = function (e, t) { + var i = {}; + return ( + t.forEach(function (t) { + if (e[t.to] && e[t.from]) { + var n = e[t.to]; + if ( + t.placement === o.parser.yy.PLACEMENT.LEFTOF && + !n.prevActor + ) + return; + if ( + t.placement === o.parser.yy.PLACEMENT.RIGHTOF && + !n.nextActor + ) + return; + var r = void 0 !== t.placement, + s = !r, + a = r ? f(h) : g(h), + l = t.wrap + ? d.default.wrapLabel( + t.message, + h.width - 2 * h.wrapPadding, + a + ) + : t.message, + c = + d.default.calculateTextDimensions(l, a).width + + 2 * h.wrapPadding; + s && t.from === n.nextActor + ? (i[t.to] = Math.max(i[t.to] || 0, c)) + : s && t.from === n.prevActor + ? (i[t.from] = Math.max(i[t.from] || 0, c)) + : s && t.from === t.to + ? ((i[t.from] = Math.max(i[t.from] || 0, c / 2)), + (i[t.to] = Math.max(i[t.to] || 0, c / 2))) + : t.placement === o.parser.yy.PLACEMENT.RIGHTOF + ? (i[t.from] = Math.max(i[t.from] || 0, c)) + : t.placement === o.parser.yy.PLACEMENT.LEFTOF + ? (i[n.prevActor] = Math.max( + i[n.prevActor] || 0, + c + )) + : t.placement === o.parser.yy.PLACEMENT.OVER && + (n.prevActor && + (i[n.prevActor] = Math.max( + i[n.prevActor] || 0, + c / 2 + )), + n.nextActor && + (i[t.from] = Math.max(i[t.from] || 0, c / 2))); + } + }), + s.log.debug('maxMessageWidthPerActor:', i), + i + ); + }, + S = function (e, t) { + var i = 0; + for (var n in (Object.keys(e).forEach(function (t) { + var n = e[t]; + n.wrap && + (n.description = d.default.wrapLabel( + n.description, + h.width - 2 * h.wrapPadding, + p(h) + )); + var r = d.default.calculateTextDimensions( + n.description, + p(h) + ); + (n.width = n.wrap + ? h.width + : Math.max(h.width, r.width + 2 * h.wrapPadding)), + (n.height = n.wrap + ? Math.max(r.height, h.height) + : h.height), + (i = Math.max(i, n.height)); + }), + t)) { + var r = e[n]; + if (r) { + var s = e[r.nextActor]; + if (s) { + var o = + t[n] + h.actorMargin - r.width / 2 - s.width / 2; + r.margin = Math.max(o, h.actorMargin); + } + } + } + return Math.max(i, h.height); + }, + k = function (e, t) { + var i, + n, + r, + a = {}, + l = []; + return ( + e.forEach(function (e) { + switch ( + ((e.id = d.default.random({ length: 10 })), e.type) + ) { + case o.parser.yy.LINETYPE.LOOP_START: + case o.parser.yy.LINETYPE.ALT_START: + case o.parser.yy.LINETYPE.OPT_START: + case o.parser.yy.LINETYPE.PAR_START: + l.push({ + id: e.id, + msg: e.message, + from: Number.MAX_SAFE_INTEGER, + to: Number.MIN_SAFE_INTEGER, + width: 0, + }); + break; + case o.parser.yy.LINETYPE.ALT_ELSE: + case o.parser.yy.LINETYPE.PAR_AND: + e.message && + ((i = l.pop()), + (a[i.id] = i), + (a[e.id] = i), + l.push(i)); + break; + case o.parser.yy.LINETYPE.LOOP_END: + case o.parser.yy.LINETYPE.ALT_END: + case o.parser.yy.LINETYPE.OPT_END: + case o.parser.yy.LINETYPE.PAR_END: + (i = l.pop()), (a[i.id] = i); + break; + case o.parser.yy.LINETYPE.ACTIVE_START: + var c = t[e.from ? e.from.actor : e.to.actor], + p = b(e.from ? e.from.actor : e.to.actor).length, + m = + c.x + + c.width / 2 + + ((p - 1) * h.activationWidth) / 2, + _ = { + startx: m, + stopx: m + h.activationWidth, + actor: e.from.actor, + enabled: !0, + }; + u.activations.push(_); + break; + case o.parser.yy.LINETYPE.ACTIVE_END: + var y = u.activations + .map(function (e) { + return e.actor; + }) + .lastIndexOf(e.from.actor); + delete u.activations.splice(y, 1)[0]; + } + void 0 !== e.placement + ? ((n = (function (e, t) { + var i = t[e.from].x, + n = t[e.to].x, + r = e.wrap && e.message, + a = d.default.calculateTextDimensions( + r + ? d.default.wrapLabel( + e.message, + h.width, + f(h) + ) + : e.message, + f(h) + ), + l = { + width: r + ? h.width + : Math.max( + h.width, + a.width + 2 * h.noteMargin + ), + height: 0, + startx: t[e.from].x, + stopx: 0, + starty: 0, + stopy: 0, + message: e.message, + }; + return ( + e.placement === o.parser.yy.PLACEMENT.RIGHTOF + ? ((l.width = r + ? Math.max(h.width, a.width) + : Math.max( + t[e.from].width / 2 + + t[e.to].width / 2, + a.width + 2 * h.noteMargin + )), + (l.startx = + i + + (t[e.from].width + h.actorMargin) / 2)) + : e.placement === o.parser.yy.PLACEMENT.LEFTOF + ? ((l.width = r + ? Math.max( + h.width, + a.width + 2 * h.noteMargin + ) + : Math.max( + t[e.from].width / 2 + + t[e.to].width / 2, + a.width + 2 * h.noteMargin + )), + (l.startx = + i - + l.width + + (t[e.from].width - h.actorMargin) / 2)) + : e.to === e.from + ? ((a = d.default.calculateTextDimensions( + r + ? d.default.wrapLabel( + e.message, + Math.max(h.width, t[e.from].width), + f(h) + ) + : e.message, + f(h) + )), + (l.width = r + ? Math.max(h.width, t[e.from].width) + : Math.max( + t[e.from].width, + h.width, + a.width + 2 * h.noteMargin + )), + (l.startx = + i + (t[e.from].width - l.width) / 2)) + : ((l.width = + Math.abs( + i + + t[e.from].width / 2 - + (n + t[e.to].width / 2) + ) + h.actorMargin), + (l.startx = + i < n + ? i + + t[e.from].width / 2 - + h.actorMargin / 2 + : n + + t[e.to].width / 2 - + h.actorMargin / 2)), + r && + (l.message = d.default.wrapLabel( + e.message, + l.width - 2 * h.wrapPadding, + f(h) + )), + s.log.debug( + 'NM:[' + .concat(l.startx, ',') + .concat(l.stopx, ',') + .concat(l.starty, ',') + .concat(l.stopy, ':') + .concat(l.width, ',') + .concat(l.height, '=') + .concat(e.message, ']') + ), + l + ); + })(e, t)), + (e.noteModel = n), + l.forEach(function (e) { + ((i = e).from = Math.min(i.from, n.startx)), + (i.to = Math.max(i.to, n.startx + n.width)), + (i.width = + Math.max(i.width, Math.abs(i.from - i.to)) - + h.labelBoxWidth); + })) + : ((r = (function (e, t) { + var i = !1; + if ( + ([ + o.parser.yy.LINETYPE.SOLID_OPEN, + o.parser.yy.LINETYPE.DOTTED_OPEN, + o.parser.yy.LINETYPE.SOLID, + o.parser.yy.LINETYPE.DOTTED, + o.parser.yy.LINETYPE.SOLID_CROSS, + o.parser.yy.LINETYPE.DOTTED_CROSS, + o.parser.yy.LINETYPE.SOLID_POINT, + o.parser.yy.LINETYPE.DOTTED_POINT, + ].includes(e.type) && (i = !0), + !i) + ) + return {}; + var n = v(e.from, t), + r = v(e.to, t), + s = n[0] <= r[0] ? 1 : 0, + a = n[0] < r[0] ? 0 : 1, + l = n.concat(r), + c = Math.abs(r[a] - n[s]); + e.wrap && + e.message && + (e.message = d.default.wrapLabel( + e.message, + Math.max(c + 2 * h.wrapPadding, h.width), + g(h) + )); + var u = d.default.calculateTextDimensions( + e.message, + g(h) + ); + return { + width: Math.max( + e.wrap ? 0 : u.width + 2 * h.wrapPadding, + c + 2 * h.wrapPadding, + h.width + ), + height: 0, + startx: n[s], + stopx: r[a], + starty: 0, + stopy: 0, + message: e.message, + type: e.type, + wrap: e.wrap, + fromBounds: Math.min.apply(null, l), + toBounds: Math.max.apply(null, l), + }; + })(e, t)), + (e.msgModel = r), + r.startx && + r.stopx && + l.length > 0 && + l.forEach(function (n) { + if (((i = n), r.startx === r.stopx)) { + var s = t[e.from], + o = t[e.to]; + (i.from = Math.min( + s.x - r.width / 2, + s.x - s.width / 2, + i.from + )), + (i.to = Math.max( + o.x + r.width / 2, + o.x + s.width / 2, + i.to + )), + (i.width = + Math.max( + i.width, + Math.abs(i.to - i.from) + ) - h.labelBoxWidth); + } else (i.from = Math.min(r.startx, i.from)), (i.to = Math.max(r.stopx, i.to)), (i.width = Math.max(i.width, r.width) - h.labelBoxWidth); + })); + }), + (u.activations = []), + s.log.debug('Loop type widths:', a), + a + ); + }; + t.default = { bounds: u, drawActors: m, setConf: _, draw: w }; + }, + './src/diagrams/sequence/styles.js': function (e, t, i) { + 'use strict'; + i.r(t), + (t.default = function (e) { + return '.actor {\n stroke: ' + .concat(e.actorBorder, ';\n fill: ') + .concat( + e.actorBkg, + ';\n }\n\n text.actor > tspan {\n fill: ' + ) + .concat( + e.actorTextColor, + ';\n stroke: none;\n }\n\n .actor-line {\n stroke: ' + ) + .concat( + e.actorLineColor, + ';\n }\n\n .messageLine0 {\n stroke-width: 1.5;\n stroke-dasharray: none;\n stroke: ' + ) + .concat( + e.signalColor, + ';\n }\n\n .messageLine1 {\n stroke-width: 1.5;\n stroke-dasharray: 2, 2;\n stroke: ' + ) + .concat( + e.signalColor, + ';\n }\n\n #arrowhead path {\n fill: ' + ) + .concat(e.signalColor, ';\n stroke: ') + .concat( + e.signalColor, + ';\n }\n\n .sequenceNumber {\n fill: ' + ) + .concat( + e.sequenceNumberColor, + ';\n }\n\n #sequencenumber {\n fill: ' + ) + .concat( + e.signalColor, + ';\n }\n\n #crosshead path {\n fill: ' + ) + .concat(e.signalColor, ';\n stroke: ') + .concat( + e.signalColor, + ';\n }\n\n .messageText {\n fill: ' + ) + .concat(e.signalTextColor, ';\n stroke: ') + .concat( + e.signalTextColor, + ';\n }\n\n .labelBox {\n stroke: ' + ) + .concat(e.labelBoxBorderColor, ';\n fill: ') + .concat( + e.labelBoxBkgColor, + ';\n }\n\n .labelText, .labelText > tspan {\n fill: ' + ) + .concat( + e.labelTextColor, + ';\n stroke: none;\n }\n\n .loopText, .loopText > tspan {\n fill: ' + ) + .concat( + e.loopTextColor, + ';\n stroke: none;\n }\n\n .loopLine {\n stroke-width: 2px;\n stroke-dasharray: 2, 2;\n stroke: ' + ) + .concat(e.labelBoxBorderColor, ';\n fill: ') + .concat( + e.labelBoxBorderColor, + ';\n }\n\n .note {\n //stroke: #decc93;\n stroke: ' + ) + .concat(e.noteBorderColor, ';\n fill: ') + .concat( + e.noteBkgColor, + ';\n }\n\n .noteText, .noteText > tspan {\n fill: ' + ) + .concat( + e.noteTextColor, + ';\n stroke: none;\n }\n\n .activation0 {\n fill: ' + ) + .concat(e.activationBkgColor, ';\n stroke: ') + .concat( + e.activationBorderColor, + ';\n }\n\n .activation1 {\n fill: ' + ) + .concat(e.activationBkgColor, ';\n stroke: ') + .concat( + e.activationBorderColor, + ';\n }\n\n .activation2 {\n fill: ' + ) + .concat(e.activationBkgColor, ';\n stroke: ') + .concat(e.activationBorderColor, ';\n }\n'); + }); + }, + './src/diagrams/sequence/svgDraw.js': function (e, t, i) { + 'use strict'; + i.r(t), + i.d(t, 'drawRect', function () { + return r; + }), + i.d(t, 'drawText', function () { + return s; + }), + i.d(t, 'drawLabel', function () { + return o; + }), + i.d(t, 'drawActor', function () { + return l; + }), + i.d(t, 'anchorElement', function () { + return c; + }), + i.d(t, 'drawActivation', function () { + return d; + }), + i.d(t, 'drawLoop', function () { + return h; + }), + i.d(t, 'drawBackgroundRect', function () { + return u; + }), + i.d(t, 'insertArrowHead', function () { + return g; + }), + i.d(t, 'insertArrowFilledHead', function () { + return f; + }), + i.d(t, 'insertSequenceNumber', function () { + return p; + }), + i.d(t, 'insertArrowCrossHead', function () { + return m; + }), + i.d(t, 'getTextObj', function () { + return _; + }), + i.d(t, 'getNoteRect', function () { + return b; + }); + var n = i('./src/diagrams/common/common.js'), + r = function (e, t) { + var i = e.append('rect'); + return ( + i.attr('x', t.x), + i.attr('y', t.y), + i.attr('fill', t.fill), + i.attr('stroke', t.stroke), + i.attr('width', t.width), + i.attr('height', t.height), + i.attr('rx', t.rx), + i.attr('ry', t.ry), + void 0 !== t.class && i.attr('class', t.class), + i + ); + }, + s = function (e, t) { + var i = 0, + r = 0, + s = t.text.split(n.default.lineBreakRegex), + o = [], + a = 0, + l = function () { + return t.y; + }; + if ( + void 0 !== t.valign && + void 0 !== t.textMargin && + t.textMargin > 0 + ) + switch (t.valign) { + case 'top': + case 'start': + l = function () { + return Math.round(t.y + t.textMargin); + }; + break; + case 'middle': + case 'center': + l = function () { + return Math.round(t.y + (i + r + t.textMargin) / 2); + }; + break; + case 'bottom': + case 'end': + l = function () { + return Math.round( + t.y + (i + r + 2 * t.textMargin) - t.textMargin + ); + }; + } + if ( + void 0 !== t.anchor && + void 0 !== t.textMargin && + void 0 !== t.width + ) + switch (t.anchor) { + case 'left': + case 'start': + (t.x = Math.round(t.x + t.textMargin)), + (t.anchor = 'start'), + (t.dominantBaseline = 'text-after-edge'), + (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 = 'text-before-edge'), + (t.alignmentBaseline = 'middle'); + } + for (var c = 0; c < s.length; c++) { + var d = s[c]; + void 0 !== t.textMargin && + 0 === t.textMargin && + void 0 !== t.fontSize && + (a = c * t.fontSize); + var h = e.append('text'); + if ( + (h.attr('x', t.x), + h.attr('y', l()), + void 0 !== t.anchor && + h + .attr('text-anchor', t.anchor) + .attr('dominant-baseline', t.dominantBaseline) + .attr('alignment-baseline', t.alignmentBaseline), + void 0 !== t.fontFamily && + h.style('font-family', t.fontFamily), + void 0 !== t.fontSize && + h.style('font-size', t.fontSize), + void 0 !== t.fontWeight && + h.style('font-weight', t.fontWeight), + void 0 !== t.fill && h.attr('fill', t.fill), + void 0 !== t.class && h.attr('class', t.class), + void 0 !== t.dy + ? h.attr('dy', t.dy) + : 0 !== a && h.attr('dy', a), + t.tspan) + ) { + var u = h.append('tspan'); + u.attr('x', t.x), + void 0 !== t.fill && u.attr('fill', t.fill), + u.text(d); + } else h.text(d); + void 0 !== t.valign && + void 0 !== t.textMargin && + t.textMargin > 0 && + ((r += (h._groups || h)[0][0].getBBox().height), + (i = r)), + o.push(h); + } + return o; + }, + o = function (e, t) { + var i, + n, + r, + o, + a = e.append('polygon'); + return ( + a.attr( + 'points', + (i = t.x) + + ',' + + (n = t.y) + + ' ' + + (i + (r = t.width)) + + ',' + + n + + ' ' + + (i + r) + + ',' + + (n + (o = t.height) - 7) + + ' ' + + (i + r - 8.4) + + ',' + + (n + o) + + ' ' + + i + + ',' + + (n + o) + ), + a.attr('class', 'labelBox'), + (t.y = t.y + t.height / 2), + s(e, t), + a + ); + }, + a = -1, + l = function (e, t, i) { + var n = t.x + t.width / 2, + s = e.append('g'); + 0 === t.y && + (a++, + s + .append('line') + .attr('id', 'actor' + a) + .attr('x1', n) + .attr('y1', 5) + .attr('x2', n) + .attr('y2', 2e3) + .attr('class', 'actor-line') + .attr('stroke-width', '0.5px') + .attr('stroke', '#999')); + var o = b(); + (o.x = t.x), + (o.y = t.y), + (o.fill = '#eaeaea'), + (o.width = t.width), + (o.height = t.height), + (o.class = 'actor'), + (o.rx = 3), + (o.ry = 3), + r(s, o), + v(i)( + t.description, + s, + o.x, + o.y, + o.width, + o.height, + { class: 'actor' }, + i + ); + }, + c = function (e) { + return e.append('g'); + }, + d = function (e, t, i, n, s) { + var o = b(), + a = t.anchored; + (o.x = t.startx), + (o.y = t.starty), + (o.class = 'activation' + (s % 3)), + (o.width = t.stopx - t.startx), + (o.height = i - t.starty), + r(a, o); + }, + h = function (e, t, i, n) { + var r = n.boxMargin, + a = n.boxTextMargin, + l = n.labelBoxHeight, + c = n.labelBoxWidth, + d = n.messageFontFamily, + h = n.messageFontSize, + u = n.messageFontWeight, + g = e.append('g'), + f = function (e, t, i, n) { + return g + .append('line') + .attr('x1', e) + .attr('y1', t) + .attr('x2', i) + .attr('y2', n) + .attr('class', 'loopLine'); + }; + f(t.startx, t.starty, t.stopx, t.starty), + f(t.stopx, t.starty, t.stopx, t.stopy), + f(t.startx, t.stopy, t.stopx, t.stopy), + f(t.startx, t.starty, t.startx, t.stopy), + void 0 !== t.sections && + t.sections.forEach(function (e) { + f(t.startx, e.y, t.stopx, e.y).style( + 'stroke-dasharray', + '3, 3' + ); + }); + var p = _(); + (p.text = i), + (p.x = t.startx), + (p.y = t.starty), + (p.fontFamily = d), + (p.fontSize = h), + (p.fontWeight = u), + (p.anchor = 'middle'), + (p.valign = 'middle'), + (p.tspan = !1), + (p.width = c || 50), + (p.height = l || 20), + (p.textMargin = a), + (p.class = 'labelText'), + o(g, p), + ((p = _()).text = t.title), + (p.x = t.startx + c / 2 + (t.stopx - t.startx) / 2), + (p.y = t.starty + r + a), + (p.anchor = 'middle'), + (p.valign = 'middle'), + (p.textMargin = a), + (p.class = 'loopText'), + (p.fontFamily = d), + (p.fontSize = h), + (p.fontWeight = u), + (p.wrap = !0); + var m = s(g, p); + return ( + void 0 !== t.sectionTitles && + t.sectionTitles.forEach(function (e, i) { + if (e.message) { + (p.text = e.message), + (p.x = t.startx + (t.stopx - t.startx) / 2), + (p.y = t.sections[i].y + r + a), + (p.class = 'loopText'), + (p.anchor = 'middle'), + (p.valign = 'middle'), + (p.tspan = !1), + (p.fontFamily = d), + (p.fontSize = h), + (p.fontWeight = u), + (p.wrap = t.wrap), + (m = s(g, p)); + var n = Math.round( + m + .map(function (e) { + return (e._groups || + e)[0][0].getBBox().height; + }) + .reduce(function (e, t) { + return e + t; + }) + ); + t.sections[i].height += n - (r + a); + } + }), + (t.height = Math.round(t.stopy - t.starty)), + g + ); + }, + u = function (e, t) { + r(e, { + x: t.startx, + y: t.starty, + width: t.stopx - t.startx, + height: t.stopy - t.starty, + fill: t.fill, + class: 'rect', + }).lower(); + }, + g = function (e) { + e.append('defs') + .append('marker') + .attr('id', 'arrowhead') + .attr('refX', 9) + .attr('refY', 5) + .attr('markerUnits', 'userSpaceOnUse') + .attr('markerWidth', 12) + .attr('markerHeight', 12) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 0 0 L 10 5 L 0 10 z'); + }, + f = function (e) { + e.append('defs') + .append('marker') + .attr('id', 'filled-head') + .attr('refX', 18) + .attr('refY', 7) + .attr('markerWidth', 20) + .attr('markerHeight', 28) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 18,7 L9,13 L14,7 L9,1 Z'); + }, + p = function (e) { + e.append('defs') + .append('marker') + .attr('id', 'sequencenumber') + .attr('refX', 15) + .attr('refY', 15) + .attr('markerWidth', 60) + .attr('markerHeight', 40) + .attr('orient', 'auto') + .append('circle') + .attr('cx', 15) + .attr('cy', 15) + .attr('r', 6); + }, + m = function (e) { + var t = e + .append('defs') + .append('marker') + .attr('id', 'crosshead') + .attr('markerWidth', 15) + .attr('markerHeight', 8) + .attr('orient', 'auto') + .attr('refX', 16) + .attr('refY', 4); + t + .append('path') + .attr('fill', 'black') + .attr('stroke', '#000000') + .style('stroke-dasharray', '0, 0') + .attr('stroke-width', '1px') + .attr('d', 'M 9,2 V 6 L16,4 Z'), + t + .append('path') + .attr('fill', 'none') + .attr('stroke', '#000000') + .style('stroke-dasharray', '0, 0') + .attr('stroke-width', '1px') + .attr('d', 'M 0,1 L 6,7 M 6,1 L 0,7'); + }, + _ = 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, + }; + }, + b = function () { + return { + x: 0, + y: 0, + fill: '#EDF2AE', + stroke: '#666', + width: 100, + anchor: 'start', + height: 100, + rx: 0, + ry: 0, + }; + }, + v = (function () { + function e(e, t, i, n, s, o, a) { + r( + t + .append('text') + .attr('x', i + s / 2) + .attr('y', n + o / 2 + 5) + .style('text-anchor', 'middle') + .text(e), + a + ); + } + function t(e, t, i, s, o, a, l, c) { + for ( + var d = c.actorFontSize, + h = c.actorFontFamily, + u = c.actorFontWeight, + g = e.split(n.default.lineBreakRegex), + f = 0; + f < g.length; + f++ + ) { + var p = f * d - (d * (g.length - 1)) / 2, + m = t + .append('text') + .attr('x', i + o / 2) + .attr('y', s) + .style('text-anchor', 'middle') + .style('font-size', d) + .style('font-weight', u) + .style('font-family', h); + m + .append('tspan') + .attr('x', i + o / 2) + .attr('dy', p) + .text(g[f]), + m + .attr('y', s + a / 2) + .attr('dominant-baseline', 'central') + .attr('alignment-baseline', 'central'), + r(m, l); + } + } + function i(e, i, n, s, o, a, l, c) { + var d = i.append('switch'), + h = d + .append('foreignObject') + .attr('x', n) + .attr('y', s) + .attr('width', o) + .attr('height', a) + .append('div') + .style('display', 'table') + .style('height', '100%') + .style('width', '100%'); + h + .append('div') + .style('display', 'table-cell') + .style('text-align', 'center') + .style('vertical-align', 'middle') + .text(e), + t(e, d, n, s, o, a, l, c), + r(h, l); + } + function r(e, t) { + for (var i in t) t.hasOwnProperty(i) && e.attr(i, t[i]); + } + return function (n) { + return 'fo' === n.textPlacement + ? i + : 'old' === n.textPlacement + ? e + : t; + }; + })(); + t.default = { + drawRect: r, + drawText: s, + drawLabel: o, + drawActor: l, + anchorElement: c, + drawActivation: d, + drawLoop: h, + drawBackgroundRect: u, + insertArrowHead: g, + insertArrowFilledHead: f, + insertSequenceNumber: p, + insertArrowCrossHead: m, + getTextObj: _, + getNoteRect: b, + }; + }, + './src/diagrams/state/id-cache.js': function (e, t, i) { + 'use strict'; + i.r(t), + i.d(t, 'set', function () { + return r; + }), + i.d(t, 'get', function () { + return s; + }), + i.d(t, 'keys', function () { + return o; + }), + i.d(t, 'size', function () { + return a; + }); + var n = {}, + r = function (e, t) { + n[e] = t; + }, + s = function (e) { + return n[e]; + }, + o = function () { + return Object.keys(n); + }, + a = function () { + return o().length; + }; + t.default = { get: s, set: r, keys: o, size: a }; + }, + './src/diagrams/state/parser/stateDiagram.jison': function ( + e, + t, + i + ) { + (function (e, n) { + var r = (function () { + var e = function (e, t, i, n) { + for (i = i || {}, n = e.length; n--; i[e[n]] = t); + return i; + }, + t = [1, 2], + i = [1, 3], + n = [1, 5], + r = [1, 7], + s = [2, 5], + o = [1, 15], + a = [1, 17], + l = [1, 19], + c = [1, 20], + d = [1, 21], + h = [1, 22], + u = [1, 28], + g = [1, 23], + f = [1, 24], + p = [1, 25], + m = [1, 26], + _ = [1, 29], + b = [1, 32], + v = [ + 1, + 4, + 5, + 14, + 15, + 17, + 19, + 20, + 22, + 23, + 24, + 25, + 26, + 36, + 39, + ], + y = [ + 1, + 4, + 5, + 12, + 13, + 14, + 15, + 17, + 19, + 20, + 22, + 23, + 24, + 25, + 26, + 36, + 39, + ], + w = [ + 1, + 4, + 5, + 7, + 14, + 15, + 17, + 19, + 20, + 22, + 23, + 24, + 25, + 26, + 36, + 39, + ], + C = [ + 4, + 5, + 14, + 15, + 17, + 19, + 20, + 22, + 23, + 24, + 25, + 26, + 36, + 39, + ], + S = { + trace: function () {}, + yy: {}, + symbols_: { + error: 2, + start: 3, + SPACE: 4, + NL: 5, + directive: 6, + SD: 7, + document: 8, + line: 9, + statement: 10, + idStatement: 11, + DESCR: 12, + '--\x3e': 13, + HIDE_EMPTY: 14, + scale: 15, + WIDTH: 16, + COMPOSIT_STATE: 17, + STRUCT_START: 18, + STRUCT_STOP: 19, + STATE_DESCR: 20, + AS: 21, + ID: 22, + FORK: 23, + JOIN: 24, + CONCURRENT: 25, + note: 26, + notePosition: 27, + NOTE_TEXT: 28, + openDirective: 29, + typeDirective: 30, + closeDirective: 31, + ':': 32, + argDirective: 33, + eol: 34, + ';': 35, + EDGE_STATE: 36, + left_of: 37, + right_of: 38, + open_directive: 39, + type_directive: 40, + arg_directive: 41, + close_directive: 42, + $accept: 0, + $end: 1, + }, + terminals_: { + 2: 'error', + 4: 'SPACE', + 5: 'NL', + 7: 'SD', + 12: 'DESCR', + 13: '--\x3e', + 14: 'HIDE_EMPTY', + 15: 'scale', + 16: 'WIDTH', + 17: 'COMPOSIT_STATE', + 18: 'STRUCT_START', + 19: 'STRUCT_STOP', + 20: 'STATE_DESCR', + 21: 'AS', + 22: 'ID', + 23: 'FORK', + 24: 'JOIN', + 25: 'CONCURRENT', + 26: 'note', + 28: 'NOTE_TEXT', + 32: ':', + 35: ';', + 36: 'EDGE_STATE', + 37: 'left_of', + 38: 'right_of', + 39: 'open_directive', + 40: 'type_directive', + 41: 'arg_directive', + 42: 'close_directive', + }, + productions_: [ + 0, + [3, 2], + [3, 2], + [3, 2], + [3, 2], + [8, 0], + [8, 2], + [9, 2], + [9, 1], + [9, 1], + [10, 1], + [10, 2], + [10, 3], + [10, 4], + [10, 1], + [10, 2], + [10, 1], + [10, 4], + [10, 3], + [10, 6], + [10, 1], + [10, 1], + [10, 1], + [10, 4], + [10, 4], + [10, 1], + [6, 3], + [6, 5], + [34, 1], + [34, 1], + [11, 1], + [11, 1], + [27, 1], + [27, 1], + [29, 1], + [30, 1], + [33, 1], + [31, 1], + ], + performAction: function (e, t, i, n, r, s, o) { + var a = s.length - 1; + switch (r) { + case 4: + return n.setRootDoc(s[a]), s[a]; + case 5: + this.$ = []; + break; + case 6: + 'nl' != s[a] && + (s[a - 1].push(s[a]), (this.$ = s[a - 1])); + break; + case 7: + case 8: + this.$ = s[a]; + break; + case 9: + this.$ = 'nl'; + break; + case 10: + this.$ = { + stmt: 'state', + id: s[a], + type: 'default', + description: '', + }; + break; + case 11: + this.$ = { + stmt: 'state', + id: s[a - 1], + type: 'default', + description: n.trimColon(s[a]), + }; + break; + case 12: + this.$ = { + stmt: 'relation', + state1: { + stmt: 'state', + id: s[a - 2], + type: 'default', + description: '', + }, + state2: { + stmt: 'state', + id: s[a], + type: 'default', + description: '', + }, + }; + break; + case 13: + this.$ = { + stmt: 'relation', + state1: { + stmt: 'state', + id: s[a - 3], + type: 'default', + description: '', + }, + state2: { + stmt: 'state', + id: s[a - 1], + type: 'default', + description: '', + }, + description: s[a].substr(1).trim(), + }; + break; + case 17: + this.$ = { + stmt: 'state', + id: s[a - 3], + type: 'default', + description: '', + doc: s[a - 1], + }; + break; + case 18: + var l = s[a], + c = s[a - 2].trim(); + if (s[a].match(':')) { + var d = s[a].split(':'); + (l = d[0]), (c = [c, d[1]]); + } + this.$ = { + stmt: 'state', + id: l, + type: 'default', + description: c, + }; + break; + case 19: + this.$ = { + stmt: 'state', + id: s[a - 3], + type: 'default', + description: s[a - 5], + doc: s[a - 1], + }; + break; + case 20: + this.$ = { + stmt: 'state', + id: s[a], + type: 'fork', + }; + break; + case 21: + this.$ = { + stmt: 'state', + id: s[a], + type: 'join', + }; + break; + case 22: + this.$ = { + stmt: 'state', + id: n.getDividerId(), + type: 'divider', + }; + break; + case 23: + this.$ = { + stmt: 'state', + id: s[a - 1].trim(), + note: { + position: s[a - 2].trim(), + text: s[a].trim(), + }, + }; + break; + case 30: + case 31: + this.$ = s[a]; + break; + case 34: + n.parseDirective('%%{', 'open_directive'); + break; + case 35: + n.parseDirective(s[a], 'type_directive'); + break; + case 36: + (s[a] = s[a].trim().replace(/'/g, '"')), + n.parseDirective(s[a], 'arg_directive'); + break; + case 37: + n.parseDirective( + '}%%', + 'close_directive', + 'state' + ); + } + }, + table: [ + { 3: 1, 4: t, 5: i, 6: 4, 7: n, 29: 6, 39: r }, + { 1: [3] }, + { 3: 8, 4: t, 5: i, 6: 4, 7: n, 29: 6, 39: r }, + { 3: 9, 4: t, 5: i, 6: 4, 7: n, 29: 6, 39: r }, + { 3: 10, 4: t, 5: i, 6: 4, 7: n, 29: 6, 39: r }, + e( + [ + 1, + 4, + 5, + 14, + 15, + 17, + 20, + 22, + 23, + 24, + 25, + 26, + 36, + 39, + ], + s, + { 8: 11 } + ), + { 30: 12, 40: [1, 13] }, + { 40: [2, 34] }, + { 1: [2, 1] }, + { 1: [2, 2] }, + { 1: [2, 3] }, + { + 1: [2, 4], + 4: o, + 5: a, + 6: 27, + 9: 14, + 10: 16, + 11: 18, + 14: l, + 15: c, + 17: d, + 20: h, + 22: u, + 23: g, + 24: f, + 25: p, + 26: m, + 29: 6, + 36: _, + 39: r, + }, + { 31: 30, 32: [1, 31], 42: b }, + e([32, 42], [2, 35]), + e(v, [2, 6]), + { + 6: 27, + 10: 33, + 11: 18, + 14: l, + 15: c, + 17: d, + 20: h, + 22: u, + 23: g, + 24: f, + 25: p, + 26: m, + 29: 6, + 36: _, + 39: r, + }, + e(v, [2, 8]), + e(v, [2, 9]), + e(v, [2, 10], { 12: [1, 34], 13: [1, 35] }), + e(v, [2, 14]), + { 16: [1, 36] }, + e(v, [2, 16], { 18: [1, 37] }), + { 21: [1, 38] }, + e(v, [2, 20]), + e(v, [2, 21]), + e(v, [2, 22]), + { 27: 39, 28: [1, 40], 37: [1, 41], 38: [1, 42] }, + e(v, [2, 25]), + e(y, [2, 30]), + e(y, [2, 31]), + e(w, [2, 26]), + { 33: 43, 41: [1, 44] }, + e(w, [2, 37]), + e(v, [2, 7]), + e(v, [2, 11]), + { 11: 45, 22: u, 36: _ }, + e(v, [2, 15]), + e(C, s, { 8: 46 }), + { 22: [1, 47] }, + { 22: [1, 48] }, + { 21: [1, 49] }, + { 22: [2, 32] }, + { 22: [2, 33] }, + { 31: 50, 42: b }, + { 42: [2, 36] }, + e(v, [2, 12], { 12: [1, 51] }), + { + 4: o, + 5: a, + 6: 27, + 9: 14, + 10: 16, + 11: 18, + 14: l, + 15: c, + 17: d, + 19: [1, 52], + 20: h, + 22: u, + 23: g, + 24: f, + 25: p, + 26: m, + 29: 6, + 36: _, + 39: r, + }, + e(v, [2, 18], { 18: [1, 53] }), + { 28: [1, 54] }, + { 22: [1, 55] }, + e(w, [2, 27]), + e(v, [2, 13]), + e(v, [2, 17]), + e(C, s, { 8: 56 }), + e(v, [2, 23]), + e(v, [2, 24]), + { + 4: o, + 5: a, + 6: 27, + 9: 14, + 10: 16, + 11: 18, + 14: l, + 15: c, + 17: d, + 19: [1, 57], + 20: h, + 22: u, + 23: g, + 24: f, + 25: p, + 26: m, + 29: 6, + 36: _, + 39: r, + }, + e(v, [2, 19]), + ], + defaultActions: { + 7: [2, 34], + 8: [2, 1], + 9: [2, 2], + 10: [2, 3], + 41: [2, 32], + 42: [2, 33], + 44: [2, 36], + }, + parseError: function (e, t) { + if (!t.recoverable) { + var i = new Error(e); + throw ((i.hash = t), i); + } + this.trace(e); + }, + parse: function (e) { + var t = this, + i = [0], + n = [], + r = [null], + s = [], + o = this.table, + a = '', + l = 0, + c = 0, + d = 0, + h = 2, + u = 1, + g = s.slice.call(arguments, 1), + f = Object.create(this.lexer), + p = { yy: {} }; + for (var m in this.yy) + Object.prototype.hasOwnProperty.call(this.yy, m) && + (p.yy[m] = this.yy[m]); + f.setInput(e, p.yy), + (p.yy.lexer = f), + (p.yy.parser = this), + void 0 === f.yylloc && (f.yylloc = {}); + var _ = f.yylloc; + s.push(_); + var b = f.options && f.options.ranges; + function v() { + var e; + return ( + 'number' != + typeof (e = n.pop() || f.lex() || u) && + (e instanceof Array && (e = (n = e).pop()), + (e = t.symbols_[e] || e)), + e + ); + } + 'function' == typeof p.yy.parseError + ? (this.parseError = p.yy.parseError) + : (this.parseError = Object.getPrototypeOf( + this + ).parseError); + for (var y, w, C, S, k, x, L, M, D, N = {}; ; ) { + if ( + ((C = i[i.length - 1]), + this.defaultActions[C] + ? (S = this.defaultActions[C]) + : (null == y && (y = v()), + (S = o[C] && o[C][y])), + void 0 === S || !S.length || !S[0]) + ) { + var E = ''; + for (x in ((D = []), o[C])) + this.terminals_[x] && + x > h && + D.push("'" + this.terminals_[x] + "'"); + (E = f.showPosition + ? 'Parse error on line ' + + (l + 1) + + ':\n' + + f.showPosition() + + '\nExpecting ' + + D.join(', ') + + ", got '" + + (this.terminals_[y] || y) + + "'" + : 'Parse error on line ' + + (l + 1) + + ': Unexpected ' + + (y == u + ? 'end of input' + : "'" + (this.terminals_[y] || y) + "'")), + this.parseError(E, { + text: f.match, + token: this.terminals_[y] || y, + line: f.yylineno, + loc: _, + expected: D, + }); + } + if (S[0] instanceof Array && S.length > 1) + throw new Error( + 'Parse Error: multiple actions possible at state: ' + + C + + ', token: ' + + y + ); + switch (S[0]) { + case 1: + i.push(y), + r.push(f.yytext), + s.push(f.yylloc), + i.push(S[1]), + (y = null), + w + ? ((y = w), (w = null)) + : ((c = f.yyleng), + (a = f.yytext), + (l = f.yylineno), + (_ = f.yylloc), + d > 0 && d--); + break; + case 2: + if ( + ((L = this.productions_[S[1]][1]), + (N.$ = r[r.length - L]), + (N._$ = { + first_line: + s[s.length - (L || 1)].first_line, + last_line: s[s.length - 1].last_line, + first_column: + s[s.length - (L || 1)].first_column, + last_column: s[s.length - 1].last_column, + }), + b && + (N._$.range = [ + s[s.length - (L || 1)].range[0], + s[s.length - 1].range[1], + ]), + void 0 !== + (k = this.performAction.apply( + N, + [a, c, l, p.yy, S[1], r, s].concat(g) + ))) + ) + return k; + L && + ((i = i.slice(0, -1 * L * 2)), + (r = r.slice(0, -1 * L)), + (s = s.slice(0, -1 * L))), + i.push(this.productions_[S[1]][0]), + r.push(N.$), + s.push(N._$), + (M = o[i[i.length - 2]][i[i.length - 1]]), + i.push(M); + break; + case 3: + return !0; + } + } + return !0; + }, + }, + k = { + EOF: 1, + parseError: function (e, t) { + if (!this.yy.parser) throw new Error(e); + this.yy.parser.parseError(e, t); + }, + setInput: function (e, t) { + return ( + (this.yy = t || this.yy || {}), + (this._input = e), + (this._more = this._backtrack = this.done = !1), + (this.yylineno = this.yyleng = 0), + (this.yytext = this.matched = this.match = ''), + (this.conditionStack = ['INITIAL']), + (this.yylloc = { + first_line: 1, + first_column: 0, + last_line: 1, + last_column: 0, + }), + this.options.ranges && (this.yylloc.range = [0, 0]), + (this.offset = 0), + this + ); + }, + input: function () { + var e = this._input[0]; + return ( + (this.yytext += e), + this.yyleng++, + this.offset++, + (this.match += e), + (this.matched += e), + e.match(/(?:\r\n?|\n).*/g) + ? (this.yylineno++, this.yylloc.last_line++) + : this.yylloc.last_column++, + this.options.ranges && this.yylloc.range[1]++, + (this._input = this._input.slice(1)), + e + ); + }, + unput: function (e) { + var t = e.length, + i = e.split(/(?:\r\n?|\n)/g); + (this._input = e + this._input), + (this.yytext = this.yytext.substr( + 0, + this.yytext.length - t + )), + (this.offset -= t); + var n = this.match.split(/(?:\r\n?|\n)/g); + (this.match = this.match.substr( + 0, + this.match.length - 1 + )), + (this.matched = this.matched.substr( + 0, + this.matched.length - 1 + )), + i.length - 1 && (this.yylineno -= i.length - 1); + var r = 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: i + ? (i.length === n.length + ? this.yylloc.first_column + : 0) + + n[n.length - i.length].length - + i[0].length + : this.yylloc.first_column - t, + }), + this.options.ranges && + (this.yylloc.range = [ + r[0], + r[0] + this.yyleng - t, + ]), + (this.yyleng = this.yytext.length), + this + ); + }, + more: function () { + return (this._more = !0), this; + }, + reject: function () { + return this.options.backtrack_lexer + ? ((this._backtrack = !0), this) + : this.parseError( + 'Lexical error on line ' + + (this.yylineno + 1) + + '. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n' + + this.showPosition(), + { text: '', token: null, line: this.yylineno } + ); + }, + less: function (e) { + this.unput(this.match.slice(e)); + }, + pastInput: function () { + var e = this.matched.substr( + 0, + this.matched.length - this.match.length + ); + return ( + (e.length > 20 ? '...' : '') + + e.substr(-20).replace(/\n/g, '') + ); + }, + upcomingInput: function () { + var e = this.match; + return ( + e.length < 20 && + (e += this._input.substr(0, 20 - e.length)), + ( + e.substr(0, 20) + (e.length > 20 ? '...' : '') + ).replace(/\n/g, '') + ); + }, + showPosition: function () { + var e = this.pastInput(), + t = new Array(e.length + 1).join('-'); + return e + this.upcomingInput() + '\n' + t + '^'; + }, + test_match: function (e, t) { + var i, n, r; + if ( + (this.options.backtrack_lexer && + ((r = { + 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 && + (r.yylloc.range = this.yylloc.range.slice(0))), + (n = e[0].match(/(?:\r\n?|\n).*/g)) && + (this.yylineno += n.length), + (this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: n + ? n[n.length - 1].length - + n[n.length - 1].match(/\r?\n?/)[0].length + : this.yylloc.last_column + e[0].length, + }), + (this.yytext += e[0]), + (this.match += e[0]), + (this.matches = e), + (this.yyleng = this.yytext.length), + this.options.ranges && + (this.yylloc.range = [ + this.offset, + (this.offset += this.yyleng), + ]), + (this._more = !1), + (this._backtrack = !1), + (this._input = this._input.slice(e[0].length)), + (this.matched += e[0]), + (i = this.performAction.call( + this, + this.yy, + this, + t, + this.conditionStack[ + this.conditionStack.length - 1 + ] + )), + this.done && this._input && (this.done = !1), + i) + ) + return i; + if (this._backtrack) { + for (var s in r) this[s] = r[s]; + return !1; + } + return !1; + }, + next: function () { + if (this.done) return this.EOF; + var e, t, i, n; + this._input || (this.done = !0), + this._more || + ((this.yytext = ''), (this.match = '')); + for ( + var r = this._currentRules(), s = 0; + s < r.length; + s++ + ) + if ( + (i = this._input.match(this.rules[r[s]])) && + (!t || i[0].length > t[0].length) + ) { + if ( + ((t = i), (n = s), this.options.backtrack_lexer) + ) { + if (!1 !== (e = this.test_match(i, r[s]))) + return e; + if (this._backtrack) { + t = !1; + continue; + } + return !1; + } + if (!this.options.flex) break; + } + return t + ? !1 !== (e = this.test_match(t, r[n])) && e + : '' === this._input + ? this.EOF + : this.parseError( + 'Lexical error on line ' + + (this.yylineno + 1) + + '. Unrecognized text.\n' + + this.showPosition(), + { text: '', token: null, line: this.yylineno } + ); + }, + lex: function () { + return this.next() || this.lex(); + }, + begin: function (e) { + this.conditionStack.push(e); + }, + popState: function () { + return this.conditionStack.length - 1 > 0 + ? this.conditionStack.pop() + : this.conditionStack[0]; + }, + _currentRules: function () { + return this.conditionStack.length && + this.conditionStack[this.conditionStack.length - 1] + ? this.conditions[ + this.conditionStack[ + this.conditionStack.length - 1 + ] + ].rules + : this.conditions.INITIAL.rules; + }, + topState: function (e) { + return (e = + this.conditionStack.length - + 1 - + Math.abs(e || 0)) >= 0 + ? this.conditionStack[e] + : 'INITIAL'; + }, + pushState: function (e) { + this.begin(e); + }, + stateStackSize: function () { + return this.conditionStack.length; + }, + options: { 'case-insensitive': !0 }, + performAction: function (e, t, i, n) { + switch (i) { + case 0: + return this.begin('open_directive'), 39; + case 1: + return this.begin('type_directive'), 40; + case 2: + return ( + this.popState(), this.begin('arg_directive'), 32 + ); + case 3: + return this.popState(), this.popState(), 42; + case 4: + return 41; + case 5: + break; + case 6: + console.log('Crap after close'); + break; + case 7: + return 5; + case 8: + case 9: + case 10: + case 11: + break; + case 12: + return this.pushState('SCALE'), 15; + case 13: + return 16; + case 14: + this.popState(); + break; + case 15: + this.pushState('STATE'); + break; + case 16: + return ( + this.popState(), + (t.yytext = t.yytext.slice(0, -8).trim()), + 23 + ); + case 17: + return ( + this.popState(), + (t.yytext = t.yytext.slice(0, -8).trim()), + 24 + ); + case 18: + return ( + this.popState(), + (t.yytext = t.yytext.slice(0, -8).trim()), + 23 + ); + case 19: + return ( + this.popState(), + (t.yytext = t.yytext.slice(0, -8).trim()), + 24 + ); + case 20: + this.begin('STATE_STRING'); + break; + case 21: + return ( + this.popState(), + this.pushState('STATE_ID'), + 'AS' + ); + case 22: + return this.popState(), 'ID'; + case 23: + this.popState(); + break; + case 24: + return 'STATE_DESCR'; + case 25: + return 17; + case 26: + this.popState(); + break; + case 27: + return ( + this.popState(), this.pushState('struct'), 18 + ); + case 28: + return this.popState(), 19; + case 29: + break; + case 30: + return this.begin('NOTE'), 26; + case 31: + return ( + this.popState(), this.pushState('NOTE_ID'), 37 + ); + case 32: + return ( + this.popState(), this.pushState('NOTE_ID'), 38 + ); + case 33: + this.popState(), this.pushState('FLOATING_NOTE'); + break; + case 34: + return ( + this.popState(), + this.pushState('FLOATING_NOTE_ID'), + 'AS' + ); + case 35: + break; + case 36: + return 'NOTE_TEXT'; + case 37: + return this.popState(), 'ID'; + case 38: + return ( + this.popState(), this.pushState('NOTE_TEXT'), 22 + ); + case 39: + return ( + this.popState(), + (t.yytext = t.yytext.substr(2).trim()), + 28 + ); + case 40: + return ( + this.popState(), + (t.yytext = t.yytext.slice(0, -8).trim()), + 28 + ); + case 41: + case 42: + return 7; + case 43: + return 14; + case 44: + return 36; + case 45: + return 22; + case 46: + return (t.yytext = t.yytext.trim()), 12; + case 47: + return 13; + case 48: + return 25; + case 49: + return 5; + case 50: + return 'INVALID'; + } + }, + rules: [ + /^(?:%%\{)/i, + /^(?:((?:(?!\}%%)[^:.])*))/i, + /^(?::)/i, + /^(?:\}%%)/i, + /^(?:((?:(?!\}%%).|\n)*))/i, + /^(?:%%(?!\{)[^\n]*)/i, + /^(?:[^\}]%%[^\n]*)/i, + /^(?:[\n]+)/i, + /^(?:[\s]+)/i, + /^(?:((?!\n)\s)+)/i, + /^(?:#[^\n]*)/i, + /^(?:%[^\n]*)/i, + /^(?:scale\s+)/i, + /^(?:\d+)/i, + /^(?:\s+width\b)/i, + /^(?:state\s+)/i, + /^(?:.*<<fork>>)/i, + /^(?:.*<<join>>)/i, + /^(?:.*\[\[fork\]\])/i, + /^(?:.*\[\[join\]\])/i, + /^(?:["])/i, + /^(?:\s*as\s+)/i, + /^(?:[^\n\{]*)/i, + /^(?:["])/i, + /^(?:[^"]*)/i, + /^(?:[^\n\s\{]+)/i, + /^(?:\n)/i, + /^(?:\{)/i, + /^(?:\})/i, + /^(?:[\n])/i, + /^(?:note\s+)/i, + /^(?:left of\b)/i, + /^(?:right of\b)/i, + /^(?:")/i, + /^(?:\s*as\s*)/i, + /^(?:["])/i, + /^(?:[^"]*)/i, + /^(?:[^\n]*)/i, + /^(?:\s*[^:\n\s\-]+)/i, + /^(?:\s*:[^:\n;]+)/i, + /^(?:[\s\S]*?end note\b)/i, + /^(?:stateDiagram\s+)/i, + /^(?:stateDiagram-v2\s+)/i, + /^(?:hide empty description\b)/i, + /^(?:\[\*\])/i, + /^(?:[^:\n\s\-\{]+)/i, + /^(?:\s*:[^:\n;]+)/i, + /^(?:-->)/i, + /^(?:--)/i, + /^(?:$)/i, + /^(?:.)/i, + ], + conditions: { + LINE: { rules: [9, 10], inclusive: !1 }, + close_directive: { rules: [9, 10], inclusive: !1 }, + arg_directive: { + rules: [3, 4, 9, 10], + inclusive: !1, + }, + type_directive: { + rules: [2, 3, 9, 10], + inclusive: !1, + }, + open_directive: { rules: [1, 9, 10], inclusive: !1 }, + struct: { + rules: [9, 10, 15, 28, 29, 30, 44, 45, 46, 47, 48], + inclusive: !1, + }, + FLOATING_NOTE_ID: { rules: [37], inclusive: !1 }, + FLOATING_NOTE: { rules: [34, 35, 36], inclusive: !1 }, + NOTE_TEXT: { rules: [39, 40], inclusive: !1 }, + NOTE_ID: { rules: [38], inclusive: !1 }, + NOTE: { rules: [31, 32, 33], inclusive: !1 }, + SCALE: { rules: [13, 14], inclusive: !1 }, + ALIAS: { rules: [], inclusive: !1 }, + STATE_ID: { rules: [22], inclusive: !1 }, + STATE_STRING: { rules: [23, 24], inclusive: !1 }, + FORK_STATE: { rules: [], inclusive: !1 }, + STATE: { + rules: [9, 10, 16, 17, 18, 19, 20, 21, 25, 26, 27], + inclusive: !1, + }, + ID: { rules: [9, 10], inclusive: !1 }, + INITIAL: { + rules: [ + 0, + 5, + 6, + 7, + 8, + 10, + 11, + 12, + 15, + 27, + 30, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 49, + 50, + ], + inclusive: !0, + }, + }, + }; + function x() { + this.yy = {}; + } + return ( + (S.lexer = k), (x.prototype = S), (S.Parser = x), new x() + ); + })(); + (t.parser = r), + (t.Parser = r.Parser), + (t.parse = function () { + return r.parse.apply(r, arguments); + }), + (t.main = function (n) { + n[1] || + (console.log('Usage: ' + n[0] + ' FILE'), e.exit(1)); + var r = i( + './node_modules/node-libs-browser/mock/empty.js' + ).readFileSync( + i('./node_modules/path-browserify/index.js').normalize( + n[1] + ), + 'utf8' + ); + return t.parser.parse(r); + }), + i.c[i.s] === n && t.main(e.argv.slice(1)); + }.call( + this, + i('./node_modules/process/browser.js'), + i('./node_modules/webpack/buildin/module.js')(e) + )); + }, + './src/diagrams/state/shapes.js': function (e, t, i) { + 'use strict'; + i.r(t), + i.d(t, 'drawStartState', function () { + return d; + }), + i.d(t, 'drawDivider', function () { + return h; + }), + i.d(t, 'drawSimpleState', function () { + return u; + }), + i.d(t, 'drawDescrState', function () { + return g; + }), + i.d(t, 'addTitleAndBox', function () { + return f; + }), + i.d(t, 'drawText', function () { + return p; + }), + i.d(t, 'drawNote', function () { + return m; + }), + i.d(t, 'drawState', function () { + return _; + }), + i.d(t, 'drawEdge', function () { + return v; + }); + var n = i('d3'), + r = i('./src/diagrams/state/id-cache.js'), + s = i('./src/diagrams/state/stateDb.js'), + o = i('./src/utils.js'), + a = i('./src/diagrams/common/common.js'), + l = i('./src/config.js'), + c = i('./src/logger.js'), + d = function (e) { + return e + .append('circle') + .attr('class', 'start-state') + .attr('r', Object(l.getConfig)().state.sizeUnit) + .attr( + 'cx', + Object(l.getConfig)().state.padding + + Object(l.getConfig)().state.sizeUnit + ) + .attr( + 'cy', + Object(l.getConfig)().state.padding + + Object(l.getConfig)().state.sizeUnit + ); + }, + h = function (e) { + return e + .append('line') + .style('stroke', 'grey') + .style('stroke-dasharray', '3') + .attr('x1', Object(l.getConfig)().state.textHeight) + .attr('class', 'divider') + .attr('x2', 2 * Object(l.getConfig)().state.textHeight) + .attr('y1', 0) + .attr('y2', 0); + }, + u = function (e, t) { + var i = e + .append('text') + .attr('x', 2 * Object(l.getConfig)().state.padding) + .attr( + 'y', + Object(l.getConfig)().state.textHeight + + 2 * Object(l.getConfig)().state.padding + ) + .attr('font-size', Object(l.getConfig)().state.fontSize) + .attr('class', 'state-title') + .text(t.id), + n = i.node().getBBox(); + return ( + e + .insert('rect', ':first-child') + .attr('x', Object(l.getConfig)().state.padding) + .attr('y', Object(l.getConfig)().state.padding) + .attr( + 'width', + n.width + 2 * Object(l.getConfig)().state.padding + ) + .attr( + 'height', + n.height + 2 * Object(l.getConfig)().state.padding + ) + .attr('rx', Object(l.getConfig)().state.radius), + i + ); + }, + g = function (e, t) { + var i = e + .append('text') + .attr('x', 2 * Object(l.getConfig)().state.padding) + .attr( + 'y', + Object(l.getConfig)().state.textHeight + + 1.3 * Object(l.getConfig)().state.padding + ) + .attr('font-size', Object(l.getConfig)().state.fontSize) + .attr('class', 'state-title') + .text(t.descriptions[0]) + .node() + .getBBox(), + n = i.height, + r = e + .append('text') + .attr('x', Object(l.getConfig)().state.padding) + .attr( + 'y', + n + + 0.4 * Object(l.getConfig)().state.padding + + Object(l.getConfig)().state.dividerMargin + + Object(l.getConfig)().state.textHeight + ) + .attr('class', 'state-description'), + s = !0, + o = !0; + t.descriptions.forEach(function (e) { + s || + ((function (e, t, i) { + var n = e + .append('tspan') + .attr('x', 2 * Object(l.getConfig)().state.padding) + .text(t); + i || + n.attr( + 'dy', + Object(l.getConfig)().state.textHeight + ); + })(r, e, o), + (o = !1)), + (s = !1); + }); + var a = e + .append('line') + .attr('x1', Object(l.getConfig)().state.padding) + .attr( + 'y1', + Object(l.getConfig)().state.padding + + n + + Object(l.getConfig)().state.dividerMargin / 2 + ) + .attr( + 'y2', + Object(l.getConfig)().state.padding + + n + + Object(l.getConfig)().state.dividerMargin / 2 + ) + .attr('class', 'descr-divider'), + c = r.node().getBBox(), + d = Math.max(c.width, i.width); + return ( + a.attr('x2', d + 3 * Object(l.getConfig)().state.padding), + e + .insert('rect', ':first-child') + .attr('x', Object(l.getConfig)().state.padding) + .attr('y', Object(l.getConfig)().state.padding) + .attr( + 'width', + d + 2 * Object(l.getConfig)().state.padding + ) + .attr( + 'height', + c.height + n + 2 * Object(l.getConfig)().state.padding + ) + .attr('rx', Object(l.getConfig)().state.radius), + e + ); + }, + f = function (e, t, i) { + var n, + r = Object(l.getConfig)().state.padding, + s = 2 * Object(l.getConfig)().state.padding, + o = e.node().getBBox(), + a = o.width, + c = o.x, + d = e + .append('text') + .attr('x', 0) + .attr('y', Object(l.getConfig)().state.titleShift) + .attr('font-size', Object(l.getConfig)().state.fontSize) + .attr('class', 'state-title') + .text(t.id), + h = d.node().getBBox().width + s, + u = Math.max(h, a); + u === a && (u += s); + var g = e.node().getBBox(); + t.doc, + (n = c - r), + h > a && (n = (a - u) / 2 + r), + Math.abs(c - g.x) < r && h > a && (n = c - (h - a) / 2); + var f = 1 - Object(l.getConfig)().state.textHeight; + return ( + e + .insert('rect', ':first-child') + .attr('x', n) + .attr('y', f) + .attr('class', i ? 'alt-composit' : 'composit') + .attr('width', u) + .attr( + 'height', + g.height + + Object(l.getConfig)().state.textHeight + + Object(l.getConfig)().state.titleShift + + 1 + ) + .attr('rx', '0'), + d.attr('x', n + r), + h <= a && d.attr('x', c + (u - s) / 2 - h / 2 + r), + e + .insert('rect', ':first-child') + .attr('x', n) + .attr( + 'y', + Object(l.getConfig)().state.titleShift - + Object(l.getConfig)().state.textHeight - + Object(l.getConfig)().state.padding + ) + .attr('width', u) + .attr( + 'height', + 3 * Object(l.getConfig)().state.textHeight + ) + .attr('rx', Object(l.getConfig)().state.radius), + e + .insert('rect', ':first-child') + .attr('x', n) + .attr( + 'y', + Object(l.getConfig)().state.titleShift - + Object(l.getConfig)().state.textHeight - + Object(l.getConfig)().state.padding + ) + .attr('width', u) + .attr( + 'height', + g.height + + 3 + + 2 * Object(l.getConfig)().state.textHeight + ) + .attr('rx', Object(l.getConfig)().state.radius), + e + ); + }, + p = function (e, t) { + var i = t.text.replace(a.default.lineBreakRegex, ' '), + n = e.append('text'); + n.attr('x', t.x), + n.attr('y', t.y), + n.style('text-anchor', t.anchor), + n.attr('fill', t.fill), + void 0 !== t.class && n.attr('class', t.class); + var r = n.append('tspan'); + return ( + r.attr('x', t.x + 2 * t.textMargin), + r.attr('fill', t.fill), + r.text(i), + n + ); + }, + m = function (e, t) { + t.attr('class', 'state-note'); + var i = t + .append('rect') + .attr('x', 0) + .attr('y', Object(l.getConfig)().state.padding), + n = (function (e, t, i, n) { + var r = 0, + s = n.append('text'); + s.style('text-anchor', 'start'), + s.attr('class', 'noteText'); + var o = e.replace(/\r\n/g, '<br/>'), + c = (o = o.replace(/\n/g, '<br/>')).split( + a.default.lineBreakRegex + ), + d = 1.25 * Object(l.getConfig)().state.noteMargin, + h = !0, + u = !1, + g = void 0; + try { + for ( + var f, p = c[Symbol.iterator](); + !(h = (f = p.next()).done); + h = !0 + ) { + var m = f.value.trim(); + if (m.length > 0) { + var _ = s.append('tspan'); + _.text(m), + 0 === d && (d += _.node().getBBox().height), + (r += d), + _.attr( + 'x', + 0 + Object(l.getConfig)().state.noteMargin + ), + _.attr( + 'y', + 0 + + r + + 1.25 * + Object(l.getConfig)().state.noteMargin + ); + } + } + } catch (e) { + (u = !0), (g = e); + } finally { + try { + h || null == p.return || p.return(); + } finally { + if (u) throw g; + } + } + return { + textWidth: s.node().getBBox().width, + textHeight: r, + }; + })(e, 0, 0, t.append('g')), + r = n.textWidth, + s = n.textHeight; + return ( + i.attr( + 'height', + s + 2 * Object(l.getConfig)().state.noteMargin + ), + i.attr( + 'width', + r + 2 * Object(l.getConfig)().state.noteMargin + ), + i + ); + }, + _ = function (e, t) { + var i = t.id, + n = { id: i, label: t.id, width: 0, height: 0 }, + s = e + .append('g') + .attr('id', i) + .attr('class', 'stateGroup'); + 'start' === t.type && d(s), + 'end' === t.type && + (function (e) { + e + .append('circle') + .attr('class', 'end-state-outer') + .attr( + 'r', + Object(l.getConfig)().state.sizeUnit + + Object(l.getConfig)().state.miniPadding + ) + .attr( + 'cx', + Object(l.getConfig)().state.padding + + Object(l.getConfig)().state.sizeUnit + + Object(l.getConfig)().state.miniPadding + ) + .attr( + 'cy', + Object(l.getConfig)().state.padding + + Object(l.getConfig)().state.sizeUnit + + Object(l.getConfig)().state.miniPadding + ), + e + .append('circle') + .attr('class', 'end-state-inner') + .attr('r', Object(l.getConfig)().state.sizeUnit) + .attr( + 'cx', + Object(l.getConfig)().state.padding + + Object(l.getConfig)().state.sizeUnit + + 2 + ) + .attr( + 'cy', + Object(l.getConfig)().state.padding + + Object(l.getConfig)().state.sizeUnit + + 2 + ); + })(s), + ('fork' !== t.type && 'join' !== t.type) || + (function (e, t) { + var i = Object(l.getConfig)().state.forkWidth, + n = Object(l.getConfig)().state.forkHeight; + if (t.parentId) { + var r = i; + (i = n), (n = r); + } + e.append('rect') + .style('stroke', 'black') + .style('fill', 'black') + .attr('width', i) + .attr('height', n) + .attr('x', Object(l.getConfig)().state.padding) + .attr('y', Object(l.getConfig)().state.padding); + })(s, t), + 'note' === t.type && m(t.note.text, s), + 'divider' === t.type && h(s), + 'default' === t.type && + 0 === t.descriptions.length && + u(s, t), + 'default' === t.type && + t.descriptions.length > 0 && + g(s, t); + var o = s.node().getBBox(); + return ( + (n.width = + o.width + 2 * Object(l.getConfig)().state.padding), + (n.height = + o.height + 2 * Object(l.getConfig)().state.padding), + r.default.set(i, n), + n + ); + }, + b = 0, + v = function (e, t, i) { + t.points = t.points.filter(function (e) { + return !Number.isNaN(e.y); + }); + var r = t.points, + d = Object(n.line)() + .x(function (e) { + return e.x; + }) + .y(function (e) { + return e.y; + }) + .curve(n.curveBasis), + h = e + .append('path') + .attr('d', d(r)) + .attr('id', 'edge' + b) + .attr('class', 'transition'), + u = ''; + if ( + (Object(l.getConfig)().state.arrowMarkerAbsolute && + (u = (u = (u = + window.location.protocol + + '//' + + window.location.host + + window.location.pathname + + window.location.search).replace( + /\(/g, + '\\(' + )).replace(/\)/g, '\\)')), + h.attr( + 'marker-end', + 'url(' + + u + + '#' + + (function (e) { + switch (e) { + case s.default.relationType.AGGREGATION: + return 'aggregation'; + case s.default.relationType.EXTENSION: + return 'extension'; + case s.default.relationType.COMPOSITION: + return 'composition'; + case s.default.relationType.DEPENDENCY: + return 'dependency'; + } + })(s.default.relationType.DEPENDENCY) + + 'End)' + ), + void 0 !== i.title) + ) { + for ( + var g = e.append('g').attr('class', 'stateLabel'), + f = o.default.calcLabelPosition(t.points), + p = f.x, + m = f.y, + _ = a.default.getRows(i.title), + v = 0, + y = [], + w = 0, + C = 0, + S = 0; + S <= _.length; + S++ + ) { + var k = g + .append('text') + .attr('text-anchor', 'middle') + .text(_[S]) + .attr('x', p) + .attr('y', m + v), + x = k.node().getBBox(); + if ( + ((w = Math.max(w, x.width)), + (C = Math.min(C, x.x)), + c.log.info(x.x, p, m + v), + 0 === v) + ) { + var L = k.node().getBBox(); + (v = L.height), c.log.info('Title height', v, m); + } + y.push(k); + } + var M = v * _.length; + if (_.length > 1) { + var D = (_.length - 1) * v * 0.5; + y.forEach(function (e, t) { + return e.attr('y', m + t * v - D); + }), + (M = v * _.length); + } + var N = g.node().getBBox(); + g + .insert('rect', ':first-child') + .attr('class', 'box') + .attr( + 'x', + p - w / 2 - Object(l.getConfig)().state.padding / 2 + ) + .attr( + 'y', + m - + M / 2 - + Object(l.getConfig)().state.padding / 2 - + 3.5 + ) + .attr('width', w + Object(l.getConfig)().state.padding) + .attr( + 'height', + M + Object(l.getConfig)().state.padding + ), + c.log.info(N); + } + b++; + }; + }, + './src/diagrams/state/stateDb.js': function (e, t, i) { + 'use strict'; + i.r(t), + i.d(t, 'parseDirective', function () { + return d; + }), + i.d(t, 'addState', function () { + return p; + }), + i.d(t, 'clear', function () { + return m; + }), + i.d(t, 'getState', function () { + return _; + }), + i.d(t, 'getStates', function () { + return b; + }), + i.d(t, 'logDocuments', function () { + return v; + }), + i.d(t, 'getRelations', function () { + return y; + }), + i.d(t, 'addRelation', function () { + return w; + }), + i.d(t, 'cleanupLabel', function () { + return S; + }), + i.d(t, 'lineType', function () { + return k; + }), + i.d(t, 'relationType', function () { + return M; + }); + var n = i('./src/logger.js'), + r = i('./src/utils.js'), + s = i('./src/mermaidAPI.js'), + o = i('./src/config.js'); + function a(e) { + return (a = + 'function' == typeof Symbol && + 'symbol' == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + 'function' == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? 'symbol' + : typeof e; + })(e); + } + var l = function (e) { + return JSON.parse(JSON.stringify(e)); + }, + c = [], + d = function (e, t, i) { + s.default.parseDirective(this, e, t, i); + }, + h = function e(t, i, n) { + if ('relation' === i.stmt) + e(t, i.state1, !0), e(t, i.state2, !1); + else if ( + ('state' === i.stmt && + '[*]' === i.id && + ((i.id = n ? t.id + '_start' : t.id + '_end'), + (i.start = n)), + i.doc) + ) { + var s = [], + o = 0, + a = []; + for (o = 0; o < i.doc.length; o++) + if ('divider' === i.doc[o].type) { + var c = l(i.doc[o]); + (c.doc = l(a)), s.push(c), (a = []); + } else a.push(i.doc[o]); + if (s.length > 0 && a.length > 0) { + var d = { + stmt: 'state', + id: Object(r.generateId)(), + type: 'divider', + doc: l(a), + }; + s.push(l(d)), (i.doc = s); + } + i.doc.forEach(function (t) { + return e(i, t, !0); + }); + } + }, + u = { root: { relations: [], states: {}, documents: {} } }, + g = u.root, + f = 0, + p = function (e, t, i, r, s) { + void 0 === g.states[e] + ? (g.states[e] = { + id: e, + descriptions: [], + type: t, + doc: i, + note: s, + }) + : (g.states[e].doc || (g.states[e].doc = i), + g.states[e].type || (g.states[e].type = t)), + r && + (n.log.info('Adding state ', e, r), + 'string' == typeof r && C(e, r.trim()), + 'object' === a(r) && + r.forEach(function (t) { + return C(e, t.trim()); + })), + s && (g.states[e].note = s); + }, + m = function () { + (g = (u = { + root: { relations: [], states: {}, documents: {} }, + }).root), + (g = u.root), + (f = 0), + (L = []); + }, + _ = function (e) { + return g.states[e]; + }, + b = function () { + return g.states; + }, + v = function () { + n.log.info('Documents = ', u); + }, + y = function () { + return g.relations; + }, + w = function (e, t, i) { + var n = e, + r = t, + s = 'default', + o = 'default'; + '[*]' === e && ((n = 'start' + ++f), (s = 'start')), + '[*]' === t && ((r = 'end' + f), (o = 'end')), + p(n, s), + p(r, o), + g.relations.push({ id1: n, id2: r, title: i }); + }, + C = function (e, t) { + var i = g.states[e], + n = t; + ':' === n[0] && (n = n.substr(1).trim()), + i.descriptions.push(n); + }, + S = function (e) { + return ':' === e.substring(0, 1) + ? e.substr(2).trim() + : e.trim(); + }, + k = { LINE: 0, DOTTED_LINE: 1 }, + x = 0, + L = [], + M = { + AGGREGATION: 0, + EXTENSION: 1, + COMPOSITION: 2, + DEPENDENCY: 3, + }; + t.default = { + parseDirective: d, + getConfig: function () { + return o.getConfig().state; + }, + addState: p, + clear: m, + getState: _, + getStates: b, + getRelations: y, + getClasses: function () { + return L; + }, + getDirection: function () { + return 'TB'; + }, + addRelation: w, + getDividerId: function () { + return 'divider-id-' + ++x; + }, + cleanupLabel: S, + lineType: k, + relationType: M, + logDocuments: v, + getRootDoc: function () { + return c; + }, + setRootDoc: function (e) { + n.log.info('Setting root doc', e), (c = e); + }, + getRootDocV2: function () { + return ( + h({ id: 'root' }, { id: 'root', doc: c }, !0), + { id: 'root', doc: c } + ); + }, + extract: function (e) { + var t; + (t = e.doc ? e.doc : e), + n.log.info(t), + m(), + n.log.info('Extract', t), + t.forEach(function (e) { + 'state' === e.stmt && + p(e.id, e.type, e.doc, e.description, e.note), + 'relation' === e.stmt && + w(e.state1.id, e.state2.id, e.description); + }); + }, + trimColon: function (e) { + return e && ':' === e[0] ? e.substr(1).trim() : e.trim(); + }, + }; + }, + './src/diagrams/state/stateRenderer-v2.js': function (e, t, i) { + 'use strict'; + i.r(t), + i.d(t, 'setConf', function () { + return f; + }), + i.d(t, 'getClasses', function () { + return m; + }), + i.d(t, 'draw', function () { + return y; + }); + var n = i('graphlib'), + r = i.n(n), + s = i('d3'), + o = i('./src/diagrams/state/stateDb.js'), + a = i('./src/diagrams/state/parser/stateDiagram.jison'), + l = i.n(a), + c = i('./src/config.js'), + d = i('./src/dagre-wrapper/index.js'), + h = i('./src/logger.js'), + u = i('./src/utils.js'), + g = {}, + f = function (e) { + for (var t = Object.keys(e), i = 0; i < t.length; i++) + g[t[i]] = e[t[i]]; + }, + p = {}, + m = function (e) { + h.log.trace('Extracting classes'), o.default.clear(); + var t = l.a.parser; + return ( + (t.yy = o.default), t.parse(e), o.default.getClasses() + ); + }, + _ = function (e, t, i, n) { + if ('root' !== i.id) { + var r = 'rect'; + !0 === i.start && (r = 'start'), + !1 === i.start && (r = 'end'), + 'default' !== i.type && (r = i.type), + p[i.id] || + (p[i.id] = { + id: i.id, + shape: r, + description: i.id, + classes: 'statediagram-state', + }), + i.description && + (Array.isArray(p[i.id].description) + ? ((p[i.id].shape = 'rectWithTitle'), + p[i.id].description.push(i.description)) + : p[i.id].description.length > 0 + ? ((p[i.id].shape = 'rectWithTitle'), + p[i.id].description === i.id + ? (p[i.id].description = [i.description]) + : (p[i.id].description = [ + p[i.id].description, + i.description, + ])) + : ((p[i.id].shape = 'rect'), + (p[i.id].description = i.description))), + !p[i.id].type && + i.doc && + (h.log.info('Setting cluser for ', i.id), + (p[i.id].type = 'group'), + (p[i.id].shape = + 'divider' === i.type + ? 'divider' + : 'roundedWithTitle'), + (p[i.id].classes = + p[i.id].classes + + ' ' + + (n + ? 'statediagram-cluster statediagram-cluster-alt' + : 'statediagram-cluster'))); + var s = { + labelStyle: '', + shape: p[i.id].shape, + labelText: p[i.id].description, + classes: p[i.id].classes, + style: '', + id: i.id, + domId: 'state-' + i.id + '-' + b, + type: p[i.id].type, + padding: 15, + }; + if (i.note) { + var o = { + labelStyle: '', + shape: 'note', + labelText: i.note.text, + classes: 'statediagram-note', + style: '', + id: i.id + '----note', + domId: 'state-' + i.id + '----note-' + b, + type: p[i.id].type, + padding: 15, + }, + a = { + labelStyle: '', + shape: 'noteGroup', + labelText: i.note.text, + classes: p[i.id].classes, + style: '', + id: i.id + '----parent', + domId: 'state-' + i.id + '----parent-' + b, + type: 'group', + padding: 0, + }; + b++, + e.setNode(i.id + '----parent', a), + e.setNode(o.id, o), + e.setNode(i.id, s), + e.setParent(i.id, i.id + '----parent'), + e.setParent(o.id, i.id + '----parent'); + var l = i.id, + c = o.id; + 'left of' === i.note.position && + ((l = o.id), (c = i.id)), + e.setEdge(l, c, { + arrowhead: 'none', + arrowType: '', + style: 'fill:none', + labelStyle: '', + classes: 'transition note-edge', + arrowheadStyle: 'fill: #333', + labelpos: 'c', + labelType: 'text', + thickness: 'normal', + }); + } else e.setNode(i.id, s); + } + t && + 'root' !== t.id && + (h.log.info( + 'Setting node ', + i.id, + ' to be child of its parent ', + t.id + ), + e.setParent(i.id, t.id)), + i.doc && + (h.log.info('Adding nodes children '), + v(e, i, i.doc, !n)); + }, + b = 0, + v = function (e, t, i, n) { + (b = 0), + h.log.trace('items', i), + i.forEach(function (i) { + if ('state' === i.stmt || 'default' === i.stmt) + _(e, t, i, n); + else if ('relation' === i.stmt) { + _(e, t, i.state1, n), _(e, t, i.state2, n); + var r = { + id: 'edge' + b, + arrowhead: 'normal', + arrowTypeEnd: 'arrow_barb', + style: 'fill:none', + labelStyle: '', + label: i.description, + arrowheadStyle: 'fill: #333', + labelpos: 'c', + labelType: 'text', + thickness: 'normal', + classes: 'transition', + }, + s = i.state1.id, + o = i.state2.id; + e.setEdge(s, o, r, b), b++; + } + }); + }, + y = function (e, t) { + h.log.info('Drawing state diagram (v2)', t), + o.default.clear(), + (p = {}); + var i = l.a.parser; + (i.yy = o.default), i.parse(e); + var n = o.default.getDirection(); + void 0 === n && (n = 'LR'); + var a = Object(c.getConfig)().state, + g = a.nodeSpacing || 50, + f = a.rankSpacing || 50, + m = new r.a.Graph({ multigraph: !0, compound: !0 }) + .setGraph({ + rankdir: 'TB', + nodesep: g, + ranksep: f, + marginx: 8, + marginy: 8, + }) + .setDefaultEdgeLabel(function () { + return {}; + }); + h.log.info(o.default.getRootDocV2()), + o.default.extract(o.default.getRootDocV2()), + h.log.info(o.default.getRootDocV2()), + _(m, void 0, o.default.getRootDocV2(), !0); + var b = Object(s.select)('[id="'.concat(t, '"]')), + v = Object(s.select)('#' + t + ' g'); + Object(d.render)(v, m, ['barb'], 'statediagram', t); + var y = b.node().getBBox(), + w = y.width + 16, + C = y.height + 16; + b.attr('class', 'statediagram'); + var S = b.node().getBBox(); + Object(u.configureSvgSize)(b, C, 1.75 * w, a.useMaxWidth); + var k = '' + .concat(S.x - 8, ' ') + .concat(S.y - 8, ' ') + .concat(w, ' ') + .concat(C); + if ( + (h.log.debug('viewBox '.concat(k)), + b.attr('viewBox', k), + !a.htmlLabels) + ) + for ( + var x = document.querySelectorAll( + '[id="' + t + '"] .edgeLabel .label' + ), + L = 0; + L < x.length; + L++ + ) { + var M = x[L], + D = M.getBBox(), + N = document.createElementNS( + 'http://www.w3.org/2000/svg', + 'rect' + ); + N.setAttribute('rx', 0), + N.setAttribute('ry', 0), + N.setAttribute('width', D.width), + N.setAttribute('height', D.height), + M.insertBefore(N, M.firstChild); + } + }; + t.default = { setConf: f, getClasses: m, draw: y }; + }, + './src/diagrams/state/stateRenderer.js': function (e, t, i) { + 'use strict'; + i.r(t), + i.d(t, 'setConf', function () { + return _; + }), + i.d(t, 'draw', function () { + return b; + }); + var n, + r = i('d3'), + s = i('dagre'), + o = i.n(s), + a = i('graphlib'), + l = i.n(a), + c = i('./src/logger.js'), + d = i('./src/diagrams/state/stateDb.js'), + h = i('./src/diagrams/common/common.js'), + u = i('./src/diagrams/state/parser/stateDiagram.jison'), + g = i('./src/diagrams/state/shapes.js'), + f = i('./src/config.js'), + p = i('./src/utils.js'); + u.parser.yy = d.default; + var m = {}, + _ = function () {}, + b = function (e, t) { + (n = Object(f.getConfig)().state), + u.parser.yy.clear(), + u.parser.parse(e), + c.log.debug('Rendering diagram ' + e); + var i = Object(r.select)("[id='".concat(t, "']")); + i + .append('defs') + .append('marker') + .attr('id', 'dependencyEnd') + .attr('refX', 19) + .attr('refY', 7) + .attr('markerWidth', 20) + .attr('markerHeight', 28) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 19,7 L9,13 L14,7 L9,1 Z'), + new l.a.Graph({ + multigraph: !0, + compound: !0, + rankdir: 'RL', + }).setDefaultEdgeLabel(function () { + return {}; + }); + var s = d.default.getRootDoc(); + v(s, i, void 0, !1); + var o = n.padding, + a = i.node().getBBox(), + h = a.width + 2 * o, + g = a.height + 2 * o, + m = 1.75 * h; + Object(p.configureSvgSize)(i, g, m, n.useMaxWidth), + i.attr( + 'viewBox', + '' + .concat(a.x - n.padding, ' ') + .concat(a.y - n.padding, ' ') + + h + + ' ' + + g + ); + }, + v = function e(t, i, s, a) { + var u, + f = new l.a.Graph({ compound: !0, multigraph: !0 }), + p = !0; + for (u = 0; u < t.length; u++) + if ('relation' === t[u].stmt) { + p = !1; + break; + } + s + ? f.setGraph({ + rankdir: 'LR', + multigraph: !0, + compound: !0, + ranker: 'tight-tree', + ranksep: p ? 1 : n.edgeLengthFactor, + nodeSep: p ? 1 : 50, + isMultiGraph: !0, + }) + : f.setGraph({ + rankdir: 'TB', + multigraph: !0, + compound: !0, + ranksep: p ? 1 : n.edgeLengthFactor, + nodeSep: p ? 1 : 50, + ranker: 'tight-tree', + isMultiGraph: !0, + }), + f.setDefaultEdgeLabel(function () { + return {}; + }), + d.default.extract(t); + for ( + var _ = d.default.getStates(), + b = d.default.getRelations(), + v = Object.keys(_), + y = 0; + y < v.length; + y++ + ) { + var w = _[v[y]]; + s && (w.parentId = s); + var C = void 0; + if (w.doc) { + var S = i + .append('g') + .attr('id', w.id) + .attr('class', 'stateGroup'); + C = e(w.doc, S, w.id, !a); + var k = (S = Object(g.addTitleAndBox)(S, w, a)) + .node() + .getBBox(); + (C.width = k.width), + (C.height = k.height + n.padding / 2), + (m[w.id] = { y: n.compositTitleSize }); + } else C = Object(g.drawState)(i, w, f); + if (w.note) { + var x = { + descriptions: [], + id: w.id + '-note', + note: w.note, + type: 'note', + }, + L = Object(g.drawState)(i, x, f); + 'left of' === w.note.position + ? (f.setNode(C.id + '-note', L), f.setNode(C.id, C)) + : (f.setNode(C.id, C), f.setNode(C.id + '-note', L)), + f.setParent(C.id, C.id + '-group'), + f.setParent(C.id + '-note', C.id + '-group'); + } else f.setNode(C.id, C); + } + c.log.debug('Count=', f.nodeCount(), f); + var M = 0; + b.forEach(function (e) { + var t; + M++, + c.log.debug('Setting edge', e), + f.setEdge( + e.id1, + e.id2, + { + relation: e, + width: + ((t = e.title), + t ? t.length * n.fontSizeFactor : 1), + height: + n.labelHeight * h.default.getRows(e.title).length, + labelpos: 'c', + }, + 'id' + M + ); + }), + o.a.layout(f), + c.log.debug('Graph after layout', f.nodes()); + var D = i.node(); + f.nodes().forEach(function (e) { + void 0 !== e && void 0 !== f.node(e) + ? (c.log.warn( + 'Node ' + e + ': ' + JSON.stringify(f.node(e)) + ), + Object(r.select)('#' + D.id + ' #' + e).attr( + 'transform', + 'translate(' + + (f.node(e).x - f.node(e).width / 2) + + ',' + + (f.node(e).y + + (m[e] ? m[e].y : 0) - + f.node(e).height / 2) + + ' )' + ), + Object(r.select)('#' + D.id + ' #' + e).attr( + 'data-x-shift', + f.node(e).x - f.node(e).width / 2 + ), + document + .querySelectorAll( + '#' + D.id + ' #' + e + ' .divider' + ) + .forEach(function (e) { + var t = e.parentElement, + i = 0, + n = 0; + t && + (t.parentElement && + (i = t.parentElement.getBBox().width), + (n = parseInt( + t.getAttribute('data-x-shift'), + 10 + )), + Number.isNaN(n) && (n = 0)), + e.setAttribute('x1', 0 - n + 8), + e.setAttribute('x2', i - n - 8); + })) + : c.log.debug( + 'No Node ' + e + ': ' + JSON.stringify(f.node(e)) + ); + }); + var N = D.getBBox(); + f.edges().forEach(function (e) { + void 0 !== e && + void 0 !== f.edge(e) && + (c.log.debug( + 'Edge ' + + e.v + + ' -> ' + + e.w + + ': ' + + JSON.stringify(f.edge(e)) + ), + Object(g.drawEdge)(i, f.edge(e), f.edge(e).relation)); + }), + (N = D.getBBox()); + var E = { + id: s || 'root', + label: s || 'root', + width: 0, + height: 0, + }; + return ( + (E.width = N.width + 2 * n.padding), + (E.height = N.height + 2 * n.padding), + c.log.debug('Doc rendered', E, f), + E + ); + }; + t.default = { setConf: _, draw: b }; + }, + './src/diagrams/state/styles.js': function (e, t, i) { + 'use strict'; + i.r(t), + (t.default = function (e) { + return 'g.stateGroup text {\n fill: ' + .concat( + e.nodeBorder, + ';\n stroke: none;\n font-size: 10px;\n}\ng.stateGroup text {\n fill: ' + ) + .concat( + e.textColor, + ';\n stroke: none;\n font-size: 10px;\n\n}\ng.stateGroup .state-title {\n font-weight: bolder;\n fill: ' + ) + .concat( + e.labelColor, + ';\n}\n\ng.stateGroup rect {\n fill: ' + ) + .concat(e.mainBkg, ';\n stroke: ') + .concat( + e.nodeBorder, + ';\n}\n\ng.stateGroup line {\n stroke: ' + ) + .concat( + e.lineColor, + ';\n stroke-width: 1;\n}\n\n.transition {\n stroke: ' + ) + .concat( + e.lineColor, + ';\n stroke-width: 1;\n fill: none;\n}\n\n.stateGroup .composit {\n fill: ' + ) + .concat( + e.background, + ';\n border-bottom: 1px\n}\n\n.stateGroup .alt-composit {\n fill: #e0e0e0;\n border-bottom: 1px\n}\n\n.state-note {\n stroke: ' + ) + .concat(e.noteBorderColor, ';\n fill: ') + .concat( + e.noteBkgColor, + ';\n\n text {\n fill: black;\n stroke: none;\n font-size: 10px;\n }\n}\n\n.stateLabel .box {\n stroke: none;\n stroke-width: 0;\n fill: ' + ) + .concat( + e.mainBkg, + ';\n opacity: 0.5;\n}\n\n.edgeLabel .label rect {\n fill: ' + ) + .concat( + e.tertiaryColor, + ';\n opacity: 0.5;\n}\n.edgeLabel .label text {\n fill: ' + ) + .concat( + e.tertiaryTextColor, + ';\n}\n.label div .edgeLabel {\n color: ' + ) + .concat( + e.tertiaryTextColor, + ';\n}\n\n.stateLabel text {\n fill: ' + ) + .concat( + e.labelColor, + ';\n font-size: 10px;\n font-weight: bold;\n}\n\n.node circle.state-start {\n fill: ' + ) + .concat( + e.lineColor, + ';\n stroke: black;\n}\n.node circle.state-end {\n fill: ' + ) + .concat(e.primaryBorderColor, ';\n stroke: ') + .concat( + e.background, + ';\n stroke-width: 1.5\n}\n.end-state-inner {\n fill: ' + ) + .concat(e.background, ';\n // stroke: ') + .concat( + e.background, + ';\n stroke-width: 1.5\n}\n\n.node rect {\n fill: ' + ) + .concat(e.mainBkg, ';\n stroke: ') + .concat( + e.nodeBorder, + ';\n stroke-width: 1px;\n}\n#statediagram-barbEnd {\n fill: ' + ) + .concat( + e.lineColor, + ';\n}\n\n.statediagram-cluster rect {\n fill: ' + ) + .concat(e.mainBkg, ';\n stroke: ') + .concat( + e.nodeBorder, + ';\n stroke-width: 1px;\n}\n\n.cluster-label, .nodeLabel {\n color: ' + ) + .concat( + e.textColor, + ';\n}\n\n.statediagram-cluster rect.outer {\n rx: 5px;\n ry: 5px;\n}\n.statediagram-state .divider {\n stroke: ' + ) + .concat( + e.nodeBorder, + ';\n}\n\n.statediagram-state .title-state {\n rx: 5px;\n ry: 5px;\n}\n.statediagram-cluster.statediagram-cluster .inner {\n fill: ' + ) + .concat( + e.background, + ';\n}\n.statediagram-cluster.statediagram-cluster-alt .inner {\n fill: #e0e0e0;\n}\n\n.statediagram-cluster .inner {\n rx:0;\n ry:0;\n}\n\n.statediagram-state rect.basic {\n rx: 5px;\n ry: 5px;\n}\n.statediagram-state rect.divider {\n stroke-dasharray: 10,10;\n fill: ' + ) + .concat( + e.altBackground ? e.altBackground : '#efefef', + ';\n}\n\n.note-edge {\n stroke-dasharray: 5;\n}\n\n.statediagram-note rect {\n fill: ' + ) + .concat(e.noteBkgColor, ';\n stroke: ') + .concat( + e.noteBorderColor, + ';\n stroke-width: 1px;\n rx: 0;\n ry: 0;\n}\n.statediagram-note rect {\n fill: ' + ) + .concat(e.noteBkgColor, ';\n stroke: ') + .concat( + e.noteBorderColor, + ';\n stroke-width: 1px;\n rx: 0;\n ry: 0;\n}\n\n.statediagram-note text {\n fill: ' + ) + .concat( + e.noteTextColor, + ';\n}\n\n.statediagram-note .nodeLabel {\n color: ' + ) + .concat( + e.noteTextColor, + ';\n}\n\n#dependencyStart, #dependencyEnd {\n fill: ' + ) + .concat(e.lineColor, ';\n stroke: ') + .concat(e.lineColor, ';\n stroke-width: 1;\n}\n'); + }); + }, + './src/diagrams/user-journey/journeyDb.js': function (e, t, i) { + 'use strict'; + i.r(t), + i.d(t, 'parseDirective', function () { + return h; + }), + i.d(t, 'clear', function () { + return u; + }), + i.d(t, 'setTitle', function () { + return g; + }), + i.d(t, 'getTitle', function () { + return f; + }), + i.d(t, 'addSection', function () { + return p; + }), + i.d(t, 'getSections', function () { + return m; + }), + i.d(t, 'getTasks', function () { + return _; + }), + i.d(t, 'addTask', function () { + return b; + }), + i.d(t, 'addTaskOrg', function () { + return v; + }); + var n = i('./src/mermaidAPI.js'), + r = i('./src/config.js'); + function s(e) { + return ( + (function (e) { + if (Array.isArray(e)) { + for ( + var t = 0, i = new Array(e.length); + t < e.length; + t++ + ) + i[t] = e[t]; + return i; + } + })(e) || + (function (e) { + if ( + Symbol.iterator in Object(e) || + '[object Arguments]' === + Object.prototype.toString.call(e) + ) + return Array.from(e); + })(e) || + (function () { + throw new TypeError( + 'Invalid attempt to spread non-iterable instance' + ); + })() + ); + } + var o = '', + a = '', + l = [], + c = [], + d = [], + h = function (e, t, i) { + n.default.parseDirective(this, e, t, i); + }, + u = function () { + (l.length = 0), + (c.length = 0), + (a = ''), + (o = ''), + (d.length = 0); + }, + g = function (e) { + o = e; + }, + f = function () { + return o; + }, + p = function (e) { + (a = e), l.push(e); + }, + m = function () { + return l; + }, + _ = function () { + for (var e = y(), t = 0; !e && t < 100; ) (e = y()), t++; + return c.push.apply(c, d), c; + }, + b = function (e, t) { + var i = t.substr(1).split(':'), + n = 0, + r = []; + 1 === i.length + ? ((n = Number(i[0])), (r = [])) + : ((n = Number(i[0])), (r = i[1].split(','))); + var s = r.map(function (e) { + return e.trim(); + }), + o = { section: a, type: a, people: s, task: e, score: n }; + d.push(o); + }, + v = function (e) { + var t = { + section: a, + type: a, + description: e, + task: e, + classes: [], + }; + c.push(t); + }, + y = function () { + for (var e = !0, t = 0; t < d.length; t++) + d[t].processed, (e = e && d[t].processed); + return e; + }; + t.default = { + parseDirective: h, + getConfig: function () { + return r.getConfig().journey; + }, + clear: u, + setTitle: g, + getTitle: f, + addSection: p, + getSections: m, + getTasks: _, + addTask: b, + addTaskOrg: v, + getActors: function () { + return ( + (e = []), + c.forEach(function (t) { + t.people && e.push.apply(e, s(t.people)); + }), + s(new Set(e)).sort() + ); + var e; + }, + }; + }, + './src/diagrams/user-journey/journeyRenderer.js': function ( + e, + t, + i + ) { + 'use strict'; + i.r(t), + i.d(t, 'setConf', function () { + return c; + }), + i.d(t, 'draw', function () { + return g; + }), + i.d(t, 'bounds', function () { + return f; + }), + i.d(t, 'drawTasks', function () { + return _; + }); + var n = i('d3'), + r = i('./src/diagrams/user-journey/parser/journey.jison'), + s = i('./src/diagrams/user-journey/journeyDb.js'), + o = i('./src/diagrams/user-journey/svgDraw.js'), + a = i('./src/config.js'), + l = i('./src/utils.js'); + r.parser.yy = s.default; + var c = function (e) { + Object.keys(e).forEach(function (t) { + h[t] = e[t]; + }); + }, + d = {}, + h = Object(a.getConfig)().journey, + u = Object(a.getConfig)().journey.leftMargin, + g = function (e, t) { + var i = Object(a.getConfig)().journey; + r.parser.yy.clear(), r.parser.parse(e + '\n'), f.init(); + var s = Object(n.select)('#' + t); + s.attr('xmlns:xlink', 'http://www.w3.org/1999/xlink'), + o.default.initGraphics(s); + var c = r.parser.yy.getTasks(), + h = r.parser.yy.getTitle(), + g = r.parser.yy.getActors(); + for (var p in d) delete d[p]; + var m = 0; + g.forEach(function (e) { + (d[e] = i.actorColours[m % i.actorColours.length]), m++; + }), + (function (e) { + var t = Object(a.getConfig)().journey, + i = 60; + Object.keys(d).forEach(function (n) { + var r = d[n], + s = { + cx: 20, + cy: i, + r: 7, + fill: r, + stroke: '#000', + }; + o.default.drawCircle(e, s); + var a = { + x: 40, + y: i + 7, + fill: '#666', + text: n, + textMargin: 5 | t.boxTextMargin, + }; + o.default.drawText(e, a), (i += 20); + }); + })(s), + f.insert(0, 0, u, 50 * Object.keys(d).length), + console.log(f), + _(s, c, 0); + var b = f.getBounds(); + h && + s + .append('text') + .text(h) + .attr('x', u) + .attr('font-size', '4ex') + .attr('font-weight', 'bold') + .attr('y', 25); + var v = b.stopy - b.starty + 2 * i.diagramMarginY, + y = u + b.stopx + 2 * i.diagramMarginX; + Object(l.configureSvgSize)(s, v, y, i.useMaxWidth), + s + .append('line') + .attr('x1', u) + .attr('y1', 4 * i.height) + .attr('x2', y - u - 4) + .attr('y2', 4 * i.height) + .attr('stroke-width', 4) + .attr('stroke', 'black') + .attr('marker-end', 'url(#arrowhead)'); + var w = h ? 70 : 0; + s.attr( + 'viewBox', + '' + .concat(b.startx, ' -25 ') + .concat(y, ' ') + .concat(v + w) + ), + s.attr('preserveAspectRatio', 'xMinYMin meet'), + s.attr('height', v + w + 25); + }, + f = { + data: { + startx: void 0, + stopx: void 0, + starty: void 0, + stopy: void 0, + }, + verticalPos: 0, + sequenceItems: [], + init: function () { + (this.sequenceItems = []), + (this.data = { + startx: void 0, + stopx: void 0, + starty: void 0, + stopy: void 0, + }), + (this.verticalPos = 0); + }, + updateVal: function (e, t, i, n) { + void 0 === e[t] ? (e[t] = i) : (e[t] = n(i, e[t])); + }, + updateBounds: function (e, t, i, n) { + var r = Object(a.getConfig)().journey, + s = this, + o = 0; + this.sequenceItems.forEach(function (a) { + o++; + var l = s.sequenceItems.length - o + 1; + s.updateVal(a, 'starty', t - l * r.boxMargin, Math.min), + s.updateVal( + a, + 'stopy', + n + l * r.boxMargin, + Math.max + ), + s.updateVal( + f.data, + 'startx', + e - l * r.boxMargin, + Math.min + ), + s.updateVal( + f.data, + 'stopx', + i + l * r.boxMargin, + Math.max + ), + s.updateVal( + a, + 'startx', + e - l * r.boxMargin, + Math.min + ), + s.updateVal( + a, + 'stopx', + i + l * r.boxMargin, + Math.max + ), + s.updateVal( + f.data, + 'starty', + t - l * r.boxMargin, + Math.min + ), + s.updateVal( + f.data, + 'stopy', + n + l * r.boxMargin, + Math.max + ); + }); + }, + insert: function (e, t, i, n) { + var r = Math.min(e, i), + s = Math.max(e, i), + o = Math.min(t, n), + a = Math.max(t, n); + this.updateVal(f.data, 'startx', r, Math.min), + this.updateVal(f.data, 'starty', o, Math.min), + this.updateVal(f.data, 'stopx', s, Math.max), + this.updateVal(f.data, 'stopy', a, Math.max), + this.updateBounds(r, o, s, a); + }, + bumpVerticalPos: function (e) { + (this.verticalPos = this.verticalPos + e), + (this.data.stopy = this.verticalPos); + }, + getVerticalPos: function () { + return this.verticalPos; + }, + getBounds: function () { + return this.data; + }, + }, + p = h.sectionFills, + m = h.sectionColours, + _ = function (e, t, i) { + for ( + var n = Object(a.getConfig)().journey, + r = '', + s = i + (2 * n.height + n.diagramMarginY), + l = 0, + c = '#CCC', + h = 'black', + g = 0, + _ = 0; + _ < t.length; + _++ + ) { + var b = t[_]; + if (r !== b.section) { + (c = p[l % p.length]), + (g = l % p.length), + (h = m[l % m.length]); + var v = { + x: _ * n.taskMargin + _ * n.width + u, + y: 50, + text: b.section, + fill: c, + num: g, + colour: h, + }; + o.default.drawSection(e, v, n), (r = b.section), l++; + } + var y = b.people.reduce(function (e, t) { + return d[t] && (e[t] = d[t]), e; + }, {}); + (b.x = _ * n.taskMargin + _ * n.width + u), + (b.y = s), + (b.width = n.diagramMarginX), + (b.height = n.diagramMarginY), + (b.colour = h), + (b.fill = c), + (b.num = g), + (b.actors = y), + o.default.drawTask(e, b, n), + f.insert(b.x, b.y, b.x + b.width + n.taskMargin, 450); + } + }; + t.default = { setConf: c, draw: g }; + }, + './src/diagrams/user-journey/parser/journey.jison': function ( + e, + t, + i + ) { + (function (e, n) { + var r = (function () { + var e = function (e, t, i, n) { + for (i = i || {}, n = e.length; n--; i[e[n]] = t); + return i; + }, + t = [1, 2], + i = [1, 5], + n = [6, 9, 11, 17, 18, 19, 21], + r = [1, 15], + s = [1, 16], + o = [1, 17], + a = [1, 21], + l = [4, 6, 9, 11, 17, 18, 19, 21], + c = { + trace: function () {}, + yy: {}, + symbols_: { + error: 2, + start: 3, + journey: 4, + document: 5, + EOF: 6, + directive: 7, + line: 8, + SPACE: 9, + statement: 10, + NEWLINE: 11, + openDirective: 12, + typeDirective: 13, + closeDirective: 14, + ':': 15, + argDirective: 16, + title: 17, + section: 18, + taskName: 19, + taskData: 20, + open_directive: 21, + type_directive: 22, + arg_directive: 23, + close_directive: 24, + $accept: 0, + $end: 1, + }, + terminals_: { + 2: 'error', + 4: 'journey', + 6: 'EOF', + 9: 'SPACE', + 11: 'NEWLINE', + 15: ':', + 17: 'title', + 18: 'section', + 19: 'taskName', + 20: 'taskData', + 21: 'open_directive', + 22: 'type_directive', + 23: 'arg_directive', + 24: 'close_directive', + }, + productions_: [ + 0, + [3, 3], + [3, 2], + [5, 0], + [5, 2], + [8, 2], + [8, 1], + [8, 1], + [8, 1], + [7, 4], + [7, 6], + [10, 1], + [10, 1], + [10, 2], + [10, 1], + [12, 1], + [13, 1], + [16, 1], + [14, 1], + ], + performAction: function (e, t, i, n, r, s, o) { + var a = s.length - 1; + switch (r) { + case 1: + return s[a - 1]; + case 3: + this.$ = []; + break; + case 4: + s[a - 1].push(s[a]), (this.$ = s[a - 1]); + break; + case 5: + case 6: + this.$ = s[a]; + break; + case 7: + case 8: + this.$ = []; + break; + case 11: + n.setTitle(s[a].substr(6)), + (this.$ = s[a].substr(6)); + break; + case 12: + n.addSection(s[a].substr(8)), + (this.$ = s[a].substr(8)); + break; + case 13: + n.addTask(s[a - 1], s[a]), (this.$ = 'task'); + break; + case 15: + n.parseDirective('%%{', 'open_directive'); + break; + case 16: + n.parseDirective(s[a], 'type_directive'); + break; + case 17: + (s[a] = s[a].trim().replace(/'/g, '"')), + n.parseDirective(s[a], 'arg_directive'); + break; + case 18: + n.parseDirective( + '}%%', + 'close_directive', + 'journey' + ); + } + }, + table: [ + { 3: 1, 4: t, 7: 3, 12: 4, 21: i }, + { 1: [3] }, + e(n, [2, 3], { 5: 6 }), + { 3: 7, 4: t, 7: 3, 12: 4, 21: i }, + { 13: 8, 22: [1, 9] }, + { 22: [2, 15] }, + { + 6: [1, 10], + 7: 18, + 8: 11, + 9: [1, 12], + 10: 13, + 11: [1, 14], + 12: 4, + 17: r, + 18: s, + 19: o, + 21: i, + }, + { 1: [2, 2] }, + { 14: 19, 15: [1, 20], 24: a }, + e([15, 24], [2, 16]), + e(n, [2, 8], { 1: [2, 1] }), + e(n, [2, 4]), + { 7: 18, 10: 22, 12: 4, 17: r, 18: s, 19: o, 21: i }, + e(n, [2, 6]), + e(n, [2, 7]), + e(n, [2, 11]), + e(n, [2, 12]), + { 20: [1, 23] }, + e(n, [2, 14]), + { 11: [1, 24] }, + { 16: 25, 23: [1, 26] }, + { 11: [2, 18] }, + e(n, [2, 5]), + e(n, [2, 13]), + e(l, [2, 9]), + { 14: 27, 24: a }, + { 24: [2, 17] }, + { 11: [1, 28] }, + e(l, [2, 10]), + ], + defaultActions: { + 5: [2, 15], + 7: [2, 2], + 21: [2, 18], + 26: [2, 17], + }, + parseError: function (e, t) { + if (!t.recoverable) { + var i = new Error(e); + throw ((i.hash = t), i); + } + this.trace(e); + }, + parse: function (e) { + var t = this, + i = [0], + n = [], + r = [null], + s = [], + o = this.table, + a = '', + l = 0, + c = 0, + d = 0, + h = 2, + u = 1, + g = s.slice.call(arguments, 1), + f = Object.create(this.lexer), + p = { yy: {} }; + for (var m in this.yy) + Object.prototype.hasOwnProperty.call(this.yy, m) && + (p.yy[m] = this.yy[m]); + f.setInput(e, p.yy), + (p.yy.lexer = f), + (p.yy.parser = this), + void 0 === f.yylloc && (f.yylloc = {}); + var _ = f.yylloc; + s.push(_); + var b = f.options && f.options.ranges; + function v() { + var e; + return ( + 'number' != + typeof (e = n.pop() || f.lex() || u) && + (e instanceof Array && (e = (n = e).pop()), + (e = t.symbols_[e] || e)), + e + ); + } + 'function' == typeof p.yy.parseError + ? (this.parseError = p.yy.parseError) + : (this.parseError = Object.getPrototypeOf( + this + ).parseError); + for (var y, w, C, S, k, x, L, M, D, N = {}; ; ) { + if ( + ((C = i[i.length - 1]), + this.defaultActions[C] + ? (S = this.defaultActions[C]) + : (null == y && (y = v()), + (S = o[C] && o[C][y])), + void 0 === S || !S.length || !S[0]) + ) { + var E = ''; + for (x in ((D = []), o[C])) + this.terminals_[x] && + x > h && + D.push("'" + this.terminals_[x] + "'"); + (E = f.showPosition + ? 'Parse error on line ' + + (l + 1) + + ':\n' + + f.showPosition() + + '\nExpecting ' + + D.join(', ') + + ", got '" + + (this.terminals_[y] || y) + + "'" + : 'Parse error on line ' + + (l + 1) + + ': Unexpected ' + + (y == u + ? 'end of input' + : "'" + (this.terminals_[y] || y) + "'")), + this.parseError(E, { + text: f.match, + token: this.terminals_[y] || y, + line: f.yylineno, + loc: _, + expected: D, + }); + } + if (S[0] instanceof Array && S.length > 1) + throw new Error( + 'Parse Error: multiple actions possible at state: ' + + C + + ', token: ' + + y + ); + switch (S[0]) { + case 1: + i.push(y), + r.push(f.yytext), + s.push(f.yylloc), + i.push(S[1]), + (y = null), + w + ? ((y = w), (w = null)) + : ((c = f.yyleng), + (a = f.yytext), + (l = f.yylineno), + (_ = f.yylloc), + d > 0 && d--); + break; + case 2: + if ( + ((L = this.productions_[S[1]][1]), + (N.$ = r[r.length - L]), + (N._$ = { + first_line: + s[s.length - (L || 1)].first_line, + last_line: s[s.length - 1].last_line, + first_column: + s[s.length - (L || 1)].first_column, + last_column: s[s.length - 1].last_column, + }), + b && + (N._$.range = [ + s[s.length - (L || 1)].range[0], + s[s.length - 1].range[1], + ]), + void 0 !== + (k = this.performAction.apply( + N, + [a, c, l, p.yy, S[1], r, s].concat(g) + ))) + ) + return k; + L && + ((i = i.slice(0, -1 * L * 2)), + (r = r.slice(0, -1 * L)), + (s = s.slice(0, -1 * L))), + i.push(this.productions_[S[1]][0]), + r.push(N.$), + s.push(N._$), + (M = o[i[i.length - 2]][i[i.length - 1]]), + i.push(M); + break; + case 3: + return !0; + } + } + return !0; + }, + }, + d = { + EOF: 1, + parseError: function (e, t) { + if (!this.yy.parser) throw new Error(e); + this.yy.parser.parseError(e, t); + }, + setInput: function (e, t) { + return ( + (this.yy = t || this.yy || {}), + (this._input = e), + (this._more = this._backtrack = this.done = !1), + (this.yylineno = this.yyleng = 0), + (this.yytext = this.matched = this.match = ''), + (this.conditionStack = ['INITIAL']), + (this.yylloc = { + first_line: 1, + first_column: 0, + last_line: 1, + last_column: 0, + }), + this.options.ranges && (this.yylloc.range = [0, 0]), + (this.offset = 0), + this + ); + }, + input: function () { + var e = this._input[0]; + return ( + (this.yytext += e), + this.yyleng++, + this.offset++, + (this.match += e), + (this.matched += e), + e.match(/(?:\r\n?|\n).*/g) + ? (this.yylineno++, this.yylloc.last_line++) + : this.yylloc.last_column++, + this.options.ranges && this.yylloc.range[1]++, + (this._input = this._input.slice(1)), + e + ); + }, + unput: function (e) { + var t = e.length, + i = e.split(/(?:\r\n?|\n)/g); + (this._input = e + this._input), + (this.yytext = this.yytext.substr( + 0, + this.yytext.length - t + )), + (this.offset -= t); + var n = this.match.split(/(?:\r\n?|\n)/g); + (this.match = this.match.substr( + 0, + this.match.length - 1 + )), + (this.matched = this.matched.substr( + 0, + this.matched.length - 1 + )), + i.length - 1 && (this.yylineno -= i.length - 1); + var r = 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: i + ? (i.length === n.length + ? this.yylloc.first_column + : 0) + + n[n.length - i.length].length - + i[0].length + : this.yylloc.first_column - t, + }), + this.options.ranges && + (this.yylloc.range = [ + r[0], + r[0] + this.yyleng - t, + ]), + (this.yyleng = this.yytext.length), + this + ); + }, + more: function () { + return (this._more = !0), this; + }, + reject: function () { + return this.options.backtrack_lexer + ? ((this._backtrack = !0), this) + : this.parseError( + 'Lexical error on line ' + + (this.yylineno + 1) + + '. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n' + + this.showPosition(), + { text: '', token: null, line: this.yylineno } + ); + }, + less: function (e) { + this.unput(this.match.slice(e)); + }, + pastInput: function () { + var e = this.matched.substr( + 0, + this.matched.length - this.match.length + ); + return ( + (e.length > 20 ? '...' : '') + + e.substr(-20).replace(/\n/g, '') + ); + }, + upcomingInput: function () { + var e = this.match; + return ( + e.length < 20 && + (e += this._input.substr(0, 20 - e.length)), + ( + e.substr(0, 20) + (e.length > 20 ? '...' : '') + ).replace(/\n/g, '') + ); + }, + showPosition: function () { + var e = this.pastInput(), + t = new Array(e.length + 1).join('-'); + return e + this.upcomingInput() + '\n' + t + '^'; + }, + test_match: function (e, t) { + var i, n, r; + if ( + (this.options.backtrack_lexer && + ((r = { + 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 && + (r.yylloc.range = this.yylloc.range.slice(0))), + (n = e[0].match(/(?:\r\n?|\n).*/g)) && + (this.yylineno += n.length), + (this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: n + ? n[n.length - 1].length - + n[n.length - 1].match(/\r?\n?/)[0].length + : this.yylloc.last_column + e[0].length, + }), + (this.yytext += e[0]), + (this.match += e[0]), + (this.matches = e), + (this.yyleng = this.yytext.length), + this.options.ranges && + (this.yylloc.range = [ + this.offset, + (this.offset += this.yyleng), + ]), + (this._more = !1), + (this._backtrack = !1), + (this._input = this._input.slice(e[0].length)), + (this.matched += e[0]), + (i = this.performAction.call( + this, + this.yy, + this, + t, + this.conditionStack[ + this.conditionStack.length - 1 + ] + )), + this.done && this._input && (this.done = !1), + i) + ) + return i; + if (this._backtrack) { + for (var s in r) this[s] = r[s]; + return !1; + } + return !1; + }, + next: function () { + if (this.done) return this.EOF; + var e, t, i, n; + this._input || (this.done = !0), + this._more || + ((this.yytext = ''), (this.match = '')); + for ( + var r = this._currentRules(), s = 0; + s < r.length; + s++ + ) + if ( + (i = this._input.match(this.rules[r[s]])) && + (!t || i[0].length > t[0].length) + ) { + if ( + ((t = i), (n = s), this.options.backtrack_lexer) + ) { + if (!1 !== (e = this.test_match(i, r[s]))) + return e; + if (this._backtrack) { + t = !1; + continue; + } + return !1; + } + if (!this.options.flex) break; + } + return t + ? !1 !== (e = this.test_match(t, r[n])) && e + : '' === this._input + ? this.EOF + : this.parseError( + 'Lexical error on line ' + + (this.yylineno + 1) + + '. Unrecognized text.\n' + + this.showPosition(), + { text: '', token: null, line: this.yylineno } + ); + }, + lex: function () { + return this.next() || this.lex(); + }, + begin: function (e) { + this.conditionStack.push(e); + }, + popState: function () { + return this.conditionStack.length - 1 > 0 + ? this.conditionStack.pop() + : this.conditionStack[0]; + }, + _currentRules: function () { + return this.conditionStack.length && + this.conditionStack[this.conditionStack.length - 1] + ? this.conditions[ + this.conditionStack[ + this.conditionStack.length - 1 + ] + ].rules + : this.conditions.INITIAL.rules; + }, + topState: function (e) { + return (e = + this.conditionStack.length - + 1 - + Math.abs(e || 0)) >= 0 + ? this.conditionStack[e] + : 'INITIAL'; + }, + pushState: function (e) { + this.begin(e); + }, + stateStackSize: function () { + return this.conditionStack.length; + }, + options: { 'case-insensitive': !0 }, + performAction: function (e, t, i, n) { + switch (i) { + case 0: + return this.begin('open_directive'), 21; + case 1: + return this.begin('type_directive'), 22; + case 2: + return ( + this.popState(), this.begin('arg_directive'), 15 + ); + case 3: + return this.popState(), this.popState(), 24; + case 4: + return 23; + case 5: + case 6: + break; + case 7: + return 11; + case 8: + case 9: + break; + case 10: + return 4; + case 11: + return 17; + case 12: + return 18; + case 13: + return 19; + case 14: + return 20; + case 15: + return 15; + case 16: + return 6; + case 17: + return 'INVALID'; + } + }, + rules: [ + /^(?:%%\{)/i, + /^(?:((?:(?!\}%%)[^:.])*))/i, + /^(?::)/i, + /^(?:\}%%)/i, + /^(?:((?:(?!\}%%).|\n)*))/i, + /^(?:%(?!\{)[^\n]*)/i, + /^(?:[^\}]%%[^\n]*)/i, + /^(?:[\n]+)/i, + /^(?:\s+)/i, + /^(?:#[^\n]*)/i, + /^(?:journey\b)/i, + /^(?:title\s[^#\n;]+)/i, + /^(?:section\s[^#:\n;]+)/i, + /^(?:[^#:\n;]+)/i, + /^(?::[^#\n;]+)/i, + /^(?::)/i, + /^(?:$)/i, + /^(?:.)/i, + ], + conditions: { + open_directive: { rules: [1], inclusive: !1 }, + type_directive: { rules: [2, 3], inclusive: !1 }, + arg_directive: { rules: [3, 4], inclusive: !1 }, + INITIAL: { + rules: [ + 0, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + ], + inclusive: !0, + }, + }, + }; + function h() { + this.yy = {}; + } + return ( + (c.lexer = d), (h.prototype = c), (c.Parser = h), new h() + ); + })(); + (t.parser = r), + (t.Parser = r.Parser), + (t.parse = function () { + return r.parse.apply(r, arguments); + }), + (t.main = function (n) { + n[1] || + (console.log('Usage: ' + n[0] + ' FILE'), e.exit(1)); + var r = i( + './node_modules/node-libs-browser/mock/empty.js' + ).readFileSync( + i('./node_modules/path-browserify/index.js').normalize( + n[1] + ), + 'utf8' + ); + return t.parser.parse(r); + }), + i.c[i.s] === n && t.main(e.argv.slice(1)); + }.call( + this, + i('./node_modules/process/browser.js'), + i('./node_modules/webpack/buildin/module.js')(e) + )); + }, + './src/diagrams/user-journey/styles.js': function (e, t, i) { + 'use strict'; + i.r(t), + (t.default = function (e) { + return ".label {\n font-family: 'trebuchet ms', verdana, arial, sans-serif;\n font-family: var(--mermaid-font-family);\n color: " + .concat( + e.textColor, + ';\n }\n .mouth {\n stroke: #666;\n }\n\n line {\n stroke: ' + ) + .concat(e.textColor, '\n }\n\n .legend {\n fill: ') + .concat( + e.textColor, + ';\n }\n\n .label text {\n fill: #333;\n }\n .label {\n color: ' + ) + .concat( + e.textColor, + '\n }\n\n .face {\n fill: #FFF8DC;\n stroke: #999;\n }\n\n .node rect,\n .node circle,\n .node ellipse,\n .node polygon,\n .node path {\n fill: ' + ) + .concat(e.mainBkg, ';\n stroke: ') + .concat( + e.nodeBorder, + ';\n stroke-width: 1px;\n }\n\n .node .label {\n text-align: center;\n }\n .node.clickable {\n cursor: pointer;\n }\n\n .arrowheadPath {\n fill: ' + ) + .concat( + e.arrowheadColor, + ';\n }\n\n .edgePath .path {\n stroke: ' + ) + .concat( + e.lineColor, + ';\n stroke-width: 1.5px;\n }\n\n .flowchart-link {\n stroke: ' + ) + .concat( + e.lineColor, + ';\n fill: none;\n }\n\n .edgeLabel {\n background-color: ' + ) + .concat( + e.edgeLabelBackground, + ';\n rect {\n opacity: 0.5;\n }\n text-align: center;\n }\n\n .cluster rect {\n }\n\n .cluster text {\n fill: ' + ) + .concat( + e.titleColor, + ";\n }\n\n div.mermaidTooltip {\n position: absolute;\n text-align: center;\n max-width: 200px;\n padding: 2px;\n font-family: 'trebuchet ms', verdana, arial, sans-serif;\n font-family: var(--mermaid-font-family);\n font-size: 12px;\n background: " + ) + .concat(e.tertiaryColor, ';\n border: 1px solid ') + .concat( + e.border2, + ';\n border-radius: 2px;\n pointer-events: none;\n z-index: 100;\n }\n\n .task-type-0, .section-type-0 {\n ' + ) + .concat( + e.fillType0 ? 'fill: '.concat(e.fillType0) : '', + ';\n }\n .task-type-1, .section-type-1 {\n ' + ) + .concat( + e.fillType0 ? 'fill: '.concat(e.fillType1) : '', + ';\n }\n .task-type-2, .section-type-2 {\n ' + ) + .concat( + e.fillType0 ? 'fill: '.concat(e.fillType2) : '', + ';\n }\n .task-type-3, .section-type-3 {\n ' + ) + .concat( + e.fillType0 ? 'fill: '.concat(e.fillType3) : '', + ';\n }\n .task-type-4, .section-type-4 {\n ' + ) + .concat( + e.fillType0 ? 'fill: '.concat(e.fillType4) : '', + ';\n }\n .task-type-5, .section-type-5 {\n ' + ) + .concat( + e.fillType0 ? 'fill: '.concat(e.fillType5) : '', + ';\n }\n .task-type-6, .section-type-6 {\n ' + ) + .concat( + e.fillType0 ? 'fill: '.concat(e.fillType6) : '', + ';\n }\n .task-type-7, .section-type-7 {\n ' + ) + .concat( + e.fillType0 ? 'fill: '.concat(e.fillType7) : '', + ';\n }\n' + ); + }); + }, + './src/diagrams/user-journey/svgDraw.js': function (e, t, i) { + 'use strict'; + i.r(t), + i.d(t, 'drawRect', function () { + return r; + }), + i.d(t, 'drawFace', function () { + return s; + }), + i.d(t, 'drawCircle', function () { + return o; + }), + i.d(t, 'drawText', function () { + return a; + }), + i.d(t, 'drawLabel', function () { + return l; + }), + i.d(t, 'drawSection', function () { + return c; + }), + i.d(t, 'drawTask', function () { + return h; + }), + i.d(t, 'drawBackgroundRect', function () { + return u; + }), + i.d(t, 'getTextObj', function () { + return g; + }), + i.d(t, 'getNoteRect', function () { + return f; + }); + var n = i('d3'), + r = function (e, t) { + var i = e.append('rect'); + return ( + i.attr('x', t.x), + i.attr('y', t.y), + i.attr('fill', t.fill), + i.attr('stroke', t.stroke), + i.attr('width', t.width), + i.attr('height', t.height), + i.attr('rx', t.rx), + i.attr('ry', t.ry), + void 0 !== t.class && i.attr('class', t.class), + i + ); + }, + s = function (e, t) { + var 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'), + r = e.append('g'); + return ( + r + .append('circle') + .attr('cx', t.cx - 5) + .attr('cy', t.cy - 5) + .attr('r', 1.5) + .attr('stroke-width', 2) + .attr('fill', '#666') + .attr('stroke', '#666'), + r + .append('circle') + .attr('cx', t.cx + 5) + .attr('cy', t.cy - 5) + .attr('r', 1.5) + .attr('stroke-width', 2) + .attr('fill', '#666') + .attr('stroke', '#666'), + t.score > 3 + ? (function (e) { + var i = Object(n.arc)() + .startAngle(Math.PI / 2) + .endAngle((Math.PI / 2) * 3) + .innerRadius(7.5) + .outerRadius(15 / 2.2); + e.append('path') + .attr('class', 'mouth') + .attr('d', i) + .attr( + 'transform', + 'translate(' + t.cx + ',' + (t.cy + 2) + ')' + ); + })(r) + : t.score < 3 + ? (function (e) { + var i = Object(n.arc)() + .startAngle((3 * Math.PI) / 2) + .endAngle((Math.PI / 2) * 5) + .innerRadius(7.5) + .outerRadius(15 / 2.2); + e.append('path') + .attr('class', 'mouth') + .attr('d', i) + .attr( + 'transform', + 'translate(' + t.cx + ',' + (t.cy + 7) + ')' + ); + })(r) + : (function (e) { + e.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'); + })(r), + i + ); + }, + o = function (e, t) { + var i = e.append('circle'); + return ( + i.attr('cx', t.cx), + i.attr('cy', t.cy), + i.attr('fill', t.fill), + i.attr('stroke', t.stroke), + i.attr('r', t.r), + void 0 !== i.class && i.attr('class', i.class), + void 0 !== t.title && i.append('title').text(t.title), + i + ); + }, + a = function (e, t) { + var i = t.text.replace(/<br\s*\/?>/gi, ' '), + n = e.append('text'); + n.attr('x', t.x), + n.attr('y', t.y), + n.attr('class', 'legend'), + n.style('text-anchor', t.anchor), + void 0 !== t.class && n.attr('class', t.class); + var r = n.append('tspan'); + return r.attr('x', t.x + 2 * t.textMargin), r.text(i), n; + }, + l = function (e, t) { + var i, + n, + r = e.append('polygon'); + r.attr( + 'points', + (i = t.x) + + ',' + + (n = t.y) + + ' ' + + (i + 50) + + ',' + + n + + ' ' + + (i + 50) + + ',' + + (n + 20 - 7) + + ' ' + + (i + 50 - 8.4) + + ',' + + (n + 20) + + ' ' + + i + + ',' + + (n + 20) + ), + r.attr('class', 'labelBox'), + (t.y = t.y + t.labelMargin), + (t.x = t.x + 0.5 * t.labelMargin), + a(e, t); + }, + c = function (e, t, i) { + var n = e.append('g'), + s = f(); + (s.x = t.x), + (s.y = t.y), + (s.fill = t.fill), + (s.width = i.width), + (s.height = i.height), + (s.class = 'journey-section section-type-' + t.num), + (s.rx = 3), + (s.ry = 3), + r(n, s), + p(i)( + t.text, + n, + s.x, + s.y, + s.width, + s.height, + { class: 'journey-section section-type-' + t.num }, + i, + t.colour + ); + }, + d = -1, + h = function (e, t, i) { + var n = t.x + i.width / 2, + a = e.append('g'); + d++, + a + .append('line') + .attr('id', 'task' + d) + .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'), + s(a, { + cx: n, + cy: 300 + 30 * (5 - t.score), + score: t.score, + }); + var l = f(); + (l.x = t.x), + (l.y = t.y), + (l.fill = t.fill), + (l.width = i.width), + (l.height = i.height), + (l.class = 'task task-type-' + t.num), + (l.rx = 3), + (l.ry = 3), + r(a, l); + var c = t.x + 14; + t.people.forEach(function (e) { + var i = t.actors[e], + n = { + cx: c, + cy: t.y, + r: 7, + fill: i, + stroke: '#000', + title: e, + }; + o(a, n), (c += 10); + }), + p(i)( + t.task, + a, + l.x, + l.y, + l.width, + l.height, + { class: 'task' }, + i, + t.colour + ); + }, + u = function (e, t) { + r(e, { + x: t.startx, + y: t.starty, + width: t.stopx - t.startx, + height: t.stopy - t.starty, + fill: t.fill, + class: 'rect', + }).lower(); + }, + g = function () { + return { + x: 0, + y: 0, + fill: void 0, + 'text-anchor': 'start', + width: 100, + height: 100, + textMargin: 0, + rx: 0, + ry: 0, + }; + }, + f = function () { + return { + x: 0, + y: 0, + width: 100, + anchor: 'start', + height: 100, + rx: 0, + ry: 0, + }; + }, + p = (function () { + function e(e, t, i, r, s, o, a, l) { + n( + t + .append('text') + .attr('x', i + s / 2) + .attr('y', r + o / 2 + 5) + .style('font-color', l) + .style('text-anchor', 'middle') + .text(e), + a + ); + } + function t(e, t, i, r, s, o, a, l, c) { + for ( + var d = l.taskFontSize, + h = l.taskFontFamily, + u = e.split(/<br\s*\/?>/gi), + g = 0; + g < u.length; + g++ + ) { + var f = g * d - (d * (u.length - 1)) / 2, + p = t + .append('text') + .attr('x', i + s / 2) + .attr('y', r) + .attr('fill', c) + .style('text-anchor', 'middle') + .style('font-size', d) + .style('font-family', h); + p + .append('tspan') + .attr('x', i + s / 2) + .attr('dy', f) + .text(u[g]), + p + .attr('y', r + o / 2) + .attr('dominant-baseline', 'central') + .attr('alignment-baseline', 'central'), + n(p, a); + } + } + function i(e, i, r, s, o, a, l, c) { + var d = i.append('switch'), + h = d + .append('foreignObject') + .attr('x', r) + .attr('y', s) + .attr('width', o) + .attr('height', a) + .attr('position', 'fixed') + .append('div') + .style('display', 'table') + .style('height', '100%') + .style('width', '100%'); + h + .append('div') + .attr('class', 'label') + .style('display', 'table-cell') + .style('text-align', 'center') + .style('vertical-align', 'middle') + .text(e), + t(e, d, r, s, o, a, l, c), + n(h, l); + } + function n(e, t) { + for (var i in t) i in t && e.attr(i, t[i]); + } + return function (n) { + return 'fo' === n.textPlacement + ? i + : 'old' === n.textPlacement + ? e + : t; + }; + })(); + t.default = { + drawRect: r, + drawCircle: o, + drawSection: c, + drawText: a, + drawLabel: l, + drawTask: h, + drawBackgroundRect: u, + getTextObj: g, + getNoteRect: f, + initGraphics: function (e) { + e.append('defs') + .append('marker') + .attr('id', 'arrowhead') + .attr('refX', 5) + .attr('refY', 2) + .attr('markerWidth', 6) + .attr('markerHeight', 4) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 0,0 V 4 L6,2 Z'); + }, + }; + }, + './src/errorRenderer.js': function (e, t, i) { + 'use strict'; + i.r(t), + i.d(t, 'setConf', function () { + return o; + }), + i.d(t, 'draw', function () { + return a; + }); + var n = i('d3'), + r = i('./src/logger.js'), + s = {}, + o = function (e) { + Object.keys(e).forEach(function (t) { + s[t] = e[t]; + }); + }, + a = function (e, t) { + try { + r.log.debug('Renering svg for syntax error\n'); + var i = Object(n.select)('#' + e), + s = i.append('g'); + s + .append('path') + .attr('class', 'error-icon') + .attr( + 'd', + 'm411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z' + ), + s + .append('path') + .attr('class', 'error-icon') + .attr( + 'd', + 'm459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z' + ), + s + .append('path') + .attr('class', 'error-icon') + .attr( + 'd', + 'm340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z' + ), + s + .append('path') + .attr('class', 'error-icon') + .attr( + 'd', + 'm400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z' + ), + s + .append('path') + .attr('class', 'error-icon') + .attr( + 'd', + 'm496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z' + ), + s + .append('path') + .attr('class', 'error-icon') + .attr( + 'd', + 'm436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z' + ), + s + .append('text') + .attr('class', 'error-text') + .attr('x', 1240) + .attr('y', 250) + .attr('font-size', '150px') + .style('text-anchor', 'middle') + .text('Syntax error in graph'), + s + .append('text') + .attr('class', 'error-text') + .attr('x', 1050) + .attr('y', 400) + .attr('font-size', '100px') + .style('text-anchor', 'middle') + .text('mermaid version ' + t), + i.attr('height', 100), + i.attr('width', 400), + i.attr('viewBox', '768 0 512 512'); + } catch (e) { + r.log.error('Error while rendering info diagram'), + r.log.error(e.message); + } + }; + t.default = { setConf: o, draw: a }; + }, + './src/logger.js': function (e, t, i) { + 'use strict'; + i.r(t), + i.d(t, 'LEVELS', function () { + return s; + }), + i.d(t, 'log', function () { + return o; + }), + i.d(t, 'setLogLevel', function () { + return a; + }); + var n = i('moment-mini'), + r = i.n(n), + s = { debug: 1, info: 2, warn: 3, error: 4, fatal: 5 }, + o = { + debug: function () {}, + info: function () {}, + warn: function () {}, + error: function () {}, + fatal: function () {}, + }, + a = function () { + var e = + arguments.length > 0 && void 0 !== arguments[0] + ? arguments[0] + : 'fatal'; + isNaN(e) && + ((e = e.toLowerCase()), void 0 !== s[e] && (e = s[e])), + (o.trace = function () {}), + (o.debug = function () {}), + (o.info = function () {}), + (o.warn = function () {}), + (o.error = function () {}), + (o.fatal = function () {}), + e <= s.fatal && + (o.fatal = console.error + ? console.error.bind( + console, + l('FATAL'), + 'color: orange' + ) + : console.log.bind(console, '', l('FATAL'))), + e <= s.error && + (o.error = console.error + ? console.error.bind( + console, + l('ERROR'), + 'color: orange' + ) + : console.log.bind(console, '', l('ERROR'))), + e <= s.warn && + (o.warn = console.warn + ? console.warn.bind( + console, + l('WARN'), + 'color: orange' + ) + : console.log.bind(console, '', l('WARN'))), + e <= s.info && + (o.info = console.info + ? console.info.bind( + console, + l('INFO'), + 'color: lightblue' + ) + : console.log.bind(console, '', l('INFO'))), + e <= s.debug && + (o.debug = console.debug + ? console.debug.bind( + console, + l('DEBUG'), + 'color: lightgreen' + ) + : console.log.bind(console, '', l('DEBUG'))); + }, + l = function (e) { + var t = r()().format('ss.SSS'); + return '%c'.concat(t, ' : ').concat(e, ' : '); + }; + }, + './src/mermaid.js': function (e, t, i) { + 'use strict'; + i.r(t); + var n = i('entity-decode/browser'), + r = i.n(n), + s = i('./src/logger.js'), + o = i('./src/mermaidAPI.js'), + a = i('./src/utils.js'), + l = function () { + c.startOnLoad + ? o.default.getConfig().startOnLoad && c.init() + : void 0 === c.startOnLoad && + (s.log.debug('In start, no config'), + o.default.getConfig().startOnLoad && c.init()); + }; + 'undefined' != typeof document && + window.addEventListener( + 'load', + function () { + l(); + }, + !1 + ); + var c = { + startOnLoad: !0, + htmlLabels: !0, + mermaidAPI: o.default, + parse: o.default.parse, + render: o.default.render, + init: function () { + var e, + t, + i = this, + n = o.default.getConfig(); + arguments.length >= 2 + ? (void 0 !== arguments[0] && + (c.sequenceConfig = arguments[0]), + (e = arguments[1])) + : (e = arguments[0]), + 'function' == typeof arguments[arguments.length - 1] + ? ((t = arguments[arguments.length - 1]), + s.log.debug('Callback function found')) + : void 0 !== n.mermaid && + ('function' == typeof n.mermaid.callback + ? ((t = n.mermaid.callback), + s.log.debug('Callback function found')) + : s.log.debug('No Callback function found')), + (e = + void 0 === e + ? document.querySelectorAll('.mermaid') + : 'string' == typeof e + ? document.querySelectorAll(e) + : e instanceof window.Node + ? [e] + : e), + s.log.debug('Start On Load before: ' + c.startOnLoad), + void 0 !== c.startOnLoad && + (s.log.debug('Start On Load inner: ' + c.startOnLoad), + o.default.updateSiteConfig({ + startOnLoad: c.startOnLoad, + })), + void 0 !== c.ganttConfig && + o.default.updateSiteConfig({ gantt: c.ganttConfig }); + for ( + var l, + d = new a.default.initIdGeneratior( + n.deterministicIds, + n.deterministicIDSeed + ), + h = function (n) { + var c = e[n]; + if (c.getAttribute('data-processed')) + return 'continue'; + c.setAttribute('data-processed', !0); + var h = 'mermaid-'.concat(d.next()); + (l = c.innerHTML), + (l = r()(l) + .trim() + .replace(/<br\s*\/?>/gi, '<br/>')); + var u = a.default.detectInit(l); + u && s.log.debug('Detected early reinit: ', u); + try { + o.default.render( + h, + l, + function (e, i) { + (c.innerHTML = e), + void 0 !== t && t(h), + i && i(c); + }, + c + ); + } catch (e) { + s.log.warn('Syntax Error rendering'), + s.log.warn(e), + i.parseError && i.parseError(e); + } + }, + u = 0; + u < e.length; + u++ + ) + h(u); + }, + initialize: function (e) { + void 0 !== e.mermaid && + (void 0 !== e.mermaid.startOnLoad && + (c.startOnLoad = e.mermaid.startOnLoad), + void 0 !== e.mermaid.htmlLabels && + (c.htmlLabels = e.mermaid.htmlLabels)), + o.default.initialize(e); + }, + contentLoaded: l, + }; + t.default = c; + }, + './src/mermaidAPI.js': function (e, t, i) { + 'use strict'; + i.r(t), + i.d(t, 'encodeEntities', function () { + return ae; + }), + i.d(t, 'decodeEntities', function () { + return le; + }); + var n = i('d3'), + r = i('stylis'), + s = i.n(r), + o = i('./package.json'), + a = i('./src/config.js'), + l = i('./src/diagrams/class/classDb.js'), + c = i('./src/diagrams/class/classRenderer.js'), + d = i('./src/diagrams/class/classRenderer-v2.js'), + h = i('./src/diagrams/class/parser/classDiagram.jison'), + u = i.n(h), + g = i('./src/diagrams/er/erDb.js'), + f = i('./src/diagrams/er/erRenderer.js'), + p = i('./src/diagrams/er/parser/erDiagram.jison'), + m = i.n(p), + _ = i('./src/diagrams/flowchart/flowDb.js'), + b = i('./src/diagrams/flowchart/flowRenderer.js'), + v = i('./src/diagrams/flowchart/flowRenderer-v2.js'), + y = i('./src/diagrams/flowchart/parser/flow.jison'), + w = i.n(y), + C = i('./src/diagrams/gantt/ganttDb.js'), + S = i('./src/diagrams/gantt/ganttRenderer.js'), + k = i('./src/diagrams/gantt/parser/gantt.jison'), + x = i.n(k), + L = i('./src/diagrams/git/gitGraphAst.js'), + M = i('./src/diagrams/git/gitGraphRenderer.js'), + D = i('./src/diagrams/git/parser/gitGraph.jison'), + N = i.n(D), + E = i('./src/diagrams/info/infoDb.js'), + T = i('./src/diagrams/info/infoRenderer.js'), + I = i('./src/diagrams/info/parser/info.jison'), + O = i.n(I), + A = i('./src/diagrams/pie/parser/pie.jison'), + R = i.n(A), + P = i('./src/diagrams/pie/pieDb.js'), + F = i('./src/diagrams/pie/pieRenderer.js'), + B = i( + './src/diagrams/requirement/parser/requirementDiagram.jison' + ), + W = i.n(B), + Y = i('./src/diagrams/requirement/requirementDb.js'), + H = i('./src/diagrams/requirement/requirementRenderer.js'), + j = i('./src/diagrams/sequence/parser/sequenceDiagram.jison'), + V = i.n(j), + z = i('./src/diagrams/sequence/sequenceDb.js'), + U = i('./src/diagrams/sequence/sequenceRenderer.js'), + $ = i('./src/diagrams/state/parser/stateDiagram.jison'), + K = i.n($), + q = i('./src/diagrams/state/stateDb.js'), + G = i('./src/diagrams/state/stateRenderer.js'), + Z = i('./src/diagrams/state/stateRenderer-v2.js'), + J = i('./src/diagrams/user-journey/journeyDb.js'), + Q = i('./src/diagrams/user-journey/journeyRenderer.js'), + X = i('./src/diagrams/user-journey/parser/journey.jison'), + ee = i.n(X), + te = i('./src/errorRenderer.js'), + ie = i('./src/logger.js'), + ne = i('./src/styles.js'), + re = i('./src/themes/index.js'), + se = i('./src/utils.js'); + function oe(e) { + return (oe = + 'function' == typeof Symbol && + 'symbol' == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + 'function' == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? 'symbol' + : typeof e; + })(e); + } + var ae = function (e) { + var t = e; + return (t = (t = t.replace( + /style.*:\S*#.*;/g, + function (e) { + return e.substring(0, e.length - 1); + } + )).replace(/classDef.*:\S*#.*;/g, function (e) { + return e.substring(0, e.length - 1); + })).replace(/#\w+;/g, function (e) { + var t = e.substring(1, e.length - 1); + return /^\+?\d+$/.test(t) + ? 'fl°°' + t + '¶ß' + : 'fl°' + t + '¶ß'; + }); + }, + le = function (e) { + var t = e; + return (t = (t = t.replace(/fl°°/g, function () { + return '&#'; + })).replace(/fl°/g, function () { + return '&'; + })).replace(/¶ß/g, function () { + return ';'; + }); + }, + ce = {}; + function de(e) { + M.default.setConf(e.git), + b.default.setConf(e.flowchart), + v.default.setConf(e.flowchart), + void 0 !== e.sequenceDiagram && + U.default.setConf( + Object(se.assignWithDepth)( + e.sequence, + e.sequenceDiagram + ) + ), + U.default.setConf(e.sequence), + S.default.setConf(e.gantt), + c.default.setConf(e.class), + G.default.setConf(e.state), + Z.default.setConf(e.state), + T.default.setConf(e.class), + F.default.setConf(e.class), + f.default.setConf(e.er), + Q.default.setConf(e.journey), + H.default.setConf(e.requirement), + te.default.setConf(e.class); + } + var he = Object.freeze({ + render: function (e, t, i, r) { + a.reset(); + var h = t, + u = se.default.detectInit(h); + u && a.addDirective(u); + var g = a.getConfig(); + if ( + (t.length > g.maxTextSize && + (h = + 'graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa'), + void 0 !== r) + ) + (r.innerHTML = ''), + Object(n.select)(r) + .append('div') + .attr('id', 'd' + e) + .attr('style', 'font-family: ' + g.fontFamily) + .append('svg') + .attr('id', e) + .attr('width', '100%') + .attr('xmlns', 'http://www.w3.org/2000/svg') + .append('g'); + else { + var p = document.getElementById(e); + p && p.remove(); + var m = document.querySelector('#d' + e); + m && m.remove(), + Object(n.select)('body') + .append('div') + .attr('id', 'd' + e) + .append('svg') + .attr('id', e) + .attr('width', '100%') + .attr('xmlns', 'http://www.w3.org/2000/svg') + .append('g'); + } + (window.txt = h), (h = ae(h)); + var y = Object(n.select)('#d' + e).node(), + w = se.default.detectType(h), + k = y.firstChild, + x = k.firstChild, + L = ''; + if ( + (void 0 !== g.themeCSS && (L += '\n'.concat(g.themeCSS)), + void 0 !== g.fontFamily && + (L += '\n:root { --mermaid-font-family: '.concat( + g.fontFamily, + '}' + )), + void 0 !== g.altFontFamily && + (L += '\n:root { --mermaid-alt-font-family: '.concat( + g.altFontFamily, + '}' + )), + 'flowchart' === w || + 'flowchart-v2' === w || + 'graph' === w) + ) { + var D = b.default.getClasses(h); + for (var N in D) + g.htmlLabels || g.flowchart.htmlLabels + ? ((L += '\n.' + .concat(N, ' > * { ') + .concat( + D[N].styles.join(' !important; '), + ' !important; }' + )), + (L += '\n.' + .concat(N, ' span { ') + .concat( + D[N].styles.join(' !important; '), + ' !important; }' + ))) + : ((L += '\n.' + .concat(N, ' path { ') + .concat( + D[N].styles.join(' !important; '), + ' !important; }' + )), + (L += '\n.' + .concat(N, ' rect { ') + .concat( + D[N].styles.join(' !important; '), + ' !important; }' + )), + (L += '\n.' + .concat(N, ' polygon { ') + .concat( + D[N].styles.join(' !important; '), + ' !important; }' + )), + (L += '\n.' + .concat(N, ' ellipse { ') + .concat( + D[N].styles.join(' !important; '), + ' !important; }' + )), + (L += '\n.' + .concat(N, ' circle { ') + .concat( + D[N].styles.join(' !important; '), + ' !important; }' + )), + D[N].textStyles && + (L += '\n.' + .concat(N, ' tspan { ') + .concat( + D[N].textStyles.join(' !important; '), + ' !important; }' + ))); + } + var E = new s.a()( + '#'.concat(e), + Object(ne.default)(w, L, g.themeVariables) + ), + I = document.createElement('style'); + (I.innerHTML = E), k.insertBefore(I, x); + try { + switch (w) { + case 'git': + (g.flowchart.arrowMarkerAbsolute = + g.arrowMarkerAbsolute), + M.default.setConf(g.git), + M.default.draw(h, e, !1); + break; + case 'flowchart': + (g.flowchart.arrowMarkerAbsolute = + g.arrowMarkerAbsolute), + b.default.setConf(g.flowchart), + b.default.draw(h, e, !1); + break; + case 'flowchart-v2': + (g.flowchart.arrowMarkerAbsolute = + g.arrowMarkerAbsolute), + v.default.setConf(g.flowchart), + v.default.draw(h, e, !1); + break; + case 'sequence': + (g.sequence.arrowMarkerAbsolute = + g.arrowMarkerAbsolute), + g.sequenceDiagram + ? (U.default.setConf( + Object.assign(g.sequence, g.sequenceDiagram) + ), + console.error( + '`mermaid config.sequenceDiagram` has been renamed to `config.sequence`. Please update your mermaid config.' + )) + : U.default.setConf(g.sequence), + U.default.draw(h, e); + break; + case 'gantt': + (g.gantt.arrowMarkerAbsolute = g.arrowMarkerAbsolute), + S.default.setConf(g.gantt), + S.default.draw(h, e); + break; + case 'class': + (g.class.arrowMarkerAbsolute = g.arrowMarkerAbsolute), + c.default.setConf(g.class), + c.default.draw(h, e); + break; + case 'classDiagram': + (g.class.arrowMarkerAbsolute = g.arrowMarkerAbsolute), + d.default.setConf(g.class), + d.default.draw(h, e); + break; + case 'state': + (g.class.arrowMarkerAbsolute = g.arrowMarkerAbsolute), + G.default.setConf(g.state), + G.default.draw(h, e); + break; + case 'stateDiagram': + (g.class.arrowMarkerAbsolute = g.arrowMarkerAbsolute), + Z.default.setConf(g.state), + Z.default.draw(h, e); + break; + case 'info': + (g.class.arrowMarkerAbsolute = g.arrowMarkerAbsolute), + T.default.setConf(g.class), + T.default.draw(h, e, o.version); + break; + case 'pie': + (g.class.arrowMarkerAbsolute = g.arrowMarkerAbsolute), + F.default.setConf(g.pie), + F.default.draw(h, e, o.version); + break; + case 'er': + f.default.setConf(g.er), + f.default.draw(h, e, o.version); + break; + case 'journey': + Q.default.setConf(g.journey), + Q.default.draw(h, e, o.version); + break; + case 'requirement': + H.default.setConf(g.requirement), + H.default.draw(h, e, o.version); + } + } catch (t) { + throw (te.default.draw(e, o.version), t); + } + Object(n.select)('[id="'.concat(e, '"]')) + .selectAll('foreignobject > *') + .attr('xmlns', 'http://www.w3.org/1999/xhtml'); + var O = Object(n.select)('#d' + e).node().innerHTML; + if ( + (ie.log.debug( + 'cnf.arrowMarkerAbsolute', + g.arrowMarkerAbsolute + ), + (g.arrowMarkerAbsolute && + 'false' !== g.arrowMarkerAbsolute) || + (O = O.replace( + /marker-end="url\(.*?#/g, + 'marker-end="url(#', + 'g' + )), + (O = (O = le(O)).replace(/<br>/g, '<br/>')), + void 0 !== i) + ) + switch (w) { + case 'flowchart': + case 'flowchart-v2': + i(O, _.default.bindFunctions); + break; + case 'gantt': + i(O, C.default.bindFunctions); + break; + case 'class': + case 'classDiagram': + i(O, l.default.bindFunctions); + break; + default: + i(O); + } + else ie.log.debug('CB = undefined!'); + var A = Object(n.select)('#d' + e).node(); + return ( + null !== A && + 'function' == typeof A.remove && + Object(n.select)('#d' + e) + .node() + .remove(), + O + ); + }, + parse: function (e) { + var t = se.default.detectInit(e); + t && ie.log.debug('reinit ', t); + var i, + n = se.default.detectType(e); + switch ((ie.log.debug('Type ' + n), n)) { + case 'git': + (i = N.a).parser.yy = L.default; + break; + case 'flowchart': + case 'flowchart-v2': + _.default.clear(), ((i = w.a).parser.yy = _.default); + break; + case 'sequence': + (i = V.a).parser.yy = z.default; + break; + case 'gantt': + (i = x.a).parser.yy = C.default; + break; + case 'class': + case 'classDiagram': + (i = u.a).parser.yy = l.default; + break; + case 'state': + case 'stateDiagram': + (i = K.a).parser.yy = q.default; + break; + case 'info': + ie.log.debug('info info info'), + ((i = O.a).parser.yy = E.default); + break; + case 'pie': + ie.log.debug('pie'), ((i = R.a).parser.yy = P.default); + break; + case 'er': + ie.log.debug('er'), ((i = m.a).parser.yy = g.default); + break; + case 'journey': + ie.log.debug('Journey'), + ((i = ee.a).parser.yy = J.default); + break; + case 'requirement': + case 'requirementDiagram': + console.log('RequirementDiagram'), + ie.log.debug('RequirementDiagram'), + ((i = W.a).parser.yy = Y.default); + } + return ( + (i.parser.yy.graphType = n), + (i.parser.yy.parseError = function (e, t) { + throw { str: e, hash: t }; + }), + i.parse(e), + i + ); + }, + parseDirective: function (e, t, i, n) { + try { + if (void 0 !== t) + switch (((t = t.trim()), i)) { + case 'open_directive': + ce = {}; + break; + case 'type_directive': + ce.type = t.toLowerCase(); + break; + case 'arg_directive': + ce.args = JSON.parse(t); + break; + case 'close_directive': + (function (e, t, i) { + switch ( + (ie.log.debug( + 'Directive type='.concat( + t.type, + ' with args:' + ), + t.args + ), + t.type) + ) { + case 'init': + case 'initialize': + ['config'].forEach(function (e) { + void 0 !== t.args[e] && + ('flowchart-v2' === i && + (i = 'flowchart'), + (t.args[i] = t.args[e]), + delete t.args[e]); + }), + t.args, + a.addDirective(t.args); + break; + case 'wrap': + case 'nowrap': + e && + e.setWrap && + e.setWrap('wrap' === t.type); + break; + default: + ie.log.warn( + "Unhandled directive: source: '%%{" + .concat(t.type, ': ') + .concat( + JSON.stringify(t.args ? t.args : {}), + '}%%' + ), + t + ); + } + })(e, ce, n), + (ce = null); + } + } catch (e) { + ie.log.error( + 'Error while rendering sequenceDiagram directive: ' + .concat(t, ' jison context: ') + .concat(i) + ), + ie.log.error(e.message); + } + }, + initialize: function (e) { + e && + e.fontFamily && + ((e.themeVariables && e.themeVariables.fontFamily) || + (e.themeVariables = { fontFamily: e.fontFamily })), + a.saveConfigFromInitilize(e), + e && e.theme && re.default[e.theme] + ? (e.themeVariables = re.default[ + e.theme + ].getThemeVariables(e.themeVariables)) + : e && + (e.themeVariables = re.default.default.getThemeVariables( + e.themeVariables + )); + var t = + 'object' === oe(e) + ? a.setSiteConfig(e) + : a.getSiteConfig(); + de(t), Object(ie.setLogLevel)(t.logLevel); + }, + reinitialize: function () {}, + getConfig: a.getConfig, + setConfig: a.setConfig, + getSiteConfig: a.getSiteConfig, + updateSiteConfig: a.updateSiteConfig, + reset: function () { + a.reset(); + }, + globalReset: function () { + a.reset(a.defaultConfig), de(a.getConfig()); + }, + defaultConfig: a.defaultConfig, + }); + Object(ie.setLogLevel)(a.getConfig().logLevel), + a.reset(a.getConfig()), + (t.default = he); + }, + './src/styles.js': function (e, t, i) { + 'use strict'; + i.r(t), + i.d(t, 'calcThemeVariables', function () { + return p; + }); + var n = i('./src/diagrams/class/styles.js'), + r = i('./src/diagrams/er/styles.js'), + s = i('./src/diagrams/flowchart/styles.js'), + o = i('./src/diagrams/gantt/styles.js'), + a = i('./src/diagrams/git/styles.js'), + l = i('./src/diagrams/info/styles.js'), + c = i('./src/diagrams/pie/styles.js'), + d = i('./src/diagrams/requirement/styles.js'), + h = i('./src/diagrams/sequence/styles.js'), + u = i('./src/diagrams/state/styles.js'), + g = i('./src/diagrams/user-journey/styles.js'), + f = { + flowchart: s.default, + 'flowchart-v2': s.default, + sequence: h.default, + gantt: o.default, + classDiagram: n.default, + 'classDiagram-v2': n.default, + class: n.default, + stateDiagram: u.default, + state: u.default, + git: a.default, + info: l.default, + pie: c.default, + er: r.default, + journey: g.default, + requirement: d.default, + }, + p = function (e, t) { + return e.calcColors(t); + }; + t.default = function (e, t, i) { + return ' {\n font-family: ' + .concat(i.fontFamily, ';\n font-size: ') + .concat(i.fontSize, ';\n fill: ') + .concat( + i.textColor, + '\n }\n\n /* Classes common for multiple diagrams */\n\n .error-icon {\n fill: ' + ) + .concat( + i.errorBkgColor, + ';\n }\n .error-text {\n fill: ' + ) + .concat(i.errorTextColor, ';\n stroke: ') + .concat( + i.errorTextColor, + ';\n }\n\n .edge-thickness-normal {\n stroke-width: 2px;\n }\n .edge-thickness-thick {\n stroke-width: 3.5px\n }\n .edge-pattern-solid {\n stroke-dasharray: 0;\n }\n\n .edge-pattern-dashed{\n stroke-dasharray: 3;\n }\n .edge-pattern-dotted {\n stroke-dasharray: 2;\n }\n\n .marker {\n fill: ' + ) + .concat(i.lineColor, ';\n stroke: ') + .concat( + i.lineColor, + ';\n }\n .marker.cross {\n stroke: ' + ) + .concat(i.lineColor, ';\n }\n\n svg {\n font-family: ') + .concat(i.fontFamily, ';\n font-size: ') + .concat(i.fontSize, ';\n }\n\n ') + .concat(f[e](i), '\n\n ') + .concat(t, '\n\n ') + .concat(e, ' { fill: apa;}\n'); + }; + }, + './src/themes/index.js': function (e, t, i) { + 'use strict'; + i.r(t); + var n = i('./src/themes/theme-base.js'), + r = i('./src/themes/theme-dark.js'), + s = i('./src/themes/theme-default.js'), + o = i('./src/themes/theme-forest.js'), + a = i('./src/themes/theme-neutral.js'); + t.default = { + base: { getThemeVariables: n.getThemeVariables }, + dark: { getThemeVariables: r.getThemeVariables }, + default: { getThemeVariables: s.getThemeVariables }, + forest: { getThemeVariables: o.getThemeVariables }, + neutral: { getThemeVariables: a.getThemeVariables }, + }; + }, + './src/themes/theme-base.js': function (e, t, i) { + 'use strict'; + i.r(t), + i.d(t, 'getThemeVariables', function () { + return l; + }); + var n = i('khroma'), + r = i('./src/themes/theme-helpers.js'); + function s(e) { + return (s = + 'function' == typeof Symbol && + 'symbol' == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + 'function' == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? 'symbol' + : typeof e; + })(e); + } + function o(e, t) { + for (var i = 0; i < t.length; i++) { + var n = t[i]; + (n.enumerable = n.enumerable || !1), + (n.configurable = !0), + 'value' in n && (n.writable = !0), + Object.defineProperty(e, n.key, n); + } + } + var a = (function () { + function e() { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError( + 'Cannot call a class as a function' + ); + })(this, e), + (this.background = '#f4f4f4'), + (this.darkMode = !1), + (this.primaryColor = '#fff4dd'), + (this.noteBkgColor = '#fff5ad'), + (this.noteTextColor = '#333'), + (this.fontFamily = + '"trebuchet ms", verdana, arial, sans-serif'), + (this.fontSize = '16px'); + } + var t, i; + return ( + (t = e), + (i = [ + { + key: 'updateColors', + value: function () { + (this.primaryTextColor = + this.primaryTextColor || + (this.darkMode ? '#ddd' : '#333')), + (this.secondaryColor = + this.secondaryColor || + Object(n.adjust)(this.primaryColor, { + h: -120, + })), + (this.tertiaryColor = + this.tertiaryColor || + Object(n.adjust)(this.primaryColor, { + h: 180, + l: 5, + })), + (this.primaryBorderColor = + this.primaryBorderColor || + Object(r.mkBorder)( + this.primaryColor, + this.darkMode + )), + (this.secondaryBorderColor = + this.secondaryBorderColor || + Object(r.mkBorder)( + this.secondaryColor, + this.darkMode + )), + (this.tertiaryBorderColor = + this.tertiaryBorderColor || + Object(r.mkBorder)( + this.tertiaryColor, + this.darkMode + )), + (this.noteBorderColor = + this.noteBorderColor || + Object(r.mkBorder)( + this.noteBkgColor, + this.darkMode + )), + (this.secondaryTextColor = + this.secondaryTextColor || + Object(n.invert)(this.secondaryColor)), + (this.tertiaryTextColor = + this.tertiaryTextColor || + Object(n.invert)(this.tertiaryColor)), + (this.lineColor = + this.lineColor || + Object(n.invert)(this.background)), + (this.textColor = + this.textColor || this.primaryTextColor), + (this.nodeBkg = + this.nodeBkg || this.primaryColor), + (this.mainBkg = + this.mainBkg || this.primaryColor), + (this.nodeBorder = + this.nodeBorder || this.primaryBorderColor), + (this.clusterBkg = + this.clusterBkg || this.tertiaryColor), + (this.clusterBorder = + this.clusterBorder || this.tertiaryBorderColor), + (this.defaultLinkColor = + this.defaultLinkColor || this.lineColor), + (this.titleColor = + this.titleColor || this.tertiaryTextColor), + (this.edgeLabelBackground = + this.edgeLabelBackground || + (this.darkMode + ? Object(n.darken)(this.secondaryColor, 30) + : this.secondaryColor)), + (this.nodeTextColor = + this.nodeTextColor || this.primaryTextColor), + (this.actorBorder = + this.actorBorder || this.primaryBorderColor), + (this.actorBkg = this.actorBkg || this.mainBkg), + (this.actorTextColor = + this.actorTextColor || this.primaryTextColor), + (this.actorLineColor = + this.actorLineColor || 'grey'), + (this.labelBoxBkgColor = + this.labelBoxBkgColor || this.actorBkg), + (this.signalColor = + this.signalColor || this.textColor), + (this.signalTextColor = + this.signalTextColor || this.textColor), + (this.labelBoxBorderColor = + this.labelBoxBorderColor || this.actorBorder), + (this.labelTextColor = + this.labelTextColor || this.actorTextColor), + (this.loopTextColor = + this.loopTextColor || this.actorTextColor), + (this.activationBorderColor = + this.activationBorderColor || + Object(n.darken)(this.secondaryColor, 10)), + (this.activationBkgColor = + this.activationBkgColor || this.secondaryColor), + (this.sequenceNumberColor = + this.sequenceNumberColor || + Object(n.invert)(this.lineColor)), + (this.sectionBkgColor = + this.sectionBkgColor || this.tertiaryColor), + (this.altSectionBkgColor = + this.altSectionBkgColor || 'white'), + (this.sectionBkgColor = + this.sectionBkgColor || this.secondaryColor), + (this.sectionBkgColor2 = + this.sectionBkgColor2 || this.primaryColor), + (this.taskBorderColor = + this.taskBorderColor || + this.primaryBorderColor), + (this.taskBkgColor = + this.taskBkgColor || this.primaryColor), + (this.activeTaskBorderColor = + this.activeTaskBorderColor || + this.primaryColor), + (this.activeTaskBkgColor = + this.activeTaskBkgColor || + Object(n.lighten)(this.primaryColor, 23)), + (this.gridColor = this.gridColor || 'lightgrey'), + (this.doneTaskBkgColor = + this.doneTaskBkgColor || 'lightgrey'), + (this.doneTaskBorderColor = + this.doneTaskBorderColor || 'grey'), + (this.critBorderColor = + this.critBorderColor || '#ff8888'), + (this.critBkgColor = this.critBkgColor || 'red'), + (this.todayLineColor = + this.todayLineColor || 'red'), + (this.taskTextColor = + this.taskTextColor || this.textColor), + (this.taskTextOutsideColor = + this.taskTextOutsideColor || this.textColor), + (this.taskTextLightColor = + this.taskTextLightColor || this.textColor), + (this.taskTextColor = + this.taskTextColor || this.primaryTextColor), + (this.taskTextDarkColor = + this.taskTextDarkColor || this.textColor), + (this.taskTextClickableColor = + this.taskTextClickableColor || '#003163'), + (this.labelColor = + this.labelColor || this.primaryTextColor), + (this.altBackground = + this.altBackground || this.tertiaryColor), + (this.errorBkgColor = + this.errorBkgColor || this.tertiaryColor), + (this.errorTextColor = + this.errorTextColor || this.tertiaryTextColor), + (this.classText = + this.classText || this.textColor), + (this.fillType0 = + this.fillType0 || this.primaryColor), + (this.fillType1 = + this.fillType1 || this.secondaryColor), + (this.fillType2 = + this.fillType2 || + Object(n.adjust)(this.primaryColor, { h: 64 })), + (this.fillType3 = + this.fillType3 || + Object(n.adjust)(this.secondaryColor, { + h: 64, + })), + (this.fillType4 = + this.fillType4 || + Object(n.adjust)(this.primaryColor, { + h: -64, + })), + (this.fillType5 = + this.fillType5 || + Object(n.adjust)(this.secondaryColor, { + h: -64, + })), + (this.fillType6 = + this.fillType6 || + Object(n.adjust)(this.primaryColor, { + h: 128, + })), + (this.fillType7 = + this.fillType7 || + Object(n.adjust)(this.secondaryColor, { + h: 128, + })); + }, + }, + { + key: 'calculate', + value: function (e) { + var t = this; + if ('object' === s(e)) { + var i = Object.keys(e); + i.forEach(function (i) { + t[i] = e[i]; + }), + this.updateColors(), + i.forEach(function (i) { + t[i] = e[i]; + }); + } else this.updateColors(); + }, + }, + ]) && o(t.prototype, i), + e + ); + })(), + l = function (e) { + var t = new a(); + return t.calculate(e), t; + }; + }, + './src/themes/theme-dark.js': function (e, t, i) { + 'use strict'; + i.r(t), + i.d(t, 'getThemeVariables', function () { + return l; + }); + var n = i('khroma'), + r = i('./src/themes/theme-helpers.js'); + function s(e) { + return (s = + 'function' == typeof Symbol && + 'symbol' == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + 'function' == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? 'symbol' + : typeof e; + })(e); + } + function o(e, t) { + for (var i = 0; i < t.length; i++) { + var n = t[i]; + (n.enumerable = n.enumerable || !1), + (n.configurable = !0), + 'value' in n && (n.writable = !0), + Object.defineProperty(e, n.key, n); + } + } + var a = (function () { + function e() { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError( + 'Cannot call a class as a function' + ); + })(this, e), + (this.background = '#333'), + (this.primaryColor = '#1f2020'), + (this.secondaryColor = Object(n.lighten)( + this.primaryColor, + 16 + )), + (this.tertiaryColor = Object(n.adjust)( + this.primaryColor, + { h: -160 } + )), + (this.primaryBorderColor = Object(r.mkBorder)( + this.primaryColor, + this.darkMode + )), + (this.secondaryBorderColor = Object(r.mkBorder)( + this.secondaryColor, + this.darkMode + )), + (this.tertiaryBorderColor = Object(r.mkBorder)( + this.tertiaryColor, + this.darkMode + )), + (this.primaryTextColor = Object(n.invert)( + this.primaryColor + )), + (this.secondaryTextColor = Object(n.invert)( + this.secondaryColor + )), + (this.tertiaryTextColor = Object(n.invert)( + this.tertiaryColor + )), + (this.lineColor = Object(n.invert)(this.background)), + (this.textColor = Object(n.invert)(this.background)), + (this.mainBkg = '#1f2020'), + (this.secondBkg = 'calculated'), + (this.mainContrastColor = 'lightgrey'), + (this.darkTextColor = Object(n.lighten)( + Object(n.invert)('#323D47'), + 10 + )), + (this.lineColor = 'calculated'), + (this.border1 = '#81B1DB'), + (this.border2 = Object(n.rgba)(255, 255, 255, 0.25)), + (this.arrowheadColor = 'calculated'), + (this.fontFamily = + '"trebuchet ms", verdana, arial, sans-serif'), + (this.fontSize = '16px'), + (this.labelBackground = '#181818'), + (this.textColor = '#ccc'), + (this.nodeBkg = 'calculated'), + (this.nodeBorder = 'calculated'), + (this.clusterBkg = 'calculated'), + (this.clusterBorder = 'calculated'), + (this.defaultLinkColor = 'calculated'), + (this.titleColor = '#F9FFFE'), + (this.edgeLabelBackground = 'calculated'), + (this.actorBorder = 'calculated'), + (this.actorBkg = 'calculated'), + (this.actorTextColor = 'calculated'), + (this.actorLineColor = 'calculated'), + (this.signalColor = 'calculated'), + (this.signalTextColor = 'calculated'), + (this.labelBoxBkgColor = 'calculated'), + (this.labelBoxBorderColor = 'calculated'), + (this.labelTextColor = 'calculated'), + (this.loopTextColor = 'calculated'), + (this.noteBorderColor = 'calculated'), + (this.noteBkgColor = '#fff5ad'), + (this.noteTextColor = 'calculated'), + (this.activationBorderColor = 'calculated'), + (this.activationBkgColor = 'calculated'), + (this.sequenceNumberColor = 'black'), + (this.sectionBkgColor = Object(n.darken)( + '#EAE8D9', + 30 + )), + (this.altSectionBkgColor = 'calculated'), + (this.sectionBkgColor2 = '#EAE8D9'), + (this.taskBorderColor = Object(n.rgba)( + 255, + 255, + 255, + 70 + )), + (this.taskBkgColor = 'calculated'), + (this.taskTextColor = 'calculated'), + (this.taskTextLightColor = 'calculated'), + (this.taskTextOutsideColor = 'calculated'), + (this.taskTextClickableColor = '#003163'), + (this.activeTaskBorderColor = Object(n.rgba)( + 255, + 255, + 255, + 50 + )), + (this.activeTaskBkgColor = '#81B1DB'), + (this.gridColor = 'calculated'), + (this.doneTaskBkgColor = 'calculated'), + (this.doneTaskBorderColor = 'grey'), + (this.critBorderColor = '#E83737'), + (this.critBkgColor = '#E83737'), + (this.taskTextDarkColor = 'calculated'), + (this.todayLineColor = '#DB5757'), + (this.labelColor = 'calculated'), + (this.errorBkgColor = '#a44141'), + (this.errorTextColor = '#ddd'); + } + var t, i; + return ( + (t = e), + (i = [ + { + key: 'updateColors', + value: function () { + (this.secondBkg = Object(n.lighten)( + this.mainBkg, + 16 + )), + (this.lineColor = this.mainContrastColor), + (this.arrowheadColor = this.mainContrastColor), + (this.nodeBkg = this.mainBkg), + (this.nodeBorder = this.border1), + (this.clusterBkg = this.secondBkg), + (this.clusterBorder = this.border2), + (this.defaultLinkColor = this.lineColor), + (this.edgeLabelBackground = Object(n.lighten)( + this.labelBackground, + 25 + )), + (this.actorBorder = this.border1), + (this.actorBkg = this.mainBkg), + (this.actorTextColor = this.mainContrastColor), + (this.actorLineColor = this.mainContrastColor), + (this.signalColor = this.mainContrastColor), + (this.signalTextColor = this.mainContrastColor), + (this.labelBoxBkgColor = this.actorBkg), + (this.labelBoxBorderColor = this.actorBorder), + (this.labelTextColor = this.mainContrastColor), + (this.loopTextColor = this.mainContrastColor), + (this.noteBorderColor = this.secondaryBorderColor), + (this.noteBkgColor = this.secondBkg), + (this.noteTextColor = this.secondaryTextColor), + (this.activationBorderColor = this.border1), + (this.activationBkgColor = this.secondBkg), + (this.altSectionBkgColor = this.background), + (this.taskBkgColor = Object(n.lighten)( + this.mainBkg, + 23 + )), + (this.taskTextColor = this.darkTextColor), + (this.taskTextLightColor = this.mainContrastColor), + (this.taskTextOutsideColor = this.taskTextLightColor), + (this.gridColor = this.mainContrastColor), + (this.doneTaskBkgColor = this.mainContrastColor), + (this.taskTextDarkColor = this.darkTextColor), + (this.labelColor = this.textColor), + (this.altBackground = Object(n.lighten)( + this.background, + 20 + )), + (this.fillType0 = this.primaryColor), + (this.fillType1 = this.secondaryColor), + (this.fillType2 = Object(n.adjust)( + this.primaryColor, + { h: 64 } + )), + (this.fillType3 = Object(n.adjust)( + this.secondaryColor, + { h: 64 } + )), + (this.fillType4 = Object(n.adjust)( + this.primaryColor, + { h: -64 } + )), + (this.fillType5 = Object(n.adjust)( + this.secondaryColor, + { h: -64 } + )), + (this.fillType6 = Object(n.adjust)( + this.primaryColor, + { h: 128 } + )), + (this.fillType7 = Object(n.adjust)( + this.secondaryColor, + { h: 128 } + )), + (this.classText = this.primaryTextColor); + }, + }, + { + key: 'calculate', + value: function (e) { + var t = this; + if ('object' === s(e)) { + var i = Object.keys(e); + i.forEach(function (i) { + t[i] = e[i]; + }), + this.updateColors(), + i.forEach(function (i) { + t[i] = e[i]; + }); + } else this.updateColors(); + }, + }, + ]) && o(t.prototype, i), + e + ); + })(), + l = function (e) { + var t = new a(); + return t.calculate(e), t; + }; + }, + './src/themes/theme-default.js': function (e, t, i) { + 'use strict'; + i.r(t), + i.d(t, 'getThemeVariables', function () { + return l; + }); + var n = i('khroma'), + r = i('./src/themes/theme-helpers.js'); + function s(e) { + return (s = + 'function' == typeof Symbol && + 'symbol' == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + 'function' == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? 'symbol' + : typeof e; + })(e); + } + function o(e, t) { + for (var i = 0; i < t.length; i++) { + var n = t[i]; + (n.enumerable = n.enumerable || !1), + (n.configurable = !0), + 'value' in n && (n.writable = !0), + Object.defineProperty(e, n.key, n); + } + } + var a = (function () { + function e() { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError( + 'Cannot call a class as a function' + ); + })(this, e), + (this.background = '#f4f4f4'), + (this.primaryColor = '#ECECFF'), + (this.secondaryColor = Object(n.adjust)( + this.primaryColor, + { h: 120 } + )), + (this.secondaryColor = '#ffffde'), + (this.tertiaryColor = Object(n.adjust)( + this.primaryColor, + { h: -160 } + )), + (this.primaryBorderColor = Object(r.mkBorder)( + this.primaryColor, + this.darkMode + )), + (this.secondaryBorderColor = Object(r.mkBorder)( + this.secondaryColor, + this.darkMode + )), + (this.tertiaryBorderColor = Object(r.mkBorder)( + this.tertiaryColor, + this.darkMode + )), + (this.primaryTextColor = Object(n.invert)( + this.primaryColor + )), + (this.secondaryTextColor = Object(n.invert)( + this.secondaryColor + )), + (this.tertiaryTextColor = Object(n.invert)( + this.tertiaryColor + )), + (this.lineColor = Object(n.invert)(this.background)), + (this.textColor = Object(n.invert)(this.background)), + (this.background = 'white'), + (this.mainBkg = '#ECECFF'), + (this.secondBkg = '#ffffde'), + (this.lineColor = '#333333'), + (this.border1 = '#9370DB'), + (this.border2 = '#aaaa33'), + (this.arrowheadColor = '#333333'), + (this.fontFamily = + '"trebuchet ms", verdana, arial, sans-serif'), + (this.fontSize = '16px'), + (this.labelBackground = '#e8e8e8'), + (this.textColor = '#333'), + (this.nodeBkg = 'calculated'), + (this.nodeBorder = 'calculated'), + (this.clusterBkg = 'calculated'), + (this.clusterBorder = 'calculated'), + (this.defaultLinkColor = 'calculated'), + (this.titleColor = 'calculated'), + (this.edgeLabelBackground = 'calculated'), + (this.actorBorder = 'calculated'), + (this.actorBkg = 'calculated'), + (this.actorTextColor = 'black'), + (this.actorLineColor = 'grey'), + (this.signalColor = 'calculated'), + (this.signalTextColor = 'calculated'), + (this.labelBoxBkgColor = 'calculated'), + (this.labelBoxBorderColor = 'calculated'), + (this.labelTextColor = 'calculated'), + (this.loopTextColor = 'calculated'), + (this.noteBorderColor = 'calculated'), + (this.noteBkgColor = '#fff5ad'), + (this.noteTextColor = 'calculated'), + (this.activationBorderColor = '#666'), + (this.activationBkgColor = '#f4f4f4'), + (this.sequenceNumberColor = 'white'), + (this.sectionBkgColor = 'calculated'), + (this.altSectionBkgColor = 'calculated'), + (this.sectionBkgColor2 = 'calculated'), + (this.taskBorderColor = 'calculated'), + (this.taskBkgColor = 'calculated'), + (this.taskTextLightColor = 'calculated'), + (this.taskTextColor = this.taskTextLightColor), + (this.taskTextDarkColor = 'calculated'), + (this.taskTextOutsideColor = this.taskTextDarkColor), + (this.taskTextClickableColor = 'calculated'), + (this.activeTaskBorderColor = 'calculated'), + (this.activeTaskBkgColor = 'calculated'), + (this.gridColor = 'calculated'), + (this.doneTaskBkgColor = 'calculated'), + (this.doneTaskBorderColor = 'calculated'), + (this.critBorderColor = 'calculated'), + (this.critBkgColor = 'calculated'), + (this.todayLineColor = 'calculated'), + (this.sectionBkgColor = Object(n.rgba)( + 102, + 102, + 255, + 0.49 + )), + (this.altSectionBkgColor = 'white'), + (this.sectionBkgColor2 = '#fff400'), + (this.taskBorderColor = '#534fbc'), + (this.taskBkgColor = '#8a90dd'), + (this.taskTextLightColor = 'white'), + (this.taskTextColor = 'calculated'), + (this.taskTextDarkColor = 'black'), + (this.taskTextOutsideColor = 'calculated'), + (this.taskTextClickableColor = '#003163'), + (this.activeTaskBorderColor = '#534fbc'), + (this.activeTaskBkgColor = '#bfc7ff'), + (this.gridColor = 'lightgrey'), + (this.doneTaskBkgColor = 'lightgrey'), + (this.doneTaskBorderColor = 'grey'), + (this.critBorderColor = '#ff8888'), + (this.critBkgColor = 'red'), + (this.todayLineColor = 'red'), + (this.labelColor = 'black'), + (this.errorBkgColor = '#552222'), + (this.errorTextColor = '#552222'), + this.updateColors(); + } + var t, i; + return ( + (t = e), + (i = [ + { + key: 'updateColors', + value: function () { + (this.nodeBkg = this.mainBkg), + (this.nodeBorder = this.border1), + (this.clusterBkg = this.secondBkg), + (this.clusterBorder = this.border2), + (this.defaultLinkColor = this.lineColor), + (this.titleColor = this.textColor), + (this.edgeLabelBackground = this.labelBackground), + (this.actorBorder = Object(n.lighten)( + this.border1, + 23 + )), + (this.actorBkg = this.mainBkg), + (this.labelBoxBkgColor = this.actorBkg), + (this.signalColor = this.textColor), + (this.signalTextColor = this.textColor), + (this.labelBoxBorderColor = this.actorBorder), + (this.labelTextColor = this.actorTextColor), + (this.loopTextColor = this.actorTextColor), + (this.noteBorderColor = this.border2), + (this.noteTextColor = this.actorTextColor), + (this.taskTextColor = this.taskTextLightColor), + (this.taskTextOutsideColor = this.taskTextDarkColor), + (this.classText = this.primaryTextColor), + (this.fillType0 = this.primaryColor), + (this.fillType1 = this.secondaryColor), + (this.fillType2 = Object(n.adjust)( + this.primaryColor, + { h: 64 } + )), + (this.fillType3 = Object(n.adjust)( + this.secondaryColor, + { h: 64 } + )), + (this.fillType4 = Object(n.adjust)( + this.primaryColor, + { h: -64 } + )), + (this.fillType5 = Object(n.adjust)( + this.secondaryColor, + { h: -64 } + )), + (this.fillType6 = Object(n.adjust)( + this.primaryColor, + { h: 128 } + )), + (this.fillType7 = Object(n.adjust)( + this.secondaryColor, + { h: 128 } + )); + }, + }, + { + key: 'calculate', + value: function (e) { + var t = this; + if ('object' === s(e)) { + var i = Object.keys(e); + i.forEach(function (i) { + t[i] = e[i]; + }), + this.updateColors(), + i.forEach(function (i) { + t[i] = e[i]; + }); + } else this.updateColors(); + }, + }, + ]) && o(t.prototype, i), + e + ); + })(), + l = function (e) { + var t = new a(); + return t.calculate(e), t; + }; + }, + './src/themes/theme-forest.js': function (e, t, i) { + 'use strict'; + i.r(t), + i.d(t, 'getThemeVariables', function () { + return l; + }); + var n = i('khroma'), + r = i('./src/themes/theme-helpers.js'); + function s(e) { + return (s = + 'function' == typeof Symbol && + 'symbol' == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + 'function' == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? 'symbol' + : typeof e; + })(e); + } + function o(e, t) { + for (var i = 0; i < t.length; i++) { + var n = t[i]; + (n.enumerable = n.enumerable || !1), + (n.configurable = !0), + 'value' in n && (n.writable = !0), + Object.defineProperty(e, n.key, n); + } + } + var a = (function () { + function e() { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError( + 'Cannot call a class as a function' + ); + })(this, e), + (this.background = '#f4f4f4'), + (this.primaryColor = '#cde498'), + (this.secondaryColor = '#cdffb2'), + (this.background = 'white'), + (this.mainBkg = '#cde498'), + (this.secondBkg = '#cdffb2'), + (this.lineColor = 'green'), + (this.border1 = '#13540c'), + (this.border2 = '#6eaa49'), + (this.arrowheadColor = 'green'), + (this.fontFamily = + '"trebuchet ms", verdana, arial, sans-serif'), + (this.fontSize = '16px'), + (this.tertiaryColor = Object(n.lighten)('#cde498', 10)), + (this.primaryBorderColor = Object(r.mkBorder)( + this.primaryColor, + this.darkMode + )), + (this.secondaryBorderColor = Object(r.mkBorder)( + this.secondaryColor, + this.darkMode + )), + (this.tertiaryBorderColor = Object(r.mkBorder)( + this.tertiaryColor, + this.darkMode + )), + (this.primaryTextColor = Object(n.invert)( + this.primaryColor + )), + (this.secondaryTextColor = Object(n.invert)( + this.secondaryColor + )), + (this.tertiaryTextColor = Object(n.invert)( + this.primaryColor + )), + (this.lineColor = Object(n.invert)(this.background)), + (this.textColor = Object(n.invert)(this.background)), + (this.nodeBkg = 'calculated'), + (this.nodeBorder = 'calculated'), + (this.clusterBkg = 'calculated'), + (this.clusterBorder = 'calculated'), + (this.defaultLinkColor = 'calculated'), + (this.titleColor = '#333'), + (this.edgeLabelBackground = '#e8e8e8'), + (this.actorBorder = 'calculated'), + (this.actorBkg = 'calculated'), + (this.actorTextColor = 'black'), + (this.actorLineColor = 'grey'), + (this.signalColor = '#333'), + (this.signalTextColor = '#333'), + (this.labelBoxBkgColor = 'calculated'), + (this.labelBoxBorderColor = '#326932'), + (this.labelTextColor = 'calculated'), + (this.loopTextColor = 'calculated'), + (this.noteBorderColor = 'calculated'), + (this.noteBkgColor = '#fff5ad'), + (this.noteTextColor = 'calculated'), + (this.activationBorderColor = '#666'), + (this.activationBkgColor = '#f4f4f4'), + (this.sequenceNumberColor = 'white'), + (this.sectionBkgColor = '#6eaa49'), + (this.altSectionBkgColor = 'white'), + (this.sectionBkgColor2 = '#6eaa49'), + (this.taskBorderColor = 'calculated'), + (this.taskBkgColor = '#487e3a'), + (this.taskTextLightColor = 'white'), + (this.taskTextColor = 'calculated'), + (this.taskTextDarkColor = 'black'), + (this.taskTextOutsideColor = 'calculated'), + (this.taskTextClickableColor = '#003163'), + (this.activeTaskBorderColor = 'calculated'), + (this.activeTaskBkgColor = 'calculated'), + (this.gridColor = 'lightgrey'), + (this.doneTaskBkgColor = 'lightgrey'), + (this.doneTaskBorderColor = 'grey'), + (this.critBorderColor = '#ff8888'), + (this.critBkgColor = 'red'), + (this.todayLineColor = 'red'), + (this.labelColor = 'black'), + (this.errorBkgColor = '#552222'), + (this.errorTextColor = '#552222'); + } + var t, i; + return ( + (t = e), + (i = [ + { + key: 'updateColors', + value: function () { + (this.nodeBkg = this.mainBkg), + (this.nodeBorder = this.border1), + (this.clusterBkg = this.secondBkg), + (this.clusterBorder = this.border2), + (this.defaultLinkColor = this.lineColor), + (this.actorBorder = Object(n.darken)( + this.mainBkg, + 20 + )), + (this.actorBkg = this.mainBkg), + (this.labelBoxBkgColor = this.actorBkg), + (this.labelTextColor = this.actorTextColor), + (this.loopTextColor = this.actorTextColor), + (this.noteBorderColor = this.border2), + (this.noteTextColor = this.actorTextColor), + (this.taskBorderColor = this.border1), + (this.taskTextColor = this.taskTextLightColor), + (this.taskTextOutsideColor = this.taskTextDarkColor), + (this.activeTaskBorderColor = this.taskBorderColor), + (this.activeTaskBkgColor = this.mainBkg), + (this.classText = this.primaryTextColor), + (this.fillType0 = this.primaryColor), + (this.fillType1 = this.secondaryColor), + (this.fillType2 = Object(n.adjust)( + this.primaryColor, + { h: 64 } + )), + (this.fillType3 = Object(n.adjust)( + this.secondaryColor, + { h: 64 } + )), + (this.fillType4 = Object(n.adjust)( + this.primaryColor, + { h: -64 } + )), + (this.fillType5 = Object(n.adjust)( + this.secondaryColor, + { h: -64 } + )), + (this.fillType6 = Object(n.adjust)( + this.primaryColor, + { h: 128 } + )), + (this.fillType7 = Object(n.adjust)( + this.secondaryColor, + { h: 128 } + )); + }, + }, + { + key: 'calculate', + value: function (e) { + var t = this; + if ('object' === s(e)) { + var i = Object.keys(e); + i.forEach(function (i) { + t[i] = e[i]; + }), + this.updateColors(), + i.forEach(function (i) { + t[i] = e[i]; + }); + } else this.updateColors(); + }, + }, + ]) && o(t.prototype, i), + e + ); + })(), + l = function (e) { + var t = new a(); + return t.calculate(e), t; + }; + }, + './src/themes/theme-helpers.js': function (e, t, i) { + 'use strict'; + i.r(t), + i.d(t, 'mkBorder', function () { + return r; + }); + var n = i('khroma'), + r = function (e, t) { + return t + ? Object(n.adjust)(e, { s: -40, l: 10 }) + : Object(n.adjust)(e, { s: -40, l: -10 }); + }; + }, + './src/themes/theme-neutral.js': function (e, t, i) { + 'use strict'; + i.r(t), + i.d(t, 'getThemeVariables', function () { + return l; + }); + var n = i('khroma'), + r = i('./src/themes/theme-helpers.js'); + function s(e) { + return (s = + 'function' == typeof Symbol && + 'symbol' == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + 'function' == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? 'symbol' + : typeof e; + })(e); + } + function o(e, t) { + for (var i = 0; i < t.length; i++) { + var n = t[i]; + (n.enumerable = n.enumerable || !1), + (n.configurable = !0), + 'value' in n && (n.writable = !0), + Object.defineProperty(e, n.key, n); + } + } + var a = (function () { + function e() { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError( + 'Cannot call a class as a function' + ); + })(this, e), + (this.primaryColor = '#eee'), + (this.contrast = '#707070'), + (this.secondaryColor = Object(n.lighten)( + this.contrast, + 55 + )), + (this.background = '#ffffff'), + (this.tertiaryColor = Object(n.adjust)( + this.primaryColor, + { h: -160 } + )), + (this.primaryBorderColor = Object(r.mkBorder)( + this.primaryColor, + this.darkMode + )), + (this.secondaryBorderColor = Object(r.mkBorder)( + this.secondaryColor, + this.darkMode + )), + (this.tertiaryBorderColor = Object(r.mkBorder)( + this.tertiaryColor, + this.darkMode + )), + (this.primaryTextColor = Object(n.invert)( + this.primaryColor + )), + (this.secondaryTextColor = Object(n.invert)( + this.secondaryColor + )), + (this.tertiaryTextColor = Object(n.invert)( + this.tertiaryColor + )), + (this.lineColor = Object(n.invert)(this.background)), + (this.textColor = Object(n.invert)(this.background)), + (this.altBackground = Object(n.lighten)( + this.contrast, + 55 + )), + (this.mainBkg = '#eee'), + (this.secondBkg = 'calculated'), + (this.lineColor = '#666'), + (this.border1 = '#999'), + (this.border2 = 'calculated'), + (this.note = '#ffa'), + (this.text = '#333'), + (this.critical = '#d42'), + (this.done = '#bbb'), + (this.arrowheadColor = '#333333'), + (this.fontFamily = + '"trebuchet ms", verdana, arial, sans-serif'), + (this.fontSize = '16px'), + (this.nodeBkg = 'calculated'), + (this.nodeBorder = 'calculated'), + (this.clusterBkg = 'calculated'), + (this.clusterBorder = 'calculated'), + (this.defaultLinkColor = 'calculated'), + (this.titleColor = 'calculated'), + (this.edgeLabelBackground = 'white'), + (this.actorBorder = 'calculated'), + (this.actorBkg = 'calculated'), + (this.actorTextColor = 'calculated'), + (this.actorLineColor = 'calculated'), + (this.signalColor = 'calculated'), + (this.signalTextColor = 'calculated'), + (this.labelBoxBkgColor = 'calculated'), + (this.labelBoxBorderColor = 'calculated'), + (this.labelTextColor = 'calculated'), + (this.loopTextColor = 'calculated'), + (this.noteBorderColor = 'calculated'), + (this.noteBkgColor = 'calculated'), + (this.noteTextColor = 'calculated'), + (this.activationBorderColor = '#666'), + (this.activationBkgColor = '#f4f4f4'), + (this.sequenceNumberColor = 'white'), + (this.sectionBkgColor = 'calculated'), + (this.altSectionBkgColor = 'white'), + (this.sectionBkgColor2 = 'calculated'), + (this.taskBorderColor = 'calculated'), + (this.taskBkgColor = 'calculated'), + (this.taskTextLightColor = 'white'), + (this.taskTextColor = 'calculated'), + (this.taskTextDarkColor = 'calculated'), + (this.taskTextOutsideColor = 'calculated'), + (this.taskTextClickableColor = '#003163'), + (this.activeTaskBorderColor = 'calculated'), + (this.activeTaskBkgColor = 'calculated'), + (this.gridColor = 'calculated'), + (this.doneTaskBkgColor = 'calculated'), + (this.doneTaskBorderColor = 'calculated'), + (this.critBkgColor = 'calculated'), + (this.critBorderColor = 'calculated'), + (this.todayLineColor = 'calculated'), + (this.labelColor = 'black'), + (this.errorBkgColor = '#552222'), + (this.errorTextColor = '#552222'); + } + var t, i; + return ( + (t = e), + (i = [ + { + key: 'updateColors', + value: function () { + (this.secondBkg = Object(n.lighten)( + this.contrast, + 55 + )), + (this.border2 = this.contrast), + (this.nodeBkg = this.mainBkg), + (this.nodeBorder = this.border1), + (this.clusterBkg = this.secondBkg), + (this.clusterBorder = this.border2), + (this.defaultLinkColor = this.lineColor), + (this.titleColor = this.text), + (this.actorBorder = Object(n.lighten)( + this.border1, + 23 + )), + (this.actorBkg = this.mainBkg), + (this.actorTextColor = this.text), + (this.actorLineColor = this.lineColor), + (this.signalColor = this.text), + (this.signalTextColor = this.text), + (this.labelBoxBkgColor = this.actorBkg), + (this.labelBoxBorderColor = this.actorBorder), + (this.labelTextColor = this.text), + (this.loopTextColor = this.text), + (this.noteBorderColor = Object(n.darken)( + this.note, + 60 + )), + (this.noteBkgColor = this.note), + (this.noteTextColor = this.actorTextColor), + (this.sectionBkgColor = Object(n.lighten)( + this.contrast, + 30 + )), + (this.sectionBkgColor2 = Object(n.lighten)( + this.contrast, + 30 + )), + (this.taskBorderColor = Object(n.darken)( + this.contrast, + 10 + )), + (this.taskBkgColor = this.contrast), + (this.taskTextColor = this.taskTextLightColor), + (this.taskTextDarkColor = this.text), + (this.taskTextOutsideColor = this.taskTextDarkColor), + (this.activeTaskBorderColor = this.taskBorderColor), + (this.activeTaskBkgColor = this.mainBkg), + (this.gridColor = Object(n.lighten)( + this.border1, + 30 + )), + (this.doneTaskBkgColor = this.done), + (this.doneTaskBorderColor = this.lineColor), + (this.critBkgColor = this.critical), + (this.critBorderColor = Object(n.darken)( + this.critBkgColor, + 10 + )), + (this.todayLineColor = this.critBkgColor), + (this.classText = this.primaryTextColor), + (this.fillType0 = this.primaryColor), + (this.fillType1 = this.secondaryColor), + (this.fillType2 = Object(n.adjust)( + this.primaryColor, + { h: 64 } + )), + (this.fillType3 = Object(n.adjust)( + this.secondaryColor, + { h: 64 } + )), + (this.fillType4 = Object(n.adjust)( + this.primaryColor, + { h: -64 } + )), + (this.fillType5 = Object(n.adjust)( + this.secondaryColor, + { h: -64 } + )), + (this.fillType6 = Object(n.adjust)( + this.primaryColor, + { h: 128 } + )), + (this.fillType7 = Object(n.adjust)( + this.secondaryColor, + { h: 128 } + )); + }, + }, + { + key: 'calculate', + value: function (e) { + var t = this; + if ('object' === s(e)) { + var i = Object.keys(e); + i.forEach(function (i) { + t[i] = e[i]; + }), + this.updateColors(), + i.forEach(function (i) { + t[i] = e[i]; + }); + } else this.updateColors(); + }, + }, + ]) && o(t.prototype, i), + e + ); + })(), + l = function (e) { + var t = new a(); + return t.calculate(e), t; + }; + }, + './src/utils.js': function (e, t, i) { + 'use strict'; + i.r(t), + i.d(t, 'detectInit', function () { + return p; + }), + i.d(t, 'detectDirective', function () { + return m; + }), + i.d(t, 'detectType', function () { + return _; + }), + i.d(t, 'isSubstringInArray', function () { + return v; + }), + i.d(t, 'interpolateToCurve', function () { + return y; + }), + i.d(t, 'formatUrl', function () { + return w; + }), + i.d(t, 'runFunc', function () { + return C; + }), + i.d(t, 'getStylesFromArray', function () { + return k; + }), + i.d(t, 'generateId', function () { + return L; + }), + i.d(t, 'random', function () { + return M; + }), + i.d(t, 'assignWithDepth', function () { + return D; + }), + i.d(t, 'getTextObj', function () { + return N; + }), + i.d(t, 'drawSimpleText', function () { + return E; + }), + i.d(t, 'wrapLabel', function () { + return T; + }), + i.d(t, 'calculateTextHeight', function () { + return O; + }), + i.d(t, 'calculateTextWidth', function () { + return A; + }), + i.d(t, 'calculateTextDimensions', function () { + return R; + }), + i.d(t, 'calculateSvgSizeAttrs', function () { + return P; + }), + i.d(t, 'configureSvgSize', function () { + return F; + }), + i.d(t, 'initIdGeneratior', function () { + return B; + }); + var n = i('@braintree/sanitize-url'), + r = i('d3'), + s = i('./src/diagrams/common/common.js'), + o = i('./src/logger.js'), + a = void 0; + function l(e, t) { + for (var i = 0; i < t.length; i++) { + var n = t[i]; + (n.enumerable = n.enumerable || !1), + (n.configurable = !0), + 'value' in n && (n.writable = !0), + Object.defineProperty(e, n.key, n); + } + } + function c(e) { + return (c = + 'function' == typeof Symbol && + 'symbol' == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + 'function' == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? 'symbol' + : typeof e; + })(e); + } + function d(e) { + return ( + (function (e) { + if (Array.isArray(e)) { + for ( + var t = 0, i = new Array(e.length); + t < e.length; + t++ + ) + i[t] = e[t]; + return i; + } + })(e) || + (function (e) { + if ( + Symbol.iterator in Object(e) || + '[object Arguments]' === + Object.prototype.toString.call(e) + ) + return Array.from(e); + })(e) || + (function () { + throw new TypeError( + 'Invalid attempt to spread non-iterable instance' + ); + })() + ); + } + var h = { + curveBasis: r.curveBasis, + curveBasisClosed: r.curveBasisClosed, + curveBasisOpen: r.curveBasisOpen, + curveLinear: r.curveLinear, + curveLinearClosed: r.curveLinearClosed, + curveMonotoneX: r.curveMonotoneX, + curveMonotoneY: r.curveMonotoneY, + curveNatural: r.curveNatural, + curveStep: r.curveStep, + curveStepAfter: r.curveStepAfter, + curveStepBefore: r.curveStepBefore, + }, + u = /[%]{2}[{]\s*(?:(?:(\w+)\s*:|(\w+))\s*(?:(?:(\w+))|((?:(?![}][%]{2}).|\r?\n)*))?\s*)(?:[}][%]{2})?/gi, + g = /\s*(?:(?:(\w+)(?=:):|(\w+))\s*(?:(?:(\w+))|((?:(?![}][%]{2}).|\r?\n)*))?\s*)(?:[}][%]{2})?/gi, + f = /\s*%%.*\n/gm, + p = function (e) { + var t = m(e, /(?:init\b)|(?:initialize\b)/), + i = {}; + if (Array.isArray(t)) { + var n = t.map(function (e) { + return e.args; + }); + i = D(i, d(n)); + } else i = t.args; + if (i) { + var r = _(e); + ['config'].forEach(function (e) { + void 0 !== i[e] && + ('flowchart-v2' === r && (r = 'flowchart'), + (i[r] = i[e]), + delete i[e]); + }); + } + return i; + }, + m = function (e) { + var t = + arguments.length > 1 && void 0 !== arguments[1] + ? arguments[1] + : null; + try { + var i = new RegExp( + '[%]{2}(?![{]'.concat(g.source, ')(?=[}][%]{2}).*\n'), + 'ig' + ); + (e = e.trim().replace(i, '').replace(/'/gm, '"')), + o.log.debug( + 'Detecting diagram directive' + .concat( + null !== t ? ' type:' + t : '', + ' based on the text:' + ) + .concat(e) + ); + for (var n, r = []; null !== (n = u.exec(e)); ) + if ( + (n.index === u.lastIndex && u.lastIndex++, + (n && !t) || + (t && n[1] && n[1].match(t)) || + (t && n[2] && n[2].match(t))) + ) { + var s = n[1] ? n[1] : n[2], + a = n[3] + ? n[3].trim() + : n[4] + ? JSON.parse(n[4].trim()) + : null; + r.push({ type: s, args: a }); + } + return ( + 0 === r.length && r.push({ type: e, args: null }), + 1 === r.length ? r[0] : r + ); + } catch (i) { + return ( + o.log.error( + 'ERROR: ' + .concat( + i.message, + ' - Unable to parse directive\n ' + ) + .concat( + null !== t ? ' type:' + t : '', + ' based on the text:' + ) + .concat(e) + ), + { type: null, args: null } + ); + } + }, + _ = function (e) { + return ( + (e = e.replace(u, '').replace(f, '\n')), + o.log.debug( + 'Detecting diagram type based on the text ' + e + ), + e.match(/^\s*sequenceDiagram/) + ? 'sequence' + : e.match(/^\s*gantt/) + ? 'gantt' + : e.match(/^\s*classDiagram-v2/) + ? 'classDiagram' + : e.match(/^\s*classDiagram/) + ? 'class' + : e.match(/^\s*stateDiagram-v2/) + ? 'stateDiagram' + : e.match(/^\s*stateDiagram/) + ? 'state' + : e.match(/^\s*gitGraph/) + ? 'git' + : e.match(/^\s*flowchart/) + ? 'flowchart-v2' + : e.match(/^\s*info/) + ? 'info' + : e.match(/^\s*pie/) + ? 'pie' + : e.match(/^\s*erDiagram/) + ? 'er' + : e.match(/^\s*journey/) + ? 'journey' + : e.match(/^\s*requirement/) || + e.match(/^\s*requirementDiagram/) + ? 'requirement' + : 'flowchart' + ); + }, + b = function (e, t) { + var i = {}; + return function () { + for ( + var n = arguments.length, r = new Array(n), s = 0; + s < n; + s++ + ) + r[s] = arguments[s]; + var o = t ? t.apply(a, r) : r[0]; + if (o in i) return i[o]; + var l = e.apply(void 0, r); + return (i[o] = l), l; + }; + }, + v = function (e, t) { + for (var i = 0; i < t.length; i++) + if (t[i].match(e)) return i; + return -1; + }, + y = function (e, t) { + if (!e) return t; + var i = 'curve'.concat( + e.charAt(0).toUpperCase() + e.slice(1) + ); + return h[i] || t; + }, + w = function (e, t) { + var i = e.trim(); + if (i) + return 'loose' !== t.securityLevel + ? Object(n.sanitizeUrl)(i) + : i; + }, + C = function (e) { + for ( + var t, + i = e.split('.'), + n = i.length - 1, + r = i[n], + s = window, + o = 0; + o < n; + o++ + ) + if (!(s = s[i[o]])) return; + for ( + var a = arguments.length, + l = new Array(a > 1 ? a - 1 : 0), + c = 1; + c < a; + c++ + ) + l[c - 1] = arguments[c]; + (t = s)[r].apply(t, l); + }, + S = function (e, t) { + return e && t + ? Math.sqrt( + Math.pow(t.x - e.x, 2) + Math.pow(t.y - e.y, 2) + ) + : 0; + }, + k = function (e) { + for (var t = '', i = '', n = 0; n < e.length; n++) + void 0 !== e[n] && + (e[n].startsWith('color:') || + e[n].startsWith('text-align:') + ? (i = i + e[n] + ';') + : (t = t + e[n] + ';')); + return { style: t, labelStyle: i }; + }, + x = 0, + L = function () { + return ( + x++, + 'id-' + Math.random().toString(36).substr(2, 12) + '-' + x + ); + }, + M = function (e) { + return (function (e) { + for ( + var t = '', i = '0123456789abcdef', n = i.length, r = 0; + r < e; + r++ + ) + t += i.charAt(Math.floor(Math.random() * n)); + return t; + })(e.length); + }, + D = function e(t, i, n) { + var r = Object.assign({ depth: 2, clobber: !1 }, n), + s = r.depth, + o = r.clobber; + return Array.isArray(i) && !Array.isArray(t) + ? (i.forEach(function (i) { + return e(t, i, n); + }), + t) + : Array.isArray(i) && Array.isArray(t) + ? (i.forEach(function (e) { + -1 === t.indexOf(e) && t.push(e); + }), + t) + : void 0 === t || s <= 0 + ? null != t && 'object' === c(t) && 'object' === c(i) + ? Object.assign(t, i) + : i + : (void 0 !== i && + 'object' === c(t) && + 'object' === c(i) && + Object.keys(i).forEach(function (n) { + 'object' !== c(i[n]) || + (void 0 !== t[n] && 'object' !== c(t[n])) + ? (o || + ('object' !== c(t[n]) && + 'object' !== c(i[n]))) && + (t[n] = i[n]) + : (void 0 === t[n] && + (t[n] = Array.isArray(i[n]) ? [] : {}), + (t[n] = e(t[n], i[n], { + depth: s - 1, + clobber: o, + }))); + }), + t); + }, + N = function () { + return { + x: 0, + y: 0, + fill: void 0, + anchor: 'start', + style: '#666', + width: 100, + height: 100, + textMargin: 0, + rx: 0, + ry: 0, + valign: void 0, + }; + }, + E = function (e, t) { + var i = t.text.replace(s.default.lineBreakRegex, ' '), + n = e.append('text'); + n.attr('x', t.x), + n.attr('y', t.y), + n.style('text-anchor', t.anchor), + n.style('font-family', t.fontFamily), + n.style('font-size', t.fontSize), + n.style('font-weight', t.fontWeight), + n.attr('fill', t.fill), + void 0 !== t.class && n.attr('class', t.class); + var r = n.append('tspan'); + return ( + r.attr('x', t.x + 2 * t.textMargin), + r.attr('fill', t.fill), + r.text(i), + n + ); + }, + T = b( + function (e, t, i) { + if (!e) return e; + if ( + ((i = Object.assign( + { + fontSize: 12, + fontWeight: 400, + fontFamily: 'Arial', + joinWith: '<br/>', + }, + i + )), + s.default.lineBreakRegex.test(e)) + ) + return e; + var n = e.split(' '), + r = [], + o = ''; + return ( + n.forEach(function (e, s) { + var a = A(''.concat(e, ' '), i), + l = A(o, i); + if (a > t) { + var c = I(e, t, '-', i), + h = c.hyphenatedStrings, + u = c.remainingWord; + r.push.apply(r, [o].concat(d(h))), (o = u); + } else l + a >= t ? (r.push(o), (o = e)) : (o = [o, e].filter(Boolean).join(' ')); + s + 1 === n.length && r.push(o); + }), + r + .filter(function (e) { + return '' !== e; + }) + .join(i.joinWith) + ); + }, + function (e, t, i) { + return '' + .concat(e, '-') + .concat(t, '-') + .concat(i.fontSize, '-') + .concat(i.fontWeight, '-') + .concat(i.fontFamily, '-') + .concat(i.joinWith); + } + ), + I = b( + function (e, t) { + var i = + arguments.length > 2 && void 0 !== arguments[2] + ? arguments[2] + : '-', + n = arguments.length > 3 ? arguments[3] : void 0; + n = Object.assign( + { + fontSize: 12, + fontWeight: 400, + fontFamily: 'Arial', + margin: 0, + }, + n + ); + var r = e.split(''), + s = [], + o = ''; + return ( + r.forEach(function (e, a) { + var l = ''.concat(o).concat(e); + if (A(l, n) >= t) { + var c = a + 1, + d = r.length === c, + h = ''.concat(l).concat(i); + s.push(d ? l : h), (o = ''); + } else o = l; + }), + { hyphenatedStrings: s, remainingWord: o } + ); + }, + function (e, t) { + var i = + arguments.length > 2 && void 0 !== arguments[2] + ? arguments[2] + : '-', + n = arguments.length > 3 ? arguments[3] : void 0; + return '' + .concat(e, '-') + .concat(t, '-') + .concat(i, '-') + .concat(n.fontSize, '-') + .concat(n.fontWeight, '-') + .concat(n.fontFamily); + } + ), + O = function (e, t) { + return ( + (t = Object.assign( + { + fontSize: 12, + fontWeight: 400, + fontFamily: 'Arial', + margin: 15, + }, + t + )), + R(e, t).height + ); + }, + A = function (e, t) { + return ( + (t = Object.assign( + { fontSize: 12, fontWeight: 400, fontFamily: 'Arial' }, + t + )), + R(e, t).width + ); + }, + R = b( + function (e, t) { + var i = (t = Object.assign( + { + fontSize: 12, + fontWeight: 400, + fontFamily: 'Arial', + }, + t + )), + n = i.fontSize, + o = i.fontFamily, + a = i.fontWeight; + if (!e) return { width: 0, height: 0 }; + var l = ['sans-serif', o], + c = e.split(s.default.lineBreakRegex), + d = [], + h = Object(r.select)('body'); + if (!h.remove) + return { width: 0, height: 0, lineHeight: 0 }; + for ( + var u = h.append('svg'), g = 0, f = l; + g < f.length; + g++ + ) { + var p = f[g], + m = 0, + _ = { width: 0, height: 0, lineHeight: 0 }, + b = !0, + v = !1, + y = void 0; + try { + for ( + var w, C = c[Symbol.iterator](); + !(b = (w = C.next()).done); + b = !0 + ) { + var S = w.value, + k = N(); + k.text = S; + var x = E(u, k) + .style('font-size', n) + .style('font-weight', a) + .style('font-family', p), + L = (x._groups || x)[0][0].getBBox(); + (_.width = Math.round(Math.max(_.width, L.width))), + (m = Math.round(L.height)), + (_.height += m), + (_.lineHeight = Math.round( + Math.max(_.lineHeight, m) + )); + } + } catch (e) { + (v = !0), (y = e); + } finally { + try { + b || null == C.return || C.return(); + } finally { + if (v) throw y; + } + } + d.push(_); + } + return ( + u.remove(), + d[ + isNaN(d[1].height) || + isNaN(d[1].width) || + isNaN(d[1].lineHeight) || + (d[0].height > d[1].height && + d[0].width > d[1].width && + d[0].lineHeight > d[1].lineHeight) + ? 0 + : 1 + ] + ); + }, + function (e, t) { + return '' + .concat(e, '-') + .concat(t.fontSize, '-') + .concat(t.fontWeight, '-') + .concat(t.fontFamily); + } + ), + P = function (e, t, i) { + var n = new Map(); + return ( + n.set('height', e), + i + ? (n.set('width', '100%'), + n.set('style', 'max-width: '.concat(t, 'px;'))) + : n.set('width', t), + n + ); + }, + F = function (e, t, i, n) { + !(function (e, t) { + var i = !0, + n = !1, + r = void 0; + try { + for ( + var s, o = t[Symbol.iterator](); + !(i = (s = o.next()).done); + i = !0 + ) { + var a = s.value; + e.attr(a[0], a[1]); + } + } catch (e) { + (n = !0), (r = e); + } finally { + try { + i || null == o.return || o.return(); + } finally { + if (n) throw r; + } + } + })(e, P(t, i, n)); + }, + B = (function () { + function e(t, i) { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError( + 'Cannot call a class as a function' + ); + })(this, e), + (this.deterministic = t), + (this.seed = i), + (this.count = i ? i.length : 0); + } + var t, i; + return ( + (t = e), + (i = [ + { + key: 'next', + value: function () { + return this.deterministic + ? this.count++ + : Date.now(); + }, + }, + ]) && l(t.prototype, i), + e + ); + })(); + t.default = { + assignWithDepth: D, + wrapLabel: T, + calculateTextHeight: O, + calculateTextWidth: A, + calculateTextDimensions: R, + calculateSvgSizeAttrs: P, + configureSvgSize: F, + detectInit: p, + detectDirective: m, + detectType: _, + isSubstringInArray: v, + interpolateToCurve: y, + calcLabelPosition: function (e) { + return (function (e) { + var t, + i = 0; + e.forEach(function (e) { + (i += S(e, t)), (t = e); + }); + var n = i / 2, + r = void 0; + return ( + (t = void 0), + e.forEach(function (e) { + if (t && !r) { + var i = S(e, t); + if (i < n) n -= i; + else { + var s = n / i; + s <= 0 && (r = t), + s >= 1 && (r = { x: e.x, y: e.y }), + s > 0 && + s < 1 && + (r = { + x: (1 - s) * t.x + s * e.x, + y: (1 - s) * t.y + s * e.y, + }); + } + } + t = e; + }), + r + ); + })(e); + }, + calcCardinalityPosition: function (e, t, i) { + var n; + o.log.info('our points', t), + t[0] !== i && (t = t.reverse()), + t.forEach(function (e) { + S(e, n), (n = e); + }); + var r, + s = 25; + (n = void 0), + t.forEach(function (e) { + if (n && !r) { + var t = S(e, n); + if (t < s) s -= t; + else { + var i = s / t; + i <= 0 && (r = n), + i >= 1 && (r = { x: e.x, y: e.y }), + i > 0 && + i < 1 && + (r = { + x: (1 - i) * n.x + i * e.x, + y: (1 - i) * n.y + i * e.y, + }); + } + } + n = e; + }); + var a = e ? 10 : 5, + l = Math.atan2(t[0].y - r.y, t[0].x - r.x), + c = { x: 0, y: 0 }; + return ( + (c.x = Math.sin(l) * a + (t[0].x + r.x) / 2), + (c.y = -Math.cos(l) * a + (t[0].y + r.y) / 2), + c + ); + }, + calcTerminalLabelPosition: function (e, t, i) { + var n, + r = JSON.parse(JSON.stringify(i)); + o.log.info('our points', r), + 'start_left' !== t && + 'start_right' !== t && + (r = r.reverse()), + r.forEach(function (e) { + S(e, n), (n = e); + }); + var s, + a = 25; + (n = void 0), + r.forEach(function (e) { + if (n && !s) { + var t = S(e, n); + if (t < a) a -= t; + else { + var i = a / t; + i <= 0 && (s = n), + i >= 1 && (s = { x: e.x, y: e.y }), + i > 0 && + i < 1 && + (s = { + x: (1 - i) * n.x + i * e.x, + y: (1 - i) * n.y + i * e.y, + }); + } + } + n = e; + }); + var l = 10, + c = Math.atan2(r[0].y - s.y, r[0].x - s.x), + d = { x: 0, y: 0 }; + return ( + (d.x = Math.sin(c) * l + (r[0].x + s.x) / 2), + (d.y = -Math.cos(c) * l + (r[0].y + s.y) / 2), + 'start_left' === t && + ((d.x = Math.sin(c + Math.PI) * l + (r[0].x + s.x) / 2), + (d.y = + -Math.cos(c + Math.PI) * l + (r[0].y + s.y) / 2)), + 'end_right' === t && + ((d.x = + Math.sin(c - Math.PI) * l + (r[0].x + s.x) / 2 - 5), + (d.y = + -Math.cos(c - Math.PI) * l + (r[0].y + s.y) / 2 - 5)), + 'end_left' === t && + ((d.x = Math.sin(c) * l + (r[0].x + s.x) / 2 - 5), + (d.y = -Math.cos(c) * l + (r[0].y + s.y) / 2 - 5)), + d + ); + }, + formatUrl: w, + getStylesFromArray: k, + generateId: L, + random: M, + memoize: b, + runFunc: C, + initIdGeneratior: B, + }; + }, + '@braintree/sanitize-url': function (e, t) { + e.exports = i(29609); + }, + d3: function (e, t) { + e.exports = i(69362); + }, + dagre: function (e, t) { + e.exports = i(70681); + }, + 'dagre-d3': function (e, t) { + e.exports = i(44949); + }, + 'dagre-d3/lib/label/add-html-label.js': function (e, t) { + e.exports = i(88284); + }, + 'entity-decode/browser': function (e, t) { + e.exports = i(42859); + }, + graphlib: function (e, t) { + e.exports = i(28282); + }, + khroma: function (e, t) { + e.exports = i(8613); + }, + 'moment-mini': function (e, t) { + e.exports = i(11941); + }, + stylis: function (e, t) { + e.exports = i(673); + }, + }).default; + }), + (e.exports = n()); + }, + 89234: () => {}, + 11748: (e, t, i) => { + var n = { './locale': 89234, './locale.js': 89234 }; + function r(e) { + var t = s(e); + return i(t); + } + function s(e) { + if (!i.o(n, e)) { + var t = new Error("Cannot find module '" + e + "'"); + throw ((t.code = 'MODULE_NOT_FOUND'), t); + } + return n[e]; + } + (r.keys = function () { + return Object.keys(n); + }), + (r.resolve = s), + (e.exports = r), + (r.id = 11748); + }, + 11941: function (e, t, i) { + (e = i.nmd(e)).exports = (function () { + 'use strict'; + var t, n; + function r() { + return t.apply(null, arguments); + } + function s(e) { + return ( + e instanceof Array || + '[object Array]' === Object.prototype.toString.call(e) + ); + } + function o(e) { + return ( + null != e && + '[object Object]' === Object.prototype.toString.call(e) + ); + } + function a(e) { + return void 0 === e; + } + function l(e) { + return ( + 'number' == typeof e || + '[object Number]' === Object.prototype.toString.call(e) + ); + } + function c(e) { + return ( + e instanceof Date || + '[object Date]' === Object.prototype.toString.call(e) + ); + } + function d(e, t) { + var i, + n = []; + for (i = 0; i < e.length; ++i) n.push(t(e[i], i)); + return n; + } + function h(e, t) { + return Object.prototype.hasOwnProperty.call(e, t); + } + function u(e, t) { + for (var i in t) h(t, i) && (e[i] = t[i]); + return ( + h(t, 'toString') && (e.toString = t.toString), + h(t, 'valueOf') && (e.valueOf = t.valueOf), + e + ); + } + function g(e, t, i, n) { + return bt(e, t, i, n, !0).utc(); + } + function f(e) { + return ( + null == e._pf && + (e._pf = { + empty: !1, + unusedTokens: [], + unusedInput: [], + overflow: -2, + charsLeftOver: 0, + nullInput: !1, + invalidMonth: null, + invalidFormat: !1, + userInvalidated: !1, + iso: !1, + parsedDateParts: [], + meridiem: null, + rfc2822: !1, + weekdayMismatch: !1, + }), + e._pf + ); + } + function p(e) { + if (null == e._isValid) { + var t = f(e), + i = n.call(t.parsedDateParts, function (e) { + return null != e; + }), + r = + !isNaN(e._d.getTime()) && + t.overflow < 0 && + !t.empty && + !t.invalidMonth && + !t.invalidWeekday && + !t.weekdayMismatch && + !t.nullInput && + !t.invalidFormat && + !t.userInvalidated && + (!t.meridiem || (t.meridiem && i)); + if ( + (e._strict && + (r = + r && + 0 === t.charsLeftOver && + 0 === t.unusedTokens.length && + void 0 === t.bigHour), + null != Object.isFrozen && Object.isFrozen(e)) + ) + return r; + e._isValid = r; + } + return e._isValid; + } + function m(e) { + var t = g(NaN); + return null != e ? u(f(t), e) : (f(t).userInvalidated = !0), t; + } + n = Array.prototype.some + ? Array.prototype.some + : function (e) { + for ( + var t = Object(this), i = t.length >>> 0, n = 0; + n < i; + n++ + ) + if (n in t && e.call(this, t[n], n, t)) return !0; + return !1; + }; + var _ = (r.momentProperties = []); + function b(e, t) { + var i, n, r; + if ( + (a(t._isAMomentObject) || + (e._isAMomentObject = t._isAMomentObject), + a(t._i) || (e._i = t._i), + a(t._f) || (e._f = t._f), + a(t._l) || (e._l = t._l), + a(t._strict) || (e._strict = t._strict), + a(t._tzm) || (e._tzm = t._tzm), + a(t._isUTC) || (e._isUTC = t._isUTC), + a(t._offset) || (e._offset = t._offset), + a(t._pf) || (e._pf = f(t)), + a(t._locale) || (e._locale = t._locale), + 0 < _.length) + ) + for (i = 0; i < _.length; i++) + a((r = t[(n = _[i])])) || (e[n] = r); + return e; + } + var v = !1; + function y(e) { + b(this, e), + (this._d = new Date(null != e._d ? e._d.getTime() : NaN)), + this.isValid() || (this._d = new Date(NaN)), + !1 === v && ((v = !0), r.updateOffset(this), (v = !1)); + } + function w(e) { + return e instanceof y || (null != e && null != e._isAMomentObject); + } + function C(e) { + return e < 0 ? Math.ceil(e) || 0 : Math.floor(e); + } + function S(e) { + var t = +e, + i = 0; + return 0 !== t && isFinite(t) && (i = C(t)), i; + } + function k(e, t, i) { + var n, + r = Math.min(e.length, t.length), + s = Math.abs(e.length - t.length), + o = 0; + for (n = 0; n < r; n++) + ((i && e[n] !== t[n]) || (!i && S(e[n]) !== S(t[n]))) && o++; + return o + s; + } + function x(e) { + !1 === r.suppressDeprecationWarnings && + 'undefined' != typeof console && + console.warn && + console.warn('Deprecation warning: ' + e); + } + function L(e, t) { + var i = !0; + return u(function () { + if ( + (null != r.deprecationHandler && r.deprecationHandler(null, e), + i) + ) { + for (var n, s = [], o = 0; o < arguments.length; o++) { + if (((n = ''), 'object' == typeof arguments[o])) { + for (var a in ((n += '\n[' + o + '] '), arguments[0])) + n += a + ': ' + arguments[0][a] + ', '; + n = n.slice(0, -2); + } else n = arguments[o]; + s.push(n); + } + x( + e + + '\nArguments: ' + + Array.prototype.slice.call(s).join('') + + '\n' + + new Error().stack + ), + (i = !1); + } + return t.apply(this, arguments); + }, t); + } + var M, + D = {}; + function N(e, t) { + null != r.deprecationHandler && r.deprecationHandler(e, t), + D[e] || (x(t), (D[e] = !0)); + } + function E(e) { + return ( + e instanceof Function || + '[object Function]' === Object.prototype.toString.call(e) + ); + } + function T(e, t) { + var i, + n = u({}, e); + for (i in t) + h(t, i) && + (o(e[i]) && o(t[i]) + ? ((n[i] = {}), u(n[i], e[i]), u(n[i], t[i])) + : null != t[i] + ? (n[i] = t[i]) + : delete n[i]); + for (i in e) h(e, i) && !h(t, i) && o(e[i]) && (n[i] = u({}, n[i])); + return n; + } + function I(e) { + null != e && this.set(e); + } + (r.suppressDeprecationWarnings = !1), + (r.deprecationHandler = null), + (M = Object.keys + ? Object.keys + : function (e) { + var t, + i = []; + for (t in e) h(e, t) && i.push(t); + return i; + }); + var O = {}; + function A(e, t) { + var i = e.toLowerCase(); + O[i] = O[i + 's'] = O[t] = e; + } + function R(e) { + return 'string' == typeof e ? O[e] || O[e.toLowerCase()] : void 0; + } + function P(e) { + var t, + i, + n = {}; + for (i in e) h(e, i) && (t = R(i)) && (n[t] = e[i]); + return n; + } + var F = {}; + function B(e, t) { + F[e] = t; + } + function W(e, t, i) { + var n = '' + Math.abs(e), + r = t - n.length; + return ( + (0 <= e ? (i ? '+' : '') : '-') + + Math.pow(10, Math.max(0, r)).toString().substr(1) + + n + ); + } + var Y = /(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g, + H = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g, + j = {}, + V = {}; + function z(e, t, i, n) { + var r = n; + 'string' == typeof n && + (r = function () { + return this[n](); + }), + e && (V[e] = r), + t && + (V[t[0]] = function () { + return W(r.apply(this, arguments), t[1], t[2]); + }), + i && + (V[i] = function () { + return this.localeData().ordinal(r.apply(this, arguments), e); + }); + } + function U(e, t) { + return e.isValid() + ? ((t = $(t, e.localeData())), + (j[t] = + j[t] || + (function (e) { + var t, + i, + n, + r = e.match(Y); + for (t = 0, i = r.length; t < i; t++) + V[r[t]] + ? (r[t] = V[r[t]]) + : (r[t] = (n = r[t]).match(/\[[\s\S]/) + ? n.replace(/^\[|\]$/g, '') + : n.replace(/\\/g, '')); + return function (t) { + var n, + s = ''; + for (n = 0; n < i; n++) + s += E(r[n]) ? r[n].call(t, e) : r[n]; + return s; + }; + })(t)), + j[t](e)) + : e.localeData().invalidDate(); + } + function $(e, t) { + var i = 5; + function n(e) { + return t.longDateFormat(e) || e; + } + for (H.lastIndex = 0; 0 <= i && H.test(e); ) + (e = e.replace(H, n)), (H.lastIndex = 0), (i -= 1); + return e; + } + var K = /\d/, + q = /\d\d/, + G = /\d{3}/, + Z = /\d{4}/, + J = /[+-]?\d{6}/, + Q = /\d\d?/, + X = /\d\d\d\d?/, + ee = /\d\d\d\d\d\d?/, + te = /\d{1,3}/, + ie = /\d{1,4}/, + ne = /[+-]?\d{1,6}/, + re = /\d+/, + se = /[+-]?\d+/, + oe = /Z|[+-]\d\d:?\d\d/gi, + ae = /Z|[+-]\d\d(?::?\d\d)?/gi, + le = /[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i, + ce = {}; + function de(e, t, i) { + ce[e] = E(t) + ? t + : function (e, n) { + return e && i ? i : t; + }; + } + function he(e, t) { + return h(ce, e) + ? ce[e](t._strict, t._locale) + : new RegExp( + ue( + e + .replace('\\', '') + .replace( + /\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g, + function (e, t, i, n, r) { + return t || i || n || r; + } + ) + ) + ); + } + function ue(e) { + return e.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&'); + } + var ge = {}; + function fe(e, t) { + var i, + n = t; + for ( + 'string' == typeof e && (e = [e]), + l(t) && + (n = function (e, i) { + i[t] = S(e); + }), + i = 0; + i < e.length; + i++ + ) + ge[e[i]] = n; + } + function pe(e, t) { + fe(e, function (e, i, n, r) { + (n._w = n._w || {}), t(e, n._w, n, r); + }); + } + function me(e) { + return _e(e) ? 366 : 365; + } + function _e(e) { + return (e % 4 == 0 && e % 100 != 0) || e % 400 == 0; + } + z('Y', 0, 0, function () { + var e = this.year(); + return e <= 9999 ? '' + e : '+' + e; + }), + z(0, ['YY', 2], 0, function () { + return this.year() % 100; + }), + z(0, ['YYYY', 4], 0, 'year'), + z(0, ['YYYYY', 5], 0, 'year'), + z(0, ['YYYYYY', 6, !0], 0, 'year'), + A('year', 'y'), + B('year', 1), + de('Y', se), + de('YY', Q, q), + de('YYYY', ie, Z), + de('YYYYY', ne, J), + de('YYYYYY', ne, J), + fe(['YYYYY', 'YYYYYY'], 0), + fe('YYYY', function (e, t) { + t[0] = 2 === e.length ? r.parseTwoDigitYear(e) : S(e); + }), + fe('YY', function (e, t) { + t[0] = r.parseTwoDigitYear(e); + }), + fe('Y', function (e, t) { + t[0] = parseInt(e, 10); + }), + (r.parseTwoDigitYear = function (e) { + return S(e) + (68 < S(e) ? 1900 : 2e3); + }); + var be, + ve = ye('FullYear', !0); + function ye(e, t) { + return function (i) { + return null != i + ? (Ce(this, e, i), r.updateOffset(this, t), this) + : we(this, e); + }; + } + function we(e, t) { + return e.isValid() + ? e._d['get' + (e._isUTC ? 'UTC' : '') + t]() + : NaN; + } + function Ce(e, t, i) { + e.isValid() && + !isNaN(i) && + ('FullYear' === t && + _e(e.year()) && + 1 === e.month() && + 29 === e.date() + ? e._d['set' + (e._isUTC ? 'UTC' : '') + t]( + i, + e.month(), + Se(i, e.month()) + ) + : e._d['set' + (e._isUTC ? 'UTC' : '') + t](i)); + } + function Se(e, t) { + if (isNaN(e) || isNaN(t)) return NaN; + var i = ((t % 12) + 12) % 12; + return ( + (e += (t - i) / 12), + 1 === i ? (_e(e) ? 29 : 28) : 31 - ((i % 7) % 2) + ); + } + (be = Array.prototype.indexOf + ? Array.prototype.indexOf + : function (e) { + var t; + for (t = 0; t < this.length; ++t) if (this[t] === e) return t; + return -1; + }), + z('M', ['MM', 2], 'Mo', function () { + return this.month() + 1; + }), + z('MMM', 0, 0, function (e) { + return this.localeData().monthsShort(this, e); + }), + z('MMMM', 0, 0, function (e) { + return this.localeData().months(this, e); + }), + A('month', 'M'), + B('month', 8), + de('M', Q), + de('MM', Q, q), + de('MMM', function (e, t) { + return t.monthsShortRegex(e); + }), + de('MMMM', function (e, t) { + return t.monthsRegex(e); + }), + fe(['M', 'MM'], function (e, t) { + t[1] = S(e) - 1; + }), + fe(['MMM', 'MMMM'], function (e, t, i, n) { + var r = i._locale.monthsParse(e, n, i._strict); + null != r ? (t[1] = r) : (f(i).invalidMonth = e); + }); + var ke = /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/, + xe = 'January_February_March_April_May_June_July_August_September_October_November_December'.split( + '_' + ), + Le = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'); + function Me(e, t) { + var i; + if (!e.isValid()) return e; + if ('string' == typeof t) + if (/^\d+$/.test(t)) t = S(t); + else if (!l((t = e.localeData().monthsParse(t)))) return e; + return ( + (i = Math.min(e.date(), Se(e.year(), t))), + e._d['set' + (e._isUTC ? 'UTC' : '') + 'Month'](t, i), + e + ); + } + function De(e) { + return null != e + ? (Me(this, e), r.updateOffset(this, !0), this) + : we(this, 'Month'); + } + var Ne = le, + Ee = le; + function Te() { + function e(e, t) { + return t.length - e.length; + } + var t, + i, + n = [], + r = [], + s = []; + for (t = 0; t < 12; t++) + (i = g([2e3, t])), + n.push(this.monthsShort(i, '')), + r.push(this.months(i, '')), + s.push(this.months(i, '')), + s.push(this.monthsShort(i, '')); + for (n.sort(e), r.sort(e), s.sort(e), t = 0; t < 12; t++) + (n[t] = ue(n[t])), (r[t] = ue(r[t])); + for (t = 0; t < 24; t++) s[t] = ue(s[t]); + (this._monthsRegex = new RegExp('^(' + s.join('|') + ')', 'i')), + (this._monthsShortRegex = this._monthsRegex), + (this._monthsStrictRegex = new RegExp( + '^(' + r.join('|') + ')', + 'i' + )), + (this._monthsShortStrictRegex = new RegExp( + '^(' + n.join('|') + ')', + 'i' + )); + } + function Ie(e) { + var t = new Date(Date.UTC.apply(null, arguments)); + return ( + e < 100 && + 0 <= e && + isFinite(t.getUTCFullYear()) && + t.setUTCFullYear(e), + t + ); + } + function Oe(e, t, i) { + var n = 7 + t - i; + return (-(7 + Ie(e, 0, n).getUTCDay() - t) % 7) + n - 1; + } + function Ae(e, t, i, n, r) { + var s, + o, + a = 1 + 7 * (t - 1) + ((7 + i - n) % 7) + Oe(e, n, r); + return ( + a <= 0 + ? (o = me((s = e - 1)) + a) + : a > me(e) + ? ((s = e + 1), (o = a - me(e))) + : ((s = e), (o = a)), + { year: s, dayOfYear: o } + ); + } + function Re(e, t, i) { + var n, + r, + s = Oe(e.year(), t, i), + o = Math.floor((e.dayOfYear() - s - 1) / 7) + 1; + return ( + o < 1 + ? (n = o + Pe((r = e.year() - 1), t, i)) + : o > Pe(e.year(), t, i) + ? ((n = o - Pe(e.year(), t, i)), (r = e.year() + 1)) + : ((r = e.year()), (n = o)), + { week: n, year: r } + ); + } + function Pe(e, t, i) { + var n = Oe(e, t, i), + r = Oe(e + 1, t, i); + return (me(e) - n + r) / 7; + } + z('w', ['ww', 2], 'wo', 'week'), + z('W', ['WW', 2], 'Wo', 'isoWeek'), + A('week', 'w'), + A('isoWeek', 'W'), + B('week', 5), + B('isoWeek', 5), + de('w', Q), + de('ww', Q, q), + de('W', Q), + de('WW', Q, q), + pe(['w', 'ww', 'W', 'WW'], function (e, t, i, n) { + t[n.substr(0, 1)] = S(e); + }), + z('d', 0, 'do', 'day'), + z('dd', 0, 0, function (e) { + return this.localeData().weekdaysMin(this, e); + }), + z('ddd', 0, 0, function (e) { + return this.localeData().weekdaysShort(this, e); + }), + z('dddd', 0, 0, function (e) { + return this.localeData().weekdays(this, e); + }), + z('e', 0, 0, 'weekday'), + z('E', 0, 0, 'isoWeekday'), + A('day', 'd'), + A('weekday', 'e'), + A('isoWeekday', 'E'), + B('day', 11), + B('weekday', 11), + B('isoWeekday', 11), + de('d', Q), + de('e', Q), + de('E', Q), + de('dd', function (e, t) { + return t.weekdaysMinRegex(e); + }), + de('ddd', function (e, t) { + return t.weekdaysShortRegex(e); + }), + de('dddd', function (e, t) { + return t.weekdaysRegex(e); + }), + pe(['dd', 'ddd', 'dddd'], function (e, t, i, n) { + var r = i._locale.weekdaysParse(e, n, i._strict); + null != r ? (t.d = r) : (f(i).invalidWeekday = e); + }), + pe(['d', 'e', 'E'], function (e, t, i, n) { + t[n] = S(e); + }); + var Fe = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split( + '_' + ), + Be = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), + We = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), + Ye = le, + He = le, + je = le; + function Ve() { + function e(e, t) { + return t.length - e.length; + } + var t, + i, + n, + r, + s, + o = [], + a = [], + l = [], + c = []; + for (t = 0; t < 7; t++) + (i = g([2e3, 1]).day(t)), + (n = this.weekdaysMin(i, '')), + (r = this.weekdaysShort(i, '')), + (s = this.weekdays(i, '')), + o.push(n), + a.push(r), + l.push(s), + c.push(n), + c.push(r), + c.push(s); + for (o.sort(e), a.sort(e), l.sort(e), c.sort(e), t = 0; t < 7; t++) + (a[t] = ue(a[t])), (l[t] = ue(l[t])), (c[t] = ue(c[t])); + (this._weekdaysRegex = new RegExp('^(' + c.join('|') + ')', 'i')), + (this._weekdaysShortRegex = this._weekdaysRegex), + (this._weekdaysMinRegex = this._weekdaysRegex), + (this._weekdaysStrictRegex = new RegExp( + '^(' + l.join('|') + ')', + 'i' + )), + (this._weekdaysShortStrictRegex = new RegExp( + '^(' + a.join('|') + ')', + 'i' + )), + (this._weekdaysMinStrictRegex = new RegExp( + '^(' + o.join('|') + ')', + 'i' + )); + } + function ze() { + return this.hours() % 12 || 12; + } + function Ue(e, t) { + z(e, 0, 0, function () { + return this.localeData().meridiem( + this.hours(), + this.minutes(), + t + ); + }); + } + function $e(e, t) { + return t._meridiemParse; + } + z('H', ['HH', 2], 0, 'hour'), + z('h', ['hh', 2], 0, ze), + z('k', ['kk', 2], 0, function () { + return this.hours() || 24; + }), + z('hmm', 0, 0, function () { + return '' + ze.apply(this) + W(this.minutes(), 2); + }), + z('hmmss', 0, 0, function () { + return ( + '' + + ze.apply(this) + + W(this.minutes(), 2) + + W(this.seconds(), 2) + ); + }), + z('Hmm', 0, 0, function () { + return '' + this.hours() + W(this.minutes(), 2); + }), + z('Hmmss', 0, 0, function () { + return ( + '' + this.hours() + W(this.minutes(), 2) + W(this.seconds(), 2) + ); + }), + Ue('a', !0), + Ue('A', !1), + A('hour', 'h'), + B('hour', 13), + de('a', $e), + de('A', $e), + de('H', Q), + de('h', Q), + de('k', Q), + de('HH', Q, q), + de('hh', Q, q), + de('kk', Q, q), + de('hmm', X), + de('hmmss', ee), + de('Hmm', X), + de('Hmmss', ee), + fe(['H', 'HH'], 3), + fe(['k', 'kk'], function (e, t, i) { + var n = S(e); + t[3] = 24 === n ? 0 : n; + }), + fe(['a', 'A'], function (e, t, i) { + (i._isPm = i._locale.isPM(e)), (i._meridiem = e); + }), + fe(['h', 'hh'], function (e, t, i) { + (t[3] = S(e)), (f(i).bigHour = !0); + }), + fe('hmm', function (e, t, i) { + var n = e.length - 2; + (t[3] = S(e.substr(0, n))), + (t[4] = S(e.substr(n))), + (f(i).bigHour = !0); + }), + fe('hmmss', function (e, t, i) { + var n = e.length - 4, + r = e.length - 2; + (t[3] = S(e.substr(0, n))), + (t[4] = S(e.substr(n, 2))), + (t[5] = S(e.substr(r))), + (f(i).bigHour = !0); + }), + fe('Hmm', function (e, t, i) { + var n = e.length - 2; + (t[3] = S(e.substr(0, n))), (t[4] = S(e.substr(n))); + }), + fe('Hmmss', function (e, t, i) { + var n = e.length - 4, + r = e.length - 2; + (t[3] = S(e.substr(0, n))), + (t[4] = S(e.substr(n, 2))), + (t[5] = S(e.substr(r))); + }); + var Ke, + qe = ye('Hours', !0), + Ge = { + calendar: { + sameDay: '[Today at] LT', + nextDay: '[Tomorrow at] LT', + nextWeek: 'dddd [at] LT', + lastDay: '[Yesterday at] LT', + lastWeek: '[Last] dddd [at] LT', + sameElse: 'L', + }, + longDateFormat: { + LTS: 'h:mm:ss A', + LT: 'h:mm A', + L: 'MM/DD/YYYY', + LL: 'MMMM D, YYYY', + LLL: 'MMMM D, YYYY h:mm A', + LLLL: 'dddd, MMMM D, YYYY h:mm A', + }, + invalidDate: 'Invalid date', + ordinal: '%d', + dayOfMonthOrdinalParse: /\d{1,2}/, + relativeTime: { + future: 'in %s', + past: '%s ago', + s: 'a few seconds', + ss: '%d seconds', + m: 'a minute', + mm: '%d minutes', + h: 'an hour', + hh: '%d hours', + d: 'a day', + dd: '%d days', + M: 'a month', + MM: '%d months', + y: 'a year', + yy: '%d years', + }, + months: xe, + monthsShort: Le, + week: { dow: 0, doy: 6 }, + weekdays: Fe, + weekdaysMin: We, + weekdaysShort: Be, + meridiemParse: /[ap]\.?m?\.?/i, + }, + Ze = {}, + Je = {}; + function Qe(e) { + return e ? e.toLowerCase().replace('_', '-') : e; + } + function Xe(t) { + var n = null; + if (!Ze[t] && e && e.exports) + try { + (n = Ke._abbr), i(11748)('./' + t), et(n); + } catch (t) {} + return Ze[t]; + } + function et(e, t) { + var i; + return ( + e && + ((i = a(t) ? it(e) : tt(e, t)) + ? (Ke = i) + : 'undefined' != typeof console && + console.warn && + console.warn( + 'Locale ' + e + ' not found. Did you forget to load it?' + )), + Ke._abbr + ); + } + function tt(e, t) { + if (null !== t) { + var i, + n = Ge; + if (((t.abbr = e), null != Ze[e])) + N( + 'defineLocaleOverride', + 'use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info.' + ), + (n = Ze[e]._config); + else if (null != t.parentLocale) + if (null != Ze[t.parentLocale]) n = Ze[t.parentLocale]._config; + else { + if (null == (i = Xe(t.parentLocale))) + return ( + Je[t.parentLocale] || (Je[t.parentLocale] = []), + Je[t.parentLocale].push({ name: e, config: t }), + null + ); + n = i._config; + } + return ( + (Ze[e] = new I(T(n, t))), + Je[e] && + Je[e].forEach(function (e) { + tt(e.name, e.config); + }), + et(e), + Ze[e] + ); + } + return delete Ze[e], null; + } + function it(e) { + var t; + if ( + (e && e._locale && e._locale._abbr && (e = e._locale._abbr), !e) + ) + return Ke; + if (!s(e)) { + if ((t = Xe(e))) return t; + e = [e]; + } + return (function (e) { + for (var t, i, n, r, s = 0; s < e.length; ) { + for ( + t = (r = Qe(e[s]).split('-')).length, + i = (i = Qe(e[s + 1])) ? i.split('-') : null; + 0 < t; + + ) { + if ((n = Xe(r.slice(0, t).join('-')))) return n; + if (i && i.length >= t && k(r, i, !0) >= t - 1) break; + t--; + } + s++; + } + return Ke; + })(e); + } + function nt(e) { + var t, + i = e._a; + return ( + i && + -2 === f(e).overflow && + ((t = + i[1] < 0 || 11 < i[1] + ? 1 + : i[2] < 1 || i[2] > Se(i[0], i[1]) + ? 2 + : i[3] < 0 || + 24 < i[3] || + (24 === i[3] && (0 !== i[4] || 0 !== i[5] || 0 !== i[6])) + ? 3 + : i[4] < 0 || 59 < i[4] + ? 4 + : i[5] < 0 || 59 < i[5] + ? 5 + : i[6] < 0 || 999 < i[6] + ? 6 + : -1), + f(e)._overflowDayOfYear && (t < 0 || 2 < t) && (t = 2), + f(e)._overflowWeeks && -1 === t && (t = 7), + f(e)._overflowWeekday && -1 === t && (t = 8), + (f(e).overflow = t)), + e + ); + } + function rt(e, t, i) { + return null != e ? e : null != t ? t : i; + } + function st(e) { + var t, + i, + n, + s, + o, + a = []; + if (!e._d) { + var l, c; + for ( + l = e, + c = new Date(r.now()), + n = l._useUTC + ? [c.getUTCFullYear(), c.getUTCMonth(), c.getUTCDate()] + : [c.getFullYear(), c.getMonth(), c.getDate()], + e._w && + null == e._a[2] && + null == e._a[1] && + (function (e) { + var t, i, n, r, s, o, a, l; + if (null != (t = e._w).GG || null != t.W || null != t.E) + (s = 1), + (o = 4), + (i = rt(t.GG, e._a[0], Re(vt(), 1, 4).year)), + (n = rt(t.W, 1)), + ((r = rt(t.E, 1)) < 1 || 7 < r) && (l = !0); + else { + (s = e._locale._week.dow), (o = e._locale._week.doy); + var c = Re(vt(), s, o); + (i = rt(t.gg, e._a[0], c.year)), + (n = rt(t.w, c.week)), + null != t.d + ? ((r = t.d) < 0 || 6 < r) && (l = !0) + : null != t.e + ? ((r = t.e + s), (t.e < 0 || 6 < t.e) && (l = !0)) + : (r = s); + } + n < 1 || n > Pe(i, s, o) + ? (f(e)._overflowWeeks = !0) + : null != l + ? (f(e)._overflowWeekday = !0) + : ((a = Ae(i, n, r, s, o)), + (e._a[0] = a.year), + (e._dayOfYear = a.dayOfYear)); + })(e), + null != e._dayOfYear && + ((o = rt(e._a[0], n[0])), + (e._dayOfYear > me(o) || 0 === e._dayOfYear) && + (f(e)._overflowDayOfYear = !0), + (i = Ie(o, 0, e._dayOfYear)), + (e._a[1] = i.getUTCMonth()), + (e._a[2] = i.getUTCDate())), + t = 0; + t < 3 && null == e._a[t]; + ++t + ) + e._a[t] = a[t] = n[t]; + for (; t < 7; t++) + e._a[t] = a[t] = null == e._a[t] ? (2 === t ? 1 : 0) : e._a[t]; + 24 === e._a[3] && + 0 === e._a[4] && + 0 === e._a[5] && + 0 === e._a[6] && + ((e._nextDay = !0), (e._a[3] = 0)), + (e._d = (e._useUTC + ? Ie + : function (e, t, i, n, r, s, o) { + var a = new Date(e, t, i, n, r, s, o); + return ( + e < 100 && + 0 <= e && + isFinite(a.getFullYear()) && + a.setFullYear(e), + a + ); + } + ).apply(null, a)), + (s = e._useUTC ? e._d.getUTCDay() : e._d.getDay()), + null != e._tzm && + e._d.setUTCMinutes(e._d.getUTCMinutes() - e._tzm), + e._nextDay && (e._a[3] = 24), + e._w && + void 0 !== e._w.d && + e._w.d !== s && + (f(e).weekdayMismatch = !0); + } + } + var ot = /^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/, + at = /^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/, + lt = /Z|[+-]\d\d(?::?\d\d)?/, + ct = [ + ['YYYYYY-MM-DD', /[+-]\d{6}-\d\d-\d\d/], + ['YYYY-MM-DD', /\d{4}-\d\d-\d\d/], + ['GGGG-[W]WW-E', /\d{4}-W\d\d-\d/], + ['GGGG-[W]WW', /\d{4}-W\d\d/, !1], + ['YYYY-DDD', /\d{4}-\d{3}/], + ['YYYY-MM', /\d{4}-\d\d/, !1], + ['YYYYYYMMDD', /[+-]\d{10}/], + ['YYYYMMDD', /\d{8}/], + ['GGGG[W]WWE', /\d{4}W\d{3}/], + ['GGGG[W]WW', /\d{4}W\d{2}/, !1], + ['YYYYDDD', /\d{7}/], + ], + dt = [ + ['HH:mm:ss.SSSS', /\d\d:\d\d:\d\d\.\d+/], + ['HH:mm:ss,SSSS', /\d\d:\d\d:\d\d,\d+/], + ['HH:mm:ss', /\d\d:\d\d:\d\d/], + ['HH:mm', /\d\d:\d\d/], + ['HHmmss.SSSS', /\d\d\d\d\d\d\.\d+/], + ['HHmmss,SSSS', /\d\d\d\d\d\d,\d+/], + ['HHmmss', /\d\d\d\d\d\d/], + ['HHmm', /\d\d\d\d/], + ['HH', /\d\d/], + ], + ht = /^\/?Date\((\-?\d+)/i; + function ut(e) { + var t, + i, + n, + r, + s, + o, + a = e._i, + l = ot.exec(a) || at.exec(a); + if (l) { + for (f(e).iso = !0, t = 0, i = ct.length; t < i; t++) + if (ct[t][1].exec(l[1])) { + (r = ct[t][0]), (n = !1 !== ct[t][2]); + break; + } + if (null == r) return void (e._isValid = !1); + if (l[3]) { + for (t = 0, i = dt.length; t < i; t++) + if (dt[t][1].exec(l[3])) { + s = (l[2] || ' ') + dt[t][0]; + break; + } + if (null == s) return void (e._isValid = !1); + } + if (!n && null != s) return void (e._isValid = !1); + if (l[4]) { + if (!lt.exec(l[4])) return void (e._isValid = !1); + o = 'Z'; + } + (e._f = r + (s || '') + (o || '')), mt(e); + } else e._isValid = !1; + } + var gt = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/; + var ft = { + UT: 0, + GMT: 0, + EDT: -240, + EST: -300, + CDT: -300, + CST: -360, + MDT: -360, + MST: -420, + PDT: -420, + PST: -480, + }; + function pt(e) { + var t, + i, + n, + r = gt.exec( + e._i + .replace(/\([^)]*\)|[\n\t]/g, ' ') + .replace(/(\s\s+)/g, ' ') + .trim() + ); + if (r) { + var s = (function (e, t, i, n, r, s) { + var o = [ + (function (e) { + var t = parseInt(e, 10); + return t <= 49 ? 2e3 + t : t <= 999 ? 1900 + t : t; + })(e), + Le.indexOf(t), + parseInt(i, 10), + parseInt(n, 10), + parseInt(r, 10), + ]; + return s && o.push(parseInt(s, 10)), o; + })(r[4], r[3], r[2], r[5], r[6], r[7]); + if ( + ((i = s), + (n = e), + (t = r[1]) && + Be.indexOf(t) !== new Date(i[0], i[1], i[2]).getDay() && + ((f(n).weekdayMismatch = !0), !(n._isValid = !1))) + ) + return; + (e._a = s), + (e._tzm = (function (e, t, i) { + if (e) return ft[e]; + if (t) return 0; + var n = parseInt(i, 10), + r = n % 100; + return ((n - r) / 100) * 60 + r; + })(r[8], r[9], r[10])), + (e._d = Ie.apply(null, e._a)), + e._d.setUTCMinutes(e._d.getUTCMinutes() - e._tzm), + (f(e).rfc2822 = !0); + } else e._isValid = !1; + } + function mt(e) { + if (e._f !== r.ISO_8601) + if (e._f !== r.RFC_2822) { + (e._a = []), (f(e).empty = !0); + var t, + i, + n, + s, + o, + a, + l, + c, + d = '' + e._i, + u = d.length, + g = 0; + for ( + n = $(e._f, e._locale).match(Y) || [], t = 0; + t < n.length; + t++ + ) + (s = n[t]), + (i = (d.match(he(s, e)) || [])[0]) && + (0 < (o = d.substr(0, d.indexOf(i))).length && + f(e).unusedInput.push(o), + (d = d.slice(d.indexOf(i) + i.length)), + (g += i.length)), + V[s] + ? (i ? (f(e).empty = !1) : f(e).unusedTokens.push(s), + (a = s), + (c = e), + null != (l = i) && h(ge, a) && ge[a](l, c._a, c, a)) + : e._strict && !i && f(e).unusedTokens.push(s); + (f(e).charsLeftOver = u - g), + 0 < d.length && f(e).unusedInput.push(d), + e._a[3] <= 12 && + !0 === f(e).bigHour && + 0 < e._a[3] && + (f(e).bigHour = void 0), + (f(e).parsedDateParts = e._a.slice(0)), + (f(e).meridiem = e._meridiem), + (e._a[3] = (function (e, t, i) { + var n; + return null == i + ? t + : null != e.meridiemHour + ? e.meridiemHour(t, i) + : (null != e.isPM && + ((n = e.isPM(i)) && t < 12 && (t += 12), + n || 12 !== t || (t = 0)), + t); + })(e._locale, e._a[3], e._meridiem)), + st(e), + nt(e); + } else pt(e); + else ut(e); + } + function _t(e) { + var t, + i, + n, + h, + g = e._i, + _ = e._f; + return ( + (e._locale = e._locale || it(e._l)), + null === g || (void 0 === _ && '' === g) + ? m({ nullInput: !0 }) + : ('string' == typeof g && (e._i = g = e._locale.preparse(g)), + w(g) + ? new y(nt(g)) + : (c(g) + ? (e._d = g) + : s(_) + ? (function (e) { + var t, i, n, r, s; + if (0 === e._f.length) + return ( + (f(e).invalidFormat = !0), + (e._d = new Date(NaN)) + ); + for (r = 0; r < e._f.length; r++) + (s = 0), + (t = b({}, e)), + null != e._useUTC && (t._useUTC = e._useUTC), + (t._f = e._f[r]), + mt(t), + p(t) && + ((s += f(t).charsLeftOver), + (s += 10 * f(t).unusedTokens.length), + (f(t).score = s), + (null == n || s < n) && ((n = s), (i = t))); + u(e, i || t); + })(e) + : _ + ? mt(e) + : a((i = (t = e)._i)) + ? (t._d = new Date(r.now())) + : c(i) + ? (t._d = new Date(i.valueOf())) + : 'string' == typeof i + ? ((n = t), + null === (h = ht.exec(n._i)) + ? (ut(n), + !1 === n._isValid && + (delete n._isValid, + pt(n), + !1 === n._isValid && + (delete n._isValid, + r.createFromInputFallback(n)))) + : (n._d = new Date(+h[1]))) + : s(i) + ? ((t._a = d(i.slice(0), function (e) { + return parseInt(e, 10); + })), + st(t)) + : o(i) + ? (function (e) { + if (!e._d) { + var t = P(e._i); + (e._a = d( + [ + t.year, + t.month, + t.day || t.date, + t.hour, + t.minute, + t.second, + t.millisecond, + ], + function (e) { + return e && parseInt(e, 10); + } + )), + st(e); + } + })(t) + : l(i) + ? (t._d = new Date(i)) + : r.createFromInputFallback(t), + p(e) || (e._d = null), + e)) + ); + } + function bt(e, t, i, n, r) { + var a, + l = {}; + return ( + (!0 !== i && !1 !== i) || ((n = i), (i = void 0)), + ((o(e) && + (function (e) { + if (Object.getOwnPropertyNames) + return 0 === Object.getOwnPropertyNames(e).length; + var t; + for (t in e) if (e.hasOwnProperty(t)) return !1; + return !0; + })(e)) || + (s(e) && 0 === e.length)) && + (e = void 0), + (l._isAMomentObject = !0), + (l._useUTC = l._isUTC = r), + (l._l = i), + (l._i = e), + (l._f = t), + (l._strict = n), + (a = new y(nt(_t(l))))._nextDay && + (a.add(1, 'd'), (a._nextDay = void 0)), + a + ); + } + function vt(e, t, i, n) { + return bt(e, t, i, n, !1); + } + (r.createFromInputFallback = L( + 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.', + function (e) { + e._d = new Date(e._i + (e._useUTC ? ' UTC' : '')); + } + )), + (r.ISO_8601 = function () {}), + (r.RFC_2822 = function () {}); + var yt = L( + 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/', + function () { + var e = vt.apply(null, arguments); + return this.isValid() && e.isValid() + ? e < this + ? this + : e + : m(); + } + ), + wt = L( + 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/', + function () { + var e = vt.apply(null, arguments); + return this.isValid() && e.isValid() + ? this < e + ? this + : e + : m(); + } + ); + function Ct(e, t) { + var i, n; + if ((1 === t.length && s(t[0]) && (t = t[0]), !t.length)) + return vt(); + for (i = t[0], n = 1; n < t.length; ++n) + (t[n].isValid() && !t[n][e](i)) || (i = t[n]); + return i; + } + var St = [ + 'year', + 'quarter', + 'month', + 'week', + 'day', + 'hour', + 'minute', + 'second', + 'millisecond', + ]; + function kt(e) { + var t = P(e), + i = t.year || 0, + n = t.quarter || 0, + r = t.month || 0, + s = t.week || 0, + o = t.day || 0, + a = t.hour || 0, + l = t.minute || 0, + c = t.second || 0, + d = t.millisecond || 0; + (this._isValid = (function (e) { + for (var t in e) + if (-1 === be.call(St, t) || (null != e[t] && isNaN(e[t]))) + return !1; + for (var i = !1, n = 0; n < St.length; ++n) + if (e[St[n]]) { + if (i) return !1; + parseFloat(e[St[n]]) !== S(e[St[n]]) && (i = !0); + } + return !0; + })(t)), + (this._milliseconds = +d + 1e3 * c + 6e4 * l + 1e3 * a * 60 * 60), + (this._days = +o + 7 * s), + (this._months = +r + 3 * n + 12 * i), + (this._data = {}), + (this._locale = it()), + this._bubble(); + } + function xt(e) { + return e instanceof kt; + } + function Lt(e) { + return e < 0 ? -1 * Math.round(-1 * e) : Math.round(e); + } + function Mt(e, t) { + z(e, 0, 0, function () { + var e = this.utcOffset(), + i = '+'; + return ( + e < 0 && ((e = -e), (i = '-')), + i + W(~~(e / 60), 2) + t + W(~~e % 60, 2) + ); + }); + } + Mt('Z', ':'), + Mt('ZZ', ''), + de('Z', ae), + de('ZZ', ae), + fe(['Z', 'ZZ'], function (e, t, i) { + (i._useUTC = !0), (i._tzm = Nt(ae, e)); + }); + var Dt = /([\+\-]|\d\d)/gi; + function Nt(e, t) { + var i = (t || '').match(e); + if (null === i) return null; + var n = ((i[i.length - 1] || []) + '').match(Dt) || ['-', 0, 0], + r = 60 * n[1] + S(n[2]); + return 0 === r ? 0 : '+' === n[0] ? r : -r; + } + function Et(e, t) { + var i, n; + return t._isUTC + ? ((i = t.clone()), + (n = + (w(e) || c(e) ? e.valueOf() : vt(e).valueOf()) - i.valueOf()), + i._d.setTime(i._d.valueOf() + n), + r.updateOffset(i, !1), + i) + : vt(e).local(); + } + function Tt(e) { + return 15 * -Math.round(e._d.getTimezoneOffset() / 15); + } + function It() { + return !!this.isValid() && this._isUTC && 0 === this._offset; + } + r.updateOffset = function () {}; + var Ot = /^(\-|\+)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/, + At = /^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/; + function Rt(e, t) { + var i, + n, + r, + s = e, + o = null; + return ( + xt(e) + ? (s = { ms: e._milliseconds, d: e._days, M: e._months }) + : l(e) + ? ((s = {}), t ? (s[t] = e) : (s.milliseconds = e)) + : (o = Ot.exec(e)) + ? ((i = '-' === o[1] ? -1 : 1), + (s = { + y: 0, + d: S(o[2]) * i, + h: S(o[3]) * i, + m: S(o[4]) * i, + s: S(o[5]) * i, + ms: S(Lt(1e3 * o[6])) * i, + })) + : (o = At.exec(e)) + ? ((i = '-' === o[1] ? -1 : (o[1], 1)), + (s = { + y: Pt(o[2], i), + M: Pt(o[3], i), + w: Pt(o[4], i), + d: Pt(o[5], i), + h: Pt(o[6], i), + m: Pt(o[7], i), + s: Pt(o[8], i), + })) + : null == s + ? (s = {}) + : 'object' == typeof s && + ('from' in s || 'to' in s) && + ((r = (function (e, t) { + var i; + return e.isValid() && t.isValid() + ? ((t = Et(t, e)), + e.isBefore(t) + ? (i = Ft(e, t)) + : (((i = Ft(t, e)).milliseconds = -i.milliseconds), + (i.months = -i.months)), + i) + : { milliseconds: 0, months: 0 }; + })(vt(s.from), vt(s.to))), + ((s = {}).ms = r.milliseconds), + (s.M = r.months)), + (n = new kt(s)), + xt(e) && h(e, '_locale') && (n._locale = e._locale), + n + ); + } + function Pt(e, t) { + var i = e && parseFloat(e.replace(',', '.')); + return (isNaN(i) ? 0 : i) * t; + } + function Ft(e, t) { + var i = { milliseconds: 0, months: 0 }; + return ( + (i.months = t.month() - e.month() + 12 * (t.year() - e.year())), + e.clone().add(i.months, 'M').isAfter(t) && --i.months, + (i.milliseconds = +t - +e.clone().add(i.months, 'M')), + i + ); + } + function Bt(e, t) { + return function (i, n) { + var r; + return ( + null === n || + isNaN(+n) || + (N( + t, + 'moment().' + + t + + '(period, number) is deprecated. Please use moment().' + + t + + '(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.' + ), + (r = i), + (i = n), + (n = r)), + Wt(this, Rt((i = 'string' == typeof i ? +i : i), n), e), + this + ); + }; + } + function Wt(e, t, i, n) { + var s = t._milliseconds, + o = Lt(t._days), + a = Lt(t._months); + e.isValid() && + ((n = null == n || n), + a && Me(e, we(e, 'Month') + a * i), + o && Ce(e, 'Date', we(e, 'Date') + o * i), + s && e._d.setTime(e._d.valueOf() + s * i), + n && r.updateOffset(e, o || a)); + } + (Rt.fn = kt.prototype), + (Rt.invalid = function () { + return Rt(NaN); + }); + var Yt = Bt(1, 'add'), + Ht = Bt(-1, 'subtract'); + function jt(e, t) { + var i = 12 * (t.year() - e.year()) + (t.month() - e.month()), + n = e.clone().add(i, 'months'); + return ( + -( + i + + (t - n < 0 + ? (t - n) / (n - e.clone().add(i - 1, 'months')) + : (t - n) / (e.clone().add(i + 1, 'months') - n)) + ) || 0 + ); + } + function Vt(e) { + var t; + return void 0 === e + ? this._locale._abbr + : (null != (t = it(e)) && (this._locale = t), this); + } + (r.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ'), + (r.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]'); + var zt = L( + 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.', + function (e) { + return void 0 === e ? this.localeData() : this.locale(e); + } + ); + function Ut() { + return this._locale; + } + function $t(e, t) { + z(0, [e, e.length], 0, t); + } + function Kt(e, t, i, n, r) { + var s; + return null == e + ? Re(this, n, r).year + : ((s = Pe(e, n, r)) < t && (t = s), + function (e, t, i, n, r) { + var s = Ae(e, t, i, n, r), + o = Ie(s.year, 0, s.dayOfYear); + return ( + this.year(o.getUTCFullYear()), + this.month(o.getUTCMonth()), + this.date(o.getUTCDate()), + this + ); + }.call(this, e, t, i, n, r)); + } + z(0, ['gg', 2], 0, function () { + return this.weekYear() % 100; + }), + z(0, ['GG', 2], 0, function () { + return this.isoWeekYear() % 100; + }), + $t('gggg', 'weekYear'), + $t('ggggg', 'weekYear'), + $t('GGGG', 'isoWeekYear'), + $t('GGGGG', 'isoWeekYear'), + A('weekYear', 'gg'), + A('isoWeekYear', 'GG'), + B('weekYear', 1), + B('isoWeekYear', 1), + de('G', se), + de('g', se), + de('GG', Q, q), + de('gg', Q, q), + de('GGGG', ie, Z), + de('gggg', ie, Z), + de('GGGGG', ne, J), + de('ggggg', ne, J), + pe(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function (e, t, i, n) { + t[n.substr(0, 2)] = S(e); + }), + pe(['gg', 'GG'], function (e, t, i, n) { + t[n] = r.parseTwoDigitYear(e); + }), + z('Q', 0, 'Qo', 'quarter'), + A('quarter', 'Q'), + B('quarter', 7), + de('Q', K), + fe('Q', function (e, t) { + t[1] = 3 * (S(e) - 1); + }), + z('D', ['DD', 2], 'Do', 'date'), + A('date', 'D'), + B('date', 9), + de('D', Q), + de('DD', Q, q), + de('Do', function (e, t) { + return e + ? t._dayOfMonthOrdinalParse || t._ordinalParse + : t._dayOfMonthOrdinalParseLenient; + }), + fe(['D', 'DD'], 2), + fe('Do', function (e, t) { + t[2] = S(e.match(Q)[0]); + }); + var qt = ye('Date', !0); + z('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear'), + A('dayOfYear', 'DDD'), + B('dayOfYear', 4), + de('DDD', te), + de('DDDD', G), + fe(['DDD', 'DDDD'], function (e, t, i) { + i._dayOfYear = S(e); + }), + z('m', ['mm', 2], 0, 'minute'), + A('minute', 'm'), + B('minute', 14), + de('m', Q), + de('mm', Q, q), + fe(['m', 'mm'], 4); + var Gt = ye('Minutes', !1); + z('s', ['ss', 2], 0, 'second'), + A('second', 's'), + B('second', 15), + de('s', Q), + de('ss', Q, q), + fe(['s', 'ss'], 5); + var Zt, + Jt = ye('Seconds', !1); + for ( + z('S', 0, 0, function () { + return ~~(this.millisecond() / 100); + }), + z(0, ['SS', 2], 0, function () { + return ~~(this.millisecond() / 10); + }), + z(0, ['SSS', 3], 0, 'millisecond'), + z(0, ['SSSS', 4], 0, function () { + return 10 * this.millisecond(); + }), + z(0, ['SSSSS', 5], 0, function () { + return 100 * this.millisecond(); + }), + z(0, ['SSSSSS', 6], 0, function () { + return 1e3 * this.millisecond(); + }), + z(0, ['SSSSSSS', 7], 0, function () { + return 1e4 * this.millisecond(); + }), + z(0, ['SSSSSSSS', 8], 0, function () { + return 1e5 * this.millisecond(); + }), + z(0, ['SSSSSSSSS', 9], 0, function () { + return 1e6 * this.millisecond(); + }), + A('millisecond', 'ms'), + B('millisecond', 16), + de('S', te, K), + de('SS', te, q), + de('SSS', te, G), + Zt = 'SSSS'; + Zt.length <= 9; + Zt += 'S' + ) + de(Zt, re); + function Qt(e, t) { + t[6] = S(1e3 * ('0.' + e)); + } + for (Zt = 'S'; Zt.length <= 9; Zt += 'S') fe(Zt, Qt); + var Xt = ye('Milliseconds', !1); + z('z', 0, 0, 'zoneAbbr'), z('zz', 0, 0, 'zoneName'); + var ei = y.prototype; + function ti(e) { + return e; + } + (ei.add = Yt), + (ei.calendar = function (e, t) { + var i = e || vt(), + n = Et(i, this).startOf('day'), + s = r.calendarFormat(this, n) || 'sameElse', + o = t && (E(t[s]) ? t[s].call(this, i) : t[s]); + return this.format( + o || this.localeData().calendar(s, this, vt(i)) + ); + }), + (ei.clone = function () { + return new y(this); + }), + (ei.diff = function (e, t, i) { + var n, r, s; + if (!this.isValid()) return NaN; + if (!(n = Et(e, this)).isValid()) return NaN; + switch ( + ((r = 6e4 * (n.utcOffset() - this.utcOffset())), (t = R(t))) + ) { + case 'year': + s = jt(this, n) / 12; + break; + case 'month': + s = jt(this, n); + break; + case 'quarter': + s = jt(this, n) / 3; + break; + case 'second': + s = (this - n) / 1e3; + break; + case 'minute': + s = (this - n) / 6e4; + break; + case 'hour': + s = (this - n) / 36e5; + break; + case 'day': + s = (this - n - r) / 864e5; + break; + case 'week': + s = (this - n - r) / 6048e5; + break; + default: + s = this - n; + } + return i ? s : C(s); + }), + (ei.endOf = function (e) { + return void 0 === (e = R(e)) || 'millisecond' === e + ? this + : ('date' === e && (e = 'day'), + this.startOf(e) + .add(1, 'isoWeek' === e ? 'week' : e) + .subtract(1, 'ms')); + }), + (ei.format = function (e) { + e || (e = this.isUtc() ? r.defaultFormatUtc : r.defaultFormat); + var t = U(this, e); + return this.localeData().postformat(t); + }), + (ei.from = function (e, t) { + return this.isValid() && + ((w(e) && e.isValid()) || vt(e).isValid()) + ? Rt({ to: this, from: e }).locale(this.locale()).humanize(!t) + : this.localeData().invalidDate(); + }), + (ei.fromNow = function (e) { + return this.from(vt(), e); + }), + (ei.to = function (e, t) { + return this.isValid() && + ((w(e) && e.isValid()) || vt(e).isValid()) + ? Rt({ from: this, to: e }).locale(this.locale()).humanize(!t) + : this.localeData().invalidDate(); + }), + (ei.toNow = function (e) { + return this.to(vt(), e); + }), + (ei.get = function (e) { + return E(this[(e = R(e))]) ? this[e]() : this; + }), + (ei.invalidAt = function () { + return f(this).overflow; + }), + (ei.isAfter = function (e, t) { + var i = w(e) ? e : vt(e); + return ( + !(!this.isValid() || !i.isValid()) && + ('millisecond' === (t = R(a(t) ? 'millisecond' : t)) + ? this.valueOf() > i.valueOf() + : i.valueOf() < this.clone().startOf(t).valueOf()) + ); + }), + (ei.isBefore = function (e, t) { + var i = w(e) ? e : vt(e); + return ( + !(!this.isValid() || !i.isValid()) && + ('millisecond' === (t = R(a(t) ? 'millisecond' : t)) + ? this.valueOf() < i.valueOf() + : this.clone().endOf(t).valueOf() < i.valueOf()) + ); + }), + (ei.isBetween = function (e, t, i, n) { + return ( + ('(' === (n = n || '()')[0] + ? this.isAfter(e, i) + : !this.isBefore(e, i)) && + (')' === n[1] ? this.isBefore(t, i) : !this.isAfter(t, i)) + ); + }), + (ei.isSame = function (e, t) { + var i, + n = w(e) ? e : vt(e); + return ( + !(!this.isValid() || !n.isValid()) && + ('millisecond' === (t = R(t || 'millisecond')) + ? this.valueOf() === n.valueOf() + : ((i = n.valueOf()), + this.clone().startOf(t).valueOf() <= i && + i <= this.clone().endOf(t).valueOf())) + ); + }), + (ei.isSameOrAfter = function (e, t) { + return this.isSame(e, t) || this.isAfter(e, t); + }), + (ei.isSameOrBefore = function (e, t) { + return this.isSame(e, t) || this.isBefore(e, t); + }), + (ei.isValid = function () { + return p(this); + }), + (ei.lang = zt), + (ei.locale = Vt), + (ei.localeData = Ut), + (ei.max = wt), + (ei.min = yt), + (ei.parsingFlags = function () { + return u({}, f(this)); + }), + (ei.set = function (e, t) { + if ('object' == typeof e) + for ( + var i = (function (e) { + var t = []; + for (var i in e) t.push({ unit: i, priority: F[i] }); + return ( + t.sort(function (e, t) { + return e.priority - t.priority; + }), + t + ); + })((e = P(e))), + n = 0; + n < i.length; + n++ + ) + this[i[n].unit](e[i[n].unit]); + else if (E(this[(e = R(e))])) return this[e](t); + return this; + }), + (ei.startOf = function (e) { + switch ((e = R(e))) { + case 'year': + this.month(0); + case 'quarter': + case 'month': + this.date(1); + case 'week': + case 'isoWeek': + case 'day': + case 'date': + this.hours(0); + case 'hour': + this.minutes(0); + case 'minute': + this.seconds(0); + case 'second': + this.milliseconds(0); + } + return ( + 'week' === e && this.weekday(0), + 'isoWeek' === e && this.isoWeekday(1), + 'quarter' === e && this.month(3 * Math.floor(this.month() / 3)), + this + ); + }), + (ei.subtract = Ht), + (ei.toArray = function () { + var e = this; + return [ + e.year(), + e.month(), + e.date(), + e.hour(), + e.minute(), + e.second(), + e.millisecond(), + ]; + }), + (ei.toObject = function () { + var e = this; + return { + years: e.year(), + months: e.month(), + date: e.date(), + hours: e.hours(), + minutes: e.minutes(), + seconds: e.seconds(), + milliseconds: e.milliseconds(), + }; + }), + (ei.toDate = function () { + return new Date(this.valueOf()); + }), + (ei.toISOString = function (e) { + if (!this.isValid()) return null; + var t = !0 !== e, + i = t ? this.clone().utc() : this; + return i.year() < 0 || 9999 < i.year() + ? U( + i, + t + ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]' + : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ' + ) + : E(Date.prototype.toISOString) + ? t + ? this.toDate().toISOString() + : new Date(this.valueOf() + 60 * this.utcOffset() * 1e3) + .toISOString() + .replace('Z', U(i, 'Z')) + : U( + i, + t + ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' + : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ' + ); + }), + (ei.inspect = function () { + if (!this.isValid()) + return 'moment.invalid(/* ' + this._i + ' */)'; + var e = 'moment', + t = ''; + this.isLocal() || + ((e = + 0 === this.utcOffset() ? 'moment.utc' : 'moment.parseZone'), + (t = 'Z')); + var i = '[' + e + '("]', + n = 0 <= this.year() && this.year() <= 9999 ? 'YYYY' : 'YYYYYY', + r = t + '[")]'; + return this.format(i + n + '-MM-DD[T]HH:mm:ss.SSS' + r); + }), + (ei.toJSON = function () { + return this.isValid() ? this.toISOString() : null; + }), + (ei.toString = function () { + return this.clone() + .locale('en') + .format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ'); + }), + (ei.unix = function () { + return Math.floor(this.valueOf() / 1e3); + }), + (ei.valueOf = function () { + return this._d.valueOf() - 6e4 * (this._offset || 0); + }), + (ei.creationData = function () { + return { + input: this._i, + format: this._f, + locale: this._locale, + isUTC: this._isUTC, + strict: this._strict, + }; + }), + (ei.year = ve), + (ei.isLeapYear = function () { + return _e(this.year()); + }), + (ei.weekYear = function (e) { + return Kt.call( + this, + e, + this.week(), + this.weekday(), + this.localeData()._week.dow, + this.localeData()._week.doy + ); + }), + (ei.isoWeekYear = function (e) { + return Kt.call(this, e, this.isoWeek(), this.isoWeekday(), 1, 4); + }), + (ei.quarter = ei.quarters = function (e) { + return null == e + ? Math.ceil((this.month() + 1) / 3) + : this.month(3 * (e - 1) + (this.month() % 3)); + }), + (ei.month = De), + (ei.daysInMonth = function () { + return Se(this.year(), this.month()); + }), + (ei.week = ei.weeks = function (e) { + var t = this.localeData().week(this); + return null == e ? t : this.add(7 * (e - t), 'd'); + }), + (ei.isoWeek = ei.isoWeeks = function (e) { + var t = Re(this, 1, 4).week; + return null == e ? t : this.add(7 * (e - t), 'd'); + }), + (ei.weeksInYear = function () { + var e = this.localeData()._week; + return Pe(this.year(), e.dow, e.doy); + }), + (ei.isoWeeksInYear = function () { + return Pe(this.year(), 1, 4); + }), + (ei.date = qt), + (ei.day = ei.days = function (e) { + if (!this.isValid()) return null != e ? this : NaN; + var t, + i, + n = this._isUTC ? this._d.getUTCDay() : this._d.getDay(); + return null != e + ? ((t = e), + (i = this.localeData()), + (e = + 'string' != typeof t + ? t + : isNaN(t) + ? 'number' == typeof (t = i.weekdaysParse(t)) + ? t + : null + : parseInt(t, 10)), + this.add(e - n, 'd')) + : n; + }), + (ei.weekday = function (e) { + if (!this.isValid()) return null != e ? this : NaN; + var t = (this.day() + 7 - this.localeData()._week.dow) % 7; + return null == e ? t : this.add(e - t, 'd'); + }), + (ei.isoWeekday = function (e) { + if (!this.isValid()) return null != e ? this : NaN; + if (null != e) { + var t = + ((i = e), + (n = this.localeData()), + 'string' == typeof i + ? n.weekdaysParse(i) % 7 || 7 + : isNaN(i) + ? null + : i); + return this.day(this.day() % 7 ? t : t - 7); + } + return this.day() || 7; + var i, n; + }), + (ei.dayOfYear = function (e) { + var t = + Math.round( + (this.clone().startOf('day') - this.clone().startOf('year')) / + 864e5 + ) + 1; + return null == e ? t : this.add(e - t, 'd'); + }), + (ei.hour = ei.hours = qe), + (ei.minute = ei.minutes = Gt), + (ei.second = ei.seconds = Jt), + (ei.millisecond = ei.milliseconds = Xt), + (ei.utcOffset = function (e, t, i) { + var n, + s = this._offset || 0; + if (!this.isValid()) return null != e ? this : NaN; + if (null != e) { + if ('string' == typeof e) { + if (null === (e = Nt(ae, e))) return this; + } else Math.abs(e) < 16 && !i && (e *= 60); + return ( + !this._isUTC && t && (n = Tt(this)), + (this._offset = e), + (this._isUTC = !0), + null != n && this.add(n, 'm'), + s !== e && + (!t || this._changeInProgress + ? Wt(this, Rt(e - s, 'm'), 1, !1) + : this._changeInProgress || + ((this._changeInProgress = !0), + r.updateOffset(this, !0), + (this._changeInProgress = null))), + this + ); + } + return this._isUTC ? s : Tt(this); + }), + (ei.utc = function (e) { + return this.utcOffset(0, e); + }), + (ei.local = function (e) { + return ( + this._isUTC && + (this.utcOffset(0, e), + (this._isUTC = !1), + e && this.subtract(Tt(this), 'm')), + this + ); + }), + (ei.parseZone = function () { + if (null != this._tzm) this.utcOffset(this._tzm, !1, !0); + else if ('string' == typeof this._i) { + var e = Nt(oe, this._i); + null != e ? this.utcOffset(e) : this.utcOffset(0, !0); + } + return this; + }), + (ei.hasAlignedHourOffset = function (e) { + return ( + !!this.isValid() && + ((e = e ? vt(e).utcOffset() : 0), + (this.utcOffset() - e) % 60 == 0) + ); + }), + (ei.isDST = function () { + return ( + this.utcOffset() > this.clone().month(0).utcOffset() || + this.utcOffset() > this.clone().month(5).utcOffset() + ); + }), + (ei.isLocal = function () { + return !!this.isValid() && !this._isUTC; + }), + (ei.isUtcOffset = function () { + return !!this.isValid() && this._isUTC; + }), + (ei.isUtc = It), + (ei.isUTC = It), + (ei.zoneAbbr = function () { + return this._isUTC ? 'UTC' : ''; + }), + (ei.zoneName = function () { + return this._isUTC ? 'Coordinated Universal Time' : ''; + }), + (ei.dates = L( + 'dates accessor is deprecated. Use date instead.', + qt + )), + (ei.months = L( + 'months accessor is deprecated. Use month instead', + De + )), + (ei.years = L( + 'years accessor is deprecated. Use year instead', + ve + )), + (ei.zone = L( + 'moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/', + function (e, t) { + return null != e + ? ('string' != typeof e && (e = -e), + this.utcOffset(e, t), + this) + : -this.utcOffset(); + } + )), + (ei.isDSTShifted = L( + 'isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information', + function () { + if (!a(this._isDSTShifted)) return this._isDSTShifted; + var e = {}; + if ((b(e, this), (e = _t(e))._a)) { + var t = e._isUTC ? g(e._a) : vt(e._a); + this._isDSTShifted = + this.isValid() && 0 < k(e._a, t.toArray()); + } else this._isDSTShifted = !1; + return this._isDSTShifted; + } + )); + var ii = I.prototype; + function ni(e, t, i, n) { + var r = it(), + s = g().set(n, t); + return r[i](s, e); + } + function ri(e, t, i) { + if ((l(e) && ((t = e), (e = void 0)), (e = e || ''), null != t)) + return ni(e, t, i, 'month'); + var n, + r = []; + for (n = 0; n < 12; n++) r[n] = ni(e, n, i, 'month'); + return r; + } + function si(e, t, i, n) { + 'boolean' == typeof e + ? l(t) && ((i = t), (t = void 0)) + : ((t = e), (e = !1), l((i = t)) && ((i = t), (t = void 0))), + (t = t || ''); + var r, + s = it(), + o = e ? s._week.dow : 0; + if (null != i) return ni(t, (i + o) % 7, n, 'day'); + var a = []; + for (r = 0; r < 7; r++) a[r] = ni(t, (r + o) % 7, n, 'day'); + return a; + } + (ii.calendar = function (e, t, i) { + var n = this._calendar[e] || this._calendar.sameElse; + return E(n) ? n.call(t, i) : n; + }), + (ii.longDateFormat = function (e) { + var t = this._longDateFormat[e], + i = this._longDateFormat[e.toUpperCase()]; + return t || !i + ? t + : ((this._longDateFormat[e] = i.replace( + /MMMM|MM|DD|dddd/g, + function (e) { + return e.slice(1); + } + )), + this._longDateFormat[e]); + }), + (ii.invalidDate = function () { + return this._invalidDate; + }), + (ii.ordinal = function (e) { + return this._ordinal.replace('%d', e); + }), + (ii.preparse = ti), + (ii.postformat = ti), + (ii.relativeTime = function (e, t, i, n) { + var r = this._relativeTime[i]; + return E(r) ? r(e, t, i, n) : r.replace(/%d/i, e); + }), + (ii.pastFuture = function (e, t) { + var i = this._relativeTime[0 < e ? 'future' : 'past']; + return E(i) ? i(t) : i.replace(/%s/i, t); + }), + (ii.set = function (e) { + var t, i; + for (i in e) E((t = e[i])) ? (this[i] = t) : (this['_' + i] = t); + (this._config = e), + (this._dayOfMonthOrdinalParseLenient = new RegExp( + (this._dayOfMonthOrdinalParse.source || + this._ordinalParse.source) + + '|' + + /\d{1,2}/.source + )); + }), + (ii.months = function (e, t) { + return e + ? s(this._months) + ? this._months[e.month()] + : this._months[ + (this._months.isFormat || ke).test(t) + ? 'format' + : 'standalone' + ][e.month()] + : s(this._months) + ? this._months + : this._months.standalone; + }), + (ii.monthsShort = function (e, t) { + return e + ? s(this._monthsShort) + ? this._monthsShort[e.month()] + : this._monthsShort[ke.test(t) ? 'format' : 'standalone'][ + e.month() + ] + : s(this._monthsShort) + ? this._monthsShort + : this._monthsShort.standalone; + }), + (ii.monthsParse = function (e, t, i) { + var n, r, s; + if (this._monthsParseExact) + return function (e, t, i) { + var n, + r, + s, + o = e.toLocaleLowerCase(); + if (!this._monthsParse) + for ( + this._monthsParse = [], + this._longMonthsParse = [], + this._shortMonthsParse = [], + n = 0; + n < 12; + ++n + ) + (s = g([2e3, n])), + (this._shortMonthsParse[n] = this.monthsShort( + s, + '' + ).toLocaleLowerCase()), + (this._longMonthsParse[n] = this.months( + s, + '' + ).toLocaleLowerCase()); + return i + ? 'MMM' === t + ? -1 !== (r = be.call(this._shortMonthsParse, o)) + ? r + : null + : -1 !== (r = be.call(this._longMonthsParse, o)) + ? r + : null + : 'MMM' === t + ? -1 !== (r = be.call(this._shortMonthsParse, o)) || + -1 !== (r = be.call(this._longMonthsParse, o)) + ? r + : null + : -1 !== (r = be.call(this._longMonthsParse, o)) || + -1 !== (r = be.call(this._shortMonthsParse, o)) + ? r + : null; + }.call(this, e, t, i); + for ( + this._monthsParse || + ((this._monthsParse = []), + (this._longMonthsParse = []), + (this._shortMonthsParse = [])), + n = 0; + n < 12; + n++ + ) { + if ( + ((r = g([2e3, n])), + i && + !this._longMonthsParse[n] && + ((this._longMonthsParse[n] = new RegExp( + '^' + this.months(r, '').replace('.', '') + '$', + 'i' + )), + (this._shortMonthsParse[n] = new RegExp( + '^' + this.monthsShort(r, '').replace('.', '') + '$', + 'i' + ))), + i || + this._monthsParse[n] || + ((s = + '^' + + this.months(r, '') + + '|^' + + this.monthsShort(r, '')), + (this._monthsParse[n] = new RegExp( + s.replace('.', ''), + 'i' + ))), + i && 'MMMM' === t && this._longMonthsParse[n].test(e)) + ) + return n; + if (i && 'MMM' === t && this._shortMonthsParse[n].test(e)) + return n; + if (!i && this._monthsParse[n].test(e)) return n; + } + }), + (ii.monthsRegex = function (e) { + return this._monthsParseExact + ? (h(this, '_monthsRegex') || Te.call(this), + e ? this._monthsStrictRegex : this._monthsRegex) + : (h(this, '_monthsRegex') || (this._monthsRegex = Ee), + this._monthsStrictRegex && e + ? this._monthsStrictRegex + : this._monthsRegex); + }), + (ii.monthsShortRegex = function (e) { + return this._monthsParseExact + ? (h(this, '_monthsRegex') || Te.call(this), + e ? this._monthsShortStrictRegex : this._monthsShortRegex) + : (h(this, '_monthsShortRegex') || + (this._monthsShortRegex = Ne), + this._monthsShortStrictRegex && e + ? this._monthsShortStrictRegex + : this._monthsShortRegex); + }), + (ii.week = function (e) { + return Re(e, this._week.dow, this._week.doy).week; + }), + (ii.firstDayOfYear = function () { + return this._week.doy; + }), + (ii.firstDayOfWeek = function () { + return this._week.dow; + }), + (ii.weekdays = function (e, t) { + return e + ? s(this._weekdays) + ? this._weekdays[e.day()] + : this._weekdays[ + this._weekdays.isFormat.test(t) ? 'format' : 'standalone' + ][e.day()] + : s(this._weekdays) + ? this._weekdays + : this._weekdays.standalone; + }), + (ii.weekdaysMin = function (e) { + return e ? this._weekdaysMin[e.day()] : this._weekdaysMin; + }), + (ii.weekdaysShort = function (e) { + return e ? this._weekdaysShort[e.day()] : this._weekdaysShort; + }), + (ii.weekdaysParse = function (e, t, i) { + var n, r, s; + if (this._weekdaysParseExact) + return function (e, t, i) { + var n, + r, + s, + o = e.toLocaleLowerCase(); + if (!this._weekdaysParse) + for ( + this._weekdaysParse = [], + this._shortWeekdaysParse = [], + this._minWeekdaysParse = [], + n = 0; + n < 7; + ++n + ) + (s = g([2e3, 1]).day(n)), + (this._minWeekdaysParse[n] = this.weekdaysMin( + s, + '' + ).toLocaleLowerCase()), + (this._shortWeekdaysParse[n] = this.weekdaysShort( + s, + '' + ).toLocaleLowerCase()), + (this._weekdaysParse[n] = this.weekdays( + s, + '' + ).toLocaleLowerCase()); + return i + ? 'dddd' === t + ? -1 !== (r = be.call(this._weekdaysParse, o)) + ? r + : null + : 'ddd' === t + ? -1 !== (r = be.call(this._shortWeekdaysParse, o)) + ? r + : null + : -1 !== (r = be.call(this._minWeekdaysParse, o)) + ? r + : null + : 'dddd' === t + ? -1 !== (r = be.call(this._weekdaysParse, o)) || + -1 !== (r = be.call(this._shortWeekdaysParse, o)) || + -1 !== (r = be.call(this._minWeekdaysParse, o)) + ? r + : null + : 'ddd' === t + ? -1 !== (r = be.call(this._shortWeekdaysParse, o)) || + -1 !== (r = be.call(this._weekdaysParse, o)) || + -1 !== (r = be.call(this._minWeekdaysParse, o)) + ? r + : null + : -1 !== (r = be.call(this._minWeekdaysParse, o)) || + -1 !== (r = be.call(this._weekdaysParse, o)) || + -1 !== (r = be.call(this._shortWeekdaysParse, o)) + ? r + : null; + }.call(this, e, t, i); + for ( + this._weekdaysParse || + ((this._weekdaysParse = []), + (this._minWeekdaysParse = []), + (this._shortWeekdaysParse = []), + (this._fullWeekdaysParse = [])), + n = 0; + n < 7; + n++ + ) { + if ( + ((r = g([2e3, 1]).day(n)), + i && + !this._fullWeekdaysParse[n] && + ((this._fullWeekdaysParse[n] = new RegExp( + '^' + this.weekdays(r, '').replace('.', '.?') + '$', + 'i' + )), + (this._shortWeekdaysParse[n] = new RegExp( + '^' + this.weekdaysShort(r, '').replace('.', '.?') + '$', + 'i' + )), + (this._minWeekdaysParse[n] = new RegExp( + '^' + this.weekdaysMin(r, '').replace('.', '.?') + '$', + 'i' + ))), + this._weekdaysParse[n] || + ((s = + '^' + + this.weekdays(r, '') + + '|^' + + this.weekdaysShort(r, '') + + '|^' + + this.weekdaysMin(r, '')), + (this._weekdaysParse[n] = new RegExp( + s.replace('.', ''), + 'i' + ))), + i && 'dddd' === t && this._fullWeekdaysParse[n].test(e)) + ) + return n; + if (i && 'ddd' === t && this._shortWeekdaysParse[n].test(e)) + return n; + if (i && 'dd' === t && this._minWeekdaysParse[n].test(e)) + return n; + if (!i && this._weekdaysParse[n].test(e)) return n; + } + }), + (ii.weekdaysRegex = function (e) { + return this._weekdaysParseExact + ? (h(this, '_weekdaysRegex') || Ve.call(this), + e ? this._weekdaysStrictRegex : this._weekdaysRegex) + : (h(this, '_weekdaysRegex') || (this._weekdaysRegex = Ye), + this._weekdaysStrictRegex && e + ? this._weekdaysStrictRegex + : this._weekdaysRegex); + }), + (ii.weekdaysShortRegex = function (e) { + return this._weekdaysParseExact + ? (h(this, '_weekdaysRegex') || Ve.call(this), + e ? this._weekdaysShortStrictRegex : this._weekdaysShortRegex) + : (h(this, '_weekdaysShortRegex') || + (this._weekdaysShortRegex = He), + this._weekdaysShortStrictRegex && e + ? this._weekdaysShortStrictRegex + : this._weekdaysShortRegex); + }), + (ii.weekdaysMinRegex = function (e) { + return this._weekdaysParseExact + ? (h(this, '_weekdaysRegex') || Ve.call(this), + e ? this._weekdaysMinStrictRegex : this._weekdaysMinRegex) + : (h(this, '_weekdaysMinRegex') || + (this._weekdaysMinRegex = je), + this._weekdaysMinStrictRegex && e + ? this._weekdaysMinStrictRegex + : this._weekdaysMinRegex); + }), + (ii.isPM = function (e) { + return 'p' === (e + '').toLowerCase().charAt(0); + }), + (ii.meridiem = function (e, t, i) { + return 11 < e ? (i ? 'pm' : 'PM') : i ? 'am' : 'AM'; + }), + et('en', { + dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/, + ordinal: function (e) { + var t = e % 10; + return ( + e + + (1 === S((e % 100) / 10) + ? 'th' + : 1 === t + ? 'st' + : 2 === t + ? 'nd' + : 3 === t + ? 'rd' + : 'th') + ); + }, + }), + (r.lang = L( + 'moment.lang is deprecated. Use moment.locale instead.', + et + )), + (r.langData = L( + 'moment.langData is deprecated. Use moment.localeData instead.', + it + )); + var oi = Math.abs; + function ai(e, t, i, n) { + var r = Rt(t, i); + return ( + (e._milliseconds += n * r._milliseconds), + (e._days += n * r._days), + (e._months += n * r._months), + e._bubble() + ); + } + function li(e) { + return e < 0 ? Math.floor(e) : Math.ceil(e); + } + function ci(e) { + return (4800 * e) / 146097; + } + function di(e) { + return (146097 * e) / 4800; + } + function hi(e) { + return function () { + return this.as(e); + }; + } + var ui = hi('ms'), + gi = hi('s'), + fi = hi('m'), + pi = hi('h'), + mi = hi('d'), + _i = hi('w'), + bi = hi('M'), + vi = hi('y'); + function yi(e) { + return function () { + return this.isValid() ? this._data[e] : NaN; + }; + } + var wi = yi('milliseconds'), + Ci = yi('seconds'), + Si = yi('minutes'), + ki = yi('hours'), + xi = yi('days'), + Li = yi('months'), + Mi = yi('years'), + Di = Math.round, + Ni = { ss: 44, s: 45, m: 45, h: 22, d: 26, M: 11 }, + Ei = Math.abs; + function Ti(e) { + return (0 < e) - (e < 0) || +e; + } + function Ii() { + if (!this.isValid()) return this.localeData().invalidDate(); + var e, + t, + i = Ei(this._milliseconds) / 1e3, + n = Ei(this._days), + r = Ei(this._months); + (t = C((e = C(i / 60)) / 60)), (i %= 60), (e %= 60); + var s = C(r / 12), + o = (r %= 12), + a = n, + l = t, + c = e, + d = i ? i.toFixed(3).replace(/\.?0+$/, '') : '', + h = this.asSeconds(); + if (!h) return 'P0D'; + var u = h < 0 ? '-' : '', + g = Ti(this._months) !== Ti(h) ? '-' : '', + f = Ti(this._days) !== Ti(h) ? '-' : '', + p = Ti(this._milliseconds) !== Ti(h) ? '-' : ''; + return ( + u + + 'P' + + (s ? g + s + 'Y' : '') + + (o ? g + o + 'M' : '') + + (a ? f + a + 'D' : '') + + (l || c || d ? 'T' : '') + + (l ? p + l + 'H' : '') + + (c ? p + c + 'M' : '') + + (d ? p + d + 'S' : '') + ); + } + var Oi = kt.prototype; + return ( + (Oi.isValid = function () { + return this._isValid; + }), + (Oi.abs = function () { + var e = this._data; + return ( + (this._milliseconds = oi(this._milliseconds)), + (this._days = oi(this._days)), + (this._months = oi(this._months)), + (e.milliseconds = oi(e.milliseconds)), + (e.seconds = oi(e.seconds)), + (e.minutes = oi(e.minutes)), + (e.hours = oi(e.hours)), + (e.months = oi(e.months)), + (e.years = oi(e.years)), + this + ); + }), + (Oi.add = function (e, t) { + return ai(this, e, t, 1); + }), + (Oi.subtract = function (e, t) { + return ai(this, e, t, -1); + }), + (Oi.as = function (e) { + if (!this.isValid()) return NaN; + var t, + i, + n = this._milliseconds; + if ('month' === (e = R(e)) || 'year' === e) + return ( + (t = this._days + n / 864e5), + (i = this._months + ci(t)), + 'month' === e ? i : i / 12 + ); + switch (((t = this._days + Math.round(di(this._months))), e)) { + case 'week': + return t / 7 + n / 6048e5; + case 'day': + return t + n / 864e5; + case 'hour': + return 24 * t + n / 36e5; + case 'minute': + return 1440 * t + n / 6e4; + case 'second': + return 86400 * t + n / 1e3; + case 'millisecond': + return Math.floor(864e5 * t) + n; + default: + throw new Error('Unknown unit ' + e); + } + }), + (Oi.asMilliseconds = ui), + (Oi.asSeconds = gi), + (Oi.asMinutes = fi), + (Oi.asHours = pi), + (Oi.asDays = mi), + (Oi.asWeeks = _i), + (Oi.asMonths = bi), + (Oi.asYears = vi), + (Oi.valueOf = function () { + return this.isValid() + ? this._milliseconds + + 864e5 * this._days + + (this._months % 12) * 2592e6 + + 31536e6 * S(this._months / 12) + : NaN; + }), + (Oi._bubble = function () { + var e, + t, + i, + n, + r, + s = this._milliseconds, + o = this._days, + a = this._months, + l = this._data; + return ( + (0 <= s && 0 <= o && 0 <= a) || + (s <= 0 && o <= 0 && a <= 0) || + ((s += 864e5 * li(di(a) + o)), (a = o = 0)), + (l.milliseconds = s % 1e3), + (e = C(s / 1e3)), + (l.seconds = e % 60), + (t = C(e / 60)), + (l.minutes = t % 60), + (i = C(t / 60)), + (l.hours = i % 24), + (a += r = C(ci((o += C(i / 24))))), + (o -= li(di(r))), + (n = C(a / 12)), + (a %= 12), + (l.days = o), + (l.months = a), + (l.years = n), + this + ); + }), + (Oi.clone = function () { + return Rt(this); + }), + (Oi.get = function (e) { + return (e = R(e)), this.isValid() ? this[e + 's']() : NaN; + }), + (Oi.milliseconds = wi), + (Oi.seconds = Ci), + (Oi.minutes = Si), + (Oi.hours = ki), + (Oi.days = xi), + (Oi.weeks = function () { + return C(this.days() / 7); + }), + (Oi.months = Li), + (Oi.years = Mi), + (Oi.humanize = function (e) { + if (!this.isValid()) return this.localeData().invalidDate(); + var t, + i, + n, + r, + s, + o, + a, + l, + c, + d, + h = this.localeData(), + u = + ((t = !e), + (i = h), + (n = Rt(this).abs()), + (r = Di(n.as('s'))), + (s = Di(n.as('m'))), + (o = Di(n.as('h'))), + (a = Di(n.as('d'))), + (l = Di(n.as('M'))), + (c = Di(n.as('y'))), + ((d = (r <= Ni.ss && ['s', r]) || + (r < Ni.s && ['ss', r]) || + (s <= 1 && ['m']) || + (s < Ni.m && ['mm', s]) || + (o <= 1 && ['h']) || + (o < Ni.h && ['hh', o]) || + (a <= 1 && ['d']) || + (a < Ni.d && ['dd', a]) || + (l <= 1 && ['M']) || + (l < Ni.M && ['MM', l]) || + (c <= 1 && ['y']) || ['yy', c])[2] = t), + (d[3] = 0 < +this), + (d[4] = i), + function (e, t, i, n, r) { + return r.relativeTime(t || 1, !!i, e, n); + }.apply(null, d)); + return e && (u = h.pastFuture(+this, u)), h.postformat(u); + }), + (Oi.toISOString = Ii), + (Oi.toString = Ii), + (Oi.toJSON = Ii), + (Oi.locale = Vt), + (Oi.localeData = Ut), + (Oi.toIsoString = L( + 'toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)', + Ii + )), + (Oi.lang = zt), + z('X', 0, 0, 'unix'), + z('x', 0, 0, 'valueOf'), + de('x', se), + de('X', /[+-]?\d+(\.\d{1,3})?/), + fe('X', function (e, t, i) { + i._d = new Date(1e3 * parseFloat(e, 10)); + }), + fe('x', function (e, t, i) { + i._d = new Date(S(e)); + }), + (r.version = '2.22.1'), + (t = vt), + (r.fn = ei), + (r.min = function () { + return Ct('isBefore', [].slice.call(arguments, 0)); + }), + (r.max = function () { + return Ct('isAfter', [].slice.call(arguments, 0)); + }), + (r.now = function () { + return Date.now ? Date.now() : +new Date(); + }), + (r.utc = g), + (r.unix = function (e) { + return vt(1e3 * e); + }), + (r.months = function (e, t) { + return ri(e, t, 'months'); + }), + (r.isDate = c), + (r.locale = et), + (r.invalid = m), + (r.duration = Rt), + (r.isMoment = w), + (r.weekdays = function (e, t, i) { + return si(e, t, i, 'weekdays'); + }), + (r.parseZone = function () { + return vt.apply(null, arguments).parseZone(); + }), + (r.localeData = it), + (r.isDuration = xt), + (r.monthsShort = function (e, t) { + return ri(e, t, 'monthsShort'); + }), + (r.weekdaysMin = function (e, t, i) { + return si(e, t, i, 'weekdaysMin'); + }), + (r.defineLocale = tt), + (r.updateLocale = function (e, t) { + if (null != t) { + var i, + n, + r = Ge; + null != (n = Xe(e)) && (r = n._config), + ((i = new I((t = T(r, t)))).parentLocale = Ze[e]), + (Ze[e] = i), + et(e); + } else + null != Ze[e] && + (null != Ze[e].parentLocale + ? (Ze[e] = Ze[e].parentLocale) + : null != Ze[e] && delete Ze[e]); + return Ze[e]; + }), + (r.locales = function () { + return M(Ze); + }), + (r.weekdaysShort = function (e, t, i) { + return si(e, t, i, 'weekdaysShort'); + }), + (r.normalizeUnits = R), + (r.relativeTimeRounding = function (e) { + return void 0 === e + ? Di + : 'function' == typeof e && ((Di = e), !0); + }), + (r.relativeTimeThreshold = function (e, t) { + return ( + void 0 !== Ni[e] && + (void 0 === t + ? Ni[e] + : ((Ni[e] = t), 's' === e && (Ni.ss = t - 1), !0)) + ); + }), + (r.calendarFormat = function (e, t) { + var i = e.diff(t, 'days', !0); + return i < -6 + ? 'sameElse' + : i < -1 + ? 'lastWeek' + : i < 0 + ? 'lastDay' + : i < 1 + ? 'sameDay' + : i < 2 + ? 'nextDay' + : i < 7 + ? 'nextWeek' + : 'sameElse'; + }), + (r.prototype = ei), + (r.HTML5_FMT = { + DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', + DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', + DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', + DATE: 'YYYY-MM-DD', + TIME: 'HH:mm', + TIME_SECONDS: 'HH:mm:ss', + TIME_MS: 'HH:mm:ss.SSS', + WEEK: 'YYYY-[W]WW', + MONTH: 'YYYY-MM', + }), + r + ); + })(); + }, + 42786: function (e, t, i) { + !(function (e) { + 'use strict'; + e.defineLocale('af', { + months: 'Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember'.split( + '_' + ), + monthsShort: 'Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des'.split( + '_' + ), + weekdays: 'Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag'.split( + '_' + ), + weekdaysShort: 'Son_Maa_Din_Woe_Don_Vry_Sat'.split('_'), + weekdaysMin: 'So_Ma_Di_Wo_Do_Vr_Sa'.split('_'), + meridiemParse: /vm|nm/i, + isPM: function (e) { + return /^nm$/i.test(e); + }, + meridiem: function (e, t, i) { + return e < 12 ? (i ? 'vm' : 'VM') : i ? 'nm' : 'NM'; + }, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd, D MMMM YYYY HH:mm', + }, + calendar: { + sameDay: '[Vandag om] LT', + nextDay: '[Môre om] LT', + nextWeek: 'dddd [om] LT', + lastDay: '[Gister om] LT', + lastWeek: '[Laas] dddd [om] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'oor %s', + past: '%s gelede', + s: "'n paar sekondes", + ss: '%d sekondes', + m: "'n minuut", + mm: '%d minute', + h: "'n uur", + hh: '%d ure', + d: "'n dag", + dd: '%d dae', + M: "'n maand", + MM: '%d maande', + y: "'n jaar", + yy: '%d jaar', + }, + dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/, + ordinal: function (e) { + return e + (1 === e || 8 === e || e >= 20 ? 'ste' : 'de'); + }, + week: { dow: 1, doy: 4 }, + }); + })(i(30381)); + }, + 14130: function (e, t, i) { + !(function (e) { + 'use strict'; + var t = function (e) { + return 0 === e + ? 0 + : 1 === e + ? 1 + : 2 === e + ? 2 + : e % 100 >= 3 && e % 100 <= 10 + ? 3 + : e % 100 >= 11 + ? 4 + : 5; + }, + i = { + s: [ + 'أقل من ثانية', + 'ثانية واحدة', + ['ثانيتان', 'ثانيتين'], + '%d ثوان', + '%d ثانية', + '%d ثانية', + ], + m: [ + 'أقل من دقيقة', + 'دقيقة واحدة', + ['دقيقتان', 'دقيقتين'], + '%d دقائق', + '%d دقيقة', + '%d دقيقة', + ], + h: [ + 'أقل من ساعة', + 'ساعة واحدة', + ['ساعتان', 'ساعتين'], + '%d ساعات', + '%d ساعة', + '%d ساعة', + ], + d: [ + 'أقل من يوم', + 'يوم واحد', + ['يومان', 'يومين'], + '%d أيام', + '%d يومًا', + '%d يوم', + ], + M: [ + 'أقل من شهر', + 'شهر واحد', + ['شهران', 'شهرين'], + '%d أشهر', + '%d شهرا', + '%d شهر', + ], + y: [ + 'أقل من عام', + 'عام واحد', + ['عامان', 'عامين'], + '%d أعوام', + '%d عامًا', + '%d عام', + ], + }, + n = function (e) { + return function (n, r, s, o) { + var a = t(n), + l = i[e][t(n)]; + return 2 === a && (l = l[r ? 0 : 1]), l.replace(/%d/i, n); + }; + }, + r = [ + 'جانفي', + 'فيفري', + 'مارس', + 'أفريل', + 'ماي', + 'جوان', + 'جويلية', + 'أوت', + 'سبتمبر', + 'أكتوبر', + 'نوفمبر', + 'ديسمبر', + ]; + e.defineLocale('ar-dz', { + months: r, + monthsShort: r, + weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split( + '_' + ), + weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), + weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), + weekdaysParseExact: !0, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'D/‏M/‏YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd D MMMM YYYY HH:mm', + }, + meridiemParse: /ص|م/, + isPM: function (e) { + return 'م' === e; + }, + meridiem: function (e, t, i) { + return e < 12 ? 'ص' : 'م'; + }, + calendar: { + sameDay: '[اليوم عند الساعة] LT', + nextDay: '[غدًا عند الساعة] LT', + nextWeek: 'dddd [عند الساعة] LT', + lastDay: '[أمس عند الساعة] LT', + lastWeek: 'dddd [عند الساعة] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'بعد %s', + past: 'منذ %s', + s: n('s'), + ss: n('s'), + m: n('m'), + mm: n('m'), + h: n('h'), + hh: n('h'), + d: n('d'), + dd: n('d'), + M: n('M'), + MM: n('M'), + y: n('y'), + yy: n('y'), + }, + postformat: function (e) { + return e.replace(/,/g, '،'); + }, + week: { dow: 0, doy: 4 }, + }); + })(i(30381)); + }, + 96135: function (e, t, i) { + !(function (e) { + 'use strict'; + e.defineLocale('ar-kw', { + months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split( + '_' + ), + monthsShort: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split( + '_' + ), + weekdays: 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split( + '_' + ), + weekdaysShort: 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'), + weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), + weekdaysParseExact: !0, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd D MMMM YYYY HH:mm', + }, + calendar: { + sameDay: '[اليوم على الساعة] LT', + nextDay: '[غدا على الساعة] LT', + nextWeek: 'dddd [على الساعة] LT', + lastDay: '[أمس على الساعة] LT', + lastWeek: 'dddd [على الساعة] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'في %s', + past: 'منذ %s', + s: 'ثوان', + ss: '%d ثانية', + m: 'دقيقة', + mm: '%d دقائق', + h: 'ساعة', + hh: '%d ساعات', + d: 'يوم', + dd: '%d أيام', + M: 'شهر', + MM: '%d أشهر', + y: 'سنة', + yy: '%d سنوات', + }, + week: { dow: 0, doy: 12 }, + }); + })(i(30381)); + }, + 56440: function (e, t, i) { + !(function (e) { + 'use strict'; + var t = { + 1: '1', + 2: '2', + 3: '3', + 4: '4', + 5: '5', + 6: '6', + 7: '7', + 8: '8', + 9: '9', + 0: '0', + }, + i = function (e) { + return 0 === e + ? 0 + : 1 === e + ? 1 + : 2 === e + ? 2 + : e % 100 >= 3 && e % 100 <= 10 + ? 3 + : e % 100 >= 11 + ? 4 + : 5; + }, + n = { + s: [ + 'أقل من ثانية', + 'ثانية واحدة', + ['ثانيتان', 'ثانيتين'], + '%d ثوان', + '%d ثانية', + '%d ثانية', + ], + m: [ + 'أقل من دقيقة', + 'دقيقة واحدة', + ['دقيقتان', 'دقيقتين'], + '%d دقائق', + '%d دقيقة', + '%d دقيقة', + ], + h: [ + 'أقل من ساعة', + 'ساعة واحدة', + ['ساعتان', 'ساعتين'], + '%d ساعات', + '%d ساعة', + '%d ساعة', + ], + d: [ + 'أقل من يوم', + 'يوم واحد', + ['يومان', 'يومين'], + '%d أيام', + '%d يومًا', + '%d يوم', + ], + M: [ + 'أقل من شهر', + 'شهر واحد', + ['شهران', 'شهرين'], + '%d أشهر', + '%d شهرا', + '%d شهر', + ], + y: [ + 'أقل من عام', + 'عام واحد', + ['عامان', 'عامين'], + '%d أعوام', + '%d عامًا', + '%d عام', + ], + }, + r = function (e) { + return function (t, r, s, o) { + var a = i(t), + l = n[e][i(t)]; + return 2 === a && (l = l[r ? 0 : 1]), l.replace(/%d/i, t); + }; + }, + s = [ + 'يناير', + 'فبراير', + 'مارس', + 'أبريل', + 'مايو', + 'يونيو', + 'يوليو', + 'أغسطس', + 'سبتمبر', + 'أكتوبر', + 'نوفمبر', + 'ديسمبر', + ]; + e.defineLocale('ar-ly', { + months: s, + monthsShort: s, + weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split( + '_' + ), + weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), + weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), + weekdaysParseExact: !0, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'D/‏M/‏YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd D MMMM YYYY HH:mm', + }, + meridiemParse: /ص|م/, + isPM: function (e) { + return 'م' === e; + }, + meridiem: function (e, t, i) { + return e < 12 ? 'ص' : 'م'; + }, + calendar: { + sameDay: '[اليوم عند الساعة] LT', + nextDay: '[غدًا عند الساعة] LT', + nextWeek: 'dddd [عند الساعة] LT', + lastDay: '[أمس عند الساعة] LT', + lastWeek: 'dddd [عند الساعة] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'بعد %s', + past: 'منذ %s', + s: r('s'), + ss: r('s'), + m: r('m'), + mm: r('m'), + h: r('h'), + hh: r('h'), + d: r('d'), + dd: r('d'), + M: r('M'), + MM: r('M'), + y: r('y'), + yy: r('y'), + }, + preparse: function (e) { + return e.replace(/،/g, ','); + }, + postformat: function (e) { + return e + .replace(/\d/g, function (e) { + return t[e]; + }) + .replace(/,/g, '،'); + }, + week: { dow: 6, doy: 12 }, + }); + })(i(30381)); + }, + 47702: function (e, t, i) { + !(function (e) { + 'use strict'; + e.defineLocale('ar-ma', { + months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split( + '_' + ), + monthsShort: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split( + '_' + ), + weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split( + '_' + ), + weekdaysShort: 'احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'), + weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), + weekdaysParseExact: !0, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd D MMMM YYYY HH:mm', + }, + calendar: { + sameDay: '[اليوم على الساعة] LT', + nextDay: '[غدا على الساعة] LT', + nextWeek: 'dddd [على الساعة] LT', + lastDay: '[أمس على الساعة] LT', + lastWeek: 'dddd [على الساعة] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'في %s', + past: 'منذ %s', + s: 'ثوان', + ss: '%d ثانية', + m: 'دقيقة', + mm: '%d دقائق', + h: 'ساعة', + hh: '%d ساعات', + d: 'يوم', + dd: '%d أيام', + M: 'شهر', + MM: '%d أشهر', + y: 'سنة', + yy: '%d سنوات', + }, + week: { dow: 1, doy: 4 }, + }); + })(i(30381)); + }, + 16040: function (e, t, i) { + !(function (e) { + 'use strict'; + var t = { + 1: '١', + 2: '٢', + 3: '٣', + 4: '٤', + 5: '٥', + 6: '٦', + 7: '٧', + 8: '٨', + 9: '٩', + 0: '٠', + }, + i = { + '١': '1', + '٢': '2', + '٣': '3', + '٤': '4', + '٥': '5', + '٦': '6', + '٧': '7', + '٨': '8', + '٩': '9', + '٠': '0', + }; + e.defineLocale('ar-sa', { + months: 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split( + '_' + ), + monthsShort: 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split( + '_' + ), + weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split( + '_' + ), + weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), + weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), + weekdaysParseExact: !0, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd D MMMM YYYY HH:mm', + }, + meridiemParse: /ص|م/, + isPM: function (e) { + return 'م' === e; + }, + meridiem: function (e, t, i) { + return e < 12 ? 'ص' : 'م'; + }, + calendar: { + sameDay: '[اليوم على الساعة] LT', + nextDay: '[غدا على الساعة] LT', + nextWeek: 'dddd [على الساعة] LT', + lastDay: '[أمس على الساعة] LT', + lastWeek: 'dddd [على الساعة] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'في %s', + past: 'منذ %s', + s: 'ثوان', + ss: '%d ثانية', + m: 'دقيقة', + mm: '%d دقائق', + h: 'ساعة', + hh: '%d ساعات', + d: 'يوم', + dd: '%d أيام', + M: 'شهر', + MM: '%d أشهر', + y: 'سنة', + yy: '%d سنوات', + }, + preparse: function (e) { + return e + .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (e) { + return i[e]; + }) + .replace(/،/g, ','); + }, + postformat: function (e) { + return e + .replace(/\d/g, function (e) { + return t[e]; + }) + .replace(/,/g, '،'); + }, + week: { dow: 0, doy: 6 }, + }); + })(i(30381)); + }, + 37100: function (e, t, i) { + !(function (e) { + 'use strict'; + e.defineLocale('ar-tn', { + months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split( + '_' + ), + monthsShort: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split( + '_' + ), + weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split( + '_' + ), + weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), + weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), + weekdaysParseExact: !0, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd D MMMM YYYY HH:mm', + }, + calendar: { + sameDay: '[اليوم على الساعة] LT', + nextDay: '[غدا على الساعة] LT', + nextWeek: 'dddd [على الساعة] LT', + lastDay: '[أمس على الساعة] LT', + lastWeek: 'dddd [على الساعة] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'في %s', + past: 'منذ %s', + s: 'ثوان', + ss: '%d ثانية', + m: 'دقيقة', + mm: '%d دقائق', + h: 'ساعة', + hh: '%d ساعات', + d: 'يوم', + dd: '%d أيام', + M: 'شهر', + MM: '%d أشهر', + y: 'سنة', + yy: '%d سنوات', + }, + week: { dow: 1, doy: 4 }, + }); + })(i(30381)); + }, + 30867: function (e, t, i) { + !(function (e) { + 'use strict'; + var t = { + 1: '١', + 2: '٢', + 3: '٣', + 4: '٤', + 5: '٥', + 6: '٦', + 7: '٧', + 8: '٨', + 9: '٩', + 0: '٠', + }, + i = { + '١': '1', + '٢': '2', + '٣': '3', + '٤': '4', + '٥': '5', + '٦': '6', + '٧': '7', + '٨': '8', + '٩': '9', + '٠': '0', + }, + n = function (e) { + return 0 === e + ? 0 + : 1 === e + ? 1 + : 2 === e + ? 2 + : e % 100 >= 3 && e % 100 <= 10 + ? 3 + : e % 100 >= 11 + ? 4 + : 5; + }, + r = { + s: [ + 'أقل من ثانية', + 'ثانية واحدة', + ['ثانيتان', 'ثانيتين'], + '%d ثوان', + '%d ثانية', + '%d ثانية', + ], + m: [ + 'أقل من دقيقة', + 'دقيقة واحدة', + ['دقيقتان', 'دقيقتين'], + '%d دقائق', + '%d دقيقة', + '%d دقيقة', + ], + h: [ + 'أقل من ساعة', + 'ساعة واحدة', + ['ساعتان', 'ساعتين'], + '%d ساعات', + '%d ساعة', + '%d ساعة', + ], + d: [ + 'أقل من يوم', + 'يوم واحد', + ['يومان', 'يومين'], + '%d أيام', + '%d يومًا', + '%d يوم', + ], + M: [ + 'أقل من شهر', + 'شهر واحد', + ['شهران', 'شهرين'], + '%d أشهر', + '%d شهرا', + '%d شهر', + ], + y: [ + 'أقل من عام', + 'عام واحد', + ['عامان', 'عامين'], + '%d أعوام', + '%d عامًا', + '%d عام', + ], + }, + s = function (e) { + return function (t, i, s, o) { + var a = n(t), + l = r[e][n(t)]; + return 2 === a && (l = l[i ? 0 : 1]), l.replace(/%d/i, t); + }; + }, + o = [ + 'يناير', + 'فبراير', + 'مارس', + 'أبريل', + 'مايو', + 'يونيو', + 'يوليو', + 'أغسطس', + 'سبتمبر', + 'أكتوبر', + 'نوفمبر', + 'ديسمبر', + ]; + e.defineLocale('ar', { + months: o, + monthsShort: o, + weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split( + '_' + ), + weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), + weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), + weekdaysParseExact: !0, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'D/‏M/‏YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd D MMMM YYYY HH:mm', + }, + meridiemParse: /ص|م/, + isPM: function (e) { + return 'م' === e; + }, + meridiem: function (e, t, i) { + return e < 12 ? 'ص' : 'م'; + }, + calendar: { + sameDay: '[اليوم عند الساعة] LT', + nextDay: '[غدًا عند الساعة] LT', + nextWeek: 'dddd [عند الساعة] LT', + lastDay: '[أمس عند الساعة] LT', + lastWeek: 'dddd [عند الساعة] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'بعد %s', + past: 'منذ %s', + s: s('s'), + ss: s('s'), + m: s('m'), + mm: s('m'), + h: s('h'), + hh: s('h'), + d: s('d'), + dd: s('d'), + M: s('M'), + MM: s('M'), + y: s('y'), + yy: s('y'), + }, + preparse: function (e) { + return e + .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (e) { + return i[e]; + }) + .replace(/،/g, ','); + }, + postformat: function (e) { + return e + .replace(/\d/g, function (e) { + return t[e]; + }) + .replace(/,/g, '،'); + }, + week: { dow: 6, doy: 12 }, + }); + })(i(30381)); + }, + 31083: function (e, t, i) { + !(function (e) { + 'use strict'; + var t = { + 1: '-inci', + 5: '-inci', + 8: '-inci', + 70: '-inci', + 80: '-inci', + 2: '-nci', + 7: '-nci', + 20: '-nci', + 50: '-nci', + 3: '-üncü', + 4: '-üncü', + 100: '-üncü', + 6: '-ncı', + 9: '-uncu', + 10: '-uncu', + 30: '-uncu', + 60: '-ıncı', + 90: '-ıncı', + }; + e.defineLocale('az', { + months: 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split( + '_' + ), + monthsShort: 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split( + '_' + ), + weekdays: 'Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə'.split( + '_' + ), + weekdaysShort: 'Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən'.split('_'), + weekdaysMin: 'Bz_BE_ÇA_Çə_CA_Cü_Şə'.split('_'), + weekdaysParseExact: !0, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD.MM.YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd, D MMMM YYYY HH:mm', + }, + calendar: { + sameDay: '[bugün saat] LT', + nextDay: '[sabah saat] LT', + nextWeek: '[gələn həftə] dddd [saat] LT', + lastDay: '[dünən] LT', + lastWeek: '[keçən həftə] dddd [saat] LT', + sameElse: 'L', + }, + relativeTime: { + future: '%s sonra', + past: '%s əvvəl', + s: 'bir neçə saniyə', + ss: '%d saniyə', + m: 'bir dəqiqə', + mm: '%d dəqiqə', + h: 'bir saat', + hh: '%d saat', + d: 'bir gün', + dd: '%d gün', + M: 'bir ay', + MM: '%d ay', + y: 'bir il', + yy: '%d il', + }, + meridiemParse: /gecə|səhər|gündüz|axşam/, + isPM: function (e) { + return /^(gündüz|axşam)$/.test(e); + }, + meridiem: function (e, t, i) { + return e < 4 + ? 'gecə' + : e < 12 + ? 'səhər' + : e < 17 + ? 'gündüz' + : 'axşam'; + }, + dayOfMonthOrdinalParse: /\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/, + ordinal: function (e) { + if (0 === e) return e + '-ıncı'; + var i = e % 10; + return e + (t[i] || t[(e % 100) - i] || t[e >= 100 ? 100 : null]); + }, + week: { dow: 1, doy: 7 }, + }); + })(i(30381)); + }, + 9808: function (e, t, i) { + !(function (e) { + 'use strict'; + function t(e, t, i) { + return 'm' === i + ? t + ? 'хвіліна' + : 'хвіліну' + : 'h' === i + ? t + ? 'гадзіна' + : 'гадзіну' + : e + + ' ' + + ((n = +e), + (r = { + ss: t ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд', + mm: t ? 'хвіліна_хвіліны_хвілін' : 'хвіліну_хвіліны_хвілін', + hh: t ? 'гадзіна_гадзіны_гадзін' : 'гадзіну_гадзіны_гадзін', + dd: 'дзень_дні_дзён', + MM: 'месяц_месяцы_месяцаў', + yy: 'год_гады_гадоў', + }[i].split('_')), + n % 10 == 1 && n % 100 != 11 + ? r[0] + : n % 10 >= 2 && + n % 10 <= 4 && + (n % 100 < 10 || n % 100 >= 20) + ? r[1] + : r[2]); + var n, r; + } + e.defineLocale('be', { + months: { + format: 'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split( + '_' + ), + standalone: 'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split( + '_' + ), + }, + monthsShort: 'студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж'.split( + '_' + ), + weekdays: { + format: 'нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу'.split( + '_' + ), + standalone: 'нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота'.split( + '_' + ), + isFormat: /\[ ?[Ууў] ?(?:мінулую|наступную)? ?\] ?dddd/, + }, + weekdaysShort: 'нд_пн_ат_ср_чц_пт_сб'.split('_'), + weekdaysMin: 'нд_пн_ат_ср_чц_пт_сб'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD.MM.YYYY', + LL: 'D MMMM YYYY г.', + LLL: 'D MMMM YYYY г., HH:mm', + LLLL: 'dddd, D MMMM YYYY г., HH:mm', + }, + calendar: { + sameDay: '[Сёння ў] LT', + nextDay: '[Заўтра ў] LT', + lastDay: '[Учора ў] LT', + nextWeek: function () { + return '[У] dddd [ў] LT'; + }, + lastWeek: function () { + switch (this.day()) { + case 0: + case 3: + case 5: + case 6: + return '[У мінулую] dddd [ў] LT'; + case 1: + case 2: + case 4: + return '[У мінулы] dddd [ў] LT'; + } + }, + sameElse: 'L', + }, + relativeTime: { + future: 'праз %s', + past: '%s таму', + s: 'некалькі секунд', + m: t, + mm: t, + h: t, + hh: t, + d: 'дзень', + dd: t, + M: 'месяц', + MM: t, + y: 'год', + yy: t, + }, + meridiemParse: /ночы|раніцы|дня|вечара/, + isPM: function (e) { + return /^(дня|вечара)$/.test(e); + }, + meridiem: function (e, t, i) { + return e < 4 + ? 'ночы' + : e < 12 + ? 'раніцы' + : e < 17 + ? 'дня' + : 'вечара'; + }, + dayOfMonthOrdinalParse: /\d{1,2}-(і|ы|га)/, + ordinal: function (e, t) { + switch (t) { + case 'M': + case 'd': + case 'DDD': + case 'w': + case 'W': + return (e % 10 != 2 && e % 10 != 3) || + e % 100 == 12 || + e % 100 == 13 + ? e + '-ы' + : e + '-і'; + case 'D': + return e + '-га'; + default: + return e; + } + }, + week: { dow: 1, doy: 7 }, + }); + })(i(30381)); + }, + 68338: function (e, t, i) { + !(function (e) { + 'use strict'; + e.defineLocale('bg', { + months: 'януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември'.split( + '_' + ), + monthsShort: 'яну_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек'.split( + '_' + ), + weekdays: 'неделя_понеделник_вторник_сряда_четвъртък_петък_събота'.split( + '_' + ), + weekdaysShort: 'нед_пон_вто_сря_чет_пет_съб'.split('_'), + weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'), + longDateFormat: { + LT: 'H:mm', + LTS: 'H:mm:ss', + L: 'D.MM.YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY H:mm', + LLLL: 'dddd, D MMMM YYYY H:mm', + }, + calendar: { + sameDay: '[Днес в] LT', + nextDay: '[Утре в] LT', + nextWeek: 'dddd [в] LT', + lastDay: '[Вчера в] LT', + lastWeek: function () { + switch (this.day()) { + case 0: + case 3: + case 6: + return '[Миналата] dddd [в] LT'; + case 1: + case 2: + case 4: + case 5: + return '[Миналия] dddd [в] LT'; + } + }, + sameElse: 'L', + }, + relativeTime: { + future: 'след %s', + past: 'преди %s', + s: 'няколко секунди', + ss: '%d секунди', + m: 'минута', + mm: '%d минути', + h: 'час', + hh: '%d часа', + d: 'ден', + dd: '%d дена', + w: 'седмица', + ww: '%d седмици', + M: 'месец', + MM: '%d месеца', + y: 'година', + yy: '%d години', + }, + dayOfMonthOrdinalParse: /\d{1,2}-(ев|ен|ти|ви|ри|ми)/, + ordinal: function (e) { + var t = e % 10, + i = e % 100; + return 0 === e + ? e + '-ев' + : 0 === i + ? e + '-ен' + : i > 10 && i < 20 + ? e + '-ти' + : 1 === t + ? e + '-ви' + : 2 === t + ? e + '-ри' + : 7 === t || 8 === t + ? e + '-ми' + : e + '-ти'; + }, + week: { dow: 1, doy: 7 }, + }); + })(i(30381)); + }, + 67438: function (e, t, i) { + !(function (e) { + 'use strict'; + e.defineLocale('bm', { + months: 'Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo'.split( + '_' + ), + monthsShort: 'Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des'.split( + '_' + ), + weekdays: 'Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri'.split('_'), + weekdaysShort: 'Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib'.split('_'), + weekdaysMin: 'Ka_Nt_Ta_Ar_Al_Ju_Si'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'MMMM [tile] D [san] YYYY', + LLL: 'MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm', + LLLL: 'dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm', + }, + calendar: { + sameDay: '[Bi lɛrɛ] LT', + nextDay: '[Sini lɛrɛ] LT', + nextWeek: 'dddd [don lɛrɛ] LT', + lastDay: '[Kunu lɛrɛ] LT', + lastWeek: 'dddd [tɛmɛnen lɛrɛ] LT', + sameElse: 'L', + }, + relativeTime: { + future: '%s kɔnɔ', + past: 'a bɛ %s bɔ', + s: 'sanga dama dama', + ss: 'sekondi %d', + m: 'miniti kelen', + mm: 'miniti %d', + h: 'lɛrɛ kelen', + hh: 'lɛrɛ %d', + d: 'tile kelen', + dd: 'tile %d', + M: 'kalo kelen', + MM: 'kalo %d', + y: 'san kelen', + yy: 'san %d', + }, + week: { dow: 1, doy: 4 }, + }); + })(i(30381)); + }, + 76225: function (e, t, i) { + !(function (e) { + 'use strict'; + var t = { + 1: '১', + 2: '২', + 3: '৩', + 4: '৪', + 5: '৫', + 6: '৬', + 7: '৭', + 8: '৮', + 9: '৯', + 0: '০', + }, + i = { + '১': '1', + '২': '2', + '৩': '3', + '৪': '4', + '৫': '5', + '৬': '6', + '৭': '7', + '৮': '8', + '৯': '9', + '০': '0', + }; + e.defineLocale('bn-bd', { + months: 'জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split( + '_' + ), + monthsShort: 'জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে'.split( + '_' + ), + weekdays: 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split( + '_' + ), + weekdaysShort: 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'), + weekdaysMin: 'রবি_সোম_মঙ্গল_বুধ_বৃহ_শুক্র_শনি'.split('_'), + longDateFormat: { + LT: 'A h:mm সময়', + LTS: 'A h:mm:ss সময়', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY, A h:mm সময়', + LLLL: 'dddd, D MMMM YYYY, A h:mm সময়', + }, + calendar: { + sameDay: '[আজ] LT', + nextDay: '[আগামীকাল] LT', + nextWeek: 'dddd, LT', + lastDay: '[গতকাল] LT', + lastWeek: '[গত] dddd, LT', + sameElse: 'L', + }, + relativeTime: { + future: '%s পরে', + past: '%s আগে', + s: 'কয়েক সেকেন্ড', + ss: '%d সেকেন্ড', + m: 'এক মিনিট', + mm: '%d মিনিট', + h: 'এক ঘন্টা', + hh: '%d ঘন্টা', + d: 'এক দিন', + dd: '%d দিন', + M: 'এক মাস', + MM: '%d মাস', + y: 'এক বছর', + yy: '%d বছর', + }, + preparse: function (e) { + return e.replace(/[১২৩৪৫৬৭৮৯০]/g, function (e) { + return i[e]; + }); + }, + postformat: function (e) { + return e.replace(/\d/g, function (e) { + return t[e]; + }); + }, + meridiemParse: /রাত|ভোর|সকাল|দুপুর|বিকাল|সন্ধ্যা|রাত/, + meridiemHour: function (e, t) { + return ( + 12 === e && (e = 0), + 'রাত' === t + ? e < 4 + ? e + : e + 12 + : 'ভোর' === t || 'সকাল' === t + ? e + : 'দুপুর' === t + ? e >= 3 + ? e + : e + 12 + : 'বিকাল' === t || 'সন্ধ্যা' === t + ? e + 12 + : void 0 + ); + }, + meridiem: function (e, t, i) { + return e < 4 + ? 'রাত' + : e < 6 + ? 'ভোর' + : e < 12 + ? 'সকাল' + : e < 15 + ? 'দুপুর' + : e < 18 + ? 'বিকাল' + : e < 20 + ? 'সন্ধ্যা' + : 'রাত'; + }, + week: { dow: 0, doy: 6 }, + }); + })(i(30381)); + }, + 8905: function (e, t, i) { + !(function (e) { + 'use strict'; + var t = { + 1: '১', + 2: '২', + 3: '৩', + 4: '৪', + 5: '৫', + 6: '৬', + 7: '৭', + 8: '৮', + 9: '৯', + 0: '০', + }, + i = { + '১': '1', + '২': '2', + '৩': '3', + '৪': '4', + '৫': '5', + '৬': '6', + '৭': '7', + '৮': '8', + '৯': '9', + '০': '0', + }; + e.defineLocale('bn', { + months: 'জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split( + '_' + ), + monthsShort: 'জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে'.split( + '_' + ), + weekdays: 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split( + '_' + ), + weekdaysShort: 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'), + weekdaysMin: 'রবি_সোম_মঙ্গল_বুধ_বৃহ_শুক্র_শনি'.split('_'), + longDateFormat: { + LT: 'A h:mm সময়', + LTS: 'A h:mm:ss সময়', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY, A h:mm সময়', + LLLL: 'dddd, D MMMM YYYY, A h:mm সময়', + }, + calendar: { + sameDay: '[আজ] LT', + nextDay: '[আগামীকাল] LT', + nextWeek: 'dddd, LT', + lastDay: '[গতকাল] LT', + lastWeek: '[গত] dddd, LT', + sameElse: 'L', + }, + relativeTime: { + future: '%s পরে', + past: '%s আগে', + s: 'কয়েক সেকেন্ড', + ss: '%d সেকেন্ড', + m: 'এক মিনিট', + mm: '%d মিনিট', + h: 'এক ঘন্টা', + hh: '%d ঘন্টা', + d: 'এক দিন', + dd: '%d দিন', + M: 'এক মাস', + MM: '%d মাস', + y: 'এক বছর', + yy: '%d বছর', + }, + preparse: function (e) { + return e.replace(/[১২৩৪৫৬৭৮৯০]/g, function (e) { + return i[e]; + }); + }, + postformat: function (e) { + return e.replace(/\d/g, function (e) { + return t[e]; + }); + }, + meridiemParse: /রাত|সকাল|দুপুর|বিকাল|রাত/, + meridiemHour: function (e, t) { + return ( + 12 === e && (e = 0), + ('রাত' === t && e >= 4) || + ('দুপুর' === t && e < 5) || + 'বিকাল' === t + ? e + 12 + : e + ); + }, + meridiem: function (e, t, i) { + return e < 4 + ? 'রাত' + : e < 10 + ? 'সকাল' + : e < 17 + ? 'দুপুর' + : e < 20 + ? 'বিকাল' + : 'রাত'; + }, + week: { dow: 0, doy: 6 }, + }); + })(i(30381)); + }, + 11560: function (e, t, i) { + !(function (e) { + 'use strict'; + var t = { + 1: '༡', + 2: '༢', + 3: '༣', + 4: '༤', + 5: '༥', + 6: '༦', + 7: '༧', + 8: '༨', + 9: '༩', + 0: '༠', + }, + i = { + '༡': '1', + '༢': '2', + '༣': '3', + '༤': '4', + '༥': '5', + '༦': '6', + '༧': '7', + '༨': '8', + '༩': '9', + '༠': '0', + }; + e.defineLocale('bo', { + months: 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split( + '_' + ), + monthsShort: 'ཟླ་1_ཟླ་2_ཟླ་3_ཟླ་4_ཟླ་5_ཟླ་6_ཟླ་7_ཟླ་8_ཟླ་9_ཟླ་10_ཟླ་11_ཟླ་12'.split( + '_' + ), + monthsShortRegex: /^(ཟླ་\d{1,2})/, + monthsParseExact: !0, + weekdays: 'གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་'.split( + '_' + ), + weekdaysShort: 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split( + '_' + ), + weekdaysMin: 'ཉི_ཟླ_མིག_ལྷག_ཕུར_སངས_སྤེན'.split('_'), + longDateFormat: { + LT: 'A h:mm', + LTS: 'A h:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY, A h:mm', + LLLL: 'dddd, D MMMM YYYY, A h:mm', + }, + calendar: { + sameDay: '[དི་རིང] LT', + nextDay: '[སང་ཉིན] LT', + nextWeek: '[བདུན་ཕྲག་རྗེས་མ], LT', + lastDay: '[ཁ་སང] LT', + lastWeek: '[བདུན་ཕྲག་མཐའ་མ] dddd, LT', + sameElse: 'L', + }, + relativeTime: { + future: '%s ལ་', + past: '%s སྔན་ལ', + s: 'ལམ་སང', + ss: '%d སྐར་ཆ།', + m: 'སྐར་མ་གཅིག', + mm: '%d སྐར་མ', + h: 'ཆུ་ཚོད་གཅིག', + hh: '%d ཆུ་ཚོད', + d: 'ཉིན་གཅིག', + dd: '%d ཉིན་', + M: 'ཟླ་བ་གཅིག', + MM: '%d ཟླ་བ', + y: 'ལོ་གཅིག', + yy: '%d ལོ', + }, + preparse: function (e) { + return e.replace(/[༡༢༣༤༥༦༧༨༩༠]/g, function (e) { + return i[e]; + }); + }, + postformat: function (e) { + return e.replace(/\d/g, function (e) { + return t[e]; + }); + }, + meridiemParse: /མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/, + meridiemHour: function (e, t) { + return ( + 12 === e && (e = 0), + ('མཚན་མོ' === t && e >= 4) || + ('ཉིན་གུང' === t && e < 5) || + 'དགོང་དག' === t + ? e + 12 + : e + ); + }, + meridiem: function (e, t, i) { + return e < 4 + ? 'མཚན་མོ' + : e < 10 + ? 'ཞོགས་ཀས' + : e < 17 + ? 'ཉིན་གུང' + : e < 20 + ? 'དགོང་དག' + : 'མཚན་མོ'; + }, + week: { dow: 0, doy: 6 }, + }); + })(i(30381)); + }, + 1278: function (e, t, i) { + !(function (e) { + 'use strict'; + function t(e, t, i) { + return ( + e + + ' ' + + (function (e, t) { + return 2 === t + ? (function (e) { + var t = { m: 'v', b: 'v', d: 'z' }; + return void 0 === t[e.charAt(0)] + ? e + : t[e.charAt(0)] + e.substring(1); + })(e) + : e; + })({ mm: 'munutenn', MM: 'miz', dd: 'devezh' }[i], e) + ); + } + function i(e) { + return e > 9 ? i(e % 10) : e; + } + var n = [ + /^gen/i, + /^c[ʼ\']hwe/i, + /^meu/i, + /^ebr/i, + /^mae/i, + /^(mez|eve)/i, + /^gou/i, + /^eos/i, + /^gwe/i, + /^her/i, + /^du/i, + /^ker/i, + ], + r = /^(genver|c[ʼ\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu|gen|c[ʼ\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i, + s = [ + /^Su/i, + /^Lu/i, + /^Me([^r]|$)/i, + /^Mer/i, + /^Ya/i, + /^Gw/i, + /^Sa/i, + ]; + e.defineLocale('br', { + months: 'Genver_Cʼhwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu'.split( + '_' + ), + monthsShort: 'Gen_Cʼhwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker'.split( + '_' + ), + weekdays: 'Sul_Lun_Meurzh_Mercʼher_Yaou_Gwener_Sadorn'.split('_'), + weekdaysShort: 'Sul_Lun_Meu_Mer_Yao_Gwe_Sad'.split('_'), + weekdaysMin: 'Su_Lu_Me_Mer_Ya_Gw_Sa'.split('_'), + weekdaysParse: s, + fullWeekdaysParse: [ + /^sul/i, + /^lun/i, + /^meurzh/i, + /^merc[ʼ\']her/i, + /^yaou/i, + /^gwener/i, + /^sadorn/i, + ], + shortWeekdaysParse: [ + /^Sul/i, + /^Lun/i, + /^Meu/i, + /^Mer/i, + /^Yao/i, + /^Gwe/i, + /^Sad/i, + ], + minWeekdaysParse: s, + monthsRegex: r, + monthsShortRegex: r, + monthsStrictRegex: /^(genver|c[ʼ\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu)/i, + monthsShortStrictRegex: /^(gen|c[ʼ\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i, + monthsParse: n, + longMonthsParse: n, + shortMonthsParse: n, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D [a viz] MMMM YYYY', + LLL: 'D [a viz] MMMM YYYY HH:mm', + LLLL: 'dddd, D [a viz] MMMM YYYY HH:mm', + }, + calendar: { + sameDay: '[Hiziv da] LT', + nextDay: '[Warcʼhoazh da] LT', + nextWeek: 'dddd [da] LT', + lastDay: '[Decʼh da] LT', + lastWeek: 'dddd [paset da] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'a-benn %s', + past: '%s ʼzo', + s: 'un nebeud segondennoù', + ss: '%d eilenn', + m: 'ur vunutenn', + mm: t, + h: 'un eur', + hh: '%d eur', + d: 'un devezh', + dd: t, + M: 'ur miz', + MM: t, + y: 'ur bloaz', + yy: function (e) { + switch (i(e)) { + case 1: + case 3: + case 4: + case 5: + case 9: + return e + ' bloaz'; + default: + return e + ' vloaz'; + } + }, + }, + dayOfMonthOrdinalParse: /\d{1,2}(añ|vet)/, + ordinal: function (e) { + return e + (1 === e ? 'añ' : 'vet'); + }, + week: { dow: 1, doy: 4 }, + meridiemParse: /a.m.|g.m./, + isPM: function (e) { + return 'g.m.' === e; + }, + meridiem: function (e, t, i) { + return e < 12 ? 'a.m.' : 'g.m.'; + }, + }); + })(i(30381)); + }, + 80622: function (e, t, i) { + !(function (e) { + 'use strict'; + function t(e, t, i) { + var n = e + ' '; + switch (i) { + case 'ss': + return ( + n + + (1 === e + ? 'sekunda' + : 2 === e || 3 === e || 4 === e + ? 'sekunde' + : 'sekundi') + ); + case 'm': + return t ? 'jedna minuta' : 'jedne minute'; + case 'mm': + return ( + n + + (1 === e + ? 'minuta' + : 2 === e || 3 === e || 4 === e + ? 'minute' + : 'minuta') + ); + case 'h': + return t ? 'jedan sat' : 'jednog sata'; + case 'hh': + return ( + n + + (1 === e + ? 'sat' + : 2 === e || 3 === e || 4 === e + ? 'sata' + : 'sati') + ); + case 'dd': + return n + (1 === e ? 'dan' : 'dana'); + case 'MM': + return ( + n + + (1 === e + ? 'mjesec' + : 2 === e || 3 === e || 4 === e + ? 'mjeseca' + : 'mjeseci') + ); + case 'yy': + return ( + n + + (1 === e + ? 'godina' + : 2 === e || 3 === e || 4 === e + ? 'godine' + : 'godina') + ); + } + } + e.defineLocale('bs', { + months: 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split( + '_' + ), + monthsShort: 'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split( + '_' + ), + monthsParseExact: !0, + weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split( + '_' + ), + weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'), + weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'), + weekdaysParseExact: !0, + longDateFormat: { + LT: 'H:mm', + LTS: 'H:mm:ss', + L: 'DD.MM.YYYY', + LL: 'D. MMMM YYYY', + LLL: 'D. MMMM YYYY H:mm', + LLLL: 'dddd, D. MMMM YYYY H:mm', + }, + calendar: { + sameDay: '[danas u] LT', + nextDay: '[sutra u] LT', + nextWeek: function () { + switch (this.day()) { + case 0: + return '[u] [nedjelju] [u] LT'; + case 3: + return '[u] [srijedu] [u] LT'; + case 6: + return '[u] [subotu] [u] LT'; + case 1: + case 2: + case 4: + case 5: + return '[u] dddd [u] LT'; + } + }, + lastDay: '[jučer u] LT', + lastWeek: function () { + switch (this.day()) { + case 0: + case 3: + return '[prošlu] dddd [u] LT'; + case 6: + return '[prošle] [subote] [u] LT'; + case 1: + case 2: + case 4: + case 5: + return '[prošli] dddd [u] LT'; + } + }, + sameElse: 'L', + }, + relativeTime: { + future: 'za %s', + past: 'prije %s', + s: 'par sekundi', + ss: t, + m: t, + mm: t, + h: t, + hh: t, + d: 'dan', + dd: t, + M: 'mjesec', + MM: t, + y: 'godinu', + yy: t, + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal: '%d.', + week: { dow: 1, doy: 7 }, + }); + })(i(30381)); + }, + 2468: function (e, t, i) { + !(function (e) { + 'use strict'; + e.defineLocale('ca', { + months: { + standalone: 'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre'.split( + '_' + ), + format: "de gener_de febrer_de març_d'abril_de maig_de juny_de juliol_d'agost_de setembre_d'octubre_de novembre_de desembre".split( + '_' + ), + isFormat: /D[oD]?(\s)+MMMM/, + }, + monthsShort: 'gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.'.split( + '_' + ), + monthsParseExact: !0, + weekdays: 'diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte'.split( + '_' + ), + weekdaysShort: 'dg._dl._dt._dc._dj._dv._ds.'.split('_'), + weekdaysMin: 'dg_dl_dt_dc_dj_dv_ds'.split('_'), + weekdaysParseExact: !0, + longDateFormat: { + LT: 'H:mm', + LTS: 'H:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM [de] YYYY', + ll: 'D MMM YYYY', + LLL: 'D MMMM [de] YYYY [a les] H:mm', + lll: 'D MMM YYYY, H:mm', + LLLL: 'dddd D MMMM [de] YYYY [a les] H:mm', + llll: 'ddd D MMM YYYY, H:mm', + }, + calendar: { + sameDay: function () { + return ( + '[avui a ' + (1 !== this.hours() ? 'les' : 'la') + '] LT' + ); + }, + nextDay: function () { + return ( + '[demà a ' + (1 !== this.hours() ? 'les' : 'la') + '] LT' + ); + }, + nextWeek: function () { + return ( + 'dddd [a ' + (1 !== this.hours() ? 'les' : 'la') + '] LT' + ); + }, + lastDay: function () { + return ( + '[ahir a ' + (1 !== this.hours() ? 'les' : 'la') + '] LT' + ); + }, + lastWeek: function () { + return ( + '[el] dddd [passat a ' + + (1 !== this.hours() ? 'les' : 'la') + + '] LT' + ); + }, + sameElse: 'L', + }, + relativeTime: { + future: "d'aquí %s", + past: 'fa %s', + s: 'uns segons', + ss: '%d segons', + m: 'un minut', + mm: '%d minuts', + h: 'una hora', + hh: '%d hores', + d: 'un dia', + dd: '%d dies', + M: 'un mes', + MM: '%d mesos', + y: 'un any', + yy: '%d anys', + }, + dayOfMonthOrdinalParse: /\d{1,2}(r|n|t|è|a)/, + ordinal: function (e, t) { + var i = + 1 === e + ? 'r' + : 2 === e + ? 'n' + : 3 === e + ? 'r' + : 4 === e + ? 't' + : 'è'; + return ('w' !== t && 'W' !== t) || (i = 'a'), e + i; + }, + week: { dow: 1, doy: 4 }, + }); + })(i(30381)); + }, + 5822: function (e, t, i) { + !(function (e) { + 'use strict'; + var t = 'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split( + '_' + ), + i = 'led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro'.split('_'), + n = [ + /^led/i, + /^úno/i, + /^bře/i, + /^dub/i, + /^kvě/i, + /^(čvn|červen$|června)/i, + /^(čvc|červenec|července)/i, + /^srp/i, + /^zář/i, + /^říj/i, + /^lis/i, + /^pro/i, + ], + r = /^(leden|únor|březen|duben|květen|červenec|července|červen|června|srpen|září|říjen|listopad|prosinec|led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i; + function s(e) { + return e > 1 && e < 5 && 1 != ~~(e / 10); + } + function o(e, t, i, n) { + var r = e + ' '; + switch (i) { + case 's': + return t || n ? 'pár sekund' : 'pár sekundami'; + case 'ss': + return t || n + ? r + (s(e) ? 'sekundy' : 'sekund') + : r + 'sekundami'; + case 'm': + return t ? 'minuta' : n ? 'minutu' : 'minutou'; + case 'mm': + return t || n + ? r + (s(e) ? 'minuty' : 'minut') + : r + 'minutami'; + case 'h': + return t ? 'hodina' : n ? 'hodinu' : 'hodinou'; + case 'hh': + return t || n + ? r + (s(e) ? 'hodiny' : 'hodin') + : r + 'hodinami'; + case 'd': + return t || n ? 'den' : 'dnem'; + case 'dd': + return t || n ? r + (s(e) ? 'dny' : 'dní') : r + 'dny'; + case 'M': + return t || n ? 'měsíc' : 'měsícem'; + case 'MM': + return t || n ? r + (s(e) ? 'měsíce' : 'měsíců') : r + 'měsíci'; + case 'y': + return t || n ? 'rok' : 'rokem'; + case 'yy': + return t || n ? r + (s(e) ? 'roky' : 'let') : r + 'lety'; + } + } + e.defineLocale('cs', { + months: t, + monthsShort: i, + monthsRegex: r, + monthsShortRegex: r, + monthsStrictRegex: /^(leden|ledna|února|únor|březen|března|duben|dubna|květen|května|červenec|července|červen|června|srpen|srpna|září|říjen|října|listopadu|listopad|prosinec|prosince)/i, + monthsShortStrictRegex: /^(led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i, + monthsParse: n, + longMonthsParse: n, + shortMonthsParse: n, + weekdays: 'neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota'.split( + '_' + ), + weekdaysShort: 'ne_po_út_st_čt_pá_so'.split('_'), + weekdaysMin: 'ne_po_út_st_čt_pá_so'.split('_'), + longDateFormat: { + LT: 'H:mm', + LTS: 'H:mm:ss', + L: 'DD.MM.YYYY', + LL: 'D. MMMM YYYY', + LLL: 'D. MMMM YYYY H:mm', + LLLL: 'dddd D. MMMM YYYY H:mm', + l: 'D. M. YYYY', + }, + calendar: { + sameDay: '[dnes v] LT', + nextDay: '[zítra v] LT', + nextWeek: function () { + switch (this.day()) { + case 0: + return '[v neděli v] LT'; + case 1: + case 2: + return '[v] dddd [v] LT'; + case 3: + return '[ve středu v] LT'; + case 4: + return '[ve čtvrtek v] LT'; + case 5: + return '[v pátek v] LT'; + case 6: + return '[v sobotu v] LT'; + } + }, + lastDay: '[včera v] LT', + lastWeek: function () { + switch (this.day()) { + case 0: + return '[minulou neděli v] LT'; + case 1: + case 2: + return '[minulé] dddd [v] LT'; + case 3: + return '[minulou středu v] LT'; + case 4: + case 5: + return '[minulý] dddd [v] LT'; + case 6: + return '[minulou sobotu v] LT'; + } + }, + sameElse: 'L', + }, + relativeTime: { + future: 'za %s', + past: 'před %s', + s: o, + ss: o, + m: o, + mm: o, + h: o, + hh: o, + d: o, + dd: o, + M: o, + MM: o, + y: o, + yy: o, + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal: '%d.', + week: { dow: 1, doy: 4 }, + }); + })(i(30381)); + }, + 50877: function (e, t, i) { + !(function (e) { + 'use strict'; + e.defineLocale('cv', { + months: 'кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split( + '_' + ), + monthsShort: 'кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш'.split( + '_' + ), + weekdays: 'вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун'.split( + '_' + ), + weekdaysShort: 'выр_тун_ытл_юн_кӗҫ_эрн_шӑм'.split('_'), + weekdaysMin: 'вр_тн_ыт_юн_кҫ_эр_шм'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD-MM-YYYY', + LL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]', + LLL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm', + LLLL: 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm', + }, + calendar: { + sameDay: '[Паян] LT [сехетре]', + nextDay: '[Ыран] LT [сехетре]', + lastDay: '[Ӗнер] LT [сехетре]', + nextWeek: '[Ҫитес] dddd LT [сехетре]', + lastWeek: '[Иртнӗ] dddd LT [сехетре]', + sameElse: 'L', + }, + relativeTime: { + future: function (e) { + return ( + e + + (/сехет$/i.exec(e) ? 'рен' : /ҫул$/i.exec(e) ? 'тан' : 'ран') + ); + }, + past: '%s каялла', + s: 'пӗр-ик ҫеккунт', + ss: '%d ҫеккунт', + m: 'пӗр минут', + mm: '%d минут', + h: 'пӗр сехет', + hh: '%d сехет', + d: 'пӗр кун', + dd: '%d кун', + M: 'пӗр уйӑх', + MM: '%d уйӑх', + y: 'пӗр ҫул', + yy: '%d ҫул', + }, + dayOfMonthOrdinalParse: /\d{1,2}-мӗш/, + ordinal: '%d-мӗш', + week: { dow: 1, doy: 7 }, + }); + })(i(30381)); + }, + 47373: function (e, t, i) { + !(function (e) { + 'use strict'; + e.defineLocale('cy', { + months: 'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr'.split( + '_' + ), + monthsShort: 'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag'.split( + '_' + ), + weekdays: 'Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn'.split( + '_' + ), + weekdaysShort: 'Sul_Llun_Maw_Mer_Iau_Gwe_Sad'.split('_'), + weekdaysMin: 'Su_Ll_Ma_Me_Ia_Gw_Sa'.split('_'), + weekdaysParseExact: !0, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd, D MMMM YYYY HH:mm', + }, + calendar: { + sameDay: '[Heddiw am] LT', + nextDay: '[Yfory am] LT', + nextWeek: 'dddd [am] LT', + lastDay: '[Ddoe am] LT', + lastWeek: 'dddd [diwethaf am] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'mewn %s', + past: '%s yn ôl', + s: 'ychydig eiliadau', + ss: '%d eiliad', + m: 'munud', + mm: '%d munud', + h: 'awr', + hh: '%d awr', + d: 'diwrnod', + dd: '%d diwrnod', + M: 'mis', + MM: '%d mis', + y: 'blwyddyn', + yy: '%d flynedd', + }, + dayOfMonthOrdinalParse: /\d{1,2}(fed|ain|af|il|ydd|ed|eg)/, + ordinal: function (e) { + var t = ''; + return ( + e > 20 + ? (t = + 40 === e || 50 === e || 60 === e || 80 === e || 100 === e + ? 'fed' + : 'ain') + : e > 0 && + (t = [ + '', + 'af', + 'il', + 'ydd', + 'ydd', + 'ed', + 'ed', + 'ed', + 'fed', + 'fed', + 'fed', + 'eg', + 'fed', + 'eg', + 'eg', + 'fed', + 'eg', + 'eg', + 'fed', + 'eg', + 'fed', + ][e]), + e + t + ); + }, + week: { dow: 1, doy: 4 }, + }); + })(i(30381)); + }, + 24780: function (e, t, i) { + !(function (e) { + 'use strict'; + e.defineLocale('da', { + months: 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split( + '_' + ), + monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split( + '_' + ), + weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split( + '_' + ), + weekdaysShort: 'søn_man_tir_ons_tor_fre_lør'.split('_'), + weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD.MM.YYYY', + LL: 'D. MMMM YYYY', + LLL: 'D. MMMM YYYY HH:mm', + LLLL: 'dddd [d.] D. MMMM YYYY [kl.] HH:mm', + }, + calendar: { + sameDay: '[i dag kl.] LT', + nextDay: '[i morgen kl.] LT', + nextWeek: 'på dddd [kl.] LT', + lastDay: '[i går kl.] LT', + lastWeek: '[i] dddd[s kl.] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'om %s', + past: '%s siden', + s: 'få sekunder', + ss: '%d sekunder', + m: 'et minut', + mm: '%d minutter', + h: 'en time', + hh: '%d timer', + d: 'en dag', + dd: '%d dage', + M: 'en måned', + MM: '%d måneder', + y: 'et år', + yy: '%d år', + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal: '%d.', + week: { dow: 1, doy: 4 }, + }); + })(i(30381)); + }, + 60217: function (e, t, i) { + !(function (e) { + 'use strict'; + function t(e, t, i, n) { + var r = { + m: ['eine Minute', 'einer Minute'], + h: ['eine Stunde', 'einer Stunde'], + d: ['ein Tag', 'einem Tag'], + dd: [e + ' Tage', e + ' Tagen'], + w: ['eine Woche', 'einer Woche'], + M: ['ein Monat', 'einem Monat'], + MM: [e + ' Monate', e + ' Monaten'], + y: ['ein Jahr', 'einem Jahr'], + yy: [e + ' Jahre', e + ' Jahren'], + }; + return t ? r[i][0] : r[i][1]; + } + e.defineLocale('de-at', { + months: 'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split( + '_' + ), + monthsShort: 'Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split( + '_' + ), + monthsParseExact: !0, + weekdays: 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split( + '_' + ), + weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'), + weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'), + weekdaysParseExact: !0, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD.MM.YYYY', + LL: 'D. MMMM YYYY', + LLL: 'D. MMMM YYYY HH:mm', + LLLL: 'dddd, D. MMMM YYYY HH:mm', + }, + calendar: { + sameDay: '[heute um] LT [Uhr]', + sameElse: 'L', + nextDay: '[morgen um] LT [Uhr]', + nextWeek: 'dddd [um] LT [Uhr]', + lastDay: '[gestern um] LT [Uhr]', + lastWeek: '[letzten] dddd [um] LT [Uhr]', + }, + relativeTime: { + future: 'in %s', + past: 'vor %s', + s: 'ein paar Sekunden', + ss: '%d Sekunden', + m: t, + mm: '%d Minuten', + h: t, + hh: '%d Stunden', + d: t, + dd: t, + w: t, + ww: '%d Wochen', + M: t, + MM: t, + y: t, + yy: t, + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal: '%d.', + week: { dow: 1, doy: 4 }, + }); + })(i(30381)); + }, + 60894: function (e, t, i) { + !(function (e) { + 'use strict'; + function t(e, t, i, n) { + var r = { + m: ['eine Minute', 'einer Minute'], + h: ['eine Stunde', 'einer Stunde'], + d: ['ein Tag', 'einem Tag'], + dd: [e + ' Tage', e + ' Tagen'], + w: ['eine Woche', 'einer Woche'], + M: ['ein Monat', 'einem Monat'], + MM: [e + ' Monate', e + ' Monaten'], + y: ['ein Jahr', 'einem Jahr'], + yy: [e + ' Jahre', e + ' Jahren'], + }; + return t ? r[i][0] : r[i][1]; + } + e.defineLocale('de-ch', { + months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split( + '_' + ), + monthsShort: 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split( + '_' + ), + monthsParseExact: !0, + weekdays: 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split( + '_' + ), + weekdaysShort: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'), + weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'), + weekdaysParseExact: !0, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD.MM.YYYY', + LL: 'D. MMMM YYYY', + LLL: 'D. MMMM YYYY HH:mm', + LLLL: 'dddd, D. MMMM YYYY HH:mm', + }, + calendar: { + sameDay: '[heute um] LT [Uhr]', + sameElse: 'L', + nextDay: '[morgen um] LT [Uhr]', + nextWeek: 'dddd [um] LT [Uhr]', + lastDay: '[gestern um] LT [Uhr]', + lastWeek: '[letzten] dddd [um] LT [Uhr]', + }, + relativeTime: { + future: 'in %s', + past: 'vor %s', + s: 'ein paar Sekunden', + ss: '%d Sekunden', + m: t, + mm: '%d Minuten', + h: t, + hh: '%d Stunden', + d: t, + dd: t, + w: t, + ww: '%d Wochen', + M: t, + MM: t, + y: t, + yy: t, + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal: '%d.', + week: { dow: 1, doy: 4 }, + }); + })(i(30381)); + }, + 59740: function (e, t, i) { + !(function (e) { + 'use strict'; + function t(e, t, i, n) { + var r = { + m: ['eine Minute', 'einer Minute'], + h: ['eine Stunde', 'einer Stunde'], + d: ['ein Tag', 'einem Tag'], + dd: [e + ' Tage', e + ' Tagen'], + w: ['eine Woche', 'einer Woche'], + M: ['ein Monat', 'einem Monat'], + MM: [e + ' Monate', e + ' Monaten'], + y: ['ein Jahr', 'einem Jahr'], + yy: [e + ' Jahre', e + ' Jahren'], + }; + return t ? r[i][0] : r[i][1]; + } + e.defineLocale('de', { + months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split( + '_' + ), + monthsShort: 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split( + '_' + ), + monthsParseExact: !0, + weekdays: 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split( + '_' + ), + weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'), + weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'), + weekdaysParseExact: !0, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD.MM.YYYY', + LL: 'D. MMMM YYYY', + LLL: 'D. MMMM YYYY HH:mm', + LLLL: 'dddd, D. MMMM YYYY HH:mm', + }, + calendar: { + sameDay: '[heute um] LT [Uhr]', + sameElse: 'L', + nextDay: '[morgen um] LT [Uhr]', + nextWeek: 'dddd [um] LT [Uhr]', + lastDay: '[gestern um] LT [Uhr]', + lastWeek: '[letzten] dddd [um] LT [Uhr]', + }, + relativeTime: { + future: 'in %s', + past: 'vor %s', + s: 'ein paar Sekunden', + ss: '%d Sekunden', + m: t, + mm: '%d Minuten', + h: t, + hh: '%d Stunden', + d: t, + dd: t, + w: t, + ww: '%d Wochen', + M: t, + MM: t, + y: t, + yy: t, + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal: '%d.', + week: { dow: 1, doy: 4 }, + }); + })(i(30381)); + }, + 5300: function (e, t, i) { + !(function (e) { + 'use strict'; + var t = [ + 'ޖެނުއަރީ', + 'ފެބްރުއަރީ', + 'މާރިޗު', + 'އޭޕްރީލު', + 'މޭ', + 'ޖޫން', + 'ޖުލައި', + 'އޯގަސްޓު', + 'ސެޕްޓެމްބަރު', + 'އޮކްޓޯބަރު', + 'ނޮވެމްބަރު', + 'ޑިސެމްބަރު', + ], + i = [ + 'އާދިއްތަ', + 'ހޯމަ', + 'އަންގާރަ', + 'ބުދަ', + 'ބުރާސްފަތި', + 'ހުކުރު', + 'ހޮނިހިރު', + ]; + e.defineLocale('dv', { + months: t, + monthsShort: t, + weekdays: i, + weekdaysShort: i, + weekdaysMin: 'އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'D/M/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd D MMMM YYYY HH:mm', + }, + meridiemParse: /މކ|މފ/, + isPM: function (e) { + return 'މފ' === e; + }, + meridiem: function (e, t, i) { + return e < 12 ? 'މކ' : 'މފ'; + }, + calendar: { + sameDay: '[މިއަދު] LT', + nextDay: '[މާދަމާ] LT', + nextWeek: 'dddd LT', + lastDay: '[އިއްޔެ] LT', + lastWeek: '[ފާއިތުވި] dddd LT', + sameElse: 'L', + }, + relativeTime: { + future: 'ތެރޭގައި %s', + past: 'ކުރިން %s', + s: 'ސިކުންތުކޮޅެއް', + ss: 'd% ސިކުންތު', + m: 'މިނިޓެއް', + mm: 'މިނިޓު %d', + h: 'ގަޑިއިރެއް', + hh: 'ގަޑިއިރު %d', + d: 'ދުވަހެއް', + dd: 'ދުވަސް %d', + M: 'މަހެއް', + MM: 'މަސް %d', + y: 'އަހަރެއް', + yy: 'އަހަރު %d', + }, + preparse: function (e) { + return e.replace(/،/g, ','); + }, + postformat: function (e) { + return e.replace(/,/g, '،'); + }, + week: { dow: 7, doy: 12 }, + }); + })(i(30381)); + }, + 50837: function (e, t, i) { + !(function (e) { + 'use strict'; + e.defineLocale('el', { + monthsNominativeEl: 'Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος'.split( + '_' + ), + monthsGenitiveEl: 'Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου'.split( + '_' + ), + months: function (e, t) { + return e + ? 'string' == typeof t && + /D/.test(t.substring(0, t.indexOf('MMMM'))) + ? this._monthsGenitiveEl[e.month()] + : this._monthsNominativeEl[e.month()] + : this._monthsNominativeEl; + }, + monthsShort: 'Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ'.split( + '_' + ), + weekdays: 'Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο'.split( + '_' + ), + weekdaysShort: 'Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ'.split('_'), + weekdaysMin: 'Κυ_Δε_Τρ_Τε_Πε_Πα_Σα'.split('_'), + meridiem: function (e, t, i) { + return e > 11 ? (i ? 'μμ' : 'ΜΜ') : i ? 'πμ' : 'ΠΜ'; + }, + isPM: function (e) { + return 'μ' === (e + '').toLowerCase()[0]; + }, + meridiemParse: /[ΠΜ]\.?Μ?\.?/i, + longDateFormat: { + LT: 'h:mm A', + LTS: 'h:mm:ss A', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY h:mm A', + LLLL: 'dddd, D MMMM YYYY h:mm A', + }, + calendarEl: { + sameDay: '[Σήμερα {}] LT', + nextDay: '[Αύριο {}] LT', + nextWeek: 'dddd [{}] LT', + lastDay: '[Χθες {}] LT', + lastWeek: function () { + switch (this.day()) { + case 6: + return '[το προηγούμενο] dddd [{}] LT'; + default: + return '[την προηγούμενη] dddd [{}] LT'; + } + }, + sameElse: 'L', + }, + calendar: function (e, t) { + var i, + n = this._calendarEl[e], + r = t && t.hours(); + return ( + (i = n), + (('undefined' != typeof Function && i instanceof Function) || + '[object Function]' === Object.prototype.toString.call(i)) && + (n = n.apply(t)), + n.replace('{}', r % 12 == 1 ? 'στη' : 'στις') + ); + }, + relativeTime: { + future: 'σε %s', + past: '%s πριν', + s: 'λίγα δευτερόλεπτα', + ss: '%d δευτερόλεπτα', + m: 'ένα λεπτό', + mm: '%d λεπτά', + h: 'μία ώρα', + hh: '%d ώρες', + d: 'μία μέρα', + dd: '%d μέρες', + M: 'ένας μήνας', + MM: '%d μήνες', + y: 'ένας χρόνος', + yy: '%d χρόνια', + }, + dayOfMonthOrdinalParse: /\d{1,2}η/, + ordinal: '%dη', + week: { dow: 1, doy: 4 }, + }); + })(i(30381)); + }, + 78348: function (e, t, i) { + !(function (e) { + 'use strict'; + e.defineLocale('en-au', { + months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split( + '_' + ), + monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split( + '_' + ), + weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split( + '_' + ), + weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), + weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), + longDateFormat: { + LT: 'h:mm A', + LTS: 'h:mm:ss A', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY h:mm A', + LLLL: 'dddd, D MMMM YYYY h:mm A', + }, + calendar: { + sameDay: '[Today at] LT', + nextDay: '[Tomorrow at] LT', + nextWeek: 'dddd [at] LT', + lastDay: '[Yesterday at] LT', + lastWeek: '[Last] dddd [at] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'in %s', + past: '%s ago', + s: 'a few seconds', + ss: '%d seconds', + m: 'a minute', + mm: '%d minutes', + h: 'an hour', + hh: '%d hours', + d: 'a day', + dd: '%d days', + M: 'a month', + MM: '%d months', + y: 'a year', + yy: '%d years', + }, + dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, + ordinal: function (e) { + var t = e % 10; + return ( + e + + (1 == ~~((e % 100) / 10) + ? 'th' + : 1 === t + ? 'st' + : 2 === t + ? 'nd' + : 3 === t + ? 'rd' + : 'th') + ); + }, + week: { dow: 0, doy: 4 }, + }); + })(i(30381)); + }, + 77925: function (e, t, i) { + !(function (e) { + 'use strict'; + e.defineLocale('en-ca', { + months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split( + '_' + ), + monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split( + '_' + ), + weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split( + '_' + ), + weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), + weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), + longDateFormat: { + LT: 'h:mm A', + LTS: 'h:mm:ss A', + L: 'YYYY-MM-DD', + LL: 'MMMM D, YYYY', + LLL: 'MMMM D, YYYY h:mm A', + LLLL: 'dddd, MMMM D, YYYY h:mm A', + }, + calendar: { + sameDay: '[Today at] LT', + nextDay: '[Tomorrow at] LT', + nextWeek: 'dddd [at] LT', + lastDay: '[Yesterday at] LT', + lastWeek: '[Last] dddd [at] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'in %s', + past: '%s ago', + s: 'a few seconds', + ss: '%d seconds', + m: 'a minute', + mm: '%d minutes', + h: 'an hour', + hh: '%d hours', + d: 'a day', + dd: '%d days', + M: 'a month', + MM: '%d months', + y: 'a year', + yy: '%d years', + }, + dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, + ordinal: function (e) { + var t = e % 10; + return ( + e + + (1 == ~~((e % 100) / 10) + ? 'th' + : 1 === t + ? 'st' + : 2 === t + ? 'nd' + : 3 === t + ? 'rd' + : 'th') + ); + }, + }); + })(i(30381)); + }, + 22243: function (e, t, i) { + !(function (e) { + 'use strict'; + e.defineLocale('en-gb', { + months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split( + '_' + ), + monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split( + '_' + ), + weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split( + '_' + ), + weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), + weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd, D MMMM YYYY HH:mm', + }, + calendar: { + sameDay: '[Today at] LT', + nextDay: '[Tomorrow at] LT', + nextWeek: 'dddd [at] LT', + lastDay: '[Yesterday at] LT', + lastWeek: '[Last] dddd [at] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'in %s', + past: '%s ago', + s: 'a few seconds', + ss: '%d seconds', + m: 'a minute', + mm: '%d minutes', + h: 'an hour', + hh: '%d hours', + d: 'a day', + dd: '%d days', + M: 'a month', + MM: '%d months', + y: 'a year', + yy: '%d years', + }, + dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, + ordinal: function (e) { + var t = e % 10; + return ( + e + + (1 == ~~((e % 100) / 10) + ? 'th' + : 1 === t + ? 'st' + : 2 === t + ? 'nd' + : 3 === t + ? 'rd' + : 'th') + ); + }, + week: { dow: 1, doy: 4 }, + }); + })(i(30381)); + }, + 46436: function (e, t, i) { + !(function (e) { + 'use strict'; + e.defineLocale('en-ie', { + months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split( + '_' + ), + monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split( + '_' + ), + weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split( + '_' + ), + weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), + weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd D MMMM YYYY HH:mm', + }, + calendar: { + sameDay: '[Today at] LT', + nextDay: '[Tomorrow at] LT', + nextWeek: 'dddd [at] LT', + lastDay: '[Yesterday at] LT', + lastWeek: '[Last] dddd [at] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'in %s', + past: '%s ago', + s: 'a few seconds', + ss: '%d seconds', + m: 'a minute', + mm: '%d minutes', + h: 'an hour', + hh: '%d hours', + d: 'a day', + dd: '%d days', + M: 'a month', + MM: '%d months', + y: 'a year', + yy: '%d years', + }, + dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, + ordinal: function (e) { + var t = e % 10; + return ( + e + + (1 == ~~((e % 100) / 10) + ? 'th' + : 1 === t + ? 'st' + : 2 === t + ? 'nd' + : 3 === t + ? 'rd' + : 'th') + ); + }, + week: { dow: 1, doy: 4 }, + }); + })(i(30381)); + }, + 47207: function (e, t, i) { + !(function (e) { + 'use strict'; + e.defineLocale('en-il', { + months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split( + '_' + ), + monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split( + '_' + ), + weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split( + '_' + ), + weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), + weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd, D MMMM YYYY HH:mm', + }, + calendar: { + sameDay: '[Today at] LT', + nextDay: '[Tomorrow at] LT', + nextWeek: 'dddd [at] LT', + lastDay: '[Yesterday at] LT', + lastWeek: '[Last] dddd [at] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'in %s', + past: '%s ago', + s: 'a few seconds', + ss: '%d seconds', + m: 'a minute', + mm: '%d minutes', + h: 'an hour', + hh: '%d hours', + d: 'a day', + dd: '%d days', + M: 'a month', + MM: '%d months', + y: 'a year', + yy: '%d years', + }, + dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, + ordinal: function (e) { + var t = e % 10; + return ( + e + + (1 == ~~((e % 100) / 10) + ? 'th' + : 1 === t + ? 'st' + : 2 === t + ? 'nd' + : 3 === t + ? 'rd' + : 'th') + ); + }, + }); + })(i(30381)); + }, + 44175: function (e, t, i) { + !(function (e) { + 'use strict'; + e.defineLocale('en-in', { + months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split( + '_' + ), + monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split( + '_' + ), + weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split( + '_' + ), + weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), + weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), + longDateFormat: { + LT: 'h:mm A', + LTS: 'h:mm:ss A', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY h:mm A', + LLLL: 'dddd, D MMMM YYYY h:mm A', + }, + calendar: { + sameDay: '[Today at] LT', + nextDay: '[Tomorrow at] LT', + nextWeek: 'dddd [at] LT', + lastDay: '[Yesterday at] LT', + lastWeek: '[Last] dddd [at] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'in %s', + past: '%s ago', + s: 'a few seconds', + ss: '%d seconds', + m: 'a minute', + mm: '%d minutes', + h: 'an hour', + hh: '%d hours', + d: 'a day', + dd: '%d days', + M: 'a month', + MM: '%d months', + y: 'a year', + yy: '%d years', + }, + dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, + ordinal: function (e) { + var t = e % 10; + return ( + e + + (1 == ~~((e % 100) / 10) + ? 'th' + : 1 === t + ? 'st' + : 2 === t + ? 'nd' + : 3 === t + ? 'rd' + : 'th') + ); + }, + week: { dow: 0, doy: 6 }, + }); + })(i(30381)); + }, + 76319: function (e, t, i) { + !(function (e) { + 'use strict'; + e.defineLocale('en-nz', { + months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split( + '_' + ), + monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split( + '_' + ), + weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split( + '_' + ), + weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), + weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), + longDateFormat: { + LT: 'h:mm A', + LTS: 'h:mm:ss A', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY h:mm A', + LLLL: 'dddd, D MMMM YYYY h:mm A', + }, + calendar: { + sameDay: '[Today at] LT', + nextDay: '[Tomorrow at] LT', + nextWeek: 'dddd [at] LT', + lastDay: '[Yesterday at] LT', + lastWeek: '[Last] dddd [at] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'in %s', + past: '%s ago', + s: 'a few seconds', + ss: '%d seconds', + m: 'a minute', + mm: '%d minutes', + h: 'an hour', + hh: '%d hours', + d: 'a day', + dd: '%d days', + M: 'a month', + MM: '%d months', + y: 'a year', + yy: '%d years', + }, + dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, + ordinal: function (e) { + var t = e % 10; + return ( + e + + (1 == ~~((e % 100) / 10) + ? 'th' + : 1 === t + ? 'st' + : 2 === t + ? 'nd' + : 3 === t + ? 'rd' + : 'th') + ); + }, + week: { dow: 1, doy: 4 }, + }); + })(i(30381)); + }, + 31662: function (e, t, i) { + !(function (e) { + 'use strict'; + e.defineLocale('en-sg', { + months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split( + '_' + ), + monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split( + '_' + ), + weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split( + '_' + ), + weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), + weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd, D MMMM YYYY HH:mm', + }, + calendar: { + sameDay: '[Today at] LT', + nextDay: '[Tomorrow at] LT', + nextWeek: 'dddd [at] LT', + lastDay: '[Yesterday at] LT', + lastWeek: '[Last] dddd [at] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'in %s', + past: '%s ago', + s: 'a few seconds', + ss: '%d seconds', + m: 'a minute', + mm: '%d minutes', + h: 'an hour', + hh: '%d hours', + d: 'a day', + dd: '%d days', + M: 'a month', + MM: '%d months', + y: 'a year', + yy: '%d years', + }, + dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, + ordinal: function (e) { + var t = e % 10; + return ( + e + + (1 == ~~((e % 100) / 10) + ? 'th' + : 1 === t + ? 'st' + : 2 === t + ? 'nd' + : 3 === t + ? 'rd' + : 'th') + ); + }, + week: { dow: 1, doy: 4 }, + }); + })(i(30381)); + }, + 92915: function (e, t, i) { + !(function (e) { + 'use strict'; + e.defineLocale('eo', { + months: 'januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro'.split( + '_' + ), + monthsShort: 'jan_feb_mart_apr_maj_jun_jul_aŭg_sept_okt_nov_dec'.split( + '_' + ), + weekdays: 'dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato'.split( + '_' + ), + weekdaysShort: 'dim_lun_mard_merk_ĵaŭ_ven_sab'.split('_'), + weekdaysMin: 'di_lu_ma_me_ĵa_ve_sa'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'YYYY-MM-DD', + LL: '[la] D[-an de] MMMM, YYYY', + LLL: '[la] D[-an de] MMMM, YYYY HH:mm', + LLLL: 'dddd[n], [la] D[-an de] MMMM, YYYY HH:mm', + llll: 'ddd, [la] D[-an de] MMM, YYYY HH:mm', + }, + meridiemParse: /[ap]\.t\.m/i, + isPM: function (e) { + return 'p' === e.charAt(0).toLowerCase(); + }, + meridiem: function (e, t, i) { + return e > 11 + ? i + ? 'p.t.m.' + : 'P.T.M.' + : i + ? 'a.t.m.' + : 'A.T.M.'; + }, + calendar: { + sameDay: '[Hodiaŭ je] LT', + nextDay: '[Morgaŭ je] LT', + nextWeek: 'dddd[n je] LT', + lastDay: '[Hieraŭ je] LT', + lastWeek: '[pasintan] dddd[n je] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'post %s', + past: 'antaŭ %s', + s: 'kelkaj sekundoj', + ss: '%d sekundoj', + m: 'unu minuto', + mm: '%d minutoj', + h: 'unu horo', + hh: '%d horoj', + d: 'unu tago', + dd: '%d tagoj', + M: 'unu monato', + MM: '%d monatoj', + y: 'unu jaro', + yy: '%d jaroj', + }, + dayOfMonthOrdinalParse: /\d{1,2}a/, + ordinal: '%da', + week: { dow: 1, doy: 7 }, + }); + })(i(30381)); + }, + 55251: function (e, t, i) { + !(function (e) { + 'use strict'; + var t = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split( + '_' + ), + i = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'), + n = [ + /^ene/i, + /^feb/i, + /^mar/i, + /^abr/i, + /^may/i, + /^jun/i, + /^jul/i, + /^ago/i, + /^sep/i, + /^oct/i, + /^nov/i, + /^dic/i, + ], + r = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i; + e.defineLocale('es-do', { + months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split( + '_' + ), + monthsShort: function (e, n) { + return e ? (/-MMM-/.test(n) ? i[e.month()] : t[e.month()]) : t; + }, + monthsRegex: r, + monthsShortRegex: r, + monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i, + monthsShortStrictRegex: /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i, + monthsParse: n, + longMonthsParse: n, + shortMonthsParse: n, + weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split( + '_' + ), + weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'), + weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'), + weekdaysParseExact: !0, + longDateFormat: { + LT: 'h:mm A', + LTS: 'h:mm:ss A', + L: 'DD/MM/YYYY', + LL: 'D [de] MMMM [de] YYYY', + LLL: 'D [de] MMMM [de] YYYY h:mm A', + LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A', + }, + calendar: { + sameDay: function () { + return '[hoy a la' + (1 !== this.hours() ? 's' : '') + '] LT'; + }, + nextDay: function () { + return ( + '[mañana a la' + (1 !== this.hours() ? 's' : '') + '] LT' + ); + }, + nextWeek: function () { + return 'dddd [a la' + (1 !== this.hours() ? 's' : '') + '] LT'; + }, + lastDay: function () { + return '[ayer a la' + (1 !== this.hours() ? 's' : '') + '] LT'; + }, + lastWeek: function () { + return ( + '[el] dddd [pasado a la' + + (1 !== this.hours() ? 's' : '') + + '] LT' + ); + }, + sameElse: 'L', + }, + relativeTime: { + future: 'en %s', + past: 'hace %s', + s: 'unos segundos', + ss: '%d segundos', + m: 'un minuto', + mm: '%d minutos', + h: 'una hora', + hh: '%d horas', + d: 'un día', + dd: '%d días', + w: 'una semana', + ww: '%d semanas', + M: 'un mes', + MM: '%d meses', + y: 'un año', + yy: '%d años', + }, + dayOfMonthOrdinalParse: /\d{1,2}º/, + ordinal: '%dº', + week: { dow: 1, doy: 4 }, + }); + })(i(30381)); + }, + 96112: function (e, t, i) { + !(function (e) { + 'use strict'; + var t = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split( + '_' + ), + i = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'), + n = [ + /^ene/i, + /^feb/i, + /^mar/i, + /^abr/i, + /^may/i, + /^jun/i, + /^jul/i, + /^ago/i, + /^sep/i, + /^oct/i, + /^nov/i, + /^dic/i, + ], + r = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i; + e.defineLocale('es-mx', { + months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split( + '_' + ), + monthsShort: function (e, n) { + return e ? (/-MMM-/.test(n) ? i[e.month()] : t[e.month()]) : t; + }, + monthsRegex: r, + monthsShortRegex: r, + monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i, + monthsShortStrictRegex: /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i, + monthsParse: n, + longMonthsParse: n, + shortMonthsParse: n, + weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split( + '_' + ), + weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'), + weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'), + weekdaysParseExact: !0, + longDateFormat: { + LT: 'H:mm', + LTS: 'H:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D [de] MMMM [de] YYYY', + LLL: 'D [de] MMMM [de] YYYY H:mm', + LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm', + }, + calendar: { + sameDay: function () { + return '[hoy a la' + (1 !== this.hours() ? 's' : '') + '] LT'; + }, + nextDay: function () { + return ( + '[mañana a la' + (1 !== this.hours() ? 's' : '') + '] LT' + ); + }, + nextWeek: function () { + return 'dddd [a la' + (1 !== this.hours() ? 's' : '') + '] LT'; + }, + lastDay: function () { + return '[ayer a la' + (1 !== this.hours() ? 's' : '') + '] LT'; + }, + lastWeek: function () { + return ( + '[el] dddd [pasado a la' + + (1 !== this.hours() ? 's' : '') + + '] LT' + ); + }, + sameElse: 'L', + }, + relativeTime: { + future: 'en %s', + past: 'hace %s', + s: 'unos segundos', + ss: '%d segundos', + m: 'un minuto', + mm: '%d minutos', + h: 'una hora', + hh: '%d horas', + d: 'un día', + dd: '%d días', + w: 'una semana', + ww: '%d semanas', + M: 'un mes', + MM: '%d meses', + y: 'un año', + yy: '%d años', + }, + dayOfMonthOrdinalParse: /\d{1,2}º/, + ordinal: '%dº', + week: { dow: 0, doy: 4 }, + invalidDate: 'Fecha inválida', + }); + })(i(30381)); + }, + 71146: function (e, t, i) { + !(function (e) { + 'use strict'; + var t = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split( + '_' + ), + i = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'), + n = [ + /^ene/i, + /^feb/i, + /^mar/i, + /^abr/i, + /^may/i, + /^jun/i, + /^jul/i, + /^ago/i, + /^sep/i, + /^oct/i, + /^nov/i, + /^dic/i, + ], + r = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i; + e.defineLocale('es-us', { + months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split( + '_' + ), + monthsShort: function (e, n) { + return e ? (/-MMM-/.test(n) ? i[e.month()] : t[e.month()]) : t; + }, + monthsRegex: r, + monthsShortRegex: r, + monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i, + monthsShortStrictRegex: /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i, + monthsParse: n, + longMonthsParse: n, + shortMonthsParse: n, + weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split( + '_' + ), + weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'), + weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'), + weekdaysParseExact: !0, + longDateFormat: { + LT: 'h:mm A', + LTS: 'h:mm:ss A', + L: 'MM/DD/YYYY', + LL: 'D [de] MMMM [de] YYYY', + LLL: 'D [de] MMMM [de] YYYY h:mm A', + LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A', + }, + calendar: { + sameDay: function () { + return '[hoy a la' + (1 !== this.hours() ? 's' : '') + '] LT'; + }, + nextDay: function () { + return ( + '[mañana a la' + (1 !== this.hours() ? 's' : '') + '] LT' + ); + }, + nextWeek: function () { + return 'dddd [a la' + (1 !== this.hours() ? 's' : '') + '] LT'; + }, + lastDay: function () { + return '[ayer a la' + (1 !== this.hours() ? 's' : '') + '] LT'; + }, + lastWeek: function () { + return ( + '[el] dddd [pasado a la' + + (1 !== this.hours() ? 's' : '') + + '] LT' + ); + }, + sameElse: 'L', + }, + relativeTime: { + future: 'en %s', + past: 'hace %s', + s: 'unos segundos', + ss: '%d segundos', + m: 'un minuto', + mm: '%d minutos', + h: 'una hora', + hh: '%d horas', + d: 'un día', + dd: '%d días', + w: 'una semana', + ww: '%d semanas', + M: 'un mes', + MM: '%d meses', + y: 'un año', + yy: '%d años', + }, + dayOfMonthOrdinalParse: /\d{1,2}º/, + ordinal: '%dº', + week: { dow: 0, doy: 6 }, + }); + })(i(30381)); + }, + 55655: function (e, t, i) { + !(function (e) { + 'use strict'; + var t = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split( + '_' + ), + i = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'), + n = [ + /^ene/i, + /^feb/i, + /^mar/i, + /^abr/i, + /^may/i, + /^jun/i, + /^jul/i, + /^ago/i, + /^sep/i, + /^oct/i, + /^nov/i, + /^dic/i, + ], + r = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i; + e.defineLocale('es', { + months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split( + '_' + ), + monthsShort: function (e, n) { + return e ? (/-MMM-/.test(n) ? i[e.month()] : t[e.month()]) : t; + }, + monthsRegex: r, + monthsShortRegex: r, + monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i, + monthsShortStrictRegex: /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i, + monthsParse: n, + longMonthsParse: n, + shortMonthsParse: n, + weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split( + '_' + ), + weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'), + weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'), + weekdaysParseExact: !0, + longDateFormat: { + LT: 'H:mm', + LTS: 'H:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D [de] MMMM [de] YYYY', + LLL: 'D [de] MMMM [de] YYYY H:mm', + LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm', + }, + calendar: { + sameDay: function () { + return '[hoy a la' + (1 !== this.hours() ? 's' : '') + '] LT'; + }, + nextDay: function () { + return ( + '[mañana a la' + (1 !== this.hours() ? 's' : '') + '] LT' + ); + }, + nextWeek: function () { + return 'dddd [a la' + (1 !== this.hours() ? 's' : '') + '] LT'; + }, + lastDay: function () { + return '[ayer a la' + (1 !== this.hours() ? 's' : '') + '] LT'; + }, + lastWeek: function () { + return ( + '[el] dddd [pasado a la' + + (1 !== this.hours() ? 's' : '') + + '] LT' + ); + }, + sameElse: 'L', + }, + relativeTime: { + future: 'en %s', + past: 'hace %s', + s: 'unos segundos', + ss: '%d segundos', + m: 'un minuto', + mm: '%d minutos', + h: 'una hora', + hh: '%d horas', + d: 'un día', + dd: '%d días', + w: 'una semana', + ww: '%d semanas', + M: 'un mes', + MM: '%d meses', + y: 'un año', + yy: '%d años', + }, + dayOfMonthOrdinalParse: /\d{1,2}º/, + ordinal: '%dº', + week: { dow: 1, doy: 4 }, + invalidDate: 'Fecha inválida', + }); + })(i(30381)); + }, + 5603: function (e, t, i) { + !(function (e) { + 'use strict'; + function t(e, t, i, n) { + var r = { + s: ['mõne sekundi', 'mõni sekund', 'paar sekundit'], + ss: [e + 'sekundi', e + 'sekundit'], + m: ['ühe minuti', 'üks minut'], + mm: [e + ' minuti', e + ' minutit'], + h: ['ühe tunni', 'tund aega', 'üks tund'], + hh: [e + ' tunni', e + ' tundi'], + d: ['ühe päeva', 'üks päev'], + M: ['kuu aja', 'kuu aega', 'üks kuu'], + MM: [e + ' kuu', e + ' kuud'], + y: ['ühe aasta', 'aasta', 'üks aasta'], + yy: [e + ' aasta', e + ' aastat'], + }; + return t ? (r[i][2] ? r[i][2] : r[i][1]) : n ? r[i][0] : r[i][1]; + } + e.defineLocale('et', { + months: 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split( + '_' + ), + monthsShort: 'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split( + '_' + ), + weekdays: 'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.split( + '_' + ), + weekdaysShort: 'P_E_T_K_N_R_L'.split('_'), + weekdaysMin: 'P_E_T_K_N_R_L'.split('_'), + longDateFormat: { + LT: 'H:mm', + LTS: 'H:mm:ss', + L: 'DD.MM.YYYY', + LL: 'D. MMMM YYYY', + LLL: 'D. MMMM YYYY H:mm', + LLLL: 'dddd, D. MMMM YYYY H:mm', + }, + calendar: { + sameDay: '[Täna,] LT', + nextDay: '[Homme,] LT', + nextWeek: '[Järgmine] dddd LT', + lastDay: '[Eile,] LT', + lastWeek: '[Eelmine] dddd LT', + sameElse: 'L', + }, + relativeTime: { + future: '%s pärast', + past: '%s tagasi', + s: t, + ss: t, + m: t, + mm: t, + h: t, + hh: t, + d: t, + dd: '%d päeva', + M: t, + MM: t, + y: t, + yy: t, + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal: '%d.', + week: { dow: 1, doy: 4 }, + }); + })(i(30381)); + }, + 77763: function (e, t, i) { + !(function (e) { + 'use strict'; + e.defineLocale('eu', { + months: 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split( + '_' + ), + monthsShort: 'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split( + '_' + ), + monthsParseExact: !0, + weekdays: 'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split( + '_' + ), + weekdaysShort: 'ig._al._ar._az._og._ol._lr.'.split('_'), + weekdaysMin: 'ig_al_ar_az_og_ol_lr'.split('_'), + weekdaysParseExact: !0, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'YYYY-MM-DD', + LL: 'YYYY[ko] MMMM[ren] D[a]', + LLL: 'YYYY[ko] MMMM[ren] D[a] HH:mm', + LLLL: 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm', + l: 'YYYY-M-D', + ll: 'YYYY[ko] MMM D[a]', + lll: 'YYYY[ko] MMM D[a] HH:mm', + llll: 'ddd, YYYY[ko] MMM D[a] HH:mm', + }, + calendar: { + sameDay: '[gaur] LT[etan]', + nextDay: '[bihar] LT[etan]', + nextWeek: 'dddd LT[etan]', + lastDay: '[atzo] LT[etan]', + lastWeek: '[aurreko] dddd LT[etan]', + sameElse: 'L', + }, + relativeTime: { + future: '%s barru', + past: 'duela %s', + s: 'segundo batzuk', + ss: '%d segundo', + m: 'minutu bat', + mm: '%d minutu', + h: 'ordu bat', + hh: '%d ordu', + d: 'egun bat', + dd: '%d egun', + M: 'hilabete bat', + MM: '%d hilabete', + y: 'urte bat', + yy: '%d urte', + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal: '%d.', + week: { dow: 1, doy: 7 }, + }); + })(i(30381)); + }, + 76959: function (e, t, i) { + !(function (e) { + 'use strict'; + var t = { + 1: '۱', + 2: '۲', + 3: '۳', + 4: '۴', + 5: '۵', + 6: '۶', + 7: '۷', + 8: '۸', + 9: '۹', + 0: '۰', + }, + i = { + '۱': '1', + '۲': '2', + '۳': '3', + '۴': '4', + '۵': '5', + '۶': '6', + '۷': '7', + '۸': '8', + '۹': '9', + '۰': '0', + }; + e.defineLocale('fa', { + months: 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split( + '_' + ), + monthsShort: 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split( + '_' + ), + weekdays: 'یک‌شنبه_دوشنبه_سه‌شنبه_چهارشنبه_پنج‌شنبه_جمعه_شنبه'.split( + '_' + ), + weekdaysShort: 'یک‌شنبه_دوشنبه_سه‌شنبه_چهارشنبه_پنج‌شنبه_جمعه_شنبه'.split( + '_' + ), + weekdaysMin: 'ی_د_س_چ_پ_ج_ش'.split('_'), + weekdaysParseExact: !0, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd, D MMMM YYYY HH:mm', + }, + meridiemParse: /قبل از ظهر|بعد از ظهر/, + isPM: function (e) { + return /بعد از ظهر/.test(e); + }, + meridiem: function (e, t, i) { + return e < 12 ? 'قبل از ظهر' : 'بعد از ظهر'; + }, + calendar: { + sameDay: '[امروز ساعت] LT', + nextDay: '[فردا ساعت] LT', + nextWeek: 'dddd [ساعت] LT', + lastDay: '[دیروز ساعت] LT', + lastWeek: 'dddd [پیش] [ساعت] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'در %s', + past: '%s پیش', + s: 'چند ثانیه', + ss: '%d ثانیه', + m: 'یک دقیقه', + mm: '%d دقیقه', + h: 'یک ساعت', + hh: '%d ساعت', + d: 'یک روز', + dd: '%d روز', + M: 'یک ماه', + MM: '%d ماه', + y: 'یک سال', + yy: '%d سال', + }, + preparse: function (e) { + return e + .replace(/[۰-۹]/g, function (e) { + return i[e]; + }) + .replace(/،/g, ','); + }, + postformat: function (e) { + return e + .replace(/\d/g, function (e) { + return t[e]; + }) + .replace(/,/g, '،'); + }, + dayOfMonthOrdinalParse: /\d{1,2}م/, + ordinal: '%dم', + week: { dow: 6, doy: 12 }, + }); + })(i(30381)); + }, + 11897: function (e, t, i) { + !(function (e) { + 'use strict'; + var t = 'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split( + ' ' + ), + i = [ + 'nolla', + 'yhden', + 'kahden', + 'kolmen', + 'neljän', + 'viiden', + 'kuuden', + t[7], + t[8], + t[9], + ]; + function n(e, n, r, s) { + var o = ''; + switch (r) { + case 's': + return s ? 'muutaman sekunnin' : 'muutama sekunti'; + case 'ss': + o = s ? 'sekunnin' : 'sekuntia'; + break; + case 'm': + return s ? 'minuutin' : 'minuutti'; + case 'mm': + o = s ? 'minuutin' : 'minuuttia'; + break; + case 'h': + return s ? 'tunnin' : 'tunti'; + case 'hh': + o = s ? 'tunnin' : 'tuntia'; + break; + case 'd': + return s ? 'päivän' : 'päivä'; + case 'dd': + o = s ? 'päivän' : 'päivää'; + break; + case 'M': + return s ? 'kuukauden' : 'kuukausi'; + case 'MM': + o = s ? 'kuukauden' : 'kuukautta'; + break; + case 'y': + return s ? 'vuoden' : 'vuosi'; + case 'yy': + o = s ? 'vuoden' : 'vuotta'; + } + return ( + (function (e, n) { + return e < 10 ? (n ? i[e] : t[e]) : e; + })(e, s) + + ' ' + + o + ); + } + e.defineLocale('fi', { + months: 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split( + '_' + ), + monthsShort: 'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split( + '_' + ), + weekdays: 'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split( + '_' + ), + weekdaysShort: 'su_ma_ti_ke_to_pe_la'.split('_'), + weekdaysMin: 'su_ma_ti_ke_to_pe_la'.split('_'), + longDateFormat: { + LT: 'HH.mm', + LTS: 'HH.mm.ss', + L: 'DD.MM.YYYY', + LL: 'Do MMMM[ta] YYYY', + LLL: 'Do MMMM[ta] YYYY, [klo] HH.mm', + LLLL: 'dddd, Do MMMM[ta] YYYY, [klo] HH.mm', + l: 'D.M.YYYY', + ll: 'Do MMM YYYY', + lll: 'Do MMM YYYY, [klo] HH.mm', + llll: 'ddd, Do MMM YYYY, [klo] HH.mm', + }, + calendar: { + sameDay: '[tänään] [klo] LT', + nextDay: '[huomenna] [klo] LT', + nextWeek: 'dddd [klo] LT', + lastDay: '[eilen] [klo] LT', + lastWeek: '[viime] dddd[na] [klo] LT', + sameElse: 'L', + }, + relativeTime: { + future: '%s päästä', + past: '%s sitten', + s: n, + ss: n, + m: n, + mm: n, + h: n, + hh: n, + d: n, + dd: n, + M: n, + MM: n, + y: n, + yy: n, + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal: '%d.', + week: { dow: 1, doy: 4 }, + }); + })(i(30381)); + }, + 42549: function (e, t, i) { + !(function (e) { + 'use strict'; + e.defineLocale('fil', { + months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split( + '_' + ), + monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split( + '_' + ), + weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split( + '_' + ), + weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'), + weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'MM/D/YYYY', + LL: 'MMMM D, YYYY', + LLL: 'MMMM D, YYYY HH:mm', + LLLL: 'dddd, MMMM DD, YYYY HH:mm', + }, + calendar: { + sameDay: 'LT [ngayong araw]', + nextDay: '[Bukas ng] LT', + nextWeek: 'LT [sa susunod na] dddd', + lastDay: 'LT [kahapon]', + lastWeek: 'LT [noong nakaraang] dddd', + sameElse: 'L', + }, + relativeTime: { + future: 'sa loob ng %s', + past: '%s ang nakalipas', + s: 'ilang segundo', + ss: '%d segundo', + m: 'isang minuto', + mm: '%d minuto', + h: 'isang oras', + hh: '%d oras', + d: 'isang araw', + dd: '%d araw', + M: 'isang buwan', + MM: '%d buwan', + y: 'isang taon', + yy: '%d taon', + }, + dayOfMonthOrdinalParse: /\d{1,2}/, + ordinal: function (e) { + return e; + }, + week: { dow: 1, doy: 4 }, + }); + })(i(30381)); + }, + 94694: function (e, t, i) { + !(function (e) { + 'use strict'; + e.defineLocale('fo', { + months: 'januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember'.split( + '_' + ), + monthsShort: 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split( + '_' + ), + weekdays: 'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur'.split( + '_' + ), + weekdaysShort: 'sun_mán_týs_mik_hós_frí_ley'.split('_'), + weekdaysMin: 'su_má_tý_mi_hó_fr_le'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd D. MMMM, YYYY HH:mm', + }, + calendar: { + sameDay: '[Í dag kl.] LT', + nextDay: '[Í morgin kl.] LT', + nextWeek: 'dddd [kl.] LT', + lastDay: '[Í gjár kl.] LT', + lastWeek: '[síðstu] dddd [kl] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'um %s', + past: '%s síðani', + s: 'fá sekund', + ss: '%d sekundir', + m: 'ein minuttur', + mm: '%d minuttir', + h: 'ein tími', + hh: '%d tímar', + d: 'ein dagur', + dd: '%d dagar', + M: 'ein mánaður', + MM: '%d mánaðir', + y: 'eitt ár', + yy: '%d ár', + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal: '%d.', + week: { dow: 1, doy: 4 }, + }); + })(i(30381)); + }, + 63049: function (e, t, i) { + !(function (e) { + 'use strict'; + e.defineLocale('fr-ca', { + months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split( + '_' + ), + monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split( + '_' + ), + monthsParseExact: !0, + weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split( + '_' + ), + weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'), + weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'), + weekdaysParseExact: !0, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'YYYY-MM-DD', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd D MMMM YYYY HH:mm', + }, + calendar: { + sameDay: '[Aujourd’hui à] LT', + nextDay: '[Demain à] LT', + nextWeek: 'dddd [à] LT', + lastDay: '[Hier à] LT', + lastWeek: 'dddd [dernier à] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'dans %s', + past: 'il y a %s', + s: 'quelques secondes', + ss: '%d secondes', + m: 'une minute', + mm: '%d minutes', + h: 'une heure', + hh: '%d heures', + d: 'un jour', + dd: '%d jours', + M: 'un mois', + MM: '%d mois', + y: 'un an', + yy: '%d ans', + }, + dayOfMonthOrdinalParse: /\d{1,2}(er|e)/, + ordinal: function (e, t) { + switch (t) { + default: + case 'M': + case 'Q': + case 'D': + case 'DDD': + case 'd': + return e + (1 === e ? 'er' : 'e'); + case 'w': + case 'W': + return e + (1 === e ? 're' : 'e'); + } + }, + }); + })(i(30381)); + }, + 52330: function (e, t, i) { + !(function (e) { + 'use strict'; + e.defineLocale('fr-ch', { + months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split( + '_' + ), + monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split( + '_' + ), + monthsParseExact: !0, + weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split( + '_' + ), + weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'), + weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'), + weekdaysParseExact: !0, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD.MM.YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd D MMMM YYYY HH:mm', + }, + calendar: { + sameDay: '[Aujourd’hui à] LT', + nextDay: '[Demain à] LT', + nextWeek: 'dddd [à] LT', + lastDay: '[Hier à] LT', + lastWeek: 'dddd [dernier à] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'dans %s', + past: 'il y a %s', + s: 'quelques secondes', + ss: '%d secondes', + m: 'une minute', + mm: '%d minutes', + h: 'une heure', + hh: '%d heures', + d: 'un jour', + dd: '%d jours', + M: 'un mois', + MM: '%d mois', + y: 'un an', + yy: '%d ans', + }, + dayOfMonthOrdinalParse: /\d{1,2}(er|e)/, + ordinal: function (e, t) { + switch (t) { + default: + case 'M': + case 'Q': + case 'D': + case 'DDD': + case 'd': + return e + (1 === e ? 'er' : 'e'); + case 'w': + case 'W': + return e + (1 === e ? 're' : 'e'); + } + }, + week: { dow: 1, doy: 4 }, + }); + })(i(30381)); + }, + 94470: function (e, t, i) { + !(function (e) { + 'use strict'; + var t = /(janv\.?|févr\.?|mars|avr\.?|mai|juin|juil\.?|août|sept\.?|oct\.?|nov\.?|déc\.?|janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i, + i = [ + /^janv/i, + /^févr/i, + /^mars/i, + /^avr/i, + /^mai/i, + /^juin/i, + /^juil/i, + /^août/i, + /^sept/i, + /^oct/i, + /^nov/i, + /^déc/i, + ]; + e.defineLocale('fr', { + months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split( + '_' + ), + monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split( + '_' + ), + monthsRegex: t, + monthsShortRegex: t, + monthsStrictRegex: /^(janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i, + monthsShortStrictRegex: /(janv\.?|févr\.?|mars|avr\.?|mai|juin|juil\.?|août|sept\.?|oct\.?|nov\.?|déc\.?)/i, + monthsParse: i, + longMonthsParse: i, + shortMonthsParse: i, + weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split( + '_' + ), + weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'), + weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'), + weekdaysParseExact: !0, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd D MMMM YYYY HH:mm', + }, + calendar: { + sameDay: '[Aujourd’hui à] LT', + nextDay: '[Demain à] LT', + nextWeek: 'dddd [à] LT', + lastDay: '[Hier à] LT', + lastWeek: 'dddd [dernier à] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'dans %s', + past: 'il y a %s', + s: 'quelques secondes', + ss: '%d secondes', + m: 'une minute', + mm: '%d minutes', + h: 'une heure', + hh: '%d heures', + d: 'un jour', + dd: '%d jours', + w: 'une semaine', + ww: '%d semaines', + M: 'un mois', + MM: '%d mois', + y: 'un an', + yy: '%d ans', + }, + dayOfMonthOrdinalParse: /\d{1,2}(er|)/, + ordinal: function (e, t) { + switch (t) { + case 'D': + return e + (1 === e ? 'er' : ''); + default: + case 'M': + case 'Q': + case 'DDD': + case 'd': + return e + (1 === e ? 'er' : 'e'); + case 'w': + case 'W': + return e + (1 === e ? 're' : 'e'); + } + }, + week: { dow: 1, doy: 4 }, + }); + })(i(30381)); + }, + 5044: function (e, t, i) { + !(function (e) { + 'use strict'; + var t = 'jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.'.split( + '_' + ), + i = 'jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'); + e.defineLocale('fy', { + months: 'jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber'.split( + '_' + ), + monthsShort: function (e, n) { + return e ? (/-MMM-/.test(n) ? i[e.month()] : t[e.month()]) : t; + }, + monthsParseExact: !0, + weekdays: 'snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon'.split( + '_' + ), + weekdaysShort: 'si._mo._ti._wo._to._fr._so.'.split('_'), + weekdaysMin: 'Si_Mo_Ti_Wo_To_Fr_So'.split('_'), + weekdaysParseExact: !0, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD-MM-YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd D MMMM YYYY HH:mm', + }, + calendar: { + sameDay: '[hjoed om] LT', + nextDay: '[moarn om] LT', + nextWeek: 'dddd [om] LT', + lastDay: '[juster om] LT', + lastWeek: '[ôfrûne] dddd [om] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'oer %s', + past: '%s lyn', + s: 'in pear sekonden', + ss: '%d sekonden', + m: 'ien minút', + mm: '%d minuten', + h: 'ien oere', + hh: '%d oeren', + d: 'ien dei', + dd: '%d dagen', + M: 'ien moanne', + MM: '%d moannen', + y: 'ien jier', + yy: '%d jierren', + }, + dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/, + ordinal: function (e) { + return e + (1 === e || 8 === e || e >= 20 ? 'ste' : 'de'); + }, + week: { dow: 1, doy: 4 }, + }); + })(i(30381)); + }, + 29295: function (e, t, i) { + !(function (e) { + 'use strict'; + e.defineLocale('ga', { + months: [ + 'Eanáir', + 'Feabhra', + 'Márta', + 'Aibreán', + 'Bealtaine', + 'Meitheamh', + 'Iúil', + 'Lúnasa', + 'Meán Fómhair', + 'Deireadh Fómhair', + 'Samhain', + 'Nollaig', + ], + monthsShort: [ + 'Ean', + 'Feabh', + 'Márt', + 'Aib', + 'Beal', + 'Meith', + 'Iúil', + 'Lún', + 'M.F.', + 'D.F.', + 'Samh', + 'Noll', + ], + monthsParseExact: !0, + weekdays: [ + 'Dé Domhnaigh', + 'Dé Luain', + 'Dé Máirt', + 'Dé Céadaoin', + 'Déardaoin', + 'Dé hAoine', + 'Dé Sathairn', + ], + weekdaysShort: [ + 'Domh', + 'Luan', + 'Máirt', + 'Céad', + 'Déar', + 'Aoine', + 'Sath', + ], + weekdaysMin: ['Do', 'Lu', 'Má', 'Cé', 'Dé', 'A', 'Sa'], + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd, D MMMM YYYY HH:mm', + }, + calendar: { + sameDay: '[Inniu ag] LT', + nextDay: '[Amárach ag] LT', + nextWeek: 'dddd [ag] LT', + lastDay: '[Inné ag] LT', + lastWeek: 'dddd [seo caite] [ag] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'i %s', + past: '%s ó shin', + s: 'cúpla soicind', + ss: '%d soicind', + m: 'nóiméad', + mm: '%d nóiméad', + h: 'uair an chloig', + hh: '%d uair an chloig', + d: 'lá', + dd: '%d lá', + M: 'mí', + MM: '%d míonna', + y: 'bliain', + yy: '%d bliain', + }, + dayOfMonthOrdinalParse: /\d{1,2}(d|na|mh)/, + ordinal: function (e) { + return e + (1 === e ? 'd' : e % 10 == 2 ? 'na' : 'mh'); + }, + week: { dow: 1, doy: 4 }, + }); + })(i(30381)); + }, + 2101: function (e, t, i) { + !(function (e) { + 'use strict'; + e.defineLocale('gd', { + months: [ + 'Am Faoilleach', + 'An Gearran', + 'Am Màrt', + 'An Giblean', + 'An Cèitean', + 'An t-Ògmhios', + 'An t-Iuchar', + 'An Lùnastal', + 'An t-Sultain', + 'An Dàmhair', + 'An t-Samhain', + 'An Dùbhlachd', + ], + monthsShort: [ + 'Faoi', + 'Gear', + 'Màrt', + 'Gibl', + 'Cèit', + 'Ògmh', + 'Iuch', + 'Lùn', + 'Sult', + 'Dàmh', + 'Samh', + 'Dùbh', + ], + monthsParseExact: !0, + weekdays: [ + 'Didòmhnaich', + 'Diluain', + 'Dimàirt', + 'Diciadain', + 'Diardaoin', + 'Dihaoine', + 'Disathairne', + ], + weekdaysShort: ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis'], + weekdaysMin: ['Dò', 'Lu', 'Mà', 'Ci', 'Ar', 'Ha', 'Sa'], + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd, D MMMM YYYY HH:mm', + }, + calendar: { + sameDay: '[An-diugh aig] LT', + nextDay: '[A-màireach aig] LT', + nextWeek: 'dddd [aig] LT', + lastDay: '[An-dè aig] LT', + lastWeek: 'dddd [seo chaidh] [aig] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'ann an %s', + past: 'bho chionn %s', + s: 'beagan diogan', + ss: '%d diogan', + m: 'mionaid', + mm: '%d mionaidean', + h: 'uair', + hh: '%d uairean', + d: 'latha', + dd: '%d latha', + M: 'mìos', + MM: '%d mìosan', + y: 'bliadhna', + yy: '%d bliadhna', + }, + dayOfMonthOrdinalParse: /\d{1,2}(d|na|mh)/, + ordinal: function (e) { + return e + (1 === e ? 'd' : e % 10 == 2 ? 'na' : 'mh'); + }, + week: { dow: 1, doy: 4 }, + }); + })(i(30381)); + }, + 38794: function (e, t, i) { + !(function (e) { + 'use strict'; + e.defineLocale('gl', { + months: 'xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro'.split( + '_' + ), + monthsShort: 'xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.'.split( + '_' + ), + monthsParseExact: !0, + weekdays: 'domingo_luns_martes_mércores_xoves_venres_sábado'.split( + '_' + ), + weekdaysShort: 'dom._lun._mar._mér._xov._ven._sáb.'.split('_'), + weekdaysMin: 'do_lu_ma_mé_xo_ve_sá'.split('_'), + weekdaysParseExact: !0, + longDateFormat: { + LT: 'H:mm', + LTS: 'H:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D [de] MMMM [de] YYYY', + LLL: 'D [de] MMMM [de] YYYY H:mm', + LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm', + }, + calendar: { + sameDay: function () { + return '[hoxe ' + (1 !== this.hours() ? 'ás' : 'á') + '] LT'; + }, + nextDay: function () { + return '[mañá ' + (1 !== this.hours() ? 'ás' : 'á') + '] LT'; + }, + nextWeek: function () { + return 'dddd [' + (1 !== this.hours() ? 'ás' : 'a') + '] LT'; + }, + lastDay: function () { + return '[onte ' + (1 !== this.hours() ? 'á' : 'a') + '] LT'; + }, + lastWeek: function () { + return ( + '[o] dddd [pasado ' + + (1 !== this.hours() ? 'ás' : 'a') + + '] LT' + ); + }, + sameElse: 'L', + }, + relativeTime: { + future: function (e) { + return 0 === e.indexOf('un') ? 'n' + e : 'en ' + e; + }, + past: 'hai %s', + s: 'uns segundos', + ss: '%d segundos', + m: 'un minuto', + mm: '%d minutos', + h: 'unha hora', + hh: '%d horas', + d: 'un día', + dd: '%d días', + M: 'un mes', + MM: '%d meses', + y: 'un ano', + yy: '%d anos', + }, + dayOfMonthOrdinalParse: /\d{1,2}º/, + ordinal: '%dº', + week: { dow: 1, doy: 4 }, + }); + })(i(30381)); + }, + 27884: function (e, t, i) { + !(function (e) { + 'use strict'; + function t(e, t, i, n) { + var r = { + s: ['थोडया सॅकंडांनी', 'थोडे सॅकंड'], + ss: [e + ' सॅकंडांनी', e + ' सॅकंड'], + m: ['एका मिणटान', 'एक मिनूट'], + mm: [e + ' मिणटांनी', e + ' मिणटां'], + h: ['एका वरान', 'एक वर'], + hh: [e + ' वरांनी', e + ' वरां'], + d: ['एका दिसान', 'एक दीस'], + dd: [e + ' दिसांनी', e + ' दीस'], + M: ['एका म्हयन्यान', 'एक म्हयनो'], + MM: [e + ' म्हयन्यानी', e + ' म्हयने'], + y: ['एका वर्सान', 'एक वर्स'], + yy: [e + ' वर्सांनी', e + ' वर्सां'], + }; + return n ? r[i][0] : r[i][1]; + } + e.defineLocale('gom-deva', { + months: { + standalone: 'जानेवारी_फेब्रुवारी_मार्च_एप्रील_मे_जून_जुलय_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split( + '_' + ), + format: 'जानेवारीच्या_फेब्रुवारीच्या_मार्चाच्या_एप्रीलाच्या_मेयाच्या_जूनाच्या_जुलयाच्या_ऑगस्टाच्या_सप्टेंबराच्या_ऑक्टोबराच्या_नोव्हेंबराच्या_डिसेंबराच्या'.split( + '_' + ), + isFormat: /MMMM(\s)+D[oD]?/, + }, + monthsShort: 'जाने._फेब्रु._मार्च_एप्री._मे_जून_जुल._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split( + '_' + ), + monthsParseExact: !0, + weekdays: 'आयतार_सोमार_मंगळार_बुधवार_बिरेस्तार_सुक्रार_शेनवार'.split( + '_' + ), + weekdaysShort: 'आयत._सोम._मंगळ._बुध._ब्रेस्त._सुक्र._शेन.'.split( + '_' + ), + weekdaysMin: 'आ_सो_मं_बु_ब्रे_सु_शे'.split('_'), + weekdaysParseExact: !0, + longDateFormat: { + LT: 'A h:mm [वाजतां]', + LTS: 'A h:mm:ss [वाजतां]', + L: 'DD-MM-YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY A h:mm [वाजतां]', + LLLL: 'dddd, MMMM Do, YYYY, A h:mm [वाजतां]', + llll: 'ddd, D MMM YYYY, A h:mm [वाजतां]', + }, + calendar: { + sameDay: '[आयज] LT', + nextDay: '[फाल्यां] LT', + nextWeek: '[फुडलो] dddd[,] LT', + lastDay: '[काल] LT', + lastWeek: '[फाटलो] dddd[,] LT', + sameElse: 'L', + }, + relativeTime: { + future: '%s', + past: '%s आदीं', + s: t, + ss: t, + m: t, + mm: t, + h: t, + hh: t, + d: t, + dd: t, + M: t, + MM: t, + y: t, + yy: t, + }, + dayOfMonthOrdinalParse: /\d{1,2}(वेर)/, + ordinal: function (e, t) { + switch (t) { + case 'D': + return e + 'वेर'; + default: + case 'M': + case 'Q': + case 'DDD': + case 'd': + case 'w': + case 'W': + return e; + } + }, + week: { dow: 0, doy: 3 }, + meridiemParse: /राती|सकाळीं|दनपारां|सांजे/, + meridiemHour: function (e, t) { + return ( + 12 === e && (e = 0), + 'राती' === t + ? e < 4 + ? e + : e + 12 + : 'सकाळीं' === t + ? e + : 'दनपारां' === t + ? e > 12 + ? e + : e + 12 + : 'सांजे' === t + ? e + 12 + : void 0 + ); + }, + meridiem: function (e, t, i) { + return e < 4 + ? 'राती' + : e < 12 + ? 'सकाळीं' + : e < 16 + ? 'दनपारां' + : e < 20 + ? 'सांजे' + : 'राती'; + }, + }); + })(i(30381)); + }, + 23168: function (e, t, i) { + !(function (e) { + 'use strict'; + function t(e, t, i, n) { + var r = { + s: ['thoddea sekondamni', 'thodde sekond'], + ss: [e + ' sekondamni', e + ' sekond'], + m: ['eka mintan', 'ek minut'], + mm: [e + ' mintamni', e + ' mintam'], + h: ['eka voran', 'ek vor'], + hh: [e + ' voramni', e + ' voram'], + d: ['eka disan', 'ek dis'], + dd: [e + ' disamni', e + ' dis'], + M: ['eka mhoinean', 'ek mhoino'], + MM: [e + ' mhoineamni', e + ' mhoine'], + y: ['eka vorsan', 'ek voros'], + yy: [e + ' vorsamni', e + ' vorsam'], + }; + return n ? r[i][0] : r[i][1]; + } + e.defineLocale('gom-latn', { + months: { + standalone: 'Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr'.split( + '_' + ), + format: 'Janerachea_Febrerachea_Marsachea_Abrilachea_Maiachea_Junachea_Julaiachea_Agostachea_Setembrachea_Otubrachea_Novembrachea_Dezembrachea'.split( + '_' + ), + isFormat: /MMMM(\s)+D[oD]?/, + }, + monthsShort: 'Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.'.split( + '_' + ), + monthsParseExact: !0, + weekdays: "Aitar_Somar_Mongllar_Budhvar_Birestar_Sukrar_Son'var".split( + '_' + ), + weekdaysShort: 'Ait._Som._Mon._Bud._Bre._Suk._Son.'.split('_'), + weekdaysMin: 'Ai_Sm_Mo_Bu_Br_Su_Sn'.split('_'), + weekdaysParseExact: !0, + longDateFormat: { + LT: 'A h:mm [vazta]', + LTS: 'A h:mm:ss [vazta]', + L: 'DD-MM-YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY A h:mm [vazta]', + LLLL: 'dddd, MMMM Do, YYYY, A h:mm [vazta]', + llll: 'ddd, D MMM YYYY, A h:mm [vazta]', + }, + calendar: { + sameDay: '[Aiz] LT', + nextDay: '[Faleam] LT', + nextWeek: '[Fuddlo] dddd[,] LT', + lastDay: '[Kal] LT', + lastWeek: '[Fattlo] dddd[,] LT', + sameElse: 'L', + }, + relativeTime: { + future: '%s', + past: '%s adim', + s: t, + ss: t, + m: t, + mm: t, + h: t, + hh: t, + d: t, + dd: t, + M: t, + MM: t, + y: t, + yy: t, + }, + dayOfMonthOrdinalParse: /\d{1,2}(er)/, + ordinal: function (e, t) { + switch (t) { + case 'D': + return e + 'er'; + default: + case 'M': + case 'Q': + case 'DDD': + case 'd': + case 'w': + case 'W': + return e; + } + }, + week: { dow: 0, doy: 3 }, + meridiemParse: /rati|sokallim|donparam|sanje/, + meridiemHour: function (e, t) { + return ( + 12 === e && (e = 0), + 'rati' === t + ? e < 4 + ? e + : e + 12 + : 'sokallim' === t + ? e + : 'donparam' === t + ? e > 12 + ? e + : e + 12 + : 'sanje' === t + ? e + 12 + : void 0 + ); + }, + meridiem: function (e, t, i) { + return e < 4 + ? 'rati' + : e < 12 + ? 'sokallim' + : e < 16 + ? 'donparam' + : e < 20 + ? 'sanje' + : 'rati'; + }, + }); + })(i(30381)); + }, + 95349: function (e, t, i) { + !(function (e) { + 'use strict'; + var t = { + 1: '૧', + 2: '૨', + 3: '૩', + 4: '૪', + 5: '૫', + 6: '૬', + 7: '૭', + 8: '૮', + 9: '૯', + 0: '૦', + }, + i = { + '૧': '1', + '૨': '2', + '૩': '3', + '૪': '4', + '૫': '5', + '૬': '6', + '૭': '7', + '૮': '8', + '૯': '9', + '૦': '0', + }; + e.defineLocale('gu', { + months: 'જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર'.split( + '_' + ), + monthsShort: 'જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.'.split( + '_' + ), + monthsParseExact: !0, + weekdays: 'રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર'.split( + '_' + ), + weekdaysShort: 'રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ'.split('_'), + weekdaysMin: 'ર_સો_મં_બુ_ગુ_શુ_શ'.split('_'), + longDateFormat: { + LT: 'A h:mm વાગ્યે', + LTS: 'A h:mm:ss વાગ્યે', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY, A h:mm વાગ્યે', + LLLL: 'dddd, D MMMM YYYY, A h:mm વાગ્યે', + }, + calendar: { + sameDay: '[આજ] LT', + nextDay: '[કાલે] LT', + nextWeek: 'dddd, LT', + lastDay: '[ગઇકાલે] LT', + lastWeek: '[પાછલા] dddd, LT', + sameElse: 'L', + }, + relativeTime: { + future: '%s મા', + past: '%s પહેલા', + s: 'અમુક પળો', + ss: '%d સેકંડ', + m: 'એક મિનિટ', + mm: '%d મિનિટ', + h: 'એક કલાક', + hh: '%d કલાક', + d: 'એક દિવસ', + dd: '%d દિવસ', + M: 'એક મહિનો', + MM: '%d મહિનો', + y: 'એક વર્ષ', + yy: '%d વર્ષ', + }, + preparse: function (e) { + return e.replace(/[૧૨૩૪૫૬૭૮૯૦]/g, function (e) { + return i[e]; + }); + }, + postformat: function (e) { + return e.replace(/\d/g, function (e) { + return t[e]; + }); + }, + meridiemParse: /રાત|બપોર|સવાર|સાંજ/, + meridiemHour: function (e, t) { + return ( + 12 === e && (e = 0), + 'રાત' === t + ? e < 4 + ? e + : e + 12 + : 'સવાર' === t + ? e + : 'બપોર' === t + ? e >= 10 + ? e + : e + 12 + : 'સાંજ' === t + ? e + 12 + : void 0 + ); + }, + meridiem: function (e, t, i) { + return e < 4 + ? 'રાત' + : e < 10 + ? 'સવાર' + : e < 17 + ? 'બપોર' + : e < 20 + ? 'સાંજ' + : 'રાત'; + }, + week: { dow: 0, doy: 6 }, + }); + })(i(30381)); + }, + 24206: function (e, t, i) { + !(function (e) { + 'use strict'; + e.defineLocale('he', { + months: 'ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר'.split( + '_' + ), + monthsShort: 'ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳'.split( + '_' + ), + weekdays: 'ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת'.split('_'), + weekdaysShort: 'א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳'.split('_'), + weekdaysMin: 'א_ב_ג_ד_ה_ו_ש'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D [ב]MMMM YYYY', + LLL: 'D [ב]MMMM YYYY HH:mm', + LLLL: 'dddd, D [ב]MMMM YYYY HH:mm', + l: 'D/M/YYYY', + ll: 'D MMM YYYY', + lll: 'D MMM YYYY HH:mm', + llll: 'ddd, D MMM YYYY HH:mm', + }, + calendar: { + sameDay: '[היום ב־]LT', + nextDay: '[מחר ב־]LT', + nextWeek: 'dddd [בשעה] LT', + lastDay: '[אתמול ב־]LT', + lastWeek: '[ביום] dddd [האחרון בשעה] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'בעוד %s', + past: 'לפני %s', + s: 'מספר שניות', + ss: '%d שניות', + m: 'דקה', + mm: '%d דקות', + h: 'שעה', + hh: function (e) { + return 2 === e ? 'שעתיים' : e + ' שעות'; + }, + d: 'יום', + dd: function (e) { + return 2 === e ? 'יומיים' : e + ' ימים'; + }, + M: 'חודש', + MM: function (e) { + return 2 === e ? 'חודשיים' : e + ' חודשים'; + }, + y: 'שנה', + yy: function (e) { + return 2 === e + ? 'שנתיים' + : e % 10 == 0 && 10 !== e + ? e + ' שנה' + : e + ' שנים'; + }, + }, + meridiemParse: /אחה"צ|לפנה"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i, + isPM: function (e) { + return /^(אחה"צ|אחרי הצהריים|בערב)$/.test(e); + }, + meridiem: function (e, t, i) { + return e < 5 + ? 'לפנות בוקר' + : e < 10 + ? 'בבוקר' + : e < 12 + ? i + ? 'לפנה"צ' + : 'לפני הצהריים' + : e < 18 + ? i + ? 'אחה"צ' + : 'אחרי הצהריים' + : 'בערב'; + }, + }); + })(i(30381)); + }, + 30094: function (e, t, i) { + !(function (e) { + 'use strict'; + var t = { + 1: '१', + 2: '२', + 3: '३', + 4: '४', + 5: '५', + 6: '६', + 7: '७', + 8: '८', + 9: '९', + 0: '०', + }, + i = { + '१': '1', + '२': '2', + '३': '3', + '४': '4', + '५': '5', + '६': '6', + '७': '7', + '८': '8', + '९': '9', + '०': '0', + }, + n = [ + /^जन/i, + /^फ़र|फर/i, + /^मार्च/i, + /^अप्रै/i, + /^मई/i, + /^जून/i, + /^जुल/i, + /^अग/i, + /^सितं|सित/i, + /^अक्टू/i, + /^नव|नवं/i, + /^दिसं|दिस/i, + ]; + e.defineLocale('hi', { + months: { + format: 'जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर'.split( + '_' + ), + standalone: 'जनवरी_फरवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितंबर_अक्टूबर_नवंबर_दिसंबर'.split( + '_' + ), + }, + monthsShort: 'जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.'.split( + '_' + ), + weekdays: 'रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split( + '_' + ), + weekdaysShort: 'रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि'.split('_'), + weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'), + longDateFormat: { + LT: 'A h:mm बजे', + LTS: 'A h:mm:ss बजे', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY, A h:mm बजे', + LLLL: 'dddd, D MMMM YYYY, A h:mm बजे', + }, + monthsParse: n, + longMonthsParse: n, + shortMonthsParse: [ + /^जन/i, + /^फ़र/i, + /^मार्च/i, + /^अप्रै/i, + /^मई/i, + /^जून/i, + /^जुल/i, + /^अग/i, + /^सित/i, + /^अक्टू/i, + /^नव/i, + /^दिस/i, + ], + monthsRegex: /^(जनवरी|जन\.?|फ़रवरी|फरवरी|फ़र\.?|मार्च?|अप्रैल|अप्रै\.?|मई?|जून?|जुलाई|जुल\.?|अगस्त|अग\.?|सितम्बर|सितंबर|सित\.?|अक्टूबर|अक्टू\.?|नवम्बर|नवंबर|नव\.?|दिसम्बर|दिसंबर|दिस\.?)/i, + monthsShortRegex: /^(जनवरी|जन\.?|फ़रवरी|फरवरी|फ़र\.?|मार्च?|अप्रैल|अप्रै\.?|मई?|जून?|जुलाई|जुल\.?|अगस्त|अग\.?|सितम्बर|सितंबर|सित\.?|अक्टूबर|अक्टू\.?|नवम्बर|नवंबर|नव\.?|दिसम्बर|दिसंबर|दिस\.?)/i, + monthsStrictRegex: /^(जनवरी?|फ़रवरी|फरवरी?|मार्च?|अप्रैल?|मई?|जून?|जुलाई?|अगस्त?|सितम्बर|सितंबर|सित?\.?|अक्टूबर|अक्टू\.?|नवम्बर|नवंबर?|दिसम्बर|दिसंबर?)/i, + monthsShortStrictRegex: /^(जन\.?|फ़र\.?|मार्च?|अप्रै\.?|मई?|जून?|जुल\.?|अग\.?|सित\.?|अक्टू\.?|नव\.?|दिस\.?)/i, + calendar: { + sameDay: '[आज] LT', + nextDay: '[कल] LT', + nextWeek: 'dddd, LT', + lastDay: '[कल] LT', + lastWeek: '[पिछले] dddd, LT', + sameElse: 'L', + }, + relativeTime: { + future: '%s में', + past: '%s पहले', + s: 'कुछ ही क्षण', + ss: '%d सेकंड', + m: 'एक मिनट', + mm: '%d मिनट', + h: 'एक घंटा', + hh: '%d घंटे', + d: 'एक दिन', + dd: '%d दिन', + M: 'एक महीने', + MM: '%d महीने', + y: 'एक वर्ष', + yy: '%d वर्ष', + }, + preparse: function (e) { + return e.replace(/[१२३४५६७८९०]/g, function (e) { + return i[e]; + }); + }, + postformat: function (e) { + return e.replace(/\d/g, function (e) { + return t[e]; + }); + }, + meridiemParse: /रात|सुबह|दोपहर|शाम/, + meridiemHour: function (e, t) { + return ( + 12 === e && (e = 0), + 'रात' === t + ? e < 4 + ? e + : e + 12 + : 'सुबह' === t + ? e + : 'दोपहर' === t + ? e >= 10 + ? e + : e + 12 + : 'शाम' === t + ? e + 12 + : void 0 + ); + }, + meridiem: function (e, t, i) { + return e < 4 + ? 'रात' + : e < 10 + ? 'सुबह' + : e < 17 + ? 'दोपहर' + : e < 20 + ? 'शाम' + : 'रात'; + }, + week: { dow: 0, doy: 6 }, + }); + })(i(30381)); + }, + 30316: function (e, t, i) { + !(function (e) { + 'use strict'; + function t(e, t, i) { + var n = e + ' '; + switch (i) { + case 'ss': + return ( + n + + (1 === e + ? 'sekunda' + : 2 === e || 3 === e || 4 === e + ? 'sekunde' + : 'sekundi') + ); + case 'm': + return t ? 'jedna minuta' : 'jedne minute'; + case 'mm': + return ( + n + + (1 === e + ? 'minuta' + : 2 === e || 3 === e || 4 === e + ? 'minute' + : 'minuta') + ); + case 'h': + return t ? 'jedan sat' : 'jednog sata'; + case 'hh': + return ( + n + + (1 === e + ? 'sat' + : 2 === e || 3 === e || 4 === e + ? 'sata' + : 'sati') + ); + case 'dd': + return n + (1 === e ? 'dan' : 'dana'); + case 'MM': + return ( + n + + (1 === e + ? 'mjesec' + : 2 === e || 3 === e || 4 === e + ? 'mjeseca' + : 'mjeseci') + ); + case 'yy': + return ( + n + + (1 === e + ? 'godina' + : 2 === e || 3 === e || 4 === e + ? 'godine' + : 'godina') + ); + } + } + e.defineLocale('hr', { + months: { + format: 'siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split( + '_' + ), + standalone: 'siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split( + '_' + ), + }, + monthsShort: 'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split( + '_' + ), + monthsParseExact: !0, + weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split( + '_' + ), + weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'), + weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'), + weekdaysParseExact: !0, + longDateFormat: { + LT: 'H:mm', + LTS: 'H:mm:ss', + L: 'DD.MM.YYYY', + LL: 'Do MMMM YYYY', + LLL: 'Do MMMM YYYY H:mm', + LLLL: 'dddd, Do MMMM YYYY H:mm', + }, + calendar: { + sameDay: '[danas u] LT', + nextDay: '[sutra u] LT', + nextWeek: function () { + switch (this.day()) { + case 0: + return '[u] [nedjelju] [u] LT'; + case 3: + return '[u] [srijedu] [u] LT'; + case 6: + return '[u] [subotu] [u] LT'; + case 1: + case 2: + case 4: + case 5: + return '[u] dddd [u] LT'; + } + }, + lastDay: '[jučer u] LT', + lastWeek: function () { + switch (this.day()) { + case 0: + return '[prošlu] [nedjelju] [u] LT'; + case 3: + return '[prošlu] [srijedu] [u] LT'; + case 6: + return '[prošle] [subote] [u] LT'; + case 1: + case 2: + case 4: + case 5: + return '[prošli] dddd [u] LT'; + } + }, + sameElse: 'L', + }, + relativeTime: { + future: 'za %s', + past: 'prije %s', + s: 'par sekundi', + ss: t, + m: t, + mm: t, + h: t, + hh: t, + d: 'dan', + dd: t, + M: 'mjesec', + MM: t, + y: 'godinu', + yy: t, + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal: '%d.', + week: { dow: 1, doy: 7 }, + }); + })(i(30381)); + }, + 22138: function (e, t, i) { + !(function (e) { + 'use strict'; + var t = 'vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton'.split( + ' ' + ); + function i(e, t, i, n) { + var r = e; + switch (i) { + case 's': + return n || t ? 'néhány másodperc' : 'néhány másodperce'; + case 'ss': + return r + (n || t) ? ' másodperc' : ' másodperce'; + case 'm': + return 'egy' + (n || t ? ' perc' : ' perce'); + case 'mm': + return r + (n || t ? ' perc' : ' perce'); + case 'h': + return 'egy' + (n || t ? ' óra' : ' órája'); + case 'hh': + return r + (n || t ? ' óra' : ' órája'); + case 'd': + return 'egy' + (n || t ? ' nap' : ' napja'); + case 'dd': + return r + (n || t ? ' nap' : ' napja'); + case 'M': + return 'egy' + (n || t ? ' hónap' : ' hónapja'); + case 'MM': + return r + (n || t ? ' hónap' : ' hónapja'); + case 'y': + return 'egy' + (n || t ? ' év' : ' éve'); + case 'yy': + return r + (n || t ? ' év' : ' éve'); + } + return ''; + } + function n(e) { + return (e ? '' : '[múlt] ') + '[' + t[this.day()] + '] LT[-kor]'; + } + e.defineLocale('hu', { + months: 'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split( + '_' + ), + monthsShort: 'jan._feb._márc._ápr._máj._jún._júl._aug._szept._okt._nov._dec.'.split( + '_' + ), + monthsParseExact: !0, + weekdays: 'vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat'.split( + '_' + ), + weekdaysShort: 'vas_hét_kedd_sze_csüt_pén_szo'.split('_'), + weekdaysMin: 'v_h_k_sze_cs_p_szo'.split('_'), + longDateFormat: { + LT: 'H:mm', + LTS: 'H:mm:ss', + L: 'YYYY.MM.DD.', + LL: 'YYYY. MMMM D.', + LLL: 'YYYY. MMMM D. H:mm', + LLLL: 'YYYY. MMMM D., dddd H:mm', + }, + meridiemParse: /de|du/i, + isPM: function (e) { + return 'u' === e.charAt(1).toLowerCase(); + }, + meridiem: function (e, t, i) { + return e < 12 ? (!0 === i ? 'de' : 'DE') : !0 === i ? 'du' : 'DU'; + }, + calendar: { + sameDay: '[ma] LT[-kor]', + nextDay: '[holnap] LT[-kor]', + nextWeek: function () { + return n.call(this, !0); + }, + lastDay: '[tegnap] LT[-kor]', + lastWeek: function () { + return n.call(this, !1); + }, + sameElse: 'L', + }, + relativeTime: { + future: '%s múlva', + past: '%s', + s: i, + ss: i, + m: i, + mm: i, + h: i, + hh: i, + d: i, + dd: i, + M: i, + MM: i, + y: i, + yy: i, + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal: '%d.', + week: { dow: 1, doy: 4 }, + }); + })(i(30381)); + }, + 11423: function (e, t, i) { + !(function (e) { + 'use strict'; + e.defineLocale('hy-am', { + months: { + format: 'հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի'.split( + '_' + ), + standalone: 'հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր'.split( + '_' + ), + }, + monthsShort: 'հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ'.split( + '_' + ), + weekdays: 'կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ'.split( + '_' + ), + weekdaysShort: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'), + weekdaysMin: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD.MM.YYYY', + LL: 'D MMMM YYYY թ.', + LLL: 'D MMMM YYYY թ., HH:mm', + LLLL: 'dddd, D MMMM YYYY թ., HH:mm', + }, + calendar: { + sameDay: '[այսօր] LT', + nextDay: '[վաղը] LT', + lastDay: '[երեկ] LT', + nextWeek: function () { + return 'dddd [օրը ժամը] LT'; + }, + lastWeek: function () { + return '[անցած] dddd [օրը ժամը] LT'; + }, + sameElse: 'L', + }, + relativeTime: { + future: '%s հետո', + past: '%s առաջ', + s: 'մի քանի վայրկյան', + ss: '%d վայրկյան', + m: 'րոպե', + mm: '%d րոպե', + h: 'ժամ', + hh: '%d ժամ', + d: 'օր', + dd: '%d օր', + M: 'ամիս', + MM: '%d ամիս', + y: 'տարի', + yy: '%d տարի', + }, + meridiemParse: /գիշերվա|առավոտվա|ցերեկվա|երեկոյան/, + isPM: function (e) { + return /^(ցերեկվա|երեկոյան)$/.test(e); + }, + meridiem: function (e) { + return e < 4 + ? 'գիշերվա' + : e < 12 + ? 'առավոտվա' + : e < 17 + ? 'ցերեկվա' + : 'երեկոյան'; + }, + dayOfMonthOrdinalParse: /\d{1,2}|\d{1,2}-(ին|րդ)/, + ordinal: function (e, t) { + switch (t) { + case 'DDD': + case 'w': + case 'W': + case 'DDDo': + return 1 === e ? e + '-ին' : e + '-րդ'; + default: + return e; + } + }, + week: { dow: 1, doy: 7 }, + }); + })(i(30381)); + }, + 29218: function (e, t, i) { + !(function (e) { + 'use strict'; + e.defineLocale('id', { + months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split( + '_' + ), + monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des'.split( + '_' + ), + weekdays: 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'), + weekdaysShort: 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'), + weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'), + longDateFormat: { + LT: 'HH.mm', + LTS: 'HH.mm.ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY [pukul] HH.mm', + LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm', + }, + meridiemParse: /pagi|siang|sore|malam/, + meridiemHour: function (e, t) { + return ( + 12 === e && (e = 0), + 'pagi' === t + ? e + : 'siang' === t + ? e >= 11 + ? e + : e + 12 + : 'sore' === t || 'malam' === t + ? e + 12 + : void 0 + ); + }, + meridiem: function (e, t, i) { + return e < 11 + ? 'pagi' + : e < 15 + ? 'siang' + : e < 19 + ? 'sore' + : 'malam'; + }, + calendar: { + sameDay: '[Hari ini pukul] LT', + nextDay: '[Besok pukul] LT', + nextWeek: 'dddd [pukul] LT', + lastDay: '[Kemarin pukul] LT', + lastWeek: 'dddd [lalu pukul] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'dalam %s', + past: '%s yang lalu', + s: 'beberapa detik', + ss: '%d detik', + m: 'semenit', + mm: '%d menit', + h: 'sejam', + hh: '%d jam', + d: 'sehari', + dd: '%d hari', + M: 'sebulan', + MM: '%d bulan', + y: 'setahun', + yy: '%d tahun', + }, + week: { dow: 0, doy: 6 }, + }); + })(i(30381)); + }, + 90135: function (e, t, i) { + !(function (e) { + 'use strict'; + function t(e) { + return e % 100 == 11 || e % 10 != 1; + } + function i(e, i, n, r) { + var s = e + ' '; + switch (n) { + case 's': + return i || r ? 'nokkrar sekúndur' : 'nokkrum sekúndum'; + case 'ss': + return t(e) + ? s + (i || r ? 'sekúndur' : 'sekúndum') + : s + 'sekúnda'; + case 'm': + return i ? 'mínúta' : 'mínútu'; + case 'mm': + return t(e) + ? s + (i || r ? 'mínútur' : 'mínútum') + : i + ? s + 'mínúta' + : s + 'mínútu'; + case 'hh': + return t(e) + ? s + (i || r ? 'klukkustundir' : 'klukkustundum') + : s + 'klukkustund'; + case 'd': + return i ? 'dagur' : r ? 'dag' : 'degi'; + case 'dd': + return t(e) + ? i + ? s + 'dagar' + : s + (r ? 'daga' : 'dögum') + : i + ? s + 'dagur' + : s + (r ? 'dag' : 'degi'); + case 'M': + return i ? 'mánuður' : r ? 'mánuð' : 'mánuði'; + case 'MM': + return t(e) + ? i + ? s + 'mánuðir' + : s + (r ? 'mánuði' : 'mánuðum') + : i + ? s + 'mánuður' + : s + (r ? 'mánuð' : 'mánuði'); + case 'y': + return i || r ? 'ár' : 'ári'; + case 'yy': + return t(e) + ? s + (i || r ? 'ár' : 'árum') + : s + (i || r ? 'ár' : 'ári'); + } + } + e.defineLocale('is', { + months: 'janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember'.split( + '_' + ), + monthsShort: 'jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des'.split( + '_' + ), + weekdays: 'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split( + '_' + ), + weekdaysShort: 'sun_mán_þri_mið_fim_fös_lau'.split('_'), + weekdaysMin: 'Su_Má_Þr_Mi_Fi_Fö_La'.split('_'), + longDateFormat: { + LT: 'H:mm', + LTS: 'H:mm:ss', + L: 'DD.MM.YYYY', + LL: 'D. MMMM YYYY', + LLL: 'D. MMMM YYYY [kl.] H:mm', + LLLL: 'dddd, D. MMMM YYYY [kl.] H:mm', + }, + calendar: { + sameDay: '[í dag kl.] LT', + nextDay: '[á morgun kl.] LT', + nextWeek: 'dddd [kl.] LT', + lastDay: '[í gær kl.] LT', + lastWeek: '[síðasta] dddd [kl.] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'eftir %s', + past: 'fyrir %s síðan', + s: i, + ss: i, + m: i, + mm: i, + h: 'klukkustund', + hh: i, + d: i, + dd: i, + M: i, + MM: i, + y: i, + yy: i, + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal: '%d.', + week: { dow: 1, doy: 4 }, + }); + })(i(30381)); + }, + 10150: function (e, t, i) { + !(function (e) { + 'use strict'; + e.defineLocale('it-ch', { + months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split( + '_' + ), + monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split( + '_' + ), + weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split( + '_' + ), + weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'), + weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD.MM.YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd D MMMM YYYY HH:mm', + }, + calendar: { + sameDay: '[Oggi alle] LT', + nextDay: '[Domani alle] LT', + nextWeek: 'dddd [alle] LT', + lastDay: '[Ieri alle] LT', + lastWeek: function () { + switch (this.day()) { + case 0: + return '[la scorsa] dddd [alle] LT'; + default: + return '[lo scorso] dddd [alle] LT'; + } + }, + sameElse: 'L', + }, + relativeTime: { + future: function (e) { + return (/^[0-9].+$/.test(e) ? 'tra' : 'in') + ' ' + e; + }, + past: '%s fa', + s: 'alcuni secondi', + ss: '%d secondi', + m: 'un minuto', + mm: '%d minuti', + h: "un'ora", + hh: '%d ore', + d: 'un giorno', + dd: '%d giorni', + M: 'un mese', + MM: '%d mesi', + y: 'un anno', + yy: '%d anni', + }, + dayOfMonthOrdinalParse: /\d{1,2}º/, + ordinal: '%dº', + week: { dow: 1, doy: 4 }, + }); + })(i(30381)); + }, + 90626: function (e, t, i) { + !(function (e) { + 'use strict'; + e.defineLocale('it', { + months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split( + '_' + ), + monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split( + '_' + ), + weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split( + '_' + ), + weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'), + weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd D MMMM YYYY HH:mm', + }, + calendar: { + sameDay: function () { + return ( + '[Oggi a' + + (this.hours() > 1 + ? 'lle ' + : 0 === this.hours() + ? ' ' + : "ll'") + + ']LT' + ); + }, + nextDay: function () { + return ( + '[Domani a' + + (this.hours() > 1 + ? 'lle ' + : 0 === this.hours() + ? ' ' + : "ll'") + + ']LT' + ); + }, + nextWeek: function () { + return ( + 'dddd [a' + + (this.hours() > 1 + ? 'lle ' + : 0 === this.hours() + ? ' ' + : "ll'") + + ']LT' + ); + }, + lastDay: function () { + return ( + '[Ieri a' + + (this.hours() > 1 + ? 'lle ' + : 0 === this.hours() + ? ' ' + : "ll'") + + ']LT' + ); + }, + lastWeek: function () { + switch (this.day()) { + case 0: + return ( + '[La scorsa] dddd [a' + + (this.hours() > 1 + ? 'lle ' + : 0 === this.hours() + ? ' ' + : "ll'") + + ']LT' + ); + default: + return ( + '[Lo scorso] dddd [a' + + (this.hours() > 1 + ? 'lle ' + : 0 === this.hours() + ? ' ' + : "ll'") + + ']LT' + ); + } + }, + sameElse: 'L', + }, + relativeTime: { + future: 'tra %s', + past: '%s fa', + s: 'alcuni secondi', + ss: '%d secondi', + m: 'un minuto', + mm: '%d minuti', + h: "un'ora", + hh: '%d ore', + d: 'un giorno', + dd: '%d giorni', + w: 'una settimana', + ww: '%d settimane', + M: 'un mese', + MM: '%d mesi', + y: 'un anno', + yy: '%d anni', + }, + dayOfMonthOrdinalParse: /\d{1,2}º/, + ordinal: '%dº', + week: { dow: 1, doy: 4 }, + }); + })(i(30381)); + }, + 39183: function (e, t, i) { + !(function (e) { + 'use strict'; + e.defineLocale('ja', { + eras: [ + { + since: '2019-05-01', + offset: 1, + name: '令和', + narrow: '㋿', + abbr: 'R', + }, + { + since: '1989-01-08', + until: '2019-04-30', + offset: 1, + name: '平成', + narrow: '㍻', + abbr: 'H', + }, + { + since: '1926-12-25', + until: '1989-01-07', + offset: 1, + name: '昭和', + narrow: '㍼', + abbr: 'S', + }, + { + since: '1912-07-30', + until: '1926-12-24', + offset: 1, + name: '大正', + narrow: '㍽', + abbr: 'T', + }, + { + since: '1873-01-01', + until: '1912-07-29', + offset: 6, + name: '明治', + narrow: '㍾', + abbr: 'M', + }, + { + since: '0001-01-01', + until: '1873-12-31', + offset: 1, + name: '西暦', + narrow: 'AD', + abbr: 'AD', + }, + { + since: '0000-12-31', + until: -1 / 0, + offset: 1, + name: '紀元前', + narrow: 'BC', + abbr: 'BC', + }, + ], + eraYearOrdinalRegex: /(元|\d+)年/, + eraYearOrdinalParse: function (e, t) { + return '元' === t[1] ? 1 : parseInt(t[1] || e, 10); + }, + months: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split( + '_' + ), + monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split( + '_' + ), + weekdays: '日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日'.split( + '_' + ), + weekdaysShort: '日_月_火_水_木_金_土'.split('_'), + weekdaysMin: '日_月_火_水_木_金_土'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'YYYY/MM/DD', + LL: 'YYYY年M月D日', + LLL: 'YYYY年M月D日 HH:mm', + LLLL: 'YYYY年M月D日 dddd HH:mm', + l: 'YYYY/MM/DD', + ll: 'YYYY年M月D日', + lll: 'YYYY年M月D日 HH:mm', + llll: 'YYYY年M月D日(ddd) HH:mm', + }, + meridiemParse: /午前|午後/i, + isPM: function (e) { + return '午後' === e; + }, + meridiem: function (e, t, i) { + return e < 12 ? '午前' : '午後'; + }, + calendar: { + sameDay: '[今日] LT', + nextDay: '[明日] LT', + nextWeek: function (e) { + return e.week() !== this.week() ? '[来週]dddd LT' : 'dddd LT'; + }, + lastDay: '[昨日] LT', + lastWeek: function (e) { + return this.week() !== e.week() ? '[先週]dddd LT' : 'dddd LT'; + }, + sameElse: 'L', + }, + dayOfMonthOrdinalParse: /\d{1,2}日/, + ordinal: function (e, t) { + switch (t) { + case 'y': + return 1 === e ? '元年' : e + '年'; + case 'd': + case 'D': + case 'DDD': + return e + '日'; + default: + return e; + } + }, + relativeTime: { + future: '%s後', + past: '%s前', + s: '数秒', + ss: '%d秒', + m: '1分', + mm: '%d分', + h: '1時間', + hh: '%d時間', + d: '1日', + dd: '%d日', + M: '1ヶ月', + MM: '%dヶ月', + y: '1年', + yy: '%d年', + }, + }); + })(i(30381)); + }, + 24286: function (e, t, i) { + !(function (e) { + 'use strict'; + e.defineLocale('jv', { + months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember'.split( + '_' + ), + monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des'.split( + '_' + ), + weekdays: 'Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu'.split('_'), + weekdaysShort: 'Min_Sen_Sel_Reb_Kem_Jem_Sep'.split('_'), + weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sp'.split('_'), + longDateFormat: { + LT: 'HH.mm', + LTS: 'HH.mm.ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY [pukul] HH.mm', + LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm', + }, + meridiemParse: /enjing|siyang|sonten|ndalu/, + meridiemHour: function (e, t) { + return ( + 12 === e && (e = 0), + 'enjing' === t + ? e + : 'siyang' === t + ? e >= 11 + ? e + : e + 12 + : 'sonten' === t || 'ndalu' === t + ? e + 12 + : void 0 + ); + }, + meridiem: function (e, t, i) { + return e < 11 + ? 'enjing' + : e < 15 + ? 'siyang' + : e < 19 + ? 'sonten' + : 'ndalu'; + }, + calendar: { + sameDay: '[Dinten puniko pukul] LT', + nextDay: '[Mbenjang pukul] LT', + nextWeek: 'dddd [pukul] LT', + lastDay: '[Kala wingi pukul] LT', + lastWeek: 'dddd [kepengker pukul] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'wonten ing %s', + past: '%s ingkang kepengker', + s: 'sawetawis detik', + ss: '%d detik', + m: 'setunggal menit', + mm: '%d menit', + h: 'setunggal jam', + hh: '%d jam', + d: 'sedinten', + dd: '%d dinten', + M: 'sewulan', + MM: '%d wulan', + y: 'setaun', + yy: '%d taun', + }, + week: { dow: 1, doy: 7 }, + }); + })(i(30381)); + }, + 12105: function (e, t, i) { + !(function (e) { + 'use strict'; + e.defineLocale('ka', { + months: 'იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი'.split( + '_' + ), + monthsShort: 'იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ'.split( + '_' + ), + weekdays: { + standalone: 'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი'.split( + '_' + ), + format: 'კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს'.split( + '_' + ), + isFormat: /(წინა|შემდეგ)/, + }, + weekdaysShort: 'კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ'.split('_'), + weekdaysMin: 'კვ_ორ_სა_ოთ_ხუ_პა_შა'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd, D MMMM YYYY HH:mm', + }, + calendar: { + sameDay: '[დღეს] LT[-ზე]', + nextDay: '[ხვალ] LT[-ზე]', + lastDay: '[გუშინ] LT[-ზე]', + nextWeek: '[შემდეგ] dddd LT[-ზე]', + lastWeek: '[წინა] dddd LT-ზე', + sameElse: 'L', + }, + relativeTime: { + future: function (e) { + return e.replace( + /(წამ|წუთ|საათ|წელ|დღ|თვ)(ი|ე)/, + function (e, t, i) { + return 'ი' === i ? t + 'ში' : t + i + 'ში'; + } + ); + }, + past: function (e) { + return /(წამი|წუთი|საათი|დღე|თვე)/.test(e) + ? e.replace(/(ი|ე)$/, 'ის წინ') + : /წელი/.test(e) + ? e.replace(/წელი$/, 'წლის წინ') + : e; + }, + s: 'რამდენიმე წამი', + ss: '%d წამი', + m: 'წუთი', + mm: '%d წუთი', + h: 'საათი', + hh: '%d საათი', + d: 'დღე', + dd: '%d დღე', + M: 'თვე', + MM: '%d თვე', + y: 'წელი', + yy: '%d წელი', + }, + dayOfMonthOrdinalParse: /0|1-ლი|მე-\d{1,2}|\d{1,2}-ე/, + ordinal: function (e) { + return 0 === e + ? e + : 1 === e + ? e + '-ლი' + : e < 20 || (e <= 100 && e % 20 == 0) || e % 100 == 0 + ? 'მე-' + e + : e + '-ე'; + }, + week: { dow: 1, doy: 7 }, + }); + })(i(30381)); + }, + 47772: function (e, t, i) { + !(function (e) { + 'use strict'; + var t = { + 0: '-ші', + 1: '-ші', + 2: '-ші', + 3: '-ші', + 4: '-ші', + 5: '-ші', + 6: '-шы', + 7: '-ші', + 8: '-ші', + 9: '-шы', + 10: '-шы', + 20: '-шы', + 30: '-шы', + 40: '-шы', + 50: '-ші', + 60: '-шы', + 70: '-ші', + 80: '-ші', + 90: '-шы', + 100: '-ші', + }; + e.defineLocale('kk', { + months: 'қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан'.split( + '_' + ), + monthsShort: 'қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел'.split( + '_' + ), + weekdays: 'жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі'.split( + '_' + ), + weekdaysShort: 'жек_дүй_сей_сәр_бей_жұм_сен'.split('_'), + weekdaysMin: 'жк_дй_сй_ср_бй_жм_сн'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD.MM.YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd, D MMMM YYYY HH:mm', + }, + calendar: { + sameDay: '[Бүгін сағат] LT', + nextDay: '[Ертең сағат] LT', + nextWeek: 'dddd [сағат] LT', + lastDay: '[Кеше сағат] LT', + lastWeek: '[Өткен аптаның] dddd [сағат] LT', + sameElse: 'L', + }, + relativeTime: { + future: '%s ішінде', + past: '%s бұрын', + s: 'бірнеше секунд', + ss: '%d секунд', + m: 'бір минут', + mm: '%d минут', + h: 'бір сағат', + hh: '%d сағат', + d: 'бір күн', + dd: '%d күн', + M: 'бір ай', + MM: '%d ай', + y: 'бір жыл', + yy: '%d жыл', + }, + dayOfMonthOrdinalParse: /\d{1,2}-(ші|шы)/, + ordinal: function (e) { + return e + (t[e] || t[e % 10] || t[e >= 100 ? 100 : null]); + }, + week: { dow: 1, doy: 7 }, + }); + })(i(30381)); + }, + 18758: function (e, t, i) { + !(function (e) { + 'use strict'; + var t = { + 1: '១', + 2: '២', + 3: '៣', + 4: '៤', + 5: '៥', + 6: '៦', + 7: '៧', + 8: '៨', + 9: '៩', + 0: '០', + }, + i = { + '១': '1', + '២': '2', + '៣': '3', + '៤': '4', + '៥': '5', + '៦': '6', + '៧': '7', + '៨': '8', + '៩': '9', + '០': '0', + }; + e.defineLocale('km', { + months: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split( + '_' + ), + monthsShort: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split( + '_' + ), + weekdays: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split( + '_' + ), + weekdaysShort: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'), + weekdaysMin: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'), + weekdaysParseExact: !0, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd, D MMMM YYYY HH:mm', + }, + meridiemParse: /ព្រឹក|ល្ងាច/, + isPM: function (e) { + return 'ល្ងាច' === e; + }, + meridiem: function (e, t, i) { + return e < 12 ? 'ព្រឹក' : 'ល្ងាច'; + }, + calendar: { + sameDay: '[ថ្ងៃនេះ ម៉ោង] LT', + nextDay: '[ស្អែក ម៉ោង] LT', + nextWeek: 'dddd [ម៉ោង] LT', + lastDay: '[ម្សិលមិញ ម៉ោង] LT', + lastWeek: 'dddd [សប្តាហ៍មុន] [ម៉ោង] LT', + sameElse: 'L', + }, + relativeTime: { + future: '%sទៀត', + past: '%sមុន', + s: 'ប៉ុន្មានវិនាទី', + ss: '%d វិនាទី', + m: 'មួយនាទី', + mm: '%d នាទី', + h: 'មួយម៉ោង', + hh: '%d ម៉ោង', + d: 'មួយថ្ងៃ', + dd: '%d ថ្ងៃ', + M: 'មួយខែ', + MM: '%d ខែ', + y: 'មួយឆ្នាំ', + yy: '%d ឆ្នាំ', + }, + dayOfMonthOrdinalParse: /ទី\d{1,2}/, + ordinal: 'ទី%d', + preparse: function (e) { + return e.replace(/[១២៣៤៥៦៧៨៩០]/g, function (e) { + return i[e]; + }); + }, + postformat: function (e) { + return e.replace(/\d/g, function (e) { + return t[e]; + }); + }, + week: { dow: 1, doy: 4 }, + }); + })(i(30381)); + }, + 79282: function (e, t, i) { + !(function (e) { + 'use strict'; + var t = { + 1: '೧', + 2: '೨', + 3: '೩', + 4: '೪', + 5: '೫', + 6: '೬', + 7: '೭', + 8: '೮', + 9: '೯', + 0: '೦', + }, + i = { + '೧': '1', + '೨': '2', + '೩': '3', + '೪': '4', + '೫': '5', + '೬': '6', + '೭': '7', + '೮': '8', + '೯': '9', + '೦': '0', + }; + e.defineLocale('kn', { + months: 'ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್'.split( + '_' + ), + monthsShort: 'ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ'.split( + '_' + ), + monthsParseExact: !0, + weekdays: 'ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ'.split( + '_' + ), + weekdaysShort: 'ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ'.split('_'), + weekdaysMin: 'ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ'.split('_'), + longDateFormat: { + LT: 'A h:mm', + LTS: 'A h:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY, A h:mm', + LLLL: 'dddd, D MMMM YYYY, A h:mm', + }, + calendar: { + sameDay: '[ಇಂದು] LT', + nextDay: '[ನಾಳೆ] LT', + nextWeek: 'dddd, LT', + lastDay: '[ನಿನ್ನೆ] LT', + lastWeek: '[ಕೊನೆಯ] dddd, LT', + sameElse: 'L', + }, + relativeTime: { + future: '%s ನಂತರ', + past: '%s ಹಿಂದೆ', + s: 'ಕೆಲವು ಕ್ಷಣಗಳು', + ss: '%d ಸೆಕೆಂಡುಗಳು', + m: 'ಒಂದು ನಿಮಿಷ', + mm: '%d ನಿಮಿಷ', + h: 'ಒಂದು ಗಂಟೆ', + hh: '%d ಗಂಟೆ', + d: 'ಒಂದು ದಿನ', + dd: '%d ದಿನ', + M: 'ಒಂದು ತಿಂಗಳು', + MM: '%d ತಿಂಗಳು', + y: 'ಒಂದು ವರ್ಷ', + yy: '%d ವರ್ಷ', + }, + preparse: function (e) { + return e.replace(/[೧೨೩೪೫೬೭೮೯೦]/g, function (e) { + return i[e]; + }); + }, + postformat: function (e) { + return e.replace(/\d/g, function (e) { + return t[e]; + }); + }, + meridiemParse: /ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/, + meridiemHour: function (e, t) { + return ( + 12 === e && (e = 0), + 'ರಾತ್ರಿ' === t + ? e < 4 + ? e + : e + 12 + : 'ಬೆಳಿಗ್ಗೆ' === t + ? e + : 'ಮಧ್ಯಾಹ್ನ' === t + ? e >= 10 + ? e + : e + 12 + : 'ಸಂಜೆ' === t + ? e + 12 + : void 0 + ); + }, + meridiem: function (e, t, i) { + return e < 4 + ? 'ರಾತ್ರಿ' + : e < 10 + ? 'ಬೆಳಿಗ್ಗೆ' + : e < 17 + ? 'ಮಧ್ಯಾಹ್ನ' + : e < 20 + ? 'ಸಂಜೆ' + : 'ರಾತ್ರಿ'; + }, + dayOfMonthOrdinalParse: /\d{1,2}(ನೇ)/, + ordinal: function (e) { + return e + 'ನೇ'; + }, + week: { dow: 0, doy: 6 }, + }); + })(i(30381)); + }, + 33730: function (e, t, i) { + !(function (e) { + 'use strict'; + e.defineLocale('ko', { + months: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split( + '_' + ), + monthsShort: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split( + '_' + ), + weekdays: '일요일_월요일_화요일_수요일_목요일_금요일_토요일'.split( + '_' + ), + weekdaysShort: '일_월_화_수_목_금_토'.split('_'), + weekdaysMin: '일_월_화_수_목_금_토'.split('_'), + longDateFormat: { + LT: 'A h:mm', + LTS: 'A h:mm:ss', + L: 'YYYY.MM.DD.', + LL: 'YYYY년 MMMM D일', + LLL: 'YYYY년 MMMM D일 A h:mm', + LLLL: 'YYYY년 MMMM D일 dddd A h:mm', + l: 'YYYY.MM.DD.', + ll: 'YYYY년 MMMM D일', + lll: 'YYYY년 MMMM D일 A h:mm', + llll: 'YYYY년 MMMM D일 dddd A h:mm', + }, + calendar: { + sameDay: '오늘 LT', + nextDay: '내일 LT', + nextWeek: 'dddd LT', + lastDay: '어제 LT', + lastWeek: '지난주 dddd LT', + sameElse: 'L', + }, + relativeTime: { + future: '%s 후', + past: '%s 전', + s: '몇 초', + ss: '%d초', + m: '1분', + mm: '%d분', + h: '한 시간', + hh: '%d시간', + d: '하루', + dd: '%d일', + M: '한 달', + MM: '%d달', + y: '일 년', + yy: '%d년', + }, + dayOfMonthOrdinalParse: /\d{1,2}(일|월|주)/, + ordinal: function (e, t) { + switch (t) { + case 'd': + case 'D': + case 'DDD': + return e + '일'; + case 'M': + return e + '월'; + case 'w': + case 'W': + return e + '주'; + default: + return e; + } + }, + meridiemParse: /오전|오후/, + isPM: function (e) { + return '오후' === e; + }, + meridiem: function (e, t, i) { + return e < 12 ? '오전' : '오후'; + }, + }); + })(i(30381)); + }, + 1408: function (e, t, i) { + !(function (e) { + 'use strict'; + var t = { + 1: '١', + 2: '٢', + 3: '٣', + 4: '٤', + 5: '٥', + 6: '٦', + 7: '٧', + 8: '٨', + 9: '٩', + 0: '٠', + }, + i = { + '١': '1', + '٢': '2', + '٣': '3', + '٤': '4', + '٥': '5', + '٦': '6', + '٧': '7', + '٨': '8', + '٩': '9', + '٠': '0', + }, + n = [ + 'کانونی دووەم', + 'شوبات', + 'ئازار', + 'نیسان', + 'ئایار', + 'حوزەیران', + 'تەمموز', + 'ئاب', + 'ئەیلوول', + 'تشرینی یەكەم', + 'تشرینی دووەم', + 'كانونی یەکەم', + ]; + e.defineLocale('ku', { + months: n, + monthsShort: n, + weekdays: 'یه‌كشه‌ممه‌_دووشه‌ممه‌_سێشه‌ممه‌_چوارشه‌ممه‌_پێنجشه‌ممه‌_هه‌ینی_شه‌ممه‌'.split( + '_' + ), + weekdaysShort: 'یه‌كشه‌م_دووشه‌م_سێشه‌م_چوارشه‌م_پێنجشه‌م_هه‌ینی_شه‌ممه‌'.split( + '_' + ), + weekdaysMin: 'ی_د_س_چ_پ_ه_ش'.split('_'), + weekdaysParseExact: !0, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd, D MMMM YYYY HH:mm', + }, + meridiemParse: /ئێواره‌|به‌یانی/, + isPM: function (e) { + return /ئێواره‌/.test(e); + }, + meridiem: function (e, t, i) { + return e < 12 ? 'به‌یانی' : 'ئێواره‌'; + }, + calendar: { + sameDay: '[ئه‌مرۆ كاتژمێر] LT', + nextDay: '[به‌یانی كاتژمێر] LT', + nextWeek: 'dddd [كاتژمێر] LT', + lastDay: '[دوێنێ كاتژمێر] LT', + lastWeek: 'dddd [كاتژمێر] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'له‌ %s', + past: '%s', + s: 'چه‌ند چركه‌یه‌ك', + ss: 'چركه‌ %d', + m: 'یه‌ك خوله‌ك', + mm: '%d خوله‌ك', + h: 'یه‌ك كاتژمێر', + hh: '%d كاتژمێر', + d: 'یه‌ك ڕۆژ', + dd: '%d ڕۆژ', + M: 'یه‌ك مانگ', + MM: '%d مانگ', + y: 'یه‌ك ساڵ', + yy: '%d ساڵ', + }, + preparse: function (e) { + return e + .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (e) { + return i[e]; + }) + .replace(/،/g, ','); + }, + postformat: function (e) { + return e + .replace(/\d/g, function (e) { + return t[e]; + }) + .replace(/,/g, '،'); + }, + week: { dow: 6, doy: 12 }, + }); + })(i(30381)); + }, + 33291: function (e, t, i) { + !(function (e) { + 'use strict'; + var t = { + 0: '-чү', + 1: '-чи', + 2: '-чи', + 3: '-чү', + 4: '-чү', + 5: '-чи', + 6: '-чы', + 7: '-чи', + 8: '-чи', + 9: '-чу', + 10: '-чу', + 20: '-чы', + 30: '-чу', + 40: '-чы', + 50: '-чү', + 60: '-чы', + 70: '-чи', + 80: '-чи', + 90: '-чу', + 100: '-чү', + }; + e.defineLocale('ky', { + months: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split( + '_' + ), + monthsShort: 'янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек'.split( + '_' + ), + weekdays: 'Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби'.split( + '_' + ), + weekdaysShort: 'Жек_Дүй_Шей_Шар_Бей_Жум_Ише'.split('_'), + weekdaysMin: 'Жк_Дй_Шй_Шр_Бй_Жм_Иш'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD.MM.YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd, D MMMM YYYY HH:mm', + }, + calendar: { + sameDay: '[Бүгүн саат] LT', + nextDay: '[Эртең саат] LT', + nextWeek: 'dddd [саат] LT', + lastDay: '[Кечээ саат] LT', + lastWeek: '[Өткөн аптанын] dddd [күнү] [саат] LT', + sameElse: 'L', + }, + relativeTime: { + future: '%s ичинде', + past: '%s мурун', + s: 'бирнече секунд', + ss: '%d секунд', + m: 'бир мүнөт', + mm: '%d мүнөт', + h: 'бир саат', + hh: '%d саат', + d: 'бир күн', + dd: '%d күн', + M: 'бир ай', + MM: '%d ай', + y: 'бир жыл', + yy: '%d жыл', + }, + dayOfMonthOrdinalParse: /\d{1,2}-(чи|чы|чү|чу)/, + ordinal: function (e) { + return e + (t[e] || t[e % 10] || t[e >= 100 ? 100 : null]); + }, + week: { dow: 1, doy: 7 }, + }); + })(i(30381)); + }, + 36841: function (e, t, i) { + !(function (e) { + 'use strict'; + function t(e, t, i, n) { + var r = { + m: ['eng Minutt', 'enger Minutt'], + h: ['eng Stonn', 'enger Stonn'], + d: ['een Dag', 'engem Dag'], + M: ['ee Mount', 'engem Mount'], + y: ['ee Joer', 'engem Joer'], + }; + return t ? r[i][0] : r[i][1]; + } + function i(e) { + if (((e = parseInt(e, 10)), isNaN(e))) return !1; + if (e < 0) return !0; + if (e < 10) return 4 <= e && e <= 7; + if (e < 100) { + var t = e % 10; + return i(0 === t ? e / 10 : t); + } + if (e < 1e4) { + for (; e >= 10; ) e /= 10; + return i(e); + } + return i((e /= 1e3)); + } + e.defineLocale('lb', { + months: 'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember'.split( + '_' + ), + monthsShort: 'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split( + '_' + ), + monthsParseExact: !0, + weekdays: 'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split( + '_' + ), + weekdaysShort: 'So._Mé._Dë._Më._Do._Fr._Sa.'.split('_'), + weekdaysMin: 'So_Mé_Dë_Më_Do_Fr_Sa'.split('_'), + weekdaysParseExact: !0, + longDateFormat: { + LT: 'H:mm [Auer]', + LTS: 'H:mm:ss [Auer]', + L: 'DD.MM.YYYY', + LL: 'D. MMMM YYYY', + LLL: 'D. MMMM YYYY H:mm [Auer]', + LLLL: 'dddd, D. MMMM YYYY H:mm [Auer]', + }, + calendar: { + sameDay: '[Haut um] LT', + sameElse: 'L', + nextDay: '[Muer um] LT', + nextWeek: 'dddd [um] LT', + lastDay: '[Gëschter um] LT', + lastWeek: function () { + switch (this.day()) { + case 2: + case 4: + return '[Leschten] dddd [um] LT'; + default: + return '[Leschte] dddd [um] LT'; + } + }, + }, + relativeTime: { + future: function (e) { + return i(e.substr(0, e.indexOf(' '))) ? 'a ' + e : 'an ' + e; + }, + past: function (e) { + return i(e.substr(0, e.indexOf(' '))) + ? 'viru ' + e + : 'virun ' + e; + }, + s: 'e puer Sekonnen', + ss: '%d Sekonnen', + m: t, + mm: '%d Minutten', + h: t, + hh: '%d Stonnen', + d: t, + dd: '%d Deeg', + M: t, + MM: '%d Méint', + y: t, + yy: '%d Joer', + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal: '%d.', + week: { dow: 1, doy: 4 }, + }); + })(i(30381)); + }, + 55466: function (e, t, i) { + !(function (e) { + 'use strict'; + e.defineLocale('lo', { + months: 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split( + '_' + ), + monthsShort: 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split( + '_' + ), + weekdays: 'ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'), + weekdaysShort: 'ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'), + weekdaysMin: 'ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ'.split('_'), + weekdaysParseExact: !0, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'ວັນdddd D MMMM YYYY HH:mm', + }, + meridiemParse: /ຕອນເຊົ້າ|ຕອນແລງ/, + isPM: function (e) { + return 'ຕອນແລງ' === e; + }, + meridiem: function (e, t, i) { + return e < 12 ? 'ຕອນເຊົ້າ' : 'ຕອນແລງ'; + }, + calendar: { + sameDay: '[ມື້ນີ້ເວລາ] LT', + nextDay: '[ມື້ອື່ນເວລາ] LT', + nextWeek: '[ວັນ]dddd[ໜ້າເວລາ] LT', + lastDay: '[ມື້ວານນີ້ເວລາ] LT', + lastWeek: '[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'ອີກ %s', + past: '%sຜ່ານມາ', + s: 'ບໍ່ເທົ່າໃດວິນາທີ', + ss: '%d ວິນາທີ', + m: '1 ນາທີ', + mm: '%d ນາທີ', + h: '1 ຊົ່ວໂມງ', + hh: '%d ຊົ່ວໂມງ', + d: '1 ມື້', + dd: '%d ມື້', + M: '1 ເດືອນ', + MM: '%d ເດືອນ', + y: '1 ປີ', + yy: '%d ປີ', + }, + dayOfMonthOrdinalParse: /(ທີ່)\d{1,2}/, + ordinal: function (e) { + return 'ທີ່' + e; + }, + }); + })(i(30381)); + }, + 57010: function (e, t, i) { + !(function (e) { + 'use strict'; + var t = { + ss: 'sekundė_sekundžių_sekundes', + m: 'minutė_minutės_minutę', + mm: 'minutės_minučių_minutes', + h: 'valanda_valandos_valandą', + hh: 'valandos_valandų_valandas', + d: 'diena_dienos_dieną', + dd: 'dienos_dienų_dienas', + M: 'mėnuo_mėnesio_mėnesį', + MM: 'mėnesiai_mėnesių_mėnesius', + y: 'metai_metų_metus', + yy: 'metai_metų_metus', + }; + function i(e, t, i, n) { + return t ? r(i)[0] : n ? r(i)[1] : r(i)[2]; + } + function n(e) { + return e % 10 == 0 || (e > 10 && e < 20); + } + function r(e) { + return t[e].split('_'); + } + function s(e, t, s, o) { + var a = e + ' '; + return 1 === e + ? a + i(0, t, s[0], o) + : t + ? a + (n(e) ? r(s)[1] : r(s)[0]) + : o + ? a + r(s)[1] + : a + (n(e) ? r(s)[1] : r(s)[2]); + } + e.defineLocale('lt', { + months: { + format: 'sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio'.split( + '_' + ), + standalone: 'sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis'.split( + '_' + ), + isFormat: /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?|MMMM?(\[[^\[\]]*\]|\s)+D[oD]?/, + }, + monthsShort: 'sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd'.split( + '_' + ), + weekdays: { + format: 'sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį'.split( + '_' + ), + standalone: 'sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis'.split( + '_' + ), + isFormat: /dddd HH:mm/, + }, + weekdaysShort: 'Sek_Pir_Ant_Tre_Ket_Pen_Šeš'.split('_'), + weekdaysMin: 'S_P_A_T_K_Pn_Š'.split('_'), + weekdaysParseExact: !0, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'YYYY-MM-DD', + LL: 'YYYY [m.] MMMM D [d.]', + LLL: 'YYYY [m.] MMMM D [d.], HH:mm [val.]', + LLLL: 'YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]', + l: 'YYYY-MM-DD', + ll: 'YYYY [m.] MMMM D [d.]', + lll: 'YYYY [m.] MMMM D [d.], HH:mm [val.]', + llll: 'YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]', + }, + calendar: { + sameDay: '[Šiandien] LT', + nextDay: '[Rytoj] LT', + nextWeek: 'dddd LT', + lastDay: '[Vakar] LT', + lastWeek: '[Praėjusį] dddd LT', + sameElse: 'L', + }, + relativeTime: { + future: 'po %s', + past: 'prieš %s', + s: function (e, t, i, n) { + return t + ? 'kelios sekundės' + : n + ? 'kelių sekundžių' + : 'kelias sekundes'; + }, + ss: s, + m: i, + mm: s, + h: i, + hh: s, + d: i, + dd: s, + M: i, + MM: s, + y: i, + yy: s, + }, + dayOfMonthOrdinalParse: /\d{1,2}-oji/, + ordinal: function (e) { + return e + '-oji'; + }, + week: { dow: 1, doy: 4 }, + }); + })(i(30381)); + }, + 37595: function (e, t, i) { + !(function (e) { + 'use strict'; + var t = { + ss: 'sekundes_sekundēm_sekunde_sekundes'.split('_'), + m: 'minūtes_minūtēm_minūte_minūtes'.split('_'), + mm: 'minūtes_minūtēm_minūte_minūtes'.split('_'), + h: 'stundas_stundām_stunda_stundas'.split('_'), + hh: 'stundas_stundām_stunda_stundas'.split('_'), + d: 'dienas_dienām_diena_dienas'.split('_'), + dd: 'dienas_dienām_diena_dienas'.split('_'), + M: 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'), + MM: 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'), + y: 'gada_gadiem_gads_gadi'.split('_'), + yy: 'gada_gadiem_gads_gadi'.split('_'), + }; + function i(e, t, i) { + return i + ? t % 10 == 1 && t % 100 != 11 + ? e[2] + : e[3] + : t % 10 == 1 && t % 100 != 11 + ? e[0] + : e[1]; + } + function n(e, n, r) { + return e + ' ' + i(t[r], e, n); + } + function r(e, n, r) { + return i(t[r], e, n); + } + e.defineLocale('lv', { + months: 'janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris'.split( + '_' + ), + monthsShort: 'jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec'.split( + '_' + ), + weekdays: 'svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena'.split( + '_' + ), + weekdaysShort: 'Sv_P_O_T_C_Pk_S'.split('_'), + weekdaysMin: 'Sv_P_O_T_C_Pk_S'.split('_'), + weekdaysParseExact: !0, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD.MM.YYYY.', + LL: 'YYYY. [gada] D. MMMM', + LLL: 'YYYY. [gada] D. MMMM, HH:mm', + LLLL: 'YYYY. [gada] D. MMMM, dddd, HH:mm', + }, + calendar: { + sameDay: '[Šodien pulksten] LT', + nextDay: '[Rīt pulksten] LT', + nextWeek: 'dddd [pulksten] LT', + lastDay: '[Vakar pulksten] LT', + lastWeek: '[Pagājušā] dddd [pulksten] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'pēc %s', + past: 'pirms %s', + s: function (e, t) { + return t ? 'dažas sekundes' : 'dažām sekundēm'; + }, + ss: n, + m: r, + mm: n, + h: r, + hh: n, + d: r, + dd: n, + M: r, + MM: n, + y: r, + yy: n, + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal: '%d.', + week: { dow: 1, doy: 4 }, + }); + })(i(30381)); + }, + 39861: function (e, t, i) { + !(function (e) { + 'use strict'; + var t = { + words: { + ss: ['sekund', 'sekunda', 'sekundi'], + m: ['jedan minut', 'jednog minuta'], + mm: ['minut', 'minuta', 'minuta'], + h: ['jedan sat', 'jednog sata'], + hh: ['sat', 'sata', 'sati'], + dd: ['dan', 'dana', 'dana'], + MM: ['mjesec', 'mjeseca', 'mjeseci'], + yy: ['godina', 'godine', 'godina'], + }, + correctGrammaticalCase: function (e, t) { + return 1 === e ? t[0] : e >= 2 && e <= 4 ? t[1] : t[2]; + }, + translate: function (e, i, n) { + var r = t.words[n]; + return 1 === n.length + ? i + ? r[0] + : r[1] + : e + ' ' + t.correctGrammaticalCase(e, r); + }, + }; + e.defineLocale('me', { + months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split( + '_' + ), + monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split( + '_' + ), + monthsParseExact: !0, + weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split( + '_' + ), + weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'), + weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'), + weekdaysParseExact: !0, + longDateFormat: { + LT: 'H:mm', + LTS: 'H:mm:ss', + L: 'DD.MM.YYYY', + LL: 'D. MMMM YYYY', + LLL: 'D. MMMM YYYY H:mm', + LLLL: 'dddd, D. MMMM YYYY H:mm', + }, + calendar: { + sameDay: '[danas u] LT', + nextDay: '[sjutra u] LT', + nextWeek: function () { + switch (this.day()) { + case 0: + return '[u] [nedjelju] [u] LT'; + case 3: + return '[u] [srijedu] [u] LT'; + case 6: + return '[u] [subotu] [u] LT'; + case 1: + case 2: + case 4: + case 5: + return '[u] dddd [u] LT'; + } + }, + lastDay: '[juče u] LT', + lastWeek: function () { + return [ + '[prošle] [nedjelje] [u] LT', + '[prošlog] [ponedjeljka] [u] LT', + '[prošlog] [utorka] [u] LT', + '[prošle] [srijede] [u] LT', + '[prošlog] [četvrtka] [u] LT', + '[prošlog] [petka] [u] LT', + '[prošle] [subote] [u] LT', + ][this.day()]; + }, + sameElse: 'L', + }, + relativeTime: { + future: 'za %s', + past: 'prije %s', + s: 'nekoliko sekundi', + ss: t.translate, + m: t.translate, + mm: t.translate, + h: t.translate, + hh: t.translate, + d: 'dan', + dd: t.translate, + M: 'mjesec', + MM: t.translate, + y: 'godinu', + yy: t.translate, + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal: '%d.', + week: { dow: 1, doy: 7 }, + }); + })(i(30381)); + }, + 35493: function (e, t, i) { + !(function (e) { + 'use strict'; + e.defineLocale('mi', { + months: 'Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea'.split( + '_' + ), + monthsShort: 'Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki'.split( + '_' + ), + monthsRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i, + monthsStrictRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i, + monthsShortRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i, + monthsShortStrictRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,2}/i, + weekdays: 'Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei'.split( + '_' + ), + weekdaysShort: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'), + weekdaysMin: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY [i] HH:mm', + LLLL: 'dddd, D MMMM YYYY [i] HH:mm', + }, + calendar: { + sameDay: '[i teie mahana, i] LT', + nextDay: '[apopo i] LT', + nextWeek: 'dddd [i] LT', + lastDay: '[inanahi i] LT', + lastWeek: 'dddd [whakamutunga i] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'i roto i %s', + past: '%s i mua', + s: 'te hēkona ruarua', + ss: '%d hēkona', + m: 'he meneti', + mm: '%d meneti', + h: 'te haora', + hh: '%d haora', + d: 'he ra', + dd: '%d ra', + M: 'he marama', + MM: '%d marama', + y: 'he tau', + yy: '%d tau', + }, + dayOfMonthOrdinalParse: /\d{1,2}º/, + ordinal: '%dº', + week: { dow: 1, doy: 4 }, + }); + })(i(30381)); + }, + 95966: function (e, t, i) { + !(function (e) { + 'use strict'; + e.defineLocale('mk', { + months: 'јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември'.split( + '_' + ), + monthsShort: 'јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек'.split( + '_' + ), + weekdays: 'недела_понеделник_вторник_среда_четврток_петок_сабота'.split( + '_' + ), + weekdaysShort: 'нед_пон_вто_сре_чет_пет_саб'.split('_'), + weekdaysMin: 'нe_пo_вт_ср_че_пе_сa'.split('_'), + longDateFormat: { + LT: 'H:mm', + LTS: 'H:mm:ss', + L: 'D.MM.YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY H:mm', + LLLL: 'dddd, D MMMM YYYY H:mm', + }, + calendar: { + sameDay: '[Денес во] LT', + nextDay: '[Утре во] LT', + nextWeek: '[Во] dddd [во] LT', + lastDay: '[Вчера во] LT', + lastWeek: function () { + switch (this.day()) { + case 0: + case 3: + case 6: + return '[Изминатата] dddd [во] LT'; + case 1: + case 2: + case 4: + case 5: + return '[Изминатиот] dddd [во] LT'; + } + }, + sameElse: 'L', + }, + relativeTime: { + future: 'за %s', + past: 'пред %s', + s: 'неколку секунди', + ss: '%d секунди', + m: 'една минута', + mm: '%d минути', + h: 'еден час', + hh: '%d часа', + d: 'еден ден', + dd: '%d дена', + M: 'еден месец', + MM: '%d месеци', + y: 'една година', + yy: '%d години', + }, + dayOfMonthOrdinalParse: /\d{1,2}-(ев|ен|ти|ви|ри|ми)/, + ordinal: function (e) { + var t = e % 10, + i = e % 100; + return 0 === e + ? e + '-ев' + : 0 === i + ? e + '-ен' + : i > 10 && i < 20 + ? e + '-ти' + : 1 === t + ? e + '-ви' + : 2 === t + ? e + '-ри' + : 7 === t || 8 === t + ? e + '-ми' + : e + '-ти'; + }, + week: { dow: 1, doy: 7 }, + }); + })(i(30381)); + }, + 87341: function (e, t, i) { + !(function (e) { + 'use strict'; + e.defineLocale('ml', { + months: 'ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ'.split( + '_' + ), + monthsShort: 'ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.'.split( + '_' + ), + monthsParseExact: !0, + weekdays: 'ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച'.split( + '_' + ), + weekdaysShort: 'ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി'.split( + '_' + ), + weekdaysMin: 'ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ'.split('_'), + longDateFormat: { + LT: 'A h:mm -നു', + LTS: 'A h:mm:ss -നു', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY, A h:mm -നു', + LLLL: 'dddd, D MMMM YYYY, A h:mm -നു', + }, + calendar: { + sameDay: '[ഇന്ന്] LT', + nextDay: '[നാളെ] LT', + nextWeek: 'dddd, LT', + lastDay: '[ഇന്നലെ] LT', + lastWeek: '[കഴിഞ്ഞ] dddd, LT', + sameElse: 'L', + }, + relativeTime: { + future: '%s കഴിഞ്ഞ്', + past: '%s മുൻപ്', + s: 'അൽപ നിമിഷങ്ങൾ', + ss: '%d സെക്കൻഡ്', + m: 'ഒരു മിനിറ്റ്', + mm: '%d മിനിറ്റ്', + h: 'ഒരു മണിക്കൂർ', + hh: '%d മണിക്കൂർ', + d: 'ഒരു ദിവസം', + dd: '%d ദിവസം', + M: 'ഒരു മാസം', + MM: '%d മാസം', + y: 'ഒരു വർഷം', + yy: '%d വർഷം', + }, + meridiemParse: /രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i, + meridiemHour: function (e, t) { + return ( + 12 === e && (e = 0), + ('രാത്രി' === t && e >= 4) || + 'ഉച്ച കഴിഞ്ഞ്' === t || + 'വൈകുന്നേരം' === t + ? e + 12 + : e + ); + }, + meridiem: function (e, t, i) { + return e < 4 + ? 'രാത്രി' + : e < 12 + ? 'രാവിലെ' + : e < 17 + ? 'ഉച്ച കഴിഞ്ഞ്' + : e < 20 + ? 'വൈകുന്നേരം' + : 'രാത്രി'; + }, + }); + })(i(30381)); + }, + 5115: function (e, t, i) { + !(function (e) { + 'use strict'; + function t(e, t, i, n) { + switch (i) { + case 's': + return t ? 'хэдхэн секунд' : 'хэдхэн секундын'; + case 'ss': + return e + (t ? ' секунд' : ' секундын'); + case 'm': + case 'mm': + return e + (t ? ' минут' : ' минутын'); + case 'h': + case 'hh': + return e + (t ? ' цаг' : ' цагийн'); + case 'd': + case 'dd': + return e + (t ? ' өдөр' : ' өдрийн'); + case 'M': + case 'MM': + return e + (t ? ' сар' : ' сарын'); + case 'y': + case 'yy': + return e + (t ? ' жил' : ' жилийн'); + default: + return e; + } + } + e.defineLocale('mn', { + months: 'Нэгдүгээр сар_Хоёрдугаар сар_Гуравдугаар сар_Дөрөвдүгээр сар_Тавдугаар сар_Зургадугаар сар_Долдугаар сар_Наймдугаар сар_Есдүгээр сар_Аравдугаар сар_Арван нэгдүгээр сар_Арван хоёрдугаар сар'.split( + '_' + ), + monthsShort: '1 сар_2 сар_3 сар_4 сар_5 сар_6 сар_7 сар_8 сар_9 сар_10 сар_11 сар_12 сар'.split( + '_' + ), + monthsParseExact: !0, + weekdays: 'Ням_Даваа_Мягмар_Лхагва_Пүрэв_Баасан_Бямба'.split('_'), + weekdaysShort: 'Ням_Дав_Мяг_Лха_Пүр_Баа_Бям'.split('_'), + weekdaysMin: 'Ня_Да_Мя_Лх_Пү_Ба_Бя'.split('_'), + weekdaysParseExact: !0, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'YYYY-MM-DD', + LL: 'YYYY оны MMMMын D', + LLL: 'YYYY оны MMMMын D HH:mm', + LLLL: 'dddd, YYYY оны MMMMын D HH:mm', + }, + meridiemParse: /ҮӨ|ҮХ/i, + isPM: function (e) { + return 'ҮХ' === e; + }, + meridiem: function (e, t, i) { + return e < 12 ? 'ҮӨ' : 'ҮХ'; + }, + calendar: { + sameDay: '[Өнөөдөр] LT', + nextDay: '[Маргааш] LT', + nextWeek: '[Ирэх] dddd LT', + lastDay: '[Өчигдөр] LT', + lastWeek: '[Өнгөрсөн] dddd LT', + sameElse: 'L', + }, + relativeTime: { + future: '%s дараа', + past: '%s өмнө', + s: t, + ss: t, + m: t, + mm: t, + h: t, + hh: t, + d: t, + dd: t, + M: t, + MM: t, + y: t, + yy: t, + }, + dayOfMonthOrdinalParse: /\d{1,2} өдөр/, + ordinal: function (e, t) { + switch (t) { + case 'd': + case 'D': + case 'DDD': + return e + ' өдөр'; + default: + return e; + } + }, + }); + })(i(30381)); + }, + 10370: function (e, t, i) { + !(function (e) { + 'use strict'; + var t = { + 1: '१', + 2: '२', + 3: '३', + 4: '४', + 5: '५', + 6: '६', + 7: '७', + 8: '८', + 9: '९', + 0: '०', + }, + i = { + '१': '1', + '२': '2', + '३': '3', + '४': '4', + '५': '5', + '६': '6', + '७': '7', + '८': '8', + '९': '9', + '०': '0', + }; + function n(e, t, i, n) { + var r = ''; + if (t) + switch (i) { + case 's': + r = 'काही सेकंद'; + break; + case 'ss': + r = '%d सेकंद'; + break; + case 'm': + r = 'एक मिनिट'; + break; + case 'mm': + r = '%d मिनिटे'; + break; + case 'h': + r = 'एक तास'; + break; + case 'hh': + r = '%d तास'; + break; + case 'd': + r = 'एक दिवस'; + break; + case 'dd': + r = '%d दिवस'; + break; + case 'M': + r = 'एक महिना'; + break; + case 'MM': + r = '%d महिने'; + break; + case 'y': + r = 'एक वर्ष'; + break; + case 'yy': + r = '%d वर्षे'; + } + else + switch (i) { + case 's': + r = 'काही सेकंदां'; + break; + case 'ss': + r = '%d सेकंदां'; + break; + case 'm': + r = 'एका मिनिटा'; + break; + case 'mm': + r = '%d मिनिटां'; + break; + case 'h': + r = 'एका तासा'; + break; + case 'hh': + r = '%d तासां'; + break; + case 'd': + r = 'एका दिवसा'; + break; + case 'dd': + r = '%d दिवसां'; + break; + case 'M': + r = 'एका महिन्या'; + break; + case 'MM': + r = '%d महिन्यां'; + break; + case 'y': + r = 'एका वर्षा'; + break; + case 'yy': + r = '%d वर्षां'; + } + return r.replace(/%d/i, e); + } + e.defineLocale('mr', { + months: 'जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split( + '_' + ), + monthsShort: 'जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split( + '_' + ), + monthsParseExact: !0, + weekdays: 'रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split( + '_' + ), + weekdaysShort: 'रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि'.split('_'), + weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'), + longDateFormat: { + LT: 'A h:mm वाजता', + LTS: 'A h:mm:ss वाजता', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY, A h:mm वाजता', + LLLL: 'dddd, D MMMM YYYY, A h:mm वाजता', + }, + calendar: { + sameDay: '[आज] LT', + nextDay: '[उद्या] LT', + nextWeek: 'dddd, LT', + lastDay: '[काल] LT', + lastWeek: '[मागील] dddd, LT', + sameElse: 'L', + }, + relativeTime: { + future: '%sमध्ये', + past: '%sपूर्वी', + s: n, + ss: n, + m: n, + mm: n, + h: n, + hh: n, + d: n, + dd: n, + M: n, + MM: n, + y: n, + yy: n, + }, + preparse: function (e) { + return e.replace(/[१२३४५६७८९०]/g, function (e) { + return i[e]; + }); + }, + postformat: function (e) { + return e.replace(/\d/g, function (e) { + return t[e]; + }); + }, + meridiemParse: /पहाटे|सकाळी|दुपारी|सायंकाळी|रात्री/, + meridiemHour: function (e, t) { + return ( + 12 === e && (e = 0), + 'पहाटे' === t || 'सकाळी' === t + ? e + : 'दुपारी' === t || 'सायंकाळी' === t || 'रात्री' === t + ? e >= 12 + ? e + : e + 12 + : void 0 + ); + }, + meridiem: function (e, t, i) { + return e >= 0 && e < 6 + ? 'पहाटे' + : e < 12 + ? 'सकाळी' + : e < 17 + ? 'दुपारी' + : e < 20 + ? 'सायंकाळी' + : 'रात्री'; + }, + week: { dow: 0, doy: 6 }, + }); + })(i(30381)); + }, + 41237: function (e, t, i) { + !(function (e) { + 'use strict'; + e.defineLocale('ms-my', { + months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split( + '_' + ), + monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split( + '_' + ), + weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'), + weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'), + weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'), + longDateFormat: { + LT: 'HH.mm', + LTS: 'HH.mm.ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY [pukul] HH.mm', + LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm', + }, + meridiemParse: /pagi|tengahari|petang|malam/, + meridiemHour: function (e, t) { + return ( + 12 === e && (e = 0), + 'pagi' === t + ? e + : 'tengahari' === t + ? e >= 11 + ? e + : e + 12 + : 'petang' === t || 'malam' === t + ? e + 12 + : void 0 + ); + }, + meridiem: function (e, t, i) { + return e < 11 + ? 'pagi' + : e < 15 + ? 'tengahari' + : e < 19 + ? 'petang' + : 'malam'; + }, + calendar: { + sameDay: '[Hari ini pukul] LT', + nextDay: '[Esok pukul] LT', + nextWeek: 'dddd [pukul] LT', + lastDay: '[Kelmarin pukul] LT', + lastWeek: 'dddd [lepas pukul] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'dalam %s', + past: '%s yang lepas', + s: 'beberapa saat', + ss: '%d saat', + m: 'seminit', + mm: '%d minit', + h: 'sejam', + hh: '%d jam', + d: 'sehari', + dd: '%d hari', + M: 'sebulan', + MM: '%d bulan', + y: 'setahun', + yy: '%d tahun', + }, + week: { dow: 1, doy: 7 }, + }); + })(i(30381)); + }, + 9847: function (e, t, i) { + !(function (e) { + 'use strict'; + e.defineLocale('ms', { + months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split( + '_' + ), + monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split( + '_' + ), + weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'), + weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'), + weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'), + longDateFormat: { + LT: 'HH.mm', + LTS: 'HH.mm.ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY [pukul] HH.mm', + LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm', + }, + meridiemParse: /pagi|tengahari|petang|malam/, + meridiemHour: function (e, t) { + return ( + 12 === e && (e = 0), + 'pagi' === t + ? e + : 'tengahari' === t + ? e >= 11 + ? e + : e + 12 + : 'petang' === t || 'malam' === t + ? e + 12 + : void 0 + ); + }, + meridiem: function (e, t, i) { + return e < 11 + ? 'pagi' + : e < 15 + ? 'tengahari' + : e < 19 + ? 'petang' + : 'malam'; + }, + calendar: { + sameDay: '[Hari ini pukul] LT', + nextDay: '[Esok pukul] LT', + nextWeek: 'dddd [pukul] LT', + lastDay: '[Kelmarin pukul] LT', + lastWeek: 'dddd [lepas pukul] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'dalam %s', + past: '%s yang lepas', + s: 'beberapa saat', + ss: '%d saat', + m: 'seminit', + mm: '%d minit', + h: 'sejam', + hh: '%d jam', + d: 'sehari', + dd: '%d hari', + M: 'sebulan', + MM: '%d bulan', + y: 'setahun', + yy: '%d tahun', + }, + week: { dow: 1, doy: 7 }, + }); + })(i(30381)); + }, + 72126: function (e, t, i) { + !(function (e) { + 'use strict'; + e.defineLocale('mt', { + months: 'Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru'.split( + '_' + ), + monthsShort: 'Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ'.split( + '_' + ), + weekdays: 'Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt'.split( + '_' + ), + weekdaysShort: 'Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib'.split('_'), + weekdaysMin: 'Ħa_Tn_Tl_Er_Ħa_Ġi_Si'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd, D MMMM YYYY HH:mm', + }, + calendar: { + sameDay: '[Illum fil-]LT', + nextDay: '[Għada fil-]LT', + nextWeek: 'dddd [fil-]LT', + lastDay: '[Il-bieraħ fil-]LT', + lastWeek: 'dddd [li għadda] [fil-]LT', + sameElse: 'L', + }, + relativeTime: { + future: 'f’ %s', + past: '%s ilu', + s: 'ftit sekondi', + ss: '%d sekondi', + m: 'minuta', + mm: '%d minuti', + h: 'siegħa', + hh: '%d siegħat', + d: 'ġurnata', + dd: '%d ġranet', + M: 'xahar', + MM: '%d xhur', + y: 'sena', + yy: '%d sni', + }, + dayOfMonthOrdinalParse: /\d{1,2}º/, + ordinal: '%dº', + week: { dow: 1, doy: 4 }, + }); + })(i(30381)); + }, + 56165: function (e, t, i) { + !(function (e) { + 'use strict'; + var t = { + 1: '၁', + 2: '၂', + 3: '၃', + 4: '၄', + 5: '၅', + 6: '၆', + 7: '၇', + 8: '၈', + 9: '၉', + 0: '၀', + }, + i = { + '၁': '1', + '၂': '2', + '၃': '3', + '၄': '4', + '၅': '5', + '၆': '6', + '၇': '7', + '၈': '8', + '၉': '9', + '၀': '0', + }; + e.defineLocale('my', { + months: 'ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ'.split( + '_' + ), + monthsShort: 'ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ'.split( + '_' + ), + weekdays: 'တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ'.split( + '_' + ), + weekdaysShort: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'), + weekdaysMin: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd D MMMM YYYY HH:mm', + }, + calendar: { + sameDay: '[ယနေ.] LT [မှာ]', + nextDay: '[မနက်ဖြန်] LT [မှာ]', + nextWeek: 'dddd LT [မှာ]', + lastDay: '[မနေ.က] LT [မှာ]', + lastWeek: '[ပြီးခဲ့သော] dddd LT [မှာ]', + sameElse: 'L', + }, + relativeTime: { + future: 'လာမည့် %s မှာ', + past: 'လွန်ခဲ့သော %s က', + s: 'စက္ကန်.အနည်းငယ်', + ss: '%d စက္ကန့်', + m: 'တစ်မိနစ်', + mm: '%d မိနစ်', + h: 'တစ်နာရီ', + hh: '%d နာရီ', + d: 'တစ်ရက်', + dd: '%d ရက်', + M: 'တစ်လ', + MM: '%d လ', + y: 'တစ်နှစ်', + yy: '%d နှစ်', + }, + preparse: function (e) { + return e.replace(/[၁၂၃၄၅၆၇၈၉၀]/g, function (e) { + return i[e]; + }); + }, + postformat: function (e) { + return e.replace(/\d/g, function (e) { + return t[e]; + }); + }, + week: { dow: 1, doy: 4 }, + }); + })(i(30381)); + }, + 64924: function (e, t, i) { + !(function (e) { + 'use strict'; + e.defineLocale('nb', { + months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split( + '_' + ), + monthsShort: 'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split( + '_' + ), + monthsParseExact: !0, + weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split( + '_' + ), + weekdaysShort: 'sø._ma._ti._on._to._fr._lø.'.split('_'), + weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'), + weekdaysParseExact: !0, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD.MM.YYYY', + LL: 'D. MMMM YYYY', + LLL: 'D. MMMM YYYY [kl.] HH:mm', + LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm', + }, + calendar: { + sameDay: '[i dag kl.] LT', + nextDay: '[i morgen kl.] LT', + nextWeek: 'dddd [kl.] LT', + lastDay: '[i går kl.] LT', + lastWeek: '[forrige] dddd [kl.] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'om %s', + past: '%s siden', + s: 'noen sekunder', + ss: '%d sekunder', + m: 'ett minutt', + mm: '%d minutter', + h: 'en time', + hh: '%d timer', + d: 'en dag', + dd: '%d dager', + w: 'en uke', + ww: '%d uker', + M: 'en måned', + MM: '%d måneder', + y: 'ett år', + yy: '%d år', + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal: '%d.', + week: { dow: 1, doy: 4 }, + }); + })(i(30381)); + }, + 16744: function (e, t, i) { + !(function (e) { + 'use strict'; + var t = { + 1: '१', + 2: '२', + 3: '३', + 4: '४', + 5: '५', + 6: '६', + 7: '७', + 8: '८', + 9: '९', + 0: '०', + }, + i = { + '१': '1', + '२': '2', + '३': '3', + '४': '4', + '५': '5', + '६': '6', + '७': '7', + '८': '8', + '९': '9', + '०': '0', + }; + e.defineLocale('ne', { + months: 'जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर'.split( + '_' + ), + monthsShort: 'जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.'.split( + '_' + ), + monthsParseExact: !0, + weekdays: 'आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार'.split( + '_' + ), + weekdaysShort: 'आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.'.split('_'), + weekdaysMin: 'आ._सो._मं._बु._बि._शु._श.'.split('_'), + weekdaysParseExact: !0, + longDateFormat: { + LT: 'Aको h:mm बजे', + LTS: 'Aको h:mm:ss बजे', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY, Aको h:mm बजे', + LLLL: 'dddd, D MMMM YYYY, Aको h:mm बजे', + }, + preparse: function (e) { + return e.replace(/[१२३४५६७८९०]/g, function (e) { + return i[e]; + }); + }, + postformat: function (e) { + return e.replace(/\d/g, function (e) { + return t[e]; + }); + }, + meridiemParse: /राति|बिहान|दिउँसो|साँझ/, + meridiemHour: function (e, t) { + return ( + 12 === e && (e = 0), + 'राति' === t + ? e < 4 + ? e + : e + 12 + : 'बिहान' === t + ? e + : 'दिउँसो' === t + ? e >= 10 + ? e + : e + 12 + : 'साँझ' === t + ? e + 12 + : void 0 + ); + }, + meridiem: function (e, t, i) { + return e < 3 + ? 'राति' + : e < 12 + ? 'बिहान' + : e < 16 + ? 'दिउँसो' + : e < 20 + ? 'साँझ' + : 'राति'; + }, + calendar: { + sameDay: '[आज] LT', + nextDay: '[भोलि] LT', + nextWeek: '[आउँदो] dddd[,] LT', + lastDay: '[हिजो] LT', + lastWeek: '[गएको] dddd[,] LT', + sameElse: 'L', + }, + relativeTime: { + future: '%sमा', + past: '%s अगाडि', + s: 'केही क्षण', + ss: '%d सेकेण्ड', + m: 'एक मिनेट', + mm: '%d मिनेट', + h: 'एक घण्टा', + hh: '%d घण्टा', + d: 'एक दिन', + dd: '%d दिन', + M: 'एक महिना', + MM: '%d महिना', + y: 'एक बर्ष', + yy: '%d बर्ष', + }, + week: { dow: 0, doy: 6 }, + }); + })(i(30381)); + }, + 59814: function (e, t, i) { + !(function (e) { + 'use strict'; + var t = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split( + '_' + ), + i = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_'), + n = [ + /^jan/i, + /^feb/i, + /^maart|mrt.?$/i, + /^apr/i, + /^mei$/i, + /^jun[i.]?$/i, + /^jul[i.]?$/i, + /^aug/i, + /^sep/i, + /^okt/i, + /^nov/i, + /^dec/i, + ], + r = /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i; + e.defineLocale('nl-be', { + months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split( + '_' + ), + monthsShort: function (e, n) { + return e ? (/-MMM-/.test(n) ? i[e.month()] : t[e.month()]) : t; + }, + monthsRegex: r, + monthsShortRegex: r, + monthsStrictRegex: /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i, + monthsShortStrictRegex: /^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i, + monthsParse: n, + longMonthsParse: n, + shortMonthsParse: n, + weekdays: 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split( + '_' + ), + weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'), + weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'), + weekdaysParseExact: !0, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd D MMMM YYYY HH:mm', + }, + calendar: { + sameDay: '[vandaag om] LT', + nextDay: '[morgen om] LT', + nextWeek: 'dddd [om] LT', + lastDay: '[gisteren om] LT', + lastWeek: '[afgelopen] dddd [om] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'over %s', + past: '%s geleden', + s: 'een paar seconden', + ss: '%d seconden', + m: 'één minuut', + mm: '%d minuten', + h: 'één uur', + hh: '%d uur', + d: 'één dag', + dd: '%d dagen', + M: 'één maand', + MM: '%d maanden', + y: 'één jaar', + yy: '%d jaar', + }, + dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/, + ordinal: function (e) { + return e + (1 === e || 8 === e || e >= 20 ? 'ste' : 'de'); + }, + week: { dow: 1, doy: 4 }, + }); + })(i(30381)); + }, + 93901: function (e, t, i) { + !(function (e) { + 'use strict'; + var t = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split( + '_' + ), + i = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_'), + n = [ + /^jan/i, + /^feb/i, + /^maart|mrt.?$/i, + /^apr/i, + /^mei$/i, + /^jun[i.]?$/i, + /^jul[i.]?$/i, + /^aug/i, + /^sep/i, + /^okt/i, + /^nov/i, + /^dec/i, + ], + r = /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i; + e.defineLocale('nl', { + months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split( + '_' + ), + monthsShort: function (e, n) { + return e ? (/-MMM-/.test(n) ? i[e.month()] : t[e.month()]) : t; + }, + monthsRegex: r, + monthsShortRegex: r, + monthsStrictRegex: /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i, + monthsShortStrictRegex: /^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i, + monthsParse: n, + longMonthsParse: n, + shortMonthsParse: n, + weekdays: 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split( + '_' + ), + weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'), + weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'), + weekdaysParseExact: !0, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD-MM-YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd D MMMM YYYY HH:mm', + }, + calendar: { + sameDay: '[vandaag om] LT', + nextDay: '[morgen om] LT', + nextWeek: 'dddd [om] LT', + lastDay: '[gisteren om] LT', + lastWeek: '[afgelopen] dddd [om] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'over %s', + past: '%s geleden', + s: 'een paar seconden', + ss: '%d seconden', + m: 'één minuut', + mm: '%d minuten', + h: 'één uur', + hh: '%d uur', + d: 'één dag', + dd: '%d dagen', + w: 'één week', + ww: '%d weken', + M: 'één maand', + MM: '%d maanden', + y: 'één jaar', + yy: '%d jaar', + }, + dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/, + ordinal: function (e) { + return e + (1 === e || 8 === e || e >= 20 ? 'ste' : 'de'); + }, + week: { dow: 1, doy: 4 }, + }); + })(i(30381)); + }, + 83877: function (e, t, i) { + !(function (e) { + 'use strict'; + e.defineLocale('nn', { + months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split( + '_' + ), + monthsShort: 'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split( + '_' + ), + monthsParseExact: !0, + weekdays: 'sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag'.split( + '_' + ), + weekdaysShort: 'su._må._ty._on._to._fr._lau.'.split('_'), + weekdaysMin: 'su_må_ty_on_to_fr_la'.split('_'), + weekdaysParseExact: !0, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD.MM.YYYY', + LL: 'D. MMMM YYYY', + LLL: 'D. MMMM YYYY [kl.] H:mm', + LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm', + }, + calendar: { + sameDay: '[I dag klokka] LT', + nextDay: '[I morgon klokka] LT', + nextWeek: 'dddd [klokka] LT', + lastDay: '[I går klokka] LT', + lastWeek: '[Føregåande] dddd [klokka] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'om %s', + past: '%s sidan', + s: 'nokre sekund', + ss: '%d sekund', + m: 'eit minutt', + mm: '%d minutt', + h: 'ein time', + hh: '%d timar', + d: 'ein dag', + dd: '%d dagar', + w: 'ei veke', + ww: '%d veker', + M: 'ein månad', + MM: '%d månader', + y: 'eit år', + yy: '%d år', + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal: '%d.', + week: { dow: 1, doy: 4 }, + }); + })(i(30381)); + }, + 92135: function (e, t, i) { + !(function (e) { + 'use strict'; + e.defineLocale('oc-lnc', { + months: { + standalone: 'genièr_febrièr_març_abril_mai_junh_julhet_agost_setembre_octòbre_novembre_decembre'.split( + '_' + ), + format: "de genièr_de febrièr_de març_d'abril_de mai_de junh_de julhet_d'agost_de setembre_d'octòbre_de novembre_de decembre".split( + '_' + ), + isFormat: /D[oD]?(\s)+MMMM/, + }, + monthsShort: 'gen._febr._març_abr._mai_junh_julh._ago._set._oct._nov._dec.'.split( + '_' + ), + monthsParseExact: !0, + weekdays: 'dimenge_diluns_dimars_dimècres_dijòus_divendres_dissabte'.split( + '_' + ), + weekdaysShort: 'dg._dl._dm._dc._dj._dv._ds.'.split('_'), + weekdaysMin: 'dg_dl_dm_dc_dj_dv_ds'.split('_'), + weekdaysParseExact: !0, + longDateFormat: { + LT: 'H:mm', + LTS: 'H:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM [de] YYYY', + ll: 'D MMM YYYY', + LLL: 'D MMMM [de] YYYY [a] H:mm', + lll: 'D MMM YYYY, H:mm', + LLLL: 'dddd D MMMM [de] YYYY [a] H:mm', + llll: 'ddd D MMM YYYY, H:mm', + }, + calendar: { + sameDay: '[uèi a] LT', + nextDay: '[deman a] LT', + nextWeek: 'dddd [a] LT', + lastDay: '[ièr a] LT', + lastWeek: 'dddd [passat a] LT', + sameElse: 'L', + }, + relativeTime: { + future: "d'aquí %s", + past: 'fa %s', + s: 'unas segondas', + ss: '%d segondas', + m: 'una minuta', + mm: '%d minutas', + h: 'una ora', + hh: '%d oras', + d: 'un jorn', + dd: '%d jorns', + M: 'un mes', + MM: '%d meses', + y: 'un an', + yy: '%d ans', + }, + dayOfMonthOrdinalParse: /\d{1,2}(r|n|t|è|a)/, + ordinal: function (e, t) { + var i = + 1 === e + ? 'r' + : 2 === e + ? 'n' + : 3 === e + ? 'r' + : 4 === e + ? 't' + : 'è'; + return ('w' !== t && 'W' !== t) || (i = 'a'), e + i; + }, + week: { dow: 1, doy: 4 }, + }); + })(i(30381)); + }, + 15858: function (e, t, i) { + !(function (e) { + 'use strict'; + var t = { + 1: '੧', + 2: '੨', + 3: '੩', + 4: '੪', + 5: '੫', + 6: '੬', + 7: '੭', + 8: '੮', + 9: '੯', + 0: '੦', + }, + i = { + '੧': '1', + '੨': '2', + '੩': '3', + '੪': '4', + '੫': '5', + '੬': '6', + '੭': '7', + '੮': '8', + '੯': '9', + '੦': '0', + }; + e.defineLocale('pa-in', { + months: 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split( + '_' + ), + monthsShort: 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split( + '_' + ), + weekdays: 'ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ'.split( + '_' + ), + weekdaysShort: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'), + weekdaysMin: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'), + longDateFormat: { + LT: 'A h:mm ਵਜੇ', + LTS: 'A h:mm:ss ਵਜੇ', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY, A h:mm ਵਜੇ', + LLLL: 'dddd, D MMMM YYYY, A h:mm ਵਜੇ', + }, + calendar: { + sameDay: '[ਅਜ] LT', + nextDay: '[ਕਲ] LT', + nextWeek: '[ਅਗਲਾ] dddd, LT', + lastDay: '[ਕਲ] LT', + lastWeek: '[ਪਿਛਲੇ] dddd, LT', + sameElse: 'L', + }, + relativeTime: { + future: '%s ਵਿੱਚ', + past: '%s ਪਿਛਲੇ', + s: 'ਕੁਝ ਸਕਿੰਟ', + ss: '%d ਸਕਿੰਟ', + m: 'ਇਕ ਮਿੰਟ', + mm: '%d ਮਿੰਟ', + h: 'ਇੱਕ ਘੰਟਾ', + hh: '%d ਘੰਟੇ', + d: 'ਇੱਕ ਦਿਨ', + dd: '%d ਦਿਨ', + M: 'ਇੱਕ ਮਹੀਨਾ', + MM: '%d ਮਹੀਨੇ', + y: 'ਇੱਕ ਸਾਲ', + yy: '%d ਸਾਲ', + }, + preparse: function (e) { + return e.replace(/[੧੨੩੪੫੬੭੮੯੦]/g, function (e) { + return i[e]; + }); + }, + postformat: function (e) { + return e.replace(/\d/g, function (e) { + return t[e]; + }); + }, + meridiemParse: /ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/, + meridiemHour: function (e, t) { + return ( + 12 === e && (e = 0), + 'ਰਾਤ' === t + ? e < 4 + ? e + : e + 12 + : 'ਸਵੇਰ' === t + ? e + : 'ਦੁਪਹਿਰ' === t + ? e >= 10 + ? e + : e + 12 + : 'ਸ਼ਾਮ' === t + ? e + 12 + : void 0 + ); + }, + meridiem: function (e, t, i) { + return e < 4 + ? 'ਰਾਤ' + : e < 10 + ? 'ਸਵੇਰ' + : e < 17 + ? 'ਦੁਪਹਿਰ' + : e < 20 + ? 'ਸ਼ਾਮ' + : 'ਰਾਤ'; + }, + week: { dow: 0, doy: 6 }, + }); + })(i(30381)); + }, + 64495: function (e, t, i) { + !(function (e) { + 'use strict'; + var t = 'styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień'.split( + '_' + ), + i = 'stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia'.split( + '_' + ), + n = [ + /^sty/i, + /^lut/i, + /^mar/i, + /^kwi/i, + /^maj/i, + /^cze/i, + /^lip/i, + /^sie/i, + /^wrz/i, + /^paź/i, + /^lis/i, + /^gru/i, + ]; + function r(e) { + return e % 10 < 5 && e % 10 > 1 && ~~(e / 10) % 10 != 1; + } + function s(e, t, i) { + var n = e + ' '; + switch (i) { + case 'ss': + return n + (r(e) ? 'sekundy' : 'sekund'); + case 'm': + return t ? 'minuta' : 'minutę'; + case 'mm': + return n + (r(e) ? 'minuty' : 'minut'); + case 'h': + return t ? 'godzina' : 'godzinę'; + case 'hh': + return n + (r(e) ? 'godziny' : 'godzin'); + case 'ww': + return n + (r(e) ? 'tygodnie' : 'tygodni'); + case 'MM': + return n + (r(e) ? 'miesiące' : 'miesięcy'); + case 'yy': + return n + (r(e) ? 'lata' : 'lat'); + } + } + e.defineLocale('pl', { + months: function (e, n) { + return e ? (/D MMMM/.test(n) ? i[e.month()] : t[e.month()]) : t; + }, + monthsShort: 'sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru'.split( + '_' + ), + monthsParse: n, + longMonthsParse: n, + shortMonthsParse: n, + weekdays: 'niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota'.split( + '_' + ), + weekdaysShort: 'ndz_pon_wt_śr_czw_pt_sob'.split('_'), + weekdaysMin: 'Nd_Pn_Wt_Śr_Cz_Pt_So'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD.MM.YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd, D MMMM YYYY HH:mm', + }, + calendar: { + sameDay: '[Dziś o] LT', + nextDay: '[Jutro o] LT', + nextWeek: function () { + switch (this.day()) { + case 0: + return '[W niedzielę o] LT'; + case 2: + return '[We wtorek o] LT'; + case 3: + return '[W środę o] LT'; + case 6: + return '[W sobotę o] LT'; + default: + return '[W] dddd [o] LT'; + } + }, + lastDay: '[Wczoraj o] LT', + lastWeek: function () { + switch (this.day()) { + case 0: + return '[W zeszłą niedzielę o] LT'; + case 3: + return '[W zeszłą środę o] LT'; + case 6: + return '[W zeszłą sobotę o] LT'; + default: + return '[W zeszły] dddd [o] LT'; + } + }, + sameElse: 'L', + }, + relativeTime: { + future: 'za %s', + past: '%s temu', + s: 'kilka sekund', + ss: s, + m: s, + mm: s, + h: s, + hh: s, + d: '1 dzień', + dd: '%d dni', + w: 'tydzień', + ww: s, + M: 'miesiąc', + MM: s, + y: 'rok', + yy: s, + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal: '%d.', + week: { dow: 1, doy: 4 }, + }); + })(i(30381)); + }, + 57971: function (e, t, i) { + !(function (e) { + 'use strict'; + e.defineLocale('pt-br', { + months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split( + '_' + ), + monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split( + '_' + ), + weekdays: 'domingo_segunda-feira_terça-feira_quarta-feira_quinta-feira_sexta-feira_sábado'.split( + '_' + ), + weekdaysShort: 'dom_seg_ter_qua_qui_sex_sáb'.split('_'), + weekdaysMin: 'do_2ª_3ª_4ª_5ª_6ª_sá'.split('_'), + weekdaysParseExact: !0, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D [de] MMMM [de] YYYY', + LLL: 'D [de] MMMM [de] YYYY [às] HH:mm', + LLLL: 'dddd, D [de] MMMM [de] YYYY [às] HH:mm', + }, + calendar: { + sameDay: '[Hoje às] LT', + nextDay: '[Amanhã às] LT', + nextWeek: 'dddd [às] LT', + lastDay: '[Ontem às] LT', + lastWeek: function () { + return 0 === this.day() || 6 === this.day() + ? '[Último] dddd [às] LT' + : '[Última] dddd [às] LT'; + }, + sameElse: 'L', + }, + relativeTime: { + future: 'em %s', + past: 'há %s', + s: 'poucos segundos', + ss: '%d segundos', + m: 'um minuto', + mm: '%d minutos', + h: 'uma hora', + hh: '%d horas', + d: 'um dia', + dd: '%d dias', + M: 'um mês', + MM: '%d meses', + y: 'um ano', + yy: '%d anos', + }, + dayOfMonthOrdinalParse: /\d{1,2}º/, + ordinal: '%dº', + invalidDate: 'Data inválida', + }); + })(i(30381)); + }, + 89520: function (e, t, i) { + !(function (e) { + 'use strict'; + e.defineLocale('pt', { + months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split( + '_' + ), + monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split( + '_' + ), + weekdays: 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split( + '_' + ), + weekdaysShort: 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'), + weekdaysMin: 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'), + weekdaysParseExact: !0, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D [de] MMMM [de] YYYY', + LLL: 'D [de] MMMM [de] YYYY HH:mm', + LLLL: 'dddd, D [de] MMMM [de] YYYY HH:mm', + }, + calendar: { + sameDay: '[Hoje às] LT', + nextDay: '[Amanhã às] LT', + nextWeek: 'dddd [às] LT', + lastDay: '[Ontem às] LT', + lastWeek: function () { + return 0 === this.day() || 6 === this.day() + ? '[Último] dddd [às] LT' + : '[Última] dddd [às] LT'; + }, + sameElse: 'L', + }, + relativeTime: { + future: 'em %s', + past: 'há %s', + s: 'segundos', + ss: '%d segundos', + m: 'um minuto', + mm: '%d minutos', + h: 'uma hora', + hh: '%d horas', + d: 'um dia', + dd: '%d dias', + w: 'uma semana', + ww: '%d semanas', + M: 'um mês', + MM: '%d meses', + y: 'um ano', + yy: '%d anos', + }, + dayOfMonthOrdinalParse: /\d{1,2}º/, + ordinal: '%dº', + week: { dow: 1, doy: 4 }, + }); + })(i(30381)); + }, + 96459: function (e, t, i) { + !(function (e) { + 'use strict'; + function t(e, t, i) { + var n = ' '; + return ( + (e % 100 >= 20 || (e >= 100 && e % 100 == 0)) && (n = ' de '), + e + + n + + { + ss: 'secunde', + mm: 'minute', + hh: 'ore', + dd: 'zile', + ww: 'săptămâni', + MM: 'luni', + yy: 'ani', + }[i] + ); + } + e.defineLocale('ro', { + months: 'ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie'.split( + '_' + ), + monthsShort: 'ian._feb._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.'.split( + '_' + ), + monthsParseExact: !0, + weekdays: 'duminică_luni_marți_miercuri_joi_vineri_sâmbătă'.split( + '_' + ), + weekdaysShort: 'Dum_Lun_Mar_Mie_Joi_Vin_Sâm'.split('_'), + weekdaysMin: 'Du_Lu_Ma_Mi_Jo_Vi_Sâ'.split('_'), + longDateFormat: { + LT: 'H:mm', + LTS: 'H:mm:ss', + L: 'DD.MM.YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY H:mm', + LLLL: 'dddd, D MMMM YYYY H:mm', + }, + calendar: { + sameDay: '[azi la] LT', + nextDay: '[mâine la] LT', + nextWeek: 'dddd [la] LT', + lastDay: '[ieri la] LT', + lastWeek: '[fosta] dddd [la] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'peste %s', + past: '%s în urmă', + s: 'câteva secunde', + ss: t, + m: 'un minut', + mm: t, + h: 'o oră', + hh: t, + d: 'o zi', + dd: t, + w: 'o săptămână', + ww: t, + M: 'o lună', + MM: t, + y: 'un an', + yy: t, + }, + week: { dow: 1, doy: 7 }, + }); + })(i(30381)); + }, + 21793: function (e, t, i) { + !(function (e) { + 'use strict'; + function t(e, t, i) { + return 'm' === i + ? t + ? 'минута' + : 'минуту' + : e + + ' ' + + ((n = +e), + (r = { + ss: t ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд', + mm: t ? 'минута_минуты_минут' : 'минуту_минуты_минут', + hh: 'час_часа_часов', + dd: 'день_дня_дней', + ww: 'неделя_недели_недель', + MM: 'месяц_месяца_месяцев', + yy: 'год_года_лет', + }[i].split('_')), + n % 10 == 1 && n % 100 != 11 + ? r[0] + : n % 10 >= 2 && + n % 10 <= 4 && + (n % 100 < 10 || n % 100 >= 20) + ? r[1] + : r[2]); + var n, r; + } + var i = [ + /^янв/i, + /^фев/i, + /^мар/i, + /^апр/i, + /^ма[йя]/i, + /^июн/i, + /^июл/i, + /^авг/i, + /^сен/i, + /^окт/i, + /^ноя/i, + /^дек/i, + ]; + e.defineLocale('ru', { + months: { + format: 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split( + '_' + ), + standalone: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split( + '_' + ), + }, + monthsShort: { + format: 'янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.'.split( + '_' + ), + standalone: 'янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.'.split( + '_' + ), + }, + weekdays: { + standalone: 'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.split( + '_' + ), + format: 'воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу'.split( + '_' + ), + isFormat: /\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?] ?dddd/, + }, + weekdaysShort: 'вс_пн_вт_ср_чт_пт_сб'.split('_'), + weekdaysMin: 'вс_пн_вт_ср_чт_пт_сб'.split('_'), + monthsParse: i, + longMonthsParse: i, + shortMonthsParse: i, + monthsRegex: /^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i, + monthsShortRegex: /^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i, + monthsStrictRegex: /^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i, + monthsShortStrictRegex: /^(янв\.|февр?\.|мар[т.]|апр\.|ма[яй]|июн[ья.]|июл[ья.]|авг\.|сент?\.|окт\.|нояб?\.|дек\.)/i, + longDateFormat: { + LT: 'H:mm', + LTS: 'H:mm:ss', + L: 'DD.MM.YYYY', + LL: 'D MMMM YYYY г.', + LLL: 'D MMMM YYYY г., H:mm', + LLLL: 'dddd, D MMMM YYYY г., H:mm', + }, + calendar: { + sameDay: '[Сегодня, в] LT', + nextDay: '[Завтра, в] LT', + lastDay: '[Вчера, в] LT', + nextWeek: function (e) { + if (e.week() === this.week()) + return 2 === this.day() + ? '[Во] dddd, [в] LT' + : '[В] dddd, [в] LT'; + switch (this.day()) { + case 0: + return '[В следующее] dddd, [в] LT'; + case 1: + case 2: + case 4: + return '[В следующий] dddd, [в] LT'; + case 3: + case 5: + case 6: + return '[В следующую] dddd, [в] LT'; + } + }, + lastWeek: function (e) { + if (e.week() === this.week()) + return 2 === this.day() + ? '[Во] dddd, [в] LT' + : '[В] dddd, [в] LT'; + switch (this.day()) { + case 0: + return '[В прошлое] dddd, [в] LT'; + case 1: + case 2: + case 4: + return '[В прошлый] dddd, [в] LT'; + case 3: + case 5: + case 6: + return '[В прошлую] dddd, [в] LT'; + } + }, + sameElse: 'L', + }, + relativeTime: { + future: 'через %s', + past: '%s назад', + s: 'несколько секунд', + ss: t, + m: t, + mm: t, + h: 'час', + hh: t, + d: 'день', + dd: t, + w: 'неделя', + ww: t, + M: 'месяц', + MM: t, + y: 'год', + yy: t, + }, + meridiemParse: /ночи|утра|дня|вечера/i, + isPM: function (e) { + return /^(дня|вечера)$/.test(e); + }, + meridiem: function (e, t, i) { + return e < 4 + ? 'ночи' + : e < 12 + ? 'утра' + : e < 17 + ? 'дня' + : 'вечера'; + }, + dayOfMonthOrdinalParse: /\d{1,2}-(й|го|я)/, + ordinal: function (e, t) { + switch (t) { + case 'M': + case 'd': + case 'DDD': + return e + '-й'; + case 'D': + return e + '-го'; + case 'w': + case 'W': + return e + '-я'; + default: + return e; + } + }, + week: { dow: 1, doy: 4 }, + }); + })(i(30381)); + }, + 40950: function (e, t, i) { + !(function (e) { + 'use strict'; + var t = [ + 'جنوري', + 'فيبروري', + 'مارچ', + 'اپريل', + 'مئي', + 'جون', + 'جولاءِ', + 'آگسٽ', + 'سيپٽمبر', + 'آڪٽوبر', + 'نومبر', + 'ڊسمبر', + ], + i = ['آچر', 'سومر', 'اڱارو', 'اربع', 'خميس', 'جمع', 'ڇنڇر']; + e.defineLocale('sd', { + months: t, + monthsShort: t, + weekdays: i, + weekdaysShort: i, + weekdaysMin: i, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd، D MMMM YYYY HH:mm', + }, + meridiemParse: /صبح|شام/, + isPM: function (e) { + return 'شام' === e; + }, + meridiem: function (e, t, i) { + return e < 12 ? 'صبح' : 'شام'; + }, + calendar: { + sameDay: '[اڄ] LT', + nextDay: '[سڀاڻي] LT', + nextWeek: 'dddd [اڳين هفتي تي] LT', + lastDay: '[ڪالهه] LT', + lastWeek: '[گزريل هفتي] dddd [تي] LT', + sameElse: 'L', + }, + relativeTime: { + future: '%s پوء', + past: '%s اڳ', + s: 'چند سيڪنڊ', + ss: '%d سيڪنڊ', + m: 'هڪ منٽ', + mm: '%d منٽ', + h: 'هڪ ڪلاڪ', + hh: '%d ڪلاڪ', + d: 'هڪ ڏينهن', + dd: '%d ڏينهن', + M: 'هڪ مهينو', + MM: '%d مهينا', + y: 'هڪ سال', + yy: '%d سال', + }, + preparse: function (e) { + return e.replace(/،/g, ','); + }, + postformat: function (e) { + return e.replace(/,/g, '،'); + }, + week: { dow: 1, doy: 4 }, + }); + })(i(30381)); + }, + 10490: function (e, t, i) { + !(function (e) { + 'use strict'; + e.defineLocale('se', { + months: 'ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu'.split( + '_' + ), + monthsShort: 'ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov'.split( + '_' + ), + weekdays: 'sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat'.split( + '_' + ), + weekdaysShort: 'sotn_vuos_maŋ_gask_duor_bear_láv'.split('_'), + weekdaysMin: 's_v_m_g_d_b_L'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD.MM.YYYY', + LL: 'MMMM D. [b.] YYYY', + LLL: 'MMMM D. [b.] YYYY [ti.] HH:mm', + LLLL: 'dddd, MMMM D. [b.] YYYY [ti.] HH:mm', + }, + calendar: { + sameDay: '[otne ti] LT', + nextDay: '[ihttin ti] LT', + nextWeek: 'dddd [ti] LT', + lastDay: '[ikte ti] LT', + lastWeek: '[ovddit] dddd [ti] LT', + sameElse: 'L', + }, + relativeTime: { + future: '%s geažes', + past: 'maŋit %s', + s: 'moadde sekunddat', + ss: '%d sekunddat', + m: 'okta minuhta', + mm: '%d minuhtat', + h: 'okta diimmu', + hh: '%d diimmut', + d: 'okta beaivi', + dd: '%d beaivvit', + M: 'okta mánnu', + MM: '%d mánut', + y: 'okta jahki', + yy: '%d jagit', + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal: '%d.', + week: { dow: 1, doy: 4 }, + }); + })(i(30381)); + }, + 90124: function (e, t, i) { + !(function (e) { + 'use strict'; + e.defineLocale('si', { + months: 'ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්'.split( + '_' + ), + monthsShort: 'ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ'.split( + '_' + ), + weekdays: 'ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා'.split( + '_' + ), + weekdaysShort: 'ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන'.split('_'), + weekdaysMin: 'ඉ_ස_අ_බ_බ්‍ර_සි_සෙ'.split('_'), + weekdaysParseExact: !0, + longDateFormat: { + LT: 'a h:mm', + LTS: 'a h:mm:ss', + L: 'YYYY/MM/DD', + LL: 'YYYY MMMM D', + LLL: 'YYYY MMMM D, a h:mm', + LLLL: 'YYYY MMMM D [වැනි] dddd, a h:mm:ss', + }, + calendar: { + sameDay: '[අද] LT[ට]', + nextDay: '[හෙට] LT[ට]', + nextWeek: 'dddd LT[ට]', + lastDay: '[ඊයේ] LT[ට]', + lastWeek: '[පසුගිය] dddd LT[ට]', + sameElse: 'L', + }, + relativeTime: { + future: '%sකින්', + past: '%sකට පෙර', + s: 'තත්පර කිහිපය', + ss: 'තත්පර %d', + m: 'මිනිත්තුව', + mm: 'මිනිත්තු %d', + h: 'පැය', + hh: 'පැය %d', + d: 'දිනය', + dd: 'දින %d', + M: 'මාසය', + MM: 'මාස %d', + y: 'වසර', + yy: 'වසර %d', + }, + dayOfMonthOrdinalParse: /\d{1,2} වැනි/, + ordinal: function (e) { + return e + ' වැනි'; + }, + meridiemParse: /පෙර වරු|පස් වරු|පෙ.ව|ප.ව./, + isPM: function (e) { + return 'ප.ව.' === e || 'පස් වරු' === e; + }, + meridiem: function (e, t, i) { + return e > 11 + ? i + ? 'ප.ව.' + : 'පස් වරු' + : i + ? 'පෙ.ව.' + : 'පෙර වරු'; + }, + }); + })(i(30381)); + }, + 64249: function (e, t, i) { + !(function (e) { + 'use strict'; + var t = 'január_február_marec_apríl_máj_jún_júl_august_september_október_november_december'.split( + '_' + ), + i = 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_'); + function n(e) { + return e > 1 && e < 5; + } + function r(e, t, i, r) { + var s = e + ' '; + switch (i) { + case 's': + return t || r ? 'pár sekúnd' : 'pár sekundami'; + case 'ss': + return t || r + ? s + (n(e) ? 'sekundy' : 'sekúnd') + : s + 'sekundami'; + case 'm': + return t ? 'minúta' : r ? 'minútu' : 'minútou'; + case 'mm': + return t || r + ? s + (n(e) ? 'minúty' : 'minút') + : s + 'minútami'; + case 'h': + return t ? 'hodina' : r ? 'hodinu' : 'hodinou'; + case 'hh': + return t || r + ? s + (n(e) ? 'hodiny' : 'hodín') + : s + 'hodinami'; + case 'd': + return t || r ? 'deň' : 'dňom'; + case 'dd': + return t || r ? s + (n(e) ? 'dni' : 'dní') : s + 'dňami'; + case 'M': + return t || r ? 'mesiac' : 'mesiacom'; + case 'MM': + return t || r + ? s + (n(e) ? 'mesiace' : 'mesiacov') + : s + 'mesiacmi'; + case 'y': + return t || r ? 'rok' : 'rokom'; + case 'yy': + return t || r ? s + (n(e) ? 'roky' : 'rokov') : s + 'rokmi'; + } + } + e.defineLocale('sk', { + months: t, + monthsShort: i, + weekdays: 'nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota'.split( + '_' + ), + weekdaysShort: 'ne_po_ut_st_št_pi_so'.split('_'), + weekdaysMin: 'ne_po_ut_st_št_pi_so'.split('_'), + longDateFormat: { + LT: 'H:mm', + LTS: 'H:mm:ss', + L: 'DD.MM.YYYY', + LL: 'D. MMMM YYYY', + LLL: 'D. MMMM YYYY H:mm', + LLLL: 'dddd D. MMMM YYYY H:mm', + }, + calendar: { + sameDay: '[dnes o] LT', + nextDay: '[zajtra o] LT', + nextWeek: function () { + switch (this.day()) { + case 0: + return '[v nedeľu o] LT'; + case 1: + case 2: + return '[v] dddd [o] LT'; + case 3: + return '[v stredu o] LT'; + case 4: + return '[vo štvrtok o] LT'; + case 5: + return '[v piatok o] LT'; + case 6: + return '[v sobotu o] LT'; + } + }, + lastDay: '[včera o] LT', + lastWeek: function () { + switch (this.day()) { + case 0: + return '[minulú nedeľu o] LT'; + case 1: + case 2: + return '[minulý] dddd [o] LT'; + case 3: + return '[minulú stredu o] LT'; + case 4: + case 5: + return '[minulý] dddd [o] LT'; + case 6: + return '[minulú sobotu o] LT'; + } + }, + sameElse: 'L', + }, + relativeTime: { + future: 'za %s', + past: 'pred %s', + s: r, + ss: r, + m: r, + mm: r, + h: r, + hh: r, + d: r, + dd: r, + M: r, + MM: r, + y: r, + yy: r, + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal: '%d.', + week: { dow: 1, doy: 4 }, + }); + })(i(30381)); + }, + 14985: function (e, t, i) { + !(function (e) { + 'use strict'; + function t(e, t, i, n) { + var r = e + ' '; + switch (i) { + case 's': + return t || n ? 'nekaj sekund' : 'nekaj sekundami'; + case 'ss': + return ( + r + + (1 === e + ? t + ? 'sekundo' + : 'sekundi' + : 2 === e + ? t || n + ? 'sekundi' + : 'sekundah' + : e < 5 + ? t || n + ? 'sekunde' + : 'sekundah' + : 'sekund') + ); + case 'm': + return t ? 'ena minuta' : 'eno minuto'; + case 'mm': + return ( + r + + (1 === e + ? t + ? 'minuta' + : 'minuto' + : 2 === e + ? t || n + ? 'minuti' + : 'minutama' + : e < 5 + ? t || n + ? 'minute' + : 'minutami' + : t || n + ? 'minut' + : 'minutami') + ); + case 'h': + return t ? 'ena ura' : 'eno uro'; + case 'hh': + return ( + r + + (1 === e + ? t + ? 'ura' + : 'uro' + : 2 === e + ? t || n + ? 'uri' + : 'urama' + : e < 5 + ? t || n + ? 'ure' + : 'urami' + : t || n + ? 'ur' + : 'urami') + ); + case 'd': + return t || n ? 'en dan' : 'enim dnem'; + case 'dd': + return ( + r + + (1 === e + ? t || n + ? 'dan' + : 'dnem' + : 2 === e + ? t || n + ? 'dni' + : 'dnevoma' + : t || n + ? 'dni' + : 'dnevi') + ); + case 'M': + return t || n ? 'en mesec' : 'enim mesecem'; + case 'MM': + return ( + r + + (1 === e + ? t || n + ? 'mesec' + : 'mesecem' + : 2 === e + ? t || n + ? 'meseca' + : 'mesecema' + : e < 5 + ? t || n + ? 'mesece' + : 'meseci' + : t || n + ? 'mesecev' + : 'meseci') + ); + case 'y': + return t || n ? 'eno leto' : 'enim letom'; + case 'yy': + return ( + r + + (1 === e + ? t || n + ? 'leto' + : 'letom' + : 2 === e + ? t || n + ? 'leti' + : 'letoma' + : e < 5 + ? t || n + ? 'leta' + : 'leti' + : t || n + ? 'let' + : 'leti') + ); + } + } + e.defineLocale('sl', { + months: 'januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december'.split( + '_' + ), + monthsShort: 'jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.'.split( + '_' + ), + monthsParseExact: !0, + weekdays: 'nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota'.split( + '_' + ), + weekdaysShort: 'ned._pon._tor._sre._čet._pet._sob.'.split('_'), + weekdaysMin: 'ne_po_to_sr_če_pe_so'.split('_'), + weekdaysParseExact: !0, + longDateFormat: { + LT: 'H:mm', + LTS: 'H:mm:ss', + L: 'DD. MM. YYYY', + LL: 'D. MMMM YYYY', + LLL: 'D. MMMM YYYY H:mm', + LLLL: 'dddd, D. MMMM YYYY H:mm', + }, + calendar: { + sameDay: '[danes ob] LT', + nextDay: '[jutri ob] LT', + nextWeek: function () { + switch (this.day()) { + case 0: + return '[v] [nedeljo] [ob] LT'; + case 3: + return '[v] [sredo] [ob] LT'; + case 6: + return '[v] [soboto] [ob] LT'; + case 1: + case 2: + case 4: + case 5: + return '[v] dddd [ob] LT'; + } + }, + lastDay: '[včeraj ob] LT', + lastWeek: function () { + switch (this.day()) { + case 0: + return '[prejšnjo] [nedeljo] [ob] LT'; + case 3: + return '[prejšnjo] [sredo] [ob] LT'; + case 6: + return '[prejšnjo] [soboto] [ob] LT'; + case 1: + case 2: + case 4: + case 5: + return '[prejšnji] dddd [ob] LT'; + } + }, + sameElse: 'L', + }, + relativeTime: { + future: 'čez %s', + past: 'pred %s', + s: t, + ss: t, + m: t, + mm: t, + h: t, + hh: t, + d: t, + dd: t, + M: t, + MM: t, + y: t, + yy: t, + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal: '%d.', + week: { dow: 1, doy: 7 }, + }); + })(i(30381)); + }, + 51104: function (e, t, i) { + !(function (e) { + 'use strict'; + e.defineLocale('sq', { + months: 'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split( + '_' + ), + monthsShort: 'Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj'.split( + '_' + ), + weekdays: 'E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë'.split( + '_' + ), + weekdaysShort: 'Die_Hën_Mar_Mër_Enj_Pre_Sht'.split('_'), + weekdaysMin: 'D_H_Ma_Më_E_P_Sh'.split('_'), + weekdaysParseExact: !0, + meridiemParse: /PD|MD/, + isPM: function (e) { + return 'M' === e.charAt(0); + }, + meridiem: function (e, t, i) { + return e < 12 ? 'PD' : 'MD'; + }, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd, D MMMM YYYY HH:mm', + }, + calendar: { + sameDay: '[Sot në] LT', + nextDay: '[Nesër në] LT', + nextWeek: 'dddd [në] LT', + lastDay: '[Dje në] LT', + lastWeek: 'dddd [e kaluar në] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'në %s', + past: '%s më parë', + s: 'disa sekonda', + ss: '%d sekonda', + m: 'një minutë', + mm: '%d minuta', + h: 'një orë', + hh: '%d orë', + d: 'një ditë', + dd: '%d ditë', + M: 'një muaj', + MM: '%d muaj', + y: 'një vit', + yy: '%d vite', + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal: '%d.', + week: { dow: 1, doy: 4 }, + }); + })(i(30381)); + }, + 79915: function (e, t, i) { + !(function (e) { + 'use strict'; + var t = { + words: { + ss: ['секунда', 'секунде', 'секунди'], + m: ['један минут', 'једне минуте'], + mm: ['минут', 'минуте', 'минута'], + h: ['један сат', 'једног сата'], + hh: ['сат', 'сата', 'сати'], + dd: ['дан', 'дана', 'дана'], + MM: ['месец', 'месеца', 'месеци'], + yy: ['година', 'године', 'година'], + }, + correctGrammaticalCase: function (e, t) { + return 1 === e ? t[0] : e >= 2 && e <= 4 ? t[1] : t[2]; + }, + translate: function (e, i, n) { + var r = t.words[n]; + return 1 === n.length + ? i + ? r[0] + : r[1] + : e + ' ' + t.correctGrammaticalCase(e, r); + }, + }; + e.defineLocale('sr-cyrl', { + months: 'јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар'.split( + '_' + ), + monthsShort: 'јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.'.split( + '_' + ), + monthsParseExact: !0, + weekdays: 'недеља_понедељак_уторак_среда_четвртак_петак_субота'.split( + '_' + ), + weekdaysShort: 'нед._пон._уто._сре._чет._пет._суб.'.split('_'), + weekdaysMin: 'не_по_ут_ср_че_пе_су'.split('_'), + weekdaysParseExact: !0, + longDateFormat: { + LT: 'H:mm', + LTS: 'H:mm:ss', + L: 'D. M. YYYY.', + LL: 'D. MMMM YYYY.', + LLL: 'D. MMMM YYYY. H:mm', + LLLL: 'dddd, D. MMMM YYYY. H:mm', + }, + calendar: { + sameDay: '[данас у] LT', + nextDay: '[сутра у] LT', + nextWeek: function () { + switch (this.day()) { + case 0: + return '[у] [недељу] [у] LT'; + case 3: + return '[у] [среду] [у] LT'; + case 6: + return '[у] [суботу] [у] LT'; + case 1: + case 2: + case 4: + case 5: + return '[у] dddd [у] LT'; + } + }, + lastDay: '[јуче у] LT', + lastWeek: function () { + return [ + '[прошле] [недеље] [у] LT', + '[прошлог] [понедељка] [у] LT', + '[прошлог] [уторка] [у] LT', + '[прошле] [среде] [у] LT', + '[прошлог] [четвртка] [у] LT', + '[прошлог] [петка] [у] LT', + '[прошле] [суботе] [у] LT', + ][this.day()]; + }, + sameElse: 'L', + }, + relativeTime: { + future: 'за %s', + past: 'пре %s', + s: 'неколико секунди', + ss: t.translate, + m: t.translate, + mm: t.translate, + h: t.translate, + hh: t.translate, + d: 'дан', + dd: t.translate, + M: 'месец', + MM: t.translate, + y: 'годину', + yy: t.translate, + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal: '%d.', + week: { dow: 1, doy: 7 }, + }); + })(i(30381)); + }, + 49131: function (e, t, i) { + !(function (e) { + 'use strict'; + var t = { + words: { + ss: ['sekunda', 'sekunde', 'sekundi'], + m: ['jedan minut', 'jedne minute'], + mm: ['minut', 'minute', 'minuta'], + h: ['jedan sat', 'jednog sata'], + hh: ['sat', 'sata', 'sati'], + dd: ['dan', 'dana', 'dana'], + MM: ['mesec', 'meseca', 'meseci'], + yy: ['godina', 'godine', 'godina'], + }, + correctGrammaticalCase: function (e, t) { + return 1 === e ? t[0] : e >= 2 && e <= 4 ? t[1] : t[2]; + }, + translate: function (e, i, n) { + var r = t.words[n]; + return 1 === n.length + ? i + ? r[0] + : r[1] + : e + ' ' + t.correctGrammaticalCase(e, r); + }, + }; + e.defineLocale('sr', { + months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split( + '_' + ), + monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split( + '_' + ), + monthsParseExact: !0, + weekdays: 'nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota'.split( + '_' + ), + weekdaysShort: 'ned._pon._uto._sre._čet._pet._sub.'.split('_'), + weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'), + weekdaysParseExact: !0, + longDateFormat: { + LT: 'H:mm', + LTS: 'H:mm:ss', + L: 'D. M. YYYY.', + LL: 'D. MMMM YYYY.', + LLL: 'D. MMMM YYYY. H:mm', + LLLL: 'dddd, D. MMMM YYYY. H:mm', + }, + calendar: { + sameDay: '[danas u] LT', + nextDay: '[sutra u] LT', + nextWeek: function () { + switch (this.day()) { + case 0: + return '[u] [nedelju] [u] LT'; + case 3: + return '[u] [sredu] [u] LT'; + case 6: + return '[u] [subotu] [u] LT'; + case 1: + case 2: + case 4: + case 5: + return '[u] dddd [u] LT'; + } + }, + lastDay: '[juče u] LT', + lastWeek: function () { + return [ + '[prošle] [nedelje] [u] LT', + '[prošlog] [ponedeljka] [u] LT', + '[prošlog] [utorka] [u] LT', + '[prošle] [srede] [u] LT', + '[prošlog] [četvrtka] [u] LT', + '[prošlog] [petka] [u] LT', + '[prošle] [subote] [u] LT', + ][this.day()]; + }, + sameElse: 'L', + }, + relativeTime: { + future: 'za %s', + past: 'pre %s', + s: 'nekoliko sekundi', + ss: t.translate, + m: t.translate, + mm: t.translate, + h: t.translate, + hh: t.translate, + d: 'dan', + dd: t.translate, + M: 'mesec', + MM: t.translate, + y: 'godinu', + yy: t.translate, + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal: '%d.', + week: { dow: 1, doy: 7 }, + }); + })(i(30381)); + }, + 85893: function (e, t, i) { + !(function (e) { + 'use strict'; + e.defineLocale('ss', { + months: "Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni".split( + '_' + ), + monthsShort: 'Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo'.split( + '_' + ), + weekdays: 'Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo'.split( + '_' + ), + weekdaysShort: 'Lis_Umb_Lsb_Les_Lsi_Lsh_Umg'.split('_'), + weekdaysMin: 'Li_Us_Lb_Lt_Ls_Lh_Ug'.split('_'), + weekdaysParseExact: !0, + longDateFormat: { + LT: 'h:mm A', + LTS: 'h:mm:ss A', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY h:mm A', + LLLL: 'dddd, D MMMM YYYY h:mm A', + }, + calendar: { + sameDay: '[Namuhla nga] LT', + nextDay: '[Kusasa nga] LT', + nextWeek: 'dddd [nga] LT', + lastDay: '[Itolo nga] LT', + lastWeek: 'dddd [leliphelile] [nga] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'nga %s', + past: 'wenteka nga %s', + s: 'emizuzwana lomcane', + ss: '%d mzuzwana', + m: 'umzuzu', + mm: '%d emizuzu', + h: 'lihora', + hh: '%d emahora', + d: 'lilanga', + dd: '%d emalanga', + M: 'inyanga', + MM: '%d tinyanga', + y: 'umnyaka', + yy: '%d iminyaka', + }, + meridiemParse: /ekuseni|emini|entsambama|ebusuku/, + meridiem: function (e, t, i) { + return e < 11 + ? 'ekuseni' + : e < 15 + ? 'emini' + : e < 19 + ? 'entsambama' + : 'ebusuku'; + }, + meridiemHour: function (e, t) { + return ( + 12 === e && (e = 0), + 'ekuseni' === t + ? e + : 'emini' === t + ? e >= 11 + ? e + : e + 12 + : 'entsambama' === t || 'ebusuku' === t + ? 0 === e + ? 0 + : e + 12 + : void 0 + ); + }, + dayOfMonthOrdinalParse: /\d{1,2}/, + ordinal: '%d', + week: { dow: 1, doy: 4 }, + }); + })(i(30381)); + }, + 98760: function (e, t, i) { + !(function (e) { + 'use strict'; + e.defineLocale('sv', { + months: 'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december'.split( + '_' + ), + monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split( + '_' + ), + weekdays: 'söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag'.split( + '_' + ), + weekdaysShort: 'sön_mån_tis_ons_tor_fre_lör'.split('_'), + weekdaysMin: 'sö_må_ti_on_to_fr_lö'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'YYYY-MM-DD', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY [kl.] HH:mm', + LLLL: 'dddd D MMMM YYYY [kl.] HH:mm', + lll: 'D MMM YYYY HH:mm', + llll: 'ddd D MMM YYYY HH:mm', + }, + calendar: { + sameDay: '[Idag] LT', + nextDay: '[Imorgon] LT', + lastDay: '[Igår] LT', + nextWeek: '[På] dddd LT', + lastWeek: '[I] dddd[s] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'om %s', + past: 'för %s sedan', + s: 'några sekunder', + ss: '%d sekunder', + m: 'en minut', + mm: '%d minuter', + h: 'en timme', + hh: '%d timmar', + d: 'en dag', + dd: '%d dagar', + M: 'en månad', + MM: '%d månader', + y: 'ett år', + yy: '%d år', + }, + dayOfMonthOrdinalParse: /\d{1,2}(\:e|\:a)/, + ordinal: function (e) { + var t = e % 10; + return ( + e + + (1 == ~~((e % 100) / 10) + ? ':e' + : 1 === t || 2 === t + ? ':a' + : ':e') + ); + }, + week: { dow: 1, doy: 4 }, + }); + })(i(30381)); + }, + 91172: function (e, t, i) { + !(function (e) { + 'use strict'; + e.defineLocale('sw', { + months: 'Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba'.split( + '_' + ), + monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des'.split( + '_' + ), + weekdays: 'Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi'.split( + '_' + ), + weekdaysShort: 'Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos'.split('_'), + weekdaysMin: 'J2_J3_J4_J5_Al_Ij_J1'.split('_'), + weekdaysParseExact: !0, + longDateFormat: { + LT: 'hh:mm A', + LTS: 'HH:mm:ss', + L: 'DD.MM.YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd, D MMMM YYYY HH:mm', + }, + calendar: { + sameDay: '[leo saa] LT', + nextDay: '[kesho saa] LT', + nextWeek: '[wiki ijayo] dddd [saat] LT', + lastDay: '[jana] LT', + lastWeek: '[wiki iliyopita] dddd [saat] LT', + sameElse: 'L', + }, + relativeTime: { + future: '%s baadaye', + past: 'tokea %s', + s: 'hivi punde', + ss: 'sekunde %d', + m: 'dakika moja', + mm: 'dakika %d', + h: 'saa limoja', + hh: 'masaa %d', + d: 'siku moja', + dd: 'siku %d', + M: 'mwezi mmoja', + MM: 'miezi %d', + y: 'mwaka mmoja', + yy: 'miaka %d', + }, + week: { dow: 1, doy: 7 }, + }); + })(i(30381)); + }, + 27333: function (e, t, i) { + !(function (e) { + 'use strict'; + var t = { + 1: '௧', + 2: '௨', + 3: '௩', + 4: '௪', + 5: '௫', + 6: '௬', + 7: '௭', + 8: '௮', + 9: '௯', + 0: '௦', + }, + i = { + '௧': '1', + '௨': '2', + '௩': '3', + '௪': '4', + '௫': '5', + '௬': '6', + '௭': '7', + '௮': '8', + '௯': '9', + '௦': '0', + }; + e.defineLocale('ta', { + months: 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split( + '_' + ), + monthsShort: 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split( + '_' + ), + weekdays: 'ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை'.split( + '_' + ), + weekdaysShort: 'ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி'.split( + '_' + ), + weekdaysMin: 'ஞா_தி_செ_பு_வி_வெ_ச'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY, HH:mm', + LLLL: 'dddd, D MMMM YYYY, HH:mm', + }, + calendar: { + sameDay: '[இன்று] LT', + nextDay: '[நாளை] LT', + nextWeek: 'dddd, LT', + lastDay: '[நேற்று] LT', + lastWeek: '[கடந்த வாரம்] dddd, LT', + sameElse: 'L', + }, + relativeTime: { + future: '%s இல்', + past: '%s முன்', + s: 'ஒரு சில விநாடிகள்', + ss: '%d விநாடிகள்', + m: 'ஒரு நிமிடம்', + mm: '%d நிமிடங்கள்', + h: 'ஒரு மணி நேரம்', + hh: '%d மணி நேரம்', + d: 'ஒரு நாள்', + dd: '%d நாட்கள்', + M: 'ஒரு மாதம்', + MM: '%d மாதங்கள்', + y: 'ஒரு வருடம்', + yy: '%d ஆண்டுகள்', + }, + dayOfMonthOrdinalParse: /\d{1,2}வது/, + ordinal: function (e) { + return e + 'வது'; + }, + preparse: function (e) { + return e.replace(/[௧௨௩௪௫௬௭௮௯௦]/g, function (e) { + return i[e]; + }); + }, + postformat: function (e) { + return e.replace(/\d/g, function (e) { + return t[e]; + }); + }, + meridiemParse: /யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/, + meridiem: function (e, t, i) { + return e < 2 + ? ' யாமம்' + : e < 6 + ? ' வைகறை' + : e < 10 + ? ' காலை' + : e < 14 + ? ' நண்பகல்' + : e < 18 + ? ' எற்பாடு' + : e < 22 + ? ' மாலை' + : ' யாமம்'; + }, + meridiemHour: function (e, t) { + return ( + 12 === e && (e = 0), + 'யாமம்' === t + ? e < 2 + ? e + : e + 12 + : 'வைகறை' === t || + 'காலை' === t || + ('நண்பகல்' === t && e >= 10) + ? e + : e + 12 + ); + }, + week: { dow: 0, doy: 6 }, + }); + })(i(30381)); + }, + 23110: function (e, t, i) { + !(function (e) { + 'use strict'; + e.defineLocale('te', { + months: 'జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జులై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్'.split( + '_' + ), + monthsShort: 'జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జులై_ఆగ._సెప్._అక్టో._నవ._డిసె.'.split( + '_' + ), + monthsParseExact: !0, + weekdays: 'ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం'.split( + '_' + ), + weekdaysShort: 'ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని'.split('_'), + weekdaysMin: 'ఆ_సో_మం_బు_గు_శు_శ'.split('_'), + longDateFormat: { + LT: 'A h:mm', + LTS: 'A h:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY, A h:mm', + LLLL: 'dddd, D MMMM YYYY, A h:mm', + }, + calendar: { + sameDay: '[నేడు] LT', + nextDay: '[రేపు] LT', + nextWeek: 'dddd, LT', + lastDay: '[నిన్న] LT', + lastWeek: '[గత] dddd, LT', + sameElse: 'L', + }, + relativeTime: { + future: '%s లో', + past: '%s క్రితం', + s: 'కొన్ని క్షణాలు', + ss: '%d సెకన్లు', + m: 'ఒక నిమిషం', + mm: '%d నిమిషాలు', + h: 'ఒక గంట', + hh: '%d గంటలు', + d: 'ఒక రోజు', + dd: '%d రోజులు', + M: 'ఒక నెల', + MM: '%d నెలలు', + y: 'ఒక సంవత్సరం', + yy: '%d సంవత్సరాలు', + }, + dayOfMonthOrdinalParse: /\d{1,2}వ/, + ordinal: '%dవ', + meridiemParse: /రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/, + meridiemHour: function (e, t) { + return ( + 12 === e && (e = 0), + 'రాత్రి' === t + ? e < 4 + ? e + : e + 12 + : 'ఉదయం' === t + ? e + : 'మధ్యాహ్నం' === t + ? e >= 10 + ? e + : e + 12 + : 'సాయంత్రం' === t + ? e + 12 + : void 0 + ); + }, + meridiem: function (e, t, i) { + return e < 4 + ? 'రాత్రి' + : e < 10 + ? 'ఉదయం' + : e < 17 + ? 'మధ్యాహ్నం' + : e < 20 + ? 'సాయంత్రం' + : 'రాత్రి'; + }, + week: { dow: 0, doy: 6 }, + }); + })(i(30381)); + }, + 52095: function (e, t, i) { + !(function (e) { + 'use strict'; + e.defineLocale('tet', { + months: 'Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru'.split( + '_' + ), + monthsShort: 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split( + '_' + ), + weekdays: 'Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu'.split( + '_' + ), + weekdaysShort: 'Dom_Seg_Ters_Kua_Kint_Sest_Sab'.split('_'), + weekdaysMin: 'Do_Seg_Te_Ku_Ki_Ses_Sa'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd, D MMMM YYYY HH:mm', + }, + calendar: { + sameDay: '[Ohin iha] LT', + nextDay: '[Aban iha] LT', + nextWeek: 'dddd [iha] LT', + lastDay: '[Horiseik iha] LT', + lastWeek: 'dddd [semana kotuk] [iha] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'iha %s', + past: '%s liuba', + s: 'segundu balun', + ss: 'segundu %d', + m: 'minutu ida', + mm: 'minutu %d', + h: 'oras ida', + hh: 'oras %d', + d: 'loron ida', + dd: 'loron %d', + M: 'fulan ida', + MM: 'fulan %d', + y: 'tinan ida', + yy: 'tinan %d', + }, + dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, + ordinal: function (e) { + var t = e % 10; + return ( + e + + (1 == ~~((e % 100) / 10) + ? 'th' + : 1 === t + ? 'st' + : 2 === t + ? 'nd' + : 3 === t + ? 'rd' + : 'th') + ); + }, + week: { dow: 1, doy: 4 }, + }); + })(i(30381)); + }, + 27321: function (e, t, i) { + !(function (e) { + 'use strict'; + var t = { + 0: '-ум', + 1: '-ум', + 2: '-юм', + 3: '-юм', + 4: '-ум', + 5: '-ум', + 6: '-ум', + 7: '-ум', + 8: '-ум', + 9: '-ум', + 10: '-ум', + 12: '-ум', + 13: '-ум', + 20: '-ум', + 30: '-юм', + 40: '-ум', + 50: '-ум', + 60: '-ум', + 70: '-ум', + 80: '-ум', + 90: '-ум', + 100: '-ум', + }; + e.defineLocale('tg', { + months: { + format: 'январи_феврали_марти_апрели_майи_июни_июли_августи_сентябри_октябри_ноябри_декабри'.split( + '_' + ), + standalone: 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split( + '_' + ), + }, + monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split( + '_' + ), + weekdays: 'якшанбе_душанбе_сешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе'.split( + '_' + ), + weekdaysShort: 'яшб_дшб_сшб_чшб_пшб_ҷум_шнб'.split('_'), + weekdaysMin: 'яш_дш_сш_чш_пш_ҷм_шб'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD.MM.YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd, D MMMM YYYY HH:mm', + }, + calendar: { + sameDay: '[Имрӯз соати] LT', + nextDay: '[Фардо соати] LT', + lastDay: '[Дирӯз соати] LT', + nextWeek: 'dddd[и] [ҳафтаи оянда соати] LT', + lastWeek: 'dddd[и] [ҳафтаи гузашта соати] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'баъди %s', + past: '%s пеш', + s: 'якчанд сония', + m: 'як дақиқа', + mm: '%d дақиқа', + h: 'як соат', + hh: '%d соат', + d: 'як рӯз', + dd: '%d рӯз', + M: 'як моҳ', + MM: '%d моҳ', + y: 'як сол', + yy: '%d сол', + }, + meridiemParse: /шаб|субҳ|рӯз|бегоҳ/, + meridiemHour: function (e, t) { + return ( + 12 === e && (e = 0), + 'шаб' === t + ? e < 4 + ? e + : e + 12 + : 'субҳ' === t + ? e + : 'рӯз' === t + ? e >= 11 + ? e + : e + 12 + : 'бегоҳ' === t + ? e + 12 + : void 0 + ); + }, + meridiem: function (e, t, i) { + return e < 4 + ? 'шаб' + : e < 11 + ? 'субҳ' + : e < 16 + ? 'рӯз' + : e < 19 + ? 'бегоҳ' + : 'шаб'; + }, + dayOfMonthOrdinalParse: /\d{1,2}-(ум|юм)/, + ordinal: function (e) { + return e + (t[e] || t[e % 10] || t[e >= 100 ? 100 : null]); + }, + week: { dow: 1, doy: 7 }, + }); + })(i(30381)); + }, + 9041: function (e, t, i) { + !(function (e) { + 'use strict'; + e.defineLocale('th', { + months: 'มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม'.split( + '_' + ), + monthsShort: 'ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.'.split( + '_' + ), + monthsParseExact: !0, + weekdays: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์'.split( + '_' + ), + weekdaysShort: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์'.split( + '_' + ), + weekdaysMin: 'อา._จ._อ._พ._พฤ._ศ._ส.'.split('_'), + weekdaysParseExact: !0, + longDateFormat: { + LT: 'H:mm', + LTS: 'H:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY เวลา H:mm', + LLLL: 'วันddddที่ D MMMM YYYY เวลา H:mm', + }, + meridiemParse: /ก่อนเที่ยง|หลังเที่ยง/, + isPM: function (e) { + return 'หลังเที่ยง' === e; + }, + meridiem: function (e, t, i) { + return e < 12 ? 'ก่อนเที่ยง' : 'หลังเที่ยง'; + }, + calendar: { + sameDay: '[วันนี้ เวลา] LT', + nextDay: '[พรุ่งนี้ เวลา] LT', + nextWeek: 'dddd[หน้า เวลา] LT', + lastDay: '[เมื่อวานนี้ เวลา] LT', + lastWeek: '[วัน]dddd[ที่แล้ว เวลา] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'อีก %s', + past: '%sที่แล้ว', + s: 'ไม่กี่วินาที', + ss: '%d วินาที', + m: '1 นาที', + mm: '%d นาที', + h: '1 ชั่วโมง', + hh: '%d ชั่วโมง', + d: '1 วัน', + dd: '%d วัน', + w: '1 สัปดาห์', + ww: '%d สัปดาห์', + M: '1 เดือน', + MM: '%d เดือน', + y: '1 ปี', + yy: '%d ปี', + }, + }); + })(i(30381)); + }, + 19005: function (e, t, i) { + !(function (e) { + 'use strict'; + var t = { + 1: "'inji", + 5: "'inji", + 8: "'inji", + 70: "'inji", + 80: "'inji", + 2: "'nji", + 7: "'nji", + 20: "'nji", + 50: "'nji", + 3: "'ünji", + 4: "'ünji", + 100: "'ünji", + 6: "'njy", + 9: "'unjy", + 10: "'unjy", + 30: "'unjy", + 60: "'ynjy", + 90: "'ynjy", + }; + e.defineLocale('tk', { + months: 'Ýanwar_Fewral_Mart_Aprel_Maý_Iýun_Iýul_Awgust_Sentýabr_Oktýabr_Noýabr_Dekabr'.split( + '_' + ), + monthsShort: 'Ýan_Few_Mar_Apr_Maý_Iýn_Iýl_Awg_Sen_Okt_Noý_Dek'.split( + '_' + ), + weekdays: 'Ýekşenbe_Duşenbe_Sişenbe_Çarşenbe_Penşenbe_Anna_Şenbe'.split( + '_' + ), + weekdaysShort: 'Ýek_Duş_Siş_Çar_Pen_Ann_Şen'.split('_'), + weekdaysMin: 'Ýk_Dş_Sş_Çr_Pn_An_Şn'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD.MM.YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd, D MMMM YYYY HH:mm', + }, + calendar: { + sameDay: '[bugün sagat] LT', + nextDay: '[ertir sagat] LT', + nextWeek: '[indiki] dddd [sagat] LT', + lastDay: '[düýn] LT', + lastWeek: '[geçen] dddd [sagat] LT', + sameElse: 'L', + }, + relativeTime: { + future: '%s soň', + past: '%s öň', + s: 'birnäçe sekunt', + m: 'bir minut', + mm: '%d minut', + h: 'bir sagat', + hh: '%d sagat', + d: 'bir gün', + dd: '%d gün', + M: 'bir aý', + MM: '%d aý', + y: 'bir ýyl', + yy: '%d ýyl', + }, + ordinal: function (e, i) { + switch (i) { + case 'd': + case 'D': + case 'Do': + case 'DD': + return e; + default: + if (0 === e) return e + "'unjy"; + var n = e % 10; + return ( + e + (t[n] || t[(e % 100) - n] || t[e >= 100 ? 100 : null]) + ); + } + }, + week: { dow: 1, doy: 7 }, + }); + })(i(30381)); + }, + 75768: function (e, t, i) { + !(function (e) { + 'use strict'; + e.defineLocale('tl-ph', { + months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split( + '_' + ), + monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split( + '_' + ), + weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split( + '_' + ), + weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'), + weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'MM/D/YYYY', + LL: 'MMMM D, YYYY', + LLL: 'MMMM D, YYYY HH:mm', + LLLL: 'dddd, MMMM DD, YYYY HH:mm', + }, + calendar: { + sameDay: 'LT [ngayong araw]', + nextDay: '[Bukas ng] LT', + nextWeek: 'LT [sa susunod na] dddd', + lastDay: 'LT [kahapon]', + lastWeek: 'LT [noong nakaraang] dddd', + sameElse: 'L', + }, + relativeTime: { + future: 'sa loob ng %s', + past: '%s ang nakalipas', + s: 'ilang segundo', + ss: '%d segundo', + m: 'isang minuto', + mm: '%d minuto', + h: 'isang oras', + hh: '%d oras', + d: 'isang araw', + dd: '%d araw', + M: 'isang buwan', + MM: '%d buwan', + y: 'isang taon', + yy: '%d taon', + }, + dayOfMonthOrdinalParse: /\d{1,2}/, + ordinal: function (e) { + return e; + }, + week: { dow: 1, doy: 4 }, + }); + })(i(30381)); + }, + 89444: function (e, t, i) { + !(function (e) { + 'use strict'; + var t = 'pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut'.split('_'); + function i(e, i, n, r) { + var s = (function (e) { + var i = Math.floor((e % 1e3) / 100), + n = Math.floor((e % 100) / 10), + r = e % 10, + s = ''; + return ( + i > 0 && (s += t[i] + 'vatlh'), + n > 0 && (s += ('' !== s ? ' ' : '') + t[n] + 'maH'), + r > 0 && (s += ('' !== s ? ' ' : '') + t[r]), + '' === s ? 'pagh' : s + ); + })(e); + switch (n) { + case 'ss': + return s + ' lup'; + case 'mm': + return s + ' tup'; + case 'hh': + return s + ' rep'; + case 'dd': + return s + ' jaj'; + case 'MM': + return s + ' jar'; + case 'yy': + return s + ' DIS'; + } + } + e.defineLocale('tlh', { + months: 'tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’'.split( + '_' + ), + monthsShort: 'jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’'.split( + '_' + ), + monthsParseExact: !0, + weekdays: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split( + '_' + ), + weekdaysShort: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split( + '_' + ), + weekdaysMin: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split( + '_' + ), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD.MM.YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd, D MMMM YYYY HH:mm', + }, + calendar: { + sameDay: '[DaHjaj] LT', + nextDay: '[wa’leS] LT', + nextWeek: 'LLL', + lastDay: '[wa’Hu’] LT', + lastWeek: 'LLL', + sameElse: 'L', + }, + relativeTime: { + future: function (e) { + var t = e; + return -1 !== e.indexOf('jaj') + ? t.slice(0, -3) + 'leS' + : -1 !== e.indexOf('jar') + ? t.slice(0, -3) + 'waQ' + : -1 !== e.indexOf('DIS') + ? t.slice(0, -3) + 'nem' + : t + ' pIq'; + }, + past: function (e) { + var t = e; + return -1 !== e.indexOf('jaj') + ? t.slice(0, -3) + 'Hu’' + : -1 !== e.indexOf('jar') + ? t.slice(0, -3) + 'wen' + : -1 !== e.indexOf('DIS') + ? t.slice(0, -3) + 'ben' + : t + ' ret'; + }, + s: 'puS lup', + ss: i, + m: 'wa’ tup', + mm: i, + h: 'wa’ rep', + hh: i, + d: 'wa’ jaj', + dd: i, + M: 'wa’ jar', + MM: i, + y: 'wa’ DIS', + yy: i, + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal: '%d.', + week: { dow: 1, doy: 4 }, + }); + })(i(30381)); + }, + 72397: function (e, t, i) { + !(function (e) { + 'use strict'; + var t = { + 1: "'inci", + 5: "'inci", + 8: "'inci", + 70: "'inci", + 80: "'inci", + 2: "'nci", + 7: "'nci", + 20: "'nci", + 50: "'nci", + 3: "'üncü", + 4: "'üncü", + 100: "'üncü", + 6: "'ncı", + 9: "'uncu", + 10: "'uncu", + 30: "'uncu", + 60: "'ıncı", + 90: "'ıncı", + }; + e.defineLocale('tr', { + months: 'Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık'.split( + '_' + ), + monthsShort: 'Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara'.split( + '_' + ), + weekdays: 'Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi'.split( + '_' + ), + weekdaysShort: 'Paz_Pts_Sal_Çar_Per_Cum_Cts'.split('_'), + weekdaysMin: 'Pz_Pt_Sa_Ça_Pe_Cu_Ct'.split('_'), + meridiem: function (e, t, i) { + return e < 12 ? (i ? 'öö' : 'ÖÖ') : i ? 'ös' : 'ÖS'; + }, + meridiemParse: /öö|ÖÖ|ös|ÖS/, + isPM: function (e) { + return 'ös' === e || 'ÖS' === e; + }, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD.MM.YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd, D MMMM YYYY HH:mm', + }, + calendar: { + sameDay: '[bugün saat] LT', + nextDay: '[yarın saat] LT', + nextWeek: '[gelecek] dddd [saat] LT', + lastDay: '[dün] LT', + lastWeek: '[geçen] dddd [saat] LT', + sameElse: 'L', + }, + relativeTime: { + future: '%s sonra', + past: '%s önce', + s: 'birkaç saniye', + ss: '%d saniye', + m: 'bir dakika', + mm: '%d dakika', + h: 'bir saat', + hh: '%d saat', + d: 'bir gün', + dd: '%d gün', + w: 'bir hafta', + ww: '%d hafta', + M: 'bir ay', + MM: '%d ay', + y: 'bir yıl', + yy: '%d yıl', + }, + ordinal: function (e, i) { + switch (i) { + case 'd': + case 'D': + case 'Do': + case 'DD': + return e; + default: + if (0 === e) return e + "'ıncı"; + var n = e % 10; + return ( + e + (t[n] || t[(e % 100) - n] || t[e >= 100 ? 100 : null]) + ); + } + }, + week: { dow: 1, doy: 7 }, + }); + })(i(30381)); + }, + 28254: function (e, t, i) { + !(function (e) { + 'use strict'; + function t(e, t, i, n) { + var r = { + s: ['viensas secunds', "'iensas secunds"], + ss: [e + ' secunds', e + ' secunds'], + m: ["'n míut", "'iens míut"], + mm: [e + ' míuts', e + ' míuts'], + h: ["'n þora", "'iensa þora"], + hh: [e + ' þoras', e + ' þoras'], + d: ["'n ziua", "'iensa ziua"], + dd: [e + ' ziuas', e + ' ziuas'], + M: ["'n mes", "'iens mes"], + MM: [e + ' mesen', e + ' mesen'], + y: ["'n ar", "'iens ar"], + yy: [e + ' ars', e + ' ars'], + }; + return n || t ? r[i][0] : r[i][1]; + } + e.defineLocale('tzl', { + months: 'Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar'.split( + '_' + ), + monthsShort: 'Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec'.split( + '_' + ), + weekdays: 'Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi'.split( + '_' + ), + weekdaysShort: 'Súl_Lún_Mai_Már_Xhú_Vié_Sát'.split('_'), + weekdaysMin: 'Sú_Lú_Ma_Má_Xh_Vi_Sá'.split('_'), + longDateFormat: { + LT: 'HH.mm', + LTS: 'HH.mm.ss', + L: 'DD.MM.YYYY', + LL: 'D. MMMM [dallas] YYYY', + LLL: 'D. MMMM [dallas] YYYY HH.mm', + LLLL: 'dddd, [li] D. MMMM [dallas] YYYY HH.mm', + }, + meridiemParse: /d\'o|d\'a/i, + isPM: function (e) { + return "d'o" === e.toLowerCase(); + }, + meridiem: function (e, t, i) { + return e > 11 ? (i ? "d'o" : "D'O") : i ? "d'a" : "D'A"; + }, + calendar: { + sameDay: '[oxhi à] LT', + nextDay: '[demà à] LT', + nextWeek: 'dddd [à] LT', + lastDay: '[ieiri à] LT', + lastWeek: '[sür el] dddd [lasteu à] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'osprei %s', + past: 'ja%s', + s: t, + ss: t, + m: t, + mm: t, + h: t, + hh: t, + d: t, + dd: t, + M: t, + MM: t, + y: t, + yy: t, + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal: '%d.', + week: { dow: 1, doy: 4 }, + }); + })(i(30381)); + }, + 30699: function (e, t, i) { + !(function (e) { + 'use strict'; + e.defineLocale('tzm-latn', { + months: 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split( + '_' + ), + monthsShort: 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split( + '_' + ), + weekdays: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split( + '_' + ), + weekdaysShort: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split( + '_' + ), + weekdaysMin: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split( + '_' + ), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd D MMMM YYYY HH:mm', + }, + calendar: { + sameDay: '[asdkh g] LT', + nextDay: '[aska g] LT', + nextWeek: 'dddd [g] LT', + lastDay: '[assant g] LT', + lastWeek: 'dddd [g] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'dadkh s yan %s', + past: 'yan %s', + s: 'imik', + ss: '%d imik', + m: 'minuḍ', + mm: '%d minuḍ', + h: 'saɛa', + hh: '%d tassaɛin', + d: 'ass', + dd: '%d ossan', + M: 'ayowr', + MM: '%d iyyirn', + y: 'asgas', + yy: '%d isgasn', + }, + week: { dow: 6, doy: 12 }, + }); + })(i(30381)); + }, + 51106: function (e, t, i) { + !(function (e) { + 'use strict'; + e.defineLocale('tzm', { + months: 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split( + '_' + ), + monthsShort: 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split( + '_' + ), + weekdays: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split( + '_' + ), + weekdaysShort: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split( + '_' + ), + weekdaysMin: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split( + '_' + ), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd D MMMM YYYY HH:mm', + }, + calendar: { + sameDay: '[ⴰⵙⴷⵅ ⴴ] LT', + nextDay: '[ⴰⵙⴽⴰ ⴴ] LT', + nextWeek: 'dddd [ⴴ] LT', + lastDay: '[ⴰⵚⴰⵏⵜ ⴴ] LT', + lastWeek: 'dddd [ⴴ] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s', + past: 'ⵢⴰⵏ %s', + s: 'ⵉⵎⵉⴽ', + ss: '%d ⵉⵎⵉⴽ', + m: 'ⵎⵉⵏⵓⴺ', + mm: '%d ⵎⵉⵏⵓⴺ', + h: 'ⵙⴰⵄⴰ', + hh: '%d ⵜⴰⵙⵙⴰⵄⵉⵏ', + d: 'ⴰⵙⵙ', + dd: '%d oⵙⵙⴰⵏ', + M: 'ⴰⵢoⵓⵔ', + MM: '%d ⵉⵢⵢⵉⵔⵏ', + y: 'ⴰⵙⴳⴰⵙ', + yy: '%d ⵉⵙⴳⴰⵙⵏ', + }, + week: { dow: 6, doy: 12 }, + }); + })(i(30381)); + }, + 9288: function (e, t, i) { + !(function (e) { + 'use strict'; + e.defineLocale('ug-cn', { + months: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split( + '_' + ), + monthsShort: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split( + '_' + ), + weekdays: 'يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە'.split( + '_' + ), + weekdaysShort: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'), + weekdaysMin: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'YYYY-MM-DD', + LL: 'YYYY-يىلىM-ئاينىڭD-كۈنى', + LLL: 'YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm', + LLLL: 'dddd، YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm', + }, + meridiemParse: /يېرىم كېچە|سەھەر|چۈشتىن بۇرۇن|چۈش|چۈشتىن كېيىن|كەچ/, + meridiemHour: function (e, t) { + return ( + 12 === e && (e = 0), + 'يېرىم كېچە' === t || 'سەھەر' === t || 'چۈشتىن بۇرۇن' === t + ? e + : 'چۈشتىن كېيىن' === t || 'كەچ' === t + ? e + 12 + : e >= 11 + ? e + : e + 12 + ); + }, + meridiem: function (e, t, i) { + var n = 100 * e + t; + return n < 600 + ? 'يېرىم كېچە' + : n < 900 + ? 'سەھەر' + : n < 1130 + ? 'چۈشتىن بۇرۇن' + : n < 1230 + ? 'چۈش' + : n < 1800 + ? 'چۈشتىن كېيىن' + : 'كەچ'; + }, + calendar: { + sameDay: '[بۈگۈن سائەت] LT', + nextDay: '[ئەتە سائەت] LT', + nextWeek: '[كېلەركى] dddd [سائەت] LT', + lastDay: '[تۆنۈگۈن] LT', + lastWeek: '[ئالدىنقى] dddd [سائەت] LT', + sameElse: 'L', + }, + relativeTime: { + future: '%s كېيىن', + past: '%s بۇرۇن', + s: 'نەچچە سېكونت', + ss: '%d سېكونت', + m: 'بىر مىنۇت', + mm: '%d مىنۇت', + h: 'بىر سائەت', + hh: '%d سائەت', + d: 'بىر كۈن', + dd: '%d كۈن', + M: 'بىر ئاي', + MM: '%d ئاي', + y: 'بىر يىل', + yy: '%d يىل', + }, + dayOfMonthOrdinalParse: /\d{1,2}(-كۈنى|-ئاي|-ھەپتە)/, + ordinal: function (e, t) { + switch (t) { + case 'd': + case 'D': + case 'DDD': + return e + '-كۈنى'; + case 'w': + case 'W': + return e + '-ھەپتە'; + default: + return e; + } + }, + preparse: function (e) { + return e.replace(/،/g, ','); + }, + postformat: function (e) { + return e.replace(/,/g, '،'); + }, + week: { dow: 1, doy: 7 }, + }); + })(i(30381)); + }, + 67691: function (e, t, i) { + !(function (e) { + 'use strict'; + function t(e, t, i) { + return 'm' === i + ? t + ? 'хвилина' + : 'хвилину' + : 'h' === i + ? t + ? 'година' + : 'годину' + : e + + ' ' + + ((n = +e), + (r = { + ss: t ? 'секунда_секунди_секунд' : 'секунду_секунди_секунд', + mm: t ? 'хвилина_хвилини_хвилин' : 'хвилину_хвилини_хвилин', + hh: t ? 'година_години_годин' : 'годину_години_годин', + dd: 'день_дні_днів', + MM: 'місяць_місяці_місяців', + yy: 'рік_роки_років', + }[i].split('_')), + n % 10 == 1 && n % 100 != 11 + ? r[0] + : n % 10 >= 2 && + n % 10 <= 4 && + (n % 100 < 10 || n % 100 >= 20) + ? r[1] + : r[2]); + var n, r; + } + function i(e) { + return function () { + return e + 'о' + (11 === this.hours() ? 'б' : '') + '] LT'; + }; + } + e.defineLocale('uk', { + months: { + format: 'січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня'.split( + '_' + ), + standalone: 'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'.split( + '_' + ), + }, + monthsShort: 'січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд'.split( + '_' + ), + weekdays: function (e, t) { + var i = { + nominative: 'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split( + '_' + ), + accusative: 'неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу'.split( + '_' + ), + genitive: 'неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи'.split( + '_' + ), + }; + return !0 === e + ? i.nominative.slice(1, 7).concat(i.nominative.slice(0, 1)) + : e + ? i[ + /(\[[ВвУу]\]) ?dddd/.test(t) + ? 'accusative' + : /\[?(?:минулої|наступної)? ?\] ?dddd/.test(t) + ? 'genitive' + : 'nominative' + ][e.day()] + : i.nominative; + }, + weekdaysShort: 'нд_пн_вт_ср_чт_пт_сб'.split('_'), + weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD.MM.YYYY', + LL: 'D MMMM YYYY р.', + LLL: 'D MMMM YYYY р., HH:mm', + LLLL: 'dddd, D MMMM YYYY р., HH:mm', + }, + calendar: { + sameDay: i('[Сьогодні '), + nextDay: i('[Завтра '), + lastDay: i('[Вчора '), + nextWeek: i('[У] dddd ['), + lastWeek: function () { + switch (this.day()) { + case 0: + case 3: + case 5: + case 6: + return i('[Минулої] dddd [').call(this); + case 1: + case 2: + case 4: + return i('[Минулого] dddd [').call(this); + } + }, + sameElse: 'L', + }, + relativeTime: { + future: 'за %s', + past: '%s тому', + s: 'декілька секунд', + ss: t, + m: t, + mm: t, + h: 'годину', + hh: t, + d: 'день', + dd: t, + M: 'місяць', + MM: t, + y: 'рік', + yy: t, + }, + meridiemParse: /ночі|ранку|дня|вечора/, + isPM: function (e) { + return /^(дня|вечора)$/.test(e); + }, + meridiem: function (e, t, i) { + return e < 4 + ? 'ночі' + : e < 12 + ? 'ранку' + : e < 17 + ? 'дня' + : 'вечора'; + }, + dayOfMonthOrdinalParse: /\d{1,2}-(й|го)/, + ordinal: function (e, t) { + switch (t) { + case 'M': + case 'd': + case 'DDD': + case 'w': + case 'W': + return e + '-й'; + case 'D': + return e + '-го'; + default: + return e; + } + }, + week: { dow: 1, doy: 7 }, + }); + })(i(30381)); + }, + 13795: function (e, t, i) { + !(function (e) { + 'use strict'; + var t = [ + 'جنوری', + 'فروری', + 'مارچ', + 'اپریل', + 'مئی', + 'جون', + 'جولائی', + 'اگست', + 'ستمبر', + 'اکتوبر', + 'نومبر', + 'دسمبر', + ], + i = ['اتوار', 'پیر', 'منگل', 'بدھ', 'جمعرات', 'جمعہ', 'ہفتہ']; + e.defineLocale('ur', { + months: t, + monthsShort: t, + weekdays: i, + weekdaysShort: i, + weekdaysMin: i, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd، D MMMM YYYY HH:mm', + }, + meridiemParse: /صبح|شام/, + isPM: function (e) { + return 'شام' === e; + }, + meridiem: function (e, t, i) { + return e < 12 ? 'صبح' : 'شام'; + }, + calendar: { + sameDay: '[آج بوقت] LT', + nextDay: '[کل بوقت] LT', + nextWeek: 'dddd [بوقت] LT', + lastDay: '[گذشتہ روز بوقت] LT', + lastWeek: '[گذشتہ] dddd [بوقت] LT', + sameElse: 'L', + }, + relativeTime: { + future: '%s بعد', + past: '%s قبل', + s: 'چند سیکنڈ', + ss: '%d سیکنڈ', + m: 'ایک منٹ', + mm: '%d منٹ', + h: 'ایک گھنٹہ', + hh: '%d گھنٹے', + d: 'ایک دن', + dd: '%d دن', + M: 'ایک ماہ', + MM: '%d ماہ', + y: 'ایک سال', + yy: '%d سال', + }, + preparse: function (e) { + return e.replace(/،/g, ','); + }, + postformat: function (e) { + return e.replace(/,/g, '،'); + }, + week: { dow: 1, doy: 4 }, + }); + })(i(30381)); + }, + 60588: function (e, t, i) { + !(function (e) { + 'use strict'; + e.defineLocale('uz-latn', { + months: 'Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr'.split( + '_' + ), + monthsShort: 'Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek'.split( + '_' + ), + weekdays: 'Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba'.split( + '_' + ), + weekdaysShort: 'Yak_Dush_Sesh_Chor_Pay_Jum_Shan'.split('_'), + weekdaysMin: 'Ya_Du_Se_Cho_Pa_Ju_Sha'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'D MMMM YYYY, dddd HH:mm', + }, + calendar: { + sameDay: '[Bugun soat] LT [da]', + nextDay: '[Ertaga] LT [da]', + nextWeek: 'dddd [kuni soat] LT [da]', + lastDay: '[Kecha soat] LT [da]', + lastWeek: "[O'tgan] dddd [kuni soat] LT [da]", + sameElse: 'L', + }, + relativeTime: { + future: 'Yaqin %s ichida', + past: 'Bir necha %s oldin', + s: 'soniya', + ss: '%d soniya', + m: 'bir daqiqa', + mm: '%d daqiqa', + h: 'bir soat', + hh: '%d soat', + d: 'bir kun', + dd: '%d kun', + M: 'bir oy', + MM: '%d oy', + y: 'bir yil', + yy: '%d yil', + }, + week: { dow: 1, doy: 7 }, + }); + })(i(30381)); + }, + 6791: function (e, t, i) { + !(function (e) { + 'use strict'; + e.defineLocale('uz', { + months: 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split( + '_' + ), + monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split( + '_' + ), + weekdays: 'Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба'.split( + '_' + ), + weekdaysShort: 'Якш_Душ_Сеш_Чор_Пай_Жум_Шан'.split('_'), + weekdaysMin: 'Як_Ду_Се_Чо_Па_Жу_Ша'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'D MMMM YYYY, dddd HH:mm', + }, + calendar: { + sameDay: '[Бугун соат] LT [да]', + nextDay: '[Эртага] LT [да]', + nextWeek: 'dddd [куни соат] LT [да]', + lastDay: '[Кеча соат] LT [да]', + lastWeek: '[Утган] dddd [куни соат] LT [да]', + sameElse: 'L', + }, + relativeTime: { + future: 'Якин %s ичида', + past: 'Бир неча %s олдин', + s: 'фурсат', + ss: '%d фурсат', + m: 'бир дакика', + mm: '%d дакика', + h: 'бир соат', + hh: '%d соат', + d: 'бир кун', + dd: '%d кун', + M: 'бир ой', + MM: '%d ой', + y: 'бир йил', + yy: '%d йил', + }, + week: { dow: 1, doy: 7 }, + }); + })(i(30381)); + }, + 65666: function (e, t, i) { + !(function (e) { + 'use strict'; + e.defineLocale('vi', { + months: 'tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12'.split( + '_' + ), + monthsShort: 'Thg 01_Thg 02_Thg 03_Thg 04_Thg 05_Thg 06_Thg 07_Thg 08_Thg 09_Thg 10_Thg 11_Thg 12'.split( + '_' + ), + monthsParseExact: !0, + weekdays: 'chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy'.split( + '_' + ), + weekdaysShort: 'CN_T2_T3_T4_T5_T6_T7'.split('_'), + weekdaysMin: 'CN_T2_T3_T4_T5_T6_T7'.split('_'), + weekdaysParseExact: !0, + meridiemParse: /sa|ch/i, + isPM: function (e) { + return /^ch$/i.test(e); + }, + meridiem: function (e, t, i) { + return e < 12 ? (i ? 'sa' : 'SA') : i ? 'ch' : 'CH'; + }, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM [năm] YYYY', + LLL: 'D MMMM [năm] YYYY HH:mm', + LLLL: 'dddd, D MMMM [năm] YYYY HH:mm', + l: 'DD/M/YYYY', + ll: 'D MMM YYYY', + lll: 'D MMM YYYY HH:mm', + llll: 'ddd, D MMM YYYY HH:mm', + }, + calendar: { + sameDay: '[Hôm nay lúc] LT', + nextDay: '[Ngày mai lúc] LT', + nextWeek: 'dddd [tuần tới lúc] LT', + lastDay: '[Hôm qua lúc] LT', + lastWeek: 'dddd [tuần trước lúc] LT', + sameElse: 'L', + }, + relativeTime: { + future: '%s tới', + past: '%s trước', + s: 'vài giây', + ss: '%d giây', + m: 'một phút', + mm: '%d phút', + h: 'một giờ', + hh: '%d giờ', + d: 'một ngày', + dd: '%d ngày', + w: 'một tuần', + ww: '%d tuần', + M: 'một tháng', + MM: '%d tháng', + y: 'một năm', + yy: '%d năm', + }, + dayOfMonthOrdinalParse: /\d{1,2}/, + ordinal: function (e) { + return e; + }, + week: { dow: 1, doy: 4 }, + }); + })(i(30381)); + }, + 14378: function (e, t, i) { + !(function (e) { + 'use strict'; + e.defineLocale('x-pseudo', { + months: 'J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér'.split( + '_' + ), + monthsShort: 'J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc'.split( + '_' + ), + monthsParseExact: !0, + weekdays: 'S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý'.split( + '_' + ), + weekdaysShort: 'S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát'.split('_'), + weekdaysMin: 'S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá'.split('_'), + weekdaysParseExact: !0, + longDateFormat: { + LT: 'HH:mm', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd, D MMMM YYYY HH:mm', + }, + calendar: { + sameDay: '[T~ódá~ý át] LT', + nextDay: '[T~ómó~rró~w át] LT', + nextWeek: 'dddd [át] LT', + lastDay: '[Ý~ést~érdá~ý át] LT', + lastWeek: '[L~ást] dddd [át] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'í~ñ %s', + past: '%s á~gó', + s: 'á ~féw ~sécó~ñds', + ss: '%d s~écóñ~ds', + m: 'á ~míñ~úté', + mm: '%d m~íñú~tés', + h: 'á~ñ hó~úr', + hh: '%d h~óúrs', + d: 'á ~dáý', + dd: '%d d~áýs', + M: 'á ~móñ~th', + MM: '%d m~óñt~hs', + y: 'á ~ýéár', + yy: '%d ý~éárs', + }, + dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/, + ordinal: function (e) { + var t = e % 10; + return ( + e + + (1 == ~~((e % 100) / 10) + ? 'th' + : 1 === t + ? 'st' + : 2 === t + ? 'nd' + : 3 === t + ? 'rd' + : 'th') + ); + }, + week: { dow: 1, doy: 4 }, + }); + })(i(30381)); + }, + 7198: function (e, t, i) { + !(function (e) { + 'use strict'; + e.defineLocale('yo', { + months: 'Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀'.split( + '_' + ), + monthsShort: 'Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀'.split( + '_' + ), + weekdays: 'Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta'.split('_'), + weekdaysShort: 'Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá'.split('_'), + weekdaysMin: 'Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb'.split('_'), + longDateFormat: { + LT: 'h:mm A', + LTS: 'h:mm:ss A', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY h:mm A', + LLLL: 'dddd, D MMMM YYYY h:mm A', + }, + calendar: { + sameDay: '[Ònì ni] LT', + nextDay: '[Ọ̀la ni] LT', + nextWeek: "dddd [Ọsẹ̀ tón'bọ] [ni] LT", + lastDay: '[Àna ni] LT', + lastWeek: 'dddd [Ọsẹ̀ tólọ́] [ni] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'ní %s', + past: '%s kọjá', + s: 'ìsẹjú aayá die', + ss: 'aayá %d', + m: 'ìsẹjú kan', + mm: 'ìsẹjú %d', + h: 'wákati kan', + hh: 'wákati %d', + d: 'ọjọ́ kan', + dd: 'ọjọ́ %d', + M: 'osù kan', + MM: 'osù %d', + y: 'ọdún kan', + yy: 'ọdún %d', + }, + dayOfMonthOrdinalParse: /ọjọ́\s\d{1,2}/, + ordinal: 'ọjọ́ %d', + week: { dow: 1, doy: 4 }, + }); + })(i(30381)); + }, + 83839: function (e, t, i) { + !(function (e) { + 'use strict'; + e.defineLocale('zh-cn', { + months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split( + '_' + ), + monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split( + '_' + ), + weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split( + '_' + ), + weekdaysShort: '周日_周一_周二_周三_周四_周五_周六'.split('_'), + weekdaysMin: '日_一_二_三_四_五_六'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'YYYY/MM/DD', + LL: 'YYYY年M月D日', + LLL: 'YYYY年M月D日Ah点mm分', + LLLL: 'YYYY年M月D日ddddAh点mm分', + l: 'YYYY/M/D', + ll: 'YYYY年M月D日', + lll: 'YYYY年M月D日 HH:mm', + llll: 'YYYY年M月D日dddd HH:mm', + }, + meridiemParse: /凌晨|早上|上午|中午|下午|晚上/, + meridiemHour: function (e, t) { + return ( + 12 === e && (e = 0), + '凌晨' === t || '早上' === t || '上午' === t + ? e + : '下午' === t || '晚上' === t + ? e + 12 + : e >= 11 + ? e + : e + 12 + ); + }, + meridiem: function (e, t, i) { + var n = 100 * e + t; + return n < 600 + ? '凌晨' + : n < 900 + ? '早上' + : n < 1130 + ? '上午' + : n < 1230 + ? '中午' + : n < 1800 + ? '下午' + : '晚上'; + }, + calendar: { + sameDay: '[今天]LT', + nextDay: '[明天]LT', + nextWeek: function (e) { + return e.week() !== this.week() ? '[下]dddLT' : '[本]dddLT'; + }, + lastDay: '[昨天]LT', + lastWeek: function (e) { + return this.week() !== e.week() ? '[上]dddLT' : '[本]dddLT'; + }, + sameElse: 'L', + }, + dayOfMonthOrdinalParse: /\d{1,2}(日|月|周)/, + ordinal: function (e, t) { + switch (t) { + case 'd': + case 'D': + case 'DDD': + return e + '日'; + case 'M': + return e + '月'; + case 'w': + case 'W': + return e + '周'; + default: + return e; + } + }, + relativeTime: { + future: '%s后', + past: '%s前', + s: '几秒', + ss: '%d 秒', + m: '1 分钟', + mm: '%d 分钟', + h: '1 小时', + hh: '%d 小时', + d: '1 天', + dd: '%d 天', + w: '1 周', + ww: '%d 周', + M: '1 个月', + MM: '%d 个月', + y: '1 年', + yy: '%d 年', + }, + week: { dow: 1, doy: 4 }, + }); + })(i(30381)); + }, + 55726: function (e, t, i) { + !(function (e) { + 'use strict'; + e.defineLocale('zh-hk', { + months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split( + '_' + ), + monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split( + '_' + ), + weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split( + '_' + ), + weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'), + weekdaysMin: '日_一_二_三_四_五_六'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'YYYY/MM/DD', + LL: 'YYYY年M月D日', + LLL: 'YYYY年M月D日 HH:mm', + LLLL: 'YYYY年M月D日dddd HH:mm', + l: 'YYYY/M/D', + ll: 'YYYY年M月D日', + lll: 'YYYY年M月D日 HH:mm', + llll: 'YYYY年M月D日dddd HH:mm', + }, + meridiemParse: /凌晨|早上|上午|中午|下午|晚上/, + meridiemHour: function (e, t) { + return ( + 12 === e && (e = 0), + '凌晨' === t || '早上' === t || '上午' === t + ? e + : '中午' === t + ? e >= 11 + ? e + : e + 12 + : '下午' === t || '晚上' === t + ? e + 12 + : void 0 + ); + }, + meridiem: function (e, t, i) { + var n = 100 * e + t; + return n < 600 + ? '凌晨' + : n < 900 + ? '早上' + : n < 1200 + ? '上午' + : 1200 === n + ? '中午' + : n < 1800 + ? '下午' + : '晚上'; + }, + calendar: { + sameDay: '[今天]LT', + nextDay: '[明天]LT', + nextWeek: '[下]ddddLT', + lastDay: '[昨天]LT', + lastWeek: '[上]ddddLT', + sameElse: 'L', + }, + dayOfMonthOrdinalParse: /\d{1,2}(日|月|週)/, + ordinal: function (e, t) { + switch (t) { + case 'd': + case 'D': + case 'DDD': + return e + '日'; + case 'M': + return e + '月'; + case 'w': + case 'W': + return e + '週'; + default: + return e; + } + }, + relativeTime: { + future: '%s後', + past: '%s前', + s: '幾秒', + ss: '%d 秒', + m: '1 分鐘', + mm: '%d 分鐘', + h: '1 小時', + hh: '%d 小時', + d: '1 天', + dd: '%d 天', + M: '1 個月', + MM: '%d 個月', + y: '1 年', + yy: '%d 年', + }, + }); + })(i(30381)); + }, + 99807: function (e, t, i) { + !(function (e) { + 'use strict'; + e.defineLocale('zh-mo', { + months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split( + '_' + ), + monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split( + '_' + ), + weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split( + '_' + ), + weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'), + weekdaysMin: '日_一_二_三_四_五_六'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'YYYY年M月D日', + LLL: 'YYYY年M月D日 HH:mm', + LLLL: 'YYYY年M月D日dddd HH:mm', + l: 'D/M/YYYY', + ll: 'YYYY年M月D日', + lll: 'YYYY年M月D日 HH:mm', + llll: 'YYYY年M月D日dddd HH:mm', + }, + meridiemParse: /凌晨|早上|上午|中午|下午|晚上/, + meridiemHour: function (e, t) { + return ( + 12 === e && (e = 0), + '凌晨' === t || '早上' === t || '上午' === t + ? e + : '中午' === t + ? e >= 11 + ? e + : e + 12 + : '下午' === t || '晚上' === t + ? e + 12 + : void 0 + ); + }, + meridiem: function (e, t, i) { + var n = 100 * e + t; + return n < 600 + ? '凌晨' + : n < 900 + ? '早上' + : n < 1130 + ? '上午' + : n < 1230 + ? '中午' + : n < 1800 + ? '下午' + : '晚上'; + }, + calendar: { + sameDay: '[今天] LT', + nextDay: '[明天] LT', + nextWeek: '[下]dddd LT', + lastDay: '[昨天] LT', + lastWeek: '[上]dddd LT', + sameElse: 'L', + }, + dayOfMonthOrdinalParse: /\d{1,2}(日|月|週)/, + ordinal: function (e, t) { + switch (t) { + case 'd': + case 'D': + case 'DDD': + return e + '日'; + case 'M': + return e + '月'; + case 'w': + case 'W': + return e + '週'; + default: + return e; + } + }, + relativeTime: { + future: '%s內', + past: '%s前', + s: '幾秒', + ss: '%d 秒', + m: '1 分鐘', + mm: '%d 分鐘', + h: '1 小時', + hh: '%d 小時', + d: '1 天', + dd: '%d 天', + M: '1 個月', + MM: '%d 個月', + y: '1 年', + yy: '%d 年', + }, + }); + })(i(30381)); + }, + 74152: function (e, t, i) { + !(function (e) { + 'use strict'; + e.defineLocale('zh-tw', { + months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split( + '_' + ), + monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split( + '_' + ), + weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split( + '_' + ), + weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'), + weekdaysMin: '日_一_二_三_四_五_六'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'YYYY/MM/DD', + LL: 'YYYY年M月D日', + LLL: 'YYYY年M月D日 HH:mm', + LLLL: 'YYYY年M月D日dddd HH:mm', + l: 'YYYY/M/D', + ll: 'YYYY年M月D日', + lll: 'YYYY年M月D日 HH:mm', + llll: 'YYYY年M月D日dddd HH:mm', + }, + meridiemParse: /凌晨|早上|上午|中午|下午|晚上/, + meridiemHour: function (e, t) { + return ( + 12 === e && (e = 0), + '凌晨' === t || '早上' === t || '上午' === t + ? e + : '中午' === t + ? e >= 11 + ? e + : e + 12 + : '下午' === t || '晚上' === t + ? e + 12 + : void 0 + ); + }, + meridiem: function (e, t, i) { + var n = 100 * e + t; + return n < 600 + ? '凌晨' + : n < 900 + ? '早上' + : n < 1130 + ? '上午' + : n < 1230 + ? '中午' + : n < 1800 + ? '下午' + : '晚上'; + }, + calendar: { + sameDay: '[今天] LT', + nextDay: '[明天] LT', + nextWeek: '[下]dddd LT', + lastDay: '[昨天] LT', + lastWeek: '[上]dddd LT', + sameElse: 'L', + }, + dayOfMonthOrdinalParse: /\d{1,2}(日|月|週)/, + ordinal: function (e, t) { + switch (t) { + case 'd': + case 'D': + case 'DDD': + return e + '日'; + case 'M': + return e + '月'; + case 'w': + case 'W': + return e + '週'; + default: + return e; + } + }, + relativeTime: { + future: '%s後', + past: '%s前', + s: '幾秒', + ss: '%d 秒', + m: '1 分鐘', + mm: '%d 分鐘', + h: '1 小時', + hh: '%d 小時', + d: '1 天', + dd: '%d 天', + M: '1 個月', + MM: '%d 個月', + y: '1 年', + yy: '%d 年', + }, + }); + })(i(30381)); + }, + 46700: (e, t, i) => { + var n = { + './af': 42786, + './af.js': 42786, + './ar': 30867, + './ar-dz': 14130, + './ar-dz.js': 14130, + './ar-kw': 96135, + './ar-kw.js': 96135, + './ar-ly': 56440, + './ar-ly.js': 56440, + './ar-ma': 47702, + './ar-ma.js': 47702, + './ar-sa': 16040, + './ar-sa.js': 16040, + './ar-tn': 37100, + './ar-tn.js': 37100, + './ar.js': 30867, + './az': 31083, + './az.js': 31083, + './be': 9808, + './be.js': 9808, + './bg': 68338, + './bg.js': 68338, + './bm': 67438, + './bm.js': 67438, + './bn': 8905, + './bn-bd': 76225, + './bn-bd.js': 76225, + './bn.js': 8905, + './bo': 11560, + './bo.js': 11560, + './br': 1278, + './br.js': 1278, + './bs': 80622, + './bs.js': 80622, + './ca': 2468, + './ca.js': 2468, + './cs': 5822, + './cs.js': 5822, + './cv': 50877, + './cv.js': 50877, + './cy': 47373, + './cy.js': 47373, + './da': 24780, + './da.js': 24780, + './de': 59740, + './de-at': 60217, + './de-at.js': 60217, + './de-ch': 60894, + './de-ch.js': 60894, + './de.js': 59740, + './dv': 5300, + './dv.js': 5300, + './el': 50837, + './el.js': 50837, + './en-au': 78348, + './en-au.js': 78348, + './en-ca': 77925, + './en-ca.js': 77925, + './en-gb': 22243, + './en-gb.js': 22243, + './en-ie': 46436, + './en-ie.js': 46436, + './en-il': 47207, + './en-il.js': 47207, + './en-in': 44175, + './en-in.js': 44175, + './en-nz': 76319, + './en-nz.js': 76319, + './en-sg': 31662, + './en-sg.js': 31662, + './eo': 92915, + './eo.js': 92915, + './es': 55655, + './es-do': 55251, + './es-do.js': 55251, + './es-mx': 96112, + './es-mx.js': 96112, + './es-us': 71146, + './es-us.js': 71146, + './es.js': 55655, + './et': 5603, + './et.js': 5603, + './eu': 77763, + './eu.js': 77763, + './fa': 76959, + './fa.js': 76959, + './fi': 11897, + './fi.js': 11897, + './fil': 42549, + './fil.js': 42549, + './fo': 94694, + './fo.js': 94694, + './fr': 94470, + './fr-ca': 63049, + './fr-ca.js': 63049, + './fr-ch': 52330, + './fr-ch.js': 52330, + './fr.js': 94470, + './fy': 5044, + './fy.js': 5044, + './ga': 29295, + './ga.js': 29295, + './gd': 2101, + './gd.js': 2101, + './gl': 38794, + './gl.js': 38794, + './gom-deva': 27884, + './gom-deva.js': 27884, + './gom-latn': 23168, + './gom-latn.js': 23168, + './gu': 95349, + './gu.js': 95349, + './he': 24206, + './he.js': 24206, + './hi': 30094, + './hi.js': 30094, + './hr': 30316, + './hr.js': 30316, + './hu': 22138, + './hu.js': 22138, + './hy-am': 11423, + './hy-am.js': 11423, + './id': 29218, + './id.js': 29218, + './is': 90135, + './is.js': 90135, + './it': 90626, + './it-ch': 10150, + './it-ch.js': 10150, + './it.js': 90626, + './ja': 39183, + './ja.js': 39183, + './jv': 24286, + './jv.js': 24286, + './ka': 12105, + './ka.js': 12105, + './kk': 47772, + './kk.js': 47772, + './km': 18758, + './km.js': 18758, + './kn': 79282, + './kn.js': 79282, + './ko': 33730, + './ko.js': 33730, + './ku': 1408, + './ku.js': 1408, + './ky': 33291, + './ky.js': 33291, + './lb': 36841, + './lb.js': 36841, + './lo': 55466, + './lo.js': 55466, + './lt': 57010, + './lt.js': 57010, + './lv': 37595, + './lv.js': 37595, + './me': 39861, + './me.js': 39861, + './mi': 35493, + './mi.js': 35493, + './mk': 95966, + './mk.js': 95966, + './ml': 87341, + './ml.js': 87341, + './mn': 5115, + './mn.js': 5115, + './mr': 10370, + './mr.js': 10370, + './ms': 9847, + './ms-my': 41237, + './ms-my.js': 41237, + './ms.js': 9847, + './mt': 72126, + './mt.js': 72126, + './my': 56165, + './my.js': 56165, + './nb': 64924, + './nb.js': 64924, + './ne': 16744, + './ne.js': 16744, + './nl': 93901, + './nl-be': 59814, + './nl-be.js': 59814, + './nl.js': 93901, + './nn': 83877, + './nn.js': 83877, + './oc-lnc': 92135, + './oc-lnc.js': 92135, + './pa-in': 15858, + './pa-in.js': 15858, + './pl': 64495, + './pl.js': 64495, + './pt': 89520, + './pt-br': 57971, + './pt-br.js': 57971, + './pt.js': 89520, + './ro': 96459, + './ro.js': 96459, + './ru': 21793, + './ru.js': 21793, + './sd': 40950, + './sd.js': 40950, + './se': 10490, + './se.js': 10490, + './si': 90124, + './si.js': 90124, + './sk': 64249, + './sk.js': 64249, + './sl': 14985, + './sl.js': 14985, + './sq': 51104, + './sq.js': 51104, + './sr': 49131, + './sr-cyrl': 79915, + './sr-cyrl.js': 79915, + './sr.js': 49131, + './ss': 85893, + './ss.js': 85893, + './sv': 98760, + './sv.js': 98760, + './sw': 91172, + './sw.js': 91172, + './ta': 27333, + './ta.js': 27333, + './te': 23110, + './te.js': 23110, + './tet': 52095, + './tet.js': 52095, + './tg': 27321, + './tg.js': 27321, + './th': 9041, + './th.js': 9041, + './tk': 19005, + './tk.js': 19005, + './tl-ph': 75768, + './tl-ph.js': 75768, + './tlh': 89444, + './tlh.js': 89444, + './tr': 72397, + './tr.js': 72397, + './tzl': 28254, + './tzl.js': 28254, + './tzm': 51106, + './tzm-latn': 30699, + './tzm-latn.js': 30699, + './tzm.js': 51106, + './ug-cn': 9288, + './ug-cn.js': 9288, + './uk': 67691, + './uk.js': 67691, + './ur': 13795, + './ur.js': 13795, + './uz': 6791, + './uz-latn': 60588, + './uz-latn.js': 60588, + './uz.js': 6791, + './vi': 65666, + './vi.js': 65666, + './x-pseudo': 14378, + './x-pseudo.js': 14378, + './yo': 7198, + './yo.js': 7198, + './zh-cn': 83839, + './zh-cn.js': 83839, + './zh-hk': 55726, + './zh-hk.js': 55726, + './zh-mo': 99807, + './zh-mo.js': 99807, + './zh-tw': 74152, + './zh-tw.js': 74152, + }; + function r(e) { + var t = s(e); + return i(t); + } + function s(e) { + if (!i.o(n, e)) { + var t = new Error("Cannot find module '" + e + "'"); + throw ((t.code = 'MODULE_NOT_FOUND'), t); + } + return n[e]; + } + (r.keys = function () { + return Object.keys(n); + }), + (r.resolve = s), + (e.exports = r), + (r.id = 46700); + }, + 30381: function (e, t, i) { + (e = i.nmd(e)).exports = (function () { + 'use strict'; + var t, n; + function r() { + return t.apply(null, arguments); + } + function s(e) { + return ( + e instanceof Array || + '[object Array]' === Object.prototype.toString.call(e) + ); + } + function o(e) { + return ( + null != e && + '[object Object]' === Object.prototype.toString.call(e) + ); + } + function a(e, t) { + return Object.prototype.hasOwnProperty.call(e, t); + } + function l(e) { + if (Object.getOwnPropertyNames) + return 0 === Object.getOwnPropertyNames(e).length; + var t; + for (t in e) if (a(e, t)) return !1; + return !0; + } + function c(e) { + return void 0 === e; + } + function d(e) { + return ( + 'number' == typeof e || + '[object Number]' === Object.prototype.toString.call(e) + ); + } + function h(e) { + return ( + e instanceof Date || + '[object Date]' === Object.prototype.toString.call(e) + ); + } + function u(e, t) { + var i, + n = []; + for (i = 0; i < e.length; ++i) n.push(t(e[i], i)); + return n; + } + function g(e, t) { + for (var i in t) a(t, i) && (e[i] = t[i]); + return ( + a(t, 'toString') && (e.toString = t.toString), + a(t, 'valueOf') && (e.valueOf = t.valueOf), + e + ); + } + function f(e, t, i, n) { + return xt(e, t, i, n, !0).utc(); + } + function p(e) { + return ( + null == e._pf && + (e._pf = { + empty: !1, + unusedTokens: [], + unusedInput: [], + overflow: -2, + charsLeftOver: 0, + nullInput: !1, + invalidEra: null, + invalidMonth: null, + invalidFormat: !1, + userInvalidated: !1, + iso: !1, + parsedDateParts: [], + era: null, + meridiem: null, + rfc2822: !1, + weekdayMismatch: !1, + }), + e._pf + ); + } + function m(e) { + if (null == e._isValid) { + var t = p(e), + i = n.call(t.parsedDateParts, function (e) { + return null != e; + }), + r = + !isNaN(e._d.getTime()) && + t.overflow < 0 && + !t.empty && + !t.invalidEra && + !t.invalidMonth && + !t.invalidWeekday && + !t.weekdayMismatch && + !t.nullInput && + !t.invalidFormat && + !t.userInvalidated && + (!t.meridiem || (t.meridiem && i)); + if ( + (e._strict && + (r = + r && + 0 === t.charsLeftOver && + 0 === t.unusedTokens.length && + void 0 === t.bigHour), + null != Object.isFrozen && Object.isFrozen(e)) + ) + return r; + e._isValid = r; + } + return e._isValid; + } + function _(e) { + var t = f(NaN); + return null != e ? g(p(t), e) : (p(t).userInvalidated = !0), t; + } + n = Array.prototype.some + ? Array.prototype.some + : function (e) { + var t, + i = Object(this), + n = i.length >>> 0; + for (t = 0; t < n; t++) + if (t in i && e.call(this, i[t], t, i)) return !0; + return !1; + }; + var b = (r.momentProperties = []), + v = !1; + function y(e, t) { + var i, n, r; + if ( + (c(t._isAMomentObject) || + (e._isAMomentObject = t._isAMomentObject), + c(t._i) || (e._i = t._i), + c(t._f) || (e._f = t._f), + c(t._l) || (e._l = t._l), + c(t._strict) || (e._strict = t._strict), + c(t._tzm) || (e._tzm = t._tzm), + c(t._isUTC) || (e._isUTC = t._isUTC), + c(t._offset) || (e._offset = t._offset), + c(t._pf) || (e._pf = p(t)), + c(t._locale) || (e._locale = t._locale), + b.length > 0) + ) + for (i = 0; i < b.length; i++) + c((r = t[(n = b[i])])) || (e[n] = r); + return e; + } + function w(e) { + y(this, e), + (this._d = new Date(null != e._d ? e._d.getTime() : NaN)), + this.isValid() || (this._d = new Date(NaN)), + !1 === v && ((v = !0), r.updateOffset(this), (v = !1)); + } + function C(e) { + return e instanceof w || (null != e && null != e._isAMomentObject); + } + function S(e) { + !1 === r.suppressDeprecationWarnings && + 'undefined' != typeof console && + console.warn && + console.warn('Deprecation warning: ' + e); + } + function k(e, t) { + var i = !0; + return g(function () { + if ( + (null != r.deprecationHandler && r.deprecationHandler(null, e), + i) + ) { + var n, + s, + o, + l = []; + for (s = 0; s < arguments.length; s++) { + if (((n = ''), 'object' == typeof arguments[s])) { + for (o in ((n += '\n[' + s + '] '), arguments[0])) + a(arguments[0], o) && + (n += o + ': ' + arguments[0][o] + ', '); + n = n.slice(0, -2); + } else n = arguments[s]; + l.push(n); + } + S( + e + + '\nArguments: ' + + Array.prototype.slice.call(l).join('') + + '\n' + + new Error().stack + ), + (i = !1); + } + return t.apply(this, arguments); + }, t); + } + var x, + L = {}; + function M(e, t) { + null != r.deprecationHandler && r.deprecationHandler(e, t), + L[e] || (S(t), (L[e] = !0)); + } + function D(e) { + return ( + ('undefined' != typeof Function && e instanceof Function) || + '[object Function]' === Object.prototype.toString.call(e) + ); + } + function N(e, t) { + var i, + n = g({}, e); + for (i in t) + a(t, i) && + (o(e[i]) && o(t[i]) + ? ((n[i] = {}), g(n[i], e[i]), g(n[i], t[i])) + : null != t[i] + ? (n[i] = t[i]) + : delete n[i]); + for (i in e) a(e, i) && !a(t, i) && o(e[i]) && (n[i] = g({}, n[i])); + return n; + } + function E(e) { + null != e && this.set(e); + } + (r.suppressDeprecationWarnings = !1), + (r.deprecationHandler = null), + (x = Object.keys + ? Object.keys + : function (e) { + var t, + i = []; + for (t in e) a(e, t) && i.push(t); + return i; + }); + function T(e, t, i) { + var n = '' + Math.abs(e), + r = t - n.length; + return ( + (e >= 0 ? (i ? '+' : '') : '-') + + Math.pow(10, Math.max(0, r)).toString().substr(1) + + n + ); + } + var I = /(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g, + O = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g, + A = {}, + R = {}; + function P(e, t, i, n) { + var r = n; + 'string' == typeof n && + (r = function () { + return this[n](); + }), + e && (R[e] = r), + t && + (R[t[0]] = function () { + return T(r.apply(this, arguments), t[1], t[2]); + }), + i && + (R[i] = function () { + return this.localeData().ordinal(r.apply(this, arguments), e); + }); + } + function F(e, t) { + return e.isValid() + ? ((t = B(t, e.localeData())), + (A[t] = + A[t] || + (function (e) { + var t, + i, + n, + r = e.match(I); + for (t = 0, i = r.length; t < i; t++) + R[r[t]] + ? (r[t] = R[r[t]]) + : (r[t] = (n = r[t]).match(/\[[\s\S]/) + ? n.replace(/^\[|\]$/g, '') + : n.replace(/\\/g, '')); + return function (t) { + var n, + s = ''; + for (n = 0; n < i; n++) + s += D(r[n]) ? r[n].call(t, e) : r[n]; + return s; + }; + })(t)), + A[t](e)) + : e.localeData().invalidDate(); + } + function B(e, t) { + var i = 5; + function n(e) { + return t.longDateFormat(e) || e; + } + for (O.lastIndex = 0; i >= 0 && O.test(e); ) + (e = e.replace(O, n)), (O.lastIndex = 0), (i -= 1); + return e; + } + var W = {}; + function Y(e, t) { + var i = e.toLowerCase(); + W[i] = W[i + 's'] = W[t] = e; + } + function H(e) { + return 'string' == typeof e ? W[e] || W[e.toLowerCase()] : void 0; + } + function j(e) { + var t, + i, + n = {}; + for (i in e) a(e, i) && (t = H(i)) && (n[t] = e[i]); + return n; + } + var V = {}; + function z(e, t) { + V[e] = t; + } + function U(e) { + return (e % 4 == 0 && e % 100 != 0) || e % 400 == 0; + } + function $(e) { + return e < 0 ? Math.ceil(e) || 0 : Math.floor(e); + } + function K(e) { + var t = +e, + i = 0; + return 0 !== t && isFinite(t) && (i = $(t)), i; + } + function q(e, t) { + return function (i) { + return null != i + ? (Z(this, e, i), r.updateOffset(this, t), this) + : G(this, e); + }; + } + function G(e, t) { + return e.isValid() + ? e._d['get' + (e._isUTC ? 'UTC' : '') + t]() + : NaN; + } + function Z(e, t, i) { + e.isValid() && + !isNaN(i) && + ('FullYear' === t && + U(e.year()) && + 1 === e.month() && + 29 === e.date() + ? ((i = K(i)), + e._d['set' + (e._isUTC ? 'UTC' : '') + t]( + i, + e.month(), + Ce(i, e.month()) + )) + : e._d['set' + (e._isUTC ? 'UTC' : '') + t](i)); + } + var J, + Q = /\d/, + X = /\d\d/, + ee = /\d{3}/, + te = /\d{4}/, + ie = /[+-]?\d{6}/, + ne = /\d\d?/, + re = /\d\d\d\d?/, + se = /\d\d\d\d\d\d?/, + oe = /\d{1,3}/, + ae = /\d{1,4}/, + le = /[+-]?\d{1,6}/, + ce = /\d+/, + de = /[+-]?\d+/, + he = /Z|[+-]\d\d:?\d\d/gi, + ue = /Z|[+-]\d\d(?::?\d\d)?/gi, + ge = /[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i; + function fe(e, t, i) { + J[e] = D(t) + ? t + : function (e, n) { + return e && i ? i : t; + }; + } + function pe(e, t) { + return a(J, e) + ? J[e](t._strict, t._locale) + : new RegExp( + me( + e + .replace('\\', '') + .replace( + /\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g, + function (e, t, i, n, r) { + return t || i || n || r; + } + ) + ) + ); + } + function me(e) { + return e.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&'); + } + J = {}; + var _e = {}; + function be(e, t) { + var i, + n = t; + for ( + 'string' == typeof e && (e = [e]), + d(t) && + (n = function (e, i) { + i[t] = K(e); + }), + i = 0; + i < e.length; + i++ + ) + _e[e[i]] = n; + } + function ve(e, t) { + be(e, function (e, i, n, r) { + (n._w = n._w || {}), t(e, n._w, n, r); + }); + } + function ye(e, t, i) { + null != t && a(_e, e) && _e[e](t, i._a, i, e); + } + var we; + function Ce(e, t) { + if (isNaN(e) || isNaN(t)) return NaN; + var i, + n = ((t % (i = 12)) + i) % i; + return ( + (e += (t - n) / 12), + 1 === n ? (U(e) ? 29 : 28) : 31 - ((n % 7) % 2) + ); + } + (we = Array.prototype.indexOf + ? Array.prototype.indexOf + : function (e) { + var t; + for (t = 0; t < this.length; ++t) if (this[t] === e) return t; + return -1; + }), + P('M', ['MM', 2], 'Mo', function () { + return this.month() + 1; + }), + P('MMM', 0, 0, function (e) { + return this.localeData().monthsShort(this, e); + }), + P('MMMM', 0, 0, function (e) { + return this.localeData().months(this, e); + }), + Y('month', 'M'), + z('month', 8), + fe('M', ne), + fe('MM', ne, X), + fe('MMM', function (e, t) { + return t.monthsShortRegex(e); + }), + fe('MMMM', function (e, t) { + return t.monthsRegex(e); + }), + be(['M', 'MM'], function (e, t) { + t[1] = K(e) - 1; + }), + be(['MMM', 'MMMM'], function (e, t, i, n) { + var r = i._locale.monthsParse(e, n, i._strict); + null != r ? (t[1] = r) : (p(i).invalidMonth = e); + }); + var Se = 'January_February_March_April_May_June_July_August_September_October_November_December'.split( + '_' + ), + ke = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), + xe = /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/, + Le = ge, + Me = ge; + function De(e, t, i) { + var n, + r, + s, + o = e.toLocaleLowerCase(); + if (!this._monthsParse) + for ( + this._monthsParse = [], + this._longMonthsParse = [], + this._shortMonthsParse = [], + n = 0; + n < 12; + ++n + ) + (s = f([2e3, n])), + (this._shortMonthsParse[n] = this.monthsShort( + s, + '' + ).toLocaleLowerCase()), + (this._longMonthsParse[n] = this.months( + s, + '' + ).toLocaleLowerCase()); + return i + ? 'MMM' === t + ? -1 !== (r = we.call(this._shortMonthsParse, o)) + ? r + : null + : -1 !== (r = we.call(this._longMonthsParse, o)) + ? r + : null + : 'MMM' === t + ? -1 !== (r = we.call(this._shortMonthsParse, o)) || + -1 !== (r = we.call(this._longMonthsParse, o)) + ? r + : null + : -1 !== (r = we.call(this._longMonthsParse, o)) || + -1 !== (r = we.call(this._shortMonthsParse, o)) + ? r + : null; + } + function Ne(e, t) { + var i; + if (!e.isValid()) return e; + if ('string' == typeof t) + if (/^\d+$/.test(t)) t = K(t); + else if (!d((t = e.localeData().monthsParse(t)))) return e; + return ( + (i = Math.min(e.date(), Ce(e.year(), t))), + e._d['set' + (e._isUTC ? 'UTC' : '') + 'Month'](t, i), + e + ); + } + function Ee(e) { + return null != e + ? (Ne(this, e), r.updateOffset(this, !0), this) + : G(this, 'Month'); + } + function Te() { + function e(e, t) { + return t.length - e.length; + } + var t, + i, + n = [], + r = [], + s = []; + for (t = 0; t < 12; t++) + (i = f([2e3, t])), + n.push(this.monthsShort(i, '')), + r.push(this.months(i, '')), + s.push(this.months(i, '')), + s.push(this.monthsShort(i, '')); + for (n.sort(e), r.sort(e), s.sort(e), t = 0; t < 12; t++) + (n[t] = me(n[t])), (r[t] = me(r[t])); + for (t = 0; t < 24; t++) s[t] = me(s[t]); + (this._monthsRegex = new RegExp('^(' + s.join('|') + ')', 'i')), + (this._monthsShortRegex = this._monthsRegex), + (this._monthsStrictRegex = new RegExp( + '^(' + r.join('|') + ')', + 'i' + )), + (this._monthsShortStrictRegex = new RegExp( + '^(' + n.join('|') + ')', + 'i' + )); + } + function Ie(e) { + return U(e) ? 366 : 365; + } + P('Y', 0, 0, function () { + var e = this.year(); + return e <= 9999 ? T(e, 4) : '+' + e; + }), + P(0, ['YY', 2], 0, function () { + return this.year() % 100; + }), + P(0, ['YYYY', 4], 0, 'year'), + P(0, ['YYYYY', 5], 0, 'year'), + P(0, ['YYYYYY', 6, !0], 0, 'year'), + Y('year', 'y'), + z('year', 1), + fe('Y', de), + fe('YY', ne, X), + fe('YYYY', ae, te), + fe('YYYYY', le, ie), + fe('YYYYYY', le, ie), + be(['YYYYY', 'YYYYYY'], 0), + be('YYYY', function (e, t) { + t[0] = 2 === e.length ? r.parseTwoDigitYear(e) : K(e); + }), + be('YY', function (e, t) { + t[0] = r.parseTwoDigitYear(e); + }), + be('Y', function (e, t) { + t[0] = parseInt(e, 10); + }), + (r.parseTwoDigitYear = function (e) { + return K(e) + (K(e) > 68 ? 1900 : 2e3); + }); + var Oe = q('FullYear', !0); + function Ae(e, t, i, n, r, s, o) { + var a; + return ( + e < 100 && e >= 0 + ? ((a = new Date(e + 400, t, i, n, r, s, o)), + isFinite(a.getFullYear()) && a.setFullYear(e)) + : (a = new Date(e, t, i, n, r, s, o)), + a + ); + } + function Re(e) { + var t, i; + return ( + e < 100 && e >= 0 + ? (((i = Array.prototype.slice.call(arguments))[0] = e + 400), + (t = new Date(Date.UTC.apply(null, i))), + isFinite(t.getUTCFullYear()) && t.setUTCFullYear(e)) + : (t = new Date(Date.UTC.apply(null, arguments))), + t + ); + } + function Pe(e, t, i) { + var n = 7 + t - i; + return (-(7 + Re(e, 0, n).getUTCDay() - t) % 7) + n - 1; + } + function Fe(e, t, i, n, r) { + var s, + o, + a = 1 + 7 * (t - 1) + ((7 + i - n) % 7) + Pe(e, n, r); + return ( + a <= 0 + ? (o = Ie((s = e - 1)) + a) + : a > Ie(e) + ? ((s = e + 1), (o = a - Ie(e))) + : ((s = e), (o = a)), + { year: s, dayOfYear: o } + ); + } + function Be(e, t, i) { + var n, + r, + s = Pe(e.year(), t, i), + o = Math.floor((e.dayOfYear() - s - 1) / 7) + 1; + return ( + o < 1 + ? (n = o + We((r = e.year() - 1), t, i)) + : o > We(e.year(), t, i) + ? ((n = o - We(e.year(), t, i)), (r = e.year() + 1)) + : ((r = e.year()), (n = o)), + { week: n, year: r } + ); + } + function We(e, t, i) { + var n = Pe(e, t, i), + r = Pe(e + 1, t, i); + return (Ie(e) - n + r) / 7; + } + P('w', ['ww', 2], 'wo', 'week'), + P('W', ['WW', 2], 'Wo', 'isoWeek'), + Y('week', 'w'), + Y('isoWeek', 'W'), + z('week', 5), + z('isoWeek', 5), + fe('w', ne), + fe('ww', ne, X), + fe('W', ne), + fe('WW', ne, X), + ve(['w', 'ww', 'W', 'WW'], function (e, t, i, n) { + t[n.substr(0, 1)] = K(e); + }); + function Ye(e, t) { + return e.slice(t, 7).concat(e.slice(0, t)); + } + P('d', 0, 'do', 'day'), + P('dd', 0, 0, function (e) { + return this.localeData().weekdaysMin(this, e); + }), + P('ddd', 0, 0, function (e) { + return this.localeData().weekdaysShort(this, e); + }), + P('dddd', 0, 0, function (e) { + return this.localeData().weekdays(this, e); + }), + P('e', 0, 0, 'weekday'), + P('E', 0, 0, 'isoWeekday'), + Y('day', 'd'), + Y('weekday', 'e'), + Y('isoWeekday', 'E'), + z('day', 11), + z('weekday', 11), + z('isoWeekday', 11), + fe('d', ne), + fe('e', ne), + fe('E', ne), + fe('dd', function (e, t) { + return t.weekdaysMinRegex(e); + }), + fe('ddd', function (e, t) { + return t.weekdaysShortRegex(e); + }), + fe('dddd', function (e, t) { + return t.weekdaysRegex(e); + }), + ve(['dd', 'ddd', 'dddd'], function (e, t, i, n) { + var r = i._locale.weekdaysParse(e, n, i._strict); + null != r ? (t.d = r) : (p(i).invalidWeekday = e); + }), + ve(['d', 'e', 'E'], function (e, t, i, n) { + t[n] = K(e); + }); + var He = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split( + '_' + ), + je = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), + Ve = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), + ze = ge, + Ue = ge, + $e = ge; + function Ke(e, t, i) { + var n, + r, + s, + o = e.toLocaleLowerCase(); + if (!this._weekdaysParse) + for ( + this._weekdaysParse = [], + this._shortWeekdaysParse = [], + this._minWeekdaysParse = [], + n = 0; + n < 7; + ++n + ) + (s = f([2e3, 1]).day(n)), + (this._minWeekdaysParse[n] = this.weekdaysMin( + s, + '' + ).toLocaleLowerCase()), + (this._shortWeekdaysParse[n] = this.weekdaysShort( + s, + '' + ).toLocaleLowerCase()), + (this._weekdaysParse[n] = this.weekdays( + s, + '' + ).toLocaleLowerCase()); + return i + ? 'dddd' === t + ? -1 !== (r = we.call(this._weekdaysParse, o)) + ? r + : null + : 'ddd' === t + ? -1 !== (r = we.call(this._shortWeekdaysParse, o)) + ? r + : null + : -1 !== (r = we.call(this._minWeekdaysParse, o)) + ? r + : null + : 'dddd' === t + ? -1 !== (r = we.call(this._weekdaysParse, o)) || + -1 !== (r = we.call(this._shortWeekdaysParse, o)) || + -1 !== (r = we.call(this._minWeekdaysParse, o)) + ? r + : null + : 'ddd' === t + ? -1 !== (r = we.call(this._shortWeekdaysParse, o)) || + -1 !== (r = we.call(this._weekdaysParse, o)) || + -1 !== (r = we.call(this._minWeekdaysParse, o)) + ? r + : null + : -1 !== (r = we.call(this._minWeekdaysParse, o)) || + -1 !== (r = we.call(this._weekdaysParse, o)) || + -1 !== (r = we.call(this._shortWeekdaysParse, o)) + ? r + : null; + } + function qe() { + function e(e, t) { + return t.length - e.length; + } + var t, + i, + n, + r, + s, + o = [], + a = [], + l = [], + c = []; + for (t = 0; t < 7; t++) + (i = f([2e3, 1]).day(t)), + (n = me(this.weekdaysMin(i, ''))), + (r = me(this.weekdaysShort(i, ''))), + (s = me(this.weekdays(i, ''))), + o.push(n), + a.push(r), + l.push(s), + c.push(n), + c.push(r), + c.push(s); + o.sort(e), + a.sort(e), + l.sort(e), + c.sort(e), + (this._weekdaysRegex = new RegExp('^(' + c.join('|') + ')', 'i')), + (this._weekdaysShortRegex = this._weekdaysRegex), + (this._weekdaysMinRegex = this._weekdaysRegex), + (this._weekdaysStrictRegex = new RegExp( + '^(' + l.join('|') + ')', + 'i' + )), + (this._weekdaysShortStrictRegex = new RegExp( + '^(' + a.join('|') + ')', + 'i' + )), + (this._weekdaysMinStrictRegex = new RegExp( + '^(' + o.join('|') + ')', + 'i' + )); + } + function Ge() { + return this.hours() % 12 || 12; + } + function Ze(e, t) { + P(e, 0, 0, function () { + return this.localeData().meridiem( + this.hours(), + this.minutes(), + t + ); + }); + } + function Je(e, t) { + return t._meridiemParse; + } + P('H', ['HH', 2], 0, 'hour'), + P('h', ['hh', 2], 0, Ge), + P('k', ['kk', 2], 0, function () { + return this.hours() || 24; + }), + P('hmm', 0, 0, function () { + return '' + Ge.apply(this) + T(this.minutes(), 2); + }), + P('hmmss', 0, 0, function () { + return ( + '' + + Ge.apply(this) + + T(this.minutes(), 2) + + T(this.seconds(), 2) + ); + }), + P('Hmm', 0, 0, function () { + return '' + this.hours() + T(this.minutes(), 2); + }), + P('Hmmss', 0, 0, function () { + return ( + '' + this.hours() + T(this.minutes(), 2) + T(this.seconds(), 2) + ); + }), + Ze('a', !0), + Ze('A', !1), + Y('hour', 'h'), + z('hour', 13), + fe('a', Je), + fe('A', Je), + fe('H', ne), + fe('h', ne), + fe('k', ne), + fe('HH', ne, X), + fe('hh', ne, X), + fe('kk', ne, X), + fe('hmm', re), + fe('hmmss', se), + fe('Hmm', re), + fe('Hmmss', se), + be(['H', 'HH'], 3), + be(['k', 'kk'], function (e, t, i) { + var n = K(e); + t[3] = 24 === n ? 0 : n; + }), + be(['a', 'A'], function (e, t, i) { + (i._isPm = i._locale.isPM(e)), (i._meridiem = e); + }), + be(['h', 'hh'], function (e, t, i) { + (t[3] = K(e)), (p(i).bigHour = !0); + }), + be('hmm', function (e, t, i) { + var n = e.length - 2; + (t[3] = K(e.substr(0, n))), + (t[4] = K(e.substr(n))), + (p(i).bigHour = !0); + }), + be('hmmss', function (e, t, i) { + var n = e.length - 4, + r = e.length - 2; + (t[3] = K(e.substr(0, n))), + (t[4] = K(e.substr(n, 2))), + (t[5] = K(e.substr(r))), + (p(i).bigHour = !0); + }), + be('Hmm', function (e, t, i) { + var n = e.length - 2; + (t[3] = K(e.substr(0, n))), (t[4] = K(e.substr(n))); + }), + be('Hmmss', function (e, t, i) { + var n = e.length - 4, + r = e.length - 2; + (t[3] = K(e.substr(0, n))), + (t[4] = K(e.substr(n, 2))), + (t[5] = K(e.substr(r))); + }); + var Qe = q('Hours', !0); + var Xe, + et = { + calendar: { + sameDay: '[Today at] LT', + nextDay: '[Tomorrow at] LT', + nextWeek: 'dddd [at] LT', + lastDay: '[Yesterday at] LT', + lastWeek: '[Last] dddd [at] LT', + sameElse: 'L', + }, + longDateFormat: { + LTS: 'h:mm:ss A', + LT: 'h:mm A', + L: 'MM/DD/YYYY', + LL: 'MMMM D, YYYY', + LLL: 'MMMM D, YYYY h:mm A', + LLLL: 'dddd, MMMM D, YYYY h:mm A', + }, + invalidDate: 'Invalid date', + ordinal: '%d', + dayOfMonthOrdinalParse: /\d{1,2}/, + relativeTime: { + future: 'in %s', + past: '%s ago', + s: 'a few seconds', + ss: '%d seconds', + m: 'a minute', + mm: '%d minutes', + h: 'an hour', + hh: '%d hours', + d: 'a day', + dd: '%d days', + w: 'a week', + ww: '%d weeks', + M: 'a month', + MM: '%d months', + y: 'a year', + yy: '%d years', + }, + months: Se, + monthsShort: ke, + week: { dow: 0, doy: 6 }, + weekdays: He, + weekdaysMin: Ve, + weekdaysShort: je, + meridiemParse: /[ap]\.?m?\.?/i, + }, + tt = {}, + it = {}; + function nt(e, t) { + var i, + n = Math.min(e.length, t.length); + for (i = 0; i < n; i += 1) if (e[i] !== t[i]) return i; + return n; + } + function rt(e) { + return e ? e.toLowerCase().replace('_', '-') : e; + } + function st(t) { + var n = null; + if (void 0 === tt[t] && e && e.exports) + try { + (n = Xe._abbr), i(46700)('./' + t), ot(n); + } catch (e) { + tt[t] = null; + } + return tt[t]; + } + function ot(e, t) { + var i; + return ( + e && + ((i = c(t) ? lt(e) : at(e, t)) + ? (Xe = i) + : 'undefined' != typeof console && + console.warn && + console.warn( + 'Locale ' + e + ' not found. Did you forget to load it?' + )), + Xe._abbr + ); + } + function at(e, t) { + if (null !== t) { + var i, + n = et; + if (((t.abbr = e), null != tt[e])) + M( + 'defineLocaleOverride', + 'use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info.' + ), + (n = tt[e]._config); + else if (null != t.parentLocale) + if (null != tt[t.parentLocale]) n = tt[t.parentLocale]._config; + else { + if (null == (i = st(t.parentLocale))) + return ( + it[t.parentLocale] || (it[t.parentLocale] = []), + it[t.parentLocale].push({ name: e, config: t }), + null + ); + n = i._config; + } + return ( + (tt[e] = new E(N(n, t))), + it[e] && + it[e].forEach(function (e) { + at(e.name, e.config); + }), + ot(e), + tt[e] + ); + } + return delete tt[e], null; + } + function lt(e) { + var t; + if ( + (e && e._locale && e._locale._abbr && (e = e._locale._abbr), !e) + ) + return Xe; + if (!s(e)) { + if ((t = st(e))) return t; + e = [e]; + } + return (function (e) { + for (var t, i, n, r, s = 0; s < e.length; ) { + for ( + t = (r = rt(e[s]).split('-')).length, + i = (i = rt(e[s + 1])) ? i.split('-') : null; + t > 0; + + ) { + if ((n = st(r.slice(0, t).join('-')))) return n; + if (i && i.length >= t && nt(r, i) >= t - 1) break; + t--; + } + s++; + } + return Xe; + })(e); + } + function ct(e) { + var t, + i = e._a; + return ( + i && + -2 === p(e).overflow && + ((t = + i[1] < 0 || i[1] > 11 + ? 1 + : i[2] < 1 || i[2] > Ce(i[0], i[1]) + ? 2 + : i[3] < 0 || + i[3] > 24 || + (24 === i[3] && (0 !== i[4] || 0 !== i[5] || 0 !== i[6])) + ? 3 + : i[4] < 0 || i[4] > 59 + ? 4 + : i[5] < 0 || i[5] > 59 + ? 5 + : i[6] < 0 || i[6] > 999 + ? 6 + : -1), + p(e)._overflowDayOfYear && (t < 0 || t > 2) && (t = 2), + p(e)._overflowWeeks && -1 === t && (t = 7), + p(e)._overflowWeekday && -1 === t && (t = 8), + (p(e).overflow = t)), + e + ); + } + var dt = /^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/, + ht = /^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d|))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/, + ut = /Z|[+-]\d\d(?::?\d\d)?/, + gt = [ + ['YYYYYY-MM-DD', /[+-]\d{6}-\d\d-\d\d/], + ['YYYY-MM-DD', /\d{4}-\d\d-\d\d/], + ['GGGG-[W]WW-E', /\d{4}-W\d\d-\d/], + ['GGGG-[W]WW', /\d{4}-W\d\d/, !1], + ['YYYY-DDD', /\d{4}-\d{3}/], + ['YYYY-MM', /\d{4}-\d\d/, !1], + ['YYYYYYMMDD', /[+-]\d{10}/], + ['YYYYMMDD', /\d{8}/], + ['GGGG[W]WWE', /\d{4}W\d{3}/], + ['GGGG[W]WW', /\d{4}W\d{2}/, !1], + ['YYYYDDD', /\d{7}/], + ['YYYYMM', /\d{6}/, !1], + ['YYYY', /\d{4}/, !1], + ], + ft = [ + ['HH:mm:ss.SSSS', /\d\d:\d\d:\d\d\.\d+/], + ['HH:mm:ss,SSSS', /\d\d:\d\d:\d\d,\d+/], + ['HH:mm:ss', /\d\d:\d\d:\d\d/], + ['HH:mm', /\d\d:\d\d/], + ['HHmmss.SSSS', /\d\d\d\d\d\d\.\d+/], + ['HHmmss,SSSS', /\d\d\d\d\d\d,\d+/], + ['HHmmss', /\d\d\d\d\d\d/], + ['HHmm', /\d\d\d\d/], + ['HH', /\d\d/], + ], + pt = /^\/?Date\((-?\d+)/i, + mt = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/, + _t = { + UT: 0, + GMT: 0, + EDT: -240, + EST: -300, + CDT: -300, + CST: -360, + MDT: -360, + MST: -420, + PDT: -420, + PST: -480, + }; + function bt(e) { + var t, + i, + n, + r, + s, + o, + a = e._i, + l = dt.exec(a) || ht.exec(a); + if (l) { + for (p(e).iso = !0, t = 0, i = gt.length; t < i; t++) + if (gt[t][1].exec(l[1])) { + (r = gt[t][0]), (n = !1 !== gt[t][2]); + break; + } + if (null == r) return void (e._isValid = !1); + if (l[3]) { + for (t = 0, i = ft.length; t < i; t++) + if (ft[t][1].exec(l[3])) { + s = (l[2] || ' ') + ft[t][0]; + break; + } + if (null == s) return void (e._isValid = !1); + } + if (!n && null != s) return void (e._isValid = !1); + if (l[4]) { + if (!ut.exec(l[4])) return void (e._isValid = !1); + o = 'Z'; + } + (e._f = r + (s || '') + (o || '')), St(e); + } else e._isValid = !1; + } + function vt(e) { + var t = parseInt(e, 10); + return t <= 49 ? 2e3 + t : t <= 999 ? 1900 + t : t; + } + function yt(e) { + var t, + i, + n, + r, + s, + o, + a, + l, + c = mt.exec( + e._i + .replace(/\([^)]*\)|[\n\t]/g, ' ') + .replace(/(\s\s+)/g, ' ') + .replace(/^\s\s*/, '') + .replace(/\s\s*$/, '') + ); + if (c) { + if ( + ((i = c[4]), + (n = c[3]), + (r = c[2]), + (s = c[5]), + (o = c[6]), + (a = c[7]), + (l = [ + vt(i), + ke.indexOf(n), + parseInt(r, 10), + parseInt(s, 10), + parseInt(o, 10), + ]), + a && l.push(parseInt(a, 10)), + (t = l), + !(function (e, t, i) { + return ( + !e || + je.indexOf(e) === new Date(t[0], t[1], t[2]).getDay() || + ((p(i).weekdayMismatch = !0), (i._isValid = !1), !1) + ); + })(c[1], t, e)) + ) + return; + (e._a = t), + (e._tzm = (function (e, t, i) { + if (e) return _t[e]; + if (t) return 0; + var n = parseInt(i, 10), + r = n % 100; + return ((n - r) / 100) * 60 + r; + })(c[8], c[9], c[10])), + (e._d = Re.apply(null, e._a)), + e._d.setUTCMinutes(e._d.getUTCMinutes() - e._tzm), + (p(e).rfc2822 = !0); + } else e._isValid = !1; + } + function wt(e, t, i) { + return null != e ? e : null != t ? t : i; + } + function Ct(e) { + var t, + i, + n, + s, + o, + a = []; + if (!e._d) { + for ( + n = (function (e) { + var t = new Date(r.now()); + return e._useUTC + ? [t.getUTCFullYear(), t.getUTCMonth(), t.getUTCDate()] + : [t.getFullYear(), t.getMonth(), t.getDate()]; + })(e), + e._w && + null == e._a[2] && + null == e._a[1] && + (function (e) { + var t, i, n, r, s, o, a, l, c; + null != (t = e._w).GG || null != t.W || null != t.E + ? ((s = 1), + (o = 4), + (i = wt(t.GG, e._a[0], Be(Lt(), 1, 4).year)), + (n = wt(t.W, 1)), + ((r = wt(t.E, 1)) < 1 || r > 7) && (l = !0)) + : ((s = e._locale._week.dow), + (o = e._locale._week.doy), + (c = Be(Lt(), s, o)), + (i = wt(t.gg, e._a[0], c.year)), + (n = wt(t.w, c.week)), + null != t.d + ? ((r = t.d) < 0 || r > 6) && (l = !0) + : null != t.e + ? ((r = t.e + s), (t.e < 0 || t.e > 6) && (l = !0)) + : (r = s)), + n < 1 || n > We(i, s, o) + ? (p(e)._overflowWeeks = !0) + : null != l + ? (p(e)._overflowWeekday = !0) + : ((a = Fe(i, n, r, s, o)), + (e._a[0] = a.year), + (e._dayOfYear = a.dayOfYear)); + })(e), + null != e._dayOfYear && + ((o = wt(e._a[0], n[0])), + (e._dayOfYear > Ie(o) || 0 === e._dayOfYear) && + (p(e)._overflowDayOfYear = !0), + (i = Re(o, 0, e._dayOfYear)), + (e._a[1] = i.getUTCMonth()), + (e._a[2] = i.getUTCDate())), + t = 0; + t < 3 && null == e._a[t]; + ++t + ) + e._a[t] = a[t] = n[t]; + for (; t < 7; t++) + e._a[t] = a[t] = null == e._a[t] ? (2 === t ? 1 : 0) : e._a[t]; + 24 === e._a[3] && + 0 === e._a[4] && + 0 === e._a[5] && + 0 === e._a[6] && + ((e._nextDay = !0), (e._a[3] = 0)), + (e._d = (e._useUTC ? Re : Ae).apply(null, a)), + (s = e._useUTC ? e._d.getUTCDay() : e._d.getDay()), + null != e._tzm && + e._d.setUTCMinutes(e._d.getUTCMinutes() - e._tzm), + e._nextDay && (e._a[3] = 24), + e._w && + void 0 !== e._w.d && + e._w.d !== s && + (p(e).weekdayMismatch = !0); + } + } + function St(e) { + if (e._f !== r.ISO_8601) + if (e._f !== r.RFC_2822) { + (e._a = []), (p(e).empty = !0); + var t, + i, + n, + s, + o, + a, + l = '' + e._i, + c = l.length, + d = 0; + for ( + n = B(e._f, e._locale).match(I) || [], t = 0; + t < n.length; + t++ + ) + (s = n[t]), + (i = (l.match(pe(s, e)) || [])[0]) && + ((o = l.substr(0, l.indexOf(i))).length > 0 && + p(e).unusedInput.push(o), + (l = l.slice(l.indexOf(i) + i.length)), + (d += i.length)), + R[s] + ? (i ? (p(e).empty = !1) : p(e).unusedTokens.push(s), + ye(s, i, e)) + : e._strict && !i && p(e).unusedTokens.push(s); + (p(e).charsLeftOver = c - d), + l.length > 0 && p(e).unusedInput.push(l), + e._a[3] <= 12 && + !0 === p(e).bigHour && + e._a[3] > 0 && + (p(e).bigHour = void 0), + (p(e).parsedDateParts = e._a.slice(0)), + (p(e).meridiem = e._meridiem), + (e._a[3] = (function (e, t, i) { + var n; + return null == i + ? t + : null != e.meridiemHour + ? e.meridiemHour(t, i) + : null != e.isPM + ? ((n = e.isPM(i)) && t < 12 && (t += 12), + n || 12 !== t || (t = 0), + t) + : t; + })(e._locale, e._a[3], e._meridiem)), + null !== (a = p(e).era) && + (e._a[0] = e._locale.erasConvertYear(a, e._a[0])), + Ct(e), + ct(e); + } else yt(e); + else bt(e); + } + function kt(e) { + var t = e._i, + i = e._f; + return ( + (e._locale = e._locale || lt(e._l)), + null === t || (void 0 === i && '' === t) + ? _({ nullInput: !0 }) + : ('string' == typeof t && (e._i = t = e._locale.preparse(t)), + C(t) + ? new w(ct(t)) + : (h(t) + ? (e._d = t) + : s(i) + ? (function (e) { + var t, + i, + n, + r, + s, + o, + a = !1; + if (0 === e._f.length) + return ( + (p(e).invalidFormat = !0), + void (e._d = new Date(NaN)) + ); + for (r = 0; r < e._f.length; r++) + (s = 0), + (o = !1), + (t = y({}, e)), + null != e._useUTC && (t._useUTC = e._useUTC), + (t._f = e._f[r]), + St(t), + m(t) && (o = !0), + (s += p(t).charsLeftOver), + (s += 10 * p(t).unusedTokens.length), + (p(t).score = s), + a + ? s < n && ((n = s), (i = t)) + : (null == n || s < n || o) && + ((n = s), (i = t), o && (a = !0)); + g(e, i || t); + })(e) + : i + ? St(e) + : (function (e) { + var t = e._i; + c(t) + ? (e._d = new Date(r.now())) + : h(t) + ? (e._d = new Date(t.valueOf())) + : 'string' == typeof t + ? (function (e) { + var t = pt.exec(e._i); + null === t + ? (bt(e), + !1 === e._isValid && + (delete e._isValid, + yt(e), + !1 === e._isValid && + (delete e._isValid, + e._strict + ? (e._isValid = !1) + : r.createFromInputFallback(e)))) + : (e._d = new Date(+t[1])); + })(e) + : s(t) + ? ((e._a = u(t.slice(0), function (e) { + return parseInt(e, 10); + })), + Ct(e)) + : o(t) + ? (function (e) { + if (!e._d) { + var t = j(e._i), + i = void 0 === t.day ? t.date : t.day; + (e._a = u( + [ + t.year, + t.month, + i, + t.hour, + t.minute, + t.second, + t.millisecond, + ], + function (e) { + return e && parseInt(e, 10); + } + )), + Ct(e); + } + })(e) + : d(t) + ? (e._d = new Date(t)) + : r.createFromInputFallback(e); + })(e), + m(e) || (e._d = null), + e)) + ); + } + function xt(e, t, i, n, r) { + var a, + c = {}; + return ( + (!0 !== t && !1 !== t) || ((n = t), (t = void 0)), + (!0 !== i && !1 !== i) || ((n = i), (i = void 0)), + ((o(e) && l(e)) || (s(e) && 0 === e.length)) && (e = void 0), + (c._isAMomentObject = !0), + (c._useUTC = c._isUTC = r), + (c._l = i), + (c._i = e), + (c._f = t), + (c._strict = n), + (a = new w(ct(kt(c))))._nextDay && + (a.add(1, 'd'), (a._nextDay = void 0)), + a + ); + } + function Lt(e, t, i, n) { + return xt(e, t, i, n, !1); + } + (r.createFromInputFallback = k( + 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.', + function (e) { + e._d = new Date(e._i + (e._useUTC ? ' UTC' : '')); + } + )), + (r.ISO_8601 = function () {}), + (r.RFC_2822 = function () {}); + var Mt = k( + 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/', + function () { + var e = Lt.apply(null, arguments); + return this.isValid() && e.isValid() + ? e < this + ? this + : e + : _(); + } + ), + Dt = k( + 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/', + function () { + var e = Lt.apply(null, arguments); + return this.isValid() && e.isValid() + ? e > this + ? this + : e + : _(); + } + ); + function Nt(e, t) { + var i, n; + if ((1 === t.length && s(t[0]) && (t = t[0]), !t.length)) + return Lt(); + for (i = t[0], n = 1; n < t.length; ++n) + (t[n].isValid() && !t[n][e](i)) || (i = t[n]); + return i; + } + var Et = [ + 'year', + 'quarter', + 'month', + 'week', + 'day', + 'hour', + 'minute', + 'second', + 'millisecond', + ]; + function Tt(e) { + var t = j(e), + i = t.year || 0, + n = t.quarter || 0, + r = t.month || 0, + s = t.week || t.isoWeek || 0, + o = t.day || 0, + l = t.hour || 0, + c = t.minute || 0, + d = t.second || 0, + h = t.millisecond || 0; + (this._isValid = (function (e) { + var t, + i, + n = !1; + for (t in e) + if ( + a(e, t) && + (-1 === we.call(Et, t) || (null != e[t] && isNaN(e[t]))) + ) + return !1; + for (i = 0; i < Et.length; ++i) + if (e[Et[i]]) { + if (n) return !1; + parseFloat(e[Et[i]]) !== K(e[Et[i]]) && (n = !0); + } + return !0; + })(t)), + (this._milliseconds = +h + 1e3 * d + 6e4 * c + 1e3 * l * 60 * 60), + (this._days = +o + 7 * s), + (this._months = +r + 3 * n + 12 * i), + (this._data = {}), + (this._locale = lt()), + this._bubble(); + } + function It(e) { + return e instanceof Tt; + } + function Ot(e) { + return e < 0 ? -1 * Math.round(-1 * e) : Math.round(e); + } + function At(e, t) { + P(e, 0, 0, function () { + var e = this.utcOffset(), + i = '+'; + return ( + e < 0 && ((e = -e), (i = '-')), + i + T(~~(e / 60), 2) + t + T(~~e % 60, 2) + ); + }); + } + At('Z', ':'), + At('ZZ', ''), + fe('Z', ue), + fe('ZZ', ue), + be(['Z', 'ZZ'], function (e, t, i) { + (i._useUTC = !0), (i._tzm = Pt(ue, e)); + }); + var Rt = /([\+\-]|\d\d)/gi; + function Pt(e, t) { + var i, + n, + r = (t || '').match(e); + return null === r + ? null + : 0 === + (n = + 60 * + (i = ((r[r.length - 1] || []) + '').match(Rt) || [ + '-', + 0, + 0, + ])[1] + + K(i[2])) + ? 0 + : '+' === i[0] + ? n + : -n; + } + function Ft(e, t) { + var i, n; + return t._isUTC + ? ((i = t.clone()), + (n = + (C(e) || h(e) ? e.valueOf() : Lt(e).valueOf()) - i.valueOf()), + i._d.setTime(i._d.valueOf() + n), + r.updateOffset(i, !1), + i) + : Lt(e).local(); + } + function Bt(e) { + return -Math.round(e._d.getTimezoneOffset()); + } + function Wt() { + return !!this.isValid() && this._isUTC && 0 === this._offset; + } + r.updateOffset = function () {}; + var Yt = /^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/, + Ht = /^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/; + function jt(e, t) { + var i, + n, + r, + s, + o, + l, + c = e, + h = null; + return ( + It(e) + ? (c = { ms: e._milliseconds, d: e._days, M: e._months }) + : d(e) || !isNaN(+e) + ? ((c = {}), t ? (c[t] = +e) : (c.milliseconds = +e)) + : (h = Yt.exec(e)) + ? ((i = '-' === h[1] ? -1 : 1), + (c = { + y: 0, + d: K(h[2]) * i, + h: K(h[3]) * i, + m: K(h[4]) * i, + s: K(h[5]) * i, + ms: K(Ot(1e3 * h[6])) * i, + })) + : (h = Ht.exec(e)) + ? ((i = '-' === h[1] ? -1 : 1), + (c = { + y: Vt(h[2], i), + M: Vt(h[3], i), + w: Vt(h[4], i), + d: Vt(h[5], i), + h: Vt(h[6], i), + m: Vt(h[7], i), + s: Vt(h[8], i), + })) + : null == c + ? (c = {}) + : 'object' == typeof c && + ('from' in c || 'to' in c) && + ((s = Lt(c.from)), + (o = Lt(c.to)), + (r = + s.isValid() && o.isValid() + ? ((o = Ft(o, s)), + s.isBefore(o) + ? (l = zt(s, o)) + : (((l = zt(o, s)).milliseconds = -l.milliseconds), + (l.months = -l.months)), + l) + : { milliseconds: 0, months: 0 }), + ((c = {}).ms = r.milliseconds), + (c.M = r.months)), + (n = new Tt(c)), + It(e) && a(e, '_locale') && (n._locale = e._locale), + It(e) && a(e, '_isValid') && (n._isValid = e._isValid), + n + ); + } + function Vt(e, t) { + var i = e && parseFloat(e.replace(',', '.')); + return (isNaN(i) ? 0 : i) * t; + } + function zt(e, t) { + var i = {}; + return ( + (i.months = t.month() - e.month() + 12 * (t.year() - e.year())), + e.clone().add(i.months, 'M').isAfter(t) && --i.months, + (i.milliseconds = +t - +e.clone().add(i.months, 'M')), + i + ); + } + function Ut(e, t) { + return function (i, n) { + var r; + return ( + null === n || + isNaN(+n) || + (M( + t, + 'moment().' + + t + + '(period, number) is deprecated. Please use moment().' + + t + + '(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.' + ), + (r = i), + (i = n), + (n = r)), + $t(this, jt(i, n), e), + this + ); + }; + } + function $t(e, t, i, n) { + var s = t._milliseconds, + o = Ot(t._days), + a = Ot(t._months); + e.isValid() && + ((n = null == n || n), + a && Ne(e, G(e, 'Month') + a * i), + o && Z(e, 'Date', G(e, 'Date') + o * i), + s && e._d.setTime(e._d.valueOf() + s * i), + n && r.updateOffset(e, o || a)); + } + (jt.fn = Tt.prototype), + (jt.invalid = function () { + return jt(NaN); + }); + var Kt = Ut(1, 'add'), + qt = Ut(-1, 'subtract'); + function Gt(e) { + return 'string' == typeof e || e instanceof String; + } + function Zt(e) { + return ( + C(e) || + h(e) || + Gt(e) || + d(e) || + (function (e) { + var t = s(e), + i = !1; + return ( + t && + (i = + 0 === + e.filter(function (t) { + return !d(t) && Gt(e); + }).length), + t && i + ); + })(e) || + (function (e) { + var t, + i, + n = o(e) && !l(e), + r = !1, + s = [ + 'years', + 'year', + 'y', + 'months', + 'month', + 'M', + 'days', + 'day', + 'd', + 'dates', + 'date', + 'D', + 'hours', + 'hour', + 'h', + 'minutes', + 'minute', + 'm', + 'seconds', + 'second', + 's', + 'milliseconds', + 'millisecond', + 'ms', + ]; + for (t = 0; t < s.length; t += 1) + (i = s[t]), (r = r || a(e, i)); + return n && r; + })(e) || + null == e + ); + } + function Jt(e) { + var t, + i = o(e) && !l(e), + n = !1, + r = [ + 'sameDay', + 'nextDay', + 'lastDay', + 'nextWeek', + 'lastWeek', + 'sameElse', + ]; + for (t = 0; t < r.length; t += 1) n = n || a(e, r[t]); + return i && n; + } + function Qt(e, t) { + if (e.date() < t.date()) return -Qt(t, e); + var i = 12 * (t.year() - e.year()) + (t.month() - e.month()), + n = e.clone().add(i, 'months'); + return ( + -( + i + + (t - n < 0 + ? (t - n) / (n - e.clone().add(i - 1, 'months')) + : (t - n) / (e.clone().add(i + 1, 'months') - n)) + ) || 0 + ); + } + function Xt(e) { + var t; + return void 0 === e + ? this._locale._abbr + : (null != (t = lt(e)) && (this._locale = t), this); + } + (r.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ'), + (r.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]'); + var ei = k( + 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.', + function (e) { + return void 0 === e ? this.localeData() : this.locale(e); + } + ); + function ti() { + return this._locale; + } + var ii = 1e3, + ni = 6e4, + ri = 36e5, + si = 126227808e5; + function oi(e, t) { + return ((e % t) + t) % t; + } + function ai(e, t, i) { + return e < 100 && e >= 0 + ? new Date(e + 400, t, i) - si + : new Date(e, t, i).valueOf(); + } + function li(e, t, i) { + return e < 100 && e >= 0 + ? Date.UTC(e + 400, t, i) - si + : Date.UTC(e, t, i); + } + function ci(e, t) { + return t.erasAbbrRegex(e); + } + function di() { + var e, + t, + i = [], + n = [], + r = [], + s = [], + o = this.eras(); + for (e = 0, t = o.length; e < t; ++e) + n.push(me(o[e].name)), + i.push(me(o[e].abbr)), + r.push(me(o[e].narrow)), + s.push(me(o[e].name)), + s.push(me(o[e].abbr)), + s.push(me(o[e].narrow)); + (this._erasRegex = new RegExp('^(' + s.join('|') + ')', 'i')), + (this._erasNameRegex = new RegExp('^(' + n.join('|') + ')', 'i')), + (this._erasAbbrRegex = new RegExp('^(' + i.join('|') + ')', 'i')), + (this._erasNarrowRegex = new RegExp( + '^(' + r.join('|') + ')', + 'i' + )); + } + function hi(e, t) { + P(0, [e, e.length], 0, t); + } + function ui(e, t, i, n, r) { + var s; + return null == e + ? Be(this, n, r).year + : (t > (s = We(e, n, r)) && (t = s), + gi.call(this, e, t, i, n, r)); + } + function gi(e, t, i, n, r) { + var s = Fe(e, t, i, n, r), + o = Re(s.year, 0, s.dayOfYear); + return ( + this.year(o.getUTCFullYear()), + this.month(o.getUTCMonth()), + this.date(o.getUTCDate()), + this + ); + } + P('N', 0, 0, 'eraAbbr'), + P('NN', 0, 0, 'eraAbbr'), + P('NNN', 0, 0, 'eraAbbr'), + P('NNNN', 0, 0, 'eraName'), + P('NNNNN', 0, 0, 'eraNarrow'), + P('y', ['y', 1], 'yo', 'eraYear'), + P('y', ['yy', 2], 0, 'eraYear'), + P('y', ['yyy', 3], 0, 'eraYear'), + P('y', ['yyyy', 4], 0, 'eraYear'), + fe('N', ci), + fe('NN', ci), + fe('NNN', ci), + fe('NNNN', function (e, t) { + return t.erasNameRegex(e); + }), + fe('NNNNN', function (e, t) { + return t.erasNarrowRegex(e); + }), + be(['N', 'NN', 'NNN', 'NNNN', 'NNNNN'], function (e, t, i, n) { + var r = i._locale.erasParse(e, n, i._strict); + r ? (p(i).era = r) : (p(i).invalidEra = e); + }), + fe('y', ce), + fe('yy', ce), + fe('yyy', ce), + fe('yyyy', ce), + fe('yo', function (e, t) { + return t._eraYearOrdinalRegex || ce; + }), + be(['y', 'yy', 'yyy', 'yyyy'], 0), + be(['yo'], function (e, t, i, n) { + var r; + i._locale._eraYearOrdinalRegex && + (r = e.match(i._locale._eraYearOrdinalRegex)), + i._locale.eraYearOrdinalParse + ? (t[0] = i._locale.eraYearOrdinalParse(e, r)) + : (t[0] = parseInt(e, 10)); + }), + P(0, ['gg', 2], 0, function () { + return this.weekYear() % 100; + }), + P(0, ['GG', 2], 0, function () { + return this.isoWeekYear() % 100; + }), + hi('gggg', 'weekYear'), + hi('ggggg', 'weekYear'), + hi('GGGG', 'isoWeekYear'), + hi('GGGGG', 'isoWeekYear'), + Y('weekYear', 'gg'), + Y('isoWeekYear', 'GG'), + z('weekYear', 1), + z('isoWeekYear', 1), + fe('G', de), + fe('g', de), + fe('GG', ne, X), + fe('gg', ne, X), + fe('GGGG', ae, te), + fe('gggg', ae, te), + fe('GGGGG', le, ie), + fe('ggggg', le, ie), + ve(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function (e, t, i, n) { + t[n.substr(0, 2)] = K(e); + }), + ve(['gg', 'GG'], function (e, t, i, n) { + t[n] = r.parseTwoDigitYear(e); + }), + P('Q', 0, 'Qo', 'quarter'), + Y('quarter', 'Q'), + z('quarter', 7), + fe('Q', Q), + be('Q', function (e, t) { + t[1] = 3 * (K(e) - 1); + }), + P('D', ['DD', 2], 'Do', 'date'), + Y('date', 'D'), + z('date', 9), + fe('D', ne), + fe('DD', ne, X), + fe('Do', function (e, t) { + return e + ? t._dayOfMonthOrdinalParse || t._ordinalParse + : t._dayOfMonthOrdinalParseLenient; + }), + be(['D', 'DD'], 2), + be('Do', function (e, t) { + t[2] = K(e.match(ne)[0]); + }); + var fi = q('Date', !0); + P('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear'), + Y('dayOfYear', 'DDD'), + z('dayOfYear', 4), + fe('DDD', oe), + fe('DDDD', ee), + be(['DDD', 'DDDD'], function (e, t, i) { + i._dayOfYear = K(e); + }), + P('m', ['mm', 2], 0, 'minute'), + Y('minute', 'm'), + z('minute', 14), + fe('m', ne), + fe('mm', ne, X), + be(['m', 'mm'], 4); + var pi = q('Minutes', !1); + P('s', ['ss', 2], 0, 'second'), + Y('second', 's'), + z('second', 15), + fe('s', ne), + fe('ss', ne, X), + be(['s', 'ss'], 5); + var mi, + _i, + bi = q('Seconds', !1); + for ( + P('S', 0, 0, function () { + return ~~(this.millisecond() / 100); + }), + P(0, ['SS', 2], 0, function () { + return ~~(this.millisecond() / 10); + }), + P(0, ['SSS', 3], 0, 'millisecond'), + P(0, ['SSSS', 4], 0, function () { + return 10 * this.millisecond(); + }), + P(0, ['SSSSS', 5], 0, function () { + return 100 * this.millisecond(); + }), + P(0, ['SSSSSS', 6], 0, function () { + return 1e3 * this.millisecond(); + }), + P(0, ['SSSSSSS', 7], 0, function () { + return 1e4 * this.millisecond(); + }), + P(0, ['SSSSSSSS', 8], 0, function () { + return 1e5 * this.millisecond(); + }), + P(0, ['SSSSSSSSS', 9], 0, function () { + return 1e6 * this.millisecond(); + }), + Y('millisecond', 'ms'), + z('millisecond', 16), + fe('S', oe, Q), + fe('SS', oe, X), + fe('SSS', oe, ee), + mi = 'SSSS'; + mi.length <= 9; + mi += 'S' + ) + fe(mi, ce); + function vi(e, t) { + t[6] = K(1e3 * ('0.' + e)); + } + for (mi = 'S'; mi.length <= 9; mi += 'S') be(mi, vi); + (_i = q('Milliseconds', !1)), + P('z', 0, 0, 'zoneAbbr'), + P('zz', 0, 0, 'zoneName'); + var yi = w.prototype; + function wi(e) { + return e; + } + (yi.add = Kt), + (yi.calendar = function (e, t) { + 1 === arguments.length && + (arguments[0] + ? Zt(arguments[0]) + ? ((e = arguments[0]), (t = void 0)) + : Jt(arguments[0]) && ((t = arguments[0]), (e = void 0)) + : ((e = void 0), (t = void 0))); + var i = e || Lt(), + n = Ft(i, this).startOf('day'), + s = r.calendarFormat(this, n) || 'sameElse', + o = t && (D(t[s]) ? t[s].call(this, i) : t[s]); + return this.format( + o || this.localeData().calendar(s, this, Lt(i)) + ); + }), + (yi.clone = function () { + return new w(this); + }), + (yi.diff = function (e, t, i) { + var n, r, s; + if (!this.isValid()) return NaN; + if (!(n = Ft(e, this)).isValid()) return NaN; + switch ( + ((r = 6e4 * (n.utcOffset() - this.utcOffset())), (t = H(t))) + ) { + case 'year': + s = Qt(this, n) / 12; + break; + case 'month': + s = Qt(this, n); + break; + case 'quarter': + s = Qt(this, n) / 3; + break; + case 'second': + s = (this - n) / 1e3; + break; + case 'minute': + s = (this - n) / 6e4; + break; + case 'hour': + s = (this - n) / 36e5; + break; + case 'day': + s = (this - n - r) / 864e5; + break; + case 'week': + s = (this - n - r) / 6048e5; + break; + default: + s = this - n; + } + return i ? s : $(s); + }), + (yi.endOf = function (e) { + var t, i; + if ( + void 0 === (e = H(e)) || + 'millisecond' === e || + !this.isValid() + ) + return this; + switch (((i = this._isUTC ? li : ai), e)) { + case 'year': + t = i(this.year() + 1, 0, 1) - 1; + break; + case 'quarter': + t = + i(this.year(), this.month() - (this.month() % 3) + 3, 1) - + 1; + break; + case 'month': + t = i(this.year(), this.month() + 1, 1) - 1; + break; + case 'week': + t = + i( + this.year(), + this.month(), + this.date() - this.weekday() + 7 + ) - 1; + break; + case 'isoWeek': + t = + i( + this.year(), + this.month(), + this.date() - (this.isoWeekday() - 1) + 7 + ) - 1; + break; + case 'day': + case 'date': + t = i(this.year(), this.month(), this.date() + 1) - 1; + break; + case 'hour': + (t = this._d.valueOf()), + (t += + ri - + oi(t + (this._isUTC ? 0 : this.utcOffset() * ni), ri) - + 1); + break; + case 'minute': + (t = this._d.valueOf()), (t += ni - oi(t, ni) - 1); + break; + case 'second': + (t = this._d.valueOf()), (t += ii - oi(t, ii) - 1); + } + return this._d.setTime(t), r.updateOffset(this, !0), this; + }), + (yi.format = function (e) { + e || (e = this.isUtc() ? r.defaultFormatUtc : r.defaultFormat); + var t = F(this, e); + return this.localeData().postformat(t); + }), + (yi.from = function (e, t) { + return this.isValid() && + ((C(e) && e.isValid()) || Lt(e).isValid()) + ? jt({ to: this, from: e }).locale(this.locale()).humanize(!t) + : this.localeData().invalidDate(); + }), + (yi.fromNow = function (e) { + return this.from(Lt(), e); + }), + (yi.to = function (e, t) { + return this.isValid() && + ((C(e) && e.isValid()) || Lt(e).isValid()) + ? jt({ from: this, to: e }).locale(this.locale()).humanize(!t) + : this.localeData().invalidDate(); + }), + (yi.toNow = function (e) { + return this.to(Lt(), e); + }), + (yi.get = function (e) { + return D(this[(e = H(e))]) ? this[e]() : this; + }), + (yi.invalidAt = function () { + return p(this).overflow; + }), + (yi.isAfter = function (e, t) { + var i = C(e) ? e : Lt(e); + return ( + !(!this.isValid() || !i.isValid()) && + ('millisecond' === (t = H(t) || 'millisecond') + ? this.valueOf() > i.valueOf() + : i.valueOf() < this.clone().startOf(t).valueOf()) + ); + }), + (yi.isBefore = function (e, t) { + var i = C(e) ? e : Lt(e); + return ( + !(!this.isValid() || !i.isValid()) && + ('millisecond' === (t = H(t) || 'millisecond') + ? this.valueOf() < i.valueOf() + : this.clone().endOf(t).valueOf() < i.valueOf()) + ); + }), + (yi.isBetween = function (e, t, i, n) { + var r = C(e) ? e : Lt(e), + s = C(t) ? t : Lt(t); + return ( + !!(this.isValid() && r.isValid() && s.isValid()) && + ('(' === (n = n || '()')[0] + ? this.isAfter(r, i) + : !this.isBefore(r, i)) && + (')' === n[1] ? this.isBefore(s, i) : !this.isAfter(s, i)) + ); + }), + (yi.isSame = function (e, t) { + var i, + n = C(e) ? e : Lt(e); + return ( + !(!this.isValid() || !n.isValid()) && + ('millisecond' === (t = H(t) || 'millisecond') + ? this.valueOf() === n.valueOf() + : ((i = n.valueOf()), + this.clone().startOf(t).valueOf() <= i && + i <= this.clone().endOf(t).valueOf())) + ); + }), + (yi.isSameOrAfter = function (e, t) { + return this.isSame(e, t) || this.isAfter(e, t); + }), + (yi.isSameOrBefore = function (e, t) { + return this.isSame(e, t) || this.isBefore(e, t); + }), + (yi.isValid = function () { + return m(this); + }), + (yi.lang = ei), + (yi.locale = Xt), + (yi.localeData = ti), + (yi.max = Dt), + (yi.min = Mt), + (yi.parsingFlags = function () { + return g({}, p(this)); + }), + (yi.set = function (e, t) { + if ('object' == typeof e) { + var i, + n = (function (e) { + var t, + i = []; + for (t in e) a(e, t) && i.push({ unit: t, priority: V[t] }); + return ( + i.sort(function (e, t) { + return e.priority - t.priority; + }), + i + ); + })((e = j(e))); + for (i = 0; i < n.length; i++) this[n[i].unit](e[n[i].unit]); + } else if (D(this[(e = H(e))])) return this[e](t); + return this; + }), + (yi.startOf = function (e) { + var t, i; + if ( + void 0 === (e = H(e)) || + 'millisecond' === e || + !this.isValid() + ) + return this; + switch (((i = this._isUTC ? li : ai), e)) { + case 'year': + t = i(this.year(), 0, 1); + break; + case 'quarter': + t = i(this.year(), this.month() - (this.month() % 3), 1); + break; + case 'month': + t = i(this.year(), this.month(), 1); + break; + case 'week': + t = i( + this.year(), + this.month(), + this.date() - this.weekday() + ); + break; + case 'isoWeek': + t = i( + this.year(), + this.month(), + this.date() - (this.isoWeekday() - 1) + ); + break; + case 'day': + case 'date': + t = i(this.year(), this.month(), this.date()); + break; + case 'hour': + (t = this._d.valueOf()), + (t -= oi( + t + (this._isUTC ? 0 : this.utcOffset() * ni), + ri + )); + break; + case 'minute': + (t = this._d.valueOf()), (t -= oi(t, ni)); + break; + case 'second': + (t = this._d.valueOf()), (t -= oi(t, ii)); + } + return this._d.setTime(t), r.updateOffset(this, !0), this; + }), + (yi.subtract = qt), + (yi.toArray = function () { + var e = this; + return [ + e.year(), + e.month(), + e.date(), + e.hour(), + e.minute(), + e.second(), + e.millisecond(), + ]; + }), + (yi.toObject = function () { + var e = this; + return { + years: e.year(), + months: e.month(), + date: e.date(), + hours: e.hours(), + minutes: e.minutes(), + seconds: e.seconds(), + milliseconds: e.milliseconds(), + }; + }), + (yi.toDate = function () { + return new Date(this.valueOf()); + }), + (yi.toISOString = function (e) { + if (!this.isValid()) return null; + var t = !0 !== e, + i = t ? this.clone().utc() : this; + return i.year() < 0 || i.year() > 9999 + ? F( + i, + t + ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]' + : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ' + ) + : D(Date.prototype.toISOString) + ? t + ? this.toDate().toISOString() + : new Date(this.valueOf() + 60 * this.utcOffset() * 1e3) + .toISOString() + .replace('Z', F(i, 'Z')) + : F( + i, + t + ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' + : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ' + ); + }), + (yi.inspect = function () { + if (!this.isValid()) + return 'moment.invalid(/* ' + this._i + ' */)'; + var e, + t, + i, + n = 'moment', + r = ''; + return ( + this.isLocal() || + ((n = + 0 === this.utcOffset() ? 'moment.utc' : 'moment.parseZone'), + (r = 'Z')), + (e = '[' + n + '("]'), + (t = + 0 <= this.year() && this.year() <= 9999 ? 'YYYY' : 'YYYYYY'), + '-MM-DD[T]HH:mm:ss.SSS', + (i = r + '[")]'), + this.format(e + t + '-MM-DD[T]HH:mm:ss.SSS' + i) + ); + }), + 'undefined' != typeof Symbol && + null != Symbol.for && + (yi[Symbol.for('nodejs.util.inspect.custom')] = function () { + return 'Moment<' + this.format() + '>'; + }), + (yi.toJSON = function () { + return this.isValid() ? this.toISOString() : null; + }), + (yi.toString = function () { + return this.clone() + .locale('en') + .format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ'); + }), + (yi.unix = function () { + return Math.floor(this.valueOf() / 1e3); + }), + (yi.valueOf = function () { + return this._d.valueOf() - 6e4 * (this._offset || 0); + }), + (yi.creationData = function () { + return { + input: this._i, + format: this._f, + locale: this._locale, + isUTC: this._isUTC, + strict: this._strict, + }; + }), + (yi.eraName = function () { + var e, + t, + i, + n = this.localeData().eras(); + for (e = 0, t = n.length; e < t; ++e) { + if ( + ((i = this.clone().startOf('day').valueOf()), + n[e].since <= i && i <= n[e].until) + ) + return n[e].name; + if (n[e].until <= i && i <= n[e].since) return n[e].name; + } + return ''; + }), + (yi.eraNarrow = function () { + var e, + t, + i, + n = this.localeData().eras(); + for (e = 0, t = n.length; e < t; ++e) { + if ( + ((i = this.clone().startOf('day').valueOf()), + n[e].since <= i && i <= n[e].until) + ) + return n[e].narrow; + if (n[e].until <= i && i <= n[e].since) return n[e].narrow; + } + return ''; + }), + (yi.eraAbbr = function () { + var e, + t, + i, + n = this.localeData().eras(); + for (e = 0, t = n.length; e < t; ++e) { + if ( + ((i = this.clone().startOf('day').valueOf()), + n[e].since <= i && i <= n[e].until) + ) + return n[e].abbr; + if (n[e].until <= i && i <= n[e].since) return n[e].abbr; + } + return ''; + }), + (yi.eraYear = function () { + var e, + t, + i, + n, + s = this.localeData().eras(); + for (e = 0, t = s.length; e < t; ++e) + if ( + ((i = s[e].since <= s[e].until ? 1 : -1), + (n = this.clone().startOf('day').valueOf()), + (s[e].since <= n && n <= s[e].until) || + (s[e].until <= n && n <= s[e].since)) + ) + return (this.year() - r(s[e].since).year()) * i + s[e].offset; + return this.year(); + }), + (yi.year = Oe), + (yi.isLeapYear = function () { + return U(this.year()); + }), + (yi.weekYear = function (e) { + return ui.call( + this, + e, + this.week(), + this.weekday(), + this.localeData()._week.dow, + this.localeData()._week.doy + ); + }), + (yi.isoWeekYear = function (e) { + return ui.call(this, e, this.isoWeek(), this.isoWeekday(), 1, 4); + }), + (yi.quarter = yi.quarters = function (e) { + return null == e + ? Math.ceil((this.month() + 1) / 3) + : this.month(3 * (e - 1) + (this.month() % 3)); + }), + (yi.month = Ee), + (yi.daysInMonth = function () { + return Ce(this.year(), this.month()); + }), + (yi.week = yi.weeks = function (e) { + var t = this.localeData().week(this); + return null == e ? t : this.add(7 * (e - t), 'd'); + }), + (yi.isoWeek = yi.isoWeeks = function (e) { + var t = Be(this, 1, 4).week; + return null == e ? t : this.add(7 * (e - t), 'd'); + }), + (yi.weeksInYear = function () { + var e = this.localeData()._week; + return We(this.year(), e.dow, e.doy); + }), + (yi.weeksInWeekYear = function () { + var e = this.localeData()._week; + return We(this.weekYear(), e.dow, e.doy); + }), + (yi.isoWeeksInYear = function () { + return We(this.year(), 1, 4); + }), + (yi.isoWeeksInISOWeekYear = function () { + return We(this.isoWeekYear(), 1, 4); + }), + (yi.date = fi), + (yi.day = yi.days = function (e) { + if (!this.isValid()) return null != e ? this : NaN; + var t = this._isUTC ? this._d.getUTCDay() : this._d.getDay(); + return null != e + ? ((e = (function (e, t) { + return 'string' != typeof e + ? e + : isNaN(e) + ? 'number' == typeof (e = t.weekdaysParse(e)) + ? e + : null + : parseInt(e, 10); + })(e, this.localeData())), + this.add(e - t, 'd')) + : t; + }), + (yi.weekday = function (e) { + if (!this.isValid()) return null != e ? this : NaN; + var t = (this.day() + 7 - this.localeData()._week.dow) % 7; + return null == e ? t : this.add(e - t, 'd'); + }), + (yi.isoWeekday = function (e) { + if (!this.isValid()) return null != e ? this : NaN; + if (null != e) { + var t = (function (e, t) { + return 'string' == typeof e + ? t.weekdaysParse(e) % 7 || 7 + : isNaN(e) + ? null + : e; + })(e, this.localeData()); + return this.day(this.day() % 7 ? t : t - 7); + } + return this.day() || 7; + }), + (yi.dayOfYear = function (e) { + var t = + Math.round( + (this.clone().startOf('day') - this.clone().startOf('year')) / + 864e5 + ) + 1; + return null == e ? t : this.add(e - t, 'd'); + }), + (yi.hour = yi.hours = Qe), + (yi.minute = yi.minutes = pi), + (yi.second = yi.seconds = bi), + (yi.millisecond = yi.milliseconds = _i), + (yi.utcOffset = function (e, t, i) { + var n, + s = this._offset || 0; + if (!this.isValid()) return null != e ? this : NaN; + if (null != e) { + if ('string' == typeof e) { + if (null === (e = Pt(ue, e))) return this; + } else Math.abs(e) < 16 && !i && (e *= 60); + return ( + !this._isUTC && t && (n = Bt(this)), + (this._offset = e), + (this._isUTC = !0), + null != n && this.add(n, 'm'), + s !== e && + (!t || this._changeInProgress + ? $t(this, jt(e - s, 'm'), 1, !1) + : this._changeInProgress || + ((this._changeInProgress = !0), + r.updateOffset(this, !0), + (this._changeInProgress = null))), + this + ); + } + return this._isUTC ? s : Bt(this); + }), + (yi.utc = function (e) { + return this.utcOffset(0, e); + }), + (yi.local = function (e) { + return ( + this._isUTC && + (this.utcOffset(0, e), + (this._isUTC = !1), + e && this.subtract(Bt(this), 'm')), + this + ); + }), + (yi.parseZone = function () { + if (null != this._tzm) this.utcOffset(this._tzm, !1, !0); + else if ('string' == typeof this._i) { + var e = Pt(he, this._i); + null != e ? this.utcOffset(e) : this.utcOffset(0, !0); + } + return this; + }), + (yi.hasAlignedHourOffset = function (e) { + return ( + !!this.isValid() && + ((e = e ? Lt(e).utcOffset() : 0), + (this.utcOffset() - e) % 60 == 0) + ); + }), + (yi.isDST = function () { + return ( + this.utcOffset() > this.clone().month(0).utcOffset() || + this.utcOffset() > this.clone().month(5).utcOffset() + ); + }), + (yi.isLocal = function () { + return !!this.isValid() && !this._isUTC; + }), + (yi.isUtcOffset = function () { + return !!this.isValid() && this._isUTC; + }), + (yi.isUtc = Wt), + (yi.isUTC = Wt), + (yi.zoneAbbr = function () { + return this._isUTC ? 'UTC' : ''; + }), + (yi.zoneName = function () { + return this._isUTC ? 'Coordinated Universal Time' : ''; + }), + (yi.dates = k( + 'dates accessor is deprecated. Use date instead.', + fi + )), + (yi.months = k( + 'months accessor is deprecated. Use month instead', + Ee + )), + (yi.years = k( + 'years accessor is deprecated. Use year instead', + Oe + )), + (yi.zone = k( + 'moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/', + function (e, t) { + return null != e + ? ('string' != typeof e && (e = -e), + this.utcOffset(e, t), + this) + : -this.utcOffset(); + } + )), + (yi.isDSTShifted = k( + 'isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information', + function () { + if (!c(this._isDSTShifted)) return this._isDSTShifted; + var e, + t = {}; + return ( + y(t, this), + (t = kt(t))._a + ? ((e = t._isUTC ? f(t._a) : Lt(t._a)), + (this._isDSTShifted = + this.isValid() && + (function (e, t, i) { + var n, + r = Math.min(e.length, t.length), + s = Math.abs(e.length - t.length), + o = 0; + for (n = 0; n < r; n++) + ((i && e[n] !== t[n]) || + (!i && K(e[n]) !== K(t[n]))) && + o++; + return o + s; + })(t._a, e.toArray()) > 0)) + : (this._isDSTShifted = !1), + this._isDSTShifted + ); + } + )); + var Ci = E.prototype; + function Si(e, t, i, n) { + var r = lt(), + s = f().set(n, t); + return r[i](s, e); + } + function ki(e, t, i) { + if ((d(e) && ((t = e), (e = void 0)), (e = e || ''), null != t)) + return Si(e, t, i, 'month'); + var n, + r = []; + for (n = 0; n < 12; n++) r[n] = Si(e, n, i, 'month'); + return r; + } + function xi(e, t, i, n) { + 'boolean' == typeof e + ? (d(t) && ((i = t), (t = void 0)), (t = t || '')) + : ((i = t = e), + (e = !1), + d(t) && ((i = t), (t = void 0)), + (t = t || '')); + var r, + s = lt(), + o = e ? s._week.dow : 0, + a = []; + if (null != i) return Si(t, (i + o) % 7, n, 'day'); + for (r = 0; r < 7; r++) a[r] = Si(t, (r + o) % 7, n, 'day'); + return a; + } + (Ci.calendar = function (e, t, i) { + var n = this._calendar[e] || this._calendar.sameElse; + return D(n) ? n.call(t, i) : n; + }), + (Ci.longDateFormat = function (e) { + var t = this._longDateFormat[e], + i = this._longDateFormat[e.toUpperCase()]; + return t || !i + ? t + : ((this._longDateFormat[e] = i + .match(I) + .map(function (e) { + return 'MMMM' === e || + 'MM' === e || + 'DD' === e || + 'dddd' === e + ? e.slice(1) + : e; + }) + .join('')), + this._longDateFormat[e]); + }), + (Ci.invalidDate = function () { + return this._invalidDate; + }), + (Ci.ordinal = function (e) { + return this._ordinal.replace('%d', e); + }), + (Ci.preparse = wi), + (Ci.postformat = wi), + (Ci.relativeTime = function (e, t, i, n) { + var r = this._relativeTime[i]; + return D(r) ? r(e, t, i, n) : r.replace(/%d/i, e); + }), + (Ci.pastFuture = function (e, t) { + var i = this._relativeTime[e > 0 ? 'future' : 'past']; + return D(i) ? i(t) : i.replace(/%s/i, t); + }), + (Ci.set = function (e) { + var t, i; + for (i in e) + a(e, i) && + (D((t = e[i])) ? (this[i] = t) : (this['_' + i] = t)); + (this._config = e), + (this._dayOfMonthOrdinalParseLenient = new RegExp( + (this._dayOfMonthOrdinalParse.source || + this._ordinalParse.source) + + '|' + + /\d{1,2}/.source + )); + }), + (Ci.eras = function (e, t) { + var i, + n, + s, + o = this._eras || lt('en')._eras; + for (i = 0, n = o.length; i < n; ++i) { + switch (typeof o[i].since) { + case 'string': + (s = r(o[i].since).startOf('day')), + (o[i].since = s.valueOf()); + } + switch (typeof o[i].until) { + case 'undefined': + o[i].until = 1 / 0; + break; + case 'string': + (s = r(o[i].until).startOf('day').valueOf()), + (o[i].until = s.valueOf()); + } + } + return o; + }), + (Ci.erasParse = function (e, t, i) { + var n, + r, + s, + o, + a, + l = this.eras(); + for (e = e.toUpperCase(), n = 0, r = l.length; n < r; ++n) + if ( + ((s = l[n].name.toUpperCase()), + (o = l[n].abbr.toUpperCase()), + (a = l[n].narrow.toUpperCase()), + i) + ) + switch (t) { + case 'N': + case 'NN': + case 'NNN': + if (o === e) return l[n]; + break; + case 'NNNN': + if (s === e) return l[n]; + break; + case 'NNNNN': + if (a === e) return l[n]; + } + else if ([s, o, a].indexOf(e) >= 0) return l[n]; + }), + (Ci.erasConvertYear = function (e, t) { + var i = e.since <= e.until ? 1 : -1; + return void 0 === t + ? r(e.since).year() + : r(e.since).year() + (t - e.offset) * i; + }), + (Ci.erasAbbrRegex = function (e) { + return ( + a(this, '_erasAbbrRegex') || di.call(this), + e ? this._erasAbbrRegex : this._erasRegex + ); + }), + (Ci.erasNameRegex = function (e) { + return ( + a(this, '_erasNameRegex') || di.call(this), + e ? this._erasNameRegex : this._erasRegex + ); + }), + (Ci.erasNarrowRegex = function (e) { + return ( + a(this, '_erasNarrowRegex') || di.call(this), + e ? this._erasNarrowRegex : this._erasRegex + ); + }), + (Ci.months = function (e, t) { + return e + ? s(this._months) + ? this._months[e.month()] + : this._months[ + (this._months.isFormat || xe).test(t) + ? 'format' + : 'standalone' + ][e.month()] + : s(this._months) + ? this._months + : this._months.standalone; + }), + (Ci.monthsShort = function (e, t) { + return e + ? s(this._monthsShort) + ? this._monthsShort[e.month()] + : this._monthsShort[xe.test(t) ? 'format' : 'standalone'][ + e.month() + ] + : s(this._monthsShort) + ? this._monthsShort + : this._monthsShort.standalone; + }), + (Ci.monthsParse = function (e, t, i) { + var n, r, s; + if (this._monthsParseExact) return De.call(this, e, t, i); + for ( + this._monthsParse || + ((this._monthsParse = []), + (this._longMonthsParse = []), + (this._shortMonthsParse = [])), + n = 0; + n < 12; + n++ + ) { + if ( + ((r = f([2e3, n])), + i && + !this._longMonthsParse[n] && + ((this._longMonthsParse[n] = new RegExp( + '^' + this.months(r, '').replace('.', '') + '$', + 'i' + )), + (this._shortMonthsParse[n] = new RegExp( + '^' + this.monthsShort(r, '').replace('.', '') + '$', + 'i' + ))), + i || + this._monthsParse[n] || + ((s = + '^' + + this.months(r, '') + + '|^' + + this.monthsShort(r, '')), + (this._monthsParse[n] = new RegExp( + s.replace('.', ''), + 'i' + ))), + i && 'MMMM' === t && this._longMonthsParse[n].test(e)) + ) + return n; + if (i && 'MMM' === t && this._shortMonthsParse[n].test(e)) + return n; + if (!i && this._monthsParse[n].test(e)) return n; + } + }), + (Ci.monthsRegex = function (e) { + return this._monthsParseExact + ? (a(this, '_monthsRegex') || Te.call(this), + e ? this._monthsStrictRegex : this._monthsRegex) + : (a(this, '_monthsRegex') || (this._monthsRegex = Me), + this._monthsStrictRegex && e + ? this._monthsStrictRegex + : this._monthsRegex); + }), + (Ci.monthsShortRegex = function (e) { + return this._monthsParseExact + ? (a(this, '_monthsRegex') || Te.call(this), + e ? this._monthsShortStrictRegex : this._monthsShortRegex) + : (a(this, '_monthsShortRegex') || + (this._monthsShortRegex = Le), + this._monthsShortStrictRegex && e + ? this._monthsShortStrictRegex + : this._monthsShortRegex); + }), + (Ci.week = function (e) { + return Be(e, this._week.dow, this._week.doy).week; + }), + (Ci.firstDayOfYear = function () { + return this._week.doy; + }), + (Ci.firstDayOfWeek = function () { + return this._week.dow; + }), + (Ci.weekdays = function (e, t) { + var i = s(this._weekdays) + ? this._weekdays + : this._weekdays[ + e && !0 !== e && this._weekdays.isFormat.test(t) + ? 'format' + : 'standalone' + ]; + return !0 === e ? Ye(i, this._week.dow) : e ? i[e.day()] : i; + }), + (Ci.weekdaysMin = function (e) { + return !0 === e + ? Ye(this._weekdaysMin, this._week.dow) + : e + ? this._weekdaysMin[e.day()] + : this._weekdaysMin; + }), + (Ci.weekdaysShort = function (e) { + return !0 === e + ? Ye(this._weekdaysShort, this._week.dow) + : e + ? this._weekdaysShort[e.day()] + : this._weekdaysShort; + }), + (Ci.weekdaysParse = function (e, t, i) { + var n, r, s; + if (this._weekdaysParseExact) return Ke.call(this, e, t, i); + for ( + this._weekdaysParse || + ((this._weekdaysParse = []), + (this._minWeekdaysParse = []), + (this._shortWeekdaysParse = []), + (this._fullWeekdaysParse = [])), + n = 0; + n < 7; + n++ + ) { + if ( + ((r = f([2e3, 1]).day(n)), + i && + !this._fullWeekdaysParse[n] && + ((this._fullWeekdaysParse[n] = new RegExp( + '^' + this.weekdays(r, '').replace('.', '\\.?') + '$', + 'i' + )), + (this._shortWeekdaysParse[n] = new RegExp( + '^' + + this.weekdaysShort(r, '').replace('.', '\\.?') + + '$', + 'i' + )), + (this._minWeekdaysParse[n] = new RegExp( + '^' + this.weekdaysMin(r, '').replace('.', '\\.?') + '$', + 'i' + ))), + this._weekdaysParse[n] || + ((s = + '^' + + this.weekdays(r, '') + + '|^' + + this.weekdaysShort(r, '') + + '|^' + + this.weekdaysMin(r, '')), + (this._weekdaysParse[n] = new RegExp( + s.replace('.', ''), + 'i' + ))), + i && 'dddd' === t && this._fullWeekdaysParse[n].test(e)) + ) + return n; + if (i && 'ddd' === t && this._shortWeekdaysParse[n].test(e)) + return n; + if (i && 'dd' === t && this._minWeekdaysParse[n].test(e)) + return n; + if (!i && this._weekdaysParse[n].test(e)) return n; + } + }), + (Ci.weekdaysRegex = function (e) { + return this._weekdaysParseExact + ? (a(this, '_weekdaysRegex') || qe.call(this), + e ? this._weekdaysStrictRegex : this._weekdaysRegex) + : (a(this, '_weekdaysRegex') || (this._weekdaysRegex = ze), + this._weekdaysStrictRegex && e + ? this._weekdaysStrictRegex + : this._weekdaysRegex); + }), + (Ci.weekdaysShortRegex = function (e) { + return this._weekdaysParseExact + ? (a(this, '_weekdaysRegex') || qe.call(this), + e ? this._weekdaysShortStrictRegex : this._weekdaysShortRegex) + : (a(this, '_weekdaysShortRegex') || + (this._weekdaysShortRegex = Ue), + this._weekdaysShortStrictRegex && e + ? this._weekdaysShortStrictRegex + : this._weekdaysShortRegex); + }), + (Ci.weekdaysMinRegex = function (e) { + return this._weekdaysParseExact + ? (a(this, '_weekdaysRegex') || qe.call(this), + e ? this._weekdaysMinStrictRegex : this._weekdaysMinRegex) + : (a(this, '_weekdaysMinRegex') || + (this._weekdaysMinRegex = $e), + this._weekdaysMinStrictRegex && e + ? this._weekdaysMinStrictRegex + : this._weekdaysMinRegex); + }), + (Ci.isPM = function (e) { + return 'p' === (e + '').toLowerCase().charAt(0); + }), + (Ci.meridiem = function (e, t, i) { + return e > 11 ? (i ? 'pm' : 'PM') : i ? 'am' : 'AM'; + }), + ot('en', { + eras: [ + { + since: '0001-01-01', + until: 1 / 0, + offset: 1, + name: 'Anno Domini', + narrow: 'AD', + abbr: 'AD', + }, + { + since: '0000-12-31', + until: -1 / 0, + offset: 1, + name: 'Before Christ', + narrow: 'BC', + abbr: 'BC', + }, + ], + dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/, + ordinal: function (e) { + var t = e % 10; + return ( + e + + (1 === K((e % 100) / 10) + ? 'th' + : 1 === t + ? 'st' + : 2 === t + ? 'nd' + : 3 === t + ? 'rd' + : 'th') + ); + }, + }), + (r.lang = k( + 'moment.lang is deprecated. Use moment.locale instead.', + ot + )), + (r.langData = k( + 'moment.langData is deprecated. Use moment.localeData instead.', + lt + )); + var Li = Math.abs; + function Mi(e, t, i, n) { + var r = jt(t, i); + return ( + (e._milliseconds += n * r._milliseconds), + (e._days += n * r._days), + (e._months += n * r._months), + e._bubble() + ); + } + function Di(e) { + return e < 0 ? Math.floor(e) : Math.ceil(e); + } + function Ni(e) { + return (4800 * e) / 146097; + } + function Ei(e) { + return (146097 * e) / 4800; + } + function Ti(e) { + return function () { + return this.as(e); + }; + } + var Ii = Ti('ms'), + Oi = Ti('s'), + Ai = Ti('m'), + Ri = Ti('h'), + Pi = Ti('d'), + Fi = Ti('w'), + Bi = Ti('M'), + Wi = Ti('Q'), + Yi = Ti('y'); + function Hi(e) { + return function () { + return this.isValid() ? this._data[e] : NaN; + }; + } + var ji = Hi('milliseconds'), + Vi = Hi('seconds'), + zi = Hi('minutes'), + Ui = Hi('hours'), + $i = Hi('days'), + Ki = Hi('months'), + qi = Hi('years'); + var Gi = Math.round, + Zi = { ss: 44, s: 45, m: 45, h: 22, d: 26, w: null, M: 11 }; + function Ji(e, t, i, n, r) { + return r.relativeTime(t || 1, !!i, e, n); + } + var Qi = Math.abs; + function Xi(e) { + return (e > 0) - (e < 0) || +e; + } + function en() { + if (!this.isValid()) return this.localeData().invalidDate(); + var e, + t, + i, + n, + r, + s, + o, + a, + l = Qi(this._milliseconds) / 1e3, + c = Qi(this._days), + d = Qi(this._months), + h = this.asSeconds(); + return h + ? ((e = $(l / 60)), + (t = $(e / 60)), + (l %= 60), + (e %= 60), + (i = $(d / 12)), + (d %= 12), + (n = l ? l.toFixed(3).replace(/\.?0+$/, '') : ''), + (r = h < 0 ? '-' : ''), + (s = Xi(this._months) !== Xi(h) ? '-' : ''), + (o = Xi(this._days) !== Xi(h) ? '-' : ''), + (a = Xi(this._milliseconds) !== Xi(h) ? '-' : ''), + r + + 'P' + + (i ? s + i + 'Y' : '') + + (d ? s + d + 'M' : '') + + (c ? o + c + 'D' : '') + + (t || e || l ? 'T' : '') + + (t ? a + t + 'H' : '') + + (e ? a + e + 'M' : '') + + (l ? a + n + 'S' : '')) + : 'P0D'; + } + var tn = Tt.prototype; + return ( + (tn.isValid = function () { + return this._isValid; + }), + (tn.abs = function () { + var e = this._data; + return ( + (this._milliseconds = Li(this._milliseconds)), + (this._days = Li(this._days)), + (this._months = Li(this._months)), + (e.milliseconds = Li(e.milliseconds)), + (e.seconds = Li(e.seconds)), + (e.minutes = Li(e.minutes)), + (e.hours = Li(e.hours)), + (e.months = Li(e.months)), + (e.years = Li(e.years)), + this + ); + }), + (tn.add = function (e, t) { + return Mi(this, e, t, 1); + }), + (tn.subtract = function (e, t) { + return Mi(this, e, t, -1); + }), + (tn.as = function (e) { + if (!this.isValid()) return NaN; + var t, + i, + n = this._milliseconds; + if ('month' === (e = H(e)) || 'quarter' === e || 'year' === e) + switch ( + ((t = this._days + n / 864e5), (i = this._months + Ni(t)), e) + ) { + case 'month': + return i; + case 'quarter': + return i / 3; + case 'year': + return i / 12; + } + else + switch (((t = this._days + Math.round(Ei(this._months))), e)) { + case 'week': + return t / 7 + n / 6048e5; + case 'day': + return t + n / 864e5; + case 'hour': + return 24 * t + n / 36e5; + case 'minute': + return 1440 * t + n / 6e4; + case 'second': + return 86400 * t + n / 1e3; + case 'millisecond': + return Math.floor(864e5 * t) + n; + default: + throw new Error('Unknown unit ' + e); + } + }), + (tn.asMilliseconds = Ii), + (tn.asSeconds = Oi), + (tn.asMinutes = Ai), + (tn.asHours = Ri), + (tn.asDays = Pi), + (tn.asWeeks = Fi), + (tn.asMonths = Bi), + (tn.asQuarters = Wi), + (tn.asYears = Yi), + (tn.valueOf = function () { + return this.isValid() + ? this._milliseconds + + 864e5 * this._days + + (this._months % 12) * 2592e6 + + 31536e6 * K(this._months / 12) + : NaN; + }), + (tn._bubble = function () { + var e, + t, + i, + n, + r, + s = this._milliseconds, + o = this._days, + a = this._months, + l = this._data; + return ( + (s >= 0 && o >= 0 && a >= 0) || + (s <= 0 && o <= 0 && a <= 0) || + ((s += 864e5 * Di(Ei(a) + o)), (o = 0), (a = 0)), + (l.milliseconds = s % 1e3), + (e = $(s / 1e3)), + (l.seconds = e % 60), + (t = $(e / 60)), + (l.minutes = t % 60), + (i = $(t / 60)), + (l.hours = i % 24), + (o += $(i / 24)), + (a += r = $(Ni(o))), + (o -= Di(Ei(r))), + (n = $(a / 12)), + (a %= 12), + (l.days = o), + (l.months = a), + (l.years = n), + this + ); + }), + (tn.clone = function () { + return jt(this); + }), + (tn.get = function (e) { + return (e = H(e)), this.isValid() ? this[e + 's']() : NaN; + }), + (tn.milliseconds = ji), + (tn.seconds = Vi), + (tn.minutes = zi), + (tn.hours = Ui), + (tn.days = $i), + (tn.weeks = function () { + return $(this.days() / 7); + }), + (tn.months = Ki), + (tn.years = qi), + (tn.humanize = function (e, t) { + if (!this.isValid()) return this.localeData().invalidDate(); + var i, + n, + r = !1, + s = Zi; + return ( + 'object' == typeof e && ((t = e), (e = !1)), + 'boolean' == typeof e && (r = e), + 'object' == typeof t && + ((s = Object.assign({}, Zi, t)), + null != t.s && null == t.ss && (s.ss = t.s - 1)), + (n = (function (e, t, i, n) { + var r = jt(e).abs(), + s = Gi(r.as('s')), + o = Gi(r.as('m')), + a = Gi(r.as('h')), + l = Gi(r.as('d')), + c = Gi(r.as('M')), + d = Gi(r.as('w')), + h = Gi(r.as('y')), + u = + (s <= i.ss && ['s', s]) || + (s < i.s && ['ss', s]) || + (o <= 1 && ['m']) || + (o < i.m && ['mm', o]) || + (a <= 1 && ['h']) || + (a < i.h && ['hh', a]) || + (l <= 1 && ['d']) || + (l < i.d && ['dd', l]); + return ( + null != i.w && + (u = u || (d <= 1 && ['w']) || (d < i.w && ['ww', d])), + ((u = u || + (c <= 1 && ['M']) || + (c < i.M && ['MM', c]) || + (h <= 1 && ['y']) || ['yy', h])[2] = t), + (u[3] = +e > 0), + (u[4] = n), + Ji.apply(null, u) + ); + })(this, !r, s, (i = this.localeData()))), + r && (n = i.pastFuture(+this, n)), + i.postformat(n) + ); + }), + (tn.toISOString = en), + (tn.toString = en), + (tn.toJSON = en), + (tn.locale = Xt), + (tn.localeData = ti), + (tn.toIsoString = k( + 'toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)', + en + )), + (tn.lang = ei), + P('X', 0, 0, 'unix'), + P('x', 0, 0, 'valueOf'), + fe('x', de), + fe('X', /[+-]?\d+(\.\d{1,3})?/), + be('X', function (e, t, i) { + i._d = new Date(1e3 * parseFloat(e)); + }), + be('x', function (e, t, i) { + i._d = new Date(K(e)); + }), + (r.version = '2.29.1'), + (t = Lt), + (r.fn = yi), + (r.min = function () { + return Nt('isBefore', [].slice.call(arguments, 0)); + }), + (r.max = function () { + return Nt('isAfter', [].slice.call(arguments, 0)); + }), + (r.now = function () { + return Date.now ? Date.now() : +new Date(); + }), + (r.utc = f), + (r.unix = function (e) { + return Lt(1e3 * e); + }), + (r.months = function (e, t) { + return ki(e, t, 'months'); + }), + (r.isDate = h), + (r.locale = ot), + (r.invalid = _), + (r.duration = jt), + (r.isMoment = C), + (r.weekdays = function (e, t, i) { + return xi(e, t, i, 'weekdays'); + }), + (r.parseZone = function () { + return Lt.apply(null, arguments).parseZone(); + }), + (r.localeData = lt), + (r.isDuration = It), + (r.monthsShort = function (e, t) { + return ki(e, t, 'monthsShort'); + }), + (r.weekdaysMin = function (e, t, i) { + return xi(e, t, i, 'weekdaysMin'); + }), + (r.defineLocale = at), + (r.updateLocale = function (e, t) { + if (null != t) { + var i, + n, + r = et; + null != tt[e] && null != tt[e].parentLocale + ? tt[e].set(N(tt[e]._config, t)) + : (null != (n = st(e)) && (r = n._config), + (t = N(r, t)), + null == n && (t.abbr = e), + ((i = new E(t)).parentLocale = tt[e]), + (tt[e] = i)), + ot(e); + } else + null != tt[e] && + (null != tt[e].parentLocale + ? ((tt[e] = tt[e].parentLocale), e === ot() && ot(e)) + : null != tt[e] && delete tt[e]); + return tt[e]; + }), + (r.locales = function () { + return x(tt); + }), + (r.weekdaysShort = function (e, t, i) { + return xi(e, t, i, 'weekdaysShort'); + }), + (r.normalizeUnits = H), + (r.relativeTimeRounding = function (e) { + return void 0 === e + ? Gi + : 'function' == typeof e && ((Gi = e), !0); + }), + (r.relativeTimeThreshold = function (e, t) { + return ( + void 0 !== Zi[e] && + (void 0 === t + ? Zi[e] + : ((Zi[e] = t), 's' === e && (Zi.ss = t - 1), !0)) + ); + }), + (r.calendarFormat = function (e, t) { + var i = e.diff(t, 'days', !0); + return i < -6 + ? 'sameElse' + : i < -1 + ? 'lastWeek' + : i < 0 + ? 'lastDay' + : i < 1 + ? 'sameDay' + : i < 2 + ? 'nextDay' + : i < 7 + ? 'nextWeek' + : 'sameElse'; + }), + (r.prototype = yi), + (r.HTML5_FMT = { + DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', + DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', + DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', + DATE: 'YYYY-MM-DD', + TIME: 'HH:mm', + TIME_SECONDS: 'HH:mm:ss', + TIME_MS: 'HH:mm:ss.SSS', + WEEK: 'GGGG-[W]WW', + MONTH: 'YYYY-MM', + }), + r + ); + })(); + }, + 50158: (e, t, i) => { + var n; + (self.MonacoEnvironment = + ((n = { + editorWorkerService: 'editor.worker.js', + json: 'json.worker.js', + }), + { + getWorkerUrl: function (e, t) { + var r = i.p, + s = (r ? r.replace(/\/$/, '') + '/' : '') + n[t]; + if (/^((http:)|(https:)|(file:)|(\/\/))/.test(s)) { + var o = String(window.location), + a = o.substr( + 0, + o.length - + window.location.hash.length - + window.location.search.length - + window.location.pathname.length + ); + if (s.substring(0, a.length) !== a) { + var l = new Blob( + ['/*' + t + '*/importScripts("' + s + '");'], + { type: 'application/javascript' } + ); + return URL.createObjectURL(l); + } + } + return s; + }, + })), + i(29477), + i(17355), + i(17084), + i(84594), + i(62015), + i(9093), + i(53832), + i(64494), + i(89098), + i(76522), + i(18728), + i(42834), + i(7441), + i(93391), + i(62943), + i(23111), + i(76798), + i(42698), + i(62097), + i(92729), + i(10365), + i(25217), + i(19646), + i(83554), + i(80638), + i(97830), + i(42408), + i(34800), + i(38486), + i(55027), + i(40517), + i(97720), + i(78944), + i(98936), + i(4454), + i(81955), + i(78694), + i(24993), + i(15662), + i(19720), + i(77847), + i(31725), + i(70185), + i(43497), + i(99453), + i(60661), + (e.exports = i(34935)), + i(72323); + }, + 36640: (e, t, i) => { + var n; + (self.MonacoEnvironment = + ((n = { + editorWorkerService: 'editor.worker.js', + json: 'json.worker.js', + }), + { + getWorkerUrl: function (e, t) { + var r = i.p, + s = (r ? r.replace(/\/$/, '') + '/' : '') + n[t]; + if (/^((http:)|(https:)|(file:)|(\/\/))/.test(s)) { + var o = String(window.location), + a = o.substr( + 0, + o.length - + window.location.hash.length - + window.location.search.length - + window.location.pathname.length + ); + if (s.substring(0, a.length) !== a) { + var l = new Blob( + ['/*' + t + '*/importScripts("' + s + '");'], + { type: 'application/javascript' } + ); + return URL.createObjectURL(l); + } + } + return s; + }, + })), + i(29477), + i(17355), + i(17084), + i(84594), + i(62015), + i(9093), + i(53832), + i(64494), + i(89098), + i(76522), + i(18728), + i(42834), + i(7441), + i(93391), + i(62943), + i(23111), + i(76798), + i(42698), + i(62097), + i(92729), + i(10365), + i(25217), + i(19646), + i(83554), + i(80638), + i(97830), + i(42408), + i(34800), + i(38486), + i(55027), + i(40517), + i(97720), + i(78944), + i(98936), + i(4454), + i(81955), + i(78694), + i(24993), + i(15662), + i(19720), + i(77847), + i(31725), + i(70185), + i(43497), + i(99453), + i(60661), + (e.exports = i(98368)), + i(72323); + }, + 16268: (e, t, i) => { + 'use strict'; + i.d(t, { + px: () => s, + WP: () => o, + fX: () => a, + ie: () => l, + mX: () => c, + un: () => h, + vU: () => u, + Pf: () => g, + i7: () => f, + G6: () => p, + MG: () => m, + zc: () => _, + X5: () => b, + $W: () => v, + }); + var n = i(4669); + class r { + constructor() { + (this._zoomLevel = 0), + (this._lastZoomLevelChangeTime = 0), + (this._onDidChangeZoomLevel = new n.Q5()), + (this.onDidChangeZoomLevel = this._onDidChangeZoomLevel.event), + (this._zoomFactor = 1); + } + getZoomLevel() { + return this._zoomLevel; + } + getTimeSinceLastZoomLevelChanged() { + return Date.now() - this._lastZoomLevelChangeTime; + } + getZoomFactor() { + return this._zoomFactor; + } + getPixelRatio() { + let e = document.createElement('canvas').getContext('2d'); + return ( + (window.devicePixelRatio || 1) / + (e.webkitBackingStorePixelRatio || + e.mozBackingStorePixelRatio || + e.msBackingStorePixelRatio || + e.oBackingStorePixelRatio || + e.backingStorePixelRatio || + 1) + ); + } + } + function s() { + return r.INSTANCE.getZoomLevel(); + } + function o() { + return r.INSTANCE.getTimeSinceLastZoomLevelChanged(); + } + function a(e) { + return r.INSTANCE.onDidChangeZoomLevel(e); + } + function l() { + return r.INSTANCE.getZoomFactor(); + } + function c() { + return r.INSTANCE.getPixelRatio(); + } + r.INSTANCE = new r(); + const d = navigator.userAgent, + h = d.indexOf('Edge/') >= 0, + u = d.indexOf('Firefox') >= 0, + g = d.indexOf('AppleWebKit') >= 0, + f = d.indexOf('Chrome') >= 0, + p = !f && d.indexOf('Safari') >= 0, + m = !f && !p && g, + _ = d.indexOf('iPad') >= 0 || (p && navigator.maxTouchPoints > 0), + b = h && d.indexOf('WebView/') >= 0, + v = + window.matchMedia && + window.matchMedia('(display-mode: standalone)').matches; + }, + 10161: (e, t, i) => { + 'use strict'; + i.d(t, { D: () => s }); + var n = i(16268), + r = i(1432); + const s = { + clipboard: { + writeText: + r.tY || + (document.queryCommandSupported && + document.queryCommandSupported('copy')) || + !!( + navigator && + navigator.clipboard && + navigator.clipboard.writeText + ), + readText: + r.tY || + !!( + navigator && + navigator.clipboard && + navigator.clipboard.readText + ), + richText: (() => { + if (n.un) { + let e = navigator.userAgent.indexOf('Edge/'), + t = parseInt( + navigator.userAgent.substring( + e + 5, + navigator.userAgent.indexOf('.', e) + ), + 10 + ); + if (!t || (t >= 12 && t <= 16)) return !1; + } + return !0; + })(), + }, + keyboard: r.tY || n.$W ? 0 : navigator.keyboard || n.G6 ? 1 : 2, + touch: + 'ontouchstart' in window || + navigator.maxTouchPoints > 0 || + window.navigator.msMaxTouchPoints > 0, + pointerEvents: + window.PointerEvent && + ('ontouchstart' in window || + window.navigator.maxTouchPoints > 0 || + navigator.maxTouchPoints > 0 || + window.navigator.msMaxTouchPoints > 0), + }; + }, + 23547: (e, t, i) => { + 'use strict'; + i.d(t, { go: () => n, TN: () => r, P$: () => s }); + const n = { + RESOURCES: 'ResourceURLs', + DOWNLOAD_URL: 'DownloadURL', + FILES: 'Files', + TEXT: 'text/plain', + }; + class r { + constructor(e) { + this.data = e; + } + update() {} + getData() { + return this.data; + } + } + const s = { CurrentDragAndDropData: void 0 }; + }, + 65321: (e, t, i) => { + 'use strict'; + i.d(t, { + PO: () => p, + ZF: () => m, + Uw: () => _, + pv: () => v, + cn: () => y, + PT: () => w, + IV: () => C, + GK: () => S, + og: () => k, + nm: () => L, + mu: () => D, + Gw: () => N, + Lo: () => E, + qV: () => T, + j_: () => I, + RE: () => O, + lI: () => A, + jL: () => R, + Y_: () => Y, + Dx: () => H, + D6: () => j, + xQ: () => U, + i: () => $, + DI: () => K, + w: () => q, + FK: () => G, + If: () => Z, + wn: () => J, + jg: () => Q, + Fx: () => X, + uU: () => ee, + OO: () => ie, + Ay: () => ne, + vY: () => re, + dS: () => se, + fk: () => le, + uN: () => ce, + Re: () => de, + tw: () => he, + zB: () => ue, + vL: () => ge, + _0: () => fe, + go: () => me, + R3: () => _e, + mc: () => ve, + $: () => Ce, + $Z: () => Se, + Cp: () => ke, + eJ: () => xe, + H$: () => Le, + Uh: () => Me, + V3: () => De, + jt: () => Ne, + uD: () => Ee, + wY: () => Te, + }); + var n = i(16268), + r = i(4850), + s = i(59069), + o = i(23938), + a = i(15393), + l = i(17301), + c = i(4669), + d = i(5976), + h = i(1432), + u = i(9488), + g = i(66663), + f = i(10161); + function p(e) { + for (; e.firstChild; ) e.removeChild(e.firstChild); + } + function m(e) { + e.parentNode && e.parentNode.removeChild(e); + } + function _(e) { + for (; e; ) { + if (e === document.body) return !0; + e = e.parentNode || e.host; + } + return !1; + } + const b = new (class { + hasClass(e, t) { + return Boolean(t) && e.classList && e.classList.contains(t); + } + addClasses(e, ...t) { + t.forEach((t) => + t.split(' ').forEach((t) => this.addClass(e, t)) + ); + } + addClass(e, t) { + t && e.classList && e.classList.add(t); + } + removeClass(e, t) { + t && e.classList && e.classList.remove(t); + } + removeClasses(e, ...t) { + t.forEach((t) => + t.split(' ').forEach((t) => this.removeClass(e, t)) + ); + } + toggleClass(e, t, i) { + e.classList && e.classList.toggle(t, i); + } + })(), + v = b.hasClass.bind(b), + y = b.addClass.bind(b), + w = b.addClasses.bind(b), + C = b.removeClass.bind(b), + S = b.removeClasses.bind(b), + k = b.toggleClass.bind(b); + class x { + constructor(e, t, i, n) { + (this._node = e), + (this._type = t), + (this._handler = i), + (this._options = n || !1), + this._node.addEventListener( + this._type, + this._handler, + this._options + ); + } + dispose() { + this._handler && + (this._node.removeEventListener( + this._type, + this._handler, + this._options + ), + (this._node = null), + (this._handler = null)); + } + } + function L(e, t, i, n) { + return new x(e, t, i, n); + } + function M(e) { + return function (t) { + return e(new o.n(t)); + }; + } + let D = function (e, t, i, n) { + let r = i; + return ( + 'click' === t || 'mousedown' === t + ? (r = M(i)) + : ('keydown' !== t && 'keypress' !== t && 'keyup' !== t) || + (r = (function (e) { + return function (t) { + return e(new s.y(t)); + }; + })(i)), + L(e, t, r, n) + ); + }, + N = function (e, t, i) { + return E(e, M(t), i); + }; + function E(e, t, i) { + return L( + e, + h.gn && f.D.pointerEvents ? he.POINTER_DOWN : he.MOUSE_DOWN, + t, + i + ); + } + function T(e, t, i) { + return L( + e, + h.gn && f.D.pointerEvents ? he.POINTER_UP : he.MOUSE_UP, + t, + i + ); + } + function I(e, t) { + return L(e, 'mouseout', (i) => { + let n = i.relatedTarget; + for (; n && n !== e; ) n = n.parentNode; + n !== e && t(i); + }); + } + function O(e, t) { + return L(e, 'pointerout', (i) => { + let n = i.relatedTarget; + for (; n && n !== e; ) n = n.parentNode; + n !== e && t(i); + }); + } + let A, + R, + P = null; + class F { + constructor(e, t = 0) { + (this._runner = e), (this.priority = t), (this._canceled = !1); + } + dispose() { + this._canceled = !0; + } + execute() { + if (!this._canceled) + try { + this._runner(); + } catch (e) { + (0, l.dL)(e); + } + } + static sort(e, t) { + return t.priority - e.priority; + } + } + !(function () { + let e = [], + t = null, + i = !1, + n = !1, + r = () => { + for (i = !1, t = e, e = [], n = !0; t.length > 0; ) + t.sort(F.sort), t.shift().execute(); + n = !1; + }; + (R = (t, n = 0) => { + let s = new F(t, n); + return ( + e.push(s), + i || + ((i = !0), + (function (e) { + if (!P) { + const e = (e) => + setTimeout(() => e(new Date().getTime()), 0); + P = + self.requestAnimationFrame || + self.msRequestAnimationFrame || + self.webkitRequestAnimationFrame || + self.mozRequestAnimationFrame || + self.oRequestAnimationFrame || + e; + } + P.call(self, e); + })(r)), + s + ); + }), + (A = (e, i) => { + if (n) { + let n = new F(e, i); + return t.push(n), n; + } + return R(e, i); + }); + })(); + const B = function (e, t) { + return t; + }; + class W extends d.JT { + constructor(e, t, i, n = B, r = 16) { + super(); + let s = null, + o = 0, + l = this._register(new a._F()), + c = () => { + (o = new Date().getTime()), i(s), (s = null); + }; + this._register( + L(e, t, (e) => { + s = n(s, e); + let t = new Date().getTime() - o; + t >= r ? (l.cancel(), c()) : l.setIfNotSet(c, r - t); + }) + ); + } + } + function Y(e, t, i, n, r) { + return new W(e, t, i, n, r); + } + function H(e) { + return document.defaultView.getComputedStyle(e, null); + } + function j(e) { + if (e !== document.body) return new z(e.clientWidth, e.clientHeight); + if (h.gn && window.visualViewport) { + const e = window.visualViewport.width, + t = window.visualViewport.height - (n.$W ? 24 : 0); + return new z(e, t); + } + if (window.innerWidth && window.innerHeight) + return new z(window.innerWidth, window.innerHeight); + if ( + document.body && + document.body.clientWidth && + document.body.clientHeight + ) + return new z(document.body.clientWidth, document.body.clientHeight); + if ( + document.documentElement && + document.documentElement.clientWidth && + document.documentElement.clientHeight + ) + return new z( + document.documentElement.clientWidth, + document.documentElement.clientHeight + ); + throw new Error('Unable to figure out browser width and height'); + } + class V { + static convertToPixels(e, t) { + return parseFloat(t) || 0; + } + static getDimension(e, t, i) { + let n = H(e), + r = '0'; + return ( + n && + (r = n.getPropertyValue + ? n.getPropertyValue(t) + : n.getAttribute(i)), + V.convertToPixels(e, r) + ); + } + static getBorderLeftWidth(e) { + return V.getDimension(e, 'border-left-width', 'borderLeftWidth'); + } + static getBorderRightWidth(e) { + return V.getDimension(e, 'border-right-width', 'borderRightWidth'); + } + static getBorderTopWidth(e) { + return V.getDimension(e, 'border-top-width', 'borderTopWidth'); + } + static getBorderBottomWidth(e) { + return V.getDimension( + e, + 'border-bottom-width', + 'borderBottomWidth' + ); + } + static getPaddingLeft(e) { + return V.getDimension(e, 'padding-left', 'paddingLeft'); + } + static getPaddingRight(e) { + return V.getDimension(e, 'padding-right', 'paddingRight'); + } + static getPaddingTop(e) { + return V.getDimension(e, 'padding-top', 'paddingTop'); + } + static getPaddingBottom(e) { + return V.getDimension(e, 'padding-bottom', 'paddingBottom'); + } + static getMarginLeft(e) { + return V.getDimension(e, 'margin-left', 'marginLeft'); + } + static getMarginTop(e) { + return V.getDimension(e, 'margin-top', 'marginTop'); + } + static getMarginRight(e) { + return V.getDimension(e, 'margin-right', 'marginRight'); + } + static getMarginBottom(e) { + return V.getDimension(e, 'margin-bottom', 'marginBottom'); + } + } + class z { + constructor(e, t) { + (this.width = e), (this.height = t); + } + } + function U(e) { + let t = e.offsetParent, + i = e.offsetTop, + n = e.offsetLeft; + for ( + ; + null !== (e = e.parentNode) && + e !== document.body && + e !== document.documentElement; + + ) { + i -= e.scrollTop; + const r = te(e) ? null : H(e); + r && (n -= 'rtl' !== r.direction ? e.scrollLeft : -e.scrollLeft), + e === t && + ((n += V.getBorderLeftWidth(e)), + (i += V.getBorderTopWidth(e)), + (i += e.offsetTop), + (n += e.offsetLeft), + (t = e.offsetParent)); + } + return { left: n, top: i }; + } + function $(e) { + let t = e.getBoundingClientRect(); + return { + left: t.left + K.scrollX, + top: t.top + K.scrollY, + width: t.width, + height: t.height, + }; + } + const K = new (class { + get scrollX() { + return 'number' == typeof window.scrollX + ? window.scrollX + : document.body.scrollLeft + document.documentElement.scrollLeft; + } + get scrollY() { + return 'number' == typeof window.scrollY + ? window.scrollY + : document.body.scrollTop + document.documentElement.scrollTop; + } + })(); + function q(e) { + let t = V.getMarginLeft(e) + V.getMarginRight(e); + return e.offsetWidth + t; + } + function G(e) { + let t = V.getBorderLeftWidth(e) + V.getBorderRightWidth(e), + i = V.getPaddingLeft(e) + V.getPaddingRight(e); + return e.offsetWidth - t - i; + } + function Z(e) { + let t = V.getBorderTopWidth(e) + V.getBorderBottomWidth(e), + i = V.getPaddingTop(e) + V.getPaddingBottom(e); + return e.offsetHeight - t - i; + } + function J(e) { + let t = V.getMarginTop(e) + V.getMarginBottom(e); + return e.offsetHeight + t; + } + function Q(e, t) { + for (; e; ) { + if (e === t) return !0; + e = e.parentNode; + } + return !1; + } + function X(e, t, i) { + for (; e && e.nodeType === e.ELEMENT_NODE; ) { + if (v(e, t)) return e; + if (i) + if ('string' == typeof i) { + if (v(e, i)) return null; + } else if (e === i) return null; + e = e.parentNode; + } + return null; + } + function ee(e, t, i) { + return !!X(e, t, i); + } + function te(e) { + return e && !!e.host && !!e.mode; + } + function ie(e) { + return !!ne(e); + } + function ne(e) { + for (; e.parentNode; ) { + if (e === document.body) return null; + e = e.parentNode; + } + return te(e) ? e : null; + } + function re() { + let e = document.activeElement; + for (; null == e ? void 0 : e.shadowRoot; ) + e = e.shadowRoot.activeElement; + return e; + } + function se(e = document.getElementsByTagName('head')[0]) { + let t = document.createElement('style'); + return ( + (t.type = 'text/css'), (t.media = 'screen'), e.appendChild(t), t + ); + } + let oe = null; + function ae() { + return oe || (oe = se()), oe; + } + function le(e, t, i = ae()) { + i && t && i.sheet.insertRule(e + '{' + t + '}', 0); + } + function ce(e, t = ae()) { + if (!t) return; + let i = (function (e) { + return e && e.sheet && e.sheet.rules + ? e.sheet.rules + : e && e.sheet && e.sheet.cssRules + ? e.sheet.cssRules + : []; + })(t), + n = []; + for (let t = 0; t < i.length; t++) + -1 !== i[t].selectorText.indexOf(e) && n.push(t); + for (let e = n.length - 1; e >= 0; e--) t.sheet.deleteRule(n[e]); + } + function de(e) { + return 'object' == typeof HTMLElement + ? e instanceof HTMLElement + : e && + 'object' == typeof e && + 1 === e.nodeType && + 'string' == typeof e.nodeName; + } + const he = { + CLICK: 'click', + AUXCLICK: 'auxclick', + DBLCLICK: 'dblclick', + MOUSE_UP: 'mouseup', + MOUSE_DOWN: 'mousedown', + MOUSE_OVER: 'mouseover', + MOUSE_MOVE: 'mousemove', + MOUSE_OUT: 'mouseout', + MOUSE_ENTER: 'mouseenter', + MOUSE_LEAVE: 'mouseleave', + MOUSE_WHEEL: n.un ? 'mousewheel' : 'wheel', + POINTER_UP: 'pointerup', + POINTER_DOWN: 'pointerdown', + POINTER_MOVE: 'pointermove', + CONTEXT_MENU: 'contextmenu', + WHEEL: 'wheel', + KEY_DOWN: 'keydown', + KEY_PRESS: 'keypress', + KEY_UP: 'keyup', + LOAD: 'load', + BEFORE_UNLOAD: 'beforeunload', + UNLOAD: 'unload', + ABORT: 'abort', + ERROR: 'error', + RESIZE: 'resize', + SCROLL: 'scroll', + FULLSCREEN_CHANGE: 'fullscreenchange', + WK_FULLSCREEN_CHANGE: 'webkitfullscreenchange', + SELECT: 'select', + CHANGE: 'change', + SUBMIT: 'submit', + RESET: 'reset', + FOCUS: 'focus', + FOCUS_IN: 'focusin', + FOCUS_OUT: 'focusout', + BLUR: 'blur', + INPUT: 'input', + STORAGE: 'storage', + DRAG_START: 'dragstart', + DRAG: 'drag', + DRAG_ENTER: 'dragenter', + DRAG_LEAVE: 'dragleave', + DRAG_OVER: 'dragover', + DROP: 'drop', + DRAG_END: 'dragend', + ANIMATION_START: n.Pf ? 'webkitAnimationStart' : 'animationstart', + ANIMATION_END: n.Pf ? 'webkitAnimationEnd' : 'animationend', + ANIMATION_ITERATION: n.Pf + ? 'webkitAnimationIteration' + : 'animationiteration', + }, + ue = { + stop: function (e, t) { + e.preventDefault ? e.preventDefault() : (e.returnValue = !1), + t && + (e.stopPropagation + ? e.stopPropagation() + : (e.cancelBubble = !0)); + }, + }; + function ge(e) { + let t = []; + for (let i = 0; e && e.nodeType === e.ELEMENT_NODE; i++) + (t[i] = e.scrollTop), (e = e.parentNode); + return t; + } + function fe(e, t) { + for (let i = 0; e && e.nodeType === e.ELEMENT_NODE; i++) + e.scrollTop !== t[i] && (e.scrollTop = t[i]), (e = e.parentNode); + } + class pe extends d.JT { + constructor(e) { + super(), + (this._onDidFocus = this._register(new c.Q5())), + (this.onDidFocus = this._onDidFocus.event), + (this._onDidBlur = this._register(new c.Q5())), + (this.onDidBlur = this._onDidBlur.event); + let t = Q(document.activeElement, e), + i = !1; + const n = () => { + (i = !1), t || ((t = !0), this._onDidFocus.fire()); + }, + s = () => { + t && + ((i = !0), + window.setTimeout(() => { + i && ((i = !1), (t = !1), this._onDidBlur.fire()); + }, 0)); + }; + (this._refreshStateHandler = () => { + Q(document.activeElement, e) !== t && (t ? s() : n()); + }), + this._register((0, r.j)(e, he.FOCUS, !0)(n)), + this._register((0, r.j)(e, he.BLUR, !0)(s)); + } + } + function me(e) { + return new pe(e); + } + function _e(e, ...t) { + return t.forEach((t) => e.appendChild(t)), t[t.length - 1]; + } + const be = /([\w\-]+)?(#([\w\-]+))?((\.([\w\-]+))*)/; + function ve(e, ...t) { + (e.innerText = ''), + (0, u.kX)(t).forEach((t) => { + t instanceof Node + ? e.appendChild(t) + : e.appendChild(document.createTextNode(t)); + }); + } + var ye; + function we(e, t, i, ...n) { + let r = be.exec(t); + if (!r) throw new Error('Bad use of emmet'); + i = Object.assign({}, i || {}); + let s, + o = r[1] || 'div'; + return ( + (s = + e !== ye.HTML + ? document.createElementNS(e, o) + : document.createElement(o)), + r[3] && (s.id = r[3]), + r[4] && (s.className = r[4].replace(/\./g, ' ').trim()), + Object.keys(i).forEach((e) => { + const t = i[e]; + void 0 !== t && + (/^on\w+$/.test(e) + ? (s[e] = t) + : 'selected' === e + ? t && s.setAttribute(e, 'true') + : s.setAttribute(e, t)); + }), + (0, u.kX)(n).forEach((e) => { + e instanceof Node + ? s.appendChild(e) + : s.appendChild(document.createTextNode(e)); + }), + s + ); + } + function Ce(e, t, ...i) { + return we(ye.HTML, e, t, ...i); + } + function Se(...e) { + for (let t of e) + (t.style.display = ''), t.removeAttribute('aria-hidden'); + } + function ke(...e) { + for (let t of e) + (t.style.display = 'none'), t.setAttribute('aria-hidden', 'true'); + } + function xe(e) { + if (e && e.hasAttribute('tabIndex')) { + if (document.activeElement === e) { + let t = (function (e, t) { + for (; e && e.nodeType === e.ELEMENT_NODE; ) { + if (e instanceof HTMLElement && e.hasAttribute('tabIndex')) + return e; + e = e.parentNode; + } + return null; + })(e.parentElement); + t && t.focus(); + } + e.removeAttribute('tabindex'); + } + } + function Le(e) { + return Array.prototype.slice.call( + document.getElementsByTagName(e), + 0 + ); + } + function Me(e) { + const t = window.devicePixelRatio * e; + return Math.max(1, Math.floor(t)) / window.devicePixelRatio; + } + function De(e) { + if (h.tY || n.X5) window.open(e); + else { + let t = window.open(); + t && ((t.opener = null), (t.location.href = e)); + } + } + function Ne(e) { + const t = () => { + e(), (i = R(t)); + }; + let i = R(t); + return (0, d.OF)(() => i.dispose()); + } + function Ee(e) { + return e && g.l.vscodeRemote === e.scheme ? g.W.rewrite(e) : e; + } + function Te(e) { + return e + ? `url('${Ee(e).toString(!0).replace(/'/g, '%27')}')` + : "url('')"; + } + !(function (e) { + (e.HTML = 'http://www.w3.org/1999/xhtml'), + (e.SVG = 'http://www.w3.org/2000/svg'); + })(ye || (ye = {})), + (Ce.SVG = function (e, t, ...i) { + return we(ye.SVG, e, t, ...i); + }), + g.W.setPreferredWebSchema( + /^https:/.test(window.location.href) ? 'https' : 'http' + ); + }, + 4850: (e, t, i) => { + 'use strict'; + i.d(t, { j: () => r, s: () => s }); + var n = i(4669); + const r = (e, t, i) => { + const r = (e) => s.fire(e), + s = new n.Q5({ + onFirstListenerAdd: () => { + e.addEventListener(t, r, i); + }, + onLastListenerRemove: () => { + e.removeEventListener(t, r, i); + }, + }); + return s.event; + }; + function s(e) { + return n.ju.map( + e, + (e) => (e.preventDefault(), e.stopPropagation(), e) + ); + } + }, + 38626: (e, t, i) => { + 'use strict'; + i.d(t, { Z: () => r, X: () => s }); + var n = i(65321); + class r { + constructor(e) { + (this.domNode = e), + (this._maxWidth = -1), + (this._width = -1), + (this._height = -1), + (this._top = -1), + (this._left = -1), + (this._bottom = -1), + (this._right = -1), + (this._fontFamily = ''), + (this._fontWeight = ''), + (this._fontSize = -1), + (this._fontFeatureSettings = ''), + (this._lineHeight = -1), + (this._letterSpacing = -100), + (this._className = ''), + (this._display = ''), + (this._position = ''), + (this._visibility = ''), + (this._backgroundColor = ''), + (this._layerHint = !1), + (this._contain = 'none'), + (this._boxShadow = ''); + } + setMaxWidth(e) { + this._maxWidth !== e && + ((this._maxWidth = e), + (this.domNode.style.maxWidth = this._maxWidth + 'px')); + } + setWidth(e) { + this._width !== e && + ((this._width = e), + (this.domNode.style.width = this._width + 'px')); + } + setHeight(e) { + this._height !== e && + ((this._height = e), + (this.domNode.style.height = this._height + 'px')); + } + setTop(e) { + this._top !== e && + ((this._top = e), (this.domNode.style.top = this._top + 'px')); + } + unsetTop() { + -1 !== this._top && + ((this._top = -1), (this.domNode.style.top = '')); + } + setLeft(e) { + this._left !== e && + ((this._left = e), (this.domNode.style.left = this._left + 'px')); + } + setBottom(e) { + this._bottom !== e && + ((this._bottom = e), + (this.domNode.style.bottom = this._bottom + 'px')); + } + setRight(e) { + this._right !== e && + ((this._right = e), + (this.domNode.style.right = this._right + 'px')); + } + setFontFamily(e) { + this._fontFamily !== e && + ((this._fontFamily = e), + (this.domNode.style.fontFamily = this._fontFamily)); + } + setFontWeight(e) { + this._fontWeight !== e && + ((this._fontWeight = e), + (this.domNode.style.fontWeight = this._fontWeight)); + } + setFontSize(e) { + this._fontSize !== e && + ((this._fontSize = e), + (this.domNode.style.fontSize = this._fontSize + 'px')); + } + setFontFeatureSettings(e) { + this._fontFeatureSettings !== e && + ((this._fontFeatureSettings = e), + (this.domNode.style.fontFeatureSettings = this._fontFeatureSettings)); + } + setLineHeight(e) { + this._lineHeight !== e && + ((this._lineHeight = e), + (this.domNode.style.lineHeight = this._lineHeight + 'px')); + } + setLetterSpacing(e) { + this._letterSpacing !== e && + ((this._letterSpacing = e), + (this.domNode.style.letterSpacing = this._letterSpacing + 'px')); + } + setClassName(e) { + this._className !== e && + ((this._className = e), + (this.domNode.className = this._className)); + } + toggleClassName(e, t) { + n.og(this.domNode, e, t), + (this._className = this.domNode.className); + } + setDisplay(e) { + this._display !== e && + ((this._display = e), + (this.domNode.style.display = this._display)); + } + setPosition(e) { + this._position !== e && + ((this._position = e), + (this.domNode.style.position = this._position)); + } + setVisibility(e) { + this._visibility !== e && + ((this._visibility = e), + (this.domNode.style.visibility = this._visibility)); + } + setBackgroundColor(e) { + this._backgroundColor !== e && + ((this._backgroundColor = e), + (this.domNode.style.backgroundColor = this._backgroundColor)); + } + setLayerHinting(e) { + this._layerHint !== e && + ((this._layerHint = e), + (this.domNode.style.transform = this._layerHint + ? 'translate3d(0px, 0px, 0px)' + : '')); + } + setBoxShadow(e) { + this._boxShadow !== e && + ((this._boxShadow = e), (this.domNode.style.boxShadow = e)); + } + setContain(e) { + this._contain !== e && + ((this._contain = e), + (this.domNode.style.contain = this._contain)); + } + setAttribute(e, t) { + this.domNode.setAttribute(e, t); + } + removeAttribute(e) { + this.domNode.removeAttribute(e); + } + appendChild(e) { + this.domNode.appendChild(e.domNode); + } + removeChild(e) { + this.domNode.removeChild(e.domNode); + } + } + function s(e) { + return new r(e); + } + }, + 48764: (e, t, i) => { + 'use strict'; + i.d(t, { IY: () => r, BO: () => s, az: () => o }); + var n = i(65321); + function r(e, t = {}) { + const i = o(t); + return (i.textContent = e), i; + } + function s(e, t = {}) { + const i = o(t); + return ( + l( + i, + (function (e) { + const t = { type: 1, children: [] }; + let i = 0, + n = t; + const r = [], + s = new a(e); + for (; !s.eos(); ) { + let e = s.next(); + const t = '\\' === e && 0 !== c(s.peek()); + if ((t && (e = s.next()), t || 0 === c(e) || e !== s.peek())) + if ('\n' === e) + 2 === n.type && (n = r.pop()), + n.children.push({ type: 7 }); + else if (2 !== n.type) { + const t = { type: 2, content: e }; + n.children.push(t), r.push(n), (n = t); + } else n.content += e; + else { + s.advance(), 2 === n.type && (n = r.pop()); + const t = c(e); + if (n.type === t || (5 === n.type && 6 === t)) n = r.pop(); + else { + const e = { type: t, children: [] }; + 5 === t && ((e.index = i), i++), + n.children.push(e), + r.push(n), + (n = e); + } + } + } + return 2 === n.type && (n = r.pop()), r.length, t; + })(e), + t.actionHandler + ), + i + ); + } + function o(e) { + const t = e.inline ? 'span' : 'div', + i = document.createElement(t); + return e.className && (i.className = e.className), i; + } + class a { + constructor(e) { + (this.source = e), (this.index = 0); + } + eos() { + return this.index >= this.source.length; + } + next() { + const e = this.peek(); + return this.advance(), e; + } + peek() { + return this.source[this.index]; + } + advance() { + this.index++; + } + } + function l(e, t, i) { + let r; + if (2 === t.type) r = document.createTextNode(t.content || ''); + else if (3 === t.type) r = document.createElement('b'); + else if (4 === t.type) r = document.createElement('i'); + else if (5 === t.type && i) { + const e = document.createElement('a'); + (e.href = '#'), + i.disposeables.add( + n.mu(e, 'click', (e) => { + i.callback(String(t.index), e); + }) + ), + (r = e); + } else + 7 === t.type + ? (r = document.createElement('br')) + : 1 === t.type && (r = e); + r && e !== r && e.appendChild(r), + r && + Array.isArray(t.children) && + t.children.forEach((e) => { + l(r, e, i); + }); + } + function c(e) { + switch (e) { + case '*': + return 3; + case '_': + return 4; + case '[': + return 5; + case ']': + return 6; + default: + return 0; + } + } + }, + 57974: (e, t, i) => { + 'use strict'; + i.d(t, { e: () => c, Z: () => d }); + var n = i(65321), + r = i(1432), + s = i(70262), + o = i(23938), + a = i(5976), + l = i(10161); + function c(e, t) { + let i = new o.n(t); + return ( + i.preventDefault(), + { + leftButton: i.leftButton, + buttons: i.buttons, + posx: i.posx, + posy: i.posy, + } + ); + } + class d { + constructor() { + (this._hooks = new a.SL()), + (this._mouseMoveEventMerger = null), + (this._mouseMoveCallback = null), + (this._onStopCallback = null); + } + dispose() { + this.stopMonitoring(!1), this._hooks.dispose(); + } + stopMonitoring(e) { + if (!this.isMonitoring()) return; + this._hooks.clear(), + (this._mouseMoveEventMerger = null), + (this._mouseMoveCallback = null); + const t = this._onStopCallback; + (this._onStopCallback = null), e && t && t(); + } + isMonitoring() { + return !!this._mouseMoveEventMerger; + } + startMonitoring(e, t, i, a, c) { + if (this.isMonitoring()) return; + (this._mouseMoveEventMerger = i), + (this._mouseMoveCallback = a), + (this._onStopCallback = c); + const d = s.E.getSameOriginWindowChain(), + h = r.gn && l.D.pointerEvents ? 'pointermove' : 'mousemove', + u = r.gn && l.D.pointerEvents ? 'pointerup' : 'mouseup', + g = d.map((e) => e.window.document), + f = n.Ay(e); + f && g.unshift(f); + for (const e of g) + this._hooks.add( + n.Y_( + e, + h, + (e) => { + e.buttons === t + ? this._mouseMoveCallback(e) + : this.stopMonitoring(!0); + }, + (e, t) => this._mouseMoveEventMerger(e, t) + ) + ), + this._hooks.add(n.nm(e, u, (e) => this.stopMonitoring(!0))); + if (s.E.hasDifferentOriginAncestor()) { + let e = d[d.length - 1]; + this._hooks.add( + n.nm(e.window.document, 'mouseout', (e) => { + 'html' === new o.n(e).target.tagName.toLowerCase() && + this.stopMonitoring(!0); + }) + ), + this._hooks.add( + n.nm(e.window.document, 'mouseover', (e) => { + 'html' === new o.n(e).target.tagName.toLowerCase() && + this.stopMonitoring(!0); + }) + ), + this._hooks.add( + n.nm(e.window.document.body, 'mouseleave', (e) => { + this.stopMonitoring(!0); + }) + ); + } + } + } + }, + 70262: (e, t, i) => { + 'use strict'; + i.d(t, { E: () => o }); + let n = !1, + r = null; + function s(e) { + if (!e.parent || e.parent === e) return null; + try { + let t = e.location, + i = e.parent.location; + if ( + 'null' !== t.origin && + 'null' !== i.origin && + (t.protocol !== i.protocol || + t.hostname !== i.hostname || + t.port !== i.port) + ) + return (n = !0), null; + } catch (e) { + return (n = !0), null; + } + return e.parent; + } + class o { + static getSameOriginWindowChain() { + if (!r) { + r = []; + let e, + t = window; + do { + (e = s(t)), + e + ? r.push({ + window: t, + iframeElement: t.frameElement || null, + }) + : r.push({ window: t, iframeElement: null }), + (t = e); + } while (t); + } + return r.slice(0); + } + static hasDifferentOriginAncestor() { + return r || this.getSameOriginWindowChain(), n; + } + static getPositionOfChildWindowRelativeToAncestorWindow(e, t) { + if (!t || e === t) return { top: 0, left: 0 }; + let i = 0, + n = 0, + r = this.getSameOriginWindowChain(); + for (const e of r) { + if ( + ((i += e.window.scrollY), + (n += e.window.scrollX), + e.window === t) + ) + break; + if (!e.iframeElement) break; + let r = e.iframeElement.getBoundingClientRect(); + (i += r.top), (n += r.left); + } + return { top: i, left: n }; + } + } + }, + 59069: (e, t, i) => { + 'use strict'; + i.d(t, { y: () => d }); + var n = i(16268), + r = i(22258), + s = i(1432); + let o = new Array(230), + a = new Array(112); + !(function () { + for (let e = 0; e < a.length; e++) a[e] = -1; + function e(e, t) { + (o[e] = t), (a[t] = e); + } + e(3, 7), + e(8, 1), + e(9, 2), + e(13, 3), + e(16, 4), + e(17, 5), + e(18, 6), + e(19, 7), + e(20, 8), + e(27, 9), + e(32, 10), + e(33, 11), + e(34, 12), + e(35, 13), + e(36, 14), + e(37, 15), + e(38, 16), + e(39, 17), + e(40, 18), + e(45, 19), + e(46, 20), + e(48, 21), + e(49, 22), + e(50, 23), + e(51, 24), + e(52, 25), + e(53, 26), + e(54, 27), + e(55, 28), + e(56, 29), + e(57, 30), + e(65, 31), + e(66, 32), + e(67, 33), + e(68, 34), + e(69, 35), + e(70, 36), + e(71, 37), + e(72, 38), + e(73, 39), + e(74, 40), + e(75, 41), + e(76, 42), + e(77, 43), + e(78, 44), + e(79, 45), + e(80, 46), + e(81, 47), + e(82, 48), + e(83, 49), + e(84, 50), + e(85, 51), + e(86, 52), + e(87, 53), + e(88, 54), + e(89, 55), + e(90, 56), + e(93, 58), + e(96, 93), + e(97, 94), + e(98, 95), + e(99, 96), + e(100, 97), + e(101, 98), + e(102, 99), + e(103, 100), + e(104, 101), + e(105, 102), + e(106, 103), + e(107, 104), + e(108, 105), + e(109, 106), + e(110, 107), + e(111, 108), + e(112, 59), + e(113, 60), + e(114, 61), + e(115, 62), + e(116, 63), + e(117, 64), + e(118, 65), + e(119, 66), + e(120, 67), + e(121, 68), + e(122, 69), + e(123, 70), + e(124, 71), + e(125, 72), + e(126, 73), + e(127, 74), + e(128, 75), + e(129, 76), + e(130, 77), + e(144, 78), + e(145, 79), + e(186, 80), + e(187, 81), + e(188, 82), + e(189, 83), + e(190, 84), + e(191, 85), + e(192, 86), + e(193, 110), + e(194, 111), + e(219, 87), + e(220, 88), + e(221, 89), + e(222, 90), + e(223, 91), + e(226, 92), + e(229, 109), + n.vU + ? (e(59, 80), e(107, 81), e(109, 83), s.dz && e(224, 57)) + : n.Pf && (e(91, 57), s.dz ? e(93, 57) : e(92, 57)); + })(); + const l = s.dz ? 256 : 2048, + c = s.dz ? 2048 : 256; + class d { + constructor(e) { + this._standardKeyboardEventBrand = !0; + let t = e; + (this.browserEvent = t), + (this.target = t.target), + (this.ctrlKey = t.ctrlKey), + (this.shiftKey = t.shiftKey), + (this.altKey = t.altKey), + (this.metaKey = t.metaKey), + (this.keyCode = (function (e) { + if (e.charCode) { + let t = String.fromCharCode(e.charCode).toUpperCase(); + return r.kL.fromString(t); + } + return o[e.keyCode] || 0; + })(t)), + (this.code = t.code), + (this.ctrlKey = this.ctrlKey || 5 === this.keyCode), + (this.altKey = this.altKey || 6 === this.keyCode), + (this.shiftKey = this.shiftKey || 4 === this.keyCode), + (this.metaKey = this.metaKey || 57 === this.keyCode), + (this._asKeybinding = this._computeKeybinding()), + (this._asRuntimeKeybinding = this._computeRuntimeKeybinding()); + } + preventDefault() { + this.browserEvent && + this.browserEvent.preventDefault && + this.browserEvent.preventDefault(); + } + stopPropagation() { + this.browserEvent && + this.browserEvent.stopPropagation && + this.browserEvent.stopPropagation(); + } + toKeybinding() { + return this._asRuntimeKeybinding; + } + equals(e) { + return this._asKeybinding === e; + } + _computeKeybinding() { + let e = 0; + 5 !== this.keyCode && + 4 !== this.keyCode && + 6 !== this.keyCode && + 57 !== this.keyCode && + (e = this.keyCode); + let t = 0; + return ( + this.ctrlKey && (t |= l), + this.altKey && (t |= 512), + this.shiftKey && (t |= 1024), + this.metaKey && (t |= c), + (t |= e), + t + ); + } + _computeRuntimeKeybinding() { + let e = 0; + return ( + 5 !== this.keyCode && + 4 !== this.keyCode && + 6 !== this.keyCode && + 57 !== this.keyCode && + (e = this.keyCode), + new r.QC( + this.ctrlKey, + this.shiftKey, + this.altKey, + this.metaKey, + e + ) + ); + } + } + }, + 23938: (e, t, i) => { + 'use strict'; + i.d(t, { n: () => o, q: () => a }); + var n = i(16268), + r = i(70262), + s = i(1432); + class o { + constructor(e) { + (this.timestamp = Date.now()), + (this.browserEvent = e), + (this.leftButton = 0 === e.button), + (this.middleButton = 1 === e.button), + (this.rightButton = 2 === e.button), + (this.buttons = e.buttons), + (this.target = e.target), + (this.detail = e.detail || 1), + 'dblclick' === e.type && (this.detail = 2), + (this.ctrlKey = e.ctrlKey), + (this.shiftKey = e.shiftKey), + (this.altKey = e.altKey), + (this.metaKey = e.metaKey), + 'number' == typeof e.pageX + ? ((this.posx = e.pageX), (this.posy = e.pageY)) + : ((this.posx = + e.clientX + + document.body.scrollLeft + + document.documentElement.scrollLeft), + (this.posy = + e.clientY + + document.body.scrollTop + + document.documentElement.scrollTop)); + let t = r.E.getPositionOfChildWindowRelativeToAncestorWindow( + self, + e.view + ); + (this.posx -= t.left), (this.posy -= t.top); + } + preventDefault() { + this.browserEvent.preventDefault(); + } + stopPropagation() { + this.browserEvent.stopPropagation(); + } + } + class a { + constructor(e, t = 0, i = 0) { + if ( + ((this.browserEvent = e || null), + (this.target = e + ? e.target || e.targetNode || e.srcElement + : null), + (this.deltaY = i), + (this.deltaX = t), + e) + ) { + let t = e, + i = e; + if (void 0 !== t.wheelDeltaY) this.deltaY = t.wheelDeltaY / 120; + else if (void 0 !== i.VERTICAL_AXIS && i.axis === i.VERTICAL_AXIS) + this.deltaY = -i.detail / 3; + else if ('wheel' === e.type) { + const t = e; + t.deltaMode === t.DOM_DELTA_LINE + ? n.vU && !s.dz + ? (this.deltaY = -e.deltaY / 3) + : (this.deltaY = -e.deltaY) + : (this.deltaY = -e.deltaY / 40); + } + if (void 0 !== t.wheelDeltaX) + n.G6 && s.ED + ? (this.deltaX = -t.wheelDeltaX / 120) + : (this.deltaX = t.wheelDeltaX / 120); + else if ( + void 0 !== i.HORIZONTAL_AXIS && + i.axis === i.HORIZONTAL_AXIS + ) + this.deltaX = -e.detail / 3; + else if ('wheel' === e.type) { + const t = e; + t.deltaMode === t.DOM_DELTA_LINE + ? n.vU && !s.dz + ? (this.deltaX = -e.deltaX / 3) + : (this.deltaX = -e.deltaX) + : (this.deltaX = -e.deltaX / 40); + } + 0 === this.deltaY && + 0 === this.deltaX && + e.wheelDelta && + (this.deltaY = e.wheelDelta / 120); + } + } + preventDefault() { + this.browserEvent && this.browserEvent.preventDefault(); + } + stopPropagation() { + this.browserEvent && this.browserEvent.stopPropagation(); + } + } + }, + 10553: (e, t, i) => { + 'use strict'; + i.d(t, { t: () => n, o: () => l }); + var n, + r = i(9488), + s = i(5976), + o = i(65321), + a = i(49898); + !(function (e) { + (e.Tap = '-monaco-gesturetap'), + (e.Change = '-monaco-gesturechange'), + (e.Start = '-monaco-gesturestart'), + (e.End = '-monaco-gesturesend'), + (e.Contextmenu = '-monaco-gesturecontextmenu'); + })(n || (n = {})); + class l extends s.JT { + constructor() { + super(), + (this.dispatched = !1), + (this.activeTouches = {}), + (this.handle = null), + (this.targets = []), + (this.ignoreTargets = []), + (this._lastSetTapCountTime = 0), + this._register( + o.nm(document, 'touchstart', (e) => this.onTouchStart(e), { + passive: !1, + }) + ), + this._register( + o.nm(document, 'touchend', (e) => this.onTouchEnd(e)) + ), + this._register( + o.nm(document, 'touchmove', (e) => this.onTouchMove(e), { + passive: !1, + }) + ); + } + static addTarget(e) { + return l.isTouchDevice() + ? (l.INSTANCE || (l.INSTANCE = new l()), + l.INSTANCE.targets.push(e), + { + dispose: () => { + l.INSTANCE.targets = l.INSTANCE.targets.filter( + (t) => t !== e + ); + }, + }) + : s.JT.None; + } + static ignoreTarget(e) { + return l.isTouchDevice() + ? (l.INSTANCE || (l.INSTANCE = new l()), + l.INSTANCE.ignoreTargets.push(e), + { + dispose: () => { + l.INSTANCE.ignoreTargets = l.INSTANCE.ignoreTargets.filter( + (t) => t !== e + ); + }, + }) + : s.JT.None; + } + static isTouchDevice() { + return ( + 'ontouchstart' in window || + navigator.maxTouchPoints > 0 || + window.navigator.msMaxTouchPoints > 0 + ); + } + dispose() { + this.handle && (this.handle.dispose(), (this.handle = null)), + super.dispose(); + } + onTouchStart(e) { + let t = Date.now(); + this.handle && (this.handle.dispose(), (this.handle = null)); + for (let i = 0, r = e.targetTouches.length; i < r; i++) { + let r = e.targetTouches.item(i); + this.activeTouches[r.identifier] = { + id: r.identifier, + initialTarget: r.target, + initialTimeStamp: t, + initialPageX: r.pageX, + initialPageY: r.pageY, + rollingTimestamps: [t], + rollingPageX: [r.pageX], + rollingPageY: [r.pageY], + }; + let s = this.newGestureEvent(n.Start, r.target); + (s.pageX = r.pageX), (s.pageY = r.pageY), this.dispatchEvent(s); + } + this.dispatched && + (e.preventDefault(), e.stopPropagation(), (this.dispatched = !1)); + } + onTouchEnd(e) { + let t = Date.now(), + i = Object.keys(this.activeTouches).length; + for (let s = 0, o = e.changedTouches.length; s < o; s++) { + let o = e.changedTouches.item(s); + if (!this.activeTouches.hasOwnProperty(String(o.identifier))) { + console.warn('move of an UNKNOWN touch', o); + continue; + } + let a = this.activeTouches[o.identifier], + c = Date.now() - a.initialTimeStamp; + if ( + c < l.HOLD_DELAY && + Math.abs(a.initialPageX - r.Gb(a.rollingPageX)) < 30 && + Math.abs(a.initialPageY - r.Gb(a.rollingPageY)) < 30 + ) { + let e = this.newGestureEvent(n.Tap, a.initialTarget); + (e.pageX = r.Gb(a.rollingPageX)), + (e.pageY = r.Gb(a.rollingPageY)), + this.dispatchEvent(e); + } else if ( + c >= l.HOLD_DELAY && + Math.abs(a.initialPageX - r.Gb(a.rollingPageX)) < 30 && + Math.abs(a.initialPageY - r.Gb(a.rollingPageY)) < 30 + ) { + let e = this.newGestureEvent(n.Contextmenu, a.initialTarget); + (e.pageX = r.Gb(a.rollingPageX)), + (e.pageY = r.Gb(a.rollingPageY)), + this.dispatchEvent(e); + } else if (1 === i) { + let e = r.Gb(a.rollingPageX), + i = r.Gb(a.rollingPageY), + n = r.Gb(a.rollingTimestamps) - a.rollingTimestamps[0], + s = e - a.rollingPageX[0], + o = i - a.rollingPageY[0]; + const l = this.targets.filter( + (e) => + a.initialTarget instanceof Node && + e.contains(a.initialTarget) + ); + this.inertia( + l, + t, + Math.abs(s) / n, + s > 0 ? 1 : -1, + e, + Math.abs(o) / n, + o > 0 ? 1 : -1, + i + ); + } + this.dispatchEvent(this.newGestureEvent(n.End, a.initialTarget)), + delete this.activeTouches[o.identifier]; + } + this.dispatched && + (e.preventDefault(), e.stopPropagation(), (this.dispatched = !1)); + } + newGestureEvent(e, t) { + let i = document.createEvent('CustomEvent'); + return ( + i.initEvent(e, !1, !0), (i.initialTarget = t), (i.tapCount = 0), i + ); + } + dispatchEvent(e) { + if (e.type === n.Tap) { + const t = new Date().getTime(); + let i = 0; + (i = + t - this._lastSetTapCountTime > l.CLEAR_TAP_COUNT_TIME ? 1 : 2), + (this._lastSetTapCountTime = t), + (e.tapCount = i); + } else + (e.type !== n.Change && e.type !== n.Contextmenu) || + (this._lastSetTapCountTime = 0); + for (let t = 0; t < this.ignoreTargets.length; t++) + if ( + e.initialTarget instanceof Node && + this.ignoreTargets[t].contains(e.initialTarget) + ) + return; + this.targets.forEach((t) => { + e.initialTarget instanceof Node && + t.contains(e.initialTarget) && + (t.dispatchEvent(e), (this.dispatched = !0)); + }); + } + inertia(e, t, i, r, s, a, c, d) { + this.handle = o.jL(() => { + let o = Date.now(), + h = o - t, + u = 0, + g = 0, + f = !0; + (i += l.SCROLL_FRICTION * h), + (a += l.SCROLL_FRICTION * h), + i > 0 && ((f = !1), (u = r * i * h)), + a > 0 && ((f = !1), (g = c * a * h)); + let p = this.newGestureEvent(n.Change); + (p.translationX = u), + (p.translationY = g), + e.forEach((e) => e.dispatchEvent(p)), + f || this.inertia(e, o, i, r, s + u, a, c, d + g); + }); + } + onTouchMove(e) { + let t = Date.now(); + for (let i = 0, s = e.changedTouches.length; i < s; i++) { + let s = e.changedTouches.item(i); + if (!this.activeTouches.hasOwnProperty(String(s.identifier))) { + console.warn('end of an UNKNOWN touch', s); + continue; + } + let o = this.activeTouches[s.identifier], + a = this.newGestureEvent(n.Change, o.initialTarget); + (a.translationX = s.pageX - r.Gb(o.rollingPageX)), + (a.translationY = s.pageY - r.Gb(o.rollingPageY)), + (a.pageX = s.pageX), + (a.pageY = s.pageY), + this.dispatchEvent(a), + o.rollingPageX.length > 3 && + (o.rollingPageX.shift(), + o.rollingPageY.shift(), + o.rollingTimestamps.shift()), + o.rollingPageX.push(s.pageX), + o.rollingPageY.push(s.pageY), + o.rollingTimestamps.push(t); + } + this.dispatched && + (e.preventDefault(), e.stopPropagation(), (this.dispatched = !1)); + } + } + (l.SCROLL_FRICTION = -0.005), + (l.HOLD_DELAY = 700), + (l.CLEAR_TAP_COUNT_TIME = 400), + (function (e, t, i, n) { + var r, + s = arguments.length, + o = + s < 3 + ? t + : null === n + ? (n = Object.getOwnPropertyDescriptor(t, i)) + : n; + if ( + 'object' == typeof Reflect && + 'function' == typeof Reflect.decorate + ) + o = Reflect.decorate(e, t, i, n); + else + for (var a = e.length - 1; a >= 0; a--) + (r = e[a]) && + (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); + s > 3 && o && Object.defineProperty(t, i, o); + })([a.H], l, 'isTouchDevice', null); + }, + 76033: (e, t, i) => { + 'use strict'; + i.d(t, { Y: () => u, g: () => g }); + var n = i(1432), + r = i(63580), + s = i(5976), + o = i(74741), + a = i(65321), + l = i(98401), + c = i(10553), + d = i(23547), + h = i(16268); + class u extends s.JT { + constructor(e, t, i = {}) { + super(), + (this.options = i), + (this._context = e || this), + (this._action = t), + t instanceof o.aU && + this._register( + t.onDidChange((e) => { + this.element && this.handleActionChangeEvent(e); + }) + ); + } + handleActionChangeEvent(e) { + void 0 !== e.enabled && this.updateEnabled(), + void 0 !== e.checked && this.updateChecked(), + void 0 !== e.class && this.updateClass(), + void 0 !== e.label && (this.updateLabel(), this.updateTooltip()), + void 0 !== e.tooltip && this.updateTooltip(); + } + get actionRunner() { + return ( + this._actionRunner || + (this._actionRunner = this._register(new o.Wi())), + this._actionRunner + ); + } + set actionRunner(e) { + this._actionRunner = e; + } + getAction() { + return this._action; + } + isEnabled() { + return this._action.enabled; + } + setActionContext(e) { + this._context = e; + } + render(e) { + const t = (this.element = e); + this._register(c.o.addTarget(e)); + const i = this.options && this.options.draggable; + i && + ((e.draggable = !0), + h.vU && + this._register( + a.nm(e, a.tw.DRAG_START, (e) => { + var t; + return null === (t = e.dataTransfer) || void 0 === t + ? void 0 + : t.setData(d.go.TEXT, this._action.label); + }) + )), + this._register(a.nm(t, c.t.Tap, (e) => this.onClick(e))), + this._register( + a.nm(t, a.tw.MOUSE_DOWN, (e) => { + i || a.zB.stop(e, !0), + this._action.enabled && 0 === e.button && a.cn(t, 'active'); + }) + ), + n.dz && + this._register( + a.nm(t, a.tw.CONTEXT_MENU, (e) => { + 0 === e.button && !0 === e.ctrlKey && this.onClick(e); + }) + ), + this._register( + a.nm(t, a.tw.CLICK, (e) => { + a.zB.stop(e, !0), + (this.options && this.options.isMenu) || + n.xS(() => this.onClick(e)); + }) + ), + this._register( + a.nm(t, a.tw.DBLCLICK, (e) => { + a.zB.stop(e, !0); + }) + ), + [a.tw.MOUSE_UP, a.tw.MOUSE_OUT].forEach((e) => { + this._register( + a.nm(t, e, (e) => { + a.zB.stop(e), a.IV(t, 'active'); + }) + ); + }); + } + onClick(e) { + var t; + a.zB.stop(e, !0); + const i = l.Jp(this._context) + ? ( + null === (t = this.options) || void 0 === t + ? void 0 + : t.useEventAsContext + ) + ? e + : void 0 + : this._context; + this.actionRunner.run(this._action, i); + } + focus() { + this.element && + (this.element.focus(), a.cn(this.element, 'focused')); + } + blur() { + this.element && + (this.element.blur(), a.IV(this.element, 'focused')); + } + updateEnabled() {} + updateLabel() {} + updateTooltip() {} + updateClass() {} + updateChecked() {} + dispose() { + this.element && (a.ZF(this.element), (this.element = void 0)), + super.dispose(); + } + } + class g extends u { + constructor(e, t, i = {}) { + super(e, t, i), + (this.options = i), + (this.options.icon = void 0 !== i.icon && i.icon), + (this.options.label = void 0 === i.label || i.label), + (this.cssClass = ''); + } + render(e) { + super.render(e), + this.element && + (this.label = a.R3(this.element, a.$('a.action-label'))), + this.label && + (this._action.id === o.Z0.ID + ? this.label.setAttribute('role', 'presentation') + : this.options.isMenu + ? this.label.setAttribute('role', 'menuitem') + : this.label.setAttribute('role', 'button')), + this.options.label && + this.options.keybinding && + this.element && + (a.R3( + this.element, + a.$('span.keybinding') + ).textContent = this.options.keybinding), + this.updateClass(), + this.updateLabel(), + this.updateTooltip(), + this.updateEnabled(), + this.updateChecked(); + } + focus() { + super.focus(), this.label && this.label.focus(); + } + updateLabel() { + this.options.label && + this.label && + (this.label.textContent = this.getAction().label); + } + updateTooltip() { + let e = null; + this.getAction().tooltip + ? (e = this.getAction().tooltip) + : !this.options.label && + this.getAction().label && + this.options.icon && + ((e = this.getAction().label), + this.options.keybinding && + (e = r.N( + { + key: 'titleLabel', + comment: ['action title', 'action keybinding'], + }, + '{0} ({1})', + e, + this.options.keybinding + ))), + e && this.label && (this.label.title = e); + } + updateClass() { + this.cssClass && this.label && a.GK(this.label, this.cssClass), + this.options.icon + ? ((this.cssClass = this.getAction().class), + this.label && + (a.cn(this.label, 'codicon'), + this.cssClass && a.PT(this.label, this.cssClass)), + this.updateEnabled()) + : this.label && a.IV(this.label, 'codicon'); + } + updateEnabled() { + this.getAction().enabled + ? (this.label && + (this.label.removeAttribute('aria-disabled'), + a.IV(this.label, 'disabled'), + (this.label.tabIndex = 0)), + this.element && a.IV(this.element, 'disabled')) + : (this.label && + (this.label.setAttribute('aria-disabled', 'true'), + a.cn(this.label, 'disabled'), + a.eJ(this.label)), + this.element && a.cn(this.element, 'disabled')); + } + updateChecked() { + this.label && + (this.getAction().checked + ? a.cn(this.label, 'checked') + : a.IV(this.label, 'checked')); + } + } + }, + 90317: (e, t, i) => { + 'use strict'; + i.d(t, { o: () => d }); + var n = i(5976), + r = i(74741), + s = i(65321), + o = i(98401), + a = i(59069), + l = i(4669), + c = i(76033); + class d extends n.JT { + constructor(e, t = {}) { + var i, n, o; + let c, d; + switch ( + (super(), + (this._onDidBlur = this._register(new l.Q5())), + (this.onDidBlur = this._onDidBlur.event), + (this._onDidCancel = this._register(new l.Q5())), + (this.onDidCancel = this._onDidCancel.event), + (this._onDidRun = this._register(new l.Q5())), + (this.onDidRun = this._onDidRun.event), + (this._onDidBeforeRun = this._register(new l.Q5())), + (this.onDidBeforeRun = this._onDidBeforeRun.event), + (this.options = t), + (this._context = + null !== (i = t.context) && void 0 !== i ? i : null), + (this._orientation = + null !== (n = this.options.orientation) && void 0 !== n + ? n + : 0), + (this._triggerKeys = + null !== (o = this.options.triggerKeys) && void 0 !== o + ? o + : { keys: [3, 10], keyDown: !1 }), + this.options.actionRunner + ? (this._actionRunner = this.options.actionRunner) + : ((this._actionRunner = new r.Wi()), + this._register(this._actionRunner)), + this._register( + this._actionRunner.onDidRun((e) => this._onDidRun.fire(e)) + ), + this._register( + this._actionRunner.onDidBeforeRun((e) => + this._onDidBeforeRun.fire(e) + ) + ), + (this.viewItems = []), + (this.focusedItem = void 0), + (this.domNode = document.createElement('div')), + (this.domNode.className = 'monaco-action-bar'), + !1 !== t.animated && s.cn(this.domNode, 'animated'), + this._orientation) + ) { + case 0: + (c = 15), (d = 17); + break; + case 1: + (c = 17), (d = 15), (this.domNode.className += ' reverse'); + break; + case 2: + (c = 16), (d = 18), (this.domNode.className += ' vertical'); + break; + case 3: + (c = 18), + (d = 16), + (this.domNode.className += ' vertical reverse'); + } + this._register( + s.nm(this.domNode, s.tw.KEY_DOWN, (e) => { + const t = new a.y(e); + let i = !0; + t.equals(c) + ? (i = this.focusPrevious()) + : t.equals(d) + ? (i = this.focusNext()) + : t.equals(9) + ? this._onDidCancel.fire() + : this.isTriggerKeyEvent(t) + ? this._triggerKeys.keyDown && this.doTrigger(t) + : (i = !1), + i && (t.preventDefault(), t.stopPropagation()); + }) + ), + this._register( + s.nm(this.domNode, s.tw.KEY_UP, (e) => { + const t = new a.y(e); + this.isTriggerKeyEvent(t) + ? (this._triggerKeys.keyDown || this.doTrigger(t), + t.preventDefault(), + t.stopPropagation()) + : (t.equals(2) || t.equals(1026)) && + this.updateFocusedItem(); + }) + ), + (this.focusTracker = this._register(s.go(this.domNode))), + this._register( + this.focusTracker.onDidBlur(() => { + (s.vY() !== this.domNode && s.jg(s.vY(), this.domNode)) || + (this._onDidBlur.fire(), (this.focusedItem = void 0)); + }) + ), + this._register( + this.focusTracker.onDidFocus(() => this.updateFocusedItem()) + ), + (this.actionsList = document.createElement('ul')), + (this.actionsList.className = 'actions-container'), + this.actionsList.setAttribute('role', 'toolbar'), + this.options.ariaLabel && + this.actionsList.setAttribute( + 'aria-label', + this.options.ariaLabel + ), + this.domNode.appendChild(this.actionsList), + e.appendChild(this.domNode); + } + isTriggerKeyEvent(e) { + let t = !1; + return ( + this._triggerKeys.keys.forEach((i) => { + t = t || e.equals(i); + }), + t + ); + } + updateFocusedItem() { + for (let e = 0; e < this.actionsList.children.length; e++) { + const t = this.actionsList.children[e]; + if (s.jg(s.vY(), t)) { + this.focusedItem = e; + break; + } + } + } + get context() { + return this._context; + } + set context(e) { + (this._context = e), + this.viewItems.forEach((t) => t.setActionContext(e)); + } + get actionRunner() { + return this._actionRunner; + } + set actionRunner(e) { + e && + ((this._actionRunner = e), + this.viewItems.forEach((t) => (t.actionRunner = e))); + } + getContainer() { + return this.domNode; + } + push(e, t = {}) { + const i = Array.isArray(e) ? e : [e]; + let n = o.hj(t.index) ? t.index : null; + i.forEach((e) => { + const i = document.createElement('li'); + let r; + (i.className = 'action-item'), + i.setAttribute('role', 'presentation'), + this.options.allowContextMenu || + this._register( + s.nm(i, s.tw.CONTEXT_MENU, (e) => { + s.zB.stop(e, !0); + }) + ), + this.options.actionViewItemProvider && + (r = this.options.actionViewItemProvider(e)), + r || (r = new c.g(this.context, e, t)), + (r.actionRunner = this._actionRunner), + r.setActionContext(this.context), + r.render(i), + null === n || n < 0 || n >= this.actionsList.children.length + ? (this.actionsList.appendChild(i), this.viewItems.push(r)) + : (this.actionsList.insertBefore( + i, + this.actionsList.children[n] + ), + this.viewItems.splice(n, 0, r), + n++); + }), + this.focusedItem && this.focus(this.focusedItem); + } + clear() { + (0, n.B9)(this.viewItems), + (this.viewItems = []), + s.PO(this.actionsList); + } + focus(e) { + let t, + i = !1; + void 0 === e + ? (i = !0) + : 'number' == typeof e + ? (t = e) + : 'boolean' == typeof e && (i = e), + i && void 0 === this.focusedItem + ? ((this.focusedItem = -1), this.focusNext()) + : (void 0 !== t && (this.focusedItem = t), this.updateFocus()); + } + focusNext() { + void 0 === this.focusedItem && + (this.focusedItem = this.viewItems.length - 1); + const e = this.focusedItem; + let t; + do { + if ( + this.options.preventLoopNavigation && + this.focusedItem + 1 >= this.viewItems.length + ) + return (this.focusedItem = e), !1; + (this.focusedItem = + (this.focusedItem + 1) % this.viewItems.length), + (t = this.viewItems[this.focusedItem]); + } while (this.focusedItem !== e && !t.isEnabled()); + return ( + this.focusedItem !== e || + t.isEnabled() || + (this.focusedItem = void 0), + this.updateFocus(), + !0 + ); + } + focusPrevious() { + void 0 === this.focusedItem && (this.focusedItem = 0); + const e = this.focusedItem; + let t; + do { + if ( + ((this.focusedItem = this.focusedItem - 1), + this.focusedItem < 0) + ) { + if (this.options.preventLoopNavigation) + return (this.focusedItem = e), !1; + this.focusedItem = this.viewItems.length - 1; + } + t = this.viewItems[this.focusedItem]; + } while (this.focusedItem !== e && !t.isEnabled()); + return ( + this.focusedItem !== e || + t.isEnabled() || + (this.focusedItem = void 0), + this.updateFocus(!0), + !0 + ); + } + updateFocus(e, t) { + void 0 === this.focusedItem && + this.actionsList.focus({ preventScroll: t }); + for (let i = 0; i < this.viewItems.length; i++) { + const n = this.viewItems[i]; + i === this.focusedItem + ? o.mf(n.isEnabled) && + (n.isEnabled() && o.mf(n.focus) + ? n.focus(e) + : this.actionsList.focus({ preventScroll: t })) + : o.mf(n.blur) && n.blur(); + } + } + doTrigger(e) { + if (void 0 === this.focusedItem) return; + const t = this.viewItems[this.focusedItem]; + if (t instanceof c.Y) { + const i = + null === t._context || void 0 === t._context ? e : t._context; + this.run(t._action, i); + } + } + run(e, t) { + return this._actionRunner.run(e, t); + } + dispose() { + (0, n.B9)(this.viewItems), + (this.viewItems = []), + s.ZF(this.getContainer()), + super.dispose(); + } + } + }, + 85152: (e, t, i) => { + 'use strict'; + i.d(t, { wW: () => d, Z9: () => h, i7: () => u }); + var n = i(1432), + r = i(65321); + let s, o, a, l, c; + function d(e) { + (s = document.createElement('div')), + (s.className = 'monaco-aria-container'); + const t = () => { + const e = document.createElement('div'); + return ( + (e.className = 'monaco-alert'), + e.setAttribute('role', 'alert'), + e.setAttribute('aria-atomic', 'true'), + s.appendChild(e), + e + ); + }; + (o = t()), (a = t()); + const i = () => { + const e = document.createElement('div'); + return ( + (e.className = 'monaco-status'), + e.setAttribute('role', 'complementary'), + e.setAttribute('aria-live', 'polite'), + e.setAttribute('aria-atomic', 'true'), + s.appendChild(e), + e + ); + }; + (l = i()), (c = i()), e.appendChild(s); + } + function h(e) { + s && (o.textContent !== e ? (r.PO(a), g(o, e)) : (r.PO(o), g(a, e))); + } + function u(e) { + s && + (n.dz + ? h(e) + : l.textContent !== e + ? (r.PO(c), g(l, e)) + : (r.PO(l), g(c, e))); + } + function g(e, t) { + r.PO(e), + t.length > 2e4 && (t = t.substr(0, 2e4)), + (e.textContent = t), + (e.style.visibility = 'hidden'), + (e.style.visibility = 'visible'); + } + }, + 28609: (e, t, i) => { + 'use strict'; + i.d(t, { D: () => r, a: () => s }); + var n = i(73046); + const r = new (class { + constructor() { + this.onDidChange = n.fK.onDidRegister; + } + getCSS() { + const e = []; + for (let t of n.fK.all) e.push(s(t)); + return e.join('\n'); + } + })(); + function s(e) { + let t = e.definition; + for (; t instanceof n.lA; ) t = t.definition; + return `.codicon-${e.id}:before { content: '${t.character}'; }`; + } + }, + 67488: (e, t, i) => { + 'use strict'; + i.d(t, { Z: () => l }); + var n = i(65321), + r = i(97295), + s = i(41264), + o = i(36248); + const a = { + badgeBackground: s.Il.fromHex('#4D4D4D'), + badgeForeground: s.Il.fromHex('#FFFFFF'), + }; + class l { + constructor(e, t) { + (this.count = 0), + (this.options = t || Object.create(null)), + (0, o.jB)(this.options, a, !1), + (this.badgeBackground = this.options.badgeBackground), + (this.badgeForeground = this.options.badgeForeground), + (this.badgeBorder = this.options.badgeBorder), + (this.element = (0, n.R3)(e, (0, n.$)('.monaco-count-badge'))), + (this.countFormat = this.options.countFormat || '{0}'), + (this.titleFormat = this.options.titleFormat || ''), + this.setCount(this.options.count || 0); + } + setCount(e) { + (this.count = e), this.render(); + } + setTitleFormat(e) { + (this.titleFormat = e), this.render(); + } + render() { + (this.element.textContent = (0, r.WU)( + this.countFormat, + this.count + )), + (this.element.title = (0, r.WU)(this.titleFormat, this.count)), + this.applyStyles(); + } + style(e) { + (this.badgeBackground = e.badgeBackground), + (this.badgeForeground = e.badgeForeground), + (this.badgeBorder = e.badgeBorder), + this.applyStyles(); + } + applyStyles() { + if (this.element) { + const e = this.badgeBackground + ? this.badgeBackground.toString() + : '', + t = this.badgeForeground ? this.badgeForeground.toString() : '', + i = this.badgeBorder ? this.badgeBorder.toString() : ''; + (this.element.style.backgroundColor = e), + (this.element.style.color = t), + (this.element.style.borderWidth = i ? '1px' : ''), + (this.element.style.borderStyle = i ? 'solid' : ''), + (this.element.style.borderColor = i); + } + } + } + }, + 34650: (e, t, i) => { + 'use strict'; + i.d(t, { q: () => o }); + var n = i(36248), + r = i(73046), + s = i(97295); + class o { + constructor(e, t) { + (this.supportCodicons = t), + (this.text = ''), + (this.title = ''), + (this.highlights = []), + (this.didEverRender = !1), + (this.domNode = document.createElement('span')), + (this.domNode.className = 'monaco-highlighted-label'), + e.appendChild(this.domNode); + } + get element() { + return this.domNode; + } + set(e, t = [], i = '', r) { + e || (e = ''), + r && (e = o.escapeNewLines(e, t)), + (this.didEverRender && + this.text === e && + this.title === i && + n.fS(this.highlights, t)) || + (Array.isArray(t) || (t = []), + (this.text = e), + (this.title = i), + (this.highlights = t), + this.render()); + } + render() { + let e = '', + t = 0; + for (const i of this.highlights) { + if (i.end === i.start) continue; + if (t < i.start) { + e += '<span>'; + const n = this.text.substring(t, i.start); + (e += this.supportCodicons + ? (0, r.Mi)((0, s.YU)(n)) + : (0, s.YU)(n)), + (e += '</span>'), + (t = i.end); + } + i.extraClasses + ? (e += `<span class="highlight ${i.extraClasses}">`) + : (e += '<span class="highlight">'); + const n = this.text.substring(i.start, i.end); + (e += this.supportCodicons + ? (0, r.Mi)((0, s.YU)(n)) + : (0, s.YU)(n)), + (e += '</span>'), + (t = i.end); + } + if (t < this.text.length) { + e += '<span>'; + const i = this.text.substring(t); + (e += this.supportCodicons + ? (0, r.Mi)((0, s.YU)(i)) + : (0, s.YU)(i)), + (e += '</span>'); + } + (this.domNode.innerHTML = e), + this.title + ? (this.domNode.title = this.title) + : this.domNode.removeAttribute('title'), + (this.didEverRender = !0); + } + static escapeNewLines(e, t) { + let i = 0, + n = 0; + return e.replace(/\r\n|\r|\n/g, (e, r) => { + (n = '\r\n' === e ? -1 : 0), (r += i); + for (const e of t) + e.end <= r || + (e.start >= r && (e.start += n), e.end >= r && (e.end += n)); + return (i += n), '⏎'; + }); + } + } + }, + 59834: (e, t, i) => { + 'use strict'; + i.d(t, { g: () => c }); + var n = i(65321), + r = i(34650), + s = i(5976), + o = i(61134), + a = i(36248); + class l { + constructor(e) { + this._element = e; + } + get element() { + return this._element; + } + set textContent(e) { + this.disposed || + e === this._textContent || + ((this._textContent = e), (this._element.textContent = e)); + } + set className(e) { + this.disposed || + e === this._className || + ((this._className = e), (this._element.className = e)); + } + set title(e) { + this.disposed || + e === this._title || + ((this._title = e), + this._title + ? (this._element.title = e) + : this._element.removeAttribute('title')); + } + set empty(e) { + this.disposed || + e === this._empty || + ((this._empty = e), + (this._element.style.marginLeft = e ? '0' : '')); + } + dispose() { + this.disposed = !0; + } + } + class c extends s.JT { + constructor(e, t) { + super(), + (this.domNode = this._register( + new l(n.R3(e, n.$('.monaco-icon-label'))) + )); + const i = n.R3( + this.domNode.element, + n.$('.monaco-icon-label-container') + ), + s = n.R3(i, n.$('span.monaco-icon-name-container')); + (this.descriptionContainer = this._register( + new l(n.R3(i, n.$('span.monaco-icon-description-container'))) + )), + (null == t ? void 0 : t.supportHighlights) + ? (this.nameNode = new h(s, !!t.supportCodicons)) + : (this.nameNode = new d(s)), + (null == t ? void 0 : t.supportDescriptionHighlights) + ? (this.descriptionNodeFactory = () => + new r.q( + n.R3( + this.descriptionContainer.element, + n.$('span.label-description') + ), + !!t.supportCodicons + )) + : (this.descriptionNodeFactory = () => + this._register( + new l( + n.R3( + this.descriptionContainer.element, + n.$('span.label-description') + ) + ) + )); + } + setLabel(e, t, i) { + const n = ['monaco-icon-label']; + i && + (i.extraClasses && n.push(...i.extraClasses), + i.italic && n.push('italic'), + i.strikethrough && n.push('strikethrough')), + (this.domNode.className = n.join(' ')), + (this.domNode.title = (null == i ? void 0 : i.title) || ''), + this.nameNode.setLabel(e, i), + (t || this.descriptionNode) && + (this.descriptionNode || + (this.descriptionNode = this.descriptionNodeFactory()), + this.descriptionNode instanceof r.q + ? (this.descriptionNode.set( + t || '', + i ? i.descriptionMatches : void 0 + ), + (null == i ? void 0 : i.descriptionTitle) + ? (this.descriptionNode.element.title = + i.descriptionTitle) + : this.descriptionNode.element.removeAttribute('title')) + : ((this.descriptionNode.textContent = t || ''), + (this.descriptionNode.title = + (null == i ? void 0 : i.descriptionTitle) || ''), + (this.descriptionNode.empty = !t))); + } + } + class d { + constructor(e) { + (this.container = e), + (this.label = void 0), + (this.singleLabel = void 0); + } + setLabel(e, t) { + if (this.label !== e || !(0, a.fS)(this.options, t)) + if (((this.label = e), (this.options = t), 'string' == typeof e)) + this.singleLabel || + ((this.container.innerText = ''), + n.IV(this.container, 'multiple'), + (this.singleLabel = n.R3( + this.container, + n.$('a.label-name', { id: null == t ? void 0 : t.domId }) + ))), + (this.singleLabel.textContent = e); + else { + (this.container.innerText = ''), + n.cn(this.container, 'multiple'), + (this.singleLabel = void 0); + for (let i = 0; i < e.length; i++) { + const r = e[i], + s = + (null == t ? void 0 : t.domId) && + `${null == t ? void 0 : t.domId}_${i}`; + n.R3( + this.container, + n.$( + 'a.label-name', + { + id: s, + 'data-icon-label-count': e.length, + 'data-icon-label-index': i, + role: 'treeitem', + }, + r + ) + ), + i < e.length - 1 && + n.R3( + this.container, + n.$( + 'span.label-separator', + void 0, + (null == t ? void 0 : t.separator) || '/' + ) + ); + } + } + } + } + class h { + constructor(e, t) { + (this.container = e), + (this.supportCodicons = t), + (this.label = void 0), + (this.singleLabel = void 0); + } + setLabel(e, t) { + if (this.label !== e || !(0, a.fS)(this.options, t)) + if (((this.label = e), (this.options = t), 'string' == typeof e)) + this.singleLabel || + ((this.container.innerText = ''), + n.IV(this.container, 'multiple'), + (this.singleLabel = new r.q( + n.R3( + this.container, + n.$('a.label-name', { id: null == t ? void 0 : t.domId }) + ), + this.supportCodicons + ))), + this.singleLabel.set( + e, + null == t ? void 0 : t.matches, + null == t ? void 0 : t.title, + null == t ? void 0 : t.labelEscapeNewLines + ); + else { + (this.container.innerText = ''), + n.cn(this.container, 'multiple'), + (this.singleLabel = void 0); + const i = (null == t ? void 0 : t.separator) || '/', + s = (function (e, t, i) { + if (!i) return; + let n = 0; + return e.map((e) => { + const r = { start: n, end: n + e.length }, + s = i + .map((e) => o.e.intersect(r, e)) + .filter((e) => !o.e.isEmpty(e)) + .map(({ start: e, end: t }) => ({ + start: e - n, + end: t - n, + })); + return (n = r.end + t.length), s; + }); + })(e, i, null == t ? void 0 : t.matches); + for (let o = 0; o < e.length; o++) { + const a = e[o], + l = s ? s[o] : void 0, + c = + (null == t ? void 0 : t.domId) && + `${null == t ? void 0 : t.domId}_${o}`, + d = n.$('a.label-name', { + id: c, + 'data-icon-label-count': e.length, + 'data-icon-label-index': o, + role: 'treeitem', + }); + new r.q(n.R3(this.container, d), this.supportCodicons).set( + a, + l, + null == t ? void 0 : t.title, + null == t ? void 0 : t.labelEscapeNewLines + ), + o < e.length - 1 && + n.R3(d, n.$('span.label-separator', void 0, i)); + } + } + } + } + }, + 77927: (e, t, i) => { + 'use strict'; + i.d(t, { p: () => v, W: () => b }); + var n = i(63580), + r = i(65321), + s = i(48764), + o = i(85152), + a = i(90317), + l = i(4669), + c = i(93794), + d = i(41264), + h = i(36248); + class u { + constructor(e, t = 0, i = e.length, n = t - 1) { + (this.items = e), + (this.start = t), + (this.end = i), + (this.index = n); + } + current() { + return this.index === this.start - 1 || this.index === this.end + ? null + : this.items[this.index]; + } + next() { + return ( + (this.index = Math.min(this.index + 1, this.end)), this.current() + ); + } + previous() { + return ( + (this.index = Math.max(this.index - 1, this.start - 1)), + this.current() + ); + } + first() { + return (this.index = this.start), this.current(); + } + last() { + return (this.index = this.end - 1), this.current(); + } + } + class g { + constructor(e = [], t = 10) { + this._initialize(e), (this._limit = t), this._onChange(); + } + add(e) { + this._history.delete(e), this._history.add(e), this._onChange(); + } + next() { + return this._currentPosition() !== this._elements.length - 1 + ? this._navigator.next() + : null; + } + previous() { + return 0 !== this._currentPosition() + ? this._navigator.previous() + : null; + } + current() { + return this._navigator.current(); + } + first() { + return this._navigator.first(); + } + last() { + return this._navigator.last(); + } + has(e) { + return this._history.has(e); + } + _onChange() { + this._reduceToLimit(); + const e = this._elements; + this._navigator = new u(e, 0, e.length, e.length); + } + _reduceToLimit() { + const e = this._elements; + e.length > this._limit && + this._initialize(e.slice(e.length - this._limit)); + } + _currentPosition() { + const e = this._navigator.current(); + return e ? this._elements.indexOf(e) : -1; + } + _initialize(e) { + this._history = new Set(); + for (const t of e) this._history.add(t); + } + get _elements() { + const e = []; + return this._history.forEach((t) => e.push(t)), e; + } + } + var f = i(9802), + p = i(4850); + const m = r.$, + _ = { + inputBackground: d.Il.fromHex('#3C3C3C'), + inputForeground: d.Il.fromHex('#CCCCCC'), + inputValidationInfoBorder: d.Il.fromHex('#55AAFF'), + inputValidationInfoBackground: d.Il.fromHex('#063B49'), + inputValidationWarningBorder: d.Il.fromHex('#B89500'), + inputValidationWarningBackground: d.Il.fromHex('#352A05'), + inputValidationErrorBorder: d.Il.fromHex('#BE1100'), + inputValidationErrorBackground: d.Il.fromHex('#5A1D1D'), + }; + class b extends c.$ { + constructor(e, t, i) { + super(), + (this.state = 'idle'), + (this.maxHeight = Number.POSITIVE_INFINITY), + (this._onDidChange = this._register(new l.Q5())), + (this.onDidChange = this._onDidChange.event), + (this._onDidHeightChange = this._register(new l.Q5())), + (this.onDidHeightChange = this._onDidHeightChange.event), + (this.contextViewProvider = t), + (this.options = i || Object.create(null)), + (0, h.jB)(this.options, _, !1), + (this.message = null), + (this.placeholder = this.options.placeholder || ''), + (this.ariaLabel = this.options.ariaLabel || ''), + (this.inputBackground = this.options.inputBackground), + (this.inputForeground = this.options.inputForeground), + (this.inputBorder = this.options.inputBorder), + (this.inputValidationInfoBorder = this.options.inputValidationInfoBorder), + (this.inputValidationInfoBackground = this.options.inputValidationInfoBackground), + (this.inputValidationInfoForeground = this.options.inputValidationInfoForeground), + (this.inputValidationWarningBorder = this.options.inputValidationWarningBorder), + (this.inputValidationWarningBackground = this.options.inputValidationWarningBackground), + (this.inputValidationWarningForeground = this.options.inputValidationWarningForeground), + (this.inputValidationErrorBorder = this.options.inputValidationErrorBorder), + (this.inputValidationErrorBackground = this.options.inputValidationErrorBackground), + (this.inputValidationErrorForeground = this.options.inputValidationErrorForeground), + this.options.validationOptions && + (this.validation = this.options.validationOptions.validation), + (this.element = r.R3(e, m('.monaco-inputbox.idle'))); + let n = this.options.flexibleHeight ? 'textarea' : 'input', + s = r.R3(this.element, m('.wrapper')); + if ( + ((this.input = r.R3(s, m(n + '.input.empty'))), + this.input.setAttribute('autocorrect', 'off'), + this.input.setAttribute('autocapitalize', 'off'), + this.input.setAttribute('spellcheck', 'false'), + this.onfocus(this.input, () => + this.element.classList.add('synthetic-focus') + ), + this.onblur(this.input, () => + this.element.classList.remove('synthetic-focus') + ), + this.options.flexibleHeight) + ) { + (this.maxHeight = + 'number' == typeof this.options.flexibleMaxHeight + ? this.options.flexibleMaxHeight + : Number.POSITIVE_INFINITY), + (this.mirror = r.R3(s, m('div.mirror'))), + (this.mirror.innerText = ' '), + (this.scrollableElement = new f.NB(this.element, { + vertical: 1, + })), + this.options.flexibleWidth && + (this.input.setAttribute('wrap', 'off'), + (this.mirror.style.whiteSpace = 'pre'), + (this.mirror.style.wordWrap = 'initial')), + r.R3(e, this.scrollableElement.getDomNode()), + this._register(this.scrollableElement), + this._register( + this.scrollableElement.onScroll( + (e) => (this.input.scrollTop = e.scrollTop) + ) + ); + const t = l.ju.filter( + (0, p.j)(document, 'selectionchange'), + () => { + const e = document.getSelection(); + return (null == e ? void 0 : e.anchorNode) === s; + } + ); + this._register(t(this.updateScrollDimensions, this)), + this._register( + this.onDidHeightChange(this.updateScrollDimensions, this) + ); + } else + (this.input.type = this.options.type || 'text'), + this.input.setAttribute('wrap', 'off'); + this.ariaLabel && + this.input.setAttribute('aria-label', this.ariaLabel), + this.placeholder && this.setPlaceHolder(this.placeholder), + this.oninput(this.input, () => this.onValueChange()), + this.onblur(this.input, () => this.onBlur()), + this.onfocus(this.input, () => this.onFocus()), + this.ignoreGesture(this.input), + setTimeout(() => this.updateMirror(), 0), + this.options.actions && + ((this.actionbar = this._register(new a.o(this.element))), + this.actionbar.push(this.options.actions, { + icon: !0, + label: !1, + })), + this.applyStyles(); + } + onBlur() { + this._hideMessage(); + } + onFocus() { + this._showMessage(); + } + setPlaceHolder(e) { + (this.placeholder = e), + this.input.setAttribute('placeholder', e), + (this.input.title = e); + } + setAriaLabel(e) { + (this.ariaLabel = e), + e + ? this.input.setAttribute('aria-label', this.ariaLabel) + : this.input.removeAttribute('aria-label'); + } + getAriaLabel() { + return this.ariaLabel; + } + get inputElement() { + return this.input; + } + get value() { + return this.input.value; + } + set value(e) { + this.input.value !== e && + ((this.input.value = e), this.onValueChange()); + } + get height() { + return 'number' == typeof this.cachedHeight + ? this.cachedHeight + : r.wn(this.element); + } + focus() { + this.input.focus(); + } + blur() { + this.input.blur(); + } + hasFocus() { + return document.activeElement === this.input; + } + select(e = null) { + this.input.select(), + e && this.input.setSelectionRange(e.start, e.end); + } + isSelectionAtEnd() { + return ( + this.input.selectionEnd === this.input.value.length && + this.input.selectionStart === this.input.selectionEnd + ); + } + enable() { + this.input.removeAttribute('disabled'); + } + disable() { + this.blur(), (this.input.disabled = !0), this._hideMessage(); + } + get width() { + return r.w(this.input); + } + set width(e) { + if (this.options.flexibleHeight && this.options.flexibleWidth) { + let t = 0; + this.mirror && + (t = + (parseFloat(this.mirror.style.paddingLeft || '') || 0) + + (parseFloat(this.mirror.style.paddingRight || '') || 0)), + (this.input.style.width = e - t + 'px'); + } else this.input.style.width = e + 'px'; + this.mirror && (this.mirror.style.width = e + 'px'); + } + set paddingRight(e) { + this.options.flexibleHeight && this.options.flexibleWidth + ? (this.input.style.width = `calc(100% - ${e}px)`) + : (this.input.style.paddingRight = e + 'px'), + this.mirror && (this.mirror.style.paddingRight = e + 'px'); + } + updateScrollDimensions() { + if ( + 'number' != typeof this.cachedContentHeight || + 'number' != typeof this.cachedHeight || + !this.scrollableElement + ) + return; + const e = this.cachedContentHeight, + t = this.cachedHeight, + i = this.input.scrollTop; + this.scrollableElement.setScrollDimensions({ + scrollHeight: e, + height: t, + }), + this.scrollableElement.setScrollPosition({ scrollTop: i }); + } + showMessage(e, t) { + (this.message = e), + this.element.classList.remove('idle'), + this.element.classList.remove('info'), + this.element.classList.remove('warning'), + this.element.classList.remove('error'), + this.element.classList.add(this.classForType(e.type)); + const i = this.stylesForType(this.message.type); + (this.element.style.border = i.border + ? `1px solid ${i.border}` + : ''), + (this.hasFocus() || t) && this._showMessage(); + } + hideMessage() { + (this.message = null), + this.element.classList.remove('info'), + this.element.classList.remove('warning'), + this.element.classList.remove('error'), + this.element.classList.add('idle'), + this._hideMessage(), + this.applyStyles(); + } + validate() { + let e = null; + return ( + this.validation && + ((e = this.validation(this.value)), + e + ? (this.inputElement.setAttribute('aria-invalid', 'true'), + this.showMessage(e)) + : this.inputElement.hasAttribute('aria-invalid') && + (this.inputElement.removeAttribute('aria-invalid'), + this.hideMessage())), + !e + ); + } + stylesForType(e) { + switch (e) { + case 1: + return { + border: this.inputValidationInfoBorder, + background: this.inputValidationInfoBackground, + foreground: this.inputValidationInfoForeground, + }; + case 2: + return { + border: this.inputValidationWarningBorder, + background: this.inputValidationWarningBackground, + foreground: this.inputValidationWarningForeground, + }; + default: + return { + border: this.inputValidationErrorBorder, + background: this.inputValidationErrorBackground, + foreground: this.inputValidationErrorForeground, + }; + } + } + classForType(e) { + switch (e) { + case 1: + return 'info'; + case 2: + return 'warning'; + default: + return 'error'; + } + } + _showMessage() { + if (!this.contextViewProvider || !this.message) return; + let e, + t, + i = () => (e.style.width = r.w(this.element) + 'px'); + this.contextViewProvider.showContextView({ + getAnchor: () => this.element, + anchorAlignment: 1, + render: (t) => { + if (!this.message) return null; + (e = r.R3(t, m('.monaco-inputbox-container'))), i(); + const n = { inline: !0, className: 'monaco-inputbox-message' }, + o = this.message.formatContent + ? (0, s.BO)(this.message.content, n) + : (0, s.IY)(this.message.content, n); + o.classList.add(this.classForType(this.message.type)); + const a = this.stylesForType(this.message.type); + return ( + (o.style.backgroundColor = a.background + ? a.background.toString() + : ''), + (o.style.color = a.foreground ? a.foreground.toString() : ''), + (o.style.border = a.border ? `1px solid ${a.border}` : ''), + r.R3(e, o), + null + ); + }, + onHide: () => { + this.state = 'closed'; + }, + layout: i, + }), + (t = + 3 === this.message.type + ? n.N('alertErrorMessage', 'Error: {0}', this.message.content) + : 2 === this.message.type + ? n.N( + 'alertWarningMessage', + 'Warning: {0}', + this.message.content + ) + : n.N('alertInfoMessage', 'Info: {0}', this.message.content)), + o.Z9(t), + (this.state = 'open'); + } + _hideMessage() { + this.contextViewProvider && + ('open' === this.state && + this.contextViewProvider.hideContextView(), + (this.state = 'idle')); + } + onValueChange() { + this._onDidChange.fire(this.value), + this.validate(), + this.updateMirror(), + this.input.classList.toggle('empty', !this.value), + 'open' === this.state && + this.contextViewProvider && + this.contextViewProvider.layout(); + } + updateMirror() { + if (!this.mirror) return; + const e = this.value, + t = 10 === e.charCodeAt(e.length - 1) ? ' ' : ''; + e + t + ? (this.mirror.textContent = e + t) + : (this.mirror.innerText = ' '), + this.layout(); + } + style(e) { + (this.inputBackground = e.inputBackground), + (this.inputForeground = e.inputForeground), + (this.inputBorder = e.inputBorder), + (this.inputValidationInfoBackground = + e.inputValidationInfoBackground), + (this.inputValidationInfoForeground = + e.inputValidationInfoForeground), + (this.inputValidationInfoBorder = e.inputValidationInfoBorder), + (this.inputValidationWarningBackground = + e.inputValidationWarningBackground), + (this.inputValidationWarningForeground = + e.inputValidationWarningForeground), + (this.inputValidationWarningBorder = + e.inputValidationWarningBorder), + (this.inputValidationErrorBackground = + e.inputValidationErrorBackground), + (this.inputValidationErrorForeground = + e.inputValidationErrorForeground), + (this.inputValidationErrorBorder = e.inputValidationErrorBorder), + this.applyStyles(); + } + applyStyles() { + const e = this.inputBackground + ? this.inputBackground.toString() + : '', + t = this.inputForeground ? this.inputForeground.toString() : '', + i = this.inputBorder ? this.inputBorder.toString() : ''; + (this.element.style.backgroundColor = e), + (this.element.style.color = t), + (this.input.style.backgroundColor = 'inherit'), + (this.input.style.color = t), + (this.element.style.borderWidth = i ? '1px' : ''), + (this.element.style.borderStyle = i ? 'solid' : ''), + (this.element.style.borderColor = i); + } + layout() { + if (!this.mirror) return; + const e = this.cachedContentHeight; + (this.cachedContentHeight = r.wn(this.mirror)), + e !== this.cachedContentHeight && + ((this.cachedHeight = Math.min( + this.cachedContentHeight, + this.maxHeight + )), + (this.input.style.height = this.cachedHeight + 'px'), + this._onDidHeightChange.fire(this.cachedContentHeight)); + } + insertAtCursor(e) { + const t = this.inputElement, + i = t.selectionStart, + n = t.selectionEnd, + r = t.value; + null !== i && + null !== n && + ((this.value = r.substr(0, i) + e + r.substr(n)), + t.setSelectionRange(i + 1, i + 1), + this.layout()); + } + dispose() { + this._hideMessage(), + (this.message = null), + this.actionbar && this.actionbar.dispose(), + super.dispose(); + } + } + class v extends b { + constructor(e, t, i) { + super(e, t, i), (this.history = new g(i.history, 100)); + } + addToHistory() { + this.value && + this.value !== this.getCurrentValue() && + this.history.add(this.value); + } + showNextValue() { + this.history.has(this.value) || this.addToHistory(); + let e = this.getNextValue(); + e && (e = e === this.value ? this.getNextValue() : e), + e && ((this.value = e), o.i7(this.value)); + } + showPreviousValue() { + this.history.has(this.value) || this.addToHistory(); + let e = this.getPreviousValue(); + e && (e = e === this.value ? this.getPreviousValue() : e), + e && ((this.value = e), o.i7(this.value)); + } + getCurrentValue() { + let e = this.history.current(); + return e || ((e = this.history.last()), this.history.next()), e; + } + getPreviousValue() { + return this.history.previous() || this.history.first(); + } + getNextValue() { + return this.history.next() || this.history.last(); + } + } + }, + 25707: (e, t, i) => { + 'use strict'; + i.d(t, { kX: () => S, Bv: () => M }); + var n = i(36248), + r = i(5976), + s = i(10553), + o = i(65321), + a = i(4669), + l = i(4850), + c = i(9802), + d = i(76633), + h = i(61134); + function u(e, t) { + const i = []; + for (let n of t) { + if (e.start >= n.range.end) continue; + if (e.end < n.range.start) break; + const t = h.e.intersect(e, n.range); + h.e.isEmpty(t) || i.push({ range: t, size: n.size }); + } + return i; + } + function g({ start: e, end: t }, i) { + return { start: e + i, end: t + i }; + } + class f { + constructor() { + (this.groups = []), (this._size = 0); + } + splice(e, t, i = []) { + const n = i.length - t, + r = u({ start: 0, end: e }, this.groups), + s = u( + { start: e + t, end: Number.POSITIVE_INFINITY }, + this.groups + ).map((e) => ({ range: g(e.range, n), size: e.size })), + o = i.map((t, i) => ({ + range: { start: e + i, end: e + i + 1 }, + size: t.size, + })); + (this.groups = (function (...e) { + return (function (e) { + const t = []; + let i = null; + for (let n of e) { + const e = n.range.start, + r = n.range.end, + s = n.size; + i && s === i.size + ? (i.range.end = r) + : ((i = { range: { start: e, end: r }, size: s }), + t.push(i)); + } + return t; + })(e.reduce((e, t) => e.concat(t), [])); + })(r, o, s)), + (this._size = this.groups.reduce( + (e, t) => e + t.size * (t.range.end - t.range.start), + 0 + )); + } + get count() { + const e = this.groups.length; + return e ? this.groups[e - 1].range.end : 0; + } + get size() { + return this._size; + } + indexAt(e) { + if (e < 0) return -1; + let t = 0, + i = 0; + for (let n of this.groups) { + const r = n.range.end - n.range.start, + s = i + r * n.size; + if (e < s) return t + Math.floor((e - i) / n.size); + (t += r), (i = s); + } + return t; + } + indexAfter(e) { + return Math.min(this.indexAt(e) + 1, this.count); + } + positionAt(e) { + if (e < 0) return -1; + let t = 0, + i = 0; + for (let n of this.groups) { + const r = n.range.end - n.range.start, + s = i + r; + if (e < s) return t + (e - i) * n.size; + (t += r * n.size), (i = s); + } + return -1; + } + } + class p { + constructor(e) { + (this.renderers = e), (this.cache = new Map()); + } + alloc(e) { + let t = this.getTemplateCache(e).pop(); + if (!t) { + const i = (0, o.$)('.monaco-list-row'); + t = { + domNode: i, + templateId: e, + templateData: this.getRenderer(e).renderTemplate(i), + }; + } + return t; + } + release(e) { + e && this.releaseRow(e); + } + releaseRow(e) { + const { domNode: t, templateId: i } = e; + t && + ((0, o.IV)(t, 'scrolling'), + (function (e) { + try { + e.parentElement && e.parentElement.removeChild(e); + } catch (e) {} + })(t)), + this.getTemplateCache(i).push(e); + } + getTemplateCache(e) { + let t = this.cache.get(e); + return t || ((t = []), this.cache.set(e, t)), t; + } + dispose() { + this.cache.forEach((e, t) => { + for (const i of e) + this.getRenderer(t).disposeTemplate(i.templateData), + (i.domNode = null), + (i.templateData = null); + }), + this.cache.clear(); + } + getRenderer(e) { + const t = this.renderers.get(e); + if (!t) throw new Error(`No renderer found for ${e}`); + return t; + } + } + var m = i(49898), + _ = i(9488), + b = i(23547), + v = i(15393), + y = i(16268), + w = function (e, t, i, n) { + var r, + s = arguments.length, + o = + s < 3 + ? t + : null === n + ? (n = Object.getOwnPropertyDescriptor(t, i)) + : n; + if ( + 'object' == typeof Reflect && + 'function' == typeof Reflect.decorate + ) + o = Reflect.decorate(e, t, i, n); + else + for (var a = e.length - 1; a >= 0; a--) + (r = e[a]) && + (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); + return s > 3 && o && Object.defineProperty(t, i, o), o; + }; + const C = { + useShadows: !0, + verticalScrollMode: 1, + setRowLineHeight: !0, + setRowHeight: !0, + supportDynamicHeights: !1, + dnd: { + getDragElements: (e) => [e], + getDragURI: () => null, + onDragStart() {}, + onDragOver: () => !1, + drop() {}, + }, + horizontalScrolling: !1, + transformOptimization: !0, + }; + class S { + constructor(e) { + this.elements = e; + } + update() {} + getData() { + return this.elements; + } + } + class k { + constructor(e) { + this.elements = e; + } + update() {} + getData() { + return this.elements; + } + } + class x { + constructor() { + (this.types = []), (this.files = []); + } + update(e) { + if ( + (e.types && this.types.splice(0, this.types.length, ...e.types), + e.files) + ) { + this.files.splice(0, this.files.length); + for (let t = 0; t < e.files.length; t++) { + const i = e.files.item(t); + i && (i.size || i.type) && this.files.push(i); + } + } + } + getData() { + return { types: this.types, files: this.files }; + } + } + class L { + constructor(e) { + (null == e ? void 0 : e.getSetSize) + ? (this.getSetSize = e.getSetSize.bind(e)) + : (this.getSetSize = (e, t, i) => i), + (null == e ? void 0 : e.getPosInSet) + ? (this.getPosInSet = e.getPosInSet.bind(e)) + : (this.getPosInSet = (e, t) => t + 1), + (null == e ? void 0 : e.getRole) + ? (this.getRole = e.getRole.bind(e)) + : (this.getRole = (e) => 'listitem'), + (null == e ? void 0 : e.isChecked) + ? (this.isChecked = e.isChecked.bind(e)) + : (this.isChecked = (e) => {}); + } + } + class M { + constructor(e, t, i, h = C) { + if ( + ((this.virtualDelegate = t), + (this.domId = 'list_id_' + ++M.InstanceCount), + (this.renderers = new Map()), + (this.renderWidth = 0), + (this._scrollHeight = 0), + (this.scrollableElementUpdateDisposable = null), + (this.scrollableElementWidthDelayer = new v.vp(50)), + (this.splicing = !1), + (this.dragOverAnimationStopDisposable = r.JT.None), + (this.dragOverMouseY = 0), + (this.canDrop = !1), + (this.currentDragFeedbackDisposable = r.JT.None), + (this.onDragLeaveTimeout = r.JT.None), + (this.disposables = new r.SL()), + (this._onDidChangeContentHeight = new a.Q5()), + (this._horizontalScrolling = !1), + h.horizontalScrolling && h.supportDynamicHeights) + ) + throw new Error( + 'Horizontal scrolling and dynamic heights not supported simultaneously' + ); + (this.items = []), (this.itemId = 0), (this.rangeMap = new f()); + for (const e of i) this.renderers.set(e.templateId, e); + (this.cache = this.disposables.add(new p(this.renderers))), + (this.lastRenderTop = 0), + (this.lastRenderHeight = 0), + (this.domNode = document.createElement('div')), + (this.domNode.className = 'monaco-list'), + o.cn(this.domNode, this.domId), + (this.domNode.tabIndex = 0), + o.og( + this.domNode, + 'mouse-support', + 'boolean' != typeof h.mouseSupport || h.mouseSupport + ), + (this._horizontalScrolling = (0, n.CJ)( + h, + (e) => e.horizontalScrolling, + C.horizontalScrolling + )), + o.og( + this.domNode, + 'horizontal-scrolling', + this._horizontalScrolling + ), + (this.additionalScrollHeight = + void 0 === h.additionalScrollHeight + ? 0 + : h.additionalScrollHeight), + (this.accessibilityProvider = new L(h.accessibilityProvider)), + (this.rowsContainer = document.createElement('div')), + (this.rowsContainer.className = 'monaco-list-rows'), + (0, n.CJ)( + h, + (e) => e.transformOptimization, + C.transformOptimization + ) && + (this.rowsContainer.style.transform = + 'translate3d(0px, 0px, 0px)'), + this.disposables.add(s.o.addTarget(this.rowsContainer)), + (this.scrollable = new d.Rm( + (0, n.CJ)(h, (e) => e.smoothScrolling, !1) ? 125 : 0, + (e) => o.jL(e) + )), + (this.scrollableElement = this.disposables.add( + new c.$Z( + this.rowsContainer, + { + alwaysConsumeMouseWheel: !0, + horizontal: 1, + vertical: (0, n.CJ)( + h, + (e) => e.verticalScrollMode, + C.verticalScrollMode + ), + useShadows: (0, n.CJ)(h, (e) => e.useShadows, C.useShadows), + }, + this.scrollable + ) + )), + this.domNode.appendChild(this.scrollableElement.getDomNode()), + e.appendChild(this.domNode), + this.scrollableElement.onScroll( + this.onScroll, + this, + this.disposables + ), + (0, l.j)(this.rowsContainer, s.t.Change)( + this.onTouchChange, + this, + this.disposables + ), + (0, l.j)(this.scrollableElement.getDomNode(), 'scroll')( + (e) => (e.target.scrollTop = 0), + null, + this.disposables + ), + a.ju.map((0, l.j)(this.domNode, 'dragover'), (e) => + this.toDragEvent(e) + )(this.onDragOver, this, this.disposables), + a.ju.map((0, l.j)(this.domNode, 'drop'), (e) => + this.toDragEvent(e) + )(this.onDrop, this, this.disposables), + (0, l.j)(this.domNode, 'dragleave')( + this.onDragLeave, + this, + this.disposables + ), + (0, l.j)(window, 'dragend')( + this.onDragEnd, + this, + this.disposables + ), + (this.setRowLineHeight = (0, n.CJ)( + h, + (e) => e.setRowLineHeight, + C.setRowLineHeight + )), + (this.setRowHeight = (0, n.CJ)( + h, + (e) => e.setRowHeight, + C.setRowHeight + )), + (this.supportDynamicHeights = (0, n.CJ)( + h, + (e) => e.supportDynamicHeights, + C.supportDynamicHeights + )), + (this.dnd = (0, n.CJ)(h, (e) => e.dnd, C.dnd)), + this.layout(); + } + get contentHeight() { + return this.rangeMap.size; + } + get horizontalScrolling() { + return this._horizontalScrolling; + } + set horizontalScrolling(e) { + if (e !== this._horizontalScrolling) { + if (e && this.supportDynamicHeights) + throw new Error( + 'Horizontal scrolling and dynamic heights not supported simultaneously' + ); + if ( + ((this._horizontalScrolling = e), + o.og( + this.domNode, + 'horizontal-scrolling', + this._horizontalScrolling + ), + this._horizontalScrolling) + ) { + for (const e of this.items) this.measureItemWidth(e); + this.updateScrollWidth(), + this.scrollableElement.setScrollDimensions({ + width: o.FK(this.domNode), + }), + (this.rowsContainer.style.width = `${Math.max( + this.scrollWidth || 0, + this.renderWidth + )}px`); + } else + this.scrollableElementWidthDelayer.cancel(), + this.scrollableElement.setScrollDimensions({ + width: this.renderWidth, + scrollWidth: this.renderWidth, + }), + (this.rowsContainer.style.width = ''); + } + } + updateOptions(e) { + void 0 !== e.additionalScrollHeight && + (this.additionalScrollHeight = e.additionalScrollHeight), + void 0 !== e.smoothScrolling && + this.scrollable.setSmoothScrollDuration( + e.smoothScrolling ? 125 : 0 + ), + void 0 !== e.horizontalScrolling && + (this.horizontalScrolling = e.horizontalScrolling); + } + splice(e, t, i = []) { + if (this.splicing) throw new Error("Can't run recursive splices."); + this.splicing = !0; + try { + return this._splice(e, t, i); + } finally { + (this.splicing = !1), + this._onDidChangeContentHeight.fire(this.contentHeight); + } + } + _splice(e, t, i = []) { + const n = this.getRenderRange( + this.lastRenderTop, + this.lastRenderHeight + ), + s = { start: e, end: e + t }, + o = h.e.intersect(n, s); + for (let e = o.start; e < o.end; e++) this.removeItemFromDOM(e); + const a = { start: e + t, end: this.items.length }, + l = h.e.intersect(a, n), + c = h.e.relativeComplement(a, n), + d = i.map((e) => ({ + id: String(this.itemId++), + element: e, + templateId: this.virtualDelegate.getTemplateId(e), + size: this.virtualDelegate.getHeight(e), + width: void 0, + hasDynamicHeight: + !!this.virtualDelegate.hasDynamicHeight && + this.virtualDelegate.hasDynamicHeight(e), + lastDynamicHeightWidth: void 0, + row: null, + uri: void 0, + dropTarget: !1, + dragStartDisposable: r.JT.None, + })); + let u; + 0 === e && t >= this.items.length + ? ((this.rangeMap = new f()), + this.rangeMap.splice(0, 0, d), + (this.items = d), + (u = [])) + : (this.rangeMap.splice(e, t, d), + (u = this.items.splice(e, t, ...d))); + const p = i.length - t, + m = this.getRenderRange( + this.lastRenderTop, + this.lastRenderHeight + ), + _ = g(l, p), + b = h.e.intersect(m, _); + for (let e = b.start; e < b.end; e++) + this.updateItemInDOM(this.items[e], e); + const v = h.e.relativeComplement(_, m); + for (const e of v) + for (let t = e.start; t < e.end; t++) this.removeItemFromDOM(t); + const y = c.map((e) => g(e, p)), + w = [{ start: e, end: e + i.length }, ...y].map((e) => + h.e.intersect(m, e) + ), + C = this.getNextToLastElement(w); + for (const e of w) + for (let t = e.start; t < e.end; t++) this.insertItemInDOM(t, C); + return ( + this.eventuallyUpdateScrollDimensions(), + this.supportDynamicHeights && + this._rerender(this.scrollTop, this.renderHeight), + u.map((e) => e.element) + ); + } + eventuallyUpdateScrollDimensions() { + (this._scrollHeight = this.contentHeight), + (this.rowsContainer.style.height = `${this._scrollHeight}px`), + this.scrollableElementUpdateDisposable || + (this.scrollableElementUpdateDisposable = o.jL(() => { + this.scrollableElement.setScrollDimensions({ + scrollHeight: this.scrollHeight, + }), + this.updateScrollWidth(), + (this.scrollableElementUpdateDisposable = null); + })); + } + eventuallyUpdateScrollWidth() { + this.horizontalScrolling + ? this.scrollableElementWidthDelayer.trigger(() => + this.updateScrollWidth() + ) + : this.scrollableElementWidthDelayer.cancel(); + } + updateScrollWidth() { + if (!this.horizontalScrolling) return; + let e = 0; + for (const t of this.items) + void 0 !== t.width && (e = Math.max(e, t.width)); + (this.scrollWidth = e), + this.scrollableElement.setScrollDimensions({ + scrollWidth: 0 === e ? 0 : e + 10, + }); + } + rerender() { + if (this.supportDynamicHeights) { + for (const e of this.items) e.lastDynamicHeightWidth = void 0; + this._rerender(this.lastRenderTop, this.lastRenderHeight); + } + } + get length() { + return this.items.length; + } + get renderHeight() { + return this.scrollableElement.getScrollDimensions().height; + } + element(e) { + return this.items[e].element; + } + domElement(e) { + const t = this.items[e].row; + return t && t.domNode; + } + elementHeight(e) { + return this.items[e].size; + } + elementTop(e) { + return this.rangeMap.positionAt(e); + } + indexAt(e) { + return this.rangeMap.indexAt(e); + } + indexAfter(e) { + return this.rangeMap.indexAfter(e); + } + layout(e, t) { + let i = { height: 'number' == typeof e ? e : o.If(this.domNode) }; + this.scrollableElementUpdateDisposable && + (this.scrollableElementUpdateDisposable.dispose(), + (this.scrollableElementUpdateDisposable = null), + (i.scrollHeight = this.scrollHeight)), + this.scrollableElement.setScrollDimensions(i), + void 0 !== t && + ((this.renderWidth = t), + this.supportDynamicHeights && + this._rerender(this.scrollTop, this.renderHeight), + this.horizontalScrolling && + this.scrollableElement.setScrollDimensions({ + width: 'number' == typeof t ? t : o.FK(this.domNode), + })); + } + render(e, t, i, n, r, s = !1) { + const o = this.getRenderRange(t, i), + a = h.e.relativeComplement(o, e), + l = h.e.relativeComplement(e, o), + c = this.getNextToLastElement(a); + if (s) { + const t = h.e.intersect(e, o); + for (let e = t.start; e < t.end; e++) + this.updateItemInDOM(this.items[e], e); + } + for (const e of a) + for (let t = e.start; t < e.end; t++) this.insertItemInDOM(t, c); + for (const e of l) + for (let t = e.start; t < e.end; t++) this.removeItemFromDOM(t); + void 0 !== n && (this.rowsContainer.style.left = `-${n}px`), + (this.rowsContainer.style.top = `-${t}px`), + this.horizontalScrolling && + void 0 !== r && + (this.rowsContainer.style.width = `${Math.max( + r, + this.renderWidth + )}px`), + (this.lastRenderTop = t), + (this.lastRenderHeight = i); + } + insertItemInDOM(e, t) { + const i = this.items[e]; + if (!i.row) { + i.row = this.cache.alloc(i.templateId); + const e = + this.accessibilityProvider.getRole(i.element) || 'listitem'; + i.row.domNode.setAttribute('role', e); + const t = this.accessibilityProvider.isChecked(i.element); + void 0 !== t && + i.row.domNode.setAttribute('aria-checked', String(!!t)); + } + i.row.domNode.parentElement || + (t + ? this.rowsContainer.insertBefore(i.row.domNode, t) + : this.rowsContainer.appendChild(i.row.domNode)), + this.updateItemInDOM(i, e); + const n = this.renderers.get(i.templateId); + if (!n) + throw new Error( + `No renderer found for template id ${i.templateId}` + ); + n && n.renderElement(i.element, e, i.row.templateData, i.size); + const r = this.dnd.getDragURI(i.element); + if ( + (i.dragStartDisposable.dispose(), + (i.row.domNode.draggable = !!r), + r) + ) { + const e = (0, l.j)(i.row.domNode, 'dragstart'); + i.dragStartDisposable = e((e) => + this.onDragStart(i.element, r, e) + ); + } + this.horizontalScrolling && + (this.measureItemWidth(i), this.eventuallyUpdateScrollWidth()); + } + measureItemWidth(e) { + if (!e.row || !e.row.domNode) return; + (e.row.domNode.style.width = y.vU + ? '-moz-fit-content' + : 'fit-content'), + (e.width = o.FK(e.row.domNode)); + const t = window.getComputedStyle(e.row.domNode); + t.paddingLeft && (e.width += parseFloat(t.paddingLeft)), + t.paddingRight && (e.width += parseFloat(t.paddingRight)), + (e.row.domNode.style.width = ''); + } + updateItemInDOM(e, t) { + (e.row.domNode.style.top = `${this.elementTop(t)}px`), + this.setRowHeight && (e.row.domNode.style.height = `${e.size}px`), + this.setRowLineHeight && + (e.row.domNode.style.lineHeight = `${e.size}px`), + e.row.domNode.setAttribute('data-index', `${t}`), + e.row.domNode.setAttribute( + 'data-last-element', + t === this.length - 1 ? 'true' : 'false' + ), + e.row.domNode.setAttribute( + 'aria-setsize', + String( + this.accessibilityProvider.getSetSize( + e.element, + t, + this.length + ) + ) + ), + e.row.domNode.setAttribute( + 'aria-posinset', + String(this.accessibilityProvider.getPosInSet(e.element, t)) + ), + e.row.domNode.setAttribute('id', this.getElementDomId(t)), + o.og(e.row.domNode, 'drop-target', e.dropTarget); + } + removeItemFromDOM(e) { + const t = this.items[e]; + t.dragStartDisposable.dispose(); + const i = this.renderers.get(t.templateId); + t.row && + i && + i.disposeElement && + i.disposeElement(t.element, e, t.row.templateData, t.size), + this.cache.release(t.row), + (t.row = null), + this.horizontalScrolling && this.eventuallyUpdateScrollWidth(); + } + getScrollTop() { + return this.scrollableElement.getScrollPosition().scrollTop; + } + setScrollTop(e) { + this.scrollableElementUpdateDisposable && + (this.scrollableElementUpdateDisposable.dispose(), + (this.scrollableElementUpdateDisposable = null), + this.scrollableElement.setScrollDimensions({ + scrollHeight: this.scrollHeight, + })), + this.scrollableElement.setScrollPosition({ scrollTop: e }); + } + get scrollTop() { + return this.getScrollTop(); + } + set scrollTop(e) { + this.setScrollTop(e); + } + get scrollHeight() { + return ( + this._scrollHeight + + (this.horizontalScrolling ? 10 : 0) + + this.additionalScrollHeight + ); + } + get onMouseClick() { + return a.ju.map((0, l.j)(this.domNode, 'click'), (e) => + this.toMouseEvent(e) + ); + } + get onMouseDblClick() { + return a.ju.map((0, l.j)(this.domNode, 'dblclick'), (e) => + this.toMouseEvent(e) + ); + } + get onMouseMiddleClick() { + return a.ju.filter( + a.ju.map((0, l.j)(this.domNode, 'auxclick'), (e) => + this.toMouseEvent(e) + ), + (e) => 1 === e.browserEvent.button + ); + } + get onMouseDown() { + return a.ju.map((0, l.j)(this.domNode, 'mousedown'), (e) => + this.toMouseEvent(e) + ); + } + get onContextMenu() { + return a.ju.map((0, l.j)(this.domNode, 'contextmenu'), (e) => + this.toMouseEvent(e) + ); + } + get onTouchStart() { + return a.ju.map((0, l.j)(this.domNode, 'touchstart'), (e) => + this.toTouchEvent(e) + ); + } + get onTap() { + return a.ju.map((0, l.j)(this.rowsContainer, s.t.Tap), (e) => + this.toGestureEvent(e) + ); + } + toMouseEvent(e) { + const t = this.getItemIndexFromEventTarget(e.target || null), + i = void 0 === t ? void 0 : this.items[t]; + return { browserEvent: e, index: t, element: i && i.element }; + } + toTouchEvent(e) { + const t = this.getItemIndexFromEventTarget(e.target || null), + i = void 0 === t ? void 0 : this.items[t]; + return { browserEvent: e, index: t, element: i && i.element }; + } + toGestureEvent(e) { + const t = this.getItemIndexFromEventTarget(e.initialTarget || null), + i = void 0 === t ? void 0 : this.items[t]; + return { browserEvent: e, index: t, element: i && i.element }; + } + toDragEvent(e) { + const t = this.getItemIndexFromEventTarget(e.target || null), + i = void 0 === t ? void 0 : this.items[t]; + return { browserEvent: e, index: t, element: i && i.element }; + } + onScroll(e) { + try { + const t = this.getRenderRange( + this.lastRenderTop, + this.lastRenderHeight + ); + this.render( + t, + e.scrollTop, + e.height, + e.scrollLeft, + e.scrollWidth + ), + this.supportDynamicHeights && + this._rerender(e.scrollTop, e.height); + } catch (t) { + throw (console.error('Got bad scroll event:', e), t); + } + } + onTouchChange(e) { + e.preventDefault(), + e.stopPropagation(), + (this.scrollTop -= e.translationY); + } + onDragStart(e, t, i) { + if (!i.dataTransfer) return; + const n = this.dnd.getDragElements(e); + if ( + ((i.dataTransfer.effectAllowed = 'copyMove'), + i.dataTransfer.setData(b.go.RESOURCES, JSON.stringify([t])), + i.dataTransfer.setDragImage) + ) { + let e; + this.dnd.getDragLabel && (e = this.dnd.getDragLabel(n, i)), + void 0 === e && (e = String(n.length)); + const t = o.$('.monaco-drag-image'); + (t.textContent = e), + document.body.appendChild(t), + i.dataTransfer.setDragImage(t, -10, -10), + setTimeout(() => document.body.removeChild(t), 0); + } + (this.currentDragData = new S(n)), + (b.P$.CurrentDragAndDropData = new k(n)), + this.dnd.onDragStart && + this.dnd.onDragStart(this.currentDragData, i); + } + onDragOver(e) { + if ( + (e.browserEvent.preventDefault(), + this.onDragLeaveTimeout.dispose(), + b.P$.CurrentDragAndDropData && + 'vscode-ui' === b.P$.CurrentDragAndDropData.getData()) + ) + return !1; + if ( + (this.setupDragAndDropScrollTopAnimation(e.browserEvent), + !e.browserEvent.dataTransfer) + ) + return !1; + if (!this.currentDragData) + if (b.P$.CurrentDragAndDropData) + this.currentDragData = b.P$.CurrentDragAndDropData; + else { + if (!e.browserEvent.dataTransfer.types) return !1; + this.currentDragData = new x(); + } + const t = this.dnd.onDragOver( + this.currentDragData, + e.element, + e.index, + e.browserEvent + ); + if ( + ((this.canDrop = 'boolean' == typeof t ? t : t.accept), + !this.canDrop) + ) + return ( + (this.currentDragFeedback = void 0), + this.currentDragFeedbackDisposable.dispose(), + !1 + ); + let i; + if ( + ((e.browserEvent.dataTransfer.dropEffect = + 'boolean' != typeof t && 0 === t.effect ? 'copy' : 'move'), + (i = + 'boolean' != typeof t && t.feedback + ? t.feedback + : void 0 === e.index + ? [-1] + : [e.index]), + (i = (0, _.EB)(i) + .filter((e) => e >= -1 && e < this.length) + .sort((e, t) => e - t)), + (i = -1 === i[0] ? [-1] : i), + (n = this.currentDragFeedback), + (s = i), + Array.isArray(n) && Array.isArray(s) ? (0, _.fS)(n, s) : n === s) + ) + return !0; + var n, s; + if ( + ((this.currentDragFeedback = i), + this.currentDragFeedbackDisposable.dispose(), + -1 === i[0]) + ) + o.cn(this.domNode, 'drop-target'), + o.cn(this.rowsContainer, 'drop-target'), + (this.currentDragFeedbackDisposable = (0, r.OF)(() => { + o.IV(this.domNode, 'drop-target'), + o.IV(this.rowsContainer, 'drop-target'); + })); + else { + for (const e of i) { + const t = this.items[e]; + (t.dropTarget = !0), + t.row && t.row.domNode && o.cn(t.row.domNode, 'drop-target'); + } + this.currentDragFeedbackDisposable = (0, r.OF)(() => { + for (const e of i) { + const t = this.items[e]; + (t.dropTarget = !1), + t.row && + t.row.domNode && + o.IV(t.row.domNode, 'drop-target'); + } + }); + } + return !0; + } + onDragLeave() { + this.onDragLeaveTimeout.dispose(), + (this.onDragLeaveTimeout = (0, v.Vg)( + () => this.clearDragOverFeedback(), + 100 + )); + } + onDrop(e) { + if (!this.canDrop) return; + const t = this.currentDragData; + this.teardownDragAndDropScrollTopAnimation(), + this.clearDragOverFeedback(), + (this.currentDragData = void 0), + (b.P$.CurrentDragAndDropData = void 0), + t && + e.browserEvent.dataTransfer && + (e.browserEvent.preventDefault(), + t.update(e.browserEvent.dataTransfer), + this.dnd.drop(t, e.element, e.index, e.browserEvent)); + } + onDragEnd(e) { + (this.canDrop = !1), + this.teardownDragAndDropScrollTopAnimation(), + this.clearDragOverFeedback(), + (this.currentDragData = void 0), + (b.P$.CurrentDragAndDropData = void 0), + this.dnd.onDragEnd && this.dnd.onDragEnd(e); + } + clearDragOverFeedback() { + (this.currentDragFeedback = void 0), + this.currentDragFeedbackDisposable.dispose(), + (this.currentDragFeedbackDisposable = r.JT.None); + } + setupDragAndDropScrollTopAnimation(e) { + if (!this.dragOverAnimationDisposable) { + const e = o.xQ(this.domNode).top; + this.dragOverAnimationDisposable = o.jt( + this.animateDragAndDropScrollTop.bind(this, e) + ); + } + this.dragOverAnimationStopDisposable.dispose(), + (this.dragOverAnimationStopDisposable = (0, v.Vg)(() => { + this.dragOverAnimationDisposable && + (this.dragOverAnimationDisposable.dispose(), + (this.dragOverAnimationDisposable = void 0)); + }, 1e3)), + (this.dragOverMouseY = e.pageY); + } + animateDragAndDropScrollTop(e) { + if (void 0 === this.dragOverMouseY) return; + const t = this.dragOverMouseY - e, + i = this.renderHeight - 35; + t < 35 + ? (this.scrollTop += Math.max(-14, Math.floor(0.3 * (t - 35)))) + : t > i && + (this.scrollTop += Math.min(14, Math.floor(0.3 * (t - i)))); + } + teardownDragAndDropScrollTopAnimation() { + this.dragOverAnimationStopDisposable.dispose(), + this.dragOverAnimationDisposable && + (this.dragOverAnimationDisposable.dispose(), + (this.dragOverAnimationDisposable = void 0)); + } + getItemIndexFromEventTarget(e) { + const t = this.scrollableElement.getDomNode(); + let i = e; + for ( + ; + i instanceof HTMLElement && + i !== this.rowsContainer && + t.contains(i); + + ) { + const e = i.getAttribute('data-index'); + if (e) { + const t = Number(e); + if (!isNaN(t)) return t; + } + i = i.parentElement; + } + } + getRenderRange(e, t) { + return { + start: this.rangeMap.indexAt(e), + end: this.rangeMap.indexAfter(e + t - 1), + }; + } + _rerender(e, t) { + const i = this.getRenderRange(e, t); + let n, r; + e === this.elementTop(i.start) + ? ((n = i.start), (r = 0)) + : i.end - i.start > 1 && + ((n = i.start + 1), (r = this.elementTop(n) - e)); + let s = 0; + for (;;) { + const o = this.getRenderRange(e, t); + let a = !1; + for (let e = o.start; e < o.end; e++) { + const t = this.probeDynamicHeight(e); + 0 !== t && this.rangeMap.splice(e, 1, [this.items[e]]), + (s += t), + (a = a || 0 !== t); + } + if (!a) { + 0 !== s && this.eventuallyUpdateScrollDimensions(); + const e = h.e.relativeComplement(i, o); + for (const t of e) + for (let e = t.start; e < t.end; e++) + this.items[e].row && this.removeItemFromDOM(e); + const t = h.e.relativeComplement(o, i); + for (const e of t) + for (let t = e.start; t < e.end; t++) { + const e = t + 1, + i = e < this.items.length ? this.items[e].row : null, + n = i ? i.domNode : null; + this.insertItemInDOM(t, n); + } + for (let e = o.start; e < o.end; e++) + this.items[e].row && this.updateItemInDOM(this.items[e], e); + return ( + 'number' == typeof n && + (this.scrollTop = this.elementTop(n) - r), + void this._onDidChangeContentHeight.fire(this.contentHeight) + ); + } + } + } + probeDynamicHeight(e) { + const t = this.items[e]; + if ( + !t.hasDynamicHeight || + t.lastDynamicHeightWidth === this.renderWidth + ) + return 0; + if ( + this.virtualDelegate.hasDynamicHeight && + !this.virtualDelegate.hasDynamicHeight(t.element) + ) + return 0; + const i = t.size; + if (!this.setRowHeight && t.row && t.row.domNode) { + let e = t.row.domNode.offsetHeight; + return ( + (t.size = e), + (t.lastDynamicHeightWidth = this.renderWidth), + e - i + ); + } + const n = this.cache.alloc(t.templateId); + (n.domNode.style.height = ''), + this.rowsContainer.appendChild(n.domNode); + const r = this.renderers.get(t.templateId); + return ( + r && + (r.renderElement(t.element, e, n.templateData, void 0), + r.disposeElement && + r.disposeElement(t.element, e, n.templateData, void 0)), + (t.size = n.domNode.offsetHeight), + this.virtualDelegate.setDynamicHeight && + this.virtualDelegate.setDynamicHeight(t.element, t.size), + (t.lastDynamicHeightWidth = this.renderWidth), + this.rowsContainer.removeChild(n.domNode), + this.cache.release(n), + t.size - i + ); + } + getNextToLastElement(e) { + const t = e[e.length - 1]; + if (!t) return null; + const i = this.items[t.end]; + return i && i.row ? i.row.domNode : null; + } + getElementDomId(e) { + return `${this.domId}_${e}`; + } + dispose() { + if (this.items) { + for (const e of this.items) + if (e.row) { + const t = this.renderers.get(e.row.templateId); + t && t.disposeTemplate(e.row.templateData); + } + this.items = []; + } + this.domNode && + this.domNode.parentNode && + this.domNode.parentNode.removeChild(this.domNode), + (0, r.B9)(this.disposables); + } + } + (M.InstanceCount = 0), + w([m.H], M.prototype, 'onMouseClick', null), + w([m.H], M.prototype, 'onMouseDblClick', null), + w([m.H], M.prototype, 'onMouseMiddleClick', null), + w([m.H], M.prototype, 'onMouseDown', null), + w([m.H], M.prototype, 'onContextMenu', null), + w([m.H], M.prototype, 'onTouchStart', null), + w([m.H], M.prototype, 'onTap', null); + }, + 43799: (e, t, i) => { + 'use strict'; + i.d(t, { + WK: () => E, + wD: () => F, + aV: () => U, + sx: () => P, + cK: () => M, + hD: () => D, + wn: () => A, + Zo: () => O, + }); + var n = i(5976), + r = i(98401), + s = i(9488), + o = i(49898), + a = i(65321), + l = i(1432), + c = i(10553), + d = i(59069), + h = i(4669), + u = i(4850); + class g extends Error { + constructor(e, t) { + super(`ListError [${e}] ${t}`); + } + } + var f = i(25707), + p = i(41264), + m = i(36248); + class _ { + constructor(e) { + this.spliceables = e; + } + splice(e, t, i) { + this.spliceables.forEach((n) => n.splice(e, t, i)); + } + } + var b, + v = i(59870), + y = i(75392), + w = i(85152), + C = function (e, t, i, n) { + var r, + s = arguments.length, + o = + s < 3 + ? t + : null === n + ? (n = Object.getOwnPropertyDescriptor(t, i)) + : n; + if ( + 'object' == typeof Reflect && + 'function' == typeof Reflect.decorate + ) + o = Reflect.decorate(e, t, i, n); + else + for (var a = e.length - 1; a >= 0; a--) + (r = e[a]) && + (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); + return s > 3 && o && Object.defineProperty(t, i, o), o; + }; + class S { + constructor(e) { + (this.trait = e), (this.renderedElements = []); + } + get templateId() { + return `template:${this.trait.trait}`; + } + renderTemplate(e) { + return e; + } + renderElement(e, t, i) { + const n = (0, s.Zr)( + this.renderedElements, + (e) => e.templateData === i + ); + if (n >= 0) { + const e = this.renderedElements[n]; + this.trait.unrender(i), (e.index = t); + } else { + const e = { index: t, templateData: i }; + this.renderedElements.push(e); + } + this.trait.renderIndex(t, i); + } + splice(e, t, i) { + const n = []; + for (const r of this.renderedElements) + r.index < e + ? n.push(r) + : r.index >= e + t && + n.push({ + index: r.index + i - t, + templateData: r.templateData, + }); + this.renderedElements = n; + } + renderIndexes(e) { + for (const { index: t, templateData: i } of this.renderedElements) + e.indexOf(t) > -1 && this.trait.renderIndex(t, i); + } + disposeTemplate(e) { + const t = (0, s.Zr)( + this.renderedElements, + (t) => t.templateData === e + ); + t < 0 || this.renderedElements.splice(t, 1); + } + } + class k { + constructor(e) { + (this._trait = e), + (this.indexes = []), + (this.sortedIndexes = []), + (this._onChange = new h.Q5()), + (this.onChange = this._onChange.event); + } + get trait() { + return this._trait; + } + get renderer() { + return new S(this); + } + splice(e, t, i) { + const n = i.length - t, + r = e + t, + s = [ + ...this.sortedIndexes.filter((t) => t < e), + ...i.map((t, i) => (t ? i + e : -1)).filter((e) => -1 !== e), + ...this.sortedIndexes.filter((e) => e >= r).map((e) => e + n), + ]; + this.renderer.splice(e, t, i.length), this._set(s, s); + } + renderIndex(e, t) { + a.og(t, this._trait, this.contains(e)); + } + unrender(e) { + a.IV(e, this._trait); + } + set(e, t) { + return this._set(e, [...e].sort(H), t); + } + _set(e, t, i) { + const n = this.indexes, + r = this.sortedIndexes; + (this.indexes = e), (this.sortedIndexes = t); + const s = Y(r, e); + return ( + this.renderer.renderIndexes(s), + this._onChange.fire({ indexes: e, browserEvent: i }), + n + ); + } + get() { + return this.indexes; + } + contains(e) { + return (0, s.ry)(this.sortedIndexes, e, H) >= 0; + } + dispose() { + (0, n.B9)(this._onChange); + } + } + C([o.H], k.prototype, 'renderer', null); + class x extends k { + constructor(e) { + super('selected'), (this.setAriaSelected = e); + } + renderIndex(e, t) { + super.renderIndex(e, t), + this.setAriaSelected && + (this.contains(e) + ? t.setAttribute('aria-selected', 'true') + : t.setAttribute('aria-selected', 'false')); + } + } + class L { + constructor(e, t, i) { + (this.trait = e), (this.view = t), (this.identityProvider = i); + } + splice(e, t, i) { + if (!this.identityProvider) + return this.trait.splice( + e, + t, + i.map(() => !1) + ); + const n = this.trait + .get() + .map((e) => + this.identityProvider.getId(this.view.element(e)).toString() + ), + r = i.map( + (e) => n.indexOf(this.identityProvider.getId(e).toString()) > -1 + ); + this.trait.splice(e, t, r); + } + } + function M(e) { + return 'INPUT' === e.tagName || 'TEXTAREA' === e.tagName; + } + function D(e) { + return ( + !!a.pv(e, 'monaco-editor') || + (!a.pv(e, 'monaco-list') && !!e.parentElement && D(e.parentElement)) + ); + } + class N { + constructor(e, t, i) { + (this.list = e), (this.view = t), (this.disposables = new n.SL()); + const r = !1 !== i.multipleSelectionSupport, + s = h.ju + .chain((0, u.j)(t.domNode, 'keydown')) + .filter((e) => !M(e.target)) + .map((e) => new d.y(e)); + s + .filter((e) => 3 === e.keyCode) + .on(this.onEnter, this, this.disposables), + s + .filter((e) => 16 === e.keyCode) + .on(this.onUpArrow, this, this.disposables), + s + .filter((e) => 18 === e.keyCode) + .on(this.onDownArrow, this, this.disposables), + s + .filter((e) => 11 === e.keyCode) + .on(this.onPageUpArrow, this, this.disposables), + s + .filter((e) => 12 === e.keyCode) + .on(this.onPageDownArrow, this, this.disposables), + s + .filter((e) => 9 === e.keyCode) + .on(this.onEscape, this, this.disposables), + r && + s + .filter( + (e) => (l.dz ? e.metaKey : e.ctrlKey) && 31 === e.keyCode + ) + .on(this.onCtrlA, this, this.disposables); + } + onEnter(e) { + e.preventDefault(), + e.stopPropagation(), + this.list.setSelection(this.list.getFocus(), e.browserEvent); + } + onUpArrow(e) { + e.preventDefault(), + e.stopPropagation(), + this.list.focusPrevious(1, !1, e.browserEvent), + this.list.reveal(this.list.getFocus()[0]), + this.view.domNode.focus(); + } + onDownArrow(e) { + e.preventDefault(), + e.stopPropagation(), + this.list.focusNext(1, !1, e.browserEvent), + this.list.reveal(this.list.getFocus()[0]), + this.view.domNode.focus(); + } + onPageUpArrow(e) { + e.preventDefault(), + e.stopPropagation(), + this.list.focusPreviousPage(e.browserEvent), + this.list.reveal(this.list.getFocus()[0]), + this.view.domNode.focus(); + } + onPageDownArrow(e) { + e.preventDefault(), + e.stopPropagation(), + this.list.focusNextPage(e.browserEvent), + this.list.reveal(this.list.getFocus()[0]), + this.view.domNode.focus(); + } + onCtrlA(e) { + e.preventDefault(), + e.stopPropagation(), + this.list.setSelection( + (0, s.w6)(this.list.length), + e.browserEvent + ), + this.view.domNode.focus(); + } + onEscape(e) { + e.preventDefault(), + e.stopPropagation(), + this.list.setSelection([], e.browserEvent), + this.view.domNode.focus(); + } + dispose() { + this.disposables.dispose(); + } + } + !(function (e) { + (e[(e.Idle = 0)] = 'Idle'), (e[(e.Typing = 1)] = 'Typing'); + })(b || (b = {})); + const E = new (class { + mightProducePrintableCharacter(e) { + return ( + !(e.ctrlKey || e.metaKey || e.altKey) && + ((e.keyCode >= 31 && e.keyCode <= 56) || + (e.keyCode >= 21 && e.keyCode <= 30) || + (e.keyCode >= 93 && e.keyCode <= 102) || + (e.keyCode >= 80 && e.keyCode <= 90)) + ); + } + })(); + class T { + constructor(e, t, i, r) { + (this.list = e), + (this.view = t), + (this.keyboardNavigationLabelProvider = i), + (this.delegate = r), + (this.enabled = !1), + (this.state = b.Idle), + (this.automaticKeyboardNavigation = !0), + (this.triggered = !1), + (this.previouslyFocused = -1), + (this.enabledDisposables = new n.SL()), + (this.disposables = new n.SL()), + this.updateOptions(e.options); + } + updateOptions(e) { + void 0 === e.enableKeyboardNavigation || e.enableKeyboardNavigation + ? this.enable() + : this.disable(), + void 0 !== e.automaticKeyboardNavigation && + (this.automaticKeyboardNavigation = + e.automaticKeyboardNavigation); + } + enable() { + if (this.enabled) return; + const e = h.ju + .chain((0, u.j)(this.view.domNode, 'keydown')) + .filter((e) => !M(e.target)) + .filter( + () => this.automaticKeyboardNavigation || this.triggered + ) + .map((e) => new d.y(e)) + .filter((e) => this.delegate.mightProducePrintableCharacter(e)) + .forEach((e) => { + e.stopPropagation(), e.preventDefault(); + }) + .map((e) => e.browserEvent.key).event, + t = h.ju.debounce(e, () => null, 800); + h.ju.reduce(h.ju.any(e, t), (e, t) => + null === t ? null : (e || '') + t + )(this.onInput, this, this.enabledDisposables), + t(this.onClear, this, this.enabledDisposables), + (this.enabled = !0), + (this.triggered = !1); + } + disable() { + this.enabled && + (this.enabledDisposables.clear(), + (this.enabled = !1), + (this.triggered = !1)); + } + onClear() { + var e; + const t = this.list.getFocus(); + if (t.length > 0 && t[0] === this.previouslyFocused) { + const i = + null === (e = this.list.options.accessibilityProvider) || + void 0 === e + ? void 0 + : e.getAriaLabel(this.list.element(t[0])); + i && (0, w.Z9)(i); + } + this.previouslyFocused = -1; + } + onInput(e) { + if (!e) return (this.state = b.Idle), void (this.triggered = !1); + const t = this.list.getFocus(), + i = t.length > 0 ? t[0] : 0, + n = this.state === b.Idle ? 1 : 0; + this.state = b.Typing; + for (let t = 0; t < this.list.length; t++) { + const r = (i + t + n) % this.list.length, + s = this.keyboardNavigationLabelProvider.getKeyboardNavigationLabel( + this.view.element(r) + ), + o = s && s.toString(); + if (void 0 === o || (0, y.Ji)(e, o)) + return ( + (this.previouslyFocused = i), + this.list.setFocus([r]), + void this.list.reveal(r) + ); + } + } + dispose() { + this.disable(), + this.enabledDisposables.dispose(), + this.disposables.dispose(); + } + } + class I { + constructor(e, t) { + (this.list = e), + (this.view = t), + (this.disposables = new n.SL()), + h.ju + .chain((0, u.j)(t.domNode, 'keydown')) + .filter((e) => !M(e.target)) + .map((e) => new d.y(e)) + .filter( + (e) => + !( + 2 !== e.keyCode || + e.ctrlKey || + e.metaKey || + e.shiftKey || + e.altKey + ) + ) + .on(this.onTab, this, this.disposables); + } + onTab(e) { + if (e.target !== this.view.domNode) return; + const t = this.list.getFocus(); + if (0 === t.length) return; + const i = this.view.domElement(t[0]); + if (!i) return; + const n = i.querySelector('[tabIndex]'); + if (!(n && n instanceof HTMLElement && -1 !== n.tabIndex)) return; + const r = window.getComputedStyle(n); + 'hidden' !== r.visibility && + 'none' !== r.display && + (e.preventDefault(), e.stopPropagation(), n.focus()); + } + dispose() { + this.disposables.dispose(); + } + } + function O(e) { + return l.dz ? e.browserEvent.metaKey : e.browserEvent.ctrlKey; + } + function A(e) { + return e.browserEvent.shiftKey; + } + const R = { + isSelectionSingleChangeEvent: O, + isSelectionRangeChangeEvent: A, + }; + class P { + constructor(e) { + (this.list = e), + (this.disposables = new n.SL()), + (this._onPointer = new h.Q5()), + (this.onPointer = this._onPointer.event), + (this.multipleSelectionSupport = !( + !1 === e.options.multipleSelectionSupport + )), + this.multipleSelectionSupport && + (this.multipleSelectionController = + e.options.multipleSelectionController || R), + (this.mouseSupport = + void 0 === e.options.mouseSupport || !!e.options.mouseSupport), + this.mouseSupport && + (e.onMouseDown(this.onMouseDown, this, this.disposables), + e.onContextMenu(this.onContextMenu, this, this.disposables), + e.onMouseDblClick(this.onDoubleClick, this, this.disposables), + e.onTouchStart(this.onMouseDown, this, this.disposables), + this.disposables.add(c.o.addTarget(e.getHTMLElement()))), + h.ju.any(e.onMouseClick, e.onMouseMiddleClick, e.onTap)( + this.onViewPointer, + this, + this.disposables + ); + } + isSelectionSingleChangeEvent(e) { + return this.multipleSelectionController + ? this.multipleSelectionController.isSelectionSingleChangeEvent(e) + : l.dz + ? e.browserEvent.metaKey + : e.browserEvent.ctrlKey; + } + isSelectionRangeChangeEvent(e) { + return this.multipleSelectionController + ? this.multipleSelectionController.isSelectionRangeChangeEvent(e) + : e.browserEvent.shiftKey; + } + isSelectionChangeEvent(e) { + return ( + this.isSelectionSingleChangeEvent(e) || + this.isSelectionRangeChangeEvent(e) + ); + } + onMouseDown(e) { + D(e.browserEvent.target) || + (document.activeElement !== e.browserEvent.target && + this.list.domFocus()); + } + onContextMenu(e) { + if (D(e.browserEvent.target)) return; + const t = void 0 === e.index ? [] : [e.index]; + this.list.setFocus(t, e.browserEvent); + } + onViewPointer(e) { + if (!this.mouseSupport) return; + if (M(e.browserEvent.target) || D(e.browserEvent.target)) return; + let t = this.list.getFocus()[0]; + const i = this.list.getSelection(); + t = void 0 === t ? i[0] : t; + const n = e.index; + return void 0 === n + ? (this.list.setFocus([], e.browserEvent), + void this.list.setSelection([], e.browserEvent)) + : (this.multipleSelectionSupport && + this.isSelectionRangeChangeEvent(e)) || + (this.multipleSelectionSupport && + this.isSelectionChangeEvent(e)) + ? this.changeSelection(e, t) + : (this.list.setFocus([n], e.browserEvent), + ((r = e.browserEvent) instanceof MouseEvent && + 2 === r.button) || + this.list.setSelection([n], e.browserEvent), + void this._onPointer.fire(e)); + var r; + } + onDoubleClick(e) { + if (M(e.browserEvent.target) || D(e.browserEvent.target)) return; + if (this.multipleSelectionSupport && this.isSelectionChangeEvent(e)) + return; + const t = this.list.getFocus(); + this.list.setSelection(t, e.browserEvent); + } + changeSelection(e, t) { + const i = e.index; + if (this.isSelectionRangeChangeEvent(e) && void 0 !== t) { + const n = Math.min(t, i), + r = Math.max(t, i), + o = (0, s.w6)(n, r + 1), + a = this.list.getSelection(), + l = (function (e, t) { + const i = e.indexOf(t); + if (-1 === i) return []; + const n = []; + let r = i - 1; + for (; r >= 0 && e[r] === t - (i - r); ) n.push(e[r--]); + for ( + n.reverse(), r = i; + r < e.length && e[r] === t + (r - i); + + ) + n.push(e[r++]); + return n; + })(Y(a, [t]), t); + if (0 === l.length) return; + const c = Y( + o, + (function (e, t) { + const i = []; + let n = 0, + r = 0; + for (; n < e.length || r < t.length; ) + if (n >= e.length) i.push(t[r++]); + else if (r >= t.length) i.push(e[n++]); + else { + if (e[n] === t[r]) { + n++, r++; + continue; + } + e[n] < t[r] ? i.push(e[n++]) : r++; + } + return i; + })(a, l) + ); + this.list.setSelection(c, e.browserEvent); + } else if (this.isSelectionSingleChangeEvent(e)) { + const t = this.list.getSelection(), + n = t.filter((e) => e !== i); + this.list.setFocus([i]), + t.length === n.length + ? this.list.setSelection([...n, i], e.browserEvent) + : this.list.setSelection(n, e.browserEvent); + } + } + dispose() { + this.disposables.dispose(); + } + } + class F { + constructor(e, t) { + (this.styleElement = e), (this.selectorSuffix = t); + } + style(e) { + const t = this.selectorSuffix && `.${this.selectorSuffix}`, + i = []; + e.listBackground && + (e.listBackground.isOpaque() + ? i.push( + `.monaco-list${t} .monaco-list-rows { background: ${e.listBackground}; }` + ) + : l.dz || + console.warn( + `List with id '${this.selectorSuffix}' was styled with a non-opaque background color. This will break sub-pixel antialiasing.` + )), + e.listFocusBackground && + (i.push( + `.monaco-list${t}:focus .monaco-list-row.focused { background-color: ${e.listFocusBackground}; }` + ), + i.push( + `.monaco-list${t}:focus .monaco-list-row.focused:hover { background-color: ${e.listFocusBackground}; }` + )), + e.listFocusForeground && + i.push( + `.monaco-list${t}:focus .monaco-list-row.focused { color: ${e.listFocusForeground}; }` + ), + e.listActiveSelectionBackground && + (i.push( + `.monaco-list${t}:focus .monaco-list-row.selected { background-color: ${e.listActiveSelectionBackground}; }` + ), + i.push( + `.monaco-list${t}:focus .monaco-list-row.selected:hover { background-color: ${e.listActiveSelectionBackground}; }` + )), + e.listActiveSelectionForeground && + i.push( + `.monaco-list${t}:focus .monaco-list-row.selected { color: ${e.listActiveSelectionForeground}; }` + ), + e.listFocusAndSelectionBackground && + i.push( + `\n\t\t\t\t.monaco-drag-image,\n\t\t\t\t.monaco-list${t}:focus .monaco-list-row.selected.focused { background-color: ${e.listFocusAndSelectionBackground}; }\n\t\t\t` + ), + e.listFocusAndSelectionForeground && + i.push( + `\n\t\t\t\t.monaco-drag-image,\n\t\t\t\t.monaco-list${t}:focus .monaco-list-row.selected.focused { color: ${e.listFocusAndSelectionForeground}; }\n\t\t\t` + ), + e.listInactiveFocusBackground && + (i.push( + `.monaco-list${t} .monaco-list-row.focused { background-color: ${e.listInactiveFocusBackground}; }` + ), + i.push( + `.monaco-list${t} .monaco-list-row.focused:hover { background-color: ${e.listInactiveFocusBackground}; }` + )), + e.listInactiveSelectionBackground && + (i.push( + `.monaco-list${t} .monaco-list-row.selected { background-color: ${e.listInactiveSelectionBackground}; }` + ), + i.push( + `.monaco-list${t} .monaco-list-row.selected:hover { background-color: ${e.listInactiveSelectionBackground}; }` + )), + e.listInactiveSelectionForeground && + i.push( + `.monaco-list${t} .monaco-list-row.selected { color: ${e.listInactiveSelectionForeground}; }` + ), + e.listHoverBackground && + i.push( + `.monaco-list${t}:not(.drop-target) .monaco-list-row:hover:not(.selected):not(.focused) { background-color: ${e.listHoverBackground}; }` + ), + e.listHoverForeground && + i.push( + `.monaco-list${t} .monaco-list-row:hover:not(.selected):not(.focused) { color: ${e.listHoverForeground}; }` + ), + e.listSelectionOutline && + i.push( + `.monaco-list${t} .monaco-list-row.selected { outline: 1px dotted ${e.listSelectionOutline}; outline-offset: -1px; }` + ), + e.listFocusOutline && + i.push( + `\n\t\t\t\t.monaco-drag-image,\n\t\t\t\t.monaco-list${t}:focus .monaco-list-row.focused { outline: 1px solid ${e.listFocusOutline}; outline-offset: -1px; }\n\t\t\t` + ), + e.listInactiveFocusOutline && + i.push( + `.monaco-list${t} .monaco-list-row.focused { outline: 1px dotted ${e.listInactiveFocusOutline}; outline-offset: -1px; }` + ), + e.listHoverOutline && + i.push( + `.monaco-list${t} .monaco-list-row:hover { outline: 1px dashed ${e.listHoverOutline}; outline-offset: -1px; }` + ), + e.listDropBackground && + i.push( + `\n\t\t\t\t.monaco-list${t}.drop-target,\n\t\t\t\t.monaco-list${t} .monaco-list-rows.drop-target,\n\t\t\t\t.monaco-list${t} .monaco-list-row.drop-target { background-color: ${e.listDropBackground} !important; color: inherit !important; }\n\t\t\t` + ), + e.listFilterWidgetBackground && + i.push( + `.monaco-list-type-filter { background-color: ${e.listFilterWidgetBackground} }` + ), + e.listFilterWidgetOutline && + i.push( + `.monaco-list-type-filter { border: 1px solid ${e.listFilterWidgetOutline}; }` + ), + e.listFilterWidgetNoMatchesOutline && + i.push( + `.monaco-list-type-filter.no-matches { border: 1px solid ${e.listFilterWidgetNoMatchesOutline}; }` + ), + e.listMatchesShadow && + i.push( + `.monaco-list-type-filter { box-shadow: 1px 1px 1px ${e.listMatchesShadow}; }` + ); + const n = i.join('\n'); + n !== this.styleElement.innerHTML && + (this.styleElement.innerHTML = n); + } + } + const B = { + listFocusBackground: p.Il.fromHex('#7FB0D0'), + listActiveSelectionBackground: p.Il.fromHex('#0E639C'), + listActiveSelectionForeground: p.Il.fromHex('#FFFFFF'), + listFocusAndSelectionBackground: p.Il.fromHex('#094771'), + listFocusAndSelectionForeground: p.Il.fromHex('#FFFFFF'), + listInactiveSelectionBackground: p.Il.fromHex('#3F3F46'), + listHoverBackground: p.Il.fromHex('#2A2D2E'), + listDropBackground: p.Il.fromHex('#383B3D'), + treeIndentGuidesStroke: p.Il.fromHex('#a9a9a9'), + }, + W = { + keyboardSupport: !0, + mouseSupport: !0, + multipleSelectionSupport: !0, + dnd: { + getDragURI: () => null, + onDragStart() {}, + onDragOver: () => !1, + drop() {}, + }, + }; + function Y(e, t) { + const i = []; + let n = 0, + r = 0; + for (; n < e.length || r < t.length; ) + if (n >= e.length) i.push(t[r++]); + else if (r >= t.length) i.push(e[n++]); + else { + if (e[n] === t[r]) { + i.push(e[n]), n++, r++; + continue; + } + e[n] < t[r] ? i.push(e[n++]) : i.push(t[r++]); + } + return i; + } + const H = (e, t) => e - t; + class j { + constructor(e, t) { + (this._templateId = e), (this.renderers = t); + } + get templateId() { + return this._templateId; + } + renderTemplate(e) { + return this.renderers.map((t) => t.renderTemplate(e)); + } + renderElement(e, t, i, n) { + let r = 0; + for (const s of this.renderers) s.renderElement(e, t, i[r++], n); + } + disposeElement(e, t, i, n) { + let r = 0; + for (const s of this.renderers) + s.disposeElement && s.disposeElement(e, t, i[r], n), (r += 1); + } + disposeTemplate(e) { + let t = 0; + for (const i of this.renderers) i.disposeTemplate(e[t++]); + } + } + class V { + constructor(e) { + (this.accessibilityProvider = e), (this.templateId = 'a18n'); + } + renderTemplate(e) { + return e; + } + renderElement(e, t, i) { + const n = this.accessibilityProvider.getAriaLabel(e); + n + ? i.setAttribute('aria-label', n) + : i.removeAttribute('aria-label'); + const r = + this.accessibilityProvider.getAriaLevel && + this.accessibilityProvider.getAriaLevel(e); + 'number' == typeof r + ? i.setAttribute('aria-level', `${r}`) + : i.removeAttribute('aria-level'); + } + disposeTemplate(e) {} + } + class z { + constructor(e, t) { + (this.list = e), (this.dnd = t); + } + getDragElements(e) { + const t = this.list.getSelectedElements(); + return t.indexOf(e) > -1 ? t : [e]; + } + getDragURI(e) { + return this.dnd.getDragURI(e); + } + getDragLabel(e, t) { + if (this.dnd.getDragLabel) return this.dnd.getDragLabel(e, t); + } + onDragStart(e, t) { + this.dnd.onDragStart && this.dnd.onDragStart(e, t); + } + onDragOver(e, t, i, n) { + return this.dnd.onDragOver(e, t, i, n); + } + onDragEnd(e) { + this.dnd.onDragEnd && this.dnd.onDragEnd(e); + } + drop(e, t, i, n) { + this.dnd.drop(e, t, i, n); + } + } + class U { + constructor(e, t, i, r, s = W) { + var o; + (this.user = e), + (this._options = s), + (this.eventBufferer = new h.E7()), + (this._ariaLabel = ''), + (this.disposables = new n.SL()), + (this.didJustPressContextMenuKey = !1), + (this._onDidDispose = new h.Q5()), + (this.onDidDispose = this._onDidDispose.event); + const l = + this._options.accessibilityProvider && + this._options.accessibilityProvider.getWidgetRole + ? null === (o = this._options.accessibilityProvider) || + void 0 === o + ? void 0 + : o.getWidgetRole() + : 'list'; + (this.selection = new x('listbox' !== l)), + (this.focus = new k('focused')), + (0, m.jB)(s, B, !1); + const c = [this.focus.renderer, this.selection.renderer]; + (this.accessibilityProvider = s.accessibilityProvider), + this.accessibilityProvider && + (c.push(new V(this.accessibilityProvider)), + this.accessibilityProvider.onDidChangeActiveDescendant && + this.accessibilityProvider.onDidChangeActiveDescendant( + this.onDidChangeActiveDescendant, + this, + this.disposables + )), + (r = r.map((e) => new j(e.templateId, [...c, e]))); + const d = Object.assign(Object.assign({}, s), { + dnd: s.dnd && new z(this, s.dnd), + }); + if ( + ((this.view = new f.Bv(t, i, r, d)), + this.view.domNode.setAttribute('role', l), + s.styleController) + ) + this.styleController = s.styleController(this.view.domId); + else { + const e = a.dS(this.view.domNode); + this.styleController = new F(e, this.view.domId); + } + if ( + ((this.spliceable = new _([ + new L(this.focus, this.view, s.identityProvider), + new L(this.selection, this.view, s.identityProvider), + this.view, + ])), + this.disposables.add(this.focus), + this.disposables.add(this.selection), + this.disposables.add(this.view), + this.disposables.add(this._onDidDispose), + (this.onDidFocus = h.ju.map( + (0, u.j)(this.view.domNode, 'focus', !0), + () => null + )), + (this.onDidBlur = h.ju.map( + (0, u.j)(this.view.domNode, 'blur', !0), + () => null + )), + this.disposables.add(new I(this, this.view)), + 'boolean' != typeof s.keyboardSupport || s.keyboardSupport) + ) { + const e = new N(this, this.view, s); + this.disposables.add(e); + } + if (s.keyboardNavigationLabelProvider) { + const e = s.keyboardNavigationDelegate || E; + (this.typeLabelController = new T( + this, + this.view, + s.keyboardNavigationLabelProvider, + e + )), + this.disposables.add(this.typeLabelController); + } + (this.mouseController = this.createMouseController(s)), + this.disposables.add(this.mouseController), + this.onDidChangeFocus( + this._onFocusChange, + this, + this.disposables + ), + this.onDidChangeSelection( + this._onSelectionChange, + this, + this.disposables + ), + this.accessibilityProvider && + (this.ariaLabel = this.accessibilityProvider.getWidgetAriaLabel()), + s.multipleSelectionSupport && + this.view.domNode.setAttribute('aria-multiselectable', 'true'); + } + get onDidChangeFocus() { + return h.ju.map( + this.eventBufferer.wrapEvent(this.focus.onChange), + (e) => this.toListEvent(e) + ); + } + get onDidChangeSelection() { + return h.ju.map( + this.eventBufferer.wrapEvent(this.selection.onChange), + (e) => this.toListEvent(e) + ); + } + get domId() { + return this.view.domId; + } + get onMouseClick() { + return this.view.onMouseClick; + } + get onMouseDblClick() { + return this.view.onMouseDblClick; + } + get onMouseMiddleClick() { + return this.view.onMouseMiddleClick; + } + get onPointer() { + return this.mouseController.onPointer; + } + get onMouseDown() { + return this.view.onMouseDown; + } + get onTouchStart() { + return this.view.onTouchStart; + } + get onTap() { + return this.view.onTap; + } + get onContextMenu() { + const e = h.ju + .chain((0, u.j)(this.view.domNode, 'keydown')) + .map((e) => new d.y(e)) + .filter( + (e) => + (this.didJustPressContextMenuKey = + 58 === e.keyCode || (e.shiftKey && 68 === e.keyCode)) + ) + .filter((e) => (e.preventDefault(), e.stopPropagation(), !1)) + .event, + t = h.ju + .chain((0, u.j)(this.view.domNode, 'keyup')) + .filter(() => { + const e = this.didJustPressContextMenuKey; + return (this.didJustPressContextMenuKey = !1), e; + }) + .filter( + () => + this.getFocus().length > 0 && + !!this.view.domElement(this.getFocus()[0]) + ) + .map((e) => { + const t = this.getFocus()[0]; + return { + index: t, + element: this.view.element(t), + anchor: this.view.domElement(t), + browserEvent: e, + }; + }).event, + i = h.ju + .chain(this.view.onContextMenu) + .filter(() => !this.didJustPressContextMenuKey) + .map(({ element: e, index: t, browserEvent: i }) => ({ + element: e, + index: t, + anchor: { x: i.clientX + 1, y: i.clientY }, + browserEvent: i, + })).event; + return h.ju.any(e, t, i); + } + get onKeyDown() { + return (0, u.j)(this.view.domNode, 'keydown'); + } + createMouseController(e) { + return new P(this); + } + updateOptions(e = {}) { + (this._options = Object.assign( + Object.assign({}, this._options), + e + )), + this.typeLabelController && + this.typeLabelController.updateOptions(this._options), + this.view.updateOptions(e); + } + get options() { + return this._options; + } + splice(e, t, i = []) { + if (e < 0 || e > this.view.length) + throw new g(this.user, `Invalid start index: ${e}`); + if (t < 0) throw new g(this.user, `Invalid delete count: ${t}`); + (0 === t && 0 === i.length) || + this.eventBufferer.bufferEvents(() => + this.spliceable.splice(e, t, i) + ); + } + rerender() { + this.view.rerender(); + } + element(e) { + return this.view.element(e); + } + get length() { + return this.view.length; + } + get contentHeight() { + return this.view.contentHeight; + } + get scrollTop() { + return this.view.getScrollTop(); + } + set scrollTop(e) { + this.view.setScrollTop(e); + } + get ariaLabel() { + return this._ariaLabel; + } + set ariaLabel(e) { + (this._ariaLabel = e), + this.view.domNode.setAttribute('aria-label', e); + } + domFocus() { + this.view.domNode.focus(); + } + layout(e, t) { + this.view.layout(e, t); + } + setSelection(e, t) { + for (const t of e) + if (t < 0 || t >= this.length) + throw new g(this.user, `Invalid index ${t}`); + this.selection.set(e, t); + } + getSelection() { + return this.selection.get(); + } + getSelectedElements() { + return this.getSelection().map((e) => this.view.element(e)); + } + setFocus(e, t) { + for (const t of e) + if (t < 0 || t >= this.length) + throw new g(this.user, `Invalid index ${t}`); + this.focus.set(e, t); + } + focusNext(e = 1, t = !1, i, n) { + if (0 === this.length) return; + const r = this.focus.get(), + s = this.findNextIndex(r.length > 0 ? r[0] + e : 0, t, n); + s > -1 && this.setFocus([s], i); + } + focusPrevious(e = 1, t = !1, i, n) { + if (0 === this.length) return; + const r = this.focus.get(), + s = this.findPreviousIndex(r.length > 0 ? r[0] - e : 0, t, n); + s > -1 && this.setFocus([s], i); + } + focusNextPage(e, t) { + let i = this.view.indexAt( + this.view.getScrollTop() + this.view.renderHeight + ); + i = 0 === i ? 0 : i - 1; + const n = this.view.element(i), + r = this.getFocusedElements()[0]; + if (r !== n) { + const n = this.findPreviousIndex(i, !1, t); + n > -1 && r !== this.view.element(n) + ? this.setFocus([n], e) + : this.setFocus([i], e); + } else { + const n = this.view.getScrollTop(); + this.view.setScrollTop( + n + this.view.renderHeight - this.view.elementHeight(i) + ), + this.view.getScrollTop() !== n && + setTimeout(() => this.focusNextPage(e, t), 0); + } + } + focusPreviousPage(e, t) { + let i; + const n = this.view.getScrollTop(); + i = 0 === n ? this.view.indexAt(n) : this.view.indexAfter(n - 1); + const r = this.view.element(i), + s = this.getFocusedElements()[0]; + if (s !== r) { + const n = this.findNextIndex(i, !1, t); + n > -1 && s !== this.view.element(n) + ? this.setFocus([n], e) + : this.setFocus([i], e); + } else { + const i = n; + this.view.setScrollTop(n - this.view.renderHeight), + this.view.getScrollTop() !== i && + setTimeout(() => this.focusPreviousPage(e, t), 0); + } + } + focusLast(e, t) { + if (0 === this.length) return; + const i = this.findPreviousIndex(this.length - 1, !1, t); + i > -1 && this.setFocus([i], e); + } + focusFirst(e, t) { + this.focusNth(0, e, t); + } + focusNth(e, t, i) { + if (0 === this.length) return; + const n = this.findNextIndex(e, !1, i); + n > -1 && this.setFocus([n], t); + } + findNextIndex(e, t = !1, i) { + for (let n = 0; n < this.length; n++) { + if (e >= this.length && !t) return -1; + if (((e %= this.length), !i || i(this.element(e)))) return e; + e++; + } + return -1; + } + findPreviousIndex(e, t = !1, i) { + for (let n = 0; n < this.length; n++) { + if (e < 0 && !t) return -1; + if ( + ((e = (this.length + (e % this.length)) % this.length), + !i || i(this.element(e))) + ) + return e; + e--; + } + return -1; + } + getFocus() { + return this.focus.get(); + } + getFocusedElements() { + return this.getFocus().map((e) => this.view.element(e)); + } + reveal(e, t) { + if (e < 0 || e >= this.length) + throw new g(this.user, `Invalid index ${e}`); + const i = this.view.getScrollTop(), + n = this.view.elementTop(e), + s = this.view.elementHeight(e); + if ((0, r.hj)(t)) { + const e = s - this.view.renderHeight; + this.view.setScrollTop(e * (0, v.u)(t, 0, 1) + n); + } else { + const e = n + s, + t = i + this.view.renderHeight; + (n < i && e >= t) || + (n < i + ? this.view.setScrollTop(n) + : e >= t && + this.view.setScrollTop(e - this.view.renderHeight)); + } + } + getRelativeTop(e) { + if (e < 0 || e >= this.length) + throw new g(this.user, `Invalid index ${e}`); + const t = this.view.getScrollTop(), + i = this.view.elementTop(e), + n = this.view.elementHeight(e); + if (i < t || i + n > t + this.view.renderHeight) return null; + const r = n - this.view.renderHeight; + return Math.abs((t - i) / r); + } + getHTMLElement() { + return this.view.domNode; + } + style(e) { + this.styleController.style(e); + } + toListEvent({ indexes: e, browserEvent: t }) { + return { + indexes: e, + elements: e.map((e) => this.view.element(e)), + browserEvent: t, + }; + } + _onFocusChange() { + const e = this.focus.get(); + a.og(this.view.domNode, 'element-focused', e.length > 0), + this.onDidChangeActiveDescendant(); + } + onDidChangeActiveDescendant() { + var e; + const t = this.focus.get(); + if (t.length > 0) { + let i; + (null === (e = this.accessibilityProvider) || void 0 === e + ? void 0 + : e.getActiveDescendantId) && + (i = this.accessibilityProvider.getActiveDescendantId( + this.view.element(t[0]) + )), + this.view.domNode.setAttribute( + 'aria-activedescendant', + i || this.view.getElementDomId(t[0]) + ); + } else this.view.domNode.removeAttribute('aria-activedescendant'); + } + _onSelectionChange() { + const e = this.selection.get(); + a.og(this.view.domNode, 'selection-none', 0 === e.length), + a.og(this.view.domNode, 'selection-single', 1 === e.length), + a.og(this.view.domNode, 'selection-multiple', e.length > 1); + } + dispose() { + this._onDidDispose.fire(), + this.disposables.dispose(), + this._onDidDispose.dispose(); + } + } + C([o.H], U.prototype, 'onDidChangeFocus', null), + C([o.H], U.prototype, 'onDidChangeSelection', null), + C([o.H], U.prototype, 'onContextMenu', null); + }, + 96542: (e, t, i) => { + 'use strict'; + i.d(t, { S: () => n }); + const n = 'monaco-mouse-cursor-text'; + }, + 73098: (e, t, i) => { + 'use strict'; + i.d(t, { g: () => u }); + var n = i(5976), + r = i(1432), + s = i(98401), + o = i(10553), + a = i(23938), + l = i(4669), + c = i(65321), + d = i(4850); + const h = new l.Q5(); + class u extends n.JT { + constructor(e, t, i) { + super(), + (this._state = 3), + (this._onDidEnablementChange = this._register(new l.Q5())), + (this.onDidEnablementChange = this._onDidEnablementChange.event), + (this._onDidStart = this._register(new l.Q5())), + (this.onDidStart = this._onDidStart.event), + (this._onDidChange = this._register(new l.Q5())), + (this.onDidChange = this._onDidChange.event), + (this._onDidReset = this._register(new l.Q5())), + (this.onDidReset = this._onDidReset.event), + (this._onDidEnd = this._register(new l.Q5())), + (this.onDidEnd = this._onDidEnd.event), + (this.linkedSash = void 0), + (this.orthogonalStartSashDisposables = this._register( + new n.SL() + )), + (this.orthogonalEndSashDisposables = this._register(new n.SL())), + (this.el = (0, c.R3)(e, (0, c.$)('.monaco-sash'))), + r.dz && (0, c.cn)(this.el, 'mac'), + this._register( + (0, d.j)(this.el, 'mousedown')(this.onMouseDown, this) + ), + this._register( + (0, d.j)(this.el, 'dblclick')(this.onMouseDoubleClick, this) + ), + this._register(o.o.addTarget(this.el)), + this._register( + (0, d.j)(this.el, o.t.Start)(this.onTouchStart, this) + ), + 'number' == typeof i.size + ? ((this.size = i.size), + 0 === i.orientation + ? (this.el.style.width = `${this.size}px`) + : (this.el.style.height = `${this.size}px`)) + : ((this.size = 4), + this._register( + h.event((e) => { + (this.size = e), this.layout(); + }) + )), + (this.hidden = !1), + (this.layoutProvider = t), + (this.orthogonalStartSash = i.orthogonalStartSash), + (this.orthogonalEndSash = i.orthogonalEndSash), + (this.orientation = i.orientation || 0), + 1 === this.orientation + ? ((0, c.cn)(this.el, 'horizontal'), + (0, c.IV)(this.el, 'vertical')) + : ((0, c.IV)(this.el, 'horizontal'), + (0, c.cn)(this.el, 'vertical')), + (0, c.og)(this.el, 'debug', !1), + this.layout(); + } + get state() { + return this._state; + } + set state(e) { + this._state !== e && + ((0, c.og)(this.el, 'disabled', 0 === e), + (0, c.og)(this.el, 'minimum', 1 === e), + (0, c.og)(this.el, 'maximum', 2 === e), + (this._state = e), + this._onDidEnablementChange.fire(e)); + } + get orthogonalStartSash() { + return this._orthogonalStartSash; + } + set orthogonalStartSash(e) { + this.orthogonalStartSashDisposables.clear(), + e + ? (this.orthogonalStartSashDisposables.add( + e.onDidEnablementChange( + this.onOrthogonalStartSashEnablementChange, + this + ) + ), + this.onOrthogonalStartSashEnablementChange(e.state)) + : this.onOrthogonalStartSashEnablementChange(0), + (this._orthogonalStartSash = e); + } + get orthogonalEndSash() { + return this._orthogonalEndSash; + } + set orthogonalEndSash(e) { + this.orthogonalEndSashDisposables.clear(), + e + ? (this.orthogonalEndSashDisposables.add( + e.onDidEnablementChange( + this.onOrthogonalEndSashEnablementChange, + this + ) + ), + this.onOrthogonalEndSashEnablementChange(e.state)) + : this.onOrthogonalEndSashEnablementChange(0), + (this._orthogonalEndSash = e); + } + onMouseDown(e) { + c.zB.stop(e, !1); + let t = !1; + if (!e.__orthogonalSashEvent) { + const i = this.getOrthogonalSash(e); + i && ((t = !0), (e.__orthogonalSashEvent = !0), i.onMouseDown(e)); + } + if ( + (this.linkedSash && + !e.__linkedSashEvent && + ((e.__linkedSashEvent = !0), this.linkedSash.onMouseDown(e)), + !this.state) + ) + return; + const i = [...(0, c.H$)('iframe'), ...(0, c.H$)('webview')]; + for (const e of i) e.style.pointerEvents = 'none'; + const s = new a.n(e), + o = s.posx, + l = s.posy, + h = s.altKey, + u = { startX: o, currentX: o, startY: l, currentY: l, altKey: h }; + (0, c.cn)(this.el, 'active'), this._onDidStart.fire(u); + const g = (0, c.dS)(this.el), + f = () => { + let e = ''; + (e = t + ? 'all-scroll' + : 1 === this.orientation + ? 1 === this.state + ? 's-resize' + : 2 === this.state + ? 'n-resize' + : r.dz + ? 'row-resize' + : 'ns-resize' + : 1 === this.state + ? 'e-resize' + : 2 === this.state + ? 'w-resize' + : r.dz + ? 'col-resize' + : 'ew-resize'), + (g.innerHTML = `* { cursor: ${e} !important; }`); + }, + p = new n.SL(); + f(), + t || this.onDidEnablementChange(f, null, p), + (0, d.j)(window, 'mousemove')( + (e) => { + c.zB.stop(e, !1); + const t = new a.n(e), + i = { + startX: o, + currentX: t.posx, + startY: l, + currentY: t.posy, + altKey: h, + }; + this._onDidChange.fire(i); + }, + null, + p + ), + (0, d.j)(window, 'mouseup')( + (e) => { + c.zB.stop(e, !1), + this.el.removeChild(g), + (0, c.IV)(this.el, 'active'), + this._onDidEnd.fire(), + p.dispose(); + for (const e of i) e.style.pointerEvents = 'auto'; + }, + null, + p + ); + } + onMouseDoubleClick(e) { + const t = this.getOrthogonalSash(e); + t && t._onDidReset.fire(), + this.linkedSash && this.linkedSash._onDidReset.fire(), + this._onDidReset.fire(); + } + onTouchStart(e) { + c.zB.stop(e); + const t = [], + i = e.pageX, + r = e.pageY, + a = e.altKey; + this._onDidStart.fire({ + startX: i, + currentX: i, + startY: r, + currentY: r, + altKey: a, + }), + t.push( + (0, c.nm)(this.el, o.t.Change, (e) => { + s.hj(e.pageX) && + s.hj(e.pageY) && + this._onDidChange.fire({ + startX: i, + currentX: e.pageX, + startY: r, + currentY: e.pageY, + altKey: a, + }); + }) + ), + t.push( + (0, c.nm)(this.el, o.t.End, (e) => { + this._onDidEnd.fire(), (0, n.B9)(t); + }) + ); + } + layout() { + if (0 === this.orientation) { + const e = this.layoutProvider; + (this.el.style.left = + e.getVerticalSashLeft(this) - this.size / 2 + 'px'), + e.getVerticalSashTop && + (this.el.style.top = e.getVerticalSashTop(this) + 'px'), + e.getVerticalSashHeight && + (this.el.style.height = e.getVerticalSashHeight(this) + 'px'); + } else { + const e = this.layoutProvider; + (this.el.style.top = + e.getHorizontalSashTop(this) - this.size / 2 + 'px'), + e.getHorizontalSashLeft && + (this.el.style.left = e.getHorizontalSashLeft(this) + 'px'), + e.getHorizontalSashWidth && + (this.el.style.width = e.getHorizontalSashWidth(this) + 'px'); + } + } + hide() { + (this.hidden = !0), + (this.el.style.display = 'none'), + this.el.setAttribute('aria-hidden', 'true'); + } + onOrthogonalStartSashEnablementChange(e) { + (0, c.og)(this.el, 'orthogonal-start', 0 !== e); + } + onOrthogonalEndSashEnablementChange(e) { + (0, c.og)(this.el, 'orthogonal-end', 0 !== e); + } + getOrthogonalSash(e) { + if (0 === this.orientation) { + if (e.offsetY <= this.size) return this.orthogonalStartSash; + if (e.offsetY >= this.el.clientHeight - this.size) + return this.orthogonalEndSash; + } else { + if (e.offsetX <= this.size) return this.orthogonalStartSash; + if (e.offsetX >= this.el.clientWidth - this.size) + return this.orthogonalEndSash; + } + } + dispose() { + super.dispose(), this.el.remove(); + } + } + }, + 9802: (e, t, i) => { + 'use strict'; + i.d(t, { s$: () => E, NB: () => D, $Z: () => N }); + var n = i(65321), + r = i(38626), + s = i(23938), + o = i(57974), + a = i(93794), + l = i(15393); + class c extends a.$ { + constructor(e) { + super(), + (this._onActivate = e.onActivate), + (this.bgDomNode = document.createElement('div')), + (this.bgDomNode.className = 'arrow-background'), + (this.bgDomNode.style.position = 'absolute'), + (this.bgDomNode.style.width = e.bgWidth + 'px'), + (this.bgDomNode.style.height = e.bgHeight + 'px'), + void 0 !== e.top && (this.bgDomNode.style.top = '0px'), + void 0 !== e.left && (this.bgDomNode.style.left = '0px'), + void 0 !== e.bottom && (this.bgDomNode.style.bottom = '0px'), + void 0 !== e.right && (this.bgDomNode.style.right = '0px'), + (this.domNode = document.createElement('div')), + (this.domNode.className = e.className), + (0, n.PT)(this.domNode, e.icon.classNames), + (this.domNode.style.position = 'absolute'), + (this.domNode.style.width = '11px'), + (this.domNode.style.height = '11px'), + void 0 !== e.top && (this.domNode.style.top = e.top + 'px'), + void 0 !== e.left && (this.domNode.style.left = e.left + 'px'), + void 0 !== e.bottom && + (this.domNode.style.bottom = e.bottom + 'px'), + void 0 !== e.right && (this.domNode.style.right = e.right + 'px'), + (this._mouseMoveMonitor = this._register(new o.Z())), + this.onmousedown(this.bgDomNode, (e) => this._arrowMouseDown(e)), + this.onmousedown(this.domNode, (e) => this._arrowMouseDown(e)), + (this._mousedownRepeatTimer = this._register(new l.zh())), + (this._mousedownScheduleRepeatTimer = this._register(new l._F())); + } + _arrowMouseDown(e) { + this._onActivate(), + this._mousedownRepeatTimer.cancel(), + this._mousedownScheduleRepeatTimer.cancelAndSet(() => { + this._mousedownRepeatTimer.cancelAndSet( + () => this._onActivate(), + 1e3 / 24 + ); + }, 200), + this._mouseMoveMonitor.startMonitoring( + e.target, + e.buttons, + o.e, + (e) => {}, + () => { + this._mousedownRepeatTimer.cancel(), + this._mousedownScheduleRepeatTimer.cancel(); + } + ), + e.preventDefault(); + } + } + var d = i(5976); + class h extends d.JT { + constructor(e, t, i) { + super(), + (this._visibility = e), + (this._visibleClassName = t), + (this._invisibleClassName = i), + (this._domNode = null), + (this._isVisible = !1), + (this._isNeeded = !1), + (this._shouldBeVisible = !1), + (this._revealTimer = this._register(new l._F())); + } + applyVisibilitySetting(e) { + return 2 !== this._visibility && (3 === this._visibility || e); + } + setShouldBeVisible(e) { + let t = this.applyVisibilitySetting(e); + this._shouldBeVisible !== t && + ((this._shouldBeVisible = t), this.ensureVisibility()); + } + setIsNeeded(e) { + this._isNeeded !== e && + ((this._isNeeded = e), this.ensureVisibility()); + } + setDomNode(e) { + (this._domNode = e), + this._domNode.setClassName(this._invisibleClassName), + this.setShouldBeVisible(!1); + } + ensureVisibility() { + this._isNeeded + ? this._shouldBeVisible + ? this._reveal() + : this._hide(!0) + : this._hide(!1); + } + _reveal() { + this._isVisible || + ((this._isVisible = !0), + this._revealTimer.setIfNotSet(() => { + this._domNode && + this._domNode.setClassName(this._visibleClassName); + }, 0)); + } + _hide(e) { + this._revealTimer.cancel(), + this._isVisible && + ((this._isVisible = !1), + this._domNode && + this._domNode.setClassName( + this._invisibleClassName + (e ? ' fade' : '') + )); + } + } + var u = i(1432); + class g extends a.$ { + constructor(e) { + super(), + (this._lazyRender = e.lazyRender), + (this._host = e.host), + (this._scrollable = e.scrollable), + (this._scrollbarState = e.scrollbarState), + (this._visibilityController = this._register( + new h( + e.visibility, + 'visible scrollbar ' + e.extraScrollbarClassName, + 'invisible scrollbar ' + e.extraScrollbarClassName + ) + )), + this._visibilityController.setIsNeeded( + this._scrollbarState.isNeeded() + ), + (this._mouseMoveMonitor = this._register(new o.Z())), + (this._shouldRender = !0), + (this.domNode = (0, r.X)(document.createElement('div'))), + this.domNode.setAttribute('role', 'presentation'), + this.domNode.setAttribute('aria-hidden', 'true'), + this._visibilityController.setDomNode(this.domNode), + this.domNode.setPosition('absolute'), + this.onmousedown(this.domNode.domNode, (e) => + this._domNodeMouseDown(e) + ); + } + _createArrow(e) { + let t = this._register(new c(e)); + this.domNode.domNode.appendChild(t.bgDomNode), + this.domNode.domNode.appendChild(t.domNode); + } + _createSlider(e, t, i, n) { + (this.slider = (0, r.X)(document.createElement('div'))), + this.slider.setClassName('slider'), + this.slider.setPosition('absolute'), + this.slider.setTop(e), + this.slider.setLeft(t), + 'number' == typeof i && this.slider.setWidth(i), + 'number' == typeof n && this.slider.setHeight(n), + this.slider.setLayerHinting(!0), + this.slider.setContain('strict'), + this.domNode.domNode.appendChild(this.slider.domNode), + this.onmousedown(this.slider.domNode, (e) => { + e.leftButton && + (e.preventDefault(), this._sliderMouseDown(e, () => {})); + }), + this.onclick(this.slider.domNode, (e) => { + e.leftButton && e.stopPropagation(); + }); + } + _onElementSize(e) { + return ( + this._scrollbarState.setVisibleSize(e) && + (this._visibilityController.setIsNeeded( + this._scrollbarState.isNeeded() + ), + (this._shouldRender = !0), + this._lazyRender || this.render()), + this._shouldRender + ); + } + _onElementScrollSize(e) { + return ( + this._scrollbarState.setScrollSize(e) && + (this._visibilityController.setIsNeeded( + this._scrollbarState.isNeeded() + ), + (this._shouldRender = !0), + this._lazyRender || this.render()), + this._shouldRender + ); + } + _onElementScrollPosition(e) { + return ( + this._scrollbarState.setScrollPosition(e) && + (this._visibilityController.setIsNeeded( + this._scrollbarState.isNeeded() + ), + (this._shouldRender = !0), + this._lazyRender || this.render()), + this._shouldRender + ); + } + beginReveal() { + this._visibilityController.setShouldBeVisible(!0); + } + beginHide() { + this._visibilityController.setShouldBeVisible(!1); + } + render() { + this._shouldRender && + ((this._shouldRender = !1), + this._renderDomNode( + this._scrollbarState.getRectangleLargeSize(), + this._scrollbarState.getRectangleSmallSize() + ), + this._updateSlider( + this._scrollbarState.getSliderSize(), + this._scrollbarState.getArrowSize() + + this._scrollbarState.getSliderPosition() + )); + } + _domNodeMouseDown(e) { + e.target === this.domNode.domNode && this._onMouseDown(e); + } + delegateMouseDown(e) { + let t = this.domNode.domNode.getClientRects()[0].top, + i = t + this._scrollbarState.getSliderPosition(), + n = + t + + this._scrollbarState.getSliderPosition() + + this._scrollbarState.getSliderSize(), + r = this._sliderMousePosition(e); + i <= r && r <= n + ? e.leftButton && + (e.preventDefault(), this._sliderMouseDown(e, () => {})) + : this._onMouseDown(e); + } + _onMouseDown(e) { + let t, i; + if ( + e.target === this.domNode.domNode && + 'number' == typeof e.browserEvent.offsetX && + 'number' == typeof e.browserEvent.offsetY + ) + (t = e.browserEvent.offsetX), (i = e.browserEvent.offsetY); + else { + const r = n.i(this.domNode.domNode); + (t = e.posx - r.left), (i = e.posy - r.top); + } + this._setDesiredScrollPositionNow( + this._scrollbarState.getDesiredScrollPositionFromOffset( + this._mouseDownRelativePosition(t, i) + ) + ), + e.leftButton && + (e.preventDefault(), this._sliderMouseDown(e, () => {})); + } + _sliderMouseDown(e, t) { + const i = this._sliderMousePosition(e), + n = this._sliderOrthogonalMousePosition(e), + r = this._scrollbarState.clone(); + this.slider.toggleClassName('active', !0), + this._mouseMoveMonitor.startMonitoring( + e.target, + e.buttons, + o.e, + (e) => { + const t = this._sliderOrthogonalMousePosition(e), + s = Math.abs(t - n); + if (u.ED && s > 140) + return void this._setDesiredScrollPositionNow( + r.getScrollPosition() + ); + const o = this._sliderMousePosition(e) - i; + this._setDesiredScrollPositionNow( + r.getDesiredScrollPositionFromDelta(o) + ); + }, + () => { + this.slider.toggleClassName('active', !1), + this._host.onDragEnd(), + t(); + } + ), + this._host.onDragStart(); + } + _setDesiredScrollPositionNow(e) { + let t = {}; + this.writeScrollPosition(t, e), + this._scrollable.setScrollPositionNow(t); + } + updateScrollbarSize(e) { + this._updateScrollbarSize(e), + this._scrollbarState.setScrollbarSize(e), + (this._shouldRender = !0), + this._lazyRender || this.render(); + } + } + class f { + constructor(e, t, i, n, r, s) { + (this._scrollbarSize = Math.round(t)), + (this._oppositeScrollbarSize = Math.round(i)), + (this._arrowSize = Math.round(e)), + (this._visibleSize = n), + (this._scrollSize = r), + (this._scrollPosition = s), + (this._computedAvailableSize = 0), + (this._computedIsNeeded = !1), + (this._computedSliderSize = 0), + (this._computedSliderRatio = 0), + (this._computedSliderPosition = 0), + this._refreshComputedValues(); + } + clone() { + return new f( + this._arrowSize, + this._scrollbarSize, + this._oppositeScrollbarSize, + this._visibleSize, + this._scrollSize, + this._scrollPosition + ); + } + setVisibleSize(e) { + let t = Math.round(e); + return ( + this._visibleSize !== t && + ((this._visibleSize = t), this._refreshComputedValues(), !0) + ); + } + setScrollSize(e) { + let t = Math.round(e); + return ( + this._scrollSize !== t && + ((this._scrollSize = t), this._refreshComputedValues(), !0) + ); + } + setScrollPosition(e) { + let t = Math.round(e); + return ( + this._scrollPosition !== t && + ((this._scrollPosition = t), this._refreshComputedValues(), !0) + ); + } + setScrollbarSize(e) { + this._scrollbarSize = e; + } + static _computeValues(e, t, i, n, r) { + const s = Math.max(0, i - e), + o = Math.max(0, s - 2 * t), + a = n > 0 && n > i; + if (!a) + return { + computedAvailableSize: Math.round(s), + computedIsNeeded: a, + computedSliderSize: Math.round(o), + computedSliderRatio: 0, + computedSliderPosition: 0, + }; + const l = Math.round(Math.max(20, Math.floor((i * o) / n))), + c = (o - l) / (n - i), + d = r * c; + return { + computedAvailableSize: Math.round(s), + computedIsNeeded: a, + computedSliderSize: Math.round(l), + computedSliderRatio: c, + computedSliderPosition: Math.round(d), + }; + } + _refreshComputedValues() { + const e = f._computeValues( + this._oppositeScrollbarSize, + this._arrowSize, + this._visibleSize, + this._scrollSize, + this._scrollPosition + ); + (this._computedAvailableSize = e.computedAvailableSize), + (this._computedIsNeeded = e.computedIsNeeded), + (this._computedSliderSize = e.computedSliderSize), + (this._computedSliderRatio = e.computedSliderRatio), + (this._computedSliderPosition = e.computedSliderPosition); + } + getArrowSize() { + return this._arrowSize; + } + getScrollPosition() { + return this._scrollPosition; + } + getRectangleLargeSize() { + return this._computedAvailableSize; + } + getRectangleSmallSize() { + return this._scrollbarSize; + } + isNeeded() { + return this._computedIsNeeded; + } + getSliderSize() { + return this._computedSliderSize; + } + getSliderPosition() { + return this._computedSliderPosition; + } + getDesiredScrollPositionFromOffset(e) { + if (!this._computedIsNeeded) return 0; + let t = e - this._arrowSize - this._computedSliderSize / 2; + return Math.round(t / this._computedSliderRatio); + } + getDesiredScrollPositionFromDelta(e) { + if (!this._computedIsNeeded) return 0; + let t = this._computedSliderPosition + e; + return Math.round(t / this._computedSliderRatio); + } + } + var p = i(73046); + const m = (0, p.q5)('scrollbar-button-left', p.lA.triangleLeft), + _ = (0, p.q5)('scrollbar-button-right', p.lA.triangleRight); + class b extends g { + constructor(e, t, i) { + const n = e.getScrollDimensions(), + r = e.getCurrentScrollPosition(); + if ( + (super({ + lazyRender: t.lazyRender, + host: i, + scrollbarState: new f( + t.horizontalHasArrows ? t.arrowSize : 0, + 2 === t.horizontal ? 0 : t.horizontalScrollbarSize, + 2 === t.vertical ? 0 : t.verticalScrollbarSize, + n.width, + n.scrollWidth, + r.scrollLeft + ), + visibility: t.horizontal, + extraScrollbarClassName: 'horizontal', + scrollable: e, + }), + t.horizontalHasArrows) + ) { + let e = (t.arrowSize - 11) / 2, + i = (t.horizontalScrollbarSize - 11) / 2; + this._createArrow({ + className: 'scra', + icon: m, + top: i, + left: e, + bottom: void 0, + right: void 0, + bgWidth: t.arrowSize, + bgHeight: t.horizontalScrollbarSize, + onActivate: () => this._host.onMouseWheel(new s.q(null, 1, 0)), + }), + this._createArrow({ + className: 'scra', + icon: _, + top: i, + left: void 0, + bottom: void 0, + right: e, + bgWidth: t.arrowSize, + bgHeight: t.horizontalScrollbarSize, + onActivate: () => + this._host.onMouseWheel(new s.q(null, -1, 0)), + }); + } + this._createSlider( + Math.floor( + (t.horizontalScrollbarSize - t.horizontalSliderSize) / 2 + ), + 0, + void 0, + t.horizontalSliderSize + ); + } + _updateSlider(e, t) { + this.slider.setWidth(e), this.slider.setLeft(t); + } + _renderDomNode(e, t) { + this.domNode.setWidth(e), + this.domNode.setHeight(t), + this.domNode.setLeft(0), + this.domNode.setBottom(0); + } + onDidScroll(e) { + return ( + (this._shouldRender = + this._onElementScrollSize(e.scrollWidth) || this._shouldRender), + (this._shouldRender = + this._onElementScrollPosition(e.scrollLeft) || + this._shouldRender), + (this._shouldRender = + this._onElementSize(e.width) || this._shouldRender), + this._shouldRender + ); + } + _mouseDownRelativePosition(e, t) { + return e; + } + _sliderMousePosition(e) { + return e.posx; + } + _sliderOrthogonalMousePosition(e) { + return e.posy; + } + _updateScrollbarSize(e) { + this.slider.setHeight(e); + } + writeScrollPosition(e, t) { + e.scrollLeft = t; + } + } + const v = (0, p.q5)('scrollbar-button-up', p.lA.triangleUp), + y = (0, p.q5)('scrollbar-button-down', p.lA.triangleDown); + class w extends g { + constructor(e, t, i) { + const n = e.getScrollDimensions(), + r = e.getCurrentScrollPosition(); + if ( + (super({ + lazyRender: t.lazyRender, + host: i, + scrollbarState: new f( + t.verticalHasArrows ? t.arrowSize : 0, + 2 === t.vertical ? 0 : t.verticalScrollbarSize, + 0, + n.height, + n.scrollHeight, + r.scrollTop + ), + visibility: t.vertical, + extraScrollbarClassName: 'vertical', + scrollable: e, + }), + t.verticalHasArrows) + ) { + let e = (t.arrowSize - 11) / 2, + i = (t.verticalScrollbarSize - 11) / 2; + this._createArrow({ + className: 'scra', + icon: v, + top: e, + left: i, + bottom: void 0, + right: void 0, + bgWidth: t.verticalScrollbarSize, + bgHeight: t.arrowSize, + onActivate: () => this._host.onMouseWheel(new s.q(null, 0, 1)), + }), + this._createArrow({ + className: 'scra', + icon: y, + top: void 0, + left: i, + bottom: e, + right: void 0, + bgWidth: t.verticalScrollbarSize, + bgHeight: t.arrowSize, + onActivate: () => + this._host.onMouseWheel(new s.q(null, 0, -1)), + }); + } + this._createSlider( + 0, + Math.floor((t.verticalScrollbarSize - t.verticalSliderSize) / 2), + t.verticalSliderSize, + void 0 + ); + } + _updateSlider(e, t) { + this.slider.setHeight(e), this.slider.setTop(t); + } + _renderDomNode(e, t) { + this.domNode.setWidth(t), + this.domNode.setHeight(e), + this.domNode.setRight(0), + this.domNode.setTop(0); + } + onDidScroll(e) { + return ( + (this._shouldRender = + this._onElementScrollSize(e.scrollHeight) || + this._shouldRender), + (this._shouldRender = + this._onElementScrollPosition(e.scrollTop) || + this._shouldRender), + (this._shouldRender = + this._onElementSize(e.height) || this._shouldRender), + this._shouldRender + ); + } + _mouseDownRelativePosition(e, t) { + return t; + } + _sliderMousePosition(e) { + return e.posy; + } + _sliderOrthogonalMousePosition(e) { + return e.posx; + } + _updateScrollbarSize(e) { + this.slider.setWidth(e); + } + writeScrollPosition(e, t) { + e.scrollTop = t; + } + } + var C = i(4669), + S = i(76633), + k = i(16268); + class x { + constructor(e, t, i) { + (this.timestamp = e), + (this.deltaX = t), + (this.deltaY = i), + (this.score = 0); + } + } + class L { + constructor() { + (this._capacity = 5), + (this._memory = []), + (this._front = -1), + (this._rear = -1); + } + isPhysicalMouseWheel() { + if (-1 === this._front && -1 === this._rear) return !1; + let e = 1, + t = 0, + i = 1, + n = this._rear; + for (;;) { + const r = n === this._front ? e : Math.pow(2, -i); + if ( + ((e -= r), (t += this._memory[n].score * r), n === this._front) + ) + break; + (n = (this._capacity + n - 1) % this._capacity), i++; + } + return t <= 0.5; + } + accept(e, t, i) { + const n = new x(e, t, i); + (n.score = this._computeScore(n)), + -1 === this._front && -1 === this._rear + ? ((this._memory[0] = n), (this._front = 0), (this._rear = 0)) + : ((this._rear = (this._rear + 1) % this._capacity), + this._rear === this._front && + (this._front = (this._front + 1) % this._capacity), + (this._memory[this._rear] = n)); + } + _computeScore(e) { + if (Math.abs(e.deltaX) > 0 && Math.abs(e.deltaY) > 0) return 1; + let t = 0.5; + return ( + (-1 === this._front && -1 === this._rear) || + this._memory[this._rear], + (this._isAlmostInt(e.deltaX) && this._isAlmostInt(e.deltaY)) || + (t += 0.25), + Math.min(Math.max(t, 0), 1) + ); + } + _isAlmostInt(e) { + return Math.abs(Math.round(e) - e) < 0.01; + } + } + L.INSTANCE = new L(); + class M extends a.$ { + constructor(e, t, i) { + super(), + (this._onScroll = this._register(new C.Q5())), + (this.onScroll = this._onScroll.event), + (this._onWillScroll = this._register(new C.Q5())), + (e.style.overflow = 'hidden'), + (this._options = (function (e) { + let t = { + lazyRender: void 0 !== e.lazyRender && e.lazyRender, + className: void 0 !== e.className ? e.className : '', + useShadows: void 0 === e.useShadows || e.useShadows, + handleMouseWheel: + void 0 === e.handleMouseWheel || e.handleMouseWheel, + flipAxes: void 0 !== e.flipAxes && e.flipAxes, + alwaysConsumeMouseWheel: + void 0 !== e.alwaysConsumeMouseWheel && + e.alwaysConsumeMouseWheel, + scrollYToX: void 0 !== e.scrollYToX && e.scrollYToX, + mouseWheelScrollSensitivity: + void 0 !== e.mouseWheelScrollSensitivity + ? e.mouseWheelScrollSensitivity + : 1, + fastScrollSensitivity: + void 0 !== e.fastScrollSensitivity + ? e.fastScrollSensitivity + : 5, + scrollPredominantAxis: + void 0 === e.scrollPredominantAxis || + e.scrollPredominantAxis, + mouseWheelSmoothScroll: + void 0 === e.mouseWheelSmoothScroll || + e.mouseWheelSmoothScroll, + arrowSize: void 0 !== e.arrowSize ? e.arrowSize : 11, + listenOnDomNode: + void 0 !== e.listenOnDomNode ? e.listenOnDomNode : null, + horizontal: void 0 !== e.horizontal ? e.horizontal : 1, + horizontalScrollbarSize: + void 0 !== e.horizontalScrollbarSize + ? e.horizontalScrollbarSize + : 10, + horizontalSliderSize: + void 0 !== e.horizontalSliderSize + ? e.horizontalSliderSize + : 0, + horizontalHasArrows: + void 0 !== e.horizontalHasArrows && e.horizontalHasArrows, + vertical: void 0 !== e.vertical ? e.vertical : 1, + verticalScrollbarSize: + void 0 !== e.verticalScrollbarSize + ? e.verticalScrollbarSize + : 10, + verticalHasArrows: + void 0 !== e.verticalHasArrows && e.verticalHasArrows, + verticalSliderSize: + void 0 !== e.verticalSliderSize ? e.verticalSliderSize : 0, + }; + return ( + (t.horizontalSliderSize = + void 0 !== e.horizontalSliderSize + ? e.horizontalSliderSize + : t.horizontalScrollbarSize), + (t.verticalSliderSize = + void 0 !== e.verticalSliderSize + ? e.verticalSliderSize + : t.verticalScrollbarSize), + u.dz && (t.className += ' mac'), + t + ); + })(t)), + (this._scrollable = i), + this._register( + this._scrollable.onScroll((e) => { + this._onWillScroll.fire(e), + this._onDidScroll(e), + this._onScroll.fire(e); + }) + ); + let n = { + onMouseWheel: (e) => this._onMouseWheel(e), + onDragStart: () => this._onDragStart(), + onDragEnd: () => this._onDragEnd(), + }; + (this._verticalScrollbar = this._register( + new w(this._scrollable, this._options, n) + )), + (this._horizontalScrollbar = this._register( + new b(this._scrollable, this._options, n) + )), + (this._domNode = document.createElement('div')), + (this._domNode.className = + 'monaco-scrollable-element ' + this._options.className), + this._domNode.setAttribute('role', 'presentation'), + (this._domNode.style.position = 'relative'), + (this._domNode.style.overflow = 'hidden'), + this._domNode.appendChild(e), + this._domNode.appendChild( + this._horizontalScrollbar.domNode.domNode + ), + this._domNode.appendChild( + this._verticalScrollbar.domNode.domNode + ), + this._options.useShadows + ? ((this._leftShadowDomNode = (0, r.X)( + document.createElement('div') + )), + this._leftShadowDomNode.setClassName('shadow'), + this._domNode.appendChild(this._leftShadowDomNode.domNode), + (this._topShadowDomNode = (0, r.X)( + document.createElement('div') + )), + this._topShadowDomNode.setClassName('shadow'), + this._domNode.appendChild(this._topShadowDomNode.domNode), + (this._topLeftShadowDomNode = (0, r.X)( + document.createElement('div') + )), + this._topLeftShadowDomNode.setClassName( + 'shadow top-left-corner' + ), + this._domNode.appendChild(this._topLeftShadowDomNode.domNode)) + : ((this._leftShadowDomNode = null), + (this._topShadowDomNode = null), + (this._topLeftShadowDomNode = null)), + (this._listenOnDomNode = + this._options.listenOnDomNode || this._domNode), + (this._mouseWheelToDispose = []), + this._setListeningToMouseWheel(this._options.handleMouseWheel), + this.onmouseover(this._listenOnDomNode, (e) => + this._onMouseOver(e) + ), + this.onnonbubblingmouseout(this._listenOnDomNode, (e) => + this._onMouseOut(e) + ), + (this._hideTimeout = this._register(new l._F())), + (this._isDragging = !1), + (this._mouseIsOver = !1), + (this._shouldRender = !0), + (this._revealOnScroll = !0); + } + dispose() { + (this._mouseWheelToDispose = (0, d.B9)(this._mouseWheelToDispose)), + super.dispose(); + } + getDomNode() { + return this._domNode; + } + getOverviewRulerLayoutInfo() { + return { + parent: this._domNode, + insertBefore: this._verticalScrollbar.domNode.domNode, + }; + } + delegateVerticalScrollbarMouseDown(e) { + this._verticalScrollbar.delegateMouseDown(e); + } + getScrollDimensions() { + return this._scrollable.getScrollDimensions(); + } + setScrollDimensions(e) { + this._scrollable.setScrollDimensions(e, !1); + } + updateClassName(e) { + (this._options.className = e), + u.dz && (this._options.className += ' mac'), + (this._domNode.className = + 'monaco-scrollable-element ' + this._options.className); + } + updateOptions(e) { + void 0 !== e.handleMouseWheel && + ((this._options.handleMouseWheel = e.handleMouseWheel), + this._setListeningToMouseWheel(this._options.handleMouseWheel)), + void 0 !== e.mouseWheelScrollSensitivity && + (this._options.mouseWheelScrollSensitivity = + e.mouseWheelScrollSensitivity), + void 0 !== e.fastScrollSensitivity && + (this._options.fastScrollSensitivity = e.fastScrollSensitivity), + void 0 !== e.scrollPredominantAxis && + (this._options.scrollPredominantAxis = e.scrollPredominantAxis), + void 0 !== e.horizontalScrollbarSize && + this._horizontalScrollbar.updateScrollbarSize( + e.horizontalScrollbarSize + ), + this._options.lazyRender || this._render(); + } + _setListeningToMouseWheel(e) { + if ( + this._mouseWheelToDispose.length > 0 !== e && + ((this._mouseWheelToDispose = (0, d.B9)( + this._mouseWheelToDispose + )), + e) + ) { + let e = (e) => { + this._onMouseWheel(new s.q(e)); + }; + this._mouseWheelToDispose.push( + n.nm(this._listenOnDomNode, n.tw.MOUSE_WHEEL, e, { + passive: !1, + }) + ); + } + } + _onMouseWheel(e) { + const t = L.INSTANCE; + { + const i = window.devicePixelRatio / (0, k.ie)(); + u.ED || u.IJ + ? t.accept(Date.now(), e.deltaX / i, e.deltaY / i) + : t.accept(Date.now(), e.deltaX, e.deltaY); + } + if (e.deltaY || e.deltaX) { + let i = e.deltaY * this._options.mouseWheelScrollSensitivity, + n = e.deltaX * this._options.mouseWheelScrollSensitivity; + this._options.scrollPredominantAxis && + (Math.abs(i) >= Math.abs(n) ? (n = 0) : (i = 0)), + this._options.flipAxes && ([i, n] = [n, i]); + const r = !u.dz && e.browserEvent && e.browserEvent.shiftKey; + (!this._options.scrollYToX && !r) || n || ((n = i), (i = 0)), + e.browserEvent && + e.browserEvent.altKey && + ((n *= this._options.fastScrollSensitivity), + (i *= this._options.fastScrollSensitivity)); + const s = this._scrollable.getFutureScrollPosition(); + let o = {}; + if (i) { + const e = s.scrollTop - 50 * i; + this._verticalScrollbar.writeScrollPosition(o, e); + } + if (n) { + const e = s.scrollLeft - 50 * n; + this._horizontalScrollbar.writeScrollPosition(o, e); + } + (o = this._scrollable.validateScrollPosition(o)), + (s.scrollLeft !== o.scrollLeft || + s.scrollTop !== o.scrollTop) && + (this._options.mouseWheelSmoothScroll && + t.isPhysicalMouseWheel() + ? this._scrollable.setScrollPositionSmooth(o) + : this._scrollable.setScrollPositionNow(o), + (this._shouldRender = !0)); + } + (this._options.alwaysConsumeMouseWheel || this._shouldRender) && + (e.preventDefault(), e.stopPropagation()); + } + _onDidScroll(e) { + (this._shouldRender = + this._horizontalScrollbar.onDidScroll(e) || this._shouldRender), + (this._shouldRender = + this._verticalScrollbar.onDidScroll(e) || this._shouldRender), + this._options.useShadows && (this._shouldRender = !0), + this._revealOnScroll && this._reveal(), + this._options.lazyRender || this._render(); + } + renderNow() { + if (!this._options.lazyRender) + throw new Error( + 'Please use `lazyRender` together with `renderNow`!' + ); + this._render(); + } + _render() { + if ( + this._shouldRender && + ((this._shouldRender = !1), + this._horizontalScrollbar.render(), + this._verticalScrollbar.render(), + this._options.useShadows) + ) { + const e = this._scrollable.getCurrentScrollPosition(); + let t = e.scrollTop > 0, + i = e.scrollLeft > 0; + this._leftShadowDomNode.setClassName( + 'shadow' + (i ? ' left' : '') + ), + this._topShadowDomNode.setClassName( + 'shadow' + (t ? ' top' : '') + ), + this._topLeftShadowDomNode.setClassName( + 'shadow top-left-corner' + + (t ? ' top' : '') + + (i ? ' left' : '') + ); + } + } + _onDragStart() { + (this._isDragging = !0), this._reveal(); + } + _onDragEnd() { + (this._isDragging = !1), this._hide(); + } + _onMouseOut(e) { + (this._mouseIsOver = !1), this._hide(); + } + _onMouseOver(e) { + (this._mouseIsOver = !0), this._reveal(); + } + _reveal() { + this._verticalScrollbar.beginReveal(), + this._horizontalScrollbar.beginReveal(), + this._scheduleHide(); + } + _hide() { + this._mouseIsOver || + this._isDragging || + (this._verticalScrollbar.beginHide(), + this._horizontalScrollbar.beginHide()); + } + _scheduleHide() { + this._mouseIsOver || + this._isDragging || + this._hideTimeout.cancelAndSet(() => this._hide(), 500); + } + } + class D extends M { + constructor(e, t) { + (t = t || {}).mouseWheelSmoothScroll = !1; + const i = new S.Rm(0, (e) => n.jL(e)); + super(e, t, i), this._register(i); + } + setScrollPosition(e) { + this._scrollable.setScrollPositionNow(e); + } + } + class N extends M { + constructor(e, t, i) { + super(e, t, i); + } + setScrollPosition(e) { + this._scrollable.setScrollPositionNow(e); + } + getScrollPosition() { + return this._scrollable.getCurrentScrollPosition(); + } + } + class E extends D { + constructor(e, t) { + super(e, t), + (this._element = e), + this.onScroll((e) => { + e.scrollTopChanged && (this._element.scrollTop = e.scrollTop), + e.scrollLeftChanged && + (this._element.scrollLeft = e.scrollLeft); + }), + this.scanDomNode(); + } + scanDomNode() { + this.setScrollDimensions({ + width: this._element.clientWidth, + scrollWidth: this._element.scrollWidth, + height: this._element.clientHeight, + scrollHeight: this._element.scrollHeight, + }), + this.setScrollPosition({ + scrollLeft: this._element.scrollLeft, + scrollTop: this._element.scrollTop, + }); + } + } + }, + 93794: (e, t, i) => { + 'use strict'; + i.d(t, { $: () => l }); + var n = i(65321), + r = i(59069), + s = i(23938), + o = i(5976), + a = i(10553); + class l extends o.JT { + onclick(e, t) { + this._register(n.nm(e, n.tw.CLICK, (e) => t(new s.n(e)))); + } + onmousedown(e, t) { + this._register(n.nm(e, n.tw.MOUSE_DOWN, (e) => t(new s.n(e)))); + } + onmouseover(e, t) { + this._register(n.nm(e, n.tw.MOUSE_OVER, (e) => t(new s.n(e)))); + } + onnonbubblingmouseout(e, t) { + this._register(n.j_(e, (e) => t(new s.n(e)))); + } + onkeydown(e, t) { + this._register(n.nm(e, n.tw.KEY_DOWN, (e) => t(new r.y(e)))); + } + onkeyup(e, t) { + this._register(n.nm(e, n.tw.KEY_UP, (e) => t(new r.y(e)))); + } + oninput(e, t) { + this._register(n.nm(e, n.tw.INPUT, t)); + } + onblur(e, t) { + this._register(n.nm(e, n.tw.BLUR, t)); + } + onfocus(e, t) { + this._register(n.nm(e, n.tw.FOCUS, t)); + } + ignoreGesture(e) { + a.o.ignoreTarget(e); + } + } + }, + 74741: (e, t, i) => { + 'use strict'; + i.d(t, { aU: () => s, Wi: () => o, Z0: () => a, wY: () => l }); + var n = i(5976), + r = i(4669); + class s extends n.JT { + constructor(e, t = '', i = '', n = !0, s) { + super(), + (this._onDidChange = this._register(new r.Q5())), + (this.onDidChange = this._onDidChange.event), + (this._enabled = !0), + (this._checked = !1), + (this._id = e), + (this._label = t), + (this._cssClass = i), + (this._enabled = n), + (this._actionCallback = s); + } + get id() { + return this._id; + } + get label() { + return this._label; + } + set label(e) { + this._setLabel(e); + } + _setLabel(e) { + this._label !== e && + ((this._label = e), this._onDidChange.fire({ label: e })); + } + get tooltip() { + return this._tooltip || ''; + } + set tooltip(e) { + this._setTooltip(e); + } + _setTooltip(e) { + this._tooltip !== e && + ((this._tooltip = e), this._onDidChange.fire({ tooltip: e })); + } + get class() { + return this._cssClass; + } + set class(e) { + this._setClass(e); + } + _setClass(e) { + this._cssClass !== e && + ((this._cssClass = e), this._onDidChange.fire({ class: e })); + } + get enabled() { + return this._enabled; + } + set enabled(e) { + this._setEnabled(e); + } + _setEnabled(e) { + this._enabled !== e && + ((this._enabled = e), this._onDidChange.fire({ enabled: e })); + } + get checked() { + return this._checked; + } + set checked(e) { + this._setChecked(e); + } + _setChecked(e) { + this._checked !== e && + ((this._checked = e), this._onDidChange.fire({ checked: e })); + } + run(e, t) { + return this._actionCallback + ? this._actionCallback(e) + : Promise.resolve(!0); + } + } + class o extends n.JT { + constructor() { + super(...arguments), + (this._onDidBeforeRun = this._register(new r.Q5())), + (this.onDidBeforeRun = this._onDidBeforeRun.event), + (this._onDidRun = this._register(new r.Q5())), + (this.onDidRun = this._onDidRun.event); + } + run(e, t) { + return ( + (i = this), + (n = void 0), + (s = function* () { + if (!e.enabled) return Promise.resolve(null); + this._onDidBeforeRun.fire({ action: e }); + try { + const i = yield this.runAction(e, t); + this._onDidRun.fire({ action: e, result: i }); + } catch (t) { + this._onDidRun.fire({ action: e, error: t }); + } + }), + new ((r = void 0) || (r = Promise))(function (e, t) { + function o(e) { + try { + l(s.next(e)); + } catch (e) { + t(e); + } + } + function a(e) { + try { + l(s.throw(e)); + } catch (e) { + t(e); + } + } + function l(t) { + var i; + t.done + ? e(t.value) + : ((i = t.value), + i instanceof r + ? i + : new r(function (e) { + e(i); + })).then(o, a); + } + l((s = s.apply(i, n || [])).next()); + }) + ); + var i, n, r, s; + } + runAction(e, t) { + const i = t ? e.run(t) : e.run(); + return Promise.resolve(i); + } + } + class a extends s { + constructor(e) { + super(a.ID, e, e ? 'separator text' : 'separator'), + (this.checked = !1), + (this.enabled = !1); + } + } + a.ID = 'vs.actions.separator'; + class l extends s { + constructor(e, t, i, n) { + super(e, t, n, !0), (this._actions = i); + } + get actions() { + return Array.isArray(this._actions) + ? this._actions + : this._actions(); + } + } + }, + 9488: (e, t, i) => { + 'use strict'; + function n(e, t = 0) { + return e[e.length - (1 + t)]; + } + function r(e) { + if (0 === e.length) throw new Error('Invalid tail call'); + return [e.slice(0, e.length - 1), e[e.length - 1]]; + } + function s(e, t, i = (e, t) => e === t) { + if (e === t) return !0; + if (!e || !t) return !1; + if (e.length !== t.length) return !1; + for (let n = 0, r = e.length; n < r; n++) + if (!i(e[n], t[n])) return !1; + return !0; + } + function o(e, t, i) { + let n = 0, + r = e.length - 1; + for (; n <= r; ) { + const s = ((n + r) / 2) | 0, + o = i(e[s], t); + if (o < 0) n = s + 1; + else { + if (!(o > 0)) return s; + r = s - 1; + } + } + return -(n + 1); + } + function a(e, t) { + let i = 0, + n = e.length; + if (0 === n) return 0; + for (; i < n; ) { + const r = Math.floor((i + n) / 2); + t(e[r]) ? (n = r) : (i = r + 1); + } + return i; + } + function l(e, t) { + return c(e, t, 0, e.length - 1, []), e; + } + function c(e, t, i, n, r) { + if (n <= i) return; + const s = (i + (n - i) / 2) | 0; + c(e, t, i, s, r), + c(e, t, s + 1, n, r), + t(e[s], e[s + 1]) <= 0 || + (function (e, t, i, n, r, s) { + let o = i, + a = n + 1; + for (let t = i; t <= r; t++) s[t] = e[t]; + for (let l = i; l <= r; l++) + o > n + ? (e[l] = s[a++]) + : a > r + ? (e[l] = s[o++]) + : t(s[a], s[o]) < 0 + ? (e[l] = s[a++]) + : (e[l] = s[o++]); + })(e, t, i, s, n, r); + } + function d(e, t) { + const i = []; + let n; + for (const r of l(e.slice(0), t)) + n && 0 === t(n[0], r) ? n.push(r) : ((n = [r]), i.push(n)); + return i; + } + function h(e) { + return e.filter((e) => !!e); + } + function u(e) { + return !Array.isArray(e) || 0 === e.length; + } + function g(e) { + return Array.isArray(e) && e.length > 0; + } + function f(e, t) { + if (!t) return e.filter((t, i) => e.indexOf(t) === i); + const i = Object.create(null); + return e.filter((e) => { + const n = t(e); + return !i[n] && ((i[n] = !0), !0); + }); + } + function p(e) { + const t = new Set(); + return e.filter((e) => !t.has(e) && (t.add(e), !0)); + } + function m(e, t) { + for (let i = 0; i < e.length; i++) if (t(e[i])) return i; + return -1; + } + function _(e, t, i) { + const n = m(e, t); + return n < 0 ? i : e[n]; + } + function b(e, t) { + return e.length > 0 ? e[0] : t; + } + function v(e) { + return [].concat(...e); + } + function y(e, t) { + let i = 'number' == typeof t ? e : 0; + 'number' == typeof t ? (i = e) : ((i = 0), (t = e)); + const n = []; + if (i <= t) for (let e = i; e < t; e++) n.push(e); + else for (let e = i; e > t; e--) n.push(e); + return n; + } + function w(e, t, i) { + const n = e.slice(0, t), + r = e.slice(t); + return n.concat(i, r); + } + function C(e, t) { + const i = e.indexOf(t); + i > -1 && (e.splice(i, 1), e.unshift(t)); + } + function S(e, t) { + const i = e.indexOf(t); + i > -1 && (e.splice(i, 1), e.push(t)); + } + function k(e) { + return Array.isArray(e) ? e : [e]; + } + i.d(t, { + Gb: () => n, + JH: () => r, + fS: () => s, + ry: () => o, + lG: () => a, + qt: () => l, + vM: () => d, + kX: () => h, + XY: () => u, + Of: () => g, + EB: () => f, + cU: () => p, + Zr: () => m, + Ps: () => _, + Xh: () => b, + xH: () => v, + w6: () => y, + Zv: () => w, + zI: () => C, + al: () => S, + _2: () => k, + }); + }, + 35146: (e, t, i) => { + 'use strict'; + function n(e, t) { + if (!e) + throw new Error(t ? `Assertion failed (${t})` : 'Assertion Failed'); + } + i.d(t, { ok: () => n }); + }, + 15393: (e, t, i) => { + 'use strict'; + i.d(t, { + J8: () => o, + PG: () => a, + eP: () => l, + vp: () => c, + Vs: () => d, + Vg: () => h, + Ps: () => u, + _F: () => g, + zh: () => f, + pY: () => p, + To: () => m, + Ue: () => _, + }); + var n = i(71050), + r = i(17301), + s = i(5976); + function o(e) { + return e && 'function' == typeof e.then; + } + function a(e) { + const t = new n.A(), + i = e(t.token), + s = new Promise((e, n) => { + t.token.onCancellationRequested(() => { + n(r.F0()); + }), + Promise.resolve(i).then( + (i) => { + t.dispose(), e(i); + }, + (e) => { + t.dispose(), n(e); + } + ); + }); + return new (class { + cancel() { + t.cancel(); + } + then(e, t) { + return s.then(e, t); + } + catch(e) { + return this.then(void 0, e); + } + finally(e) { + return s.finally(e); + } + })(); + } + function l(e, t, i) { + return Promise.race([ + e, + new Promise((e) => t.onCancellationRequested(() => e(i))), + ]); + } + class c { + constructor(e) { + (this.defaultDelay = e), + (this.timeout = null), + (this.completionPromise = null), + (this.doResolve = null), + (this.doReject = null), + (this.task = null); + } + trigger(e, t = this.defaultDelay) { + return ( + (this.task = e), + this.cancelTimeout(), + this.completionPromise || + (this.completionPromise = new Promise((e, t) => { + (this.doResolve = e), (this.doReject = t); + }).then(() => { + if ( + ((this.completionPromise = null), + (this.doResolve = null), + this.task) + ) { + const e = this.task; + return (this.task = null), e(); + } + })), + (this.timeout = setTimeout(() => { + (this.timeout = null), this.doResolve && this.doResolve(null); + }, t)), + this.completionPromise + ); + } + isTriggered() { + return null !== this.timeout; + } + cancel() { + this.cancelTimeout(), + this.completionPromise && + (this.doReject && this.doReject(r.F0()), + (this.completionPromise = null)); + } + cancelTimeout() { + null !== this.timeout && + (clearTimeout(this.timeout), (this.timeout = null)); + } + dispose() { + this.cancelTimeout(); + } + } + function d(e, t) { + return t + ? new Promise((i, n) => { + const s = setTimeout(i, e); + t.onCancellationRequested(() => { + clearTimeout(s), n(r.F0()); + }); + }) + : a((t) => d(e, t)); + } + function h(e, t = 0) { + const i = setTimeout(e, t); + return (0, s.OF)(() => clearTimeout(i)); + } + function u(e, t = (e) => !!e, i = null) { + let n = 0; + const r = e.length, + s = () => { + if (n >= r) return Promise.resolve(i); + const o = e[n++]; + return Promise.resolve(o()).then((e) => + t(e) ? Promise.resolve(e) : s() + ); + }; + return s(); + } + class g { + constructor(e, t) { + (this._token = -1), + 'function' == typeof e && + 'number' == typeof t && + this.setIfNotSet(e, t); + } + dispose() { + this.cancel(); + } + cancel() { + -1 !== this._token && + (clearTimeout(this._token), (this._token = -1)); + } + cancelAndSet(e, t) { + this.cancel(), + (this._token = setTimeout(() => { + (this._token = -1), e(); + }, t)); + } + setIfNotSet(e, t) { + -1 === this._token && + (this._token = setTimeout(() => { + (this._token = -1), e(); + }, t)); + } + } + class f { + constructor() { + this._token = -1; + } + dispose() { + this.cancel(); + } + cancel() { + -1 !== this._token && + (clearInterval(this._token), (this._token = -1)); + } + cancelAndSet(e, t) { + this.cancel(), + (this._token = setInterval(() => { + e(); + }, t)); + } + } + class p { + constructor(e, t) { + (this.timeoutToken = -1), + (this.runner = e), + (this.timeout = t), + (this.timeoutHandler = this.onTimeout.bind(this)); + } + dispose() { + this.cancel(), (this.runner = null); + } + cancel() { + this.isScheduled() && + (clearTimeout(this.timeoutToken), (this.timeoutToken = -1)); + } + schedule(e = this.timeout) { + this.cancel(), + (this.timeoutToken = setTimeout(this.timeoutHandler, e)); + } + isScheduled() { + return -1 !== this.timeoutToken; + } + onTimeout() { + (this.timeoutToken = -1), this.runner && this.doRun(); + } + doRun() { + this.runner && this.runner(); + } + } + let m; + !(function () { + if ( + 'function' != typeof requestIdleCallback || + 'function' != typeof cancelIdleCallback + ) { + const e = Object.freeze({ + didTimeout: !0, + timeRemaining: () => 15, + }); + m = (t) => { + const i = setTimeout(() => t(e)); + let n = !1; + return { + dispose() { + n || ((n = !0), clearTimeout(i)); + }, + }; + }; + } else + m = (e, t) => { + const i = requestIdleCallback( + e, + 'number' == typeof t ? { timeout: t } : void 0 + ); + let n = !1; + return { + dispose() { + n || ((n = !0), cancelIdleCallback(i)); + }, + }; + }; + })(); + class _ { + constructor(e) { + (this._didRun = !1), + (this._executor = () => { + try { + this._value = e(); + } catch (e) { + this._error = e; + } finally { + this._didRun = !0; + } + }), + (this._handle = m(() => this._executor())); + } + dispose() { + this._handle.dispose(); + } + get value() { + if ( + (this._didRun || (this._handle.dispose(), this._executor()), + this._error) + ) + throw this._error; + return this._value; + } + } + }, + 53060: (e, t, i) => { + 'use strict'; + i.d(t, { + KN: () => a, + mP: () => l, + oq: () => c, + Ag: () => d, + T4: () => h, + Q$: () => u, + Cg: () => g, + }); + var n = i(97295); + const r = 'undefined' != typeof Buffer, + s = 'undefined' != typeof TextDecoder; + let o; + class a { + constructor(e) { + (this.buffer = e), (this.byteLength = this.buffer.byteLength); + } + toString() { + return r + ? this.buffer.toString() + : s + ? (o || (o = new TextDecoder()), o.decode(this.buffer)) + : n.CZ(this.buffer); + } + } + function l(e, t) { + return ((e[t + 0] << 0) >>> 0) | ((e[t + 1] << 8) >>> 0); + } + function c(e, t, i) { + (e[i + 0] = 255 & t), (t >>>= 8), (e[i + 1] = 255 & t); + } + function d(e, t) { + return ( + e[t] * Math.pow(2, 24) + + e[t + 1] * Math.pow(2, 16) + + e[t + 2] * Math.pow(2, 8) + + e[t + 3] + ); + } + function h(e, t, i) { + (e[i + 3] = t), + (t >>>= 8), + (e[i + 2] = t), + (t >>>= 8), + (e[i + 1] = t), + (t >>>= 8), + (e[i] = t); + } + function u(e, t) { + return e[t]; + } + function g(e, t, i) { + e[i] = t; + } + }, + 71050: (e, t, i) => { + 'use strict'; + i.d(t, { T: () => s, A: () => a }); + var n = i(4669); + const r = Object.freeze(function (e, t) { + const i = setTimeout(e.bind(t), 0); + return { + dispose() { + clearTimeout(i); + }, + }; + }); + var s; + !(function (e) { + (e.isCancellationToken = function (t) { + return ( + t === e.None || + t === e.Cancelled || + t instanceof o || + (!(!t || 'object' != typeof t) && + 'boolean' == typeof t.isCancellationRequested && + 'function' == typeof t.onCancellationRequested) + ); + }), + (e.None = Object.freeze({ + isCancellationRequested: !1, + onCancellationRequested: n.ju.None, + })), + (e.Cancelled = Object.freeze({ + isCancellationRequested: !0, + onCancellationRequested: r, + })); + })(s || (s = {})); + class o { + constructor() { + (this._isCancelled = !1), (this._emitter = null); + } + cancel() { + this._isCancelled || + ((this._isCancelled = !0), + this._emitter && (this._emitter.fire(void 0), this.dispose())); + } + get isCancellationRequested() { + return this._isCancelled; + } + get onCancellationRequested() { + return this._isCancelled + ? r + : (this._emitter || (this._emitter = new n.Q5()), + this._emitter.event); + } + dispose() { + this._emitter && (this._emitter.dispose(), (this._emitter = null)); + } + } + class a { + constructor(e) { + (this._token = void 0), + (this._parentListener = void 0), + (this._parentListener = + e && e.onCancellationRequested(this.cancel, this)); + } + get token() { + return this._token || (this._token = new o()), this._token; + } + cancel() { + this._token + ? this._token instanceof o && this._token.cancel() + : (this._token = s.Cancelled); + } + dispose(e = !1) { + e && this.cancel(), + this._parentListener && this._parentListener.dispose(), + this._token + ? this._token instanceof o && this._token.dispose() + : (this._token = s.None); + } + } + }, + 60703: (e, t, i) => { + 'use strict'; + i.d(t, { Ln: () => s, fe: () => o, YU: () => a }); + var n = i(75392), + r = i(97295); + const s = '$('; + function o(e) { + const t = e.indexOf(s); + return -1 === t + ? { text: e } + : (function (e, t) { + const i = []; + let n = ''; + function r(e) { + if (e) { + n += e; + for (const t of e) i.push(d); + } + } + let o, + a, + l = -1, + c = '', + d = 0, + h = t; + const u = e.length; + for (r(e.substr(0, t)); h < u; ) + (o = e[h]), + (a = e[h + 1]), + o === s[0] && a === s[1] + ? ((l = h), r(c), (c = s), h++) + : ')' === o && -1 !== l + ? ((d += h - l + 1), (l = -1), (c = '')) + : -1 !== l + ? /^[a-z0-9\-]$/i.test(o) + ? (c += o) + : (r(c), (l = -1), (c = '')) + : r(o), + h++; + return r(c), { text: n, codiconOffsets: i }; + })(e, t); + } + function a(e, t, i = !1) { + const { text: s, codiconOffsets: o } = t; + if (!o || 0 === o.length) return (0, n.Oh)(e, s, i); + const a = (0, r.j3)(s, ' '), + l = s.length - a.length, + c = (0, n.Oh)(e, a, i); + if (c) + for (const e of c) { + const t = o[e.start + l] + l; + (e.start += t), (e.end += t); + } + return c; + } + }, + 73046: (e, t, i) => { + 'use strict'; + i.d(t, { + fK: () => o, + q5: () => a, + lA: () => l, + qQ: () => d, + dg: () => u, + b3: () => g, + Mi: () => f, + QF: () => m, + }); + var n = i(60703), + r = i(4669); + const s = new (class { + constructor() { + (this._icons = new Map()), (this._onDidRegister = new r.Q5()); + } + add(e) { + this._icons.has(e.id) + ? console.error(`Duplicate registration of codicon ${e.id}`) + : (this._icons.set(e.id, e), this._onDidRegister.fire(e)); + } + get(e) { + return this._icons.get(e); + } + get all() { + return this._icons.values(); + } + get onDidRegister() { + return this._onDidRegister.event; + } + })(), + o = s; + function a(e, t, i) { + return new l(e, t); + } + class l { + constructor(e, t, i) { + (this.id = e), + (this.definition = t), + (this.description = i), + s.add(this); + } + get classNames() { + return 'codicon codicon-' + this.id; + } + get cssSelector() { + return '.codicon.codicon-' + this.id; + } + } + !(function (e) { + (e.add = new e('add', { character: '\\ea60' })), + (e.plus = new e('plus', { character: '\\ea60' })), + (e.gistNew = new e('gist-new', { character: '\\ea60' })), + (e.repoCreate = new e('repo-create', { character: '\\ea60' })), + (e.lightbulb = new e('lightbulb', { character: '\\ea61' })), + (e.lightBulb = new e('light-bulb', { character: '\\ea61' })), + (e.repo = new e('repo', { character: '\\ea62' })), + (e.repoDelete = new e('repo-delete', { character: '\\ea62' })), + (e.gistFork = new e('gist-fork', { character: '\\ea63' })), + (e.repoForked = new e('repo-forked', { character: '\\ea63' })), + (e.gitPullRequest = new e('git-pull-request', { + character: '\\ea64', + })), + (e.gitPullRequestAbandoned = new e('git-pull-request-abandoned', { + character: '\\ea64', + })), + (e.recordKeys = new e('record-keys', { character: '\\ea65' })), + (e.keyboard = new e('keyboard', { character: '\\ea65' })), + (e.tag = new e('tag', { character: '\\ea66' })), + (e.tagAdd = new e('tag-add', { character: '\\ea66' })), + (e.tagRemove = new e('tag-remove', { character: '\\ea66' })), + (e.person = new e('person', { character: '\\ea67' })), + (e.personAdd = new e('person-add', { character: '\\ea67' })), + (e.personFollow = new e('person-follow', { character: '\\ea67' })), + (e.personOutline = new e('person-outline', { + character: '\\ea67', + })), + (e.personFilled = new e('person-filled', { character: '\\ea67' })), + (e.gitBranch = new e('git-branch', { character: '\\ea68' })), + (e.gitBranchCreate = new e('git-branch-create', { + character: '\\ea68', + })), + (e.gitBranchDelete = new e('git-branch-delete', { + character: '\\ea68', + })), + (e.sourceControl = new e('source-control', { + character: '\\ea68', + })), + (e.mirror = new e('mirror', { character: '\\ea69' })), + (e.mirrorPublic = new e('mirror-public', { character: '\\ea69' })), + (e.star = new e('star', { character: '\\ea6a' })), + (e.starAdd = new e('star-add', { character: '\\ea6a' })), + (e.starDelete = new e('star-delete', { character: '\\ea6a' })), + (e.starEmpty = new e('star-empty', { character: '\\ea6a' })), + (e.comment = new e('comment', { character: '\\ea6b' })), + (e.commentAdd = new e('comment-add', { character: '\\ea6b' })), + (e.alert = new e('alert', { character: '\\ea6c' })), + (e.warning = new e('warning', { character: '\\ea6c' })), + (e.search = new e('search', { character: '\\ea6d' })), + (e.searchSave = new e('search-save', { character: '\\ea6d' })), + (e.logOut = new e('log-out', { character: '\\ea6e' })), + (e.signOut = new e('sign-out', { character: '\\ea6e' })), + (e.logIn = new e('log-in', { character: '\\ea6f' })), + (e.signIn = new e('sign-in', { character: '\\ea6f' })), + (e.eye = new e('eye', { character: '\\ea70' })), + (e.eyeUnwatch = new e('eye-unwatch', { character: '\\ea70' })), + (e.eyeWatch = new e('eye-watch', { character: '\\ea70' })), + (e.circleFilled = new e('circle-filled', { character: '\\ea71' })), + (e.primitiveDot = new e('primitive-dot', { character: '\\ea71' })), + (e.closeDirty = new e('close-dirty', { character: '\\ea71' })), + (e.debugBreakpoint = new e('debug-breakpoint', { + character: '\\ea71', + })), + (e.debugBreakpointDisabled = new e('debug-breakpoint-disabled', { + character: '\\ea71', + })), + (e.debugHint = new e('debug-hint', { character: '\\ea71' })), + (e.primitiveSquare = new e('primitive-square', { + character: '\\ea72', + })), + (e.edit = new e('edit', { character: '\\ea73' })), + (e.pencil = new e('pencil', { character: '\\ea73' })), + (e.info = new e('info', { character: '\\ea74' })), + (e.issueOpened = new e('issue-opened', { character: '\\ea74' })), + (e.gistPrivate = new e('gist-private', { character: '\\ea75' })), + (e.gitForkPrivate = new e('git-fork-private', { + character: '\\ea75', + })), + (e.lock = new e('lock', { character: '\\ea75' })), + (e.mirrorPrivate = new e('mirror-private', { + character: '\\ea75', + })), + (e.close = new e('close', { character: '\\ea76' })), + (e.removeClose = new e('remove-close', { character: '\\ea76' })), + (e.x = new e('x', { character: '\\ea76' })), + (e.repoSync = new e('repo-sync', { character: '\\ea77' })), + (e.sync = new e('sync', { character: '\\ea77' })), + (e.clone = new e('clone', { character: '\\ea78' })), + (e.desktopDownload = new e('desktop-download', { + character: '\\ea78', + })), + (e.beaker = new e('beaker', { character: '\\ea79' })), + (e.microscope = new e('microscope', { character: '\\ea79' })), + (e.vm = new e('vm', { character: '\\ea7a' })), + (e.deviceDesktop = new e('device-desktop', { + character: '\\ea7a', + })), + (e.file = new e('file', { character: '\\ea7b' })), + (e.fileText = new e('file-text', { character: '\\ea7b' })), + (e.more = new e('more', { character: '\\ea7c' })), + (e.ellipsis = new e('ellipsis', { character: '\\ea7c' })), + (e.kebabHorizontal = new e('kebab-horizontal', { + character: '\\ea7c', + })), + (e.mailReply = new e('mail-reply', { character: '\\ea7d' })), + (e.reply = new e('reply', { character: '\\ea7d' })), + (e.organization = new e('organization', { character: '\\ea7e' })), + (e.organizationFilled = new e('organization-filled', { + character: '\\ea7e', + })), + (e.organizationOutline = new e('organization-outline', { + character: '\\ea7e', + })), + (e.newFile = new e('new-file', { character: '\\ea7f' })), + (e.fileAdd = new e('file-add', { character: '\\ea7f' })), + (e.newFolder = new e('new-folder', { character: '\\ea80' })), + (e.fileDirectoryCreate = new e('file-directory-create', { + character: '\\ea80', + })), + (e.trash = new e('trash', { character: '\\ea81' })), + (e.trashcan = new e('trashcan', { character: '\\ea81' })), + (e.history = new e('history', { character: '\\ea82' })), + (e.clock = new e('clock', { character: '\\ea82' })), + (e.folder = new e('folder', { character: '\\ea83' })), + (e.fileDirectory = new e('file-directory', { + character: '\\ea83', + })), + (e.symbolFolder = new e('symbol-folder', { character: '\\ea83' })), + (e.logoGithub = new e('logo-github', { character: '\\ea84' })), + (e.markGithub = new e('mark-github', { character: '\\ea84' })), + (e.github = new e('github', { character: '\\ea84' })), + (e.terminal = new e('terminal', { character: '\\ea85' })), + (e.console = new e('console', { character: '\\ea85' })), + (e.repl = new e('repl', { character: '\\ea85' })), + (e.zap = new e('zap', { character: '\\ea86' })), + (e.symbolEvent = new e('symbol-event', { character: '\\ea86' })), + (e.error = new e('error', { character: '\\ea87' })), + (e.stop = new e('stop', { character: '\\ea87' })), + (e.variable = new e('variable', { character: '\\ea88' })), + (e.symbolVariable = new e('symbol-variable', { + character: '\\ea88', + })), + (e.array = new e('array', { character: '\\ea8a' })), + (e.symbolArray = new e('symbol-array', { character: '\\ea8a' })), + (e.symbolModule = new e('symbol-module', { character: '\\ea8b' })), + (e.symbolPackage = new e('symbol-package', { + character: '\\ea8b', + })), + (e.symbolNamespace = new e('symbol-namespace', { + character: '\\ea8b', + })), + (e.symbolObject = new e('symbol-object', { character: '\\ea8b' })), + (e.symbolMethod = new e('symbol-method', { character: '\\ea8c' })), + (e.symbolFunction = new e('symbol-function', { + character: '\\ea8c', + })), + (e.symbolConstructor = new e('symbol-constructor', { + character: '\\ea8c', + })), + (e.symbolBoolean = new e('symbol-boolean', { + character: '\\ea8f', + })), + (e.symbolNull = new e('symbol-null', { character: '\\ea8f' })), + (e.symbolNumeric = new e('symbol-numeric', { + character: '\\ea90', + })), + (e.symbolNumber = new e('symbol-number', { character: '\\ea90' })), + (e.symbolStructure = new e('symbol-structure', { + character: '\\ea91', + })), + (e.symbolStruct = new e('symbol-struct', { character: '\\ea91' })), + (e.symbolParameter = new e('symbol-parameter', { + character: '\\ea92', + })), + (e.symbolTypeParameter = new e('symbol-type-parameter', { + character: '\\ea92', + })), + (e.symbolKey = new e('symbol-key', { character: '\\ea93' })), + (e.symbolText = new e('symbol-text', { character: '\\ea93' })), + (e.symbolReference = new e('symbol-reference', { + character: '\\ea94', + })), + (e.goToFile = new e('go-to-file', { character: '\\ea94' })), + (e.symbolEnum = new e('symbol-enum', { character: '\\ea95' })), + (e.symbolValue = new e('symbol-value', { character: '\\ea95' })), + (e.symbolRuler = new e('symbol-ruler', { character: '\\ea96' })), + (e.symbolUnit = new e('symbol-unit', { character: '\\ea96' })), + (e.activateBreakpoints = new e('activate-breakpoints', { + character: '\\ea97', + })), + (e.archive = new e('archive', { character: '\\ea98' })), + (e.arrowBoth = new e('arrow-both', { character: '\\ea99' })), + (e.arrowDown = new e('arrow-down', { character: '\\ea9a' })), + (e.arrowLeft = new e('arrow-left', { character: '\\ea9b' })), + (e.arrowRight = new e('arrow-right', { character: '\\ea9c' })), + (e.arrowSmallDown = new e('arrow-small-down', { + character: '\\ea9d', + })), + (e.arrowSmallLeft = new e('arrow-small-left', { + character: '\\ea9e', + })), + (e.arrowSmallRight = new e('arrow-small-right', { + character: '\\ea9f', + })), + (e.arrowSmallUp = new e('arrow-small-up', { character: '\\eaa0' })), + (e.arrowUp = new e('arrow-up', { character: '\\eaa1' })), + (e.bell = new e('bell', { character: '\\eaa2' })), + (e.bold = new e('bold', { character: '\\eaa3' })), + (e.book = new e('book', { character: '\\eaa4' })), + (e.bookmark = new e('bookmark', { character: '\\eaa5' })), + (e.debugBreakpointConditionalUnverified = new e( + 'debug-breakpoint-conditional-unverified', + { character: '\\eaa6' } + )), + (e.debugBreakpointConditional = new e( + 'debug-breakpoint-conditional', + { character: '\\eaa7' } + )), + (e.debugBreakpointConditionalDisabled = new e( + 'debug-breakpoint-conditional-disabled', + { character: '\\eaa7' } + )), + (e.debugBreakpointDataUnverified = new e( + 'debug-breakpoint-data-unverified', + { character: '\\eaa8' } + )), + (e.debugBreakpointData = new e('debug-breakpoint-data', { + character: '\\eaa9', + })), + (e.debugBreakpointDataDisabled = new e( + 'debug-breakpoint-data-disabled', + { character: '\\eaa9' } + )), + (e.debugBreakpointLogUnverified = new e( + 'debug-breakpoint-log-unverified', + { character: '\\eaaa' } + )), + (e.debugBreakpointLog = new e('debug-breakpoint-log', { + character: '\\eaab', + })), + (e.debugBreakpointLogDisabled = new e( + 'debug-breakpoint-log-disabled', + { character: '\\eaab' } + )), + (e.briefcase = new e('briefcase', { character: '\\eaac' })), + (e.broadcast = new e('broadcast', { character: '\\eaad' })), + (e.browser = new e('browser', { character: '\\eaae' })), + (e.bug = new e('bug', { character: '\\eaaf' })), + (e.calendar = new e('calendar', { character: '\\eab0' })), + (e.caseSensitive = new e('case-sensitive', { + character: '\\eab1', + })), + (e.check = new e('check', { character: '\\eab2' })), + (e.checklist = new e('checklist', { character: '\\eab3' })), + (e.chevronDown = new e('chevron-down', { character: '\\eab4' })), + (e.chevronLeft = new e('chevron-left', { character: '\\eab5' })), + (e.chevronRight = new e('chevron-right', { character: '\\eab6' })), + (e.chevronUp = new e('chevron-up', { character: '\\eab7' })), + (e.chromeClose = new e('chrome-close', { character: '\\eab8' })), + (e.chromeMaximize = new e('chrome-maximize', { + character: '\\eab9', + })), + (e.chromeMinimize = new e('chrome-minimize', { + character: '\\eaba', + })), + (e.chromeRestore = new e('chrome-restore', { + character: '\\eabb', + })), + (e.circleOutline = new e('circle-outline', { + character: '\\eabc', + })), + (e.debugBreakpointUnverified = new e( + 'debug-breakpoint-unverified', + { character: '\\eabc' } + )), + (e.circleSlash = new e('circle-slash', { character: '\\eabd' })), + (e.circuitBoard = new e('circuit-board', { character: '\\eabe' })), + (e.clearAll = new e('clear-all', { character: '\\eabf' })), + (e.clippy = new e('clippy', { character: '\\eac0' })), + (e.closeAll = new e('close-all', { character: '\\eac1' })), + (e.cloudDownload = new e('cloud-download', { + character: '\\eac2', + })), + (e.cloudUpload = new e('cloud-upload', { character: '\\eac3' })), + (e.code = new e('code', { character: '\\eac4' })), + (e.collapseAll = new e('collapse-all', { character: '\\eac5' })), + (e.colorMode = new e('color-mode', { character: '\\eac6' })), + (e.commentDiscussion = new e('comment-discussion', { + character: '\\eac7', + })), + (e.compareChanges = new e('compare-changes', { + character: '\\eafd', + })), + (e.creditCard = new e('credit-card', { character: '\\eac9' })), + (e.dash = new e('dash', { character: '\\eacc' })), + (e.dashboard = new e('dashboard', { character: '\\eacd' })), + (e.database = new e('database', { character: '\\eace' })), + (e.debugContinue = new e('debug-continue', { + character: '\\eacf', + })), + (e.debugDisconnect = new e('debug-disconnect', { + character: '\\ead0', + })), + (e.debugPause = new e('debug-pause', { character: '\\ead1' })), + (e.debugRestart = new e('debug-restart', { character: '\\ead2' })), + (e.debugStart = new e('debug-start', { character: '\\ead3' })), + (e.debugStepInto = new e('debug-step-into', { + character: '\\ead4', + })), + (e.debugStepOut = new e('debug-step-out', { character: '\\ead5' })), + (e.debugStepOver = new e('debug-step-over', { + character: '\\ead6', + })), + (e.debugStop = new e('debug-stop', { character: '\\ead7' })), + (e.debug = new e('debug', { character: '\\ead8' })), + (e.deviceCameraVideo = new e('device-camera-video', { + character: '\\ead9', + })), + (e.deviceCamera = new e('device-camera', { character: '\\eada' })), + (e.deviceMobile = new e('device-mobile', { character: '\\eadb' })), + (e.diffAdded = new e('diff-added', { character: '\\eadc' })), + (e.diffIgnored = new e('diff-ignored', { character: '\\eadd' })), + (e.diffModified = new e('diff-modified', { character: '\\eade' })), + (e.diffRemoved = new e('diff-removed', { character: '\\eadf' })), + (e.diffRenamed = new e('diff-renamed', { character: '\\eae0' })), + (e.diff = new e('diff', { character: '\\eae1' })), + (e.discard = new e('discard', { character: '\\eae2' })), + (e.editorLayout = new e('editor-layout', { character: '\\eae3' })), + (e.emptyWindow = new e('empty-window', { character: '\\eae4' })), + (e.exclude = new e('exclude', { character: '\\eae5' })), + (e.extensions = new e('extensions', { character: '\\eae6' })), + (e.eyeClosed = new e('eye-closed', { character: '\\eae7' })), + (e.fileBinary = new e('file-binary', { character: '\\eae8' })), + (e.fileCode = new e('file-code', { character: '\\eae9' })), + (e.fileMedia = new e('file-media', { character: '\\eaea' })), + (e.filePdf = new e('file-pdf', { character: '\\eaeb' })), + (e.fileSubmodule = new e('file-submodule', { + character: '\\eaec', + })), + (e.fileSymlinkDirectory = new e('file-symlink-directory', { + character: '\\eaed', + })), + (e.fileSymlinkFile = new e('file-symlink-file', { + character: '\\eaee', + })), + (e.fileZip = new e('file-zip', { character: '\\eaef' })), + (e.files = new e('files', { character: '\\eaf0' })), + (e.filter = new e('filter', { character: '\\eaf1' })), + (e.flame = new e('flame', { character: '\\eaf2' })), + (e.foldDown = new e('fold-down', { character: '\\eaf3' })), + (e.foldUp = new e('fold-up', { character: '\\eaf4' })), + (e.fold = new e('fold', { character: '\\eaf5' })), + (e.folderActive = new e('folder-active', { character: '\\eaf6' })), + (e.folderOpened = new e('folder-opened', { character: '\\eaf7' })), + (e.gear = new e('gear', { character: '\\eaf8' })), + (e.gift = new e('gift', { character: '\\eaf9' })), + (e.gistSecret = new e('gist-secret', { character: '\\eafa' })), + (e.gist = new e('gist', { character: '\\eafb' })), + (e.gitCommit = new e('git-commit', { character: '\\eafc' })), + (e.gitCompare = new e('git-compare', { character: '\\eafd' })), + (e.gitMerge = new e('git-merge', { character: '\\eafe' })), + (e.githubAction = new e('github-action', { character: '\\eaff' })), + (e.githubAlt = new e('github-alt', { character: '\\eb00' })), + (e.globe = new e('globe', { character: '\\eb01' })), + (e.grabber = new e('grabber', { character: '\\eb02' })), + (e.graph = new e('graph', { character: '\\eb03' })), + (e.gripper = new e('gripper', { character: '\\eb04' })), + (e.heart = new e('heart', { character: '\\eb05' })), + (e.home = new e('home', { character: '\\eb06' })), + (e.horizontalRule = new e('horizontal-rule', { + character: '\\eb07', + })), + (e.hubot = new e('hubot', { character: '\\eb08' })), + (e.inbox = new e('inbox', { character: '\\eb09' })), + (e.issueClosed = new e('issue-closed', { character: '\\eb0a' })), + (e.issueReopened = new e('issue-reopened', { + character: '\\eb0b', + })), + (e.issues = new e('issues', { character: '\\eb0c' })), + (e.italic = new e('italic', { character: '\\eb0d' })), + (e.jersey = new e('jersey', { character: '\\eb0e' })), + (e.json = new e('json', { character: '\\eb0f' })), + (e.kebabVertical = new e('kebab-vertical', { + character: '\\eb10', + })), + (e.key = new e('key', { character: '\\eb11' })), + (e.law = new e('law', { character: '\\eb12' })), + (e.lightbulbAutofix = new e('lightbulb-autofix', { + character: '\\eb13', + })), + (e.linkExternal = new e('link-external', { character: '\\eb14' })), + (e.link = new e('link', { character: '\\eb15' })), + (e.listOrdered = new e('list-ordered', { character: '\\eb16' })), + (e.listUnordered = new e('list-unordered', { + character: '\\eb17', + })), + (e.liveShare = new e('live-share', { character: '\\eb18' })), + (e.loading = new e('loading', { character: '\\eb19' })), + (e.location = new e('location', { character: '\\eb1a' })), + (e.mailRead = new e('mail-read', { character: '\\eb1b' })), + (e.mail = new e('mail', { character: '\\eb1c' })), + (e.markdown = new e('markdown', { character: '\\eb1d' })), + (e.megaphone = new e('megaphone', { character: '\\eb1e' })), + (e.mention = new e('mention', { character: '\\eb1f' })), + (e.milestone = new e('milestone', { character: '\\eb20' })), + (e.mortarBoard = new e('mortar-board', { character: '\\eb21' })), + (e.move = new e('move', { character: '\\eb22' })), + (e.multipleWindows = new e('multiple-windows', { + character: '\\eb23', + })), + (e.mute = new e('mute', { character: '\\eb24' })), + (e.noNewline = new e('no-newline', { character: '\\eb25' })), + (e.note = new e('note', { character: '\\eb26' })), + (e.octoface = new e('octoface', { character: '\\eb27' })), + (e.openPreview = new e('open-preview', { character: '\\eb28' })), + (e.package_ = new e('package', { character: '\\eb29' })), + (e.paintcan = new e('paintcan', { character: '\\eb2a' })), + (e.pin = new e('pin', { character: '\\eb2b' })), + (e.play = new e('play', { character: '\\eb2c' })), + (e.run = new e('run', { character: '\\eb2c' })), + (e.plug = new e('plug', { character: '\\eb2d' })), + (e.preserveCase = new e('preserve-case', { character: '\\eb2e' })), + (e.preview = new e('preview', { character: '\\eb2f' })), + (e.project = new e('project', { character: '\\eb30' })), + (e.pulse = new e('pulse', { character: '\\eb31' })), + (e.question = new e('question', { character: '\\eb32' })), + (e.quote = new e('quote', { character: '\\eb33' })), + (e.radioTower = new e('radio-tower', { character: '\\eb34' })), + (e.reactions = new e('reactions', { character: '\\eb35' })), + (e.references = new e('references', { character: '\\eb36' })), + (e.refresh = new e('refresh', { character: '\\eb37' })), + (e.regex = new e('regex', { character: '\\eb38' })), + (e.remoteExplorer = new e('remote-explorer', { + character: '\\eb39', + })), + (e.remote = new e('remote', { character: '\\eb3a' })), + (e.remove = new e('remove', { character: '\\eb3b' })), + (e.replaceAll = new e('replace-all', { character: '\\eb3c' })), + (e.replace = new e('replace', { character: '\\eb3d' })), + (e.repoClone = new e('repo-clone', { character: '\\eb3e' })), + (e.repoForcePush = new e('repo-force-push', { + character: '\\eb3f', + })), + (e.repoPull = new e('repo-pull', { character: '\\eb40' })), + (e.repoPush = new e('repo-push', { character: '\\eb41' })), + (e.report = new e('report', { character: '\\eb42' })), + (e.requestChanges = new e('request-changes', { + character: '\\eb43', + })), + (e.rocket = new e('rocket', { character: '\\eb44' })), + (e.rootFolderOpened = new e('root-folder-opened', { + character: '\\eb45', + })), + (e.rootFolder = new e('root-folder', { character: '\\eb46' })), + (e.rss = new e('rss', { character: '\\eb47' })), + (e.ruby = new e('ruby', { character: '\\eb48' })), + (e.saveAll = new e('save-all', { character: '\\eb49' })), + (e.saveAs = new e('save-as', { character: '\\eb4a' })), + (e.save = new e('save', { character: '\\eb4b' })), + (e.screenFull = new e('screen-full', { character: '\\eb4c' })), + (e.screenNormal = new e('screen-normal', { character: '\\eb4d' })), + (e.searchStop = new e('search-stop', { character: '\\eb4e' })), + (e.server = new e('server', { character: '\\eb50' })), + (e.settingsGear = new e('settings-gear', { character: '\\eb51' })), + (e.settings = new e('settings', { character: '\\eb52' })), + (e.shield = new e('shield', { character: '\\eb53' })), + (e.smiley = new e('smiley', { character: '\\eb54' })), + (e.sortPrecedence = new e('sort-precedence', { + character: '\\eb55', + })), + (e.splitHorizontal = new e('split-horizontal', { + character: '\\eb56', + })), + (e.splitVertical = new e('split-vertical', { + character: '\\eb57', + })), + (e.squirrel = new e('squirrel', { character: '\\eb58' })), + (e.starFull = new e('star-full', { character: '\\eb59' })), + (e.starHalf = new e('star-half', { character: '\\eb5a' })), + (e.symbolClass = new e('symbol-class', { character: '\\eb5b' })), + (e.symbolColor = new e('symbol-color', { character: '\\eb5c' })), + (e.symbolConstant = new e('symbol-constant', { + character: '\\eb5d', + })), + (e.symbolEnumMember = new e('symbol-enum-member', { + character: '\\eb5e', + })), + (e.symbolField = new e('symbol-field', { character: '\\eb5f' })), + (e.symbolFile = new e('symbol-file', { character: '\\eb60' })), + (e.symbolInterface = new e('symbol-interface', { + character: '\\eb61', + })), + (e.symbolKeyword = new e('symbol-keyword', { + character: '\\eb62', + })), + (e.symbolMisc = new e('symbol-misc', { character: '\\eb63' })), + (e.symbolOperator = new e('symbol-operator', { + character: '\\eb64', + })), + (e.symbolProperty = new e('symbol-property', { + character: '\\eb65', + })), + (e.wrench = new e('wrench', { character: '\\eb65' })), + (e.wrenchSubaction = new e('wrench-subaction', { + character: '\\eb65', + })), + (e.symbolSnippet = new e('symbol-snippet', { + character: '\\eb66', + })), + (e.tasklist = new e('tasklist', { character: '\\eb67' })), + (e.telescope = new e('telescope', { character: '\\eb68' })), + (e.textSize = new e('text-size', { character: '\\eb69' })), + (e.threeBars = new e('three-bars', { character: '\\eb6a' })), + (e.thumbsdown = new e('thumbsdown', { character: '\\eb6b' })), + (e.thumbsup = new e('thumbsup', { character: '\\eb6c' })), + (e.tools = new e('tools', { character: '\\eb6d' })), + (e.triangleDown = new e('triangle-down', { character: '\\eb6e' })), + (e.triangleLeft = new e('triangle-left', { character: '\\eb6f' })), + (e.triangleRight = new e('triangle-right', { + character: '\\eb70', + })), + (e.triangleUp = new e('triangle-up', { character: '\\eb71' })), + (e.twitter = new e('twitter', { character: '\\eb72' })), + (e.unfold = new e('unfold', { character: '\\eb73' })), + (e.unlock = new e('unlock', { character: '\\eb74' })), + (e.unmute = new e('unmute', { character: '\\eb75' })), + (e.unverified = new e('unverified', { character: '\\eb76' })), + (e.verified = new e('verified', { character: '\\eb77' })), + (e.versions = new e('versions', { character: '\\eb78' })), + (e.vmActive = new e('vm-active', { character: '\\eb79' })), + (e.vmOutline = new e('vm-outline', { character: '\\eb7a' })), + (e.vmRunning = new e('vm-running', { character: '\\eb7b' })), + (e.watch = new e('watch', { character: '\\eb7c' })), + (e.whitespace = new e('whitespace', { character: '\\eb7d' })), + (e.wholeWord = new e('whole-word', { character: '\\eb7e' })), + (e.window = new e('window', { character: '\\eb7f' })), + (e.wordWrap = new e('word-wrap', { character: '\\eb80' })), + (e.zoomIn = new e('zoom-in', { character: '\\eb81' })), + (e.zoomOut = new e('zoom-out', { character: '\\eb82' })), + (e.listFilter = new e('list-filter', { character: '\\eb83' })), + (e.listFlat = new e('list-flat', { character: '\\eb84' })), + (e.listSelection = new e('list-selection', { + character: '\\eb85', + })), + (e.selection = new e('selection', { character: '\\eb85' })), + (e.listTree = new e('list-tree', { character: '\\eb86' })), + (e.debugBreakpointFunctionUnverified = new e( + 'debug-breakpoint-function-unverified', + { character: '\\eb87' } + )), + (e.debugBreakpointFunction = new e('debug-breakpoint-function', { + character: '\\eb88', + })), + (e.debugBreakpointFunctionDisabled = new e( + 'debug-breakpoint-function-disabled', + { character: '\\eb88' } + )), + (e.debugStackframeActive = new e('debug-stackframe-active', { + character: '\\eb89', + })), + (e.debugStackframeDot = new e('debug-stackframe-dot', { + character: '\\eb8a', + })), + (e.debugStackframe = new e('debug-stackframe', { + character: '\\eb8b', + })), + (e.debugStackframeFocused = new e('debug-stackframe-focused', { + character: '\\eb8b', + })), + (e.debugBreakpointUnsupported = new e( + 'debug-breakpoint-unsupported', + { character: '\\eb8c' } + )), + (e.symbolString = new e('symbol-string', { character: '\\eb8d' })), + (e.debugReverseContinue = new e('debug-reverse-continue', { + character: '\\eb8e', + })), + (e.debugStepBack = new e('debug-step-back', { + character: '\\eb8f', + })), + (e.debugRestartFrame = new e('debug-restart-frame', { + character: '\\eb90', + })), + (e.callIncoming = new e('call-incoming', { character: '\\eb92' })), + (e.callOutgoing = new e('call-outgoing', { character: '\\eb93' })), + (e.menu = new e('menu', { character: '\\eb94' })), + (e.expandAll = new e('expand-all', { character: '\\eb95' })), + (e.feedback = new e('feedback', { character: '\\eb96' })), + (e.groupByRefType = new e('group-by-ref-type', { + character: '\\eb97', + })), + (e.ungroupByRefType = new e('ungroup-by-ref-type', { + character: '\\eb98', + })), + (e.account = new e('account', { character: '\\eb99' })), + (e.bellDot = new e('bell-dot', { character: '\\eb9a' })), + (e.debugConsole = new e('debug-console', { character: '\\eb9b' })), + (e.library = new e('library', { character: '\\eb9c' })), + (e.output = new e('output', { character: '\\eb9d' })), + (e.runAll = new e('run-all', { character: '\\eb9e' })), + (e.syncIgnored = new e('sync-ignored', { character: '\\eb9f' })), + (e.pinned = new e('pinned', { character: '\\eba0' })), + (e.githubInverted = new e('github-inverted', { + character: '\\eba1', + })), + (e.debugAlt = new e('debug-alt', { character: '\\eb91' })), + (e.serverProcess = new e('server-process', { + character: '\\eba2', + })), + (e.serverEnvironment = new e('server-environment', { + character: '\\eba3', + })), + (e.pass = new e('pass', { character: '\\eba4' })), + (e.stopCircle = new e('stop-circle', { character: '\\eba5' })), + (e.playCircle = new e('play-circle', { character: '\\eba6' })), + (e.record = new e('record', { character: '\\eba7' })), + (e.debugAltSmall = new e('debug-alt-small', { + character: '\\eba8', + })), + (e.vmConnect = new e('vm-connect', { character: '\\eba9' })), + (e.cloud = new e('cloud', { character: '\\ebaa' })), + (e.merge = new e('merge', { character: '\\ebab' })); + })(l || (l = {})); + const c = /(\\)?\$\([a-z0-9\-]+?(?:~[a-z0-9\-]*?)?\)/gi; + function d(e) { + return e.replace(c, (e, t) => (t ? e : `\\${e}`)); + } + const h = /\\\$\([a-z0-9\-]+?(?:~[a-z0-9\-]*?)?\)/gi; + function u(e) { + return e.replace(h, (e) => `\\${e}`); + } + const g = /(\\)?\$\((([a-z0-9\-]+?)(?:~([a-z0-9\-]*?))?)\)/gi; + function f(e) { + return e.replace(g, (e, t, i, n, r) => + t + ? `$(${i})` + : `<span class="codicon codicon-${n}${ + r ? ` codicon-animation-${r}` : '' + }"></span>` + ); + } + const p = /(\s)?(\\)?\$\([a-z0-9\-]+?(?:~[a-z0-9\-]*?)?\)(\s)?/gi; + function m(e) { + return -1 === e.indexOf(n.Ln) + ? e + : e.replace(p, (e, t, i, n) => (i ? e : t || n || '')); + } + }, + 6626: (e, t, i) => { + 'use strict'; + i.d(t, { E: () => r, r: () => s }); + const n = Object.prototype.hasOwnProperty; + function r(e, t) { + for (let i in e) + if ( + n.call(e, i) && + !1 === + t({ key: i, value: e[i] }, function () { + delete e[i]; + }) + ) + return; + } + class s { + constructor() { + this.map = new Map(); + } + add(e, t) { + let i = this.map.get(e); + i || ((i = new Set()), this.map.set(e, i)), i.add(t); + } + delete(e, t) { + const i = this.map.get(e); + i && (i.delete(t), 0 === i.size && this.map.delete(e)); + } + forEach(e, t) { + const i = this.map.get(e); + i && i.forEach(t); + } + } + }, + 41264: (e, t, i) => { + 'use strict'; + function n(e, t) { + const i = Math.pow(10, t); + return Math.round(e * i) / i; + } + i.d(t, { VS: () => r, tx: () => o, Il: () => a }); + class r { + constructor(e, t, i, r = 1) { + (this.r = 0 | Math.min(255, Math.max(0, e))), + (this.g = 0 | Math.min(255, Math.max(0, t))), + (this.b = 0 | Math.min(255, Math.max(0, i))), + (this.a = n(Math.max(Math.min(1, r), 0), 3)); + } + static equals(e, t) { + return e.r === t.r && e.g === t.g && e.b === t.b && e.a === t.a; + } + } + class s { + constructor(e, t, i, r) { + (this.h = 0 | Math.max(Math.min(360, e), 0)), + (this.s = n(Math.max(Math.min(1, t), 0), 3)), + (this.l = n(Math.max(Math.min(1, i), 0), 3)), + (this.a = n(Math.max(Math.min(1, r), 0), 3)); + } + static equals(e, t) { + return e.h === t.h && e.s === t.s && e.l === t.l && e.a === t.a; + } + static fromRGBA(e) { + const t = e.r / 255, + i = e.g / 255, + n = e.b / 255, + r = e.a, + o = Math.max(t, i, n), + a = Math.min(t, i, n); + let l = 0, + c = 0; + const d = (a + o) / 2, + h = o - a; + if (h > 0) { + switch ( + ((c = Math.min(d <= 0.5 ? h / (2 * d) : h / (2 - 2 * d), 1)), o) + ) { + case t: + l = (i - n) / h + (i < n ? 6 : 0); + break; + case i: + l = (n - t) / h + 2; + break; + case n: + l = (t - i) / h + 4; + } + (l *= 60), (l = Math.round(l)); + } + return new s(l, c, d, r); + } + static _hue2rgb(e, t, i) { + return ( + i < 0 && (i += 1), + i > 1 && (i -= 1), + i < 1 / 6 + ? e + 6 * (t - e) * i + : i < 0.5 + ? t + : i < 2 / 3 + ? e + (t - e) * (2 / 3 - i) * 6 + : e + ); + } + static toRGBA(e) { + const t = e.h / 360, + { s: i, l: n, a: o } = e; + let a, l, c; + if (0 === i) a = l = c = n; + else { + const e = n < 0.5 ? n * (1 + i) : n + i - n * i, + r = 2 * n - e; + (a = s._hue2rgb(r, e, t + 1 / 3)), + (l = s._hue2rgb(r, e, t)), + (c = s._hue2rgb(r, e, t - 1 / 3)); + } + return new r( + Math.round(255 * a), + Math.round(255 * l), + Math.round(255 * c), + o + ); + } + } + class o { + constructor(e, t, i, r) { + (this.h = 0 | Math.max(Math.min(360, e), 0)), + (this.s = n(Math.max(Math.min(1, t), 0), 3)), + (this.v = n(Math.max(Math.min(1, i), 0), 3)), + (this.a = n(Math.max(Math.min(1, r), 0), 3)); + } + static equals(e, t) { + return e.h === t.h && e.s === t.s && e.v === t.v && e.a === t.a; + } + static fromRGBA(e) { + const t = e.r / 255, + i = e.g / 255, + n = e.b / 255, + r = Math.max(t, i, n), + s = r - Math.min(t, i, n), + a = 0 === r ? 0 : s / r; + let l; + return ( + (l = + 0 === s + ? 0 + : r === t + ? ((((i - n) / s) % 6) + 6) % 6 + : r === i + ? (n - t) / s + 2 + : (t - i) / s + 4), + new o(Math.round(60 * l), a, r, e.a) + ); + } + static toRGBA(e) { + const { h: t, s: i, v: n, a: s } = e, + o = n * i, + a = o * (1 - Math.abs(((t / 60) % 2) - 1)), + l = n - o; + let [c, d, h] = [0, 0, 0]; + return ( + t < 60 + ? ((c = o), (d = a)) + : t < 120 + ? ((c = a), (d = o)) + : t < 180 + ? ((d = o), (h = a)) + : t < 240 + ? ((d = a), (h = o)) + : t < 300 + ? ((c = a), (h = o)) + : t < 360 && ((c = o), (h = a)), + (c = Math.round(255 * (c + l))), + (d = Math.round(255 * (d + l))), + (h = Math.round(255 * (h + l))), + new r(c, d, h, s) + ); + } + } + class a { + constructor(e) { + if (!e) throw new Error('Color needs a value'); + if (e instanceof r) this.rgba = e; + else if (e instanceof s) + (this._hsla = e), (this.rgba = s.toRGBA(e)); + else { + if (!(e instanceof o)) + throw new Error('Invalid color ctor argument'); + (this._hsva = e), (this.rgba = o.toRGBA(e)); + } + } + static fromHex(e) { + return a.Format.CSS.parseHex(e) || a.red; + } + get hsla() { + return this._hsla ? this._hsla : s.fromRGBA(this.rgba); + } + get hsva() { + return this._hsva ? this._hsva : o.fromRGBA(this.rgba); + } + equals(e) { + return ( + !!e && + r.equals(this.rgba, e.rgba) && + s.equals(this.hsla, e.hsla) && + o.equals(this.hsva, e.hsva) + ); + } + getRelativeLuminance() { + return n( + 0.2126 * a._relativeLuminanceForComponent(this.rgba.r) + + 0.7152 * a._relativeLuminanceForComponent(this.rgba.g) + + 0.0722 * a._relativeLuminanceForComponent(this.rgba.b), + 4 + ); + } + static _relativeLuminanceForComponent(e) { + const t = e / 255; + return t <= 0.03928 + ? t / 12.92 + : Math.pow((t + 0.055) / 1.055, 2.4); + } + isLighter() { + return ( + (299 * this.rgba.r + 587 * this.rgba.g + 114 * this.rgba.b) / + 1e3 >= + 128 + ); + } + isLighterThan(e) { + return this.getRelativeLuminance() > e.getRelativeLuminance(); + } + isDarkerThan(e) { + return this.getRelativeLuminance() < e.getRelativeLuminance(); + } + lighten(e) { + return new a( + new s( + this.hsla.h, + this.hsla.s, + this.hsla.l + this.hsla.l * e, + this.hsla.a + ) + ); + } + darken(e) { + return new a( + new s( + this.hsla.h, + this.hsla.s, + this.hsla.l - this.hsla.l * e, + this.hsla.a + ) + ); + } + transparent(e) { + const { r: t, g: i, b: n, a: s } = this.rgba; + return new a(new r(t, i, n, s * e)); + } + isTransparent() { + return 0 === this.rgba.a; + } + isOpaque() { + return 1 === this.rgba.a; + } + opposite() { + return new a( + new r( + 255 - this.rgba.r, + 255 - this.rgba.g, + 255 - this.rgba.b, + this.rgba.a + ) + ); + } + toString() { + return '' + a.Format.CSS.format(this); + } + static getLighterColor(e, t, i) { + if (e.isLighterThan(t)) return e; + i = i || 0.5; + const n = e.getRelativeLuminance(), + r = t.getRelativeLuminance(); + return (i = (i * (r - n)) / r), e.lighten(i); + } + static getDarkerColor(e, t, i) { + if (e.isDarkerThan(t)) return e; + i = i || 0.5; + const n = e.getRelativeLuminance(); + return (i = (i * (n - t.getRelativeLuminance())) / n), e.darken(i); + } + } + (a.white = new a(new r(255, 255, 255, 1))), + (a.black = new a(new r(0, 0, 0, 1))), + (a.red = new a(new r(255, 0, 0, 1))), + (a.blue = new a(new r(0, 0, 255, 1))), + (a.cyan = new a(new r(0, 255, 255, 1))), + (a.lightgrey = new a(new r(211, 211, 211, 1))), + (a.transparent = new a(new r(0, 0, 0, 0))), + (function (e) { + let t; + !(function (t) { + let i; + !(function (t) { + function i(e) { + const t = e.toString(16); + return 2 !== t.length ? '0' + t : t; + } + function n(e) { + switch (e) { + case 48: + return 0; + case 49: + return 1; + case 50: + return 2; + case 51: + return 3; + case 52: + return 4; + case 53: + return 5; + case 54: + return 6; + case 55: + return 7; + case 56: + return 8; + case 57: + return 9; + case 97: + case 65: + return 10; + case 98: + case 66: + return 11; + case 99: + case 67: + return 12; + case 100: + case 68: + return 13; + case 101: + case 69: + return 14; + case 102: + case 70: + return 15; + } + return 0; + } + (t.formatRGB = function (t) { + return 1 === t.rgba.a + ? `rgb(${t.rgba.r}, ${t.rgba.g}, ${t.rgba.b})` + : e.Format.CSS.formatRGBA(t); + }), + (t.formatRGBA = function (e) { + return `rgba(${e.rgba.r}, ${e.rgba.g}, ${ + e.rgba.b + }, ${+e.rgba.a.toFixed(2)})`; + }), + (t.formatHSL = function (t) { + return 1 === t.hsla.a + ? `hsl(${t.hsla.h}, ${(100 * t.hsla.s).toFixed(2)}%, ${( + 100 * t.hsla.l + ).toFixed(2)}%)` + : e.Format.CSS.formatHSLA(t); + }), + (t.formatHSLA = function (e) { + return `hsla(${e.hsla.h}, ${(100 * e.hsla.s).toFixed( + 2 + )}%, ${(100 * e.hsla.l).toFixed(2)}%, ${e.hsla.a.toFixed( + 2 + )})`; + }), + (t.formatHex = function (e) { + return `#${i(e.rgba.r)}${i(e.rgba.g)}${i(e.rgba.b)}`; + }), + (t.formatHexA = function (t, n = !1) { + return n && 1 === t.rgba.a + ? e.Format.CSS.formatHex(t) + : `#${i(t.rgba.r)}${i(t.rgba.g)}${i(t.rgba.b)}${i( + Math.round(255 * t.rgba.a) + )}`; + }), + (t.format = function (t) { + return t.isOpaque() + ? e.Format.CSS.formatHex(t) + : e.Format.CSS.formatRGBA(t); + }), + (t.parseHex = function (t) { + const i = t.length; + if (0 === i) return null; + if (35 !== t.charCodeAt(0)) return null; + if (7 === i) { + const i = 16 * n(t.charCodeAt(1)) + n(t.charCodeAt(2)), + s = 16 * n(t.charCodeAt(3)) + n(t.charCodeAt(4)), + o = 16 * n(t.charCodeAt(5)) + n(t.charCodeAt(6)); + return new e(new r(i, s, o, 1)); + } + if (9 === i) { + const i = 16 * n(t.charCodeAt(1)) + n(t.charCodeAt(2)), + s = 16 * n(t.charCodeAt(3)) + n(t.charCodeAt(4)), + o = 16 * n(t.charCodeAt(5)) + n(t.charCodeAt(6)), + a = 16 * n(t.charCodeAt(7)) + n(t.charCodeAt(8)); + return new e(new r(i, s, o, a / 255)); + } + if (4 === i) { + const i = n(t.charCodeAt(1)), + s = n(t.charCodeAt(2)), + o = n(t.charCodeAt(3)); + return new e(new r(16 * i + i, 16 * s + s, 16 * o + o)); + } + if (5 === i) { + const i = n(t.charCodeAt(1)), + s = n(t.charCodeAt(2)), + o = n(t.charCodeAt(3)), + a = n(t.charCodeAt(4)); + return new e( + new r( + 16 * i + i, + 16 * s + s, + 16 * o + o, + (16 * a + a) / 255 + ) + ); + } + return null; + }); + })((i = t.CSS || (t.CSS = {}))); + })((t = e.Format || (e.Format = {}))); + })(a || (a = {})); + }, + 49898: (e, t, i) => { + 'use strict'; + i.d(t, { H: () => r }); + let n = 0; + function r(e, t, i) { + return (function () { + const e = '$memoize' + n++; + let t; + const i = function (i, n, r) { + let s = null, + o = null; + if ( + ('function' == typeof r.value + ? ((s = 'value'), + (o = r.value), + 0 !== o.length && + console.warn( + 'Memoize should only be used in functions with zero parameters' + )) + : 'function' == typeof r.get && ((s = 'get'), (o = r.get)), + !o) + ) + throw new Error('not supported'); + const a = `${e}:${n}`; + r[s] = function (...e) { + return ( + (t = this), + this.hasOwnProperty(a) || + Object.defineProperty(this, a, { + configurable: !0, + enumerable: !1, + writable: !0, + value: o.apply(this, e), + }), + this[a] + ); + }; + }; + return ( + (i.clear = () => { + void 0 !== t && + Object.getOwnPropertyNames(t).forEach((i) => { + 0 === i.indexOf(e) && delete t[i]; + }); + }), + i + ); + })()(e, t, i); + } + }, + 17301: (e, t, i) => { + 'use strict'; + i.d(t, { + dL: () => r, + Cp: () => s, + ri: () => o, + VV: () => l, + F0: () => c, + b1: () => d, + L6: () => h, + }); + const n = new (class { + constructor() { + (this.listeners = []), + (this.unexpectedErrorHandler = function (e) { + setTimeout(() => { + if (e.stack) throw new Error(e.message + '\n\n' + e.stack); + throw e; + }, 0); + }); + } + emit(e) { + this.listeners.forEach((t) => { + t(e); + }); + } + onUnexpectedError(e) { + this.unexpectedErrorHandler(e), this.emit(e); + } + onUnexpectedExternalError(e) { + this.unexpectedErrorHandler(e); + } + })(); + function r(e) { + l(e) || n.onUnexpectedError(e); + } + function s(e) { + l(e) || n.onUnexpectedExternalError(e); + } + function o(e) { + if (e instanceof Error) { + let { name: t, message: i } = e; + return { + $isError: !0, + name: t, + message: i, + stack: e.stacktrace || e.stack, + }; + } + return e; + } + const a = 'Canceled'; + function l(e) { + return e instanceof Error && e.name === a && e.message === a; + } + function c() { + const e = new Error(a); + return (e.name = e.message), e; + } + function d(e) { + return e + ? new Error(`Illegal argument: ${e}`) + : new Error('Illegal argument'); + } + function h(e) { + return e + ? new Error(`Illegal state: ${e}`) + : new Error('Illegal state'); + } + }, + 4669: (e, t, i) => { + 'use strict'; + i.d(t, { + ju: () => n, + Q5: () => a, + K3: () => l, + E7: () => c, + ZD: () => d, + }); + var n, + r = i(17301), + s = i(5976), + o = i(91741); + !(function (e) { + function t(e) { + return (t, i = null, n) => { + let r, + s = !1; + return ( + (r = e( + (e) => { + if (!s) return r ? r.dispose() : (s = !0), t.call(i, e); + }, + null, + n + )), + s && r.dispose(), + r + ); + }; + } + function i(e, t) { + return l((i, n = null, r) => e((e) => i.call(n, t(e)), null, r)); + } + function n(e, t) { + return l((i, n = null, r) => + e( + (e) => { + t(e), i.call(n, e); + }, + null, + r + ) + ); + } + function r(e, t) { + return l((i, n = null, r) => + e((e) => t(e) && i.call(n, e), null, r) + ); + } + function o(e, t, n) { + let r = n; + return i(e, (e) => ((r = t(r, e)), r)); + } + function l(e) { + let t; + const i = new a({ + onFirstListenerAdd() { + t = e(i.fire, i); + }, + onLastListenerRemove() { + t.dispose(); + }, + }); + return i.event; + } + function c(e, t, i = 100, n = !1, r) { + let s, + o, + l, + c = 0; + const d = new a({ + leakWarningThreshold: r, + onFirstListenerAdd() { + s = e((e) => { + c++, + (o = t(o, e)), + n && !l && (d.fire(o), (o = void 0)), + clearTimeout(l), + (l = setTimeout(() => { + const e = o; + (o = void 0), + (l = void 0), + (!n || c > 1) && d.fire(e), + (c = 0); + }, i)); + }); + }, + onLastListenerRemove() { + s.dispose(); + }, + }); + return d.event; + } + function d(e) { + let t, + i = !0; + return r(e, (e) => { + const n = i || e !== t; + return (i = !1), (t = e), n; + }); + } + (e.None = () => s.JT.None), + (e.once = t), + (e.map = i), + (e.forEach = n), + (e.filter = r), + (e.signal = function (e) { + return e; + }), + (e.any = function (...e) { + return (t, i = null, n) => + (0, s.F8)(...e.map((e) => e((e) => t.call(i, e), null, n))); + }), + (e.reduce = o), + (e.snapshot = l), + (e.debounce = c), + (e.stopwatch = function (e) { + const n = new Date().getTime(); + return i(t(e), (e) => new Date().getTime() - n); + }), + (e.latch = d), + (e.buffer = function (e, t = !1, i = []) { + let n = i.slice(), + r = e((e) => { + n ? n.push(e) : o.fire(e); + }); + const s = () => { + n && n.forEach((e) => o.fire(e)), (n = null); + }, + o = new a({ + onFirstListenerAdd() { + r || (r = e((e) => o.fire(e))); + }, + onFirstListenerDidAdd() { + n && (t ? setTimeout(s) : s()); + }, + onLastListenerRemove() { + r && r.dispose(), (r = null); + }, + }); + return o.event; + }); + class h { + constructor(e) { + this.event = e; + } + map(e) { + return new h(i(this.event, e)); + } + forEach(e) { + return new h(n(this.event, e)); + } + filter(e) { + return new h(r(this.event, e)); + } + reduce(e, t) { + return new h(o(this.event, e, t)); + } + latch() { + return new h(d(this.event)); + } + debounce(e, t = 100, i = !1, n) { + return new h(c(this.event, e, t, i, n)); + } + on(e, t, i) { + return this.event(e, t, i); + } + once(e, i, n) { + return t(this.event)(e, i, n); + } + } + (e.chain = function (e) { + return new h(e); + }), + (e.fromNodeEventEmitter = function (e, t, i = (e) => e) { + const n = (...e) => r.fire(i(...e)), + r = new a({ + onFirstListenerAdd: () => e.on(t, n), + onLastListenerRemove: () => e.removeListener(t, n), + }); + return r.event; + }), + (e.fromDOMEventEmitter = function (e, t, i = (e) => e) { + const n = (...e) => r.fire(i(...e)), + r = new a({ + onFirstListenerAdd: () => e.addEventListener(t, n), + onLastListenerRemove: () => e.removeEventListener(t, n), + }); + return r.event; + }), + (e.fromPromise = function (e) { + const t = new a(); + let i = !1; + return ( + e + .then(void 0, () => null) + .then(() => { + i ? t.fire(void 0) : setTimeout(() => t.fire(void 0), 0); + }), + (i = !0), + t.event + ); + }), + (e.toPromise = function (e) { + return new Promise((i) => t(e)(i)); + }); + })(n || (n = {})); + class a { + constructor(e) { + (this._disposed = !1), + (this._options = e), + (this._leakageMon = void 0); + } + get event() { + return ( + this._event || + (this._event = (e, t, i) => { + this._listeners || (this._listeners = new o.S()); + const n = this._listeners.isEmpty(); + n && + this._options && + this._options.onFirstListenerAdd && + this._options.onFirstListenerAdd(this); + const r = this._listeners.push(t ? [e, t] : e); + let l, c; + return ( + n && + this._options && + this._options.onFirstListenerDidAdd && + this._options.onFirstListenerDidAdd(this), + this._options && + this._options.onListenerDidAdd && + this._options.onListenerDidAdd(this, e, t), + this._leakageMon && + (l = this._leakageMon.check(this._listeners.size)), + (c = { + dispose: () => { + l && l(), + (c.dispose = a._noop), + !this._disposed && + (r(), + this._options && + this._options.onLastListenerRemove) && + ((this._listeners && !this._listeners.isEmpty()) || + this._options.onLastListenerRemove(this)); + }, + }), + i instanceof s.SL + ? i.add(c) + : Array.isArray(i) && i.push(c), + c + ); + }), + this._event + ); + } + fire(e) { + if (this._listeners) { + this._deliveryQueue || (this._deliveryQueue = new o.S()); + for (let t of this._listeners) this._deliveryQueue.push([t, e]); + for (; this._deliveryQueue.size > 0; ) { + const [e, t] = this._deliveryQueue.shift(); + try { + 'function' == typeof e + ? e.call(void 0, t) + : e[0].call(e[1], t); + } catch (e) { + (0, r.dL)(e); + } + } + } + } + dispose() { + this._listeners && this._listeners.clear(), + this._deliveryQueue && this._deliveryQueue.clear(), + this._leakageMon && this._leakageMon.dispose(), + (this._disposed = !0); + } + } + a._noop = function () {}; + class l extends a { + constructor(e) { + super(e), + (this._isPaused = 0), + (this._eventQueue = new o.S()), + (this._mergeFn = e && e.merge); + } + pause() { + this._isPaused++; + } + resume() { + if (0 !== this._isPaused && 0 == --this._isPaused) + if (this._mergeFn) { + const e = this._eventQueue.toArray(); + this._eventQueue.clear(), super.fire(this._mergeFn(e)); + } else + for (; !this._isPaused && 0 !== this._eventQueue.size; ) + super.fire(this._eventQueue.shift()); + } + fire(e) { + this._listeners && + (0 !== this._isPaused ? this._eventQueue.push(e) : super.fire(e)); + } + } + class c { + constructor() { + this.buffers = []; + } + wrapEvent(e) { + return (t, i, n) => + e( + (e) => { + const n = this.buffers[this.buffers.length - 1]; + n ? n.push(() => t.call(i, e)) : t.call(i, e); + }, + void 0, + n + ); + } + bufferEvents(e) { + const t = []; + this.buffers.push(t); + const i = e(); + return this.buffers.pop(), t.forEach((e) => e()), i; + } + } + class d { + constructor() { + (this.listening = !1), + (this.inputEvent = n.None), + (this.inputEventListener = s.JT.None), + (this.emitter = new a({ + onFirstListenerDidAdd: () => { + (this.listening = !0), + (this.inputEventListener = this.inputEvent( + this.emitter.fire, + this.emitter + )); + }, + onLastListenerRemove: () => { + (this.listening = !1), this.inputEventListener.dispose(); + }, + })), + (this.event = this.emitter.event); + } + set input(e) { + (this.inputEvent = e), + this.listening && + (this.inputEventListener.dispose(), + (this.inputEventListener = e(this.emitter.fire, this.emitter))); + } + dispose() { + this.inputEventListener.dispose(), this.emitter.dispose(); + } + } + }, + 15527: (e, t, i) => { + 'use strict'; + i.d(t, { e: () => s, K: () => o }); + var n = i(97295), + r = i(88721); + function s(e) { + return e.replace(/[\\/]/g, r.KR.sep); + } + function o(e, t, i, s = r.ir) { + if (e === t) return !0; + if (!e || !t) return !1; + if (t.length > e.length) return !1; + if (i) { + if (!(0, n.ok)(e, t)) return !1; + if (t.length === e.length) return !0; + let i = t.length; + return t.charAt(t.length - 1) === s && i--, e.charAt(i) === s; + } + return t.charAt(t.length - 1) !== s && (t += s), 0 === e.indexOf(t); + } + }, + 75392: (e, t, i) => { + 'use strict'; + i.d(t, { + or: () => s, + Ji: () => o, + ir: () => a, + KZ: () => y, + Oh: () => L, + jB: () => M, + mB: () => D, + CL: () => P, + EW: () => F, + l7: () => U, + }); + var n = i(43702), + r = i(97295); + function s(...e) { + return function (t, i) { + for (let n = 0, r = e.length; n < r; n++) { + const r = e[n](t, i); + if (r) return r; + } + return null; + }; + } + const o = function (e, t, i) { + if (!i || i.length < t.length) return null; + let n; + return ( + (n = e ? r.ok(i, t) : 0 === i.indexOf(t)), + n ? (t.length > 0 ? [{ start: 0, end: t.length }] : []) : null + ); + }.bind(void 0, !0); + function a(e, t) { + const i = t.toLowerCase().indexOf(e.toLowerCase()); + return -1 === i ? null : [{ start: i, end: i + e.length }]; + } + function l(e, t, i, n) { + if (i === e.length) return []; + if (n === t.length) return null; + if (e[i] === t[n]) { + let r = null; + return (r = l(e, t, i + 1, n + 1)) + ? m({ start: n, end: n + 1 }, r) + : null; + } + return l(e, t, i, n + 1); + } + function c(e) { + return 97 <= e && e <= 122; + } + function d(e) { + return 65 <= e && e <= 90; + } + function h(e) { + return 48 <= e && e <= 57; + } + function u(e) { + return 32 === e || 9 === e || 10 === e || 13 === e; + } + const g = new Set(); + function f(e) { + return u(e) || g.has(e); + } + function p(e) { + return c(e) || d(e) || h(e); + } + function m(e, t) { + return ( + 0 === t.length + ? (t = [e]) + : e.end === t[0].start + ? (t[0].start = e.start) + : t.unshift(e), + t + ); + } + function _(e, t) { + for (let i = t; i < e.length; i++) { + const t = e.charCodeAt(i); + if (d(t) || h(t) || (i > 0 && !p(e.charCodeAt(i - 1)))) return i; + } + return e.length; + } + function b(e, t, i, n) { + if (i === e.length) return []; + if (n === t.length) return null; + if (e[i] !== t[n].toLowerCase()) return null; + { + let r = null, + s = n + 1; + for (r = b(e, t, i + 1, n + 1); !r && (s = _(t, s)) < t.length; ) + (r = b(e, t, i + 1, s)), s++; + return null === r ? null : m({ start: n, end: n + 1 }, r); + } + } + function v(e, t) { + if (!t) return null; + if (0 === (t = t.trim()).length) return null; + if ( + !(function (e) { + let t = 0, + i = 0, + n = 0, + r = 0; + for (let s = 0; s < e.length; s++) + (n = e.charCodeAt(s)), d(n) && t++, c(n) && i++, u(n) && r++; + return (0 !== t && 0 !== i) || 0 !== r ? t <= 5 : e.length <= 30; + })(e) + ) + return null; + if (t.length > 60) return null; + const i = (function (e) { + let t = 0, + i = 0, + n = 0, + r = 0, + s = 0; + for (let o = 0; o < e.length; o++) + (s = e.charCodeAt(o)), + d(s) && t++, + c(s) && i++, + p(s) && n++, + h(s) && r++; + return { + upperPercent: t / e.length, + lowerPercent: i / e.length, + alphaPercent: n / e.length, + numericPercent: r / e.length, + }; + })(t); + if ( + !(function (e) { + const { + upperPercent: t, + lowerPercent: i, + alphaPercent: n, + numericPercent: r, + } = e; + return i > 0.2 && t < 0.8 && n > 0.6 && r < 0.2; + })(i) + ) { + if ( + !(function (e) { + const { upperPercent: t, lowerPercent: i } = e; + return 0 === i && t > 0.6; + })(i) + ) + return null; + t = t.toLowerCase(); + } + let n = null, + r = 0; + for ( + e = e.toLowerCase(); + r < t.length && null === (n = b(e, t, 0, r)); + + ) + r = _(t, r + 1); + return n; + } + function y(e, t, i = !1) { + if (!t || 0 === t.length) return null; + let n = null, + r = 0; + for ( + e = e.toLowerCase(), t = t.toLowerCase(); + r < t.length && null === (n = w(e, t, 0, r, i)); + + ) + r = C(t, r + 1); + return n; + } + function w(e, t, i, n, r) { + if (i === e.length) return []; + if (n === t.length) return null; + if ( + (s = e.charCodeAt(i)) === (o = t.charCodeAt(n)) || + (f(s) && f(o)) + ) { + let s = null, + o = n + 1; + if (((s = w(e, t, i + 1, n + 1, r)), !r)) + for (; !s && (o = C(t, o)) < t.length; ) + (s = w(e, t, i + 1, o, r)), o++; + return null === s ? null : m({ start: n, end: n + 1 }, s); + } + return null; + var s, o; + } + function C(e, t) { + for (let i = t; i < e.length; i++) + if (f(e.charCodeAt(i)) || (i > 0 && f(e.charCodeAt(i - 1)))) + return i; + return e.length; + } + '`~!@#$%^&*()-=+[{]}\\|;:\'",.<>/?' + .split('') + .forEach((e) => g.add(e.charCodeAt(0))); + const S = s(o, v, a), + k = s(o, v, function (e, t) { + return l(e.toLowerCase(), t.toLowerCase(), 0, 0); + }), + x = new n.z6(1e4); + function L(e, t, i = !1) { + if ('string' != typeof e || 'string' != typeof t) return null; + let n = x.get(e); + n || ((n = new RegExp(r.un(e), 'i')), x.set(e, n)); + const s = n.exec(t); + return s + ? [{ start: s.index, end: s.index + s[0].length }] + : i + ? k(e, t) + : S(e, t); + } + function M(e, t, i, n, r, s) { + const o = F(e, t, 0, n, r, 0, !0); + if (o) return o; + let a = 0, + l = 0, + c = s; + for (let e = 0; e < t.length && e < N; ++e) { + const i = r.indexOf(t.charAt(e), c); + if (i >= 0) (l += 1), (a += Math.pow(2, i)), (c = i + 1); + else if (0 !== a) break; + } + return [l, a, s]; + } + function D(e) { + if (void 0 === e) return []; + const t = e[1].toString(2), + i = []; + for (let n = e[2]; n < N; n++) + if ('1' === t[t.length - (n + 1)]) { + const e = i[i.length - 1]; + e && e.end === n + ? (e.end = n + 1) + : i.push({ start: n, end: n + 1 }); + } + return i; + } + const N = 128; + function E() { + const e = [], + t = [0]; + for (let e = 1; e <= N; e++) t.push(-e); + for (let i = 0; i <= N; i++) { + const n = t.slice(0); + (n[0] = -i), e.push(n); + } + return e; + } + const T = E(), + I = E(), + O = E(); + function A(e, t) { + if (t < 0 || t >= e.length) return !1; + switch (e.charCodeAt(t)) { + case 95: + case 45: + case 46: + case 32: + case 47: + case 92: + case 39: + case 34: + case 58: + case 36: + return !0; + default: + return !1; + } + } + function R(e, t, i) { + return t[e] !== i[e]; + } + var P; + function F(e, t, i, n, r, s, o) { + const a = e.length > N ? N : e.length, + l = n.length > N ? N : n.length; + if (i >= a || s >= l || a - i > l - s) return; + if ( + !(function (e, t, i, n, r, s) { + for (; t < i && r < s; ) e[t] === n[r] && (t += 1), (r += 1); + return t === i; + })(t, i, a, r, s, l) + ) + return; + let c = 1, + d = 1, + h = i, + u = s, + g = !1; + for (c = 1, h = i; h < a; c++, h++) + for (d = 1, u = s; u < l; d++, u++) { + const s = B(e, t, h, i, n, r, u); + h === i && s > 1 && (g = !0), (I[c][d] = s); + const o = T[c - 1][d - 1] + (s > 1 ? 1 : s), + a = T[c - 1][d] + -1, + l = T[c][d - 1] + -1; + l >= a + ? l > o + ? ((T[c][d] = l), (O[c][d] = 4)) + : l === o + ? ((T[c][d] = l), (O[c][d] = 6)) + : ((T[c][d] = o), (O[c][d] = 2)) + : a > o + ? ((T[c][d] = a), (O[c][d] = 1)) + : a === o + ? ((T[c][d] = a), (O[c][d] = 3)) + : ((T[c][d] = o), (O[c][d] = 2)); + } + return (g || o) && + ((W = 0), + (H = -100), + (j = s), + (V = o), + z(c - 1, d - 1, a === l ? 1 : 0, 0, !1), + 0 !== W) + ? [H, Y, s] + : void 0; + } + function B(e, t, i, n, r, s, o) { + return t[i] !== s[o] + ? -1 + : o === i - n + ? e[i] === r[o] + ? 7 + : 5 + : !R(o, r, s) || (0 !== o && R(o - 1, r, s)) + ? !A(s, o) || (0 !== o && A(s, o - 1)) + ? A(s, o - 1) || + (function (e, t) { + if (t < 0 || t >= e.length) return !1; + switch (e.charCodeAt(t)) { + case 32: + case 9: + return !0; + default: + return !1; + } + })(s, o - 1) + ? 5 + : 1 + : 5 + : e[i] === r[o] + ? 7 + : 5; + } + !(function (e) { + (e.Default = Object.freeze([-100, 0, 0])), + (e.isDefault = function (e) { + return !e || (-100 === e[0] && 0 === e[1] && 0 === e[2]); + }); + })(P || (P = {})); + let W = 0, + Y = 0, + H = 0, + j = 0, + V = !1; + function z(e, t, i, n, r) { + if (W >= 10 || i < -25) return; + let s = 0; + for (; e > 0 && t > 0; ) { + const o = I[e][t], + a = O[e][t]; + if (4 === a) + (t -= 1), r ? (i -= 5) : 0 !== n && (i -= 1), (r = !1), (s = 0); + else { + if (!(2 & a)) return; + if ( + (4 & a && z(e, t - 1, 0 !== n ? i - 1 : i, n, r), + (i += o), + (e -= 1), + (t -= 1), + (r = !0), + (n += Math.pow(2, t + j)), + 1 === o) + ) { + if (((s += 1), 0 === e && !V)) return; + } else (i += 1 + s * (o - 1)), (s = 0); + } + } + (W += 1), (i -= t >= 3 ? 9 : 3 * t) > H && ((H = i), (Y = n)); + } + function U(e, t, i, n, r, s, o) { + return (function (e, t, i, n, r, s, o, a) { + let l = F(e, t, i, n, r, s, a); + if (e.length >= 3) { + const t = Math.min(7, e.length - 1); + for (let o = i + 1; o < t; o++) { + const t = $(e, o); + if (t) { + const e = F(t, t.toLowerCase(), i, n, r, s, a); + e && ((e[0] -= 3), (!l || e[0] > l[0]) && (l = e)); + } + } + } + return l; + })(e, t, i, n, r, s, 0, o); + } + function $(e, t) { + if (t + 1 >= e.length) return; + const i = e[t], + n = e[t + 1]; + return i !== n ? e.slice(0, t) + n + i + e.slice(t + 2) : void 0; + } + }, + 88289: (e, t, i) => { + 'use strict'; + function n(e) { + const t = this; + let i, + n = !1; + return function () { + return n || ((n = !0), (i = e.apply(t, arguments))), i; + }; + } + i.d(t, { I: () => n }); + }, + 14118: (e, t, i) => { + 'use strict'; + i.d(t, { EQ: () => M }); + var n = i(9488), + r = i(97295), + s = i(15527), + o = i(88721), + a = i(43702), + l = i(15393); + const c = '**', + d = /\//g; + function h(e) { + switch (e) { + case 0: + return ''; + case 1: + return '[^/\\\\]*?'; + default: + return '(?:[/\\\\]|[^/\\\\]+[/\\\\]|[/\\\\][^/\\\\]+)*?'; + } + } + function u(e, t) { + if (!e) return []; + const i = []; + let n = !1, + r = !1, + s = ''; + for (const o of e) { + switch (o) { + case t: + if (!n && !r) { + i.push(s), (s = ''); + continue; + } + break; + case '{': + n = !0; + break; + case '}': + n = !1; + break; + case '[': + r = !0; + break; + case ']': + r = !1; + } + s += o; + } + return s && i.push(s), i; + } + function g(e) { + if (!e) return ''; + let t = ''; + const i = u(e, '/'); + if (i.every((e) => e === c)) t = '.*'; + else { + let e = !1; + i.forEach((n, s) => { + if (n === c) return void (e || ((t += h(2)), (e = !0))); + let o = !1, + a = '', + l = !1, + d = ''; + for (const e of n) + if ('}' !== e && o) a += e; + else if (!l || (']' === e && d)) + switch (e) { + case '{': + o = !0; + continue; + case '[': + l = !0; + continue; + case '}': + const i = `(?:${u(a, ',') + .map((e) => g(e)) + .join('|')})`; + (t += i), (o = !1), (a = ''); + break; + case ']': + (t += '[' + d + ']'), (l = !1), (d = ''); + break; + case '?': + t += '[^/\\\\]'; + continue; + case '*': + t += h(1); + continue; + default: + t += r.ec(e); + } + else { + let t; + (t = + '-' === e + ? e + : ('^' !== e && '!' !== e) || d + ? '/' === e + ? '' + : r.ec(e) + : '^'), + (d += t); + } + s < i.length - 1 && + (i[s + 1] !== c || s + 2 < i.length) && + (t += '[/\\\\]'), + (e = !1); + }); + } + return t; + } + const f = /^\*\*\/\*\.[\w\.-]+$/, + p = /^\*\*\/([\w\.-]+)\/?$/, + m = /^{\*\*\/[\*\.]?[\w\.-]+\/?(,\*\*\/[\*\.]?[\w\.-]+\/?)*}$/, + _ = /^{\*\*\/[\*\.]?[\w\.-]+(\/(\*\*)?)?(,\*\*\/[\*\.]?[\w\.-]+(\/(\*\*)?)?)*}$/, + b = /^\*\*((\/[\w\.-]+)+)\/?$/, + v = /^([\w\.-]+(\/[\w\.-]+)*)\/?$/, + y = new a.z6(1e4), + w = function () { + return !1; + }, + C = function () { + return null; + }; + function S(e, t) { + if (!e) return C; + let i; + (i = 'string' != typeof e ? e.pattern : e), (i = i.trim()); + const r = `${i}_${!!t.trimForExclusions}`; + let s, + o = y.get(r); + if (o) return k(o, e); + if (f.test(i)) { + const e = i.substr(4); + o = function (t, n) { + return 'string' == typeof t && t.endsWith(e) ? i : null; + }; + } else + o = (s = p.exec(x(i, t))) + ? (function (e, t) { + const i = `/${e}`, + n = `\\${e}`, + r = function (r, s) { + return 'string' != typeof r + ? null + : s + ? s === e + ? t + : null + : r === e || r.endsWith(i) || r.endsWith(n) + ? t + : null; + }, + s = [e]; + return ( + (r.basenames = s), + (r.patterns = [t]), + (r.allBasenames = s), + r + ); + })(s[1], i) + : (t.trimForExclusions ? _ : m).test(i) + ? (function (e, t) { + const i = D( + e + .slice(1, -1) + .split(',') + .map((e) => S(e, t)) + .filter((e) => e !== C), + e + ), + r = i.length; + if (!r) return C; + if (1 === r) return i[0]; + const s = function (t, n) { + for (let r = 0, s = i.length; r < s; r++) + if (i[r](t, n)) return e; + return null; + }, + o = n.Ps(i, (e) => !!e.allBasenames); + o && (s.allBasenames = o.allBasenames); + const a = i.reduce( + (e, t) => (t.allPaths ? e.concat(t.allPaths) : e), + [] + ); + return a.length && (s.allPaths = a), s; + })(i, t) + : (s = b.exec(x(i, t))) + ? L(s[1].substr(1), i, !0) + : (s = v.exec(x(i, t))) + ? L(s[1], i, !1) + : (function (e) { + try { + const t = new RegExp(`^${g(e)}$`); + return function (i) { + return ( + (t.lastIndex = 0), + 'string' == typeof i && t.test(i) ? e : null + ); + }; + } catch (e) { + return C; + } + })(i); + return y.set(r, o), k(o, e); + } + function k(e, t) { + return 'string' == typeof t + ? e + : function (i, n) { + return s.K(i, t.base) ? e(o.Gf(t.base, i), n) : null; + }; + } + function x(e, t) { + return t.trimForExclusions && e.endsWith('/**') + ? e.substr(0, e.length - 2) + : e; + } + function L(e, t, i) { + const n = o.ir !== o.KR.sep ? e.replace(d, o.ir) : e, + r = o.ir + n, + s = i + ? function (e, i) { + return 'string' != typeof e || (e !== n && !e.endsWith(r)) + ? null + : t; + } + : function (e, i) { + return 'string' == typeof e && e === n ? t : null; + }; + return (s.allPaths = [(i ? '*/' : './') + e]), s; + } + function M(e, t, i) { + return ( + !(!e || 'string' != typeof t) && + (function (e, t = {}) { + if (!e) return w; + if ( + 'string' == typeof e || + (function (e) { + const t = e; + return ( + t && + 'string' == typeof t.base && + 'string' == typeof t.pattern + ); + })(e) + ) { + const i = S(e, t); + if (i === C) return w; + const n = function (e, t) { + return !!i(e, t); + }; + return ( + i.allBasenames && (n.allBasenames = i.allBasenames), + i.allPaths && (n.allPaths = i.allPaths), + n + ); + } + return (function (e, t) { + const i = D( + Object.getOwnPropertyNames(e) + .map((i) => + (function (e, t, i) { + if (!1 === t) return C; + const n = S(e, i); + if (n === C) return C; + if ('boolean' == typeof t) return n; + if (t) { + const i = t.when; + if ('string' == typeof i) { + const t = (t, r, s, o) => { + if (!o || !n(t, r)) return null; + const a = o(i.replace('$(basename)', s)); + return (0, l.J8)(a) + ? a.then((t) => (t ? e : null)) + : a + ? e + : null; + }; + return (t.requiresSiblings = !0), t; + } + } + return n; + })(i, e[i], t) + ) + .filter((e) => e !== C) + ), + r = i.length; + if (!r) return C; + if (!i.some((e) => !!e.requiresSiblings)) { + if (1 === r) return i[0]; + const e = function (e, t) { + for (let n = 0, r = i.length; n < r; n++) { + const r = i[n](e, t); + if (r) return r; + } + return null; + }, + t = n.Ps(i, (e) => !!e.allBasenames); + t && (e.allBasenames = t.allBasenames); + const s = i.reduce( + (e, t) => (t.allPaths ? e.concat(t.allPaths) : e), + [] + ); + return s.length && (e.allPaths = s), e; + } + const s = function (e, t, n) { + let r; + for (let s = 0, a = i.length; s < a; s++) { + const a = i[s]; + a.requiresSiblings && + n && + (t || (t = o.EZ(e)), + r || (r = t.substr(0, t.length - o.DZ(e).length))); + const l = a(e, t, r, n); + if (l) return l; + } + return null; + }, + a = n.Ps(i, (e) => !!e.allBasenames); + a && (s.allBasenames = a.allBasenames); + const c = i.reduce( + (e, t) => (t.allPaths ? e.concat(t.allPaths) : e), + [] + ); + return c.length && (s.allPaths = c), s; + })(e, t); + })(e)(t, void 0, i) + ); + } + function D(e, t) { + const i = e.filter((e) => !!e.basenames); + if (i.length < 2) return e; + const n = i.reduce((e, t) => { + const i = t.basenames; + return i ? e.concat(i) : e; + }, []); + let r; + if (t) { + r = []; + for (let e = 0, i = n.length; e < i; e++) r.push(t); + } else + r = i.reduce((e, t) => { + const i = t.patterns; + return i ? e.concat(i) : e; + }, []); + const s = function (e, t) { + if ('string' != typeof e) return null; + if (!t) { + let i; + for (i = e.length; i > 0; i--) { + const t = e.charCodeAt(i - 1); + if (47 === t || 92 === t) break; + } + t = e.substr(i); + } + const i = n.indexOf(t); + return -1 !== i ? r[i] : null; + }; + (s.basenames = n), (s.patterns = r), (s.allBasenames = n); + const o = e.filter((e) => !e.basenames); + return o.push(s), o; + } + }, + 89954: (e, t, i) => { + 'use strict'; + i.d(t, { vp: () => r, Cv: () => a, yP: () => h }); + var n = i(97295); + function r(e) { + return s(e, 0); + } + function s(e, t) { + switch (typeof e) { + case 'object': + return null === e + ? o(349, t) + : Array.isArray(e) + ? ((i = e), + (n = o(104579, (n = t))), + i.reduce((e, t) => s(t, e), n)) + : (function (e, t) { + return ( + (t = o(181387, t)), + Object.keys(e) + .sort() + .reduce((t, i) => ((t = a(i, t)), s(e[i], t)), t) + ); + })(e, t); + case 'string': + return a(e, t); + case 'boolean': + return (function (e, t) { + return o(e ? 433 : 863, t); + })(e, t); + case 'number': + return o(e, t); + case 'undefined': + return o(937, t); + default: + return o(617, t); + } + var i, n; + } + function o(e, t) { + return ((t << 5) - t + e) | 0; + } + function a(e, t) { + t = o(149417, t); + for (let i = 0, n = e.length; i < n; i++) t = o(e.charCodeAt(i), t); + return t; + } + function l(e, t, i = 32) { + const n = i - t; + return ((e << t) | ((~((1 << n) - 1) & e) >>> n)) >>> 0; + } + function c(e, t = 0, i = e.byteLength, n = 0) { + for (let r = 0; r < i; r++) e[t + r] = n; + } + function d(e, t = 32) { + return (function (e, t, i = '0') { + for (; e.length < t; ) e = i + e; + return e; + })((e >>> 0).toString(16), t / 4); + } + class h { + constructor() { + (this._h0 = 1732584193), + (this._h1 = 4023233417), + (this._h2 = 2562383102), + (this._h3 = 271733878), + (this._h4 = 3285377520), + (this._buff = new Uint8Array(67)), + (this._buffDV = new DataView(this._buff.buffer)), + (this._buffLen = 0), + (this._totalLen = 0), + (this._leftoverHighSurrogate = 0), + (this._finished = !1); + } + update(e) { + const t = e.length; + if (0 === t) return; + const i = this._buff; + let r, + s, + o = this._buffLen, + a = this._leftoverHighSurrogate; + for ( + 0 !== a + ? ((r = a), (s = -1), (a = 0)) + : ((r = e.charCodeAt(0)), (s = 0)); + ; + + ) { + let l = r; + if (n.ZG(r)) { + if (!(s + 1 < t)) { + a = r; + break; + } + { + const t = e.charCodeAt(s + 1); + n.YK(t) ? (s++, (l = n.rL(r, t))) : (l = 65533); + } + } else n.YK(r) && (l = 65533); + if (((o = this._push(i, o, l)), s++, !(s < t))) break; + r = e.charCodeAt(s); + } + (this._buffLen = o), (this._leftoverHighSurrogate = a); + } + _push(e, t, i) { + return ( + i < 128 + ? (e[t++] = i) + : i < 2048 + ? ((e[t++] = 192 | ((1984 & i) >>> 6)), + (e[t++] = 128 | ((63 & i) >>> 0))) + : i < 65536 + ? ((e[t++] = 224 | ((61440 & i) >>> 12)), + (e[t++] = 128 | ((4032 & i) >>> 6)), + (e[t++] = 128 | ((63 & i) >>> 0))) + : ((e[t++] = 240 | ((1835008 & i) >>> 18)), + (e[t++] = 128 | ((258048 & i) >>> 12)), + (e[t++] = 128 | ((4032 & i) >>> 6)), + (e[t++] = 128 | ((63 & i) >>> 0))), + t >= 64 && + (this._step(), + (t -= 64), + (this._totalLen += 64), + (e[0] = e[64]), + (e[1] = e[65]), + (e[2] = e[66])), + t + ); + } + digest() { + return ( + this._finished || + ((this._finished = !0), + this._leftoverHighSurrogate && + ((this._leftoverHighSurrogate = 0), + (this._buffLen = this._push( + this._buff, + this._buffLen, + 65533 + ))), + (this._totalLen += this._buffLen), + this._wrapUp()), + d(this._h0) + + d(this._h1) + + d(this._h2) + + d(this._h3) + + d(this._h4) + ); + } + _wrapUp() { + (this._buff[this._buffLen++] = 128), + c(this._buff, this._buffLen), + this._buffLen > 56 && (this._step(), c(this._buff)); + const e = 8 * this._totalLen; + this._buffDV.setUint32(56, Math.floor(e / 4294967296), !1), + this._buffDV.setUint32(60, e % 4294967296, !1), + this._step(); + } + _step() { + const e = h._bigBlock32, + t = this._buffDV; + for (let i = 0; i < 64; i += 4) + e.setUint32(i, t.getUint32(i, !1), !1); + for (let t = 64; t < 320; t += 4) + e.setUint32( + t, + l( + e.getUint32(t - 12, !1) ^ + e.getUint32(t - 32, !1) ^ + e.getUint32(t - 56, !1) ^ + e.getUint32(t - 64, !1), + 1 + ), + !1 + ); + let i, + n, + r, + s = this._h0, + o = this._h1, + a = this._h2, + c = this._h3, + d = this._h4; + for (let t = 0; t < 80; t++) + t < 20 + ? ((i = (o & a) | (~o & c)), (n = 1518500249)) + : t < 40 + ? ((i = o ^ a ^ c), (n = 1859775393)) + : t < 60 + ? ((i = (o & a) | (o & c) | (a & c)), (n = 2400959708)) + : ((i = o ^ a ^ c), (n = 3395469782)), + (r = + (l(s, 5) + i + d + n + e.getUint32(4 * t, !1)) & 4294967295), + (d = c), + (c = a), + (a = l(o, 30)), + (o = s), + (s = r); + (this._h0 = (this._h0 + s) & 4294967295), + (this._h1 = (this._h1 + o) & 4294967295), + (this._h2 = (this._h2 + a) & 4294967295), + (this._h3 = (this._h3 + c) & 4294967295), + (this._h4 = (this._h4 + d) & 4294967295); + } + } + h._bigBlock32 = new DataView(new ArrayBuffer(320)); + }, + 59365: (e, t, i) => { + 'use strict'; + i.d(t, { + W5: () => o, + CP: () => a, + W6: () => c, + oR: () => h, + v1: () => u, + }); + var n = i(9488), + r = i(73046), + s = i(17301); + class o { + constructor(e = '', t = !1) { + var i, n; + if (((this._value = e), 'string' != typeof this._value)) + throw (0, s.b1)('value'); + 'boolean' == typeof t + ? ((this._isTrusted = t), (this._supportThemeIcons = !1)) + : ((this._isTrusted = + null !== (i = t.isTrusted) && void 0 !== i && i), + (this._supportThemeIcons = + null !== (n = t.supportThemeIcons) && void 0 !== n && n)); + } + get value() { + return this._value; + } + get isTrusted() { + return this._isTrusted; + } + get supportThemeIcons() { + return this._supportThemeIcons; + } + appendText(e) { + return ( + (this._value += (this._supportThemeIcons ? (0, r.qQ)(e) : e) + .replace(/[\\`*_{}[\]()#+\-.!]/g, '\\$&') + .replace(/\n/g, '\n\n')), + this + ); + } + appendMarkdown(e) { + return (this._value += e), this; + } + appendCodeblock(e, t) { + return ( + (this._value += '\n```'), + (this._value += e), + (this._value += '\n'), + (this._value += t), + (this._value += '\n```\n'), + this + ); + } + } + function a(e) { + return l(e) ? !e.value : !Array.isArray(e) || e.every(a); + } + function l(e) { + return ( + e instanceof o || + (!(!e || 'object' != typeof e) && + !( + 'string' != typeof e.value || + ('boolean' != typeof e.isTrusted && void 0 !== e.isTrusted) || + ('boolean' != typeof e.supportThemeIcons && + void 0 !== e.supportThemeIcons) + )) + ); + } + function c(e, t) { + return ( + (!e && !t) || + (!(!e || !t) && + (Array.isArray(e) && Array.isArray(t) + ? (0, n.fS)(e, t, d) + : !(!l(e) || !l(t)) && d(e, t))) + ); + } + function d(e, t) { + return ( + e === t || + (!(!e || !t) && + e.value === t.value && + e.isTrusted === t.isTrusted && + e.supportThemeIcons === t.supportThemeIcons) + ); + } + function h(e) { + return e ? e.replace(/\\([\\`*_{}[\]()#+\-.!])/g, '$1') : e; + } + function u(e) { + const t = [], + i = e.split('|').map((e) => e.trim()); + e = i[0]; + const n = i[1]; + if (n) { + const e = /height=(\d+)/.exec(n), + i = /width=(\d+)/.exec(n), + r = e ? e[1] : '', + s = i ? i[1] : '', + o = isFinite(parseInt(s)), + a = isFinite(parseInt(r)); + o && t.push(`width="${s}"`), a && t.push(`height="${r}"`); + } + return { href: e, dimensions: t }; + } + }, + 44742: (e, t, i) => { + 'use strict'; + i.d(t, { R: () => n, a: () => r }); + class n { + constructor(e) { + (this._prefix = e), (this._lastId = 0); + } + nextId() { + return this._prefix + ++this._lastId; + } + } + const r = new n('id#'); + }, + 53725: (e, t, i) => { + 'use strict'; + var n; + i.d(t, { $: () => n }), + (function (e) { + e.is = function (e) { + return ( + e && + 'object' == typeof e && + 'function' == typeof e[Symbol.iterator] + ); + }; + const t = Object.freeze([]); + (e.empty = function () { + return t; + }), + (e.single = function* (e) { + yield e; + }), + (e.from = function (e) { + return e || t; + }), + (e.first = function (e) { + return e[Symbol.iterator]().next().value; + }), + (e.some = function (e, t) { + for (const i of e) if (t(i)) return !0; + return !1; + }), + (e.filter = function* (e, t) { + for (const i of e) t(i) && (yield i); + }), + (e.map = function* (e, t) { + for (const i of e) yield t(i); + }), + (e.concat = function* (...e) { + for (const t of e) for (const e of t) yield e; + }), + (e.consume = function (t, i = Number.POSITIVE_INFINITY) { + const n = []; + if (0 === i) return [n, t]; + const r = t[Symbol.iterator](); + for (let t = 0; t < i; t++) { + const t = r.next(); + if (t.done) return [n, e.empty()]; + n.push(t.value); + } + return [n, { [Symbol.iterator]: () => r }]; + }); + })(n || (n = {})); + }, + 22258: (e, t, i) => { + 'use strict'; + i.d(t, { + kL: () => l, + gx: () => c, + gm: () => d, + QC: () => u, + BQ: () => f, + f1: () => p, + }); + var n = i(17301); + class r { + constructor() { + (this._keyCodeToStr = []), + (this._strToKeyCode = Object.create(null)); + } + define(e, t) { + (this._keyCodeToStr[e] = t), + (this._strToKeyCode[t.toLowerCase()] = e); + } + keyCodeToStr(e) { + return this._keyCodeToStr[e]; + } + strToKeyCode(e) { + return this._strToKeyCode[e.toLowerCase()] || 0; + } + } + const s = new r(), + o = new r(), + a = new r(); + var l; + function c(e, t) { + return (e | (((65535 & t) << 16) >>> 0)) >>> 0; + } + function d(e, t) { + if (0 === e) return null; + const i = (65535 & e) >>> 0, + n = (4294901760 & e) >>> 16; + return new g(0 !== n ? [h(i, t), h(n, t)] : [h(i, t)]); + } + function h(e, t) { + const i = !!(2048 & e), + n = !!(256 & e); + return new u( + 2 === t ? n : i, + !!(1024 & e), + !!(512 & e), + 2 === t ? i : n, + 255 & e + ); + } + !(function () { + function e(e, t, i = t, n = i) { + s.define(e, t), o.define(e, i), a.define(e, n); + } + e(0, 'unknown'), + e(1, 'Backspace'), + e(2, 'Tab'), + e(3, 'Enter'), + e(4, 'Shift'), + e(5, 'Ctrl'), + e(6, 'Alt'), + e(7, 'PauseBreak'), + e(8, 'CapsLock'), + e(9, 'Escape'), + e(10, 'Space'), + e(11, 'PageUp'), + e(12, 'PageDown'), + e(13, 'End'), + e(14, 'Home'), + e(15, 'LeftArrow', 'Left'), + e(16, 'UpArrow', 'Up'), + e(17, 'RightArrow', 'Right'), + e(18, 'DownArrow', 'Down'), + e(19, 'Insert'), + e(20, 'Delete'), + e(21, '0'), + e(22, '1'), + e(23, '2'), + e(24, '3'), + e(25, '4'), + e(26, '5'), + e(27, '6'), + e(28, '7'), + e(29, '8'), + e(30, '9'), + e(31, 'A'), + e(32, 'B'), + e(33, 'C'), + e(34, 'D'), + e(35, 'E'), + e(36, 'F'), + e(37, 'G'), + e(38, 'H'), + e(39, 'I'), + e(40, 'J'), + e(41, 'K'), + e(42, 'L'), + e(43, 'M'), + e(44, 'N'), + e(45, 'O'), + e(46, 'P'), + e(47, 'Q'), + e(48, 'R'), + e(49, 'S'), + e(50, 'T'), + e(51, 'U'), + e(52, 'V'), + e(53, 'W'), + e(54, 'X'), + e(55, 'Y'), + e(56, 'Z'), + e(57, 'Meta'), + e(58, 'ContextMenu'), + e(59, 'F1'), + e(60, 'F2'), + e(61, 'F3'), + e(62, 'F4'), + e(63, 'F5'), + e(64, 'F6'), + e(65, 'F7'), + e(66, 'F8'), + e(67, 'F9'), + e(68, 'F10'), + e(69, 'F11'), + e(70, 'F12'), + e(71, 'F13'), + e(72, 'F14'), + e(73, 'F15'), + e(74, 'F16'), + e(75, 'F17'), + e(76, 'F18'), + e(77, 'F19'), + e(78, 'NumLock'), + e(79, 'ScrollLock'), + e(80, ';', ';', 'OEM_1'), + e(81, '=', '=', 'OEM_PLUS'), + e(82, ',', ',', 'OEM_COMMA'), + e(83, '-', '-', 'OEM_MINUS'), + e(84, '.', '.', 'OEM_PERIOD'), + e(85, '/', '/', 'OEM_2'), + e(86, '`', '`', 'OEM_3'), + e(110, 'ABNT_C1'), + e(111, 'ABNT_C2'), + e(87, '[', '[', 'OEM_4'), + e(88, '\\', '\\', 'OEM_5'), + e(89, ']', ']', 'OEM_6'), + e(90, "'", "'", 'OEM_7'), + e(91, 'OEM_8'), + e(92, 'OEM_102'), + e(93, 'NumPad0'), + e(94, 'NumPad1'), + e(95, 'NumPad2'), + e(96, 'NumPad3'), + e(97, 'NumPad4'), + e(98, 'NumPad5'), + e(99, 'NumPad6'), + e(100, 'NumPad7'), + e(101, 'NumPad8'), + e(102, 'NumPad9'), + e(103, 'NumPad_Multiply'), + e(104, 'NumPad_Add'), + e(105, 'NumPad_Separator'), + e(106, 'NumPad_Subtract'), + e(107, 'NumPad_Decimal'), + e(108, 'NumPad_Divide'); + })(), + (function (e) { + (e.toString = function (e) { + return s.keyCodeToStr(e); + }), + (e.fromString = function (e) { + return s.strToKeyCode(e); + }), + (e.toUserSettingsUS = function (e) { + return o.keyCodeToStr(e); + }), + (e.toUserSettingsGeneral = function (e) { + return a.keyCodeToStr(e); + }), + (e.fromUserSettings = function (e) { + return o.strToKeyCode(e) || a.strToKeyCode(e); + }); + })(l || (l = {})); + class u { + constructor(e, t, i, n, r) { + (this.ctrlKey = e), + (this.shiftKey = t), + (this.altKey = i), + (this.metaKey = n), + (this.keyCode = r); + } + equals(e) { + return ( + this.ctrlKey === e.ctrlKey && + this.shiftKey === e.shiftKey && + this.altKey === e.altKey && + this.metaKey === e.metaKey && + this.keyCode === e.keyCode + ); + } + isModifierKey() { + return ( + 0 === this.keyCode || + 5 === this.keyCode || + 57 === this.keyCode || + 6 === this.keyCode || + 4 === this.keyCode + ); + } + toChord() { + return new g([this]); + } + isDuplicateModifierCase() { + return ( + (this.ctrlKey && 5 === this.keyCode) || + (this.shiftKey && 4 === this.keyCode) || + (this.altKey && 6 === this.keyCode) || + (this.metaKey && 57 === this.keyCode) + ); + } + } + class g { + constructor(e) { + if (0 === e.length) throw (0, n.b1)('parts'); + this.parts = e; + } + } + class f { + constructor(e, t, i, n, r, s) { + (this.ctrlKey = e), + (this.shiftKey = t), + (this.altKey = i), + (this.metaKey = n), + (this.keyLabel = r), + (this.keyAriaLabel = s); + } + } + class p {} + }, + 68843: (e, t, i) => { + 'use strict'; + i.d(t, { kz: () => c, pP: () => d, DT: () => u }); + var n = i(70666), + r = i(88721), + s = i(97295), + o = i(66663), + a = i(1432), + l = i(95935); + function c(e, t, i) { + if (('string' == typeof e && (e = n.o.file(e)), i)) { + const t = i.getWorkspaceFolder(e); + if (t) { + const n = i.getWorkspace().folders.length > 1; + let r; + if (((r = (0, l.Xy)(t.uri, e) ? '' : (0, l.lX)(t.uri, e)), n)) { + const e = t.name ? t.name : (0, l.EZ)(t.uri); + r = r ? e + ' • ' + r : e; + } + return r; + } + } + if (e.scheme !== o.l.file && e.scheme !== o.l.untitled) + return e.with({ query: null, fragment: null }).toString(!0); + if (h(e.fsPath)) return (0, r.Fv)(u(e.fsPath)); + let c = (0, r.Fv)(e.fsPath); + return ( + !a.ED && + (null == t ? void 0 : t.userHome) && + (c = (function (e, t) { + if (a.ED || !e || !t) return e; + let i = g.original === t ? g.normalized : void 0; + return ( + i || + ((i = `${(0, s.oL)(t, r.KR.sep)}${r.KR.sep}`), + (g = { original: t, normalized: i })), + (a.IJ ? e.startsWith(i) : (0, s.ok)(e, i)) && + (e = `~/${e.substr(i.length)}`), + e + ); + })(c, t.userHome.fsPath)), + c + ); + } + function d(e) { + if (!e) return; + 'string' == typeof e && (e = n.o.file(e)); + const t = (0, l.EZ)(e) || (e.scheme === o.l.file ? e.fsPath : e.path); + return h(t) ? u(t) : t; + } + function h(e) { + return !(!a.ED || !e || ':' !== e[1]); + } + function u(e) { + return h(e) ? e.charAt(0).toUpperCase() + e.slice(1) : e; + } + let g = Object.create(null); + }, + 5976: (e, t, i) => { + 'use strict'; + i.d(t, { + Wf: () => o, + B9: () => a, + F8: () => l, + OF: () => c, + SL: () => d, + JT: () => h, + XK: () => u, + Jz: () => g, + }); + var n = i(53725); + function r(e) {} + class s extends Error { + constructor(e) { + super( + `Encounter errors while disposing of store. Errors: [${e.join( + ', ' + )}]` + ), + (this.errors = e); + } + } + function o(e) { + return 'function' == typeof e.dispose && 0 === e.dispose.length; + } + function a(e) { + if (n.$.is(e)) { + let t = []; + for (const i of e) + if (i) + try { + i.dispose(); + } catch (e) { + t.push(e); + } + if (1 === t.length) throw t[0]; + if (t.length > 1) throw new s(t); + return Array.isArray(e) ? [] : e; + } + if (e) return e.dispose(), e; + } + function l(...e) { + return e.forEach(r), { dispose: () => a(e) }; + } + function c(e) { + return { + dispose: () => { + e(); + }, + }; + } + class d { + constructor() { + (this._toDispose = new Set()), (this._isDisposed = !1); + } + dispose() { + this._isDisposed || ((this._isDisposed = !0), this.clear()); + } + clear() { + try { + a(this._toDispose.values()); + } finally { + this._toDispose.clear(); + } + } + add(e) { + if (!e) return e; + if (e === this) + throw new Error('Cannot register a disposable on itself!'); + return ( + this._isDisposed + ? d.DISABLE_DISPOSED_WARNING || + console.warn( + new Error( + 'Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!' + ).stack + ) + : this._toDispose.add(e), + e + ); + } + } + d.DISABLE_DISPOSED_WARNING = !1; + class h { + constructor() { + this._store = new d(); + } + dispose() { + this._store.dispose(); + } + _register(e) { + if (e === this) + throw new Error('Cannot register a disposable on itself!'); + return this._store.add(e); + } + } + h.None = Object.freeze({ dispose() {} }); + class u { + constructor() { + this._isDisposed = !1; + } + get value() { + return this._isDisposed ? void 0 : this._value; + } + set value(e) { + this._isDisposed || + e === this._value || + (this._value && this._value.dispose(), (this._value = e)); + } + clear() { + this.value = void 0; + } + dispose() { + (this._isDisposed = !0), + this._value && this._value.dispose(), + (this._value = void 0); + } + } + class g { + constructor(e) { + this.object = e; + } + dispose() {} + } + }, + 91741: (e, t, i) => { + 'use strict'; + i.d(t, { S: () => r }); + class n { + constructor(e) { + (this.element = e), + (this.next = n.Undefined), + (this.prev = n.Undefined); + } + } + n.Undefined = new n(void 0); + class r { + constructor() { + (this._first = n.Undefined), + (this._last = n.Undefined), + (this._size = 0); + } + get size() { + return this._size; + } + isEmpty() { + return this._first === n.Undefined; + } + clear() { + (this._first = n.Undefined), + (this._last = n.Undefined), + (this._size = 0); + } + unshift(e) { + return this._insert(e, !1); + } + push(e) { + return this._insert(e, !0); + } + _insert(e, t) { + const i = new n(e); + if (this._first === n.Undefined) + (this._first = i), (this._last = i); + else if (t) { + const e = this._last; + (this._last = i), (i.prev = e), (e.next = i); + } else { + const e = this._first; + (this._first = i), (i.next = e), (e.prev = i); + } + this._size += 1; + let r = !1; + return () => { + r || ((r = !0), this._remove(i)); + }; + } + shift() { + if (this._first !== n.Undefined) { + const e = this._first.element; + return this._remove(this._first), e; + } + } + pop() { + if (this._last !== n.Undefined) { + const e = this._last.element; + return this._remove(this._last), e; + } + } + _remove(e) { + if (e.prev !== n.Undefined && e.next !== n.Undefined) { + const t = e.prev; + (t.next = e.next), (e.next.prev = t); + } else + e.prev === n.Undefined && e.next === n.Undefined + ? ((this._first = n.Undefined), (this._last = n.Undefined)) + : e.next === n.Undefined + ? ((this._last = this._last.prev), + (this._last.next = n.Undefined)) + : e.prev === n.Undefined && + ((this._first = this._first.next), + (this._first.prev = n.Undefined)); + this._size -= 1; + } + *[Symbol.iterator]() { + let e = this._first; + for (; e !== n.Undefined; ) yield e.element, (e = e.next); + } + toArray() { + const e = []; + for (let t = this._first; t !== n.Undefined; t = t.next) + e.push(t.element); + return e; + } + } + }, + 43702: (e, t, i) => { + 'use strict'; + i.d(t, { Id: () => h, Y9: () => u, z6: () => f }); + var n = i(70666), + r = i(97295), + s = i(66663), + o = i(1432); + class a { + constructor() { + (this._value = ''), (this._pos = 0); + } + reset(e) { + return (this._value = e), (this._pos = 0), this; + } + next() { + return (this._pos += 1), this; + } + hasNext() { + return this._pos < this._value.length - 1; + } + cmp(e) { + return e.charCodeAt(0) - this._value.charCodeAt(this._pos); + } + value() { + return this._value[this._pos]; + } + } + class l { + constructor(e = !0, t = !0) { + (this._splitOnBackslash = e), (this._caseSensitive = t); + } + reset(e) { + return ( + (this._value = e.replace(/\\$|\/$/, '')), + (this._from = 0), + (this._to = 0), + this.next() + ); + } + hasNext() { + return this._to < this._value.length; + } + next() { + this._from = this._to; + let e = !0; + for (; this._to < this._value.length; this._to++) { + const t = this._value.charCodeAt(this._to); + if (47 === t || (this._splitOnBackslash && 92 === t)) { + if (!e) break; + this._from++; + } else e = !1; + } + return this; + } + cmp(e) { + return this._caseSensitive + ? (0, r.TT)(e, this._value, 0, e.length, this._from, this._to) + : (0, r.j_)(e, this._value, 0, e.length, this._from, this._to); + } + value() { + return this._value.substring(this._from, this._to); + } + } + class c { + constructor() { + (this._states = []), (this._stateIdx = 0); + } + reset(e) { + if ( + ((this._value = e), + (this._states = []), + this._value.scheme && this._states.push(1), + this._value.authority && this._states.push(2), + this._value.path) + ) { + const t = e.scheme === s.l.file && o.IJ; + (this._pathIterator = new l(!1, t)), + this._pathIterator.reset(e.path), + this._pathIterator.value() && this._states.push(3); + } + return ( + this._value.query && this._states.push(4), + this._value.fragment && this._states.push(5), + (this._stateIdx = 0), + this + ); + } + next() { + return ( + 3 === this._states[this._stateIdx] && this._pathIterator.hasNext() + ? this._pathIterator.next() + : (this._stateIdx += 1), + this + ); + } + hasNext() { + return ( + (3 === this._states[this._stateIdx] && + this._pathIterator.hasNext()) || + this._stateIdx < this._states.length - 1 + ); + } + cmp(e) { + if (1 === this._states[this._stateIdx]) + return (0, r.qu)(e, this._value.scheme); + if (2 === this._states[this._stateIdx]) + return (0, r.j_)(e, this._value.authority); + if (3 === this._states[this._stateIdx]) + return this._pathIterator.cmp(e); + if (4 === this._states[this._stateIdx]) + return (0, r.qu)(e, this._value.query); + if (5 === this._states[this._stateIdx]) + return (0, r.qu)(e, this._value.fragment); + throw new Error(); + } + value() { + if (1 === this._states[this._stateIdx]) return this._value.scheme; + if (2 === this._states[this._stateIdx]) + return this._value.authority; + if (3 === this._states[this._stateIdx]) + return this._pathIterator.value(); + if (4 === this._states[this._stateIdx]) return this._value.query; + if (5 === this._states[this._stateIdx]) return this._value.fragment; + throw new Error(); + } + } + class d {} + class h { + constructor(e) { + this._iter = e; + } + static forUris() { + return new h(new c()); + } + static forStrings() { + return new h(new a()); + } + clear() { + this._root = void 0; + } + set(e, t) { + const i = this._iter.reset(e); + let n; + for ( + this._root || + ((this._root = new d()), (this._root.segment = i.value())), + n = this._root; + ; + + ) { + const e = i.cmp(n.segment); + if (e > 0) + n.left || ((n.left = new d()), (n.left.segment = i.value())), + (n = n.left); + else if (e < 0) + n.right || ((n.right = new d()), (n.right.segment = i.value())), + (n = n.right); + else { + if (!i.hasNext()) break; + i.next(), + n.mid || ((n.mid = new d()), (n.mid.segment = i.value())), + (n = n.mid); + } + } + const r = n.value; + return (n.value = t), (n.key = e), r; + } + get(e) { + const t = this._iter.reset(e); + let i = this._root; + for (; i; ) { + const e = t.cmp(i.segment); + if (e > 0) i = i.left; + else if (e < 0) i = i.right; + else { + if (!t.hasNext()) break; + t.next(), (i = i.mid); + } + } + return i ? i.value : void 0; + } + findSubstr(e) { + const t = this._iter.reset(e); + let i, + n = this._root; + for (; n; ) { + const e = t.cmp(n.segment); + if (e > 0) n = n.left; + else if (e < 0) n = n.right; + else { + if (!t.hasNext()) break; + t.next(), (i = n.value || i), (n = n.mid); + } + } + return (n && n.value) || i; + } + forEach(e) { + this._forEach(this._root, e); + } + _forEach(e, t) { + e && + (this._forEach(e.left, t), + e.value && t(e.value, e.key), + this._forEach(e.mid, t), + this._forEach(e.right, t)); + } + } + class u { + constructor(e, t) { + (this[Symbol.toStringTag] = 'ResourceMap'), + e instanceof u + ? ((this.map = new Map(e.map)), + (this.toKey = null != t ? t : u.defaultToKey)) + : ((this.map = new Map()), + (this.toKey = null != e ? e : u.defaultToKey)); + } + set(e, t) { + return this.map.set(this.toKey(e), t), this; + } + get(e) { + return this.map.get(this.toKey(e)); + } + has(e) { + return this.map.has(this.toKey(e)); + } + get size() { + return this.map.size; + } + clear() { + this.map.clear(); + } + delete(e) { + return this.map.delete(this.toKey(e)); + } + forEach(e, t) { + void 0 !== t && (e = e.bind(t)); + for (let [t, i] of this.map) e(i, n.o.parse(t), this); + } + values() { + return this.map.values(); + } + *keys() { + for (let e of this.map.keys()) yield n.o.parse(e); + } + *entries() { + for (let e of this.map.entries()) yield [n.o.parse(e[0]), e[1]]; + } + *[Symbol.iterator]() { + for (let e of this.map) yield [n.o.parse(e[0]), e[1]]; + } + } + u.defaultToKey = (e) => e.toString(); + class g { + constructor() { + (this[Symbol.toStringTag] = 'LinkedMap'), + (this._map = new Map()), + (this._head = void 0), + (this._tail = void 0), + (this._size = 0), + (this._state = 0); + } + clear() { + this._map.clear(), + (this._head = void 0), + (this._tail = void 0), + (this._size = 0), + this._state++; + } + isEmpty() { + return !this._head && !this._tail; + } + get size() { + return this._size; + } + get first() { + var e; + return null === (e = this._head) || void 0 === e ? void 0 : e.value; + } + get last() { + var e; + return null === (e = this._tail) || void 0 === e ? void 0 : e.value; + } + has(e) { + return this._map.has(e); + } + get(e, t = 0) { + const i = this._map.get(e); + if (i) return 0 !== t && this.touch(i, t), i.value; + } + set(e, t, i = 0) { + let n = this._map.get(e); + if (n) (n.value = t), 0 !== i && this.touch(n, i); + else { + switch ( + ((n = { key: e, value: t, next: void 0, previous: void 0 }), i) + ) { + case 0: + this.addItemLast(n); + break; + case 1: + this.addItemFirst(n); + break; + case 2: + default: + this.addItemLast(n); + } + this._map.set(e, n), this._size++; + } + return this; + } + delete(e) { + return !!this.remove(e); + } + remove(e) { + const t = this._map.get(e); + if (t) + return ( + this._map.delete(e), this.removeItem(t), this._size--, t.value + ); + } + shift() { + if (!this._head && !this._tail) return; + if (!this._head || !this._tail) throw new Error('Invalid list'); + const e = this._head; + return ( + this._map.delete(e.key), this.removeItem(e), this._size--, e.value + ); + } + forEach(e, t) { + const i = this._state; + let n = this._head; + for (; n; ) { + if ( + (t ? e.bind(t)(n.value, n.key, this) : e(n.value, n.key, this), + this._state !== i) + ) + throw new Error('LinkedMap got modified during iteration.'); + n = n.next; + } + } + keys() { + const e = this, + t = this._state; + let i = this._head; + const n = { + [Symbol.iterator]: () => n, + next() { + if (e._state !== t) + throw new Error('LinkedMap got modified during iteration.'); + if (i) { + const e = { value: i.key, done: !1 }; + return (i = i.next), e; + } + return { value: void 0, done: !0 }; + }, + }; + return n; + } + values() { + const e = this, + t = this._state; + let i = this._head; + const n = { + [Symbol.iterator]: () => n, + next() { + if (e._state !== t) + throw new Error('LinkedMap got modified during iteration.'); + if (i) { + const e = { value: i.value, done: !1 }; + return (i = i.next), e; + } + return { value: void 0, done: !0 }; + }, + }; + return n; + } + entries() { + const e = this, + t = this._state; + let i = this._head; + const n = { + [Symbol.iterator]: () => n, + next() { + if (e._state !== t) + throw new Error('LinkedMap got modified during iteration.'); + if (i) { + const e = { value: [i.key, i.value], done: !1 }; + return (i = i.next), e; + } + return { value: void 0, done: !0 }; + }, + }; + return n; + } + [Symbol.iterator]() { + return this.entries(); + } + trimOld(e) { + if (e >= this.size) return; + if (0 === e) return void this.clear(); + let t = this._head, + i = this.size; + for (; t && i > e; ) this._map.delete(t.key), (t = t.next), i--; + (this._head = t), + (this._size = i), + t && (t.previous = void 0), + this._state++; + } + addItemFirst(e) { + if (this._head || this._tail) { + if (!this._head) throw new Error('Invalid list'); + (e.next = this._head), (this._head.previous = e); + } else this._tail = e; + (this._head = e), this._state++; + } + addItemLast(e) { + if (this._head || this._tail) { + if (!this._tail) throw new Error('Invalid list'); + (e.previous = this._tail), (this._tail.next = e); + } else this._head = e; + (this._tail = e), this._state++; + } + removeItem(e) { + if (e === this._head && e === this._tail) + (this._head = void 0), (this._tail = void 0); + else if (e === this._head) { + if (!e.next) throw new Error('Invalid list'); + (e.next.previous = void 0), (this._head = e.next); + } else if (e === this._tail) { + if (!e.previous) throw new Error('Invalid list'); + (e.previous.next = void 0), (this._tail = e.previous); + } else { + const t = e.next, + i = e.previous; + if (!t || !i) throw new Error('Invalid list'); + (t.previous = i), (i.next = t); + } + (e.next = void 0), (e.previous = void 0), this._state++; + } + touch(e, t) { + if (!this._head || !this._tail) throw new Error('Invalid list'); + if (1 === t || 2 === t) + if (1 === t) { + if (e === this._head) return; + const t = e.next, + i = e.previous; + e === this._tail + ? ((i.next = void 0), (this._tail = i)) + : ((t.previous = i), (i.next = t)), + (e.previous = void 0), + (e.next = this._head), + (this._head.previous = e), + (this._head = e), + this._state++; + } else if (2 === t) { + if (e === this._tail) return; + const t = e.next, + i = e.previous; + e === this._head + ? ((t.previous = void 0), (this._head = t)) + : ((t.previous = i), (i.next = t)), + (e.next = void 0), + (e.previous = this._tail), + (this._tail.next = e), + (this._tail = e), + this._state++; + } + } + toJSON() { + const e = []; + return ( + this.forEach((t, i) => { + e.push([i, t]); + }), + e + ); + } + fromJSON(e) { + this.clear(); + for (const [t, i] of e) this.set(t, i); + } + } + class f extends g { + constructor(e, t = 1) { + super(), + (this._limit = e), + (this._ratio = Math.min(Math.max(0, t), 1)); + } + get limit() { + return this._limit; + } + set limit(e) { + (this._limit = e), this.checkTrim(); + } + get(e, t = 2) { + return super.get(e, t); + } + peek(e) { + return super.get(e, 0); + } + set(e, t) { + return super.set(e, t, 2), this.checkTrim(), this; + } + checkTrim() { + this.size > this._limit && + this.trimOld(Math.round(this._limit * this._ratio)); + } + } + }, + 33720: function (e) { + e.exports = (function () { + 'use strict'; + function e(e, t) { + for (var i = 0; i < t.length; i++) { + var n = t[i]; + (n.enumerable = n.enumerable || !1), + (n.configurable = !0), + 'value' in n && (n.writable = !0), + Object.defineProperty(e, n.key, n); + } + } + function t(e, t) { + (null == t || t > e.length) && (t = e.length); + for (var i = 0, n = new Array(t); i < t; i++) n[i] = e[i]; + return n; + } + function i(e, i) { + var n; + if ('undefined' == typeof Symbol || null == e[Symbol.iterator]) { + if ( + Array.isArray(e) || + (n = (function (e, i) { + if (e) { + if ('string' == typeof e) return t(e, i); + var n = Object.prototype.toString.call(e).slice(8, -1); + return ( + 'Object' === n && + e.constructor && + (n = e.constructor.name), + 'Map' === n || 'Set' === n + ? Array.from(e) + : 'Arguments' === n || + /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) + ? t(e, i) + : void 0 + ); + } + })(e)) || + (i && e && 'number' == typeof e.length) + ) { + n && (e = n); + var r = 0; + return function () { + return r >= e.length + ? { done: !0 } + : { done: !1, value: e[r++] }; + }; + } + throw new TypeError( + 'Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.' + ); + } + return (n = e[Symbol.iterator]()).next.bind(n); + } + var n = (function (e, t) { + return e((t = { exports: {} }), t.exports), t.exports; + })(function (e) { + function t() { + return { + baseUrl: null, + breaks: !1, + gfm: !0, + headerIds: !0, + headerPrefix: '', + highlight: null, + langPrefix: 'language-', + mangle: !0, + pedantic: !1, + renderer: null, + sanitize: !1, + sanitizer: null, + silent: !1, + smartLists: !1, + smartypants: !1, + tokenizer: null, + walkTokens: null, + xhtml: !1, + }; + } + e.exports = { + defaults: { + baseUrl: null, + breaks: !1, + gfm: !0, + headerIds: !0, + headerPrefix: '', + highlight: null, + langPrefix: 'language-', + mangle: !0, + pedantic: !1, + renderer: null, + sanitize: !1, + sanitizer: null, + silent: !1, + smartLists: !1, + smartypants: !1, + tokenizer: null, + walkTokens: null, + xhtml: !1, + }, + getDefaults: t, + changeDefaults: function (t) { + e.exports.defaults = t; + }, + }; + }), + r = (n.defaults, n.getDefaults, n.changeDefaults, /[&<>"']/), + s = /[&<>"']/g, + o = /[<>"']|&(?!#?\w+;)/, + a = /[<>"']|&(?!#?\w+;)/g, + l = { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + "'": ''', + }, + c = function (e) { + return l[e]; + }; + var d = /&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi; + function h(e) { + return e.replace(d, function (e, t) { + return 'colon' === (t = t.toLowerCase()) + ? ':' + : '#' === t.charAt(0) + ? 'x' === t.charAt(1) + ? String.fromCharCode(parseInt(t.substring(2), 16)) + : String.fromCharCode(+t.substring(1)) + : ''; + }); + } + var u = /(^|[^\[])\^/g; + var g = /[^\w:]/g, + f = /^$|^[a-z][a-z0-9+.-]*:|^[?#]/i; + var p = {}, + m = /^[^:]+:\/*[^/]*$/, + _ = /^([^:]+:)[\s\S]*$/, + b = /^([^:]+:\/*[^/]*)[\s\S]*$/; + function v(e, t) { + p[' ' + e] || + (m.test(e) + ? (p[' ' + e] = e + '/') + : (p[' ' + e] = y(e, '/', !0))); + var i = -1 === (e = p[' ' + e]).indexOf(':'); + return '//' === t.substring(0, 2) + ? i + ? t + : e.replace(_, '$1') + t + : '/' === t.charAt(0) + ? i + ? t + : e.replace(b, '$1') + t + : e + t; + } + function y(e, t, i) { + var n = e.length; + if (0 === n) return ''; + for (var r = 0; r < n; ) { + var s = e.charAt(n - r - 1); + if (s !== t || i) { + if (s === t || !i) break; + r++; + } else r++; + } + return e.substr(0, n - r); + } + var w = function (e, t) { + if (t) { + if (r.test(e)) return e.replace(s, c); + } else if (o.test(e)) return e.replace(a, c); + return e; + }, + C = h, + S = function (e, t) { + (e = e.source || e), (t = t || ''); + var i = { + replace: function (t, n) { + return ( + (n = (n = n.source || n).replace(u, '$1')), + (e = e.replace(t, n)), + i + ); + }, + getRegex: function () { + return new RegExp(e, t); + }, + }; + return i; + }, + k = function (e, t, i) { + if (e) { + var n; + try { + n = decodeURIComponent(h(i)).replace(g, '').toLowerCase(); + } catch (e) { + return null; + } + if ( + 0 === n.indexOf('javascript:') || + 0 === n.indexOf('vbscript:') || + 0 === n.indexOf('data:') + ) + return null; + } + t && !f.test(i) && (i = v(t, i)); + try { + i = encodeURI(i).replace(/%25/g, '%'); + } catch (e) { + return null; + } + return i; + }, + x = { exec: function () {} }, + L = function (e) { + for (var t, i, n = 1; n < arguments.length; n++) + for (i in (t = arguments[n])) + Object.prototype.hasOwnProperty.call(t, i) && (e[i] = t[i]); + return e; + }, + M = function (e, t) { + var i = e + .replace(/\|/g, function (e, t, i) { + for (var n = !1, r = t; --r >= 0 && '\\' === i[r]; ) n = !n; + return n ? '|' : ' |'; + }) + .split(/ \|/), + n = 0; + if (i.length > t) i.splice(t); + else for (; i.length < t; ) i.push(''); + for (; n < i.length; n++) + i[n] = i[n].trim().replace(/\\\|/g, '|'); + return i; + }, + D = y, + N = function (e, t) { + if (-1 === e.indexOf(t[1])) return -1; + for (var i = e.length, n = 0, r = 0; r < i; r++) + if ('\\' === e[r]) r++; + else if (e[r] === t[0]) n++; + else if (e[r] === t[1] && --n < 0) return r; + return -1; + }, + E = function (e) { + e && e.sanitize && e.silent; + }, + T = n.defaults, + I = D, + O = M, + A = w, + R = N; + function P(e, t, i) { + var n = t.href, + r = t.title ? A(t.title) : null, + s = e[1].replace(/\\([\[\]])/g, '$1'); + return '!' !== e[0].charAt(0) + ? { type: 'link', raw: i, href: n, title: r, text: s } + : { type: 'image', raw: i, href: n, title: r, text: A(s) }; + } + var F = (function () { + function e(e) { + this.options = e || T; + } + var t = e.prototype; + return ( + (t.space = function (e) { + var t = this.rules.block.newline.exec(e); + if (t) + return t[0].length > 1 + ? { type: 'space', raw: t[0] } + : { raw: '\n' }; + }), + (t.code = function (e, t) { + var i = this.rules.block.code.exec(e); + if (i) { + var n = t[t.length - 1]; + if (n && 'paragraph' === n.type) + return { raw: i[0], text: i[0].trimRight() }; + var r = i[0].replace(/^ {4}/gm, ''); + return { + type: 'code', + raw: i[0], + codeBlockStyle: 'indented', + text: this.options.pedantic ? r : I(r, '\n'), + }; + } + }), + (t.fences = function (e) { + var t = this.rules.block.fences.exec(e); + if (t) { + var i = t[0], + n = (function (e, t) { + var i = e.match(/^(\s+)(?:```)/); + if (null === i) return t; + var n = i[1]; + return t + .split('\n') + .map(function (e) { + var t = e.match(/^\s+/); + return null === t + ? e + : t[0].length >= n.length + ? e.slice(n.length) + : e; + }) + .join('\n'); + })(i, t[3] || ''); + return { + type: 'code', + raw: i, + lang: t[2] ? t[2].trim() : t[2], + text: n, + }; + } + }), + (t.heading = function (e) { + var t = this.rules.block.heading.exec(e); + if (t) + return { + type: 'heading', + raw: t[0], + depth: t[1].length, + text: t[2], + }; + }), + (t.nptable = function (e) { + var t = this.rules.block.nptable.exec(e); + if (t) { + var i = { + type: 'table', + header: O(t[1].replace(/^ *| *\| *$/g, '')), + align: t[2].replace(/^ *|\| *$/g, '').split(/ *\| */), + cells: t[3] ? t[3].replace(/\n$/, '').split('\n') : [], + raw: t[0], + }; + if (i.header.length === i.align.length) { + var n, + r = i.align.length; + for (n = 0; n < r; n++) + /^ *-+: *$/.test(i.align[n]) + ? (i.align[n] = 'right') + : /^ *:-+: *$/.test(i.align[n]) + ? (i.align[n] = 'center') + : /^ *:-+ *$/.test(i.align[n]) + ? (i.align[n] = 'left') + : (i.align[n] = null); + for (r = i.cells.length, n = 0; n < r; n++) + i.cells[n] = O(i.cells[n], i.header.length); + return i; + } + } + }), + (t.hr = function (e) { + var t = this.rules.block.hr.exec(e); + if (t) return { type: 'hr', raw: t[0] }; + }), + (t.blockquote = function (e) { + var t = this.rules.block.blockquote.exec(e); + if (t) { + var i = t[0].replace(/^ *> ?/gm, ''); + return { type: 'blockquote', raw: t[0], text: i }; + } + }), + (t.list = function (e) { + var t = this.rules.block.list.exec(e); + if (t) { + for ( + var i, + n, + r, + s, + o, + a, + l, + c = t[0], + d = t[2], + h = d.length > 1, + u = ')' === d[d.length - 1], + g = { + type: 'list', + raw: c, + ordered: h, + start: h ? +d.slice(0, -1) : '', + loose: !1, + items: [], + }, + f = t[0].match(this.rules.block.item), + p = !1, + m = f.length, + _ = 0; + _ < m; + _++ + ) + (c = i = f[_]), + (n = i.length), + ~(i = i.replace(/^ *([*+-]|\d+[.)]) */, '')).indexOf( + '\n ' + ) && + ((n -= i.length), + (i = this.options.pedantic + ? i.replace(/^ {1,4}/gm, '') + : i.replace( + new RegExp('^ {1,' + n + '}', 'gm'), + '' + ))), + _ !== m - 1 && + ((r = this.rules.block.bullet.exec(f[_ + 1])[0]), + (h + ? 1 === r.length || (!u && ')' === r[r.length - 1]) + : r.length > 1 || + (this.options.smartLists && r !== d)) && + ((s = f.slice(_ + 1).join('\n')), + (g.raw = g.raw.substring( + 0, + g.raw.length - s.length + )), + (_ = m - 1))), + (o = p || /\n\n(?!\s*$)/.test(i)), + _ !== m - 1 && + ((p = '\n' === i.charAt(i.length - 1)), o || (o = p)), + o && (g.loose = !0), + (l = void 0), + (a = /^\[[ xX]\] /.test(i)) && + ((l = ' ' !== i[1]), + (i = i.replace(/^\[[ xX]\] +/, ''))), + g.items.push({ + type: 'list_item', + raw: c, + task: a, + checked: l, + loose: o, + text: i, + }); + return g; + } + }), + (t.html = function (e) { + var t = this.rules.block.html.exec(e); + if (t) + return { + type: this.options.sanitize ? 'paragraph' : 'html', + raw: t[0], + pre: + !this.options.sanitizer && + ('pre' === t[1] || + 'script' === t[1] || + 'style' === t[1]), + text: this.options.sanitize + ? this.options.sanitizer + ? this.options.sanitizer(t[0]) + : A(t[0]) + : t[0], + }; + }), + (t.def = function (e) { + var t = this.rules.block.def.exec(e); + if (t) + return ( + t[3] && (t[3] = t[3].substring(1, t[3].length - 1)), + { + tag: t[1].toLowerCase().replace(/\s+/g, ' '), + raw: t[0], + href: t[2], + title: t[3], + } + ); + }), + (t.table = function (e) { + var t = this.rules.block.table.exec(e); + if (t) { + var i = { + type: 'table', + header: O(t[1].replace(/^ *| *\| *$/g, '')), + align: t[2].replace(/^ *|\| *$/g, '').split(/ *\| */), + cells: t[3] ? t[3].replace(/\n$/, '').split('\n') : [], + }; + if (i.header.length === i.align.length) { + i.raw = t[0]; + var n, + r = i.align.length; + for (n = 0; n < r; n++) + /^ *-+: *$/.test(i.align[n]) + ? (i.align[n] = 'right') + : /^ *:-+: *$/.test(i.align[n]) + ? (i.align[n] = 'center') + : /^ *:-+ *$/.test(i.align[n]) + ? (i.align[n] = 'left') + : (i.align[n] = null); + for (r = i.cells.length, n = 0; n < r; n++) + i.cells[n] = O( + i.cells[n].replace(/^ *\| *| *\| *$/g, ''), + i.header.length + ); + return i; + } + } + }), + (t.lheading = function (e) { + var t = this.rules.block.lheading.exec(e); + if (t) + return { + type: 'heading', + raw: t[0], + depth: '=' === t[2].charAt(0) ? 1 : 2, + text: t[1], + }; + }), + (t.paragraph = function (e) { + var t = this.rules.block.paragraph.exec(e); + if (t) + return { + type: 'paragraph', + raw: t[0], + text: + '\n' === t[1].charAt(t[1].length - 1) + ? t[1].slice(0, -1) + : t[1], + }; + }), + (t.text = function (e, t) { + var i = this.rules.block.text.exec(e); + if (i) { + var n = t[t.length - 1]; + return n && 'text' === n.type + ? { raw: i[0], text: i[0] } + : { type: 'text', raw: i[0], text: i[0] }; + } + }), + (t.escape = function (e) { + var t = this.rules.inline.escape.exec(e); + if (t) return { type: 'escape', raw: t[0], text: A(t[1]) }; + }), + (t.tag = function (e, t, i) { + var n = this.rules.inline.tag.exec(e); + if (n) + return ( + !t && /^<a /i.test(n[0]) + ? (t = !0) + : t && /^<\/a>/i.test(n[0]) && (t = !1), + !i && /^<(pre|code|kbd|script)(\s|>)/i.test(n[0]) + ? (i = !0) + : i && + /^<\/(pre|code|kbd|script)(\s|>)/i.test(n[0]) && + (i = !1), + { + type: this.options.sanitize ? 'text' : 'html', + raw: n[0], + inLink: t, + inRawBlock: i, + text: this.options.sanitize + ? this.options.sanitizer + ? this.options.sanitizer(n[0]) + : A(n[0]) + : n[0], + } + ); + }), + (t.link = function (e) { + var t = this.rules.inline.link.exec(e); + if (t) { + var i = R(t[2], '()'); + if (i > -1) { + var n = + (0 === t[0].indexOf('!') ? 5 : 4) + t[1].length + i; + (t[2] = t[2].substring(0, i)), + (t[0] = t[0].substring(0, n).trim()), + (t[3] = ''); + } + var r = t[2], + s = ''; + if (this.options.pedantic) { + var o = /^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(r); + o ? ((r = o[1]), (s = o[3])) : (s = ''); + } else s = t[3] ? t[3].slice(1, -1) : ''; + return P( + t, + { + href: (r = r.trim().replace(/^<([\s\S]*)>$/, '$1')) + ? r.replace(this.rules.inline._escapes, '$1') + : r, + title: s + ? s.replace(this.rules.inline._escapes, '$1') + : s, + }, + t[0] + ); + } + }), + (t.reflink = function (e, t) { + var i; + if ( + (i = this.rules.inline.reflink.exec(e)) || + (i = this.rules.inline.nolink.exec(e)) + ) { + var n = (i[2] || i[1]).replace(/\s+/g, ' '); + if (!(n = t[n.toLowerCase()]) || !n.href) { + var r = i[0].charAt(0); + return { type: 'text', raw: r, text: r }; + } + return P(i, n, i[0]); + } + }), + (t.strong = function (e, t, i) { + void 0 === i && (i = ''); + var n = this.rules.inline.strong.start.exec(e); + if ( + n && + (!n[1] || + (n[1] && + ('' === i || this.rules.inline.punctuation.exec(i)))) + ) { + t = t.slice(-1 * e.length); + var r, + s = + '**' === n[0] + ? this.rules.inline.strong.endAst + : this.rules.inline.strong.endUnd; + for (s.lastIndex = 0; null != (n = s.exec(t)); ) + if ( + (r = this.rules.inline.strong.middle.exec( + t.slice(0, n.index + 3) + )) + ) + return { + type: 'strong', + raw: e.slice(0, r[0].length), + text: e.slice(2, r[0].length - 2), + }; + } + }), + (t.em = function (e, t, i) { + void 0 === i && (i = ''); + var n = this.rules.inline.em.start.exec(e); + if ( + n && + (!n[1] || + (n[1] && + ('' === i || this.rules.inline.punctuation.exec(i)))) + ) { + t = t.slice(-1 * e.length); + var r, + s = + '*' === n[0] + ? this.rules.inline.em.endAst + : this.rules.inline.em.endUnd; + for (s.lastIndex = 0; null != (n = s.exec(t)); ) + if ( + (r = this.rules.inline.em.middle.exec( + t.slice(0, n.index + 2) + )) + ) + return { + type: 'em', + raw: e.slice(0, r[0].length), + text: e.slice(1, r[0].length - 1), + }; + } + }), + (t.codespan = function (e) { + var t = this.rules.inline.code.exec(e); + if (t) { + var i = t[2].replace(/\n/g, ' '), + n = /[^ ]/.test(i), + r = i.startsWith(' ') && i.endsWith(' '); + return ( + n && r && (i = i.substring(1, i.length - 1)), + (i = A(i, !0)), + { type: 'codespan', raw: t[0], text: i } + ); + } + }), + (t.br = function (e) { + var t = this.rules.inline.br.exec(e); + if (t) return { type: 'br', raw: t[0] }; + }), + (t.del = function (e) { + var t = this.rules.inline.del.exec(e); + if (t) return { type: 'del', raw: t[0], text: t[1] }; + }), + (t.autolink = function (e, t) { + var i, + n, + r = this.rules.inline.autolink.exec(e); + if (r) + return ( + (n = + '@' === r[2] + ? 'mailto:' + + (i = A(this.options.mangle ? t(r[1]) : r[1])) + : (i = A(r[1]))), + { + type: 'link', + raw: r[0], + text: i, + href: n, + tokens: [{ type: 'text', raw: i, text: i }], + } + ); + }), + (t.url = function (e, t) { + var i; + if ((i = this.rules.inline.url.exec(e))) { + var n, r; + if ('@' === i[2]) + r = + 'mailto:' + + (n = A(this.options.mangle ? t(i[0]) : i[0])); + else { + var s; + do { + (s = i[0]), + (i[0] = this.rules.inline._backpedal.exec(i[0])[0]); + } while (s !== i[0]); + (n = A(i[0])), (r = 'www.' === i[1] ? 'http://' + n : n); + } + return { + type: 'link', + raw: i[0], + text: n, + href: r, + tokens: [{ type: 'text', raw: n, text: n }], + }; + } + }), + (t.inlineText = function (e, t, i) { + var n, + r = this.rules.inline.text.exec(e); + if (r) + return ( + (n = t + ? this.options.sanitize + ? this.options.sanitizer + ? this.options.sanitizer(r[0]) + : A(r[0]) + : r[0] + : A(this.options.smartypants ? i(r[0]) : r[0])), + { type: 'text', raw: r[0], text: n } + ); + }), + e + ); + })(), + B = x, + W = S, + Y = L, + H = { + newline: /^\n+/, + code: /^( {4}[^\n]+\n*)+/, + fences: /^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?:\n+|$)|$)/, + hr: /^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/, + heading: /^ {0,3}(#{1,6}) +([^\n]*?)(?: +#+)? *(?:\n+|$)/, + blockquote: /^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/, + list: /^( {0,3})(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/, + html: + '^ {0,3}(?:<(script|pre|style)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:\\n{2,}|$)|<(?!script|pre|style)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$)|</(?!script|pre|style)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$))', + def: /^ {0,3}\[(label)\]: *\n? *<?([^\s>]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/, + nptable: B, + table: B, + lheading: /^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/, + _paragraph: /^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html)[^\n]+)*)/, + text: /^[^\n]+/, + _label: /(?!\s*\])(?:\\[\[\]]|[^\[\]])+/, + _title: /(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/, + }; + (H.def = W(H.def) + .replace('label', H._label) + .replace('title', H._title) + .getRegex()), + (H.bullet = /(?:[*+-]|\d{1,9}[.)])/), + (H.item = /^( *)(bull) ?[^\n]*(?:\n(?!\1bull ?)[^\n]*)*/), + (H.item = W(H.item, 'gm').replace(/bull/g, H.bullet).getRegex()), + (H.list = W(H.list) + .replace(/bull/g, H.bullet) + .replace( + 'hr', + '\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))' + ) + .replace('def', '\\n+(?=' + H.def.source + ')') + .getRegex()), + (H._tag = + 'address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul'), + (H._comment = /<!--(?!-?>)[\s\S]*?(?:-->|$)/), + (H.html = W(H.html, 'i') + .replace('comment', H._comment) + .replace('tag', H._tag) + .replace( + 'attribute', + / +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/ + ) + .getRegex()), + (H.paragraph = W(H._paragraph) + .replace('hr', H.hr) + .replace('heading', ' {0,3}#{1,6} ') + .replace('|lheading', '') + .replace('blockquote', ' {0,3}>') + .replace( + 'fences', + ' {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n' + ) + .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') + .replace( + 'html', + '</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|!--)' + ) + .replace('tag', H._tag) + .getRegex()), + (H.blockquote = W(H.blockquote) + .replace('paragraph', H.paragraph) + .getRegex()), + (H.normal = Y({}, H)), + (H.gfm = Y({}, H.normal, { + nptable: + '^ *([^|\\n ].*\\|.*)\\n *([-:]+ *\\|[-| :]*)(?:\\n((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)', + table: + '^ *\\|(.+)\\n *\\|?( *[-:]+[-| :]*)(?:\\n *((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)', + })), + (H.gfm.nptable = W(H.gfm.nptable) + .replace('hr', H.hr) + .replace('heading', ' {0,3}#{1,6} ') + .replace('blockquote', ' {0,3}>') + .replace('code', ' {4}[^\\n]') + .replace( + 'fences', + ' {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n' + ) + .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') + .replace( + 'html', + '</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|!--)' + ) + .replace('tag', H._tag) + .getRegex()), + (H.gfm.table = W(H.gfm.table) + .replace('hr', H.hr) + .replace('heading', ' {0,3}#{1,6} ') + .replace('blockquote', ' {0,3}>') + .replace('code', ' {4}[^\\n]') + .replace( + 'fences', + ' {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n' + ) + .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') + .replace( + 'html', + '</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|!--)' + ) + .replace('tag', H._tag) + .getRegex()), + (H.pedantic = Y({}, H.normal, { + html: W( + '^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|\'[^\']*\'|\\s[^\'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))' + ) + .replace('comment', H._comment) + .replace( + /tag/g, + '(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b' + ) + .getRegex(), + def: /^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/, + heading: /^ *(#{1,6}) *([^\n]+?) *(?:#+ *)?(?:\n+|$)/, + fences: B, + paragraph: W(H.normal._paragraph) + .replace('hr', H.hr) + .replace('heading', ' *#{1,6} *[^\n]') + .replace('lheading', H.lheading) + .replace('blockquote', ' {0,3}>') + .replace('|fences', '') + .replace('|list', '') + .replace('|html', '') + .getRegex(), + })); + var j = { + escape: /^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/, + autolink: /^<(scheme:[^\s\x00-\x1f<>]*|email)>/, + url: B, + tag: + '^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>', + link: /^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/, + reflink: /^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/, + nolink: /^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/, + reflinkSearch: 'reflink|nolink(?!\\()', + strong: { + start: /^(?:(\*\*(?=[*punctuation]))|\*\*)(?![\s])|__/, + middle: /^\*\*(?:(?:(?!overlapSkip)(?:[^*]|\\\*)|overlapSkip)|\*(?:(?!overlapSkip)(?:[^*]|\\\*)|overlapSkip)*?\*)+?\*\*$|^__(?![\s])((?:(?:(?!overlapSkip)(?:[^_]|\\_)|overlapSkip)|_(?:(?!overlapSkip)(?:[^_]|\\_)|overlapSkip)*?_)+?)__$/, + endAst: /[^punctuation\s]\*\*(?!\*)|[punctuation]\*\*(?!\*)(?:(?=[punctuation\s]|$))/, + endUnd: /[^\s]__(?!_)(?:(?=[punctuation\s])|$)/, + }, + em: { + start: /^(?:(\*(?=[punctuation]))|\*)(?![*\s])|_/, + middle: /^\*(?:(?:(?!overlapSkip)(?:[^*]|\\\*)|overlapSkip)|\*(?:(?!overlapSkip)(?:[^*]|\\\*)|overlapSkip)*?\*)+?\*$|^_(?![_\s])(?:(?:(?!overlapSkip)(?:[^_]|\\_)|overlapSkip)|_(?:(?!overlapSkip)(?:[^_]|\\_)|overlapSkip)*?_)+?_$/, + endAst: /[^punctuation\s]\*(?!\*)|[punctuation]\*(?!\*)(?:(?=[punctuation\s]|$))/, + endUnd: /[^\s]_(?!_)(?:(?=[punctuation\s])|$)/, + }, + code: /^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/, + br: /^( {2,}|\\)\n(?!\s*$)/, + del: B, + text: /^(`+|[^`])(?:[\s\S]*?(?:(?=[\\<!\[`*]|\b_|$)|[^ ](?= {2,}\n))|(?= {2,}\n))/, + punctuation: /^([\s*punctuation])/, + _punctuation: '!"#$%&\'()+\\-.,/:;<=>?@\\[\\]`^{|}~', + }; + (j.punctuation = W(j.punctuation) + .replace(/punctuation/g, j._punctuation) + .getRegex()), + (j._blockSkip = '\\[[^\\]]*?\\]\\([^\\)]*?\\)|`[^`]*?`|<[^>]*?>'), + (j._overlapSkip = '__[^_]*?__|\\*\\*\\[^\\*\\]*?\\*\\*'), + (j._comment = W(H._comment) + .replace('(?:--\x3e|$)', '--\x3e') + .getRegex()), + (j.em.start = W(j.em.start) + .replace(/punctuation/g, j._punctuation) + .getRegex()), + (j.em.middle = W(j.em.middle) + .replace(/punctuation/g, j._punctuation) + .replace(/overlapSkip/g, j._overlapSkip) + .getRegex()), + (j.em.endAst = W(j.em.endAst, 'g') + .replace(/punctuation/g, j._punctuation) + .getRegex()), + (j.em.endUnd = W(j.em.endUnd, 'g') + .replace(/punctuation/g, j._punctuation) + .getRegex()), + (j.strong.start = W(j.strong.start) + .replace(/punctuation/g, j._punctuation) + .getRegex()), + (j.strong.middle = W(j.strong.middle) + .replace(/punctuation/g, j._punctuation) + .replace(/blockSkip/g, j._blockSkip) + .getRegex()), + (j.strong.endAst = W(j.strong.endAst, 'g') + .replace(/punctuation/g, j._punctuation) + .getRegex()), + (j.strong.endUnd = W(j.strong.endUnd, 'g') + .replace(/punctuation/g, j._punctuation) + .getRegex()), + (j.blockSkip = W(j._blockSkip, 'g').getRegex()), + (j.overlapSkip = W(j._overlapSkip, 'g').getRegex()), + (j._escapes = /\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g), + (j._scheme = /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/), + (j._email = /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/), + (j.autolink = W(j.autolink) + .replace('scheme', j._scheme) + .replace('email', j._email) + .getRegex()), + (j._attribute = /\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/), + (j.tag = W(j.tag) + .replace('comment', j._comment) + .replace('attribute', j._attribute) + .getRegex()), + (j._label = /(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/), + (j._href = /<(?:\\[<>]?|[^\s<>\\])*>|[^\s\x00-\x1f]*/), + (j._title = /"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/), + (j.link = W(j.link) + .replace('label', j._label) + .replace('href', j._href) + .replace('title', j._title) + .getRegex()), + (j.reflink = W(j.reflink).replace('label', j._label).getRegex()), + (j.reflinkSearch = W(j.reflinkSearch, 'g') + .replace('reflink', j.reflink) + .replace('nolink', j.nolink) + .getRegex()), + (j.normal = Y({}, j)), + (j.pedantic = Y({}, j.normal, { + strong: { + start: /^__|\*\*/, + middle: /^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/, + endAst: /\*\*(?!\*)/g, + endUnd: /__(?!_)/g, + }, + em: { + start: /^_|\*/, + middle: /^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/, + endAst: /\*(?!\*)/g, + endUnd: /_(?!_)/g, + }, + link: W(/^!?\[(label)\]\((.*?)\)/) + .replace('label', j._label) + .getRegex(), + reflink: W(/^!?\[(label)\]\s*\[([^\]]*)\]/) + .replace('label', j._label) + .getRegex(), + })), + (j.gfm = Y({}, j.normal, { + escape: W(j.escape).replace('])', '~|])').getRegex(), + _extended_email: /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/, + url: /^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/, + _backpedal: /(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/, + del: /^~+(?=\S)([\s\S]*?\S)~+/, + text: /^(`+|[^`])(?:[\s\S]*?(?:(?=[\\<!\[`*~]|\b_|https?:\/\/|ftp:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@))|(?= {2,}\n|[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@))/, + })), + (j.gfm.url = W(j.gfm.url, 'i') + .replace('email', j.gfm._extended_email) + .getRegex()), + (j.breaks = Y({}, j.gfm, { + br: W(j.br).replace('{2,}', '*').getRegex(), + text: W(j.gfm.text) + .replace('\\b_', '\\b_| {2,}\\n') + .replace(/\{2,\}/g, '*') + .getRegex(), + })); + var V = { block: H, inline: j }, + z = n.defaults, + U = V.block, + $ = V.inline; + function K(e) { + return e + .replace(/---/g, '—') + .replace(/--/g, '–') + .replace(/(^|[-\u2014/(\[{"\s])'/g, '$1‘') + .replace(/'/g, '’') + .replace(/(^|[-\u2014/(\[{\u2018\s])"/g, '$1“') + .replace(/"/g, '”') + .replace(/\.{3}/g, '…'); + } + function q(e) { + var t, + i, + n = '', + r = e.length; + for (t = 0; t < r; t++) + (i = e.charCodeAt(t)), + Math.random() > 0.5 && (i = 'x' + i.toString(16)), + (n += '&#' + i + ';'); + return n; + } + var G = (function () { + function t(e) { + (this.tokens = []), + (this.tokens.links = Object.create(null)), + (this.options = e || z), + (this.options.tokenizer = this.options.tokenizer || new F()), + (this.tokenizer = this.options.tokenizer), + (this.tokenizer.options = this.options); + var t = { block: U.normal, inline: $.normal }; + this.options.pedantic + ? ((t.block = U.pedantic), (t.inline = $.pedantic)) + : this.options.gfm && + ((t.block = U.gfm), + this.options.breaks + ? (t.inline = $.breaks) + : (t.inline = $.gfm)), + (this.tokenizer.rules = t); + } + t.lex = function (e, i) { + return new t(i).lex(e); + }; + var i, + n, + r, + s = t.prototype; + return ( + (s.lex = function (e) { + return ( + (e = e.replace(/\r\n|\r/g, '\n').replace(/\t/g, ' ')), + this.blockTokens(e, this.tokens, !0), + this.inline(this.tokens), + this.tokens + ); + }), + (s.blockTokens = function (e, t, i) { + var n, r, s, o; + for ( + void 0 === t && (t = []), + void 0 === i && (i = !0), + e = e.replace(/^ +$/gm, ''); + e; + + ) + if ((n = this.tokenizer.space(e))) + (e = e.substring(n.raw.length)), n.type && t.push(n); + else if ((n = this.tokenizer.code(e, t))) + (e = e.substring(n.raw.length)), + n.type + ? t.push(n) + : (((o = t[t.length - 1]).raw += '\n' + n.raw), + (o.text += '\n' + n.text)); + else if ((n = this.tokenizer.fences(e))) + (e = e.substring(n.raw.length)), t.push(n); + else if ((n = this.tokenizer.heading(e))) + (e = e.substring(n.raw.length)), t.push(n); + else if ((n = this.tokenizer.nptable(e))) + (e = e.substring(n.raw.length)), t.push(n); + else if ((n = this.tokenizer.hr(e))) + (e = e.substring(n.raw.length)), t.push(n); + else if ((n = this.tokenizer.blockquote(e))) + (e = e.substring(n.raw.length)), + (n.tokens = this.blockTokens(n.text, [], i)), + t.push(n); + else if ((n = this.tokenizer.list(e))) { + for ( + e = e.substring(n.raw.length), + s = n.items.length, + r = 0; + r < s; + r++ + ) + n.items[r].tokens = this.blockTokens( + n.items[r].text, + [], + !1 + ); + t.push(n); + } else if ((n = this.tokenizer.html(e))) + (e = e.substring(n.raw.length)), t.push(n); + else if (i && (n = this.tokenizer.def(e))) + (e = e.substring(n.raw.length)), + this.tokens.links[n.tag] || + (this.tokens.links[n.tag] = { + href: n.href, + title: n.title, + }); + else if ((n = this.tokenizer.table(e))) + (e = e.substring(n.raw.length)), t.push(n); + else if ((n = this.tokenizer.lheading(e))) + (e = e.substring(n.raw.length)), t.push(n); + else if (i && (n = this.tokenizer.paragraph(e))) + (e = e.substring(n.raw.length)), t.push(n); + else if ((n = this.tokenizer.text(e, t))) + (e = e.substring(n.raw.length)), + n.type + ? t.push(n) + : (((o = t[t.length - 1]).raw += '\n' + n.raw), + (o.text += '\n' + n.text)); + else if (e) { + var a = 'Infinite loop on byte: ' + e.charCodeAt(0); + if (this.options.silent) { + console.error(a); + break; + } + throw new Error(a); + } + return t; + }), + (s.inline = function (e) { + var t, + i, + n, + r, + s, + o, + a = e.length; + for (t = 0; t < a; t++) + switch ((o = e[t]).type) { + case 'paragraph': + case 'text': + case 'heading': + (o.tokens = []), this.inlineTokens(o.text, o.tokens); + break; + case 'table': + for ( + o.tokens = { header: [], cells: [] }, + r = o.header.length, + i = 0; + i < r; + i++ + ) + (o.tokens.header[i] = []), + this.inlineTokens(o.header[i], o.tokens.header[i]); + for (r = o.cells.length, i = 0; i < r; i++) + for ( + s = o.cells[i], o.tokens.cells[i] = [], n = 0; + n < s.length; + n++ + ) + (o.tokens.cells[i][n] = []), + this.inlineTokens(s[n], o.tokens.cells[i][n]); + break; + case 'blockquote': + this.inline(o.tokens); + break; + case 'list': + for (r = o.items.length, i = 0; i < r; i++) + this.inline(o.items[i].tokens); + } + return e; + }), + (s.inlineTokens = function (e, t, i, n, r) { + var s; + void 0 === t && (t = []), + void 0 === i && (i = !1), + void 0 === n && (n = !1), + void 0 === r && (r = ''); + var o, + a = e; + if (this.tokens.links) { + var l = Object.keys(this.tokens.links); + if (l.length > 0) + for ( + ; + null != + (o = this.tokenizer.rules.inline.reflinkSearch.exec(a)); + + ) + l.includes(o[0].slice(o[0].lastIndexOf('[') + 1, -1)) && + (a = + a.slice(0, o.index) + + '[' + + 'a'.repeat(o[0].length - 2) + + ']' + + a.slice( + this.tokenizer.rules.inline.reflinkSearch + .lastIndex + )); + } + for ( + ; + null != (o = this.tokenizer.rules.inline.blockSkip.exec(a)); + + ) + a = + a.slice(0, o.index) + + '[' + + 'a'.repeat(o[0].length - 2) + + ']' + + a.slice(this.tokenizer.rules.inline.blockSkip.lastIndex); + for (; e; ) + if ((s = this.tokenizer.escape(e))) + (e = e.substring(s.raw.length)), t.push(s); + else if ((s = this.tokenizer.tag(e, i, n))) + (e = e.substring(s.raw.length)), + (i = s.inLink), + (n = s.inRawBlock), + t.push(s); + else if ((s = this.tokenizer.link(e))) + (e = e.substring(s.raw.length)), + 'link' === s.type && + (s.tokens = this.inlineTokens(s.text, [], !0, n)), + t.push(s); + else if ((s = this.tokenizer.reflink(e, this.tokens.links))) + (e = e.substring(s.raw.length)), + 'link' === s.type && + (s.tokens = this.inlineTokens(s.text, [], !0, n)), + t.push(s); + else if ((s = this.tokenizer.strong(e, a, r))) + (e = e.substring(s.raw.length)), + (s.tokens = this.inlineTokens(s.text, [], i, n)), + t.push(s); + else if ((s = this.tokenizer.em(e, a, r))) + (e = e.substring(s.raw.length)), + (s.tokens = this.inlineTokens(s.text, [], i, n)), + t.push(s); + else if ((s = this.tokenizer.codespan(e))) + (e = e.substring(s.raw.length)), t.push(s); + else if ((s = this.tokenizer.br(e))) + (e = e.substring(s.raw.length)), t.push(s); + else if ((s = this.tokenizer.del(e))) + (e = e.substring(s.raw.length)), + (s.tokens = this.inlineTokens(s.text, [], i, n)), + t.push(s); + else if ((s = this.tokenizer.autolink(e, q))) + (e = e.substring(s.raw.length)), t.push(s); + else if (i || !(s = this.tokenizer.url(e, q))) { + if ((s = this.tokenizer.inlineText(e, n, K))) + (e = e.substring(s.raw.length)), + (r = s.raw.slice(-1)), + t.push(s); + else if (e) { + var c = 'Infinite loop on byte: ' + e.charCodeAt(0); + if (this.options.silent) { + console.error(c); + break; + } + throw new Error(c); + } + } else (e = e.substring(s.raw.length)), t.push(s); + return t; + }), + (i = t), + (r = [ + { + key: 'rules', + get: function () { + return { block: U, inline: $ }; + }, + }, + ]), + (n = null) && e(i.prototype, n), + r && e(i, r), + t + ); + })(), + Z = n.defaults, + J = k, + Q = w, + X = (function () { + function e(e) { + this.options = e || Z; + } + var t = e.prototype; + return ( + (t.code = function (e, t, i) { + var n = (t || '').match(/\S*/)[0]; + if (this.options.highlight) { + var r = this.options.highlight(e, n); + null != r && r !== e && ((i = !0), (e = r)); + } + return n + ? '<pre><code class="' + + this.options.langPrefix + + Q(n, !0) + + '">' + + (i ? e : Q(e, !0)) + + '</code></pre>\n' + : '<pre><code>' + (i ? e : Q(e, !0)) + '</code></pre>\n'; + }), + (t.blockquote = function (e) { + return '<blockquote>\n' + e + '</blockquote>\n'; + }), + (t.html = function (e) { + return e; + }), + (t.heading = function (e, t, i, n) { + return this.options.headerIds + ? '<h' + + t + + ' id="' + + this.options.headerPrefix + + n.slug(i) + + '">' + + e + + '</h' + + t + + '>\n' + : '<h' + t + '>' + e + '</h' + t + '>\n'; + }), + (t.hr = function () { + return this.options.xhtml ? '<hr/>\n' : '<hr>\n'; + }), + (t.list = function (e, t, i) { + var n = t ? 'ol' : 'ul'; + return ( + '<' + + n + + (t && 1 !== i ? ' start="' + i + '"' : '') + + '>\n' + + e + + '</' + + n + + '>\n' + ); + }), + (t.listitem = function (e) { + return '<li>' + e + '</li>\n'; + }), + (t.checkbox = function (e) { + return ( + '<input ' + + (e ? 'checked="" ' : '') + + 'disabled="" type="checkbox"' + + (this.options.xhtml ? ' /' : '') + + '> ' + ); + }), + (t.paragraph = function (e) { + return '<p>' + e + '</p>\n'; + }), + (t.table = function (e, t) { + return ( + t && (t = '<tbody>' + t + '</tbody>'), + '<table>\n<thead>\n' + e + '</thead>\n' + t + '</table>\n' + ); + }), + (t.tablerow = function (e) { + return '<tr>\n' + e + '</tr>\n'; + }), + (t.tablecell = function (e, t) { + var i = t.header ? 'th' : 'td'; + return ( + (t.align + ? '<' + i + ' align="' + t.align + '">' + : '<' + i + '>') + + e + + '</' + + i + + '>\n' + ); + }), + (t.strong = function (e) { + return '<strong>' + e + '</strong>'; + }), + (t.em = function (e) { + return '<em>' + e + '</em>'; + }), + (t.codespan = function (e) { + return '<code>' + e + '</code>'; + }), + (t.br = function () { + return this.options.xhtml ? '<br/>' : '<br>'; + }), + (t.del = function (e) { + return '<del>' + e + '</del>'; + }), + (t.link = function (e, t, i) { + if ( + null === + (e = J(this.options.sanitize, this.options.baseUrl, e)) + ) + return i; + var n = '<a href="' + Q(e) + '"'; + return t && (n += ' title="' + t + '"'), n + '>' + i + '</a>'; + }), + (t.image = function (e, t, i) { + if ( + null === + (e = J(this.options.sanitize, this.options.baseUrl, e)) + ) + return i; + var n = '<img src="' + e + '" alt="' + i + '"'; + return ( + t && (n += ' title="' + t + '"'), + n + (this.options.xhtml ? '/>' : '>') + ); + }), + (t.text = function (e) { + return e; + }), + e + ); + })(), + ee = (function () { + function e() {} + var t = e.prototype; + return ( + (t.strong = function (e) { + return e; + }), + (t.em = function (e) { + return e; + }), + (t.codespan = function (e) { + return e; + }), + (t.del = function (e) { + return e; + }), + (t.html = function (e) { + return e; + }), + (t.text = function (e) { + return e; + }), + (t.link = function (e, t, i) { + return '' + i; + }), + (t.image = function (e, t, i) { + return '' + i; + }), + (t.br = function () { + return ''; + }), + e + ); + })(), + te = (function () { + function e() { + this.seen = {}; + } + var t = e.prototype; + return ( + (t.serialize = function (e) { + return e + .toLowerCase() + .trim() + .replace(/<[!\/a-z].*?>/gi, '') + .replace( + /[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g, + '' + ) + .replace(/\s/g, '-'); + }), + (t.getNextSafeSlug = function (e, t) { + var i = e, + n = 0; + if (this.seen.hasOwnProperty(i)) { + n = this.seen[e]; + do { + i = e + '-' + ++n; + } while (this.seen.hasOwnProperty(i)); + } + return t || ((this.seen[e] = n), (this.seen[i] = 0)), i; + }), + (t.slug = function (e, t) { + void 0 === t && (t = {}); + var i = this.serialize(e); + return this.getNextSafeSlug(i, t.dryrun); + }), + e + ); + })(), + ie = n.defaults, + ne = C, + re = (function () { + function e(e) { + (this.options = e || ie), + (this.options.renderer = this.options.renderer || new X()), + (this.renderer = this.options.renderer), + (this.renderer.options = this.options), + (this.textRenderer = new ee()), + (this.slugger = new te()); + } + e.parse = function (t, i) { + return new e(i).parse(t); + }; + var t = e.prototype; + return ( + (t.parse = function (e, t) { + void 0 === t && (t = !0); + var i, + n, + r, + s, + o, + a, + l, + c, + d, + h, + u, + g, + f, + p, + m, + _, + b, + v, + y = '', + w = e.length; + for (i = 0; i < w; i++) + switch ((h = e[i]).type) { + case 'space': + continue; + case 'hr': + y += this.renderer.hr(); + continue; + case 'heading': + y += this.renderer.heading( + this.parseInline(h.tokens), + h.depth, + ne(this.parseInline(h.tokens, this.textRenderer)), + this.slugger + ); + continue; + case 'code': + y += this.renderer.code(h.text, h.lang, h.escaped); + continue; + case 'table': + for ( + c = '', l = '', s = h.header.length, n = 0; + n < s; + n++ + ) + l += this.renderer.tablecell( + this.parseInline(h.tokens.header[n]), + { header: !0, align: h.align[n] } + ); + for ( + c += this.renderer.tablerow(l), + d = '', + s = h.cells.length, + n = 0; + n < s; + n++ + ) { + for ( + l = '', o = (a = h.tokens.cells[n]).length, r = 0; + r < o; + r++ + ) + l += this.renderer.tablecell( + this.parseInline(a[r]), + { header: !1, align: h.align[r] } + ); + d += this.renderer.tablerow(l); + } + y += this.renderer.table(c, d); + continue; + case 'blockquote': + (d = this.parse(h.tokens)), + (y += this.renderer.blockquote(d)); + continue; + case 'list': + for ( + u = h.ordered, + g = h.start, + f = h.loose, + s = h.items.length, + d = '', + n = 0; + n < s; + n++ + ) + (_ = (m = h.items[n]).checked), + (b = m.task), + (p = ''), + m.task && + ((v = this.renderer.checkbox(_)), + f + ? m.tokens.length > 0 && + 'text' === m.tokens[0].type + ? ((m.tokens[0].text = + v + ' ' + m.tokens[0].text), + m.tokens[0].tokens && + m.tokens[0].tokens.length > 0 && + 'text' === m.tokens[0].tokens[0].type && + (m.tokens[0].tokens[0].text = + v + ' ' + m.tokens[0].tokens[0].text)) + : m.tokens.unshift({ type: 'text', text: v }) + : (p += v)), + (p += this.parse(m.tokens, f)), + (d += this.renderer.listitem(p, b, _)); + y += this.renderer.list(d, u, g); + continue; + case 'html': + y += this.renderer.html(h.text); + continue; + case 'paragraph': + y += this.renderer.paragraph( + this.parseInline(h.tokens) + ); + continue; + case 'text': + for ( + d = h.tokens ? this.parseInline(h.tokens) : h.text; + i + 1 < w && 'text' === e[i + 1].type; + + ) + d += + '\n' + + ((h = e[++i]).tokens + ? this.parseInline(h.tokens) + : h.text); + y += t ? this.renderer.paragraph(d) : d; + continue; + default: + var C = + 'Token with "' + h.type + '" type was not found.'; + if (this.options.silent) return void console.error(C); + throw new Error(C); + } + return y; + }), + (t.parseInline = function (e, t) { + t = t || this.renderer; + var i, + n, + r = '', + s = e.length; + for (i = 0; i < s; i++) + switch ((n = e[i]).type) { + case 'escape': + r += t.text(n.text); + break; + case 'html': + r += t.html(n.text); + break; + case 'link': + r += t.link( + n.href, + n.title, + this.parseInline(n.tokens, t) + ); + break; + case 'image': + r += t.image(n.href, n.title, n.text); + break; + case 'strong': + r += t.strong(this.parseInline(n.tokens, t)); + break; + case 'em': + r += t.em(this.parseInline(n.tokens, t)); + break; + case 'codespan': + r += t.codespan(n.text); + break; + case 'br': + r += t.br(); + break; + case 'del': + r += t.del(this.parseInline(n.tokens, t)); + break; + case 'text': + r += t.text(n.text); + break; + default: + var o = + 'Token with "' + n.type + '" type was not found.'; + if (this.options.silent) return void console.error(o); + throw new Error(o); + } + return r; + }), + e + ); + })(), + se = L, + oe = E, + ae = w, + le = n.getDefaults, + ce = n.changeDefaults, + de = n.defaults; + function he(e, t, i) { + if (null == e) + throw new Error('marked(): input parameter is undefined or null'); + if ('string' != typeof e) + throw new Error( + 'marked(): input parameter is of type ' + + Object.prototype.toString.call(e) + + ', string expected' + ); + if ( + ('function' == typeof t && ((i = t), (t = null)), + (t = se({}, he.defaults, t || {})), + oe(t), + i) + ) { + var n, + r = t.highlight; + try { + n = G.lex(e, t); + } catch (e) { + return i(e); + } + var s = function (e) { + var s; + if (!e) + try { + s = re.parse(n, t); + } catch (t) { + e = t; + } + return (t.highlight = r), e ? i(e) : i(null, s); + }; + if (!r || r.length < 3) return s(); + if ((delete t.highlight, !n.length)) return s(); + var o = 0; + return ( + he.walkTokens(n, function (e) { + 'code' === e.type && + (o++, + setTimeout(function () { + r(e.text, e.lang, function (t, i) { + if (t) return s(t); + null != i && + i !== e.text && + ((e.text = i), (e.escaped = !0)), + 0 == --o && s(); + }); + }, 0)); + }), + void (0 === o && s()) + ); + } + try { + var a = G.lex(e, t); + return ( + t.walkTokens && he.walkTokens(a, t.walkTokens), re.parse(a, t) + ); + } catch (e) { + if ( + ((e.message += + '\nPlease report this to https://github.com/markedjs/marked.'), + t.silent) + ) + return ( + '<p>An error occurred:</p><pre>' + + ae(e.message + '', !0) + + '</pre>' + ); + throw e; + } + } + return ( + (he.options = he.setOptions = function (e) { + return se(he.defaults, e), ce(he.defaults), he; + }), + (he.getDefaults = le), + (he.defaults = de), + (he.use = function (e) { + var t = se({}, e); + if ( + (e.renderer && + (function () { + var i = he.defaults.renderer || new X(), + n = function (t) { + var n = i[t]; + i[t] = function () { + for ( + var r = arguments.length, s = new Array(r), o = 0; + o < r; + o++ + ) + s[o] = arguments[o]; + var a = e.renderer[t].apply(i, s); + return !1 === a && (a = n.apply(i, s)), a; + }; + }; + for (var r in e.renderer) n(r); + t.renderer = i; + })(), + e.tokenizer && + (function () { + var i = he.defaults.tokenizer || new F(), + n = function (t) { + var n = i[t]; + i[t] = function () { + for ( + var r = arguments.length, s = new Array(r), o = 0; + o < r; + o++ + ) + s[o] = arguments[o]; + var a = e.tokenizer[t].apply(i, s); + return !1 === a && (a = n.apply(i, s)), a; + }; + }; + for (var r in e.tokenizer) n(r); + t.tokenizer = i; + })(), + e.walkTokens) + ) { + var i = he.defaults.walkTokens; + t.walkTokens = function (t) { + e.walkTokens(t), i && i(t); + }; + } + he.setOptions(t); + }), + (he.walkTokens = function (e, t) { + for (var n, r = i(e); !(n = r()).done; ) { + var s = n.value; + switch ((t(s), s.type)) { + case 'table': + for (var o, a = i(s.tokens.header); !(o = a()).done; ) { + var l = o.value; + he.walkTokens(l, t); + } + for (var c, d = i(s.tokens.cells); !(c = d()).done; ) + for (var h, u = i(c.value); !(h = u()).done; ) { + var g = h.value; + he.walkTokens(g, t); + } + break; + case 'list': + he.walkTokens(s.items, t); + break; + default: + s.tokens && he.walkTokens(s.tokens, t); + } + } + }), + (he.Parser = re), + (he.parser = re.parse), + (he.Renderer = X), + (he.TextRenderer = ee), + (he.Lexer = G), + (he.lexer = G.lex), + (he.Tokenizer = F), + (he.Slugger = te), + (he.parse = he), + he + ); + })(); + }, + 23897: (e, t, i) => { + 'use strict'; + i.d(t, { Q: () => s }); + var n = i(53060), + r = i(70666); + function s(e) { + let t = JSON.parse(e); + return (t = o(t)), t; + } + function o(e, t = 0) { + if (!e || t > 200) return e; + if ('object' == typeof e) { + switch (e.$mid) { + case 1: + return r.o.revive(e); + case 2: + return new RegExp(e.source, e.flags); + } + if (e instanceof n.KN || e instanceof Uint8Array) return e; + if (Array.isArray(e)) + for (let i = 0; i < e.length; ++i) e[i] = o(e[i], t + 1); + else + for (const i in e) + Object.hasOwnProperty.call(e, i) && (e[i] = o(e[i], t + 1)); + } + return e; + } + }, + 66663: (e, t, i) => { + 'use strict'; + i.d(t, { l: () => n, W: () => o }); + var n, + r = i(70666), + s = i(1432); + !(function (e) { + (e.inMemory = 'inmemory'), + (e.vscode = 'vscode'), + (e.internal = 'private'), + (e.walkThrough = 'walkThrough'), + (e.walkThroughSnippet = 'walkThroughSnippet'), + (e.http = 'http'), + (e.https = 'https'), + (e.file = 'file'), + (e.mailto = 'mailto'), + (e.untitled = 'untitled'), + (e.data = 'data'), + (e.command = 'command'), + (e.vscodeRemote = 'vscode-remote'), + (e.vscodeRemoteResource = 'vscode-remote-resource'), + (e.userData = 'vscode-userdata'), + (e.vscodeCustomEditor = 'vscode-custom-editor'), + (e.vscodeNotebook = 'vscode-notebook'), + (e.vscodeNotebookCell = 'vscode-notebook-cell'), + (e.vscodeSettings = 'vscode-settings'), + (e.webviewPanel = 'webview-panel'), + (e.vscodeWebview = 'vscode-webview'), + (e.vscodeWebviewResource = 'vscode-webview-resource'), + (e.extension = 'extension'); + })(n || (n = {})); + const o = new (class { + constructor() { + (this._hosts = Object.create(null)), + (this._ports = Object.create(null)), + (this._connectionTokens = Object.create(null)), + (this._preferredWebSchema = 'http'), + (this._delegate = null); + } + setPreferredWebSchema(e) { + this._preferredWebSchema = e; + } + rewrite(e) { + if (this._delegate) return this._delegate(e); + const t = e.authority; + let i = this._hosts[t]; + i && -1 !== i.indexOf(':') && (i = `[${i}]`); + const o = this._ports[t], + a = this._connectionTokens[t]; + let l = `path=${encodeURIComponent(e.path)}`; + return ( + 'string' == typeof a && (l += `&tkn=${encodeURIComponent(a)}`), + r.o.from({ + scheme: s.$L + ? this._preferredWebSchema + : n.vscodeRemoteResource, + authority: `${i}:${o}`, + path: '/vscode-remote-resource', + query: l, + }) + ); + } + })(); + }, + 59870: (e, t, i) => { + 'use strict'; + function n(e, t, i) { + return Math.min(Math.max(e, t), i); + } + i.d(t, { u: () => n, n: () => r }); + class r { + constructor() { + (this._n = 1), (this._val = 0); + } + update(e) { + return ( + (this._val = this._val + (e - this._val) / this._n), + (this._n += 1), + this + ); + } + } + }, + 36248: (e, t, i) => { + 'use strict'; + i.d(t, { + I8: () => r, + _A: () => s, + rs: () => a, + jB: () => c, + f0: () => d, + fS: () => h, + CJ: () => u, + }); + var n = i(98401); + function r(e) { + if (!e || 'object' != typeof e) return e; + if (e instanceof RegExp) return e; + const t = Array.isArray(e) ? [] : {}; + return ( + Object.keys(e).forEach((i) => { + e[i] && 'object' == typeof e[i] + ? (t[i] = r(e[i])) + : (t[i] = e[i]); + }), + t + ); + } + function s(e) { + if (!e || 'object' != typeof e) return e; + const t = [e]; + for (; t.length > 0; ) { + const e = t.shift(); + Object.freeze(e); + for (const i in e) + if (o.call(e, i)) { + const n = e[i]; + 'object' != typeof n || Object.isFrozen(n) || t.push(n); + } + } + return e; + } + const o = Object.prototype.hasOwnProperty; + function a(e, t) { + return l(e, t, new Set()); + } + function l(e, t, i) { + if ((0, n.Jp)(e)) return e; + const r = t(e); + if (void 0 !== r) return r; + if ((0, n.kJ)(e)) { + const n = []; + for (const r of e) n.push(l(r, t, i)); + return n; + } + if ((0, n.Kn)(e)) { + if (i.has(e)) + throw new Error('Cannot clone recursive data-structure'); + i.add(e); + const n = {}; + for (let r in e) o.call(e, r) && (n[r] = l(e[r], t, i)); + return i.delete(e), n; + } + return e; + } + function c(e, t, i = !0) { + return (0, n.Kn)(e) + ? ((0, n.Kn)(t) && + Object.keys(t).forEach((r) => { + r in e + ? i && + ((0, n.Kn)(e[r]) && (0, n.Kn)(t[r]) + ? c(e[r], t[r], i) + : (e[r] = t[r])) + : (e[r] = t[r]); + }), + e) + : t; + } + function d(e, ...t) { + return ( + t.forEach((t) => Object.keys(t).forEach((i) => (e[i] = t[i]))), e + ); + } + function h(e, t) { + if (e === t) return !0; + if (null == e || null == t) return !1; + if (typeof e != typeof t) return !1; + if ('object' != typeof e) return !1; + if (Array.isArray(e) !== Array.isArray(t)) return !1; + let i, n; + if (Array.isArray(e)) { + if (e.length !== t.length) return !1; + for (i = 0; i < e.length; i++) if (!h(e[i], t[i])) return !1; + } else { + const r = []; + for (n in e) r.push(n); + r.sort(); + const s = []; + for (n in t) s.push(n); + if ((s.sort(), !h(r, s))) return !1; + for (i = 0; i < r.length; i++) if (!h(e[r[i]], t[r[i]])) return !1; + } + return !0; + } + function u(e, t, i) { + const n = t(e); + return void 0 === n ? i : n; + } + }, + 88721: (e, t, i) => { + 'use strict'; + i.d(t, { + EZ: () => x, + XX: () => k, + DZ: () => L, + Fv: () => w, + KR: () => y, + Gf: () => S, + DB: () => C, + ir: () => M, + Ku: () => v, + }); + var n = i(1432); + const r = + 'undefined' == typeof process + ? { + cwd: () => '/', + env: Object.create(null), + get platform() { + return n.ED ? 'win32' : n.dz ? 'darwin' : 'linux'; + }, + nextTick: (e) => (0, n.xS)(e), + } + : process, + s = r.cwd, + o = r.env, + a = r.platform, + l = 46, + c = 47, + d = 92, + h = 58; + class u extends Error { + constructor(e, t, i) { + let n; + 'string' == typeof t && 0 === t.indexOf('not ') + ? ((n = 'must not be'), (t = t.replace(/^not /, ''))) + : (n = 'must be'); + const r = -1 !== e.indexOf('.') ? 'property' : 'argument'; + let s = `The "${e}" ${r} ${n} of type ${t}`; + (s += '. Received type ' + typeof i), + super(s), + (this.code = 'ERR_INVALID_ARG_TYPE'); + } + } + function g(e, t) { + if ('string' != typeof e) throw new u(t, 'string', e); + } + function f(e) { + return e === c || e === d; + } + function p(e) { + return e === c; + } + function m(e) { + return (e >= 65 && e <= 90) || (e >= 97 && e <= 122); + } + function _(e, t, i, n) { + let r = '', + s = 0, + o = -1, + a = 0, + d = 0; + for (let h = 0; h <= e.length; ++h) { + if (h < e.length) d = e.charCodeAt(h); + else { + if (n(d)) break; + d = c; + } + if (n(d)) { + if (o === h - 1 || 1 === a); + else if (2 === a) { + if ( + r.length < 2 || + 2 !== s || + r.charCodeAt(r.length - 1) !== l || + r.charCodeAt(r.length - 2) !== l + ) { + if (r.length > 2) { + const e = r.lastIndexOf(i); + -1 === e + ? ((r = ''), (s = 0)) + : ((r = r.slice(0, e)), + (s = r.length - 1 - r.lastIndexOf(i))), + (o = h), + (a = 0); + continue; + } + if (0 !== r.length) { + (r = ''), (s = 0), (o = h), (a = 0); + continue; + } + } + t && ((r += r.length > 0 ? `${i}..` : '..'), (s = 2)); + } else + r.length > 0 + ? (r += `${i}${e.slice(o + 1, h)}`) + : (r = e.slice(o + 1, h)), + (s = h - o - 1); + (o = h), (a = 0); + } else d === l && -1 !== a ? ++a : (a = -1); + } + return r; + } + function b(e, t) { + if (null === t || 'object' != typeof t) + throw new u('pathObject', 'Object', t); + const i = t.dir || t.root, + n = t.base || `${t.name || ''}${t.ext || ''}`; + return i ? (i === t.root ? `${i}${n}` : `${i}${e}${n}`) : n; + } + const v = { + resolve(...e) { + let t = '', + i = '', + n = !1; + for (let r = e.length - 1; r >= -1; r--) { + let a; + if (r >= 0) { + if (((a = e[r]), g(a, 'path'), 0 === a.length)) continue; + } else + 0 === t.length + ? (a = s()) + : ((a = o[`=${t}`] || s()), + (void 0 === a || + (a.slice(0, 2).toLowerCase() !== t.toLowerCase() && + a.charCodeAt(2) === d)) && + (a = `${t}\\`)); + const l = a.length; + let c = 0, + u = '', + p = !1; + const _ = a.charCodeAt(0); + if (1 === l) f(_) && ((c = 1), (p = !0)); + else if (f(_)) + if (((p = !0), f(a.charCodeAt(1)))) { + let e = 2, + t = e; + for (; e < l && !f(a.charCodeAt(e)); ) e++; + if (e < l && e !== t) { + const i = a.slice(t, e); + for (t = e; e < l && f(a.charCodeAt(e)); ) e++; + if (e < l && e !== t) { + for (t = e; e < l && !f(a.charCodeAt(e)); ) e++; + (e !== l && e === t) || + ((u = `\\\\${i}\\${a.slice(t, e)}`), (c = e)); + } + } + } else c = 1; + else + m(_) && + a.charCodeAt(1) === h && + ((u = a.slice(0, 2)), + (c = 2), + l > 2 && f(a.charCodeAt(2)) && ((p = !0), (c = 3))); + if (u.length > 0) + if (t.length > 0) { + if (u.toLowerCase() !== t.toLowerCase()) continue; + } else t = u; + if (n) { + if (t.length > 0) break; + } else if ( + ((i = `${a.slice(c)}\\${i}`), (n = p), p && t.length > 0) + ) + break; + } + return ( + (i = _(i, !n, '\\', f)), n ? `${t}\\${i}` : `${t}${i}` || '.' + ); + }, + normalize(e) { + g(e, 'path'); + const t = e.length; + if (0 === t) return '.'; + let i, + n = 0, + r = !1; + const s = e.charCodeAt(0); + if (1 === t) return p(s) ? '\\' : e; + if (f(s)) + if (((r = !0), f(e.charCodeAt(1)))) { + let r = 2, + s = r; + for (; r < t && !f(e.charCodeAt(r)); ) r++; + if (r < t && r !== s) { + const o = e.slice(s, r); + for (s = r; r < t && f(e.charCodeAt(r)); ) r++; + if (r < t && r !== s) { + for (s = r; r < t && !f(e.charCodeAt(r)); ) r++; + if (r === t) return `\\\\${o}\\${e.slice(s)}\\`; + r !== s && ((i = `\\\\${o}\\${e.slice(s, r)}`), (n = r)); + } + } + } else n = 1; + else + m(s) && + e.charCodeAt(1) === h && + ((i = e.slice(0, 2)), + (n = 2), + t > 2 && f(e.charCodeAt(2)) && ((r = !0), (n = 3))); + let o = n < t ? _(e.slice(n), !r, '\\', f) : ''; + return ( + 0 !== o.length || r || (o = '.'), + o.length > 0 && f(e.charCodeAt(t - 1)) && (o += '\\'), + void 0 === i + ? r + ? `\\${o}` + : o + : r + ? `${i}\\${o}` + : `${i}${o}` + ); + }, + isAbsolute(e) { + g(e, 'path'); + const t = e.length; + if (0 === t) return !1; + const i = e.charCodeAt(0); + return ( + f(i) || + (t > 2 && m(i) && e.charCodeAt(1) === h && f(e.charCodeAt(2))) + ); + }, + join(...e) { + if (0 === e.length) return '.'; + let t, i; + for (let n = 0; n < e.length; ++n) { + const r = e[n]; + g(r, 'path'), + r.length > 0 && + (void 0 === t ? (t = i = r) : (t += `\\${r}`)); + } + if (void 0 === t) return '.'; + let n = !0, + r = 0; + if ('string' == typeof i && f(i.charCodeAt(0))) { + ++r; + const e = i.length; + e > 1 && + f(i.charCodeAt(1)) && + (++r, e > 2 && (f(i.charCodeAt(2)) ? ++r : (n = !1))); + } + if (n) { + for (; r < t.length && f(t.charCodeAt(r)); ) r++; + r >= 2 && (t = `\\${t.slice(r)}`); + } + return v.normalize(t); + }, + relative(e, t) { + if ((g(e, 'from'), g(t, 'to'), e === t)) return ''; + const i = v.resolve(e), + n = v.resolve(t); + if (i === n) return ''; + if ((e = i.toLowerCase()) === (t = n.toLowerCase())) return ''; + let r = 0; + for (; r < e.length && e.charCodeAt(r) === d; ) r++; + let s = e.length; + for (; s - 1 > r && e.charCodeAt(s - 1) === d; ) s--; + const o = s - r; + let a = 0; + for (; a < t.length && t.charCodeAt(a) === d; ) a++; + let l = t.length; + for (; l - 1 > a && t.charCodeAt(l - 1) === d; ) l--; + const c = l - a, + h = o < c ? o : c; + let u = -1, + f = 0; + for (; f < h; f++) { + const i = e.charCodeAt(r + f); + if (i !== t.charCodeAt(a + f)) break; + i === d && (u = f); + } + if (f !== h) { + if (-1 === u) return n; + } else { + if (c > h) { + if (t.charCodeAt(a + f) === d) return n.slice(a + f + 1); + if (2 === f) return n.slice(a + f); + } + o > h && + (e.charCodeAt(r + f) === d ? (u = f) : 2 === f && (u = 3)), + -1 === u && (u = 0); + } + let p = ''; + for (f = r + u + 1; f <= s; ++f) + (f !== s && e.charCodeAt(f) !== d) || + (p += 0 === p.length ? '..' : '\\..'); + return ( + (a += u), + p.length > 0 + ? `${p}${n.slice(a, l)}` + : (n.charCodeAt(a) === d && ++a, n.slice(a, l)) + ); + }, + toNamespacedPath(e) { + if ('string' != typeof e) return e; + if (0 === e.length) return ''; + const t = v.resolve(e); + if (t.length <= 2) return e; + if (t.charCodeAt(0) === d) { + if (t.charCodeAt(1) === d) { + const e = t.charCodeAt(2); + if (63 !== e && e !== l) return `\\\\?\\UNC\\${t.slice(2)}`; + } + } else if ( + m(t.charCodeAt(0)) && + t.charCodeAt(1) === h && + t.charCodeAt(2) === d + ) + return `\\\\?\\${t}`; + return e; + }, + dirname(e) { + g(e, 'path'); + const t = e.length; + if (0 === t) return '.'; + let i = -1, + n = 0; + const r = e.charCodeAt(0); + if (1 === t) return f(r) ? e : '.'; + if (f(r)) { + if (((i = n = 1), f(e.charCodeAt(1)))) { + let r = 2, + s = r; + for (; r < t && !f(e.charCodeAt(r)); ) r++; + if (r < t && r !== s) { + for (s = r; r < t && f(e.charCodeAt(r)); ) r++; + if (r < t && r !== s) { + for (s = r; r < t && !f(e.charCodeAt(r)); ) r++; + if (r === t) return e; + r !== s && (i = n = r + 1); + } + } + } + } else + m(r) && + e.charCodeAt(1) === h && + ((i = t > 2 && f(e.charCodeAt(2)) ? 3 : 2), (n = i)); + let s = -1, + o = !0; + for (let i = t - 1; i >= n; --i) + if (f(e.charCodeAt(i))) { + if (!o) { + s = i; + break; + } + } else o = !1; + if (-1 === s) { + if (-1 === i) return '.'; + s = i; + } + return e.slice(0, s); + }, + basename(e, t) { + void 0 !== t && g(t, 'ext'), g(e, 'path'); + let i, + n = 0, + r = -1, + s = !0; + if ( + (e.length >= 2 && + m(e.charCodeAt(0)) && + e.charCodeAt(1) === h && + (n = 2), + void 0 !== t && t.length > 0 && t.length <= e.length) + ) { + if (t === e) return ''; + let o = t.length - 1, + a = -1; + for (i = e.length - 1; i >= n; --i) { + const l = e.charCodeAt(i); + if (f(l)) { + if (!s) { + n = i + 1; + break; + } + } else + -1 === a && ((s = !1), (a = i + 1)), + o >= 0 && + (l === t.charCodeAt(o) + ? -1 == --o && (r = i) + : ((o = -1), (r = a))); + } + return ( + n === r ? (r = a) : -1 === r && (r = e.length), e.slice(n, r) + ); + } + for (i = e.length - 1; i >= n; --i) + if (f(e.charCodeAt(i))) { + if (!s) { + n = i + 1; + break; + } + } else -1 === r && ((s = !1), (r = i + 1)); + return -1 === r ? '' : e.slice(n, r); + }, + extname(e) { + g(e, 'path'); + let t = 0, + i = -1, + n = 0, + r = -1, + s = !0, + o = 0; + e.length >= 2 && + e.charCodeAt(1) === h && + m(e.charCodeAt(0)) && + (t = n = 2); + for (let a = e.length - 1; a >= t; --a) { + const t = e.charCodeAt(a); + if (f(t)) { + if (!s) { + n = a + 1; + break; + } + } else + -1 === r && ((s = !1), (r = a + 1)), + t === l + ? -1 === i + ? (i = a) + : 1 !== o && (o = 1) + : -1 !== i && (o = -1); + } + return -1 === i || + -1 === r || + 0 === o || + (1 === o && i === r - 1 && i === n + 1) + ? '' + : e.slice(i, r); + }, + format: b.bind(null, '\\'), + parse(e) { + g(e, 'path'); + const t = { root: '', dir: '', base: '', ext: '', name: '' }; + if (0 === e.length) return t; + const i = e.length; + let n = 0, + r = e.charCodeAt(0); + if (1 === i) + return f(r) + ? ((t.root = t.dir = e), t) + : ((t.base = t.name = e), t); + if (f(r)) { + if (((n = 1), f(e.charCodeAt(1)))) { + let t = 2, + r = t; + for (; t < i && !f(e.charCodeAt(t)); ) t++; + if (t < i && t !== r) { + for (r = t; t < i && f(e.charCodeAt(t)); ) t++; + if (t < i && t !== r) { + for (r = t; t < i && !f(e.charCodeAt(t)); ) t++; + t === i ? (n = t) : t !== r && (n = t + 1); + } + } + } + } else if (m(r) && e.charCodeAt(1) === h) { + if (i <= 2) return (t.root = t.dir = e), t; + if (((n = 2), f(e.charCodeAt(2)))) { + if (3 === i) return (t.root = t.dir = e), t; + n = 3; + } + } + n > 0 && (t.root = e.slice(0, n)); + let s = -1, + o = n, + a = -1, + c = !0, + d = e.length - 1, + u = 0; + for (; d >= n; --d) + if (((r = e.charCodeAt(d)), f(r))) { + if (!c) { + o = d + 1; + break; + } + } else + -1 === a && ((c = !1), (a = d + 1)), + r === l + ? -1 === s + ? (s = d) + : 1 !== u && (u = 1) + : -1 !== s && (u = -1); + return ( + -1 !== a && + (-1 === s || + 0 === u || + (1 === u && s === a - 1 && s === o + 1) + ? (t.base = t.name = e.slice(o, a)) + : ((t.name = e.slice(o, s)), + (t.base = e.slice(o, a)), + (t.ext = e.slice(s, a)))), + (t.dir = o > 0 && o !== n ? e.slice(0, o - 1) : t.root), + t + ); + }, + sep: '\\', + delimiter: ';', + win32: null, + posix: null, + }, + y = { + resolve(...e) { + let t = '', + i = !1; + for (let n = e.length - 1; n >= -1 && !i; n--) { + const r = n >= 0 ? e[n] : s(); + g(r, 'path'), + 0 !== r.length && + ((t = `${r}/${t}`), (i = r.charCodeAt(0) === c)); + } + return ( + (t = _(t, !i, '/', p)), i ? `/${t}` : t.length > 0 ? t : '.' + ); + }, + normalize(e) { + if ((g(e, 'path'), 0 === e.length)) return '.'; + const t = e.charCodeAt(0) === c, + i = e.charCodeAt(e.length - 1) === c; + return 0 === (e = _(e, !t, '/', p)).length + ? t + ? '/' + : i + ? './' + : '.' + : (i && (e += '/'), t ? `/${e}` : e); + }, + isAbsolute: (e) => ( + g(e, 'path'), e.length > 0 && e.charCodeAt(0) === c + ), + join(...e) { + if (0 === e.length) return '.'; + let t; + for (let i = 0; i < e.length; ++i) { + const n = e[i]; + g(n, 'path'), + n.length > 0 && (void 0 === t ? (t = n) : (t += `/${n}`)); + } + return void 0 === t ? '.' : y.normalize(t); + }, + relative(e, t) { + if ((g(e, 'from'), g(t, 'to'), e === t)) return ''; + if ((e = y.resolve(e)) === (t = y.resolve(t))) return ''; + const i = e.length, + n = i - 1, + r = t.length - 1, + s = n < r ? n : r; + let o = -1, + a = 0; + for (; a < s; a++) { + const i = e.charCodeAt(1 + a); + if (i !== t.charCodeAt(1 + a)) break; + i === c && (o = a); + } + if (a === s) + if (r > s) { + if (t.charCodeAt(1 + a) === c) return t.slice(1 + a + 1); + if (0 === a) return t.slice(1 + a); + } else + n > s && + (e.charCodeAt(1 + a) === c ? (o = a) : 0 === a && (o = 0)); + let l = ''; + for (a = 1 + o + 1; a <= i; ++a) + (a !== i && e.charCodeAt(a) !== c) || + (l += 0 === l.length ? '..' : '/..'); + return `${l}${t.slice(1 + o)}`; + }, + toNamespacedPath: (e) => e, + dirname(e) { + if ((g(e, 'path'), 0 === e.length)) return '.'; + const t = e.charCodeAt(0) === c; + let i = -1, + n = !0; + for (let t = e.length - 1; t >= 1; --t) + if (e.charCodeAt(t) === c) { + if (!n) { + i = t; + break; + } + } else n = !1; + return -1 === i + ? t + ? '/' + : '.' + : t && 1 === i + ? '//' + : e.slice(0, i); + }, + basename(e, t) { + void 0 !== t && g(t, 'ext'), g(e, 'path'); + let i, + n = 0, + r = -1, + s = !0; + if (void 0 !== t && t.length > 0 && t.length <= e.length) { + if (t === e) return ''; + let o = t.length - 1, + a = -1; + for (i = e.length - 1; i >= 0; --i) { + const l = e.charCodeAt(i); + if (l === c) { + if (!s) { + n = i + 1; + break; + } + } else + -1 === a && ((s = !1), (a = i + 1)), + o >= 0 && + (l === t.charCodeAt(o) + ? -1 == --o && (r = i) + : ((o = -1), (r = a))); + } + return ( + n === r ? (r = a) : -1 === r && (r = e.length), e.slice(n, r) + ); + } + for (i = e.length - 1; i >= 0; --i) + if (e.charCodeAt(i) === c) { + if (!s) { + n = i + 1; + break; + } + } else -1 === r && ((s = !1), (r = i + 1)); + return -1 === r ? '' : e.slice(n, r); + }, + extname(e) { + g(e, 'path'); + let t = -1, + i = 0, + n = -1, + r = !0, + s = 0; + for (let o = e.length - 1; o >= 0; --o) { + const a = e.charCodeAt(o); + if (a !== c) + -1 === n && ((r = !1), (n = o + 1)), + a === l + ? -1 === t + ? (t = o) + : 1 !== s && (s = 1) + : -1 !== t && (s = -1); + else if (!r) { + i = o + 1; + break; + } + } + return -1 === t || + -1 === n || + 0 === s || + (1 === s && t === n - 1 && t === i + 1) + ? '' + : e.slice(t, n); + }, + format: b.bind(null, '/'), + parse(e) { + g(e, 'path'); + const t = { root: '', dir: '', base: '', ext: '', name: '' }; + if (0 === e.length) return t; + const i = e.charCodeAt(0) === c; + let n; + i ? ((t.root = '/'), (n = 1)) : (n = 0); + let r = -1, + s = 0, + o = -1, + a = !0, + d = e.length - 1, + h = 0; + for (; d >= n; --d) { + const t = e.charCodeAt(d); + if (t !== c) + -1 === o && ((a = !1), (o = d + 1)), + t === l + ? -1 === r + ? (r = d) + : 1 !== h && (h = 1) + : -1 !== r && (h = -1); + else if (!a) { + s = d + 1; + break; + } + } + if (-1 !== o) { + const n = 0 === s && i ? 1 : s; + -1 === r || 0 === h || (1 === h && r === o - 1 && r === s + 1) + ? (t.base = t.name = e.slice(n, o)) + : ((t.name = e.slice(n, r)), + (t.base = e.slice(n, o)), + (t.ext = e.slice(r, o))); + } + return ( + s > 0 ? (t.dir = e.slice(0, s - 1)) : i && (t.dir = '/'), t + ); + }, + sep: '/', + delimiter: ':', + win32: null, + posix: null, + }; + (y.win32 = v.win32 = v), (y.posix = v.posix = y); + const w = 'win32' === a ? v.normalize : y.normalize, + C = 'win32' === a ? v.resolve : y.resolve, + S = 'win32' === a ? v.relative : y.relative, + k = 'win32' === a ? v.dirname : y.dirname, + x = 'win32' === a ? v.basename : y.basename, + L = 'win32' === a ? v.extname : y.extname, + M = 'win32' === a ? v.sep : y.sep; + }, + 1432: (e, t, i) => { + 'use strict'; + i.d(t, { + ED: () => m, + dz: () => _, + IJ: () => b, + tY: () => v, + $L: () => y, + gn: () => w, + li: () => C, + xS: () => S, + OS: () => k, + r: () => M, + }); + const n = 'en'; + let r, + s, + o, + a = !1, + l = !1, + c = !1, + d = !1, + h = !1, + u = !1, + g = null; + const f = + 'undefined' != typeof process && + void 0 !== process.versions && + void 0 !== process.versions.electron && + 'renderer' === process.type; + if ('object' != typeof navigator || f) { + if ('object' == typeof process) { + (a = 'win32' === process.platform), + (l = 'darwin' === process.platform), + (c = 'linux' === process.platform), + (r = n), + (g = n); + const e = process.env.VSCODE_NLS_CONFIG; + if (e) + try { + const t = JSON.parse(e), + i = t.availableLanguages['*']; + (r = t.locale), (g = i || n), (s = t._translationsConfigFile); + } catch (e) {} + d = !0; + } + } else + (o = navigator.userAgent), + (a = o.indexOf('Windows') >= 0), + (l = o.indexOf('Macintosh') >= 0), + (u = + (o.indexOf('Macintosh') >= 0 || + o.indexOf('iPad') >= 0 || + o.indexOf('iPhone') >= 0) && + !!navigator.maxTouchPoints && + navigator.maxTouchPoints > 0), + (c = o.indexOf('Linux') >= 0), + (h = !0), + (r = navigator.language), + (g = r); + let p = 0; + l ? (p = 1) : a ? (p = 3) : c && (p = 2); + const m = a, + _ = l, + b = c, + v = d, + y = h, + w = u, + C = + 'object' == typeof self ? self : 'object' == typeof i.g ? i.g : {}, + S = (function () { + if (C.setImmediate) return C.setImmediate.bind(C); + if ('function' == typeof C.postMessage && !C.importScripts) { + let e = []; + C.addEventListener('message', (t) => { + if (t.data && t.data.vscodeSetImmediateId) + for (let i = 0, n = e.length; i < n; i++) { + const n = e[i]; + if (n.id === t.data.vscodeSetImmediateId) + return e.splice(i, 1), void n.callback(); + } + }); + let t = 0; + return (i) => { + const n = ++t; + e.push({ id: n, callback: i }), + C.postMessage({ vscodeSetImmediateId: n }, '*'); + }; + } + if ( + 'undefined' != typeof process && + 'function' == typeof process.nextTick + ) + return process.nextTick.bind(process); + const e = Promise.resolve(); + return (t) => e.then(t); + })(), + k = l || u ? 2 : a ? 1 : 3; + let x = !0, + L = !1; + function M() { + if (!L) { + L = !0; + const e = new Uint8Array(2); + (e[0] = 1), (e[1] = 2); + const t = new Uint16Array(e.buffer); + x = 513 === t[0]; + } + return x; + } + }, + 61134: (e, t, i) => { + 'use strict'; + var n; + i.d(t, { e: () => n }), + (function (e) { + function t(e, t) { + if (e.start >= t.end || t.start >= e.end) + return { start: 0, end: 0 }; + const i = Math.max(e.start, t.start), + n = Math.min(e.end, t.end); + return n - i <= 0 ? { start: 0, end: 0 } : { start: i, end: n }; + } + function i(e) { + return e.end - e.start <= 0; + } + (e.intersect = t), + (e.isEmpty = i), + (e.intersects = function (e, n) { + return !i(t(e, n)); + }), + (e.relativeComplement = function (e, t) { + const n = [], + r = { start: e.start, end: Math.min(t.start, e.end) }, + s = { start: Math.max(t.end, e.start), end: e.end }; + return i(r) || n.push(r), i(s) || n.push(s), n; + }); + })(n || (n = {})); + }, + 95935: (e, t, i) => { + 'use strict'; + i.d(t, { + z_: () => c, + SF: () => d, + Xy: () => h, + Hx: () => u, + EZ: () => g, + XX: () => f, + Vo: () => p, + AH: () => m, + lX: () => _, + i3: () => b, + Vb: () => y, + }); + var n = i(15527), + r = i(88721), + s = i(70666), + o = i(97295), + a = i(66663), + l = i(1432); + function c(e) { + return (0, s.q)(e, !0); + } + const d = new (class { + constructor(e) { + this._ignorePathCasing = e; + } + compare(e, t, i = !1) { + return e === t + ? 0 + : (0, o.qu)( + this.getComparisonKey(e, i), + this.getComparisonKey(t, i) + ); + } + isEqual(e, t, i = !1) { + return ( + e === t || + (!(!e || !t) && + this.getComparisonKey(e, i) === this.getComparisonKey(t, i)) + ); + } + getComparisonKey(e, t = !1) { + return e + .with({ + path: this._ignorePathCasing(e) + ? e.path.toLowerCase() + : void 0, + fragment: t ? null : void 0, + }) + .toString(); + } + joinPath(e, ...t) { + return s.o.joinPath(e, ...t); + } + basenameOrAuthority(e) { + return g(e) || e.authority; + } + basename(e) { + return r.KR.basename(e.path); + } + dirname(e) { + if (0 === e.path.length) return e; + let t; + return ( + e.scheme === a.l.file + ? (t = s.o.file(r.XX(c(e))).path) + : ((t = r.KR.dirname(e.path)), + e.authority && + t.length && + 47 !== t.charCodeAt(0) && + (console.error( + `dirname("${e.toString})) resulted in a relative path` + ), + (t = '/'))), + e.with({ path: t }) + ); + } + normalizePath(e) { + if (!e.path.length) return e; + let t; + return ( + (t = + e.scheme === a.l.file + ? s.o.file(r.Fv(c(e))).path + : r.KR.normalize(e.path)), + e.with({ path: t }) + ); + } + relativePath(e, t) { + if (e.scheme !== t.scheme || !v(e.authority, t.authority)) return; + if (e.scheme === a.l.file) { + const i = r.Gf(c(e), c(t)); + return l.ED ? n.e(i) : i; + } + let i = e.path || '/', + s = t.path || '/'; + if (this._ignorePathCasing(e)) { + let e = 0; + for ( + const t = Math.min(i.length, s.length); + e < t && + (i.charCodeAt(e) === s.charCodeAt(e) || + i.charAt(e).toLowerCase() === s.charAt(e).toLowerCase()); + e++ + ); + i = s.substr(0, e) + i.substr(e); + } + return r.KR.relative(i, s); + } + resolvePath(e, t) { + if (e.scheme === a.l.file) { + const i = s.o.file(r.DB(c(e), t)); + return e.with({ authority: i.authority, path: i.path }); + } + return ( + -1 === t.indexOf('/') && + ((t = n.e(t)), /^[a-zA-Z]:(\/|$)/.test(t) && (t = '/' + t)), + e.with({ path: r.KR.resolve(e.path, t) }) + ); + } + isEqualAuthority(e, t) { + return e === t || (0, o.qq)(e, t); + } + })(() => !1), + h = d.isEqual.bind(d), + u = d.basenameOrAuthority.bind(d), + g = d.basename.bind(d), + f = d.dirname.bind(d), + p = d.joinPath.bind(d), + m = d.normalizePath.bind(d), + _ = d.relativePath.bind(d), + b = d.resolvePath.bind(d), + v = d.isEqualAuthority.bind(d); + var y; + !(function (e) { + (e.META_DATA_LABEL = 'label'), + (e.META_DATA_DESCRIPTION = 'description'), + (e.META_DATA_SIZE = 'size'), + (e.META_DATA_MIME = 'mime'), + (e.parseMetaData = function (t) { + const i = new Map(); + t.path + .substring(t.path.indexOf(';') + 1, t.path.lastIndexOf(';')) + .split(';') + .forEach((e) => { + const [t, n] = e.split(':'); + t && n && i.set(t, n); + }); + const n = t.path.substring(0, t.path.indexOf(';')); + return n && i.set(e.META_DATA_MIME, n), i; + }); + })(y || (y = {})); + }, + 76633: (e, t, i) => { + 'use strict'; + i.d(t, { Rm: () => o }); + var n = i(4669), + r = i(5976); + class s { + constructor(e, t, i, n, r, s) { + (e |= 0), + (t |= 0), + (i |= 0), + (n |= 0), + (r |= 0), + (s |= 0), + (this.rawScrollLeft = i), + (this.rawScrollTop = s), + e < 0 && (e = 0), + i + e > t && (i = t - e), + i < 0 && (i = 0), + n < 0 && (n = 0), + s + n > r && (s = r - n), + s < 0 && (s = 0), + (this.width = e), + (this.scrollWidth = t), + (this.scrollLeft = i), + (this.height = n), + (this.scrollHeight = r), + (this.scrollTop = s); + } + equals(e) { + return ( + this.rawScrollLeft === e.rawScrollLeft && + this.rawScrollTop === e.rawScrollTop && + this.width === e.width && + this.scrollWidth === e.scrollWidth && + this.scrollLeft === e.scrollLeft && + this.height === e.height && + this.scrollHeight === e.scrollHeight && + this.scrollTop === e.scrollTop + ); + } + withScrollDimensions(e, t) { + return new s( + void 0 !== e.width ? e.width : this.width, + void 0 !== e.scrollWidth ? e.scrollWidth : this.scrollWidth, + t ? this.rawScrollLeft : this.scrollLeft, + void 0 !== e.height ? e.height : this.height, + void 0 !== e.scrollHeight ? e.scrollHeight : this.scrollHeight, + t ? this.rawScrollTop : this.scrollTop + ); + } + withScrollPosition(e) { + return new s( + this.width, + this.scrollWidth, + void 0 !== e.scrollLeft ? e.scrollLeft : this.rawScrollLeft, + this.height, + this.scrollHeight, + void 0 !== e.scrollTop ? e.scrollTop : this.rawScrollTop + ); + } + createScrollEvent(e) { + const t = this.width !== e.width, + i = this.scrollWidth !== e.scrollWidth, + n = this.scrollLeft !== e.scrollLeft, + r = this.height !== e.height, + s = this.scrollHeight !== e.scrollHeight, + o = this.scrollTop !== e.scrollTop; + return { + oldWidth: e.width, + oldScrollWidth: e.scrollWidth, + oldScrollLeft: e.scrollLeft, + width: this.width, + scrollWidth: this.scrollWidth, + scrollLeft: this.scrollLeft, + oldHeight: e.height, + oldScrollHeight: e.scrollHeight, + oldScrollTop: e.scrollTop, + height: this.height, + scrollHeight: this.scrollHeight, + scrollTop: this.scrollTop, + widthChanged: t, + scrollWidthChanged: i, + scrollLeftChanged: n, + heightChanged: r, + scrollHeightChanged: s, + scrollTopChanged: o, + }; + } + } + class o extends r.JT { + constructor(e, t) { + super(), + (this._onScroll = this._register(new n.Q5())), + (this.onScroll = this._onScroll.event), + (this._smoothScrollDuration = e), + (this._scheduleAtNextAnimationFrame = t), + (this._state = new s(0, 0, 0, 0, 0, 0)), + (this._smoothScrolling = null); + } + dispose() { + this._smoothScrolling && + (this._smoothScrolling.dispose(), (this._smoothScrolling = null)), + super.dispose(); + } + setSmoothScrollDuration(e) { + this._smoothScrollDuration = e; + } + validateScrollPosition(e) { + return this._state.withScrollPosition(e); + } + getScrollDimensions() { + return this._state; + } + setScrollDimensions(e, t) { + const i = this._state.withScrollDimensions(e, t); + this._setState(i), + this._smoothScrolling && + this._smoothScrolling.acceptScrollDimensions(this._state); + } + getFutureScrollPosition() { + return this._smoothScrolling + ? this._smoothScrolling.to + : this._state; + } + getCurrentScrollPosition() { + return this._state; + } + setScrollPositionNow(e) { + const t = this._state.withScrollPosition(e); + this._smoothScrolling && + (this._smoothScrolling.dispose(), (this._smoothScrolling = null)), + this._setState(t); + } + setScrollPositionSmooth(e) { + if (0 === this._smoothScrollDuration) + return this.setScrollPositionNow(e); + if (this._smoothScrolling) { + e = { + scrollLeft: + void 0 === e.scrollLeft + ? this._smoothScrolling.to.scrollLeft + : e.scrollLeft, + scrollTop: + void 0 === e.scrollTop + ? this._smoothScrolling.to.scrollTop + : e.scrollTop, + }; + const t = this._state.withScrollPosition(e); + if ( + this._smoothScrolling.to.scrollLeft === t.scrollLeft && + this._smoothScrolling.to.scrollTop === t.scrollTop + ) + return; + const i = this._smoothScrolling.combine( + this._state, + t, + this._smoothScrollDuration + ); + this._smoothScrolling.dispose(), (this._smoothScrolling = i); + } else { + const t = this._state.withScrollPosition(e); + this._smoothScrolling = c.start( + this._state, + t, + this._smoothScrollDuration + ); + } + this._smoothScrolling.animationFrameDisposable = this._scheduleAtNextAnimationFrame( + () => { + this._smoothScrolling && + ((this._smoothScrolling.animationFrameDisposable = null), + this._performSmoothScrolling()); + } + ); + } + _performSmoothScrolling() { + if (!this._smoothScrolling) return; + const e = this._smoothScrolling.tick(), + t = this._state.withScrollPosition(e); + return ( + this._setState(t), + this._smoothScrolling + ? e.isDone + ? (this._smoothScrolling.dispose(), + void (this._smoothScrolling = null)) + : void (this._smoothScrolling.animationFrameDisposable = this._scheduleAtNextAnimationFrame( + () => { + this._smoothScrolling && + ((this._smoothScrolling.animationFrameDisposable = null), + this._performSmoothScrolling()); + } + )) + : void 0 + ); + } + _setState(e) { + const t = this._state; + t.equals(e) || + ((this._state = e), + this._onScroll.fire(this._state.createScrollEvent(t))); + } + } + class a { + constructor(e, t, i) { + (this.scrollLeft = e), (this.scrollTop = t), (this.isDone = i); + } + } + function l(e, t) { + const i = t - e; + return function (t) { + return e + i * (1 - ((n = 1 - t), Math.pow(n, 3))); + var n; + }; + } + class c { + constructor(e, t, i, n) { + (this.from = e), + (this.to = t), + (this.duration = n), + (this._startTime = i), + (this.animationFrameDisposable = null), + this._initAnimations(); + } + _initAnimations() { + (this.scrollLeft = this._initAnimation( + this.from.scrollLeft, + this.to.scrollLeft, + this.to.width + )), + (this.scrollTop = this._initAnimation( + this.from.scrollTop, + this.to.scrollTop, + this.to.height + )); + } + _initAnimation(e, t, i) { + if (Math.abs(e - t) > 2.5 * i) { + let o, a; + return ( + e < t + ? ((o = e + 0.75 * i), (a = t - 0.75 * i)) + : ((o = e - 0.75 * i), (a = t + 0.75 * i)), + (n = l(e, o)), + (r = l(a, t)), + (s = 0.33), + function (e) { + return e < s ? n(e / s) : r((e - s) / (1 - s)); + } + ); + } + var n, r, s; + return l(e, t); + } + dispose() { + null !== this.animationFrameDisposable && + (this.animationFrameDisposable.dispose(), + (this.animationFrameDisposable = null)); + } + acceptScrollDimensions(e) { + (this.to = e.withScrollPosition(this.to)), this._initAnimations(); + } + tick() { + return this._tick(Date.now()); + } + _tick(e) { + const t = (e - this._startTime) / this.duration; + if (t < 1) { + const e = this.scrollLeft(t), + i = this.scrollTop(t); + return new a(e, i, !1); + } + return new a(this.to.scrollLeft, this.to.scrollTop, !0); + } + combine(e, t, i) { + return c.start(e, t, i); + } + static start(e, t, i) { + i += 10; + const n = Date.now() - 10; + return new c(e, t, n, i); + } + } + }, + 14603: (e, t, i) => { + 'use strict'; + i.d(t, { Z: () => s }); + var n, + r = i(97295); + !(function (e) { + (e[(e.Ignore = 0)] = 'Ignore'), + (e[(e.Info = 1)] = 'Info'), + (e[(e.Warning = 2)] = 'Warning'), + (e[(e.Error = 3)] = 'Error'); + })(n || (n = {})), + (function (e) { + e.fromValue = function (t) { + return t + ? r.qq('error', t) + ? e.Error + : r.qq('warning', t) || r.qq('warn', t) + ? e.Warning + : r.qq('info', t) + ? e.Info + : e.Ignore + : e.Ignore; + }; + })(n || (n = {})); + const s = n; + }, + 84013: (e, t, i) => { + 'use strict'; + i.d(t, { G: () => s }); + var n = i(1432); + const r = n.li.performance && 'function' == typeof n.li.performance.now; + class s { + constructor(e) { + (this._highResolution = r && e), + (this._startTime = this._now()), + (this._stopTime = -1); + } + static create(e = !0) { + return new s(e); + } + stop() { + this._stopTime = this._now(); + } + elapsed() { + return -1 !== this._stopTime + ? this._stopTime - this._startTime + : this._now() - this._startTime; + } + _now() { + return this._highResolution + ? n.li.performance.now() + : new Date().getTime(); + } + } + }, + 97295: (e, t, i) => { + 'use strict'; + function n(e) { + return !e || 'string' != typeof e || 0 === e.trim().length; + } + function r(e, t, i = '0') { + const n = '' + e, + r = [n]; + for (let e = n.length; e < t; e++) r.push(i); + return r.reverse().join(''); + } + i.d(t, { + m5: () => n, + vk: () => r, + WU: () => o, + YU: () => a, + ec: () => l, + fy: () => c, + j3: () => d, + oL: () => h, + un: () => u, + R1: () => g, + Ny: () => f, + pn: () => p, + GF: () => m, + IO: () => _, + mr: () => b, + LC: () => v, + V8: () => y, + ow: () => w, + qu: () => C, + TT: () => S, + zY: () => k, + j_: () => x, + mK: () => L, + df: () => M, + qq: () => N, + ok: () => T, + Mh: () => I, + P1: () => O, + ZG: () => A, + YK: () => R, + rL: () => P, + ZH: () => F, + vH: () => W, + HO: () => Y, + CZ: () => H, + Ut: () => V, + RP: () => U, + $i: () => K, + Qe: () => q, + ab: () => G, + xe: () => Z, + K7: () => J, + C8: () => Q, + c1: () => X, + uS: () => ee, + Kw: () => te, + PJ: () => ie, + S6: () => ne, + fi: () => re, + }); + const s = /{(\d+)}/g; + function o(e, ...t) { + return 0 === t.length + ? e + : e.replace(s, function (e, i) { + const n = parseInt(i, 10); + return isNaN(n) || n < 0 || n >= t.length ? e : t[n]; + }); + } + function a(e) { + return e.replace(/[<>&]/g, function (e) { + switch (e) { + case '<': + return '<'; + case '>': + return '>'; + case '&': + return '&'; + default: + return e; + } + }); + } + function l(e) { + return e.replace(/[\\\{\}\*\+\?\|\^\$\.\[\]\(\)]/g, '\\$&'); + } + function c(e, t = ' ') { + return h(d(e, t), t); + } + function d(e, t) { + if (!e || !t) return e; + const i = t.length; + if (0 === i || 0 === e.length) return e; + let n = 0; + for (; e.indexOf(t, n) === n; ) n += i; + return e.substring(n); + } + function h(e, t) { + if (!e || !t) return e; + const i = t.length, + n = e.length; + if (0 === i || 0 === n) return e; + let r = n, + s = -1; + for (; (s = e.lastIndexOf(t, r - 1)), -1 !== s && s + i === r; ) { + if (0 === s) return ''; + r = s; + } + return e.substring(0, r); + } + function u(e) { + return e + .replace(/[\-\\\{\}\+\?\|\^\$\.\,\[\]\(\)\#\s]/g, '\\$&') + .replace(/[\*]/g, '.*'); + } + function g(e) { + return e.replace(/\*/g, ''); + } + function f(e, t) { + if (e.length < t.length) return !1; + if (e === t) return !0; + for (let i = 0; i < t.length; i++) if (e[i] !== t[i]) return !1; + return !0; + } + function p(e, t) { + const i = e.length - t.length; + return i > 0 ? e.indexOf(t, i) === i : 0 === i && e === t; + } + function m(e, t, i = {}) { + if (!e) throw new Error('Cannot create regex from empty string'); + t || (e = l(e)), + i.wholeWord && + (/\B/.test(e.charAt(0)) || (e = '\\b' + e), + /\B/.test(e.charAt(e.length - 1)) || (e += '\\b')); + let n = ''; + return ( + i.global && (n += 'g'), + i.matchCase || (n += 'i'), + i.multiline && (n += 'm'), + i.unicode && (n += 'u'), + new RegExp(e, n) + ); + } + function _(e) { + return ( + '^' !== e.source && + '^$' !== e.source && + '$' !== e.source && + '^\\s*$' !== e.source && + !(!e.exec('') || 0 !== e.lastIndex) + ); + } + function b(e) { + return ( + (e.global ? 'g' : '') + + (e.ignoreCase ? 'i' : '') + + (e.multiline ? 'm' : '') + + (e.unicode ? 'u' : '') + ); + } + function v(e) { + for (let t = 0, i = e.length; t < i; t++) { + const i = e.charCodeAt(t); + if (32 !== i && 9 !== i) return t; + } + return -1; + } + function y(e, t = 0, i = e.length) { + for (let n = t; n < i; n++) { + const i = e.charCodeAt(n); + if (32 !== i && 9 !== i) return e.substring(t, n); + } + return e.substring(t, i); + } + function w(e, t = e.length - 1) { + for (let i = t; i >= 0; i--) { + const t = e.charCodeAt(i); + if (32 !== t && 9 !== t) return i; + } + return -1; + } + function C(e, t) { + return e < t ? -1 : e > t ? 1 : 0; + } + function S(e, t, i = 0, n = e.length, r = 0, s = t.length) { + for (; i < n && r < s; i++, r++) { + let n = e.charCodeAt(i), + s = t.charCodeAt(r); + if (n < s) return -1; + if (n > s) return 1; + } + const o = n - i, + a = s - r; + return o < a ? -1 : o > a ? 1 : 0; + } + function k(e, t) { + return x(e, t, 0, e.length, 0, t.length); + } + function x(e, t, i = 0, n = e.length, r = 0, s = t.length) { + for (; i < n && r < s; i++, r++) { + let o = e.charCodeAt(i), + a = t.charCodeAt(r); + if (o === a) continue; + const l = o - a; + if (!((32 === l && M(a)) || (-32 === l && M(o)))) + return L(o) && L(a) + ? l + : S(e.toLowerCase(), t.toLowerCase(), i, n, r, s); + } + const o = n - i, + a = s - r; + return o < a ? -1 : o > a ? 1 : 0; + } + function L(e) { + return e >= 97 && e <= 122; + } + function M(e) { + return e >= 65 && e <= 90; + } + function D(e) { + return L(e) || M(e); + } + function N(e, t) { + return e.length === t.length && E(e, t); + } + function E(e, t, i = e.length) { + for (let n = 0; n < i; n++) { + const i = e.charCodeAt(n), + r = t.charCodeAt(n); + if (i !== r) + if (D(i) && D(r)) { + const e = Math.abs(i - r); + if (0 !== e && 32 !== e) return !1; + } else if ( + String.fromCharCode(i).toLowerCase() !== + String.fromCharCode(r).toLowerCase() + ) + return !1; + } + return !0; + } + function T(e, t) { + const i = t.length; + return !(t.length > e.length) && E(e, t, i); + } + function I(e, t) { + let i, + n = Math.min(e.length, t.length); + for (i = 0; i < n; i++) + if (e.charCodeAt(i) !== t.charCodeAt(i)) return i; + return n; + } + function O(e, t) { + let i, + n = Math.min(e.length, t.length); + const r = e.length - 1, + s = t.length - 1; + for (i = 0; i < n; i++) + if (e.charCodeAt(r - i) !== t.charCodeAt(s - i)) return i; + return n; + } + function A(e) { + return 55296 <= e && e <= 56319; + } + function R(e) { + return 56320 <= e && e <= 57343; + } + function P(e, t) { + return t - 56320 + ((e - 55296) << 10) + 65536; + } + function F(e, t, i) { + const n = e.charCodeAt(i); + if (A(n) && i + 1 < t) { + const t = e.charCodeAt(i + 1); + if (R(t)) return P(n, t); + } + return n; + } + function B(e, t) { + const i = e.charCodeAt(t - 1); + if (R(i) && t > 1) { + const n = e.charCodeAt(t - 2); + if (A(n)) return P(n, i); + } + return i; + } + function W(e, t) { + const i = se.getInstance(), + n = t, + r = e.length, + s = F(e, r, t); + t += s >= 65536 ? 2 : 1; + let o = i.getGraphemeBreakType(s); + for (; t < r; ) { + const n = F(e, r, t), + s = i.getGraphemeBreakType(n); + if (re(o, s)) break; + (t += n >= 65536 ? 2 : 1), (o = s); + } + return t - n; + } + function Y(e, t) { + const i = se.getInstance(), + n = t, + r = B(e, t); + t -= r >= 65536 ? 2 : 1; + let s = i.getGraphemeBreakType(r); + for (; t > 0; ) { + const n = B(e, t), + r = i.getGraphemeBreakType(n); + if (re(r, s)) break; + (t -= n >= 65536 ? 2 : 1), (s = r); + } + return n - t; + } + function H(e) { + const t = e.byteLength, + i = []; + let n = 0; + for (; n < t; ) { + const r = e[n]; + let s; + if ( + ((s = + r >= 240 && n + 3 < t + ? (((7 & e[n++]) << 18) >>> 0) | + (((63 & e[n++]) << 12) >>> 0) | + (((63 & e[n++]) << 6) >>> 0) | + (((63 & e[n++]) << 0) >>> 0) + : r >= 224 && n + 2 < t + ? (((15 & e[n++]) << 12) >>> 0) | + (((63 & e[n++]) << 6) >>> 0) | + (((63 & e[n++]) << 0) >>> 0) + : r >= 192 && n + 1 < t + ? (((31 & e[n++]) << 6) >>> 0) | (((63 & e[n++]) << 0) >>> 0) + : e[n++]), + (s >= 0 && s <= 55295) || (s >= 57344 && s <= 65535)) + ) + i.push(String.fromCharCode(s)); + else if (s >= 65536 && s <= 1114111) { + const e = s - 65536, + t = 55296 + ((1047552 & e) >>> 10), + n = 56320 + ((1023 & e) >>> 0); + i.push(String.fromCharCode(t)), i.push(String.fromCharCode(n)); + } else i.push(String.fromCharCode(65533)); + } + return i.join(''); + } + const j = /(?:[\u05BE\u05C0\u05C3\u05C6\u05D0-\u05F4\u0608\u060B\u060D\u061B-\u064A\u066D-\u066F\u0671-\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u0710\u0712-\u072F\u074D-\u07A5\u07B1-\u07EA\u07F4\u07F5\u07FA-\u0815\u081A\u0824\u0828\u0830-\u0858\u085E-\u08BD\u200F\uFB1D\uFB1F-\uFB28\uFB2A-\uFD3D\uFD50-\uFDFC\uFE70-\uFEFC]|\uD802[\uDC00-\uDD1B\uDD20-\uDE00\uDE10-\uDE33\uDE40-\uDEE4\uDEEB-\uDF35\uDF40-\uDFFF]|\uD803[\uDC00-\uDCFF]|\uD83A[\uDC00-\uDCCF\uDD00-\uDD43\uDD50-\uDFFF]|\uD83B[\uDC00-\uDEBB])/; + function V(e) { + return j.test(e); + } + const z = /(?:[\u231A\u231B\u23F0\u23F3\u2600-\u27BF\u2B50\u2B55]|\uD83C[\uDDE6-\uDDFF\uDF00-\uDFFF]|\uD83D[\uDC00-\uDE4F\uDE80-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD00-\uDDFF\uDE70-\uDE73\uDE78-\uDE82\uDE90-\uDE95])/; + function U(e) { + return z.test(e); + } + const $ = /^[\t\n\r\x20-\x7E]*$/; + function K(e) { + return $.test(e); + } + const q = /[\u2028\u2029]/; + function G(e) { + return q.test(e); + } + function Z(e) { + for (let t = 0, i = e.length; t < i; t++) + if (J(e.charCodeAt(t))) return !0; + return !1; + } + function J(e) { + return ( + ((e = +e) >= 11904 && e <= 55215) || + (e >= 63744 && e <= 64255) || + (e >= 65281 && e <= 65374) + ); + } + function Q(e) { + return ( + (e >= 127462 && e <= 127487) || + (e >= 9728 && e <= 10175) || + (e >= 127744 && e <= 128591) || + (e >= 128640 && e <= 128764) || + (e >= 128992 && e <= 129003) || + (e >= 129280 && e <= 129535) || + (e >= 129648 && e <= 129651) || + (e >= 129656 && e <= 129666) || + (e >= 129680 && e <= 129685) + ); + } + const X = String.fromCharCode(65279); + function ee(e) { + return !!(e && e.length > 0 && 65279 === e.charCodeAt(0)); + } + function te(e, t = !1) { + return ( + !!e && (t && (e = e.replace(/\\./g, '')), e.toLowerCase() !== e) + ); + } + function ie(e) { + return (e %= 52) < 26 + ? String.fromCharCode(97 + e) + : String.fromCharCode(65 + e - 26); + } + function ne(e) { + return se.getInstance().getGraphemeBreakType(e); + } + function re(e, t) { + return 0 === e + ? 5 !== t && 7 !== t + : !( + (2 === e && 3 === t) || + (4 !== e && + 2 !== e && + 3 !== e && + 4 !== t && + 2 !== t && + 3 !== t && + ((8 === e && (8 === t || 9 === t || 11 === t || 12 === t)) || + !((11 !== e && 9 !== e) || (9 !== t && 10 !== t)) || + ((12 === e || 10 === e) && 10 === t) || + 5 === t || + 13 === t || + 7 === t || + 1 === e || + (13 === e && 14 === t) || + (6 === e && 6 === t))) + ); + } + class se { + constructor() { + this._data = JSON.parse( + '[0,0,0,51592,51592,11,44424,44424,11,72251,72254,5,7150,7150,7,48008,48008,11,55176,55176,11,128420,128420,14,3276,3277,5,9979,9980,14,46216,46216,11,49800,49800,11,53384,53384,11,70726,70726,5,122915,122916,5,129320,129327,14,2558,2558,5,5906,5908,5,9762,9763,14,43360,43388,8,45320,45320,11,47112,47112,11,48904,48904,11,50696,50696,11,52488,52488,11,54280,54280,11,70082,70083,1,71350,71350,7,73111,73111,5,127892,127893,14,128726,128727,14,129473,129474,14,2027,2035,5,2901,2902,5,3784,3789,5,6754,6754,5,8418,8420,5,9877,9877,14,11088,11088,14,44008,44008,5,44872,44872,11,45768,45768,11,46664,46664,11,47560,47560,11,48456,48456,11,49352,49352,11,50248,50248,11,51144,51144,11,52040,52040,11,52936,52936,11,53832,53832,11,54728,54728,11,69811,69814,5,70459,70460,5,71096,71099,7,71998,71998,5,72874,72880,5,119149,119149,7,127374,127374,14,128335,128335,14,128482,128482,14,128765,128767,14,129399,129400,14,129680,129685,14,1476,1477,5,2377,2380,7,2759,2760,5,3137,3140,7,3458,3459,7,4153,4154,5,6432,6434,5,6978,6978,5,7675,7679,5,9723,9726,14,9823,9823,14,9919,9923,14,10035,10036,14,42736,42737,5,43596,43596,5,44200,44200,11,44648,44648,11,45096,45096,11,45544,45544,11,45992,45992,11,46440,46440,11,46888,46888,11,47336,47336,11,47784,47784,11,48232,48232,11,48680,48680,11,49128,49128,11,49576,49576,11,50024,50024,11,50472,50472,11,50920,50920,11,51368,51368,11,51816,51816,11,52264,52264,11,52712,52712,11,53160,53160,11,53608,53608,11,54056,54056,11,54504,54504,11,54952,54952,11,68108,68111,5,69933,69940,5,70197,70197,7,70498,70499,7,70845,70845,5,71229,71229,5,71727,71735,5,72154,72155,5,72344,72345,5,73023,73029,5,94095,94098,5,121403,121452,5,126981,127182,14,127538,127546,14,127990,127990,14,128391,128391,14,128445,128449,14,128500,128505,14,128752,128752,14,129160,129167,14,129356,129356,14,129432,129442,14,129648,129651,14,129751,131069,14,173,173,4,1757,1757,1,2274,2274,1,2494,2494,5,2641,2641,5,2876,2876,5,3014,3016,7,3262,3262,7,3393,3396,5,3570,3571,7,3968,3972,5,4228,4228,7,6086,6086,5,6679,6680,5,6912,6915,5,7080,7081,5,7380,7392,5,8252,8252,14,9096,9096,14,9748,9749,14,9784,9786,14,9833,9850,14,9890,9894,14,9938,9938,14,9999,9999,14,10085,10087,14,12349,12349,14,43136,43137,7,43454,43456,7,43755,43755,7,44088,44088,11,44312,44312,11,44536,44536,11,44760,44760,11,44984,44984,11,45208,45208,11,45432,45432,11,45656,45656,11,45880,45880,11,46104,46104,11,46328,46328,11,46552,46552,11,46776,46776,11,47000,47000,11,47224,47224,11,47448,47448,11,47672,47672,11,47896,47896,11,48120,48120,11,48344,48344,11,48568,48568,11,48792,48792,11,49016,49016,11,49240,49240,11,49464,49464,11,49688,49688,11,49912,49912,11,50136,50136,11,50360,50360,11,50584,50584,11,50808,50808,11,51032,51032,11,51256,51256,11,51480,51480,11,51704,51704,11,51928,51928,11,52152,52152,11,52376,52376,11,52600,52600,11,52824,52824,11,53048,53048,11,53272,53272,11,53496,53496,11,53720,53720,11,53944,53944,11,54168,54168,11,54392,54392,11,54616,54616,11,54840,54840,11,55064,55064,11,65438,65439,5,69633,69633,5,69837,69837,1,70018,70018,7,70188,70190,7,70368,70370,7,70465,70468,7,70712,70719,5,70835,70840,5,70850,70851,5,71132,71133,5,71340,71340,7,71458,71461,5,71985,71989,7,72002,72002,7,72193,72202,5,72281,72283,5,72766,72766,7,72885,72886,5,73104,73105,5,92912,92916,5,113824,113827,4,119173,119179,5,121505,121519,5,125136,125142,5,127279,127279,14,127489,127490,14,127570,127743,14,127900,127901,14,128254,128254,14,128369,128370,14,128400,128400,14,128425,128432,14,128468,128475,14,128489,128494,14,128715,128720,14,128745,128745,14,128759,128760,14,129004,129023,14,129296,129304,14,129340,129342,14,129388,129392,14,129404,129407,14,129454,129455,14,129485,129487,14,129659,129663,14,129719,129727,14,917536,917631,5,13,13,2,1160,1161,5,1564,1564,4,1807,1807,1,2085,2087,5,2363,2363,7,2402,2403,5,2507,2508,7,2622,2624,7,2691,2691,7,2786,2787,5,2881,2884,5,3006,3006,5,3072,3072,5,3170,3171,5,3267,3268,7,3330,3331,7,3406,3406,1,3538,3540,5,3655,3662,5,3897,3897,5,4038,4038,5,4184,4185,5,4352,4447,8,6068,6069,5,6155,6157,5,6448,6449,7,6742,6742,5,6783,6783,5,6966,6970,5,7042,7042,7,7143,7143,7,7212,7219,5,7412,7412,5,8206,8207,4,8294,8303,4,8596,8601,14,9410,9410,14,9742,9742,14,9757,9757,14,9770,9770,14,9794,9794,14,9828,9828,14,9855,9855,14,9882,9882,14,9900,9903,14,9929,9933,14,9963,9967,14,9987,9988,14,10006,10006,14,10062,10062,14,10175,10175,14,11744,11775,5,42607,42607,5,43043,43044,7,43263,43263,5,43444,43445,7,43569,43570,5,43698,43700,5,43766,43766,5,44032,44032,11,44144,44144,11,44256,44256,11,44368,44368,11,44480,44480,11,44592,44592,11,44704,44704,11,44816,44816,11,44928,44928,11,45040,45040,11,45152,45152,11,45264,45264,11,45376,45376,11,45488,45488,11,45600,45600,11,45712,45712,11,45824,45824,11,45936,45936,11,46048,46048,11,46160,46160,11,46272,46272,11,46384,46384,11,46496,46496,11,46608,46608,11,46720,46720,11,46832,46832,11,46944,46944,11,47056,47056,11,47168,47168,11,47280,47280,11,47392,47392,11,47504,47504,11,47616,47616,11,47728,47728,11,47840,47840,11,47952,47952,11,48064,48064,11,48176,48176,11,48288,48288,11,48400,48400,11,48512,48512,11,48624,48624,11,48736,48736,11,48848,48848,11,48960,48960,11,49072,49072,11,49184,49184,11,49296,49296,11,49408,49408,11,49520,49520,11,49632,49632,11,49744,49744,11,49856,49856,11,49968,49968,11,50080,50080,11,50192,50192,11,50304,50304,11,50416,50416,11,50528,50528,11,50640,50640,11,50752,50752,11,50864,50864,11,50976,50976,11,51088,51088,11,51200,51200,11,51312,51312,11,51424,51424,11,51536,51536,11,51648,51648,11,51760,51760,11,51872,51872,11,51984,51984,11,52096,52096,11,52208,52208,11,52320,52320,11,52432,52432,11,52544,52544,11,52656,52656,11,52768,52768,11,52880,52880,11,52992,52992,11,53104,53104,11,53216,53216,11,53328,53328,11,53440,53440,11,53552,53552,11,53664,53664,11,53776,53776,11,53888,53888,11,54000,54000,11,54112,54112,11,54224,54224,11,54336,54336,11,54448,54448,11,54560,54560,11,54672,54672,11,54784,54784,11,54896,54896,11,55008,55008,11,55120,55120,11,64286,64286,5,66272,66272,5,68900,68903,5,69762,69762,7,69817,69818,5,69927,69931,5,70003,70003,5,70070,70078,5,70094,70094,7,70194,70195,7,70206,70206,5,70400,70401,5,70463,70463,7,70475,70477,7,70512,70516,5,70722,70724,5,70832,70832,5,70842,70842,5,70847,70848,5,71088,71089,7,71102,71102,7,71219,71226,5,71231,71232,5,71342,71343,7,71453,71455,5,71463,71467,5,71737,71738,5,71995,71996,5,72000,72000,7,72145,72147,7,72160,72160,5,72249,72249,7,72273,72278,5,72330,72342,5,72752,72758,5,72850,72871,5,72882,72883,5,73018,73018,5,73031,73031,5,73109,73109,5,73461,73462,7,94031,94031,5,94192,94193,7,119142,119142,7,119155,119162,4,119362,119364,5,121476,121476,5,122888,122904,5,123184,123190,5,126976,126979,14,127184,127231,14,127344,127345,14,127405,127461,14,127514,127514,14,127561,127567,14,127778,127779,14,127896,127896,14,127985,127986,14,127995,127999,5,128326,128328,14,128360,128366,14,128378,128378,14,128394,128397,14,128405,128406,14,128422,128423,14,128435,128443,14,128453,128464,14,128479,128480,14,128484,128487,14,128496,128498,14,128640,128709,14,128723,128724,14,128736,128741,14,128747,128748,14,128755,128755,14,128762,128762,14,128981,128991,14,129096,129103,14,129292,129292,14,129311,129311,14,129329,129330,14,129344,129349,14,129360,129374,14,129394,129394,14,129402,129402,14,129413,129425,14,129445,129450,14,129466,129471,14,129483,129483,14,129511,129535,14,129653,129655,14,129667,129670,14,129705,129711,14,129731,129743,14,917505,917505,4,917760,917999,5,10,10,3,127,159,4,768,879,5,1471,1471,5,1536,1541,1,1648,1648,5,1767,1768,5,1840,1866,5,2070,2073,5,2137,2139,5,2307,2307,7,2366,2368,7,2382,2383,7,2434,2435,7,2497,2500,5,2519,2519,5,2563,2563,7,2631,2632,5,2677,2677,5,2750,2752,7,2763,2764,7,2817,2817,5,2879,2879,5,2891,2892,7,2914,2915,5,3008,3008,5,3021,3021,5,3076,3076,5,3146,3149,5,3202,3203,7,3264,3265,7,3271,3272,7,3298,3299,5,3390,3390,5,3402,3404,7,3426,3427,5,3535,3535,5,3544,3550,7,3635,3635,7,3763,3763,7,3893,3893,5,3953,3966,5,3981,3991,5,4145,4145,7,4157,4158,5,4209,4212,5,4237,4237,5,4520,4607,10,5970,5971,5,6071,6077,5,6089,6099,5,6277,6278,5,6439,6440,5,6451,6456,7,6683,6683,5,6744,6750,5,6765,6770,7,6846,6846,5,6964,6964,5,6972,6972,5,7019,7027,5,7074,7077,5,7083,7085,5,7146,7148,7,7154,7155,7,7222,7223,5,7394,7400,5,7416,7417,5,8204,8204,5,8233,8233,4,8288,8292,4,8413,8416,5,8482,8482,14,8986,8987,14,9193,9203,14,9654,9654,14,9733,9733,14,9745,9745,14,9752,9752,14,9760,9760,14,9766,9766,14,9774,9775,14,9792,9792,14,9800,9811,14,9825,9826,14,9831,9831,14,9852,9853,14,9872,9873,14,9880,9880,14,9885,9887,14,9896,9897,14,9906,9916,14,9926,9927,14,9936,9936,14,9941,9960,14,9974,9974,14,9982,9985,14,9992,9997,14,10002,10002,14,10017,10017,14,10055,10055,14,10071,10071,14,10145,10145,14,11013,11015,14,11503,11505,5,12334,12335,5,12951,12951,14,42612,42621,5,43014,43014,5,43047,43047,7,43204,43205,5,43335,43345,5,43395,43395,7,43450,43451,7,43561,43566,5,43573,43574,5,43644,43644,5,43710,43711,5,43758,43759,7,44005,44005,5,44012,44012,7,44060,44060,11,44116,44116,11,44172,44172,11,44228,44228,11,44284,44284,11,44340,44340,11,44396,44396,11,44452,44452,11,44508,44508,11,44564,44564,11,44620,44620,11,44676,44676,11,44732,44732,11,44788,44788,11,44844,44844,11,44900,44900,11,44956,44956,11,45012,45012,11,45068,45068,11,45124,45124,11,45180,45180,11,45236,45236,11,45292,45292,11,45348,45348,11,45404,45404,11,45460,45460,11,45516,45516,11,45572,45572,11,45628,45628,11,45684,45684,11,45740,45740,11,45796,45796,11,45852,45852,11,45908,45908,11,45964,45964,11,46020,46020,11,46076,46076,11,46132,46132,11,46188,46188,11,46244,46244,11,46300,46300,11,46356,46356,11,46412,46412,11,46468,46468,11,46524,46524,11,46580,46580,11,46636,46636,11,46692,46692,11,46748,46748,11,46804,46804,11,46860,46860,11,46916,46916,11,46972,46972,11,47028,47028,11,47084,47084,11,47140,47140,11,47196,47196,11,47252,47252,11,47308,47308,11,47364,47364,11,47420,47420,11,47476,47476,11,47532,47532,11,47588,47588,11,47644,47644,11,47700,47700,11,47756,47756,11,47812,47812,11,47868,47868,11,47924,47924,11,47980,47980,11,48036,48036,11,48092,48092,11,48148,48148,11,48204,48204,11,48260,48260,11,48316,48316,11,48372,48372,11,48428,48428,11,48484,48484,11,48540,48540,11,48596,48596,11,48652,48652,11,48708,48708,11,48764,48764,11,48820,48820,11,48876,48876,11,48932,48932,11,48988,48988,11,49044,49044,11,49100,49100,11,49156,49156,11,49212,49212,11,49268,49268,11,49324,49324,11,49380,49380,11,49436,49436,11,49492,49492,11,49548,49548,11,49604,49604,11,49660,49660,11,49716,49716,11,49772,49772,11,49828,49828,11,49884,49884,11,49940,49940,11,49996,49996,11,50052,50052,11,50108,50108,11,50164,50164,11,50220,50220,11,50276,50276,11,50332,50332,11,50388,50388,11,50444,50444,11,50500,50500,11,50556,50556,11,50612,50612,11,50668,50668,11,50724,50724,11,50780,50780,11,50836,50836,11,50892,50892,11,50948,50948,11,51004,51004,11,51060,51060,11,51116,51116,11,51172,51172,11,51228,51228,11,51284,51284,11,51340,51340,11,51396,51396,11,51452,51452,11,51508,51508,11,51564,51564,11,51620,51620,11,51676,51676,11,51732,51732,11,51788,51788,11,51844,51844,11,51900,51900,11,51956,51956,11,52012,52012,11,52068,52068,11,52124,52124,11,52180,52180,11,52236,52236,11,52292,52292,11,52348,52348,11,52404,52404,11,52460,52460,11,52516,52516,11,52572,52572,11,52628,52628,11,52684,52684,11,52740,52740,11,52796,52796,11,52852,52852,11,52908,52908,11,52964,52964,11,53020,53020,11,53076,53076,11,53132,53132,11,53188,53188,11,53244,53244,11,53300,53300,11,53356,53356,11,53412,53412,11,53468,53468,11,53524,53524,11,53580,53580,11,53636,53636,11,53692,53692,11,53748,53748,11,53804,53804,11,53860,53860,11,53916,53916,11,53972,53972,11,54028,54028,11,54084,54084,11,54140,54140,11,54196,54196,11,54252,54252,11,54308,54308,11,54364,54364,11,54420,54420,11,54476,54476,11,54532,54532,11,54588,54588,11,54644,54644,11,54700,54700,11,54756,54756,11,54812,54812,11,54868,54868,11,54924,54924,11,54980,54980,11,55036,55036,11,55092,55092,11,55148,55148,11,55216,55238,9,65056,65071,5,65529,65531,4,68097,68099,5,68159,68159,5,69446,69456,5,69688,69702,5,69808,69810,7,69815,69816,7,69821,69821,1,69888,69890,5,69932,69932,7,69957,69958,7,70016,70017,5,70067,70069,7,70079,70080,7,70089,70092,5,70095,70095,5,70191,70193,5,70196,70196,5,70198,70199,5,70367,70367,5,70371,70378,5,70402,70403,7,70462,70462,5,70464,70464,5,70471,70472,7,70487,70487,5,70502,70508,5,70709,70711,7,70720,70721,7,70725,70725,7,70750,70750,5,70833,70834,7,70841,70841,7,70843,70844,7,70846,70846,7,70849,70849,7,71087,71087,5,71090,71093,5,71100,71101,5,71103,71104,5,71216,71218,7,71227,71228,7,71230,71230,7,71339,71339,5,71341,71341,5,71344,71349,5,71351,71351,5,71456,71457,7,71462,71462,7,71724,71726,7,71736,71736,7,71984,71984,5,71991,71992,7,71997,71997,7,71999,71999,1,72001,72001,1,72003,72003,5,72148,72151,5,72156,72159,7,72164,72164,7,72243,72248,5,72250,72250,1,72263,72263,5,72279,72280,7,72324,72329,1,72343,72343,7,72751,72751,7,72760,72765,5,72767,72767,5,72873,72873,7,72881,72881,7,72884,72884,7,73009,73014,5,73020,73021,5,73030,73030,1,73098,73102,7,73107,73108,7,73110,73110,7,73459,73460,5,78896,78904,4,92976,92982,5,94033,94087,7,94180,94180,5,113821,113822,5,119141,119141,5,119143,119145,5,119150,119154,5,119163,119170,5,119210,119213,5,121344,121398,5,121461,121461,5,121499,121503,5,122880,122886,5,122907,122913,5,122918,122922,5,123628,123631,5,125252,125258,5,126980,126980,14,127183,127183,14,127245,127247,14,127340,127343,14,127358,127359,14,127377,127386,14,127462,127487,6,127491,127503,14,127535,127535,14,127548,127551,14,127568,127569,14,127744,127777,14,127780,127891,14,127894,127895,14,127897,127899,14,127902,127984,14,127987,127989,14,127991,127994,14,128000,128253,14,128255,128317,14,128329,128334,14,128336,128359,14,128367,128368,14,128371,128377,14,128379,128390,14,128392,128393,14,128398,128399,14,128401,128404,14,128407,128419,14,128421,128421,14,128424,128424,14,128433,128434,14,128444,128444,14,128450,128452,14,128465,128467,14,128476,128478,14,128481,128481,14,128483,128483,14,128488,128488,14,128495,128495,14,128499,128499,14,128506,128591,14,128710,128714,14,128721,128722,14,128725,128725,14,128728,128735,14,128742,128744,14,128746,128746,14,128749,128751,14,128753,128754,14,128756,128758,14,128761,128761,14,128763,128764,14,128884,128895,14,128992,129003,14,129036,129039,14,129114,129119,14,129198,129279,14,129293,129295,14,129305,129310,14,129312,129319,14,129328,129328,14,129331,129338,14,129343,129343,14,129351,129355,14,129357,129359,14,129375,129387,14,129393,129393,14,129395,129398,14,129401,129401,14,129403,129403,14,129408,129412,14,129426,129431,14,129443,129444,14,129451,129453,14,129456,129465,14,129472,129472,14,129475,129482,14,129484,129484,14,129488,129510,14,129536,129647,14,129652,129652,14,129656,129658,14,129664,129666,14,129671,129679,14,129686,129704,14,129712,129718,14,129728,129730,14,129744,129750,14,917504,917504,4,917506,917535,4,917632,917759,4,918000,921599,4,0,9,4,11,12,4,14,31,4,169,169,14,174,174,14,1155,1159,5,1425,1469,5,1473,1474,5,1479,1479,5,1552,1562,5,1611,1631,5,1750,1756,5,1759,1764,5,1770,1773,5,1809,1809,5,1958,1968,5,2045,2045,5,2075,2083,5,2089,2093,5,2259,2273,5,2275,2306,5,2362,2362,5,2364,2364,5,2369,2376,5,2381,2381,5,2385,2391,5,2433,2433,5,2492,2492,5,2495,2496,7,2503,2504,7,2509,2509,5,2530,2531,5,2561,2562,5,2620,2620,5,2625,2626,5,2635,2637,5,2672,2673,5,2689,2690,5,2748,2748,5,2753,2757,5,2761,2761,7,2765,2765,5,2810,2815,5,2818,2819,7,2878,2878,5,2880,2880,7,2887,2888,7,2893,2893,5,2903,2903,5,2946,2946,5,3007,3007,7,3009,3010,7,3018,3020,7,3031,3031,5,3073,3075,7,3134,3136,5,3142,3144,5,3157,3158,5,3201,3201,5,3260,3260,5,3263,3263,5,3266,3266,5,3270,3270,5,3274,3275,7,3285,3286,5,3328,3329,5,3387,3388,5,3391,3392,7,3398,3400,7,3405,3405,5,3415,3415,5,3457,3457,5,3530,3530,5,3536,3537,7,3542,3542,5,3551,3551,5,3633,3633,5,3636,3642,5,3761,3761,5,3764,3772,5,3864,3865,5,3895,3895,5,3902,3903,7,3967,3967,7,3974,3975,5,3993,4028,5,4141,4144,5,4146,4151,5,4155,4156,7,4182,4183,7,4190,4192,5,4226,4226,5,4229,4230,5,4253,4253,5,4448,4519,9,4957,4959,5,5938,5940,5,6002,6003,5,6070,6070,7,6078,6085,7,6087,6088,7,6109,6109,5,6158,6158,4,6313,6313,5,6435,6438,7,6441,6443,7,6450,6450,5,6457,6459,5,6681,6682,7,6741,6741,7,6743,6743,7,6752,6752,5,6757,6764,5,6771,6780,5,6832,6845,5,6847,6848,5,6916,6916,7,6965,6965,5,6971,6971,7,6973,6977,7,6979,6980,7,7040,7041,5,7073,7073,7,7078,7079,7,7082,7082,7,7142,7142,5,7144,7145,5,7149,7149,5,7151,7153,5,7204,7211,7,7220,7221,7,7376,7378,5,7393,7393,7,7405,7405,5,7415,7415,7,7616,7673,5,8203,8203,4,8205,8205,13,8232,8232,4,8234,8238,4,8265,8265,14,8293,8293,4,8400,8412,5,8417,8417,5,8421,8432,5,8505,8505,14,8617,8618,14,9000,9000,14,9167,9167,14,9208,9210,14,9642,9643,14,9664,9664,14,9728,9732,14,9735,9741,14,9743,9744,14,9746,9746,14,9750,9751,14,9753,9756,14,9758,9759,14,9761,9761,14,9764,9765,14,9767,9769,14,9771,9773,14,9776,9783,14,9787,9791,14,9793,9793,14,9795,9799,14,9812,9822,14,9824,9824,14,9827,9827,14,9829,9830,14,9832,9832,14,9851,9851,14,9854,9854,14,9856,9861,14,9874,9876,14,9878,9879,14,9881,9881,14,9883,9884,14,9888,9889,14,9895,9895,14,9898,9899,14,9904,9905,14,9917,9918,14,9924,9925,14,9928,9928,14,9934,9935,14,9937,9937,14,9939,9940,14,9961,9962,14,9968,9973,14,9975,9978,14,9981,9981,14,9986,9986,14,9989,9989,14,9998,9998,14,10000,10001,14,10004,10004,14,10013,10013,14,10024,10024,14,10052,10052,14,10060,10060,14,10067,10069,14,10083,10084,14,10133,10135,14,10160,10160,14,10548,10549,14,11035,11036,14,11093,11093,14,11647,11647,5,12330,12333,5,12336,12336,14,12441,12442,5,12953,12953,14,42608,42610,5,42654,42655,5,43010,43010,5,43019,43019,5,43045,43046,5,43052,43052,5,43188,43203,7,43232,43249,5,43302,43309,5,43346,43347,7,43392,43394,5,43443,43443,5,43446,43449,5,43452,43453,5,43493,43493,5,43567,43568,7,43571,43572,7,43587,43587,5,43597,43597,7,43696,43696,5,43703,43704,5,43713,43713,5,43756,43757,5,43765,43765,7,44003,44004,7,44006,44007,7,44009,44010,7,44013,44013,5,44033,44059,12,44061,44087,12,44089,44115,12,44117,44143,12,44145,44171,12,44173,44199,12,44201,44227,12,44229,44255,12,44257,44283,12,44285,44311,12,44313,44339,12,44341,44367,12,44369,44395,12,44397,44423,12,44425,44451,12,44453,44479,12,44481,44507,12,44509,44535,12,44537,44563,12,44565,44591,12,44593,44619,12,44621,44647,12,44649,44675,12,44677,44703,12,44705,44731,12,44733,44759,12,44761,44787,12,44789,44815,12,44817,44843,12,44845,44871,12,44873,44899,12,44901,44927,12,44929,44955,12,44957,44983,12,44985,45011,12,45013,45039,12,45041,45067,12,45069,45095,12,45097,45123,12,45125,45151,12,45153,45179,12,45181,45207,12,45209,45235,12,45237,45263,12,45265,45291,12,45293,45319,12,45321,45347,12,45349,45375,12,45377,45403,12,45405,45431,12,45433,45459,12,45461,45487,12,45489,45515,12,45517,45543,12,45545,45571,12,45573,45599,12,45601,45627,12,45629,45655,12,45657,45683,12,45685,45711,12,45713,45739,12,45741,45767,12,45769,45795,12,45797,45823,12,45825,45851,12,45853,45879,12,45881,45907,12,45909,45935,12,45937,45963,12,45965,45991,12,45993,46019,12,46021,46047,12,46049,46075,12,46077,46103,12,46105,46131,12,46133,46159,12,46161,46187,12,46189,46215,12,46217,46243,12,46245,46271,12,46273,46299,12,46301,46327,12,46329,46355,12,46357,46383,12,46385,46411,12,46413,46439,12,46441,46467,12,46469,46495,12,46497,46523,12,46525,46551,12,46553,46579,12,46581,46607,12,46609,46635,12,46637,46663,12,46665,46691,12,46693,46719,12,46721,46747,12,46749,46775,12,46777,46803,12,46805,46831,12,46833,46859,12,46861,46887,12,46889,46915,12,46917,46943,12,46945,46971,12,46973,46999,12,47001,47027,12,47029,47055,12,47057,47083,12,47085,47111,12,47113,47139,12,47141,47167,12,47169,47195,12,47197,47223,12,47225,47251,12,47253,47279,12,47281,47307,12,47309,47335,12,47337,47363,12,47365,47391,12,47393,47419,12,47421,47447,12,47449,47475,12,47477,47503,12,47505,47531,12,47533,47559,12,47561,47587,12,47589,47615,12,47617,47643,12,47645,47671,12,47673,47699,12,47701,47727,12,47729,47755,12,47757,47783,12,47785,47811,12,47813,47839,12,47841,47867,12,47869,47895,12,47897,47923,12,47925,47951,12,47953,47979,12,47981,48007,12,48009,48035,12,48037,48063,12,48065,48091,12,48093,48119,12,48121,48147,12,48149,48175,12,48177,48203,12,48205,48231,12,48233,48259,12,48261,48287,12,48289,48315,12,48317,48343,12,48345,48371,12,48373,48399,12,48401,48427,12,48429,48455,12,48457,48483,12,48485,48511,12,48513,48539,12,48541,48567,12,48569,48595,12,48597,48623,12,48625,48651,12,48653,48679,12,48681,48707,12,48709,48735,12,48737,48763,12,48765,48791,12,48793,48819,12,48821,48847,12,48849,48875,12,48877,48903,12,48905,48931,12,48933,48959,12,48961,48987,12,48989,49015,12,49017,49043,12,49045,49071,12,49073,49099,12,49101,49127,12,49129,49155,12,49157,49183,12,49185,49211,12,49213,49239,12,49241,49267,12,49269,49295,12,49297,49323,12,49325,49351,12,49353,49379,12,49381,49407,12,49409,49435,12,49437,49463,12,49465,49491,12,49493,49519,12,49521,49547,12,49549,49575,12,49577,49603,12,49605,49631,12,49633,49659,12,49661,49687,12,49689,49715,12,49717,49743,12,49745,49771,12,49773,49799,12,49801,49827,12,49829,49855,12,49857,49883,12,49885,49911,12,49913,49939,12,49941,49967,12,49969,49995,12,49997,50023,12,50025,50051,12,50053,50079,12,50081,50107,12,50109,50135,12,50137,50163,12,50165,50191,12,50193,50219,12,50221,50247,12,50249,50275,12,50277,50303,12,50305,50331,12,50333,50359,12,50361,50387,12,50389,50415,12,50417,50443,12,50445,50471,12,50473,50499,12,50501,50527,12,50529,50555,12,50557,50583,12,50585,50611,12,50613,50639,12,50641,50667,12,50669,50695,12,50697,50723,12,50725,50751,12,50753,50779,12,50781,50807,12,50809,50835,12,50837,50863,12,50865,50891,12,50893,50919,12,50921,50947,12,50949,50975,12,50977,51003,12,51005,51031,12,51033,51059,12,51061,51087,12,51089,51115,12,51117,51143,12,51145,51171,12,51173,51199,12,51201,51227,12,51229,51255,12,51257,51283,12,51285,51311,12,51313,51339,12,51341,51367,12,51369,51395,12,51397,51423,12,51425,51451,12,51453,51479,12,51481,51507,12,51509,51535,12,51537,51563,12,51565,51591,12,51593,51619,12,51621,51647,12,51649,51675,12,51677,51703,12,51705,51731,12,51733,51759,12,51761,51787,12,51789,51815,12,51817,51843,12,51845,51871,12,51873,51899,12,51901,51927,12,51929,51955,12,51957,51983,12,51985,52011,12,52013,52039,12,52041,52067,12,52069,52095,12,52097,52123,12,52125,52151,12,52153,52179,12,52181,52207,12,52209,52235,12,52237,52263,12,52265,52291,12,52293,52319,12,52321,52347,12,52349,52375,12,52377,52403,12,52405,52431,12,52433,52459,12,52461,52487,12,52489,52515,12,52517,52543,12,52545,52571,12,52573,52599,12,52601,52627,12,52629,52655,12,52657,52683,12,52685,52711,12,52713,52739,12,52741,52767,12,52769,52795,12,52797,52823,12,52825,52851,12,52853,52879,12,52881,52907,12,52909,52935,12,52937,52963,12,52965,52991,12,52993,53019,12,53021,53047,12,53049,53075,12,53077,53103,12,53105,53131,12,53133,53159,12,53161,53187,12,53189,53215,12,53217,53243,12,53245,53271,12,53273,53299,12,53301,53327,12,53329,53355,12,53357,53383,12,53385,53411,12,53413,53439,12,53441,53467,12,53469,53495,12,53497,53523,12,53525,53551,12,53553,53579,12,53581,53607,12,53609,53635,12,53637,53663,12,53665,53691,12,53693,53719,12,53721,53747,12,53749,53775,12,53777,53803,12,53805,53831,12,53833,53859,12,53861,53887,12,53889,53915,12,53917,53943,12,53945,53971,12,53973,53999,12,54001,54027,12,54029,54055,12,54057,54083,12,54085,54111,12,54113,54139,12,54141,54167,12,54169,54195,12,54197,54223,12,54225,54251,12,54253,54279,12,54281,54307,12,54309,54335,12,54337,54363,12,54365,54391,12,54393,54419,12,54421,54447,12,54449,54475,12,54477,54503,12,54505,54531,12,54533,54559,12,54561,54587,12,54589,54615,12,54617,54643,12,54645,54671,12,54673,54699,12,54701,54727,12,54729,54755,12,54757,54783,12,54785,54811,12,54813,54839,12,54841,54867,12,54869,54895,12,54897,54923,12,54925,54951,12,54953,54979,12,54981,55007,12,55009,55035,12,55037,55063,12,55065,55091,12,55093,55119,12,55121,55147,12,55149,55175,12,55177,55203,12,55243,55291,10,65024,65039,5,65279,65279,4,65520,65528,4,66045,66045,5,66422,66426,5,68101,68102,5,68152,68154,5,68325,68326,5,69291,69292,5,69632,69632,7,69634,69634,7,69759,69761,5]' + ); + } + static getInstance() { + return se._INSTANCE || (se._INSTANCE = new se()), se._INSTANCE; + } + getGraphemeBreakType(e) { + if (e < 32) return 10 === e ? 3 : 13 === e ? 2 : 4; + if (e < 127) return 0; + const t = this._data, + i = t.length / 3; + let n = 1; + for (; n <= i; ) + if (e < t[3 * n]) n *= 2; + else { + if (!(e > t[3 * n + 1])) return t[3 * n + 2]; + n = 2 * n + 1; + } + return 0; + } + } + se._INSTANCE = null; + }, + 98401: (e, t, i) => { + 'use strict'; + function n(e) { + return Array.isArray(e); + } + function r(e) { + return 'string' == typeof e; + } + function s(e) { + return !( + 'object' != typeof e || + null === e || + Array.isArray(e) || + e instanceof RegExp || + e instanceof Date + ); + } + function o(e) { + return 'number' == typeof e && !isNaN(e); + } + function a(e) { + return !0 === e || !1 === e; + } + function l(e) { + return void 0 === e; + } + function c(e) { + return l(e) || null === e; + } + function d(e, t) { + if (!e) + throw new Error( + t ? `Unexpected type, expected '${t}'` : 'Unexpected type' + ); + } + function h(e) { + if (c(e)) + throw new Error('Assertion Failed: argument is undefined or null'); + return e; + } + function u(e) { + return 'function' == typeof e; + } + function g(e, t) { + const i = Math.min(e.length, t.length); + for (let n = 0; n < i; n++) f(e[n], t[n]); + } + function f(e, t) { + if (r(t)) { + if (typeof e !== t) + throw new Error( + `argument does not match constraint: typeof ${t}` + ); + } else if (u(t)) { + try { + if (e instanceof t) return; + } catch (e) {} + if (!c(e) && e.constructor === t) return; + if (1 === t.length && !0 === t.call(void 0, e)) return; + throw new Error( + 'argument does not match one of these constraints: arg instanceof constraint, arg.constructor === constraint, nor constraint(arg) === true' + ); + } + } + function p(e) { + const t = []; + for (const i of (function (e) { + let t = [], + i = Object.getPrototypeOf(e); + for (; Object.prototype !== i; ) + (t = t.concat(Object.getOwnPropertyNames(i))), + (i = Object.getPrototypeOf(i)); + return t; + })(e)) + 'function' == typeof e[i] && t.push(i); + return t; + } + function m(e, t) { + const i = (e) => + function () { + const i = Array.prototype.slice.call(arguments, 0); + return t(e, i); + }; + let n = {}; + for (const t of e) n[t] = i(t); + return n; + } + function _(e) { + return null === e ? void 0 : e; + } + i.d(t, { + kJ: () => n, + HD: () => r, + Kn: () => s, + hj: () => o, + jn: () => a, + o8: () => l, + Jp: () => c, + p_: () => d, + cW: () => h, + mf: () => u, + D8: () => g, + $E: () => p, + IU: () => m, + f6: () => _, + }); + }, + 85427: (e, t, i) => { + 'use strict'; + function n(e) { + return e < 0 ? 0 : e > 255 ? 255 : 0 | e; + } + function r(e) { + return e < 0 ? 0 : e > 4294967295 ? 4294967295 : 0 | e; + } + i.d(t, { K: () => n, A: () => r }); + }, + 70666: (e, t, i) => { + 'use strict'; + i.d(t, { o: () => h, q: () => _ }); + var n = i(1432), + r = i(88721); + const s = /^\w[\w\d+.-]*$/, + o = /^\//, + a = /^\/\//, + l = '', + c = '/', + d = /^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/; + class h { + constructor(e, t, i, n, r, d = !1) { + 'object' == typeof e + ? ((this.scheme = e.scheme || l), + (this.authority = e.authority || l), + (this.path = e.path || l), + (this.query = e.query || l), + (this.fragment = e.fragment || l)) + : ((this.scheme = (function (e, t) { + return e || t ? e : 'file'; + })(e, d)), + (this.authority = t || l), + (this.path = (function (e, t) { + switch (e) { + case 'https': + case 'http': + case 'file': + t ? t[0] !== c && (t = c + t) : (t = c); + } + return t; + })(this.scheme, i || l)), + (this.query = n || l), + (this.fragment = r || l), + (function (e, t) { + if (!e.scheme && t) + throw new Error( + `[UriError]: Scheme is missing: {scheme: "", authority: "${e.authority}", path: "${e.path}", query: "${e.query}", fragment: "${e.fragment}"}` + ); + if (e.scheme && !s.test(e.scheme)) + throw new Error( + '[UriError]: Scheme contains illegal characters.' + ); + if (e.path) + if (e.authority) { + if (!o.test(e.path)) + throw new Error( + '[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character' + ); + } else if (a.test(e.path)) + throw new Error( + '[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")' + ); + })(this, d)); + } + static isUri(e) { + return ( + e instanceof h || + (!!e && + 'string' == typeof e.authority && + 'string' == typeof e.fragment && + 'string' == typeof e.path && + 'string' == typeof e.query && + 'string' == typeof e.scheme && + 'function' == typeof e.fsPath && + 'function' == typeof e.with && + 'function' == typeof e.toString) + ); + } + get fsPath() { + return _(this, !1); + } + with(e) { + if (!e) return this; + let { scheme: t, authority: i, path: n, query: r, fragment: s } = e; + return ( + void 0 === t ? (t = this.scheme) : null === t && (t = l), + void 0 === i ? (i = this.authority) : null === i && (i = l), + void 0 === n ? (n = this.path) : null === n && (n = l), + void 0 === r ? (r = this.query) : null === r && (r = l), + void 0 === s ? (s = this.fragment) : null === s && (s = l), + t === this.scheme && + i === this.authority && + n === this.path && + r === this.query && + s === this.fragment + ? this + : new g(t, i, n, r, s) + ); + } + static parse(e, t = !1) { + const i = d.exec(e); + return i + ? new g( + i[2] || l, + w(i[4] || l), + w(i[5] || l), + w(i[7] || l), + w(i[9] || l), + t + ) + : new g(l, l, l, l, l); + } + static file(e) { + let t = l; + if ((n.ED && (e = e.replace(/\\/g, c)), e[0] === c && e[1] === c)) { + const i = e.indexOf(c, 2); + -1 === i + ? ((t = e.substring(2)), (e = c)) + : ((t = e.substring(2, i)), (e = e.substring(i) || c)); + } + return new g('file', t, e, l, l); + } + static from(e) { + return new g(e.scheme, e.authority, e.path, e.query, e.fragment); + } + static joinPath(e, ...t) { + if (!e.path) + throw new Error( + '[UriError]: cannot call joinPaths on URI without path' + ); + let i; + return ( + (i = + n.ED && 'file' === e.scheme + ? h.file(r.Ku.join(_(e, !0), ...t)).path + : r.KR.join(e.path, ...t)), + e.with({ path: i }) + ); + } + toString(e = !1) { + return b(this, e); + } + toJSON() { + return this; + } + static revive(e) { + if (e) { + if (e instanceof h) return e; + { + const t = new g(e); + return ( + (t._formatted = e.external), + (t._fsPath = e._sep === u ? e.fsPath : null), + t + ); + } + } + return e; + } + } + const u = n.ED ? 1 : void 0; + class g extends h { + constructor() { + super(...arguments), + (this._formatted = null), + (this._fsPath = null); + } + get fsPath() { + return this._fsPath || (this._fsPath = _(this, !1)), this._fsPath; + } + toString(e = !1) { + return e + ? b(this, !0) + : (this._formatted || (this._formatted = b(this, !1)), + this._formatted); + } + toJSON() { + const e = { $mid: 1 }; + return ( + this._fsPath && ((e.fsPath = this._fsPath), (e._sep = u)), + this._formatted && (e.external = this._formatted), + this.path && (e.path = this.path), + this.scheme && (e.scheme = this.scheme), + this.authority && (e.authority = this.authority), + this.query && (e.query = this.query), + this.fragment && (e.fragment = this.fragment), + e + ); + } + } + const f = { + 58: '%3A', + 47: '%2F', + 63: '%3F', + 35: '%23', + 91: '%5B', + 93: '%5D', + 64: '%40', + 33: '%21', + 36: '%24', + 38: '%26', + 39: '%27', + 40: '%28', + 41: '%29', + 42: '%2A', + 43: '%2B', + 44: '%2C', + 59: '%3B', + 61: '%3D', + 32: '%20', + }; + function p(e, t) { + let i, + n = -1; + for (let r = 0; r < e.length; r++) { + const s = e.charCodeAt(r); + if ( + (s >= 97 && s <= 122) || + (s >= 65 && s <= 90) || + (s >= 48 && s <= 57) || + 45 === s || + 46 === s || + 95 === s || + 126 === s || + (t && 47 === s) + ) + -1 !== n && + ((i += encodeURIComponent(e.substring(n, r))), (n = -1)), + void 0 !== i && (i += e.charAt(r)); + else { + void 0 === i && (i = e.substr(0, r)); + const t = f[s]; + void 0 !== t + ? (-1 !== n && + ((i += encodeURIComponent(e.substring(n, r))), (n = -1)), + (i += t)) + : -1 === n && (n = r); + } + } + return ( + -1 !== n && (i += encodeURIComponent(e.substring(n))), + void 0 !== i ? i : e + ); + } + function m(e) { + let t; + for (let i = 0; i < e.length; i++) { + const n = e.charCodeAt(i); + 35 === n || 63 === n + ? (void 0 === t && (t = e.substr(0, i)), (t += f[n])) + : void 0 !== t && (t += e[i]); + } + return void 0 !== t ? t : e; + } + function _(e, t) { + let i; + return ( + (i = + e.authority && e.path.length > 1 && 'file' === e.scheme + ? `//${e.authority}${e.path}` + : 47 === e.path.charCodeAt(0) && + ((e.path.charCodeAt(1) >= 65 && e.path.charCodeAt(1) <= 90) || + (e.path.charCodeAt(1) >= 97 && + e.path.charCodeAt(1) <= 122)) && + 58 === e.path.charCodeAt(2) + ? t + ? e.path.substr(1) + : e.path[1].toLowerCase() + e.path.substr(2) + : e.path), + n.ED && (i = i.replace(/\//g, '\\')), + i + ); + } + function b(e, t) { + const i = t ? m : p; + let n = '', + { scheme: r, authority: s, path: o, query: a, fragment: l } = e; + if ( + (r && ((n += r), (n += ':')), + (s || 'file' === r) && ((n += c), (n += c)), + s) + ) { + let e = s.indexOf('@'); + if (-1 !== e) { + const t = s.substr(0, e); + (s = s.substr(e + 1)), + (e = t.indexOf(':')), + -1 === e + ? (n += i(t, !1)) + : ((n += i(t.substr(0, e), !1)), + (n += ':'), + (n += i(t.substr(e + 1), !1))), + (n += '@'); + } + (s = s.toLowerCase()), + (e = s.indexOf(':')), + -1 === e + ? (n += i(s, !1)) + : ((n += i(s.substr(0, e), !1)), (n += s.substr(e))); + } + if (o) { + if ( + o.length >= 3 && + 47 === o.charCodeAt(0) && + 58 === o.charCodeAt(2) + ) { + const e = o.charCodeAt(1); + e >= 65 && + e <= 90 && + (o = `/${String.fromCharCode(e + 32)}:${o.substr(3)}`); + } else if (o.length >= 2 && 58 === o.charCodeAt(1)) { + const e = o.charCodeAt(0); + e >= 65 && + e <= 90 && + (o = `${String.fromCharCode(e + 32)}:${o.substr(2)}`); + } + n += i(o, !0); + } + return ( + a && ((n += '?'), (n += i(a, !1))), + l && ((n += '#'), (n += t ? l : p(l, !1))), + n + ); + } + function v(e) { + try { + return decodeURIComponent(e); + } catch (t) { + return e.length > 3 ? e.substr(0, 3) + v(e.substr(3)) : e; + } + } + const y = /(%[0-9A-Za-z][0-9A-Za-z])+/g; + function w(e) { + return e.match(y) ? e.replace(y, (e) => v(e)) : e; + } + }, + 67746: (e, t, i) => { + 'use strict'; + i.d(t, { X: () => n, j: () => r }); + const n = { ctrlCmd: !1, alt: !1 }; + var r; + !(function (e) { + (e[(e.NONE = 0)] = 'NONE'), + (e[(e.FIRST = 1)] = 'FIRST'), + (e[(e.SECOND = 2)] = 'SECOND'), + (e[(e.LAST = 3)] = 'LAST'); + })(r || (r = {})); + }, + 89587: (e, t, i) => { + 'use strict'; + i.d(t, { Mj: () => n.languages }); + var n = i(50158); + }, + 89052: (e, t, i) => { + 'use strict'; + i.d(t, { V: () => m, P: () => f }); + var n = i(16268), + r = i(4669), + s = i(5976), + o = i(1432); + class a { + constructor(e, t) { + (this.chr = e), (this.type = t), (this.width = 0); + } + fulfill(e) { + this.width = e; + } + } + class l { + constructor(e, t) { + (this._bareFontInfo = e), + (this._requests = t), + (this._container = null), + (this._testElements = null); + } + read() { + this._createDomElements(), + document.body.appendChild(this._container), + this._readFromDomElements(), + document.body.removeChild(this._container), + (this._container = null), + (this._testElements = null); + } + _createDomElements() { + const e = document.createElement('div'); + (e.style.position = 'absolute'), + (e.style.top = '-50000px'), + (e.style.width = '50000px'); + const t = document.createElement('div'); + (t.style.fontFamily = this._bareFontInfo.getMassagedFontFamily()), + (t.style.fontWeight = this._bareFontInfo.fontWeight), + (t.style.fontSize = this._bareFontInfo.fontSize + 'px'), + (t.style.fontFeatureSettings = this._bareFontInfo.fontFeatureSettings), + (t.style.lineHeight = this._bareFontInfo.lineHeight + 'px'), + (t.style.letterSpacing = this._bareFontInfo.letterSpacing + 'px'), + e.appendChild(t); + const i = document.createElement('div'); + (i.style.fontFamily = this._bareFontInfo.getMassagedFontFamily()), + (i.style.fontWeight = 'bold'), + (i.style.fontSize = this._bareFontInfo.fontSize + 'px'), + (i.style.fontFeatureSettings = this._bareFontInfo.fontFeatureSettings), + (i.style.lineHeight = this._bareFontInfo.lineHeight + 'px'), + (i.style.letterSpacing = this._bareFontInfo.letterSpacing + 'px'), + e.appendChild(i); + const n = document.createElement('div'); + (n.style.fontFamily = this._bareFontInfo.getMassagedFontFamily()), + (n.style.fontWeight = this._bareFontInfo.fontWeight), + (n.style.fontSize = this._bareFontInfo.fontSize + 'px'), + (n.style.fontFeatureSettings = this._bareFontInfo.fontFeatureSettings), + (n.style.lineHeight = this._bareFontInfo.lineHeight + 'px'), + (n.style.letterSpacing = this._bareFontInfo.letterSpacing + 'px'), + (n.style.fontStyle = 'italic'), + e.appendChild(n); + const r = []; + for (const e of this._requests) { + let s; + 0 === e.type && (s = t), + 2 === e.type && (s = i), + 1 === e.type && (s = n), + s.appendChild(document.createElement('br')); + const o = document.createElement('span'); + l._render(o, e), s.appendChild(o), r.push(o); + } + (this._container = e), (this._testElements = r); + } + static _render(e, t) { + if (' ' === t.chr) { + let t = ' '; + for (let e = 0; e < 8; e++) t += t; + e.innerText = t; + } else { + let i = t.chr; + for (let e = 0; e < 8; e++) i += i; + e.textContent = i; + } + } + _readFromDomElements() { + for (let e = 0, t = this._requests.length; e < t; e++) { + const t = this._requests[e], + i = this._testElements[e]; + t.fulfill(i.offsetWidth / 256); + } + } + } + var c = i(54534), + d = i(56345), + h = i(64141), + u = i(27374); + class g { + constructor() { + (this._keys = Object.create(null)), + (this._values = Object.create(null)); + } + has(e) { + const t = e.getId(); + return !!this._values[t]; + } + get(e) { + const t = e.getId(); + return this._values[t]; + } + put(e, t) { + const i = e.getId(); + (this._keys[i] = e), (this._values[i] = t); + } + remove(e) { + const t = e.getId(); + delete this._keys[t], delete this._values[t]; + } + getValues() { + return Object.keys(this._keys).map((e) => this._values[e]); + } + } + function f() { + p.INSTANCE.clearCache(); + } + class p extends s.JT { + constructor() { + super(), + (this._onDidChange = this._register(new r.Q5())), + (this.onDidChange = this._onDidChange.event), + (this._cache = new g()), + (this._evictUntrustedReadingsTimeout = -1); + } + dispose() { + -1 !== this._evictUntrustedReadingsTimeout && + (clearTimeout(this._evictUntrustedReadingsTimeout), + (this._evictUntrustedReadingsTimeout = -1)), + super.dispose(); + } + clearCache() { + (this._cache = new g()), this._onDidChange.fire(); + } + _writeToCache(e, t) { + this._cache.put(e, t), + t.isTrusted || + -1 !== this._evictUntrustedReadingsTimeout || + (this._evictUntrustedReadingsTimeout = setTimeout(() => { + (this._evictUntrustedReadingsTimeout = -1), + this._evictUntrustedReadings(); + }, 5e3)); + } + _evictUntrustedReadings() { + const e = this._cache.getValues(); + let t = !1; + for (let i = 0, n = e.length; i < n; i++) { + const n = e[i]; + n.isTrusted || ((t = !0), this._cache.remove(n)); + } + t && this._onDidChange.fire(); + } + readConfiguration(e) { + if (!this._cache.has(e)) { + let t = p._actualReadConfiguration(e); + (t.typicalHalfwidthCharacterWidth <= 2 || + t.typicalFullwidthCharacterWidth <= 2 || + t.spaceWidth <= 2 || + t.maxDigitWidth <= 2) && + (t = new u.p( + { + zoomLevel: n.px(), + fontFamily: t.fontFamily, + fontWeight: t.fontWeight, + fontSize: t.fontSize, + fontFeatureSettings: t.fontFeatureSettings, + lineHeight: t.lineHeight, + letterSpacing: t.letterSpacing, + isMonospace: t.isMonospace, + typicalHalfwidthCharacterWidth: Math.max( + t.typicalHalfwidthCharacterWidth, + 5 + ), + typicalFullwidthCharacterWidth: Math.max( + t.typicalFullwidthCharacterWidth, + 5 + ), + canUseHalfwidthRightwardsArrow: + t.canUseHalfwidthRightwardsArrow, + spaceWidth: Math.max(t.spaceWidth, 5), + middotWidth: Math.max(t.middotWidth, 5), + wsmiddotWidth: Math.max(t.wsmiddotWidth, 5), + maxDigitWidth: Math.max(t.maxDigitWidth, 5), + }, + !1 + )), + this._writeToCache(e, t); + } + return this._cache.get(e); + } + static createRequest(e, t, i, n) { + const r = new a(e, t); + return i.push(r), n && n.push(r), r; + } + static _actualReadConfiguration(e) { + const t = [], + i = [], + r = this.createRequest('n', 0, t, i), + s = this.createRequest('m', 0, t, null), + o = this.createRequest(' ', 0, t, i), + a = this.createRequest('0', 0, t, i), + c = this.createRequest('1', 0, t, i), + d = this.createRequest('2', 0, t, i), + g = this.createRequest('3', 0, t, i), + f = this.createRequest('4', 0, t, i), + p = this.createRequest('5', 0, t, i), + m = this.createRequest('6', 0, t, i), + _ = this.createRequest('7', 0, t, i), + b = this.createRequest('8', 0, t, i), + v = this.createRequest('9', 0, t, i), + y = this.createRequest('→', 0, t, i), + w = this.createRequest('→', 0, t, null), + C = this.createRequest('·', 0, t, i), + S = this.createRequest(String.fromCharCode(11825), 0, t, null); + this.createRequest('|', 0, t, i), + this.createRequest('/', 0, t, i), + this.createRequest('-', 0, t, i), + this.createRequest('_', 0, t, i), + this.createRequest('i', 0, t, i), + this.createRequest('l', 0, t, i), + this.createRequest('m', 0, t, i), + this.createRequest('|', 1, t, i), + this.createRequest('_', 1, t, i), + this.createRequest('i', 1, t, i), + this.createRequest('l', 1, t, i), + this.createRequest('m', 1, t, i), + this.createRequest('n', 1, t, i), + this.createRequest('|', 2, t, i), + this.createRequest('_', 2, t, i), + this.createRequest('i', 2, t, i), + this.createRequest('l', 2, t, i), + this.createRequest('m', 2, t, i), + this.createRequest('n', 2, t, i), + (function (e, t) { + new l(e, t).read(); + })(e, t); + const k = Math.max( + a.width, + c.width, + d.width, + g.width, + f.width, + p.width, + m.width, + _.width, + b.width, + v.width + ); + let x = e.fontFeatureSettings === h.n0.OFF; + const L = i[0].width; + for (let e = 1, t = i.length; x && e < t; e++) { + const t = L - i[e].width; + if (t < -0.001 || t > 0.001) { + x = !1; + break; + } + } + let M = !0; + x && w.width !== L && (M = !1), w.width > y.width && (M = !1); + const D = n.WP() > 2e3; + return new u.p( + { + zoomLevel: n.px(), + fontFamily: e.fontFamily, + fontWeight: e.fontWeight, + fontSize: e.fontSize, + fontFeatureSettings: e.fontFeatureSettings, + lineHeight: e.lineHeight, + letterSpacing: e.letterSpacing, + isMonospace: x, + typicalHalfwidthCharacterWidth: r.width, + typicalFullwidthCharacterWidth: s.width, + canUseHalfwidthRightwardsArrow: M, + spaceWidth: o.width, + middotWidth: C.width, + wsmiddotWidth: S.width, + maxDigitWidth: k, + }, + D + ); + } + } + p.INSTANCE = new p(); + class m extends d.fv { + constructor(e, t, i = null, r) { + super(e, t), + (this.accessibilityService = r), + (this._elementSizeObserver = this._register( + new c.I(i, t.dimension, () => + this._onReferenceDomElementSizeChanged() + ) + )), + this._register( + p.INSTANCE.onDidChange(() => + this._onCSSBasedConfigurationChanged() + ) + ), + this._validatedOptions.get(9) && + this._elementSizeObserver.startObserving(), + this._register(n.fX((e) => this._recomputeOptions())), + this._register( + this.accessibilityService.onDidChangeScreenReaderOptimized(() => + this._recomputeOptions() + ) + ), + this._recomputeOptions(); + } + static applyFontInfoSlow(e, t) { + (e.style.fontFamily = t.getMassagedFontFamily()), + (e.style.fontWeight = t.fontWeight), + (e.style.fontSize = t.fontSize + 'px'), + (e.style.fontFeatureSettings = t.fontFeatureSettings), + (e.style.lineHeight = t.lineHeight + 'px'), + (e.style.letterSpacing = t.letterSpacing + 'px'); + } + static applyFontInfo(e, t) { + e.setFontFamily(t.getMassagedFontFamily()), + e.setFontWeight(t.fontWeight), + e.setFontSize(t.fontSize), + e.setFontFeatureSettings(t.fontFeatureSettings), + e.setLineHeight(t.lineHeight), + e.setLetterSpacing(t.letterSpacing); + } + _onReferenceDomElementSizeChanged() { + this._recomputeOptions(); + } + _onCSSBasedConfigurationChanged() { + this._recomputeOptions(); + } + observeReferenceElement(e) { + this._elementSizeObserver.observe(e); + } + dispose() { + super.dispose(); + } + _getExtraEditorClassName() { + let e = ''; + return ( + n.G6 || n.MG || (e += 'no-user-select '), o.dz && (e += 'mac '), e + ); + } + _getEnvConfiguration() { + return { + extraEditorClassName: this._getExtraEditorClassName(), + outerWidth: this._elementSizeObserver.getWidth(), + outerHeight: this._elementSizeObserver.getHeight(), + emptySelectionClipboard: n.Pf || n.vU, + pixelRatio: n.mX(), + zoomLevel: n.px(), + accessibilitySupport: this.accessibilityService.isScreenReaderOptimized() + ? 2 + : this.accessibilityService.getAccessibilitySupport(), + }; + } + readConfiguration(e) { + return p.INSTANCE.readConfiguration(e); + } + } + }, + 54534: (e, t, i) => { + 'use strict'; + i.d(t, { I: () => r }); + var n = i(5976); + class r extends n.JT { + constructor(e, t, i) { + super(), + (this.referenceDomElement = e), + (this.changeCallback = i), + (this.width = -1), + (this.height = -1), + (this.resizeObserver = null), + (this.measureReferenceDomElementToken = -1), + this.measureReferenceDomElement(!1, t); + } + dispose() { + this.stopObserving(), super.dispose(); + } + getWidth() { + return this.width; + } + getHeight() { + return this.height; + } + startObserving() { + 'undefined' != typeof ResizeObserver + ? !this.resizeObserver && + this.referenceDomElement && + ((this.resizeObserver = new ResizeObserver((e) => { + e && e[0] && e[0].contentRect + ? this.observe({ + width: e[0].contentRect.width, + height: e[0].contentRect.height, + }) + : this.observe(); + })), + this.resizeObserver.observe(this.referenceDomElement)) + : -1 === this.measureReferenceDomElementToken && + (this.measureReferenceDomElementToken = setInterval( + () => this.observe(), + 100 + )); + } + stopObserving() { + this.resizeObserver && + (this.resizeObserver.disconnect(), (this.resizeObserver = null)), + -1 !== this.measureReferenceDomElementToken && + (clearInterval(this.measureReferenceDomElementToken), + (this.measureReferenceDomElementToken = -1)); + } + observe(e) { + this.measureReferenceDomElement(!0, e); + } + measureReferenceDomElement(e, t) { + let i = 0, + n = 0; + t + ? ((i = t.width), (n = t.height)) + : this.referenceDomElement && + ((i = this.referenceDomElement.clientWidth), + (n = this.referenceDomElement.clientHeight)), + (i = Math.max(5, i)), + (n = Math.max(5, n)), + (this.width === i && this.height === n) || + ((this.width = i), + (this.height = n), + e && this.changeCallback()); + } + } + }, + 18728: (e, t, i) => { + 'use strict'; + i.r(t), + i.d(t, { + CoreEditingCommands: () => x, + CoreEditorCommand: () => y, + CoreNavigationCommands: () => g, + EditorScroll_: () => h, + RevealLine_: () => u, + }); + var n = i(63580), + r = i(98401), + s = i(16830), + o = i(11640), + a = i(33181), + l = i(50187), + c = i(24314); + class d { + static columnSelect(e, t, i, n, r, s) { + let o = Math.abs(r - i) + 1, + d = i > r, + h = n > s, + u = n < s, + g = []; + for (let r = 0; r < o; r++) { + let o = i + (d ? -r : r), + f = a.io.columnFromVisibleColumn2(e, t, o, n), + p = a.io.columnFromVisibleColumn2(e, t, o, s), + m = a.io.visibleColumnFromColumn2(e, t, new l.L(o, f)), + _ = a.io.visibleColumnFromColumn2(e, t, new l.L(o, p)); + if (u) { + if (m > s) continue; + if (_ < n) continue; + } + if (h) { + if (_ > n) continue; + if (m < s) continue; + } + g.push(new a.rS(new c.e(o, f, o, f), 0, new l.L(o, p), 0)); + } + if (0 === g.length) + for (let e = 0; e < o; e++) { + const n = i + (d ? -e : e), + r = t.getLineMaxColumn(n); + g.push(new a.rS(new c.e(n, r, n, r), 0, new l.L(n, r), 0)); + } + return { + viewStates: g, + reversed: d, + fromLineNumber: i, + fromVisualColumn: n, + toLineNumber: r, + toVisualColumn: s, + }; + } + static columnSelectLeft(e, t, i) { + let n = i.toViewVisualColumn; + return ( + n > 1 && n--, + d.columnSelect( + e, + t, + i.fromViewLineNumber, + i.fromViewVisualColumn, + i.toViewLineNumber, + n + ) + ); + } + static columnSelectRight(e, t, i) { + let n = 0; + const r = Math.min(i.fromViewLineNumber, i.toViewLineNumber), + s = Math.max(i.fromViewLineNumber, i.toViewLineNumber); + for (let i = r; i <= s; i++) { + const r = t.getLineMaxColumn(i), + s = a.io.visibleColumnFromColumn2(e, t, new l.L(i, r)); + n = Math.max(n, s); + } + let o = i.toViewVisualColumn; + return ( + o < n && o++, + this.columnSelect( + e, + t, + i.fromViewLineNumber, + i.fromViewVisualColumn, + i.toViewLineNumber, + o + ) + ); + } + static columnSelectUp(e, t, i, n) { + const r = n ? e.pageSize : 1, + s = Math.max(1, i.toViewLineNumber - r); + return this.columnSelect( + e, + t, + i.fromViewLineNumber, + i.fromViewVisualColumn, + s, + i.toViewVisualColumn + ); + } + static columnSelectDown(e, t, i, n) { + const r = n ? e.pageSize : 1, + s = Math.min(t.getLineCount(), i.toViewLineNumber + r); + return this.columnSelect( + e, + t, + i.fromViewLineNumber, + i.fromViewVisualColumn, + s, + i.toViewVisualColumn + ); + } + } + var h, + u, + g, + f = i(31380), + p = i(83814), + m = i(23582), + _ = i(29102), + b = i(38819), + v = i(49989); + class y extends s._l { + runEditorCommand(e, t, i) { + const n = t._getViewModel(); + n && this.runCoreEditorCommand(n, i || {}); + } + } + !(function (e) { + (e.description = { + description: 'Scroll editor in the given direction', + args: [ + { + name: 'Editor scroll argument object', + description: + "Property-value pairs that can be passed through this argument:\n\t\t\t\t\t* 'to': A mandatory direction value.\n\t\t\t\t\t\t```\n\t\t\t\t\t\t'up', 'down'\n\t\t\t\t\t\t```\n\t\t\t\t\t* 'by': Unit to move. Default is computed based on 'to' value.\n\t\t\t\t\t\t```\n\t\t\t\t\t\t'line', 'wrappedLine', 'page', 'halfPage'\n\t\t\t\t\t\t```\n\t\t\t\t\t* 'value': Number of units to move. Default is '1'.\n\t\t\t\t\t* 'revealCursor': If 'true' reveals the cursor if it is outside view port.\n\t\t\t\t", + constraint: function (e) { + if (!r.Kn(e)) return !1; + const t = e; + return !( + !r.HD(t.to) || + (!r.o8(t.by) && !r.HD(t.by)) || + (!r.o8(t.value) && !r.hj(t.value)) || + (!r.o8(t.revealCursor) && !r.jn(t.revealCursor)) + ); + }, + schema: { + type: 'object', + required: ['to'], + properties: { + to: { type: 'string', enum: ['up', 'down'] }, + by: { + type: 'string', + enum: ['line', 'wrappedLine', 'page', 'halfPage'], + }, + value: { type: 'number', default: 1 }, + revealCursor: { type: 'boolean' }, + }, + }, + }, + ], + }), + (e.RawDirection = { Up: 'up', Down: 'down' }), + (e.RawUnit = { + Line: 'line', + WrappedLine: 'wrappedLine', + Page: 'page', + HalfPage: 'halfPage', + }), + (e.parse = function (t) { + let i, n; + switch (t.to) { + case e.RawDirection.Up: + i = 1; + break; + case e.RawDirection.Down: + i = 2; + break; + default: + return null; + } + switch (t.by) { + case e.RawUnit.Line: + n = 1; + break; + case e.RawUnit.WrappedLine: + n = 2; + break; + case e.RawUnit.Page: + n = 3; + break; + case e.RawUnit.HalfPage: + n = 4; + break; + default: + n = 2; + } + return { + direction: i, + unit: n, + value: Math.floor(t.value || 1), + revealCursor: !!t.revealCursor, + select: !!t.select, + }; + }); + })(h || (h = {})), + (function (e) { + (e.description = { + description: + 'Reveal the given line at the given logical position', + args: [ + { + name: 'Reveal line argument object', + description: + "Property-value pairs that can be passed through this argument:\n\t\t\t\t\t* 'lineNumber': A mandatory line number value.\n\t\t\t\t\t* 'at': Logical position at which line has to be revealed .\n\t\t\t\t\t\t```\n\t\t\t\t\t\t'top', 'center', 'bottom'\n\t\t\t\t\t\t```\n\t\t\t\t", + constraint: function (e) { + if (!r.Kn(e)) return !1; + const t = e; + return !( + !r.hj(t.lineNumber) || + (!r.o8(t.at) && !r.HD(t.at)) + ); + }, + schema: { + type: 'object', + required: ['lineNumber'], + properties: { + lineNumber: { type: 'number' }, + at: { type: 'string', enum: ['top', 'center', 'bottom'] }, + }, + }, + }, + ], + }), + (e.RawAtArgument = { + Top: 'top', + Center: 'center', + Bottom: 'bottom', + }); + })(u || (u = {})); + class w { + constructor(e) { + e.addImplementation(1e4, (e, t) => { + const i = e.get(o.$).getFocusedCodeEditor(); + return !( + !i || + !i.hasTextFocus() || + (this.runEditorCommand(e, i, t), 0) + ); + }), + e.addImplementation(1e3, (e, t) => { + const i = document.activeElement; + return ( + !!( + i && + ['input', 'textarea'].indexOf(i.tagName.toLowerCase()) >= 0 + ) && (this.runDOMCommand(), !0) + ); + }), + e.addImplementation(0, (e, t) => { + const i = e.get(o.$).getActiveCodeEditor(); + return !!i && (i.focus(), this.runEditorCommand(e, i, t), !0); + }); + } + } + !(function (e) { + class t extends y { + constructor(e) { + super(e), (this._inSelectionMode = e.inSelectionMode); + } + runCoreEditorCommand(e, t) { + e.model.pushStackElement(), + e.setCursorStates(t.source, 3, [ + p.P.moveTo( + e, + e.getPrimaryCursorState(), + this._inSelectionMode, + t.position, + t.viewPosition + ), + ]), + e.revealPrimaryCursor(t.source, !0); + } + } + (e.MoveTo = (0, s.fK)( + new t({ id: '_moveTo', inSelectionMode: !1, precondition: void 0 }) + )), + (e.MoveToSelect = (0, s.fK)( + new t({ + id: '_moveToSelect', + inSelectionMode: !0, + precondition: void 0, + }) + )); + class i extends y { + runCoreEditorCommand(e, t) { + e.model.pushStackElement(); + const i = this._getColumnSelectResult( + e, + e.getPrimaryCursorState(), + e.getCursorColumnSelectData(), + t + ); + e.setCursorStates( + t.source, + 3, + i.viewStates.map((e) => a.Vi.fromViewState(e)) + ), + e.setCursorColumnSelectData({ + isReal: !0, + fromViewLineNumber: i.fromLineNumber, + fromViewVisualColumn: i.fromVisualColumn, + toViewLineNumber: i.toLineNumber, + toViewVisualColumn: i.toVisualColumn, + }), + i.reversed + ? e.revealTopMostCursor(t.source) + : e.revealBottomMostCursor(t.source); + } + } + (e.ColumnSelect = (0, s.fK)( + new (class extends i { + constructor() { + super({ id: 'columnSelect', precondition: void 0 }); + } + _getColumnSelectResult(e, t, i, n) { + const r = e.model.validatePosition(n.position), + s = e.coordinatesConverter.validateViewPosition( + new l.L(n.viewPosition.lineNumber, n.viewPosition.column), + r + ); + let o = n.doColumnSelect ? i.fromViewLineNumber : s.lineNumber, + a = n.doColumnSelect + ? i.fromViewVisualColumn + : n.mouseColumn - 1; + return d.columnSelect( + e.cursorConfig, + e, + o, + a, + s.lineNumber, + n.mouseColumn - 1 + ); + } + })() + )), + (e.CursorColumnSelectLeft = (0, s.fK)( + new (class extends i { + constructor() { + super({ + id: 'cursorColumnSelectLeft', + precondition: void 0, + kbOpts: { + weight: 0, + kbExpr: _.u.textInputFocus, + primary: 3599, + linux: { primary: 0 }, + }, + }); + } + _getColumnSelectResult(e, t, i, n) { + return d.columnSelectLeft(e.cursorConfig, e, i); + } + })() + )), + (e.CursorColumnSelectRight = (0, s.fK)( + new (class extends i { + constructor() { + super({ + id: 'cursorColumnSelectRight', + precondition: void 0, + kbOpts: { + weight: 0, + kbExpr: _.u.textInputFocus, + primary: 3601, + linux: { primary: 0 }, + }, + }); + } + _getColumnSelectResult(e, t, i, n) { + return d.columnSelectRight(e.cursorConfig, e, i); + } + })() + )); + class r extends i { + constructor(e) { + super(e), (this._isPaged = e.isPaged); + } + _getColumnSelectResult(e, t, i, n) { + return d.columnSelectUp(e.cursorConfig, e, i, this._isPaged); + } + } + (e.CursorColumnSelectUp = (0, s.fK)( + new r({ + isPaged: !1, + id: 'cursorColumnSelectUp', + precondition: void 0, + kbOpts: { + weight: 0, + kbExpr: _.u.textInputFocus, + primary: 3600, + linux: { primary: 0 }, + }, + }) + )), + (e.CursorColumnSelectPageUp = (0, s.fK)( + new r({ + isPaged: !0, + id: 'cursorColumnSelectPageUp', + precondition: void 0, + kbOpts: { + weight: 0, + kbExpr: _.u.textInputFocus, + primary: 3595, + linux: { primary: 0 }, + }, + }) + )); + class o extends i { + constructor(e) { + super(e), (this._isPaged = e.isPaged); + } + _getColumnSelectResult(e, t, i, n) { + return d.columnSelectDown(e.cursorConfig, e, i, this._isPaged); + } + } + (e.CursorColumnSelectDown = (0, s.fK)( + new o({ + isPaged: !1, + id: 'cursorColumnSelectDown', + precondition: void 0, + kbOpts: { + weight: 0, + kbExpr: _.u.textInputFocus, + primary: 3602, + linux: { primary: 0 }, + }, + }) + )), + (e.CursorColumnSelectPageDown = (0, s.fK)( + new o({ + isPaged: !0, + id: 'cursorColumnSelectPageDown', + precondition: void 0, + kbOpts: { + weight: 0, + kbExpr: _.u.textInputFocus, + primary: 3596, + linux: { primary: 0 }, + }, + }) + )); + class g extends y { + constructor() { + super({ + id: 'cursorMove', + precondition: void 0, + description: p.N.description, + }); + } + runCoreEditorCommand(e, t) { + const i = p.N.parse(t); + i && this._runCursorMove(e, t.source, i); + } + _runCursorMove(e, t, i) { + e.model.pushStackElement(), + e.setCursorStates(t, 3, g._move(e, e.getCursorStates(), i)), + e.revealPrimaryCursor(t, !0); + } + static _move(e, t, i) { + const n = i.select, + r = i.value; + switch (i.direction) { + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + case 6: + case 7: + case 8: + return p.P.simpleMove(e, t, i.direction, n, r, i.unit); + case 9: + case 11: + case 10: + case 12: + return p.P.viewportMove(e, t, i.direction, n, r); + default: + return null; + } + } + } + (e.CursorMoveImpl = g), (e.CursorMove = (0, s.fK)(new g())); + class f extends y { + constructor(e) { + super(e), (this._staticArgs = e.args); + } + runCoreEditorCommand(e, t) { + let i = this._staticArgs; + -1 === this._staticArgs.value && + (i = { + direction: this._staticArgs.direction, + unit: this._staticArgs.unit, + select: this._staticArgs.select, + value: e.cursorConfig.pageSize, + }), + e.model.pushStackElement(), + e.setCursorStates( + t.source, + 3, + p.P.simpleMove( + e, + e.getCursorStates(), + i.direction, + i.select, + i.value, + i.unit + ) + ), + e.revealPrimaryCursor(t.source, !0); + } + } + (e.CursorLeft = (0, s.fK)( + new f({ + args: { direction: 0, unit: 0, select: !1, value: 1 }, + id: 'cursorLeft', + precondition: void 0, + kbOpts: { + weight: 0, + kbExpr: _.u.textInputFocus, + primary: 15, + mac: { primary: 15, secondary: [288] }, + }, + }) + )), + (e.CursorLeftSelect = (0, s.fK)( + new f({ + args: { direction: 0, unit: 0, select: !0, value: 1 }, + id: 'cursorLeftSelect', + precondition: void 0, + kbOpts: { + weight: 0, + kbExpr: _.u.textInputFocus, + primary: 1039, + }, + }) + )), + (e.CursorRight = (0, s.fK)( + new f({ + args: { direction: 1, unit: 0, select: !1, value: 1 }, + id: 'cursorRight', + precondition: void 0, + kbOpts: { + weight: 0, + kbExpr: _.u.textInputFocus, + primary: 17, + mac: { primary: 17, secondary: [292] }, + }, + }) + )), + (e.CursorRightSelect = (0, s.fK)( + new f({ + args: { direction: 1, unit: 0, select: !0, value: 1 }, + id: 'cursorRightSelect', + precondition: void 0, + kbOpts: { + weight: 0, + kbExpr: _.u.textInputFocus, + primary: 1041, + }, + }) + )), + (e.CursorUp = (0, s.fK)( + new f({ + args: { direction: 2, unit: 2, select: !1, value: 1 }, + id: 'cursorUp', + precondition: void 0, + kbOpts: { + weight: 0, + kbExpr: _.u.textInputFocus, + primary: 16, + mac: { primary: 16, secondary: [302] }, + }, + }) + )), + (e.CursorUpSelect = (0, s.fK)( + new f({ + args: { direction: 2, unit: 2, select: !0, value: 1 }, + id: 'cursorUpSelect', + precondition: void 0, + kbOpts: { + weight: 0, + kbExpr: _.u.textInputFocus, + primary: 1040, + secondary: [3088], + mac: { primary: 1040 }, + linux: { primary: 1040 }, + }, + }) + )), + (e.CursorPageUp = (0, s.fK)( + new f({ + args: { direction: 2, unit: 2, select: !1, value: -1 }, + id: 'cursorPageUp', + precondition: void 0, + kbOpts: { weight: 0, kbExpr: _.u.textInputFocus, primary: 11 }, + }) + )), + (e.CursorPageUpSelect = (0, s.fK)( + new f({ + args: { direction: 2, unit: 2, select: !0, value: -1 }, + id: 'cursorPageUpSelect', + precondition: void 0, + kbOpts: { + weight: 0, + kbExpr: _.u.textInputFocus, + primary: 1035, + }, + }) + )), + (e.CursorDown = (0, s.fK)( + new f({ + args: { direction: 3, unit: 2, select: !1, value: 1 }, + id: 'cursorDown', + precondition: void 0, + kbOpts: { + weight: 0, + kbExpr: _.u.textInputFocus, + primary: 18, + mac: { primary: 18, secondary: [300] }, + }, + }) + )), + (e.CursorDownSelect = (0, s.fK)( + new f({ + args: { direction: 3, unit: 2, select: !0, value: 1 }, + id: 'cursorDownSelect', + precondition: void 0, + kbOpts: { + weight: 0, + kbExpr: _.u.textInputFocus, + primary: 1042, + secondary: [3090], + mac: { primary: 1042 }, + linux: { primary: 1042 }, + }, + }) + )), + (e.CursorPageDown = (0, s.fK)( + new f({ + args: { direction: 3, unit: 2, select: !1, value: -1 }, + id: 'cursorPageDown', + precondition: void 0, + kbOpts: { weight: 0, kbExpr: _.u.textInputFocus, primary: 12 }, + }) + )), + (e.CursorPageDownSelect = (0, s.fK)( + new f({ + args: { direction: 3, unit: 2, select: !0, value: -1 }, + id: 'cursorPageDownSelect', + precondition: void 0, + kbOpts: { + weight: 0, + kbExpr: _.u.textInputFocus, + primary: 1036, + }, + }) + )), + (e.CreateCursor = (0, s.fK)( + new (class extends y { + constructor() { + super({ id: 'createCursor', precondition: void 0 }); + } + runCoreEditorCommand(e, t) { + let i; + i = t.wholeLine + ? p.P.line( + e, + e.getPrimaryCursorState(), + !1, + t.position, + t.viewPosition + ) + : p.P.moveTo( + e, + e.getPrimaryCursorState(), + !1, + t.position, + t.viewPosition + ); + const n = e.getCursorStates(); + if (n.length > 1) { + const r = i.modelState ? i.modelState.position : null, + s = i.viewState ? i.viewState.position : null; + for (let i = 0, o = n.length; i < o; i++) { + const o = n[i]; + if ( + (!r || o.modelState.selection.containsPosition(r)) && + (!s || o.viewState.selection.containsPosition(s)) + ) + return ( + n.splice(i, 1), + e.model.pushStackElement(), + void e.setCursorStates(t.source, 3, n) + ); + } + } + n.push(i), + e.model.pushStackElement(), + e.setCursorStates(t.source, 3, n); + } + })() + )), + (e.LastCursorMoveToSelect = (0, s.fK)( + new (class extends y { + constructor() { + super({ + id: '_lastCursorMoveToSelect', + precondition: void 0, + }); + } + runCoreEditorCommand(e, t) { + const i = e.getLastAddedCursorIndex(), + n = e.getCursorStates(), + r = n.slice(0); + (r[i] = p.P.moveTo(e, n[i], !0, t.position, t.viewPosition)), + e.model.pushStackElement(), + e.setCursorStates(t.source, 3, r); + } + })() + )); + class m extends y { + constructor(e) { + super(e), (this._inSelectionMode = e.inSelectionMode); + } + runCoreEditorCommand(e, t) { + e.model.pushStackElement(), + e.setCursorStates( + t.source, + 3, + p.P.moveToBeginningOfLine( + e, + e.getCursorStates(), + this._inSelectionMode + ) + ), + e.revealPrimaryCursor(t.source, !0); + } + } + (e.CursorHome = (0, s.fK)( + new m({ + inSelectionMode: !1, + id: 'cursorHome', + precondition: void 0, + kbOpts: { + weight: 0, + kbExpr: _.u.textInputFocus, + primary: 14, + mac: { primary: 14, secondary: [2063] }, + }, + }) + )), + (e.CursorHomeSelect = (0, s.fK)( + new m({ + inSelectionMode: !0, + id: 'cursorHomeSelect', + precondition: void 0, + kbOpts: { + weight: 0, + kbExpr: _.u.textInputFocus, + primary: 1038, + mac: { primary: 1038, secondary: [3087] }, + }, + }) + )); + class b extends y { + constructor(e) { + super(e), (this._inSelectionMode = e.inSelectionMode); + } + runCoreEditorCommand(e, t) { + e.model.pushStackElement(), + e.setCursorStates(t.source, 3, this._exec(e.getCursorStates())), + e.revealPrimaryCursor(t.source, !0); + } + _exec(e) { + const t = []; + for (let i = 0, n = e.length; i < n; i++) { + const n = e[i], + r = n.modelState.position.lineNumber; + t[i] = a.Vi.fromModelState( + n.modelState.move(this._inSelectionMode, r, 1, 0) + ); + } + return t; + } + } + (e.CursorLineStart = (0, s.fK)( + new b({ + inSelectionMode: !1, + id: 'cursorLineStart', + precondition: void 0, + kbOpts: { + weight: 0, + kbExpr: _.u.textInputFocus, + primary: 0, + mac: { primary: 287 }, + }, + }) + )), + (e.CursorLineStartSelect = (0, s.fK)( + new b({ + inSelectionMode: !0, + id: 'cursorLineStartSelect', + precondition: void 0, + kbOpts: { + weight: 0, + kbExpr: _.u.textInputFocus, + primary: 0, + mac: { primary: 1311 }, + }, + }) + )); + class v extends y { + constructor(e) { + super(e), (this._inSelectionMode = e.inSelectionMode); + } + runCoreEditorCommand(e, t) { + e.model.pushStackElement(), + e.setCursorStates( + t.source, + 3, + p.P.moveToEndOfLine( + e, + e.getCursorStates(), + this._inSelectionMode, + t.sticky || !1 + ) + ), + e.revealPrimaryCursor(t.source, !0); + } + } + (e.CursorEnd = (0, s.fK)( + new v({ + inSelectionMode: !1, + id: 'cursorEnd', + precondition: void 0, + kbOpts: { + args: { sticky: !1 }, + weight: 0, + kbExpr: _.u.textInputFocus, + primary: 13, + mac: { primary: 13, secondary: [2065] }, + }, + description: { + description: 'Go to End', + args: [ + { + name: 'args', + schema: { + type: 'object', + properties: { + sticky: { + description: n.N( + 'stickydesc', + 'Stick to the end even when going to longer lines' + ), + type: 'boolean', + default: !1, + }, + }, + }, + }, + ], + }, + }) + )), + (e.CursorEndSelect = (0, s.fK)( + new v({ + inSelectionMode: !0, + id: 'cursorEndSelect', + precondition: void 0, + kbOpts: { + args: { sticky: !1 }, + weight: 0, + kbExpr: _.u.textInputFocus, + primary: 1037, + mac: { primary: 1037, secondary: [3089] }, + }, + description: { + description: 'Select to End', + args: [ + { + name: 'args', + schema: { + type: 'object', + properties: { + sticky: { + description: n.N( + 'stickydesc', + 'Stick to the end even when going to longer lines' + ), + type: 'boolean', + default: !1, + }, + }, + }, + }, + ], + }, + }) + )); + class C extends y { + constructor(e) { + super(e), (this._inSelectionMode = e.inSelectionMode); + } + runCoreEditorCommand(e, t) { + e.model.pushStackElement(), + e.setCursorStates( + t.source, + 3, + this._exec(e, e.getCursorStates()) + ), + e.revealPrimaryCursor(t.source, !0); + } + _exec(e, t) { + const i = []; + for (let n = 0, r = t.length; n < r; n++) { + const r = t[n], + s = r.modelState.position.lineNumber, + o = e.model.getLineMaxColumn(s); + i[n] = a.Vi.fromModelState( + r.modelState.move(this._inSelectionMode, s, o, 0) + ); + } + return i; + } + } + (e.CursorLineEnd = (0, s.fK)( + new C({ + inSelectionMode: !1, + id: 'cursorLineEnd', + precondition: void 0, + kbOpts: { + weight: 0, + kbExpr: _.u.textInputFocus, + primary: 0, + mac: { primary: 291 }, + }, + }) + )), + (e.CursorLineEndSelect = (0, s.fK)( + new C({ + inSelectionMode: !0, + id: 'cursorLineEndSelect', + precondition: void 0, + kbOpts: { + weight: 0, + kbExpr: _.u.textInputFocus, + primary: 0, + mac: { primary: 1315 }, + }, + }) + )); + class S extends y { + constructor(e) { + super(e), (this._inSelectionMode = e.inSelectionMode); + } + runCoreEditorCommand(e, t) { + e.model.pushStackElement(), + e.setCursorStates( + t.source, + 3, + p.P.moveToBeginningOfBuffer( + e, + e.getCursorStates(), + this._inSelectionMode + ) + ), + e.revealPrimaryCursor(t.source, !0); + } + } + (e.CursorTop = (0, s.fK)( + new S({ + inSelectionMode: !1, + id: 'cursorTop', + precondition: void 0, + kbOpts: { + weight: 0, + kbExpr: _.u.textInputFocus, + primary: 2062, + mac: { primary: 2064 }, + }, + }) + )), + (e.CursorTopSelect = (0, s.fK)( + new S({ + inSelectionMode: !0, + id: 'cursorTopSelect', + precondition: void 0, + kbOpts: { + weight: 0, + kbExpr: _.u.textInputFocus, + primary: 3086, + mac: { primary: 3088 }, + }, + }) + )); + class k extends y { + constructor(e) { + super(e), (this._inSelectionMode = e.inSelectionMode); + } + runCoreEditorCommand(e, t) { + e.model.pushStackElement(), + e.setCursorStates( + t.source, + 3, + p.P.moveToEndOfBuffer( + e, + e.getCursorStates(), + this._inSelectionMode + ) + ), + e.revealPrimaryCursor(t.source, !0); + } + } + (e.CursorBottom = (0, s.fK)( + new k({ + inSelectionMode: !1, + id: 'cursorBottom', + precondition: void 0, + kbOpts: { + weight: 0, + kbExpr: _.u.textInputFocus, + primary: 2061, + mac: { primary: 2066 }, + }, + }) + )), + (e.CursorBottomSelect = (0, s.fK)( + new k({ + inSelectionMode: !0, + id: 'cursorBottomSelect', + precondition: void 0, + kbOpts: { + weight: 0, + kbExpr: _.u.textInputFocus, + primary: 3085, + mac: { primary: 3090 }, + }, + }) + )); + class x extends y { + constructor() { + super({ + id: 'editorScroll', + precondition: void 0, + description: h.description, + }); + } + runCoreEditorCommand(e, t) { + const i = h.parse(t); + i && this._runEditorScroll(e, t.source, i); + } + _runEditorScroll(e, t, i) { + const n = this._computeDesiredScrollTop(e, i); + if (i.revealCursor) { + const r = e.getCompletelyVisibleViewRangeAtScrollTop(n); + e.setCursorStates(t, 3, [ + p.P.findPositionInViewportIfOutside( + e, + e.getPrimaryCursorState(), + r, + i.select + ), + ]); + } + e.setScrollTop(n, 0); + } + _computeDesiredScrollTop(e, t) { + if (1 === t.unit) { + const i = e.getCompletelyVisibleViewRange(), + n = e.coordinatesConverter.convertViewRangeToModelRange(i); + let r; + r = + 1 === t.direction + ? Math.max(1, n.startLineNumber - t.value) + : Math.min( + e.model.getLineCount(), + n.startLineNumber + t.value + ); + const s = e.coordinatesConverter.convertModelPositionToViewPosition( + new l.L(r, 1) + ); + return e.getVerticalOffsetForLineNumber(s.lineNumber); + } + let i; + i = + 3 === t.unit + ? e.cursorConfig.pageSize * t.value + : 4 === t.unit + ? Math.round(e.cursorConfig.pageSize / 2) * t.value + : t.value; + const n = (1 === t.direction ? -1 : 1) * i; + return e.getScrollTop() + n * e.cursorConfig.lineHeight; + } + } + (e.EditorScrollImpl = x), + (e.EditorScroll = (0, s.fK)(new x())), + (e.ScrollLineUp = (0, s.fK)( + new (class extends y { + constructor() { + super({ + id: 'scrollLineUp', + precondition: void 0, + kbOpts: { + weight: 0, + kbExpr: _.u.textInputFocus, + primary: 2064, + mac: { primary: 267 }, + }, + }); + } + runCoreEditorCommand(t, i) { + e.EditorScroll._runEditorScroll(t, i.source, { + direction: 1, + unit: 2, + value: 1, + revealCursor: !1, + select: !1, + }); + } + })() + )), + (e.ScrollPageUp = (0, s.fK)( + new (class extends y { + constructor() { + super({ + id: 'scrollPageUp', + precondition: void 0, + kbOpts: { + weight: 0, + kbExpr: _.u.textInputFocus, + primary: 2059, + win: { primary: 523 }, + linux: { primary: 523 }, + }, + }); + } + runCoreEditorCommand(t, i) { + e.EditorScroll._runEditorScroll(t, i.source, { + direction: 1, + unit: 3, + value: 1, + revealCursor: !1, + select: !1, + }); + } + })() + )), + (e.ScrollLineDown = (0, s.fK)( + new (class extends y { + constructor() { + super({ + id: 'scrollLineDown', + precondition: void 0, + kbOpts: { + weight: 0, + kbExpr: _.u.textInputFocus, + primary: 2066, + mac: { primary: 268 }, + }, + }); + } + runCoreEditorCommand(t, i) { + e.EditorScroll._runEditorScroll(t, i.source, { + direction: 2, + unit: 2, + value: 1, + revealCursor: !1, + select: !1, + }); + } + })() + )), + (e.ScrollPageDown = (0, s.fK)( + new (class extends y { + constructor() { + super({ + id: 'scrollPageDown', + precondition: void 0, + kbOpts: { + weight: 0, + kbExpr: _.u.textInputFocus, + primary: 2060, + win: { primary: 524 }, + linux: { primary: 524 }, + }, + }); + } + runCoreEditorCommand(t, i) { + e.EditorScroll._runEditorScroll(t, i.source, { + direction: 2, + unit: 3, + value: 1, + revealCursor: !1, + select: !1, + }); + } + })() + )); + class L extends y { + constructor(e) { + super(e), (this._inSelectionMode = e.inSelectionMode); + } + runCoreEditorCommand(e, t) { + e.model.pushStackElement(), + e.setCursorStates(t.source, 3, [ + p.P.word( + e, + e.getPrimaryCursorState(), + this._inSelectionMode, + t.position + ), + ]), + e.revealPrimaryCursor(t.source, !0); + } + } + (e.WordSelect = (0, s.fK)( + new L({ + inSelectionMode: !1, + id: '_wordSelect', + precondition: void 0, + }) + )), + (e.WordSelectDrag = (0, s.fK)( + new L({ + inSelectionMode: !0, + id: '_wordSelectDrag', + precondition: void 0, + }) + )), + (e.LastCursorWordSelect = (0, s.fK)( + new (class extends y { + constructor() { + super({ id: 'lastCursorWordSelect', precondition: void 0 }); + } + runCoreEditorCommand(e, t) { + const i = e.getLastAddedCursorIndex(), + n = e.getCursorStates(), + r = n.slice(0), + s = n[i]; + (r[i] = p.P.word( + e, + s, + s.modelState.hasSelection(), + t.position + )), + e.model.pushStackElement(), + e.setCursorStates(t.source, 3, r); + } + })() + )); + class M extends y { + constructor(e) { + super(e), (this._inSelectionMode = e.inSelectionMode); + } + runCoreEditorCommand(e, t) { + e.model.pushStackElement(), + e.setCursorStates(t.source, 3, [ + p.P.line( + e, + e.getPrimaryCursorState(), + this._inSelectionMode, + t.position, + t.viewPosition + ), + ]), + e.revealPrimaryCursor(t.source, !1); + } + } + (e.LineSelect = (0, s.fK)( + new M({ + inSelectionMode: !1, + id: '_lineSelect', + precondition: void 0, + }) + )), + (e.LineSelectDrag = (0, s.fK)( + new M({ + inSelectionMode: !0, + id: '_lineSelectDrag', + precondition: void 0, + }) + )); + class D extends y { + constructor(e) { + super(e), (this._inSelectionMode = e.inSelectionMode); + } + runCoreEditorCommand(e, t) { + const i = e.getLastAddedCursorIndex(), + n = e.getCursorStates(), + r = n.slice(0); + (r[i] = p.P.line( + e, + n[i], + this._inSelectionMode, + t.position, + t.viewPosition + )), + e.model.pushStackElement(), + e.setCursorStates(t.source, 3, r); + } + } + (e.LastCursorLineSelect = (0, s.fK)( + new D({ + inSelectionMode: !1, + id: 'lastCursorLineSelect', + precondition: void 0, + }) + )), + (e.LastCursorLineSelectDrag = (0, s.fK)( + new D({ + inSelectionMode: !0, + id: 'lastCursorLineSelectDrag', + precondition: void 0, + }) + )), + (e.ExpandLineSelection = (0, s.fK)( + new (class extends y { + constructor() { + super({ + id: 'expandLineSelection', + precondition: void 0, + kbOpts: { + weight: 0, + kbExpr: _.u.textInputFocus, + primary: 2090, + }, + }); + } + runCoreEditorCommand(e, t) { + e.model.pushStackElement(), + e.setCursorStates( + t.source, + 3, + p.P.expandLineSelection(e, e.getCursorStates()) + ), + e.revealPrimaryCursor(t.source, !0); + } + })() + )), + (e.CancelSelection = (0, s.fK)( + new (class extends y { + constructor() { + super({ + id: 'cancelSelection', + precondition: _.u.hasNonEmptySelection, + kbOpts: { + weight: 0, + kbExpr: _.u.textInputFocus, + primary: 9, + secondary: [1033], + }, + }); + } + runCoreEditorCommand(e, t) { + e.model.pushStackElement(), + e.setCursorStates(t.source, 3, [ + p.P.cancelSelection(e, e.getPrimaryCursorState()), + ]), + e.revealPrimaryCursor(t.source, !0); + } + })() + )), + (e.RemoveSecondaryCursors = (0, s.fK)( + new (class extends y { + constructor() { + super({ + id: 'removeSecondaryCursors', + precondition: _.u.hasMultipleSelections, + kbOpts: { + weight: 1, + kbExpr: _.u.textInputFocus, + primary: 9, + secondary: [1033], + }, + }); + } + runCoreEditorCommand(e, t) { + e.model.pushStackElement(), + e.setCursorStates(t.source, 3, [e.getPrimaryCursorState()]), + e.revealPrimaryCursor(t.source, !0); + } + })() + )), + (e.RevealLine = (0, s.fK)( + new (class extends y { + constructor() { + super({ + id: 'revealLine', + precondition: void 0, + description: u.description, + }); + } + runCoreEditorCommand(e, t) { + const i = t; + let n = (i.lineNumber || 0) + 1; + n < 1 && (n = 1); + const r = e.model.getLineCount(); + n > r && (n = r); + const s = new c.e(n, 1, n, e.model.getLineMaxColumn(n)); + let o = 0; + if (i.at) + switch (i.at) { + case u.RawAtArgument.Top: + o = 3; + break; + case u.RawAtArgument.Center: + o = 1; + break; + case u.RawAtArgument.Bottom: + o = 4; + } + const a = e.coordinatesConverter.convertModelRangeToViewRange( + s + ); + e.revealRange(t.source, !1, a, o, 0); + } + })() + )), + (e.SelectAll = new (class extends w { + constructor() { + super(s.Sq); + } + runDOMCommand() { + document.execCommand('selectAll'); + } + runEditorCommand(e, t, i) { + const n = t._getViewModel(); + n && this.runCoreEditorCommand(n, i); + } + runCoreEditorCommand(e, t) { + e.model.pushStackElement(), + e.setCursorStates('keyboard', 3, [ + p.P.selectAll(e, e.getPrimaryCursorState()), + ]); + } + })()), + (e.SetSelection = (0, s.fK)( + new (class extends y { + constructor() { + super({ id: 'setSelection', precondition: void 0 }); + } + runCoreEditorCommand(e, t) { + e.model.pushStackElement(), + e.setCursorStates(t.source, 3, [ + a.Vi.fromModelSelection(t.selection), + ]); + } + })() + )); + })(g || (g = {})); + const C = b.Ao.and(_.u.textInputFocus, _.u.columnSelection); + function S(e, t) { + v.W.registerKeybindingRule({ id: e, primary: t, when: C, weight: 1 }); + } + function k(e) { + return e.register(), e; + } + var x; + S(g.CursorColumnSelectLeft.id, 1039), + S(g.CursorColumnSelectRight.id, 1041), + S(g.CursorColumnSelectUp.id, 1040), + S(g.CursorColumnSelectPageUp.id, 1035), + S(g.CursorColumnSelectDown.id, 1042), + S(g.CursorColumnSelectPageDown.id, 1036), + (function (e) { + class t extends s._l { + runEditorCommand(e, t, i) { + const n = t._getViewModel(); + n && this.runCoreEditingCommand(t, n, i || {}); + } + } + (e.CoreEditingCommand = t), + (e.LineBreakInsert = (0, s.fK)( + new (class extends t { + constructor() { + super({ + id: 'lineBreakInsert', + precondition: _.u.writable, + kbOpts: { + weight: 0, + kbExpr: _.u.textInputFocus, + primary: 0, + mac: { primary: 301 }, + }, + }); + } + runCoreEditingCommand(e, t, i) { + e.pushUndoStop(), + e.executeCommands( + this.id, + m.u.lineBreakInsert( + t.cursorConfig, + t.model, + t.getCursorStates().map((e) => e.modelState.selection) + ) + ); + } + })() + )), + (e.Outdent = (0, s.fK)( + new (class extends t { + constructor() { + super({ + id: 'outdent', + precondition: _.u.writable, + kbOpts: { + weight: 0, + kbExpr: b.Ao.and( + _.u.editorTextFocus, + _.u.tabDoesNotMoveFocus + ), + primary: 1026, + }, + }); + } + runCoreEditingCommand(e, t, i) { + e.pushUndoStop(), + e.executeCommands( + this.id, + m.u.outdent( + t.cursorConfig, + t.model, + t.getCursorStates().map((e) => e.modelState.selection) + ) + ), + e.pushUndoStop(); + } + })() + )), + (e.Tab = (0, s.fK)( + new (class extends t { + constructor() { + super({ + id: 'tab', + precondition: _.u.writable, + kbOpts: { + weight: 0, + kbExpr: b.Ao.and( + _.u.editorTextFocus, + _.u.tabDoesNotMoveFocus + ), + primary: 2, + }, + }); + } + runCoreEditingCommand(e, t, i) { + e.pushUndoStop(), + e.executeCommands( + this.id, + m.u.tab( + t.cursorConfig, + t.model, + t.getCursorStates().map((e) => e.modelState.selection) + ) + ), + e.pushUndoStop(); + } + })() + )), + (e.DeleteLeft = (0, s.fK)( + new (class extends t { + constructor() { + super({ + id: 'deleteLeft', + precondition: void 0, + kbOpts: { + weight: 0, + kbExpr: _.u.textInputFocus, + primary: 1, + secondary: [1025], + mac: { primary: 1, secondary: [1025, 294, 257] }, + }, + }); + } + runCoreEditingCommand(e, t, i) { + const [n, r] = f.A.deleteLeft( + t.getPrevEditOperationType(), + t.cursorConfig, + t.model, + t.getCursorStates().map((e) => e.modelState.selection) + ); + n && e.pushUndoStop(), + e.executeCommands(this.id, r), + t.setPrevEditOperationType(2); + } + })() + )), + (e.DeleteRight = (0, s.fK)( + new (class extends t { + constructor() { + super({ + id: 'deleteRight', + precondition: void 0, + kbOpts: { + weight: 0, + kbExpr: _.u.textInputFocus, + primary: 20, + mac: { primary: 20, secondary: [290, 276] }, + }, + }); + } + runCoreEditingCommand(e, t, i) { + const [n, r] = f.A.deleteRight( + t.getPrevEditOperationType(), + t.cursorConfig, + t.model, + t.getCursorStates().map((e) => e.modelState.selection) + ); + n && e.pushUndoStop(), + e.executeCommands(this.id, r), + t.setPrevEditOperationType(3); + } + })() + )), + (e.Undo = new (class extends w { + constructor() { + super(s.n_); + } + runDOMCommand() { + document.execCommand('undo'); + } + runEditorCommand(e, t, i) { + t.hasModel() && !0 !== t.getOption(72) && t.getModel().undo(); + } + })()), + (e.Redo = new (class extends w { + constructor() { + super(s.kz); + } + runDOMCommand() { + document.execCommand('redo'); + } + runEditorCommand(e, t, i) { + t.hasModel() && !0 !== t.getOption(72) && t.getModel().redo(); + } + })()); + })(x || (x = {})); + class L extends s.mY { + constructor(e, t, i) { + super({ id: e, precondition: void 0, description: i }), + (this._handlerId = t); + } + runCommand(e, t) { + const i = e.get(o.$).getFocusedCodeEditor(); + i && i.trigger('keyboard', this._handlerId, t); + } + } + function M(e, t) { + k(new L('default:' + e, e)), k(new L(e, e, t)); + } + M('type', { + description: 'Type', + args: [ + { + name: 'args', + schema: { + type: 'object', + required: ['text'], + properties: { text: { type: 'string' } }, + }, + }, + ], + }), + M('replacePreviousChar'), + M('compositionStart'), + M('compositionEnd'), + M('paste'), + M('cut'); + }, + 35715: (e, t, i) => { + 'use strict'; + i.d(t, { RA: () => f, Nl: () => p, Fz: () => m }); + var n = i(16268), + r = i(65321), + s = i(15393), + o = i(4669), + a = i(5976), + l = i(1432), + c = i(97295), + d = i(15887), + h = i(50187), + u = i(3860), + g = i(10161); + const f = { forceCopyWithSyntaxHighlighting: !1 }; + class p { + constructor() { + this._lastState = null; + } + set(e, t) { + this._lastState = { lastCopiedValue: e, data: t }; + } + get(e) { + return this._lastState && this._lastState.lastCopiedValue === e + ? this._lastState.data + : ((this._lastState = null), null); + } + } + p.INSTANCE = new p(); + class m extends a.JT { + constructor(e, t) { + super(), + (this.textArea = t), + (this._onFocus = this._register(new o.Q5())), + (this.onFocus = this._onFocus.event), + (this._onBlur = this._register(new o.Q5())), + (this.onBlur = this._onBlur.event), + (this._onKeyDown = this._register(new o.Q5())), + (this.onKeyDown = this._onKeyDown.event), + (this._onKeyUp = this._register(new o.Q5())), + (this.onKeyUp = this._onKeyUp.event), + (this._onCut = this._register(new o.Q5())), + (this.onCut = this._onCut.event), + (this._onPaste = this._register(new o.Q5())), + (this.onPaste = this._onPaste.event), + (this._onType = this._register(new o.Q5())), + (this.onType = this._onType.event), + (this._onCompositionStart = this._register(new o.Q5())), + (this.onCompositionStart = this._onCompositionStart.event), + (this._onCompositionUpdate = this._register(new o.Q5())), + (this.onCompositionUpdate = this._onCompositionUpdate.event), + (this._onCompositionEnd = this._register(new o.Q5())), + (this.onCompositionEnd = this._onCompositionEnd.event), + (this._onSelectionChangeRequest = this._register(new o.Q5())), + (this.onSelectionChangeRequest = this._onSelectionChangeRequest.event), + (this._host = e), + (this._textArea = this._register(new b(t))), + (this._asyncTriggerCut = this._register( + new s.pY(() => this._onCut.fire(), 0) + )), + (this._textAreaState = d.u.EMPTY), + (this._selectionChangeListener = null), + this.writeScreenReaderContent('ctor'), + (this._hasFocus = !1), + (this._isDoingComposition = !1), + (this._nextCommand = 0); + let i = null; + this._register( + r.mu(t.domNode, 'keydown', (e) => { + (109 === e.keyCode || + (this._isDoingComposition && 1 === e.keyCode)) && + e.stopPropagation(), + e.equals(9) && e.preventDefault(), + (i = e), + this._onKeyDown.fire(e); + }) + ), + this._register( + r.mu(t.domNode, 'keyup', (e) => { + this._onKeyUp.fire(e); + }) + ), + this._register( + r.nm(t.domNode, 'compositionstart', (e) => { + if (this._isDoingComposition) return; + this._isDoingComposition = !0; + let t = !1; + l.dz && + i && + i.equals(109) && + this._textAreaState.selectionStart === + this._textAreaState.selectionEnd && + this._textAreaState.selectionStart > 0 && + this._textAreaState.value.substr( + this._textAreaState.selectionStart - 1, + 1 + ) === e.data && + (('ArrowRight' !== i.code && 'ArrowLeft' !== i.code) || + (t = !0)), + t + ? (this._textAreaState = new d.u( + this._textAreaState.value, + this._textAreaState.selectionStart - 1, + this._textAreaState.selectionEnd, + this._textAreaState.selectionStartPosition + ? new h.L( + this._textAreaState.selectionStartPosition.lineNumber, + this._textAreaState.selectionStartPosition + .column - 1 + ) + : null, + this._textAreaState.selectionEndPosition + )) + : n.un || + this._setAndWriteTextAreaState( + 'compositionstart', + d.u.EMPTY + ), + this._onCompositionStart.fire({ moveOneCharacterLeft: t }); + }) + ); + const a = (e) => { + const t = this._textAreaState, + i = d.u.readFromTextArea(this._textArea); + return [i, d.u.deduceInput(t, i, e)]; + }, + u = (e) => { + const t = this._textAreaState, + i = d.u.selectedText(e); + return [ + i, + { + text: i.value, + replaceCharCnt: t.selectionEnd - t.selectionStart, + }, + ]; + }, + g = (e) => !(!n.un || 'ja' !== e); + this._register( + r.nm(t.domNode, 'compositionupdate', (e) => { + if (g(e.locale)) { + const [t, i] = a(!1); + return ( + (this._textAreaState = t), + this._onType.fire(i), + void this._onCompositionUpdate.fire(e) + ); + } + const [t, i] = u(e.data || ''); + (this._textAreaState = t), + this._onType.fire(i), + this._onCompositionUpdate.fire(e); + }) + ), + this._register( + r.nm(t.domNode, 'compositionend', (e) => { + if (this._isDoingComposition) { + if (g(e.locale)) { + const [e, t] = a(!1); + (this._textAreaState = e), this._onType.fire(t); + } else { + const [t, i] = u(e.data || ''); + (this._textAreaState = t), this._onType.fire(i); + } + (n.un || n.i7) && + (this._textAreaState = d.u.readFromTextArea( + this._textArea + )), + this._isDoingComposition && + ((this._isDoingComposition = !1), + this._onCompositionEnd.fire()); + } + }) + ), + this._register( + r.nm(t.domNode, 'input', () => { + if ( + (this._textArea.setIgnoreSelectionChangeTime( + 'received input event' + ), + this._isDoingComposition) + ) + return; + const [e, t] = a(l.dz); + (0 === t.replaceCharCnt && + 1 === t.text.length && + c.ZG(t.text.charCodeAt(0))) || + ((this._textAreaState = e), + 0 === this._nextCommand + ? '' !== t.text && this._onType.fire(t) + : (('' === t.text && 0 === t.replaceCharCnt) || + this._firePaste(t.text, null), + (this._nextCommand = 0))); + }) + ), + this._register( + r.nm(t.domNode, 'cut', (e) => { + this._textArea.setIgnoreSelectionChangeTime( + 'received cut event' + ), + this._ensureClipboardGetsEditorSelection(e), + this._asyncTriggerCut.schedule(); + }) + ), + this._register( + r.nm(t.domNode, 'copy', (e) => { + this._ensureClipboardGetsEditorSelection(e); + }) + ), + this._register( + r.nm(t.domNode, 'paste', (e) => { + if ( + (this._textArea.setIgnoreSelectionChangeTime( + 'received paste event' + ), + _.canUseTextData(e)) + ) { + const [t, i] = _.getTextData(e); + '' !== t && this._firePaste(t, i); + } else + this._textArea.getSelectionStart() !== + this._textArea.getSelectionEnd() && + this._setAndWriteTextAreaState('paste', d.u.EMPTY), + (this._nextCommand = 1); + }) + ), + this._register( + r.nm(t.domNode, 'focus', () => { + this._setHasFocus(!0); + }) + ), + this._register( + r.nm(t.domNode, 'blur', () => { + this._setHasFocus(!1); + }) + ); + } + _installSelectionChangeListener() { + let e = 0; + return r.nm(document, 'selectionchange', (t) => { + if (!this._hasFocus) return; + if (this._isDoingComposition) return; + if (!n.i7) return; + const i = Date.now(), + r = i - e; + if (((e = i), r < 5)) return; + const s = i - this._textArea.getIgnoreSelectionChangeTime(); + if ((this._textArea.resetSelectionChangeTime(), s < 100)) return; + if ( + !this._textAreaState.selectionStartPosition || + !this._textAreaState.selectionEndPosition + ) + return; + const o = this._textArea.getValue(); + if (this._textAreaState.value !== o) return; + const a = this._textArea.getSelectionStart(), + l = this._textArea.getSelectionEnd(); + if ( + this._textAreaState.selectionStart === a && + this._textAreaState.selectionEnd === l + ) + return; + const c = this._textAreaState.deduceEditorPosition(a), + d = this._host.deduceModelPosition(c[0], c[1], c[2]), + h = this._textAreaState.deduceEditorPosition(l), + g = this._host.deduceModelPosition(h[0], h[1], h[2]), + f = new u.Y(d.lineNumber, d.column, g.lineNumber, g.column); + this._onSelectionChangeRequest.fire(f); + }); + } + dispose() { + super.dispose(), + this._selectionChangeListener && + (this._selectionChangeListener.dispose(), + (this._selectionChangeListener = null)); + } + focusTextArea() { + this._setHasFocus(!0), this.refreshFocusState(); + } + isFocused() { + return this._hasFocus; + } + refreshFocusState() { + const e = r.Ay(this.textArea.domNode); + e + ? this._setHasFocus(e.activeElement === this.textArea.domNode) + : r.Uw(this.textArea.domNode) + ? this._setHasFocus( + document.activeElement === this.textArea.domNode + ) + : this._setHasFocus(!1); + } + _setHasFocus(e) { + this._hasFocus !== e && + ((this._hasFocus = e), + this._selectionChangeListener && + (this._selectionChangeListener.dispose(), + (this._selectionChangeListener = null)), + this._hasFocus && + (this._selectionChangeListener = this._installSelectionChangeListener()), + this._hasFocus && + (n.un + ? this._setAndWriteTextAreaState('focusgain', d.u.EMPTY) + : this.writeScreenReaderContent('focusgain')), + this._hasFocus ? this._onFocus.fire() : this._onBlur.fire()); + } + _setAndWriteTextAreaState(e, t) { + this._hasFocus || (t = t.collapseSelection()), + t.writeToTextArea(e, this._textArea, this._hasFocus), + (this._textAreaState = t); + } + writeScreenReaderContent(e) { + this._isDoingComposition || + this._setAndWriteTextAreaState( + e, + this._host.getScreenReaderContent(this._textAreaState) + ); + } + _ensureClipboardGetsEditorSelection(e) { + const t = this._host.getDataToCopy( + _.canUseTextData(e) && g.D.clipboard.richText + ), + i = { + version: 1, + isFromEmptySelection: t.isFromEmptySelection, + multicursorText: t.multicursorText, + mode: t.mode, + }; + p.INSTANCE.set(n.vU ? t.text.replace(/\r\n/g, '\n') : t.text, i), + _.canUseTextData(e) + ? _.setTextData(e, t.text, t.html, i) + : this._setAndWriteTextAreaState( + 'copy or cut', + d.u.selectedText(t.text) + ); + } + _firePaste(e, t) { + t || (t = p.INSTANCE.get(e)), + this._onPaste.fire({ text: e, metadata: t }); + } + } + class _ { + static canUseTextData(e) { + return !!e.clipboardData || !!window.clipboardData; + } + static getTextData(e) { + if (e.clipboardData) { + e.preventDefault(); + const t = e.clipboardData.getData('text/plain'); + let i = null; + const n = e.clipboardData.getData('vscode-editor-data'); + if ('string' == typeof n) + try { + (i = JSON.parse(n)), 1 !== i.version && (i = null); + } catch (e) {} + return [t, i]; + } + if (window.clipboardData) + return ( + e.preventDefault(), [window.clipboardData.getData('Text'), null] + ); + throw new Error( + 'ClipboardEventUtils.getTextData: Cannot use text data!' + ); + } + static setTextData(e, t, i, n) { + if (e.clipboardData) + return ( + e.clipboardData.setData('text/plain', t), + 'string' == typeof i && e.clipboardData.setData('text/html', i), + e.clipboardData.setData( + 'vscode-editor-data', + JSON.stringify(n) + ), + void e.preventDefault() + ); + if (window.clipboardData) + return ( + window.clipboardData.setData('Text', t), void e.preventDefault() + ); + throw new Error( + 'ClipboardEventUtils.setTextData: Cannot use text data!' + ); + } + } + class b extends a.JT { + constructor(e) { + super(), (this._actual = e), (this._ignoreSelectionChangeTime = 0); + } + setIgnoreSelectionChangeTime(e) { + this._ignoreSelectionChangeTime = Date.now(); + } + getIgnoreSelectionChangeTime() { + return this._ignoreSelectionChangeTime; + } + resetSelectionChangeTime() { + this._ignoreSelectionChangeTime = 0; + } + getValue() { + return this._actual.domNode.value; + } + setValue(e, t) { + const i = this._actual.domNode; + i.value !== t && + (this.setIgnoreSelectionChangeTime('setValue'), (i.value = t)); + } + getSelectionStart() { + return this._actual.domNode.selectionStart; + } + getSelectionEnd() { + return this._actual.domNode.selectionEnd; + } + setSelectionRange(e, t, i) { + const s = this._actual.domNode; + let o = null; + const a = r.Ay(s); + o = a ? a.activeElement : document.activeElement; + const l = o === s, + c = s.selectionStart, + d = s.selectionEnd; + if (l && c === t && d === i) + n.vU && window.parent !== window && s.focus(); + else { + if (l) + return ( + this.setIgnoreSelectionChangeTime('setSelectionRange'), + s.setSelectionRange(t, i), + void (n.vU && window.parent !== window && s.focus()) + ); + try { + const e = r.vL(s); + this.setIgnoreSelectionChangeTime('setSelectionRange'), + s.focus(), + s.setSelectionRange(t, i), + r._0(s, e); + } catch (e) {} + } + } + } + }, + 15887: (e, t, i) => { + 'use strict'; + i.d(t, { u: () => o, e: () => a }); + var n = i(97295), + r = i(50187), + s = i(24314); + class o { + constructor(e, t, i, n, r) { + (this.value = e), + (this.selectionStart = t), + (this.selectionEnd = i), + (this.selectionStartPosition = n), + (this.selectionEndPosition = r); + } + toString() { + return ( + '[ <' + + this.value + + '>, selectionStart: ' + + this.selectionStart + + ', selectionEnd: ' + + this.selectionEnd + + ']' + ); + } + static readFromTextArea(e) { + return new o( + e.getValue(), + e.getSelectionStart(), + e.getSelectionEnd(), + null, + null + ); + } + collapseSelection() { + return new o( + this.value, + this.value.length, + this.value.length, + null, + null + ); + } + writeToTextArea(e, t, i) { + t.setValue(e, this.value), + i && + t.setSelectionRange(e, this.selectionStart, this.selectionEnd); + } + deduceEditorPosition(e) { + if (e <= this.selectionStart) { + const t = this.value.substring(e, this.selectionStart); + return this._finishDeduceEditorPosition( + this.selectionStartPosition, + t, + -1 + ); + } + if (e >= this.selectionEnd) { + const t = this.value.substring(this.selectionEnd, e); + return this._finishDeduceEditorPosition( + this.selectionEndPosition, + t, + 1 + ); + } + const t = this.value.substring(this.selectionStart, e); + if (-1 === t.indexOf(String.fromCharCode(8230))) + return this._finishDeduceEditorPosition( + this.selectionStartPosition, + t, + 1 + ); + const i = this.value.substring(e, this.selectionEnd); + return this._finishDeduceEditorPosition( + this.selectionEndPosition, + i, + -1 + ); + } + _finishDeduceEditorPosition(e, t, i) { + let n = 0, + r = -1; + for (; -1 !== (r = t.indexOf('\n', r + 1)); ) n++; + return [e, i * t.length, n]; + } + static selectedText(e) { + return new o(e, 0, e.length, null, null); + } + static deduceInput(e, t, i) { + if (!e) return { text: '', replaceCharCnt: 0 }; + let r = e.value, + s = e.selectionStart, + o = e.selectionEnd, + a = t.value, + l = t.selectionStart, + c = t.selectionEnd; + const d = r.substring(o), + h = a.substring(c), + u = n.P1(d, h); + (a = a.substring(0, a.length - u)), + (r = r.substring(0, r.length - u)); + const g = r.substring(0, s), + f = a.substring(0, l), + p = n.Mh(g, f); + if ( + ((a = a.substring(p)), + (r = r.substring(p)), + (l -= p), + (s -= p), + (c -= p), + (o -= p), + i && l === c && r.length > 0) + ) { + let e = null; + if ( + (l === a.length + ? n.Ny(a, r) && (e = a.substring(r.length)) + : n.pn(a, r) && (e = a.substring(0, a.length - r.length)), + null !== e && e.length > 0 && (/\uFE0F/.test(e) || n.RP(e))) + ) + return { text: e, replaceCharCnt: 0 }; + } + return l === c + ? r === a && + 0 === s && + o === r.length && + l === a.length && + -1 === a.indexOf('\n') && + n.xe(a) + ? { text: '', replaceCharCnt: 0 } + : { text: a, replaceCharCnt: g.length - p } + : { text: a, replaceCharCnt: o - s }; + } + } + o.EMPTY = new o('', 0, 0, null, null); + class a { + static _getPageOfLine(e, t) { + return Math.floor((e - 1) / t); + } + static _getRangeForPage(e, t) { + const i = e * t, + n = i + 1, + r = i + t; + return new s.e(n, 1, r + 1, 1); + } + static fromEditorSelection(e, t, i, n, l) { + const c = a._getPageOfLine(i.startLineNumber, n), + d = a._getRangeForPage(c, n), + h = a._getPageOfLine(i.endLineNumber, n), + u = a._getRangeForPage(h, n), + g = d.intersectRanges( + new s.e(1, 1, i.startLineNumber, i.startColumn) + ); + let f = t.getValueInRange(g, 1); + const p = t.getLineCount(), + m = t.getLineMaxColumn(p), + _ = u.intersectRanges( + new s.e(i.endLineNumber, i.endColumn, p, m) + ); + let b, + v = t.getValueInRange(_, 1); + if (c === h || c + 1 === h) b = t.getValueInRange(i, 1); + else { + const e = d.intersectRanges(i), + n = u.intersectRanges(i); + b = + t.getValueInRange(e, 1) + + String.fromCharCode(8230) + + t.getValueInRange(n, 1); + } + if (l) { + const e = 500; + f.length > e && (f = f.substring(f.length - e, f.length)), + v.length > e && (v = v.substring(0, e)), + b.length > 2 * e && + (b = + b.substring(0, e) + + String.fromCharCode(8230) + + b.substring(b.length - e, b.length)); + } + return new o( + f + b + v, + f.length, + f.length + b.length, + new r.L(i.startLineNumber, i.startColumn), + new r.L(i.endLineNumber, i.endColumn) + ); + } + } + }, + 39925: (e, t, i) => { + 'use strict'; + i.d(t, { yy: () => p, Dl: () => m, ZF: () => b, YQ: () => _ }); + var n = i(97295), + r = i(24314), + s = i(71050), + o = i(5976), + a = i(16830), + l = i(38819), + c = i(91741), + d = i(72065), + h = i(65026); + const u = (0, d.yh)('IEditorCancelService'), + g = new l.uy('cancellableOperation', !1); + (0, h.z)( + u, + class { + constructor() { + this._tokens = new WeakMap(); + } + add(e, t) { + let i, + n = this._tokens.get(e); + return ( + n || + ((n = e.invokeWithinContext((e) => ({ + key: g.bindTo(e.get(l.i6)), + tokens: new c.S(), + }))), + this._tokens.set(e, n)), + n.key.set(!0), + (i = n.tokens.push(t)), + () => { + i && (i(), n.key.set(!n.tokens.isEmpty()), (i = void 0)); + } + ); + } + cancel(e) { + const t = this._tokens.get(e); + if (!t) return; + const i = t.tokens.pop(); + i && (i.cancel(), t.key.set(!t.tokens.isEmpty())); + } + }, + !0 + ); + class f extends s.A { + constructor(e, t) { + super(t), + (this.editor = e), + (this._unregister = e.invokeWithinContext((t) => + t.get(u).add(e, this) + )); + } + dispose() { + this._unregister(), super.dispose(); + } + } + (0, a.fK)( + new (class extends a._l { + constructor() { + super({ + id: 'editor.cancelOperation', + kbOpts: { weight: 100, primary: 9 }, + precondition: g, + }); + } + runEditorCommand(e, t) { + e.get(u).cancel(t); + } + })() + ); + class p { + constructor(e, t) { + if (((this.flags = t), 0 != (1 & this.flags))) { + const t = e.getModel(); + this.modelVersionId = t + ? n.WU('{0}#{1}', t.uri.toString(), t.getVersionId()) + : null; + } else this.modelVersionId = null; + 0 != (4 & this.flags) + ? (this.position = e.getPosition()) + : (this.position = null), + 0 != (2 & this.flags) + ? (this.selection = e.getSelection()) + : (this.selection = null), + 0 != (8 & this.flags) + ? ((this.scrollLeft = e.getScrollLeft()), + (this.scrollTop = e.getScrollTop())) + : ((this.scrollLeft = -1), (this.scrollTop = -1)); + } + _equals(e) { + if (!(e instanceof p)) return !1; + const t = e; + return ( + this.modelVersionId === t.modelVersionId && + this.scrollLeft === t.scrollLeft && + this.scrollTop === t.scrollTop && + !( + (!this.position && t.position) || + (this.position && !t.position) || + (this.position && + t.position && + !this.position.equals(t.position)) + ) && + !( + (!this.selection && t.selection) || + (this.selection && !t.selection) || + (this.selection && + t.selection && + !this.selection.equalsRange(t.selection)) + ) + ); + } + validate(e) { + return this._equals(new p(e, this.flags)); + } + } + class m extends f { + constructor(e, t, i, n) { + super(e, n), + (this.editor = e), + (this._listener = new o.SL()), + 4 & t && + this._listener.add( + e.onDidChangeCursorPosition((e) => { + (i && r.e.containsPosition(i, e.position)) || this.cancel(); + }) + ), + 2 & t && + this._listener.add( + e.onDidChangeCursorSelection((e) => { + (i && r.e.containsRange(i, e.selection)) || this.cancel(); + }) + ), + 8 & t && + this._listener.add(e.onDidScrollChange((e) => this.cancel())), + 1 & t && + (this._listener.add(e.onDidChangeModel((e) => this.cancel())), + this._listener.add( + e.onDidChangeModelContent((e) => this.cancel()) + )); + } + dispose() { + this._listener.dispose(), super.dispose(); + } + } + class _ extends s.A { + constructor(e, t) { + super(t), + (this._listener = e.onDidChangeContent(() => this.cancel())); + } + dispose() { + this._listener.dispose(), super.dispose(); + } + } + class b { + constructor(e, t, i) { + (this._visiblePosition = e), + (this._visiblePositionScrollDelta = t), + (this._cursorPosition = i); + } + static capture(e) { + let t = null, + i = 0; + if (0 !== e.getScrollTop()) { + const n = e.getVisibleRanges(); + if (n.length > 0) { + t = n[0].getStartPosition(); + const r = e.getTopForPosition(t.lineNumber, t.column); + i = e.getScrollTop() - r; + } + } + return new b(t, i, e.getPosition()); + } + restore(e) { + if (this._visiblePosition) { + const t = e.getTopForPosition( + this._visiblePosition.lineNumber, + this._visiblePosition.column + ); + e.setScrollTop(t + this._visiblePositionScrollDelta); + } + } + restoreRelativeVerticalPositionOfCursor(e) { + const t = e.getPosition(); + if (!this._cursorPosition || !t) return; + const i = + e.getTopForLineNumber(t.lineNumber) - + e.getTopForLineNumber(this._cursorPosition.lineNumber); + e.setScrollTop(e.getScrollTop() + i); + } + } + }, + 65520: (e, t, i) => { + 'use strict'; + i.d(t, { CL: () => r, QI: () => s, Pi: () => o }); + var n = i(96518); + function r(e) { + return ( + !(!e || 'function' != typeof e.getEditorType) && + e.getEditorType() === n.g.ICodeEditor + ); + } + function s(e) { + return ( + !(!e || 'function' != typeof e.getEditorType) && + e.getEditorType() === n.g.IDiffEditor + ); + } + function o(e) { + return r(e) ? e : s(e) ? e.getModifiedEditor() : null; + } + }, + 16830: (e, t, i) => { + 'use strict'; + i.d(t, { + mY: () => b, + AJ: () => v, + _l: () => w, + R6: () => C, + jY: () => S, + _h: () => k, + kT: () => x, + sb: () => L, + f: () => M, + fK: () => D, + Qr: () => N, + rn: () => E, + QG: () => T, + _K: () => I, + Uc: () => n, + n_: () => R, + kz: () => P, + Sq: () => F, + }); + var n, + r = i(63580), + s = i(17301), + o = i(70666), + a = i(11640), + l = i(50187), + c = i(51200), + d = i(88216), + h = i(84144), + u = i(94565), + g = i(38819), + f = i(49989), + p = i(89872), + m = i(10829), + _ = i(98401); + class b { + constructor(e) { + (this.id = e.id), + (this.precondition = e.precondition), + (this._kbOpts = e.kbOpts), + (this._menuOpts = e.menuOpts), + (this._description = e.description); + } + register() { + if ( + (Array.isArray(this._menuOpts) + ? this._menuOpts.forEach(this._registerMenuItem, this) + : this._menuOpts && this._registerMenuItem(this._menuOpts), + this._kbOpts) + ) { + let e = this._kbOpts.kbExpr; + this.precondition && + (e = e ? g.Ao.and(e, this.precondition) : this.precondition), + f.W.registerCommandAndKeybindingRule({ + id: this.id, + handler: (e, t) => this.runCommand(e, t), + weight: this._kbOpts.weight, + args: this._kbOpts.args, + when: e, + primary: this._kbOpts.primary, + secondary: this._kbOpts.secondary, + win: this._kbOpts.win, + linux: this._kbOpts.linux, + mac: this._kbOpts.mac, + description: this._description, + }); + } else + u.P.registerCommand({ + id: this.id, + handler: (e, t) => this.runCommand(e, t), + description: this._description, + }); + } + _registerMenuItem(e) { + h.BH.appendMenuItem(e.menuId, { + group: e.group, + command: { id: this.id, title: e.title, icon: e.icon }, + when: e.when, + order: e.order, + }); + } + } + class v extends b { + constructor() { + super(...arguments), (this._implementations = []); + } + addImplementation(e, t) { + return ( + this._implementations.push([e, t]), + this._implementations.sort((e, t) => t[0] - e[0]), + { + dispose: () => { + for (let e = 0; e < this._implementations.length; e++) + if (this._implementations[e][1] === t) + return void this._implementations.splice(e, 1); + }, + } + ); + } + runCommand(e, t) { + for (const i of this._implementations) if (i[1](e, t)) return; + } + } + class y extends b { + constructor(e, t) { + super(t), (this.command = e); + } + runCommand(e, t) { + return this.command.runCommand(e, t); + } + } + class w extends b { + static bindToContribution(e) { + return class extends w { + constructor(e) { + super(e), (this._callback = e.handler); + } + runEditorCommand(t, i, n) { + e(i) && this._callback(e(i), n); + } + }; + } + runCommand(e, t) { + const i = e.get(a.$), + n = i.getFocusedCodeEditor() || i.getActiveCodeEditor(); + if (n) + return n.invokeWithinContext((e) => { + if ( + e.get(g.i6).contextMatchesRules((0, _.f6)(this.precondition)) + ) + return this.runEditorCommand(e, n, t); + }); + } + } + class C extends w { + constructor(e) { + super(C.convertOptions(e)), + (this.label = e.label), + (this.alias = e.alias); + } + static convertOptions(e) { + let t; + function i(t) { + return ( + t.menuId || (t.menuId = h.eH.EditorContext), + t.title || (t.title = e.label), + (t.when = g.Ao.and(e.precondition, t.when)), + t + ); + } + return ( + (t = Array.isArray(e.menuOpts) + ? e.menuOpts + : e.menuOpts + ? [e.menuOpts] + : []), + Array.isArray(e.contextMenuOpts) + ? t.push(...e.contextMenuOpts.map(i)) + : e.contextMenuOpts && t.push(i(e.contextMenuOpts)), + (e.menuOpts = t), + e + ); + } + runEditorCommand(e, t, i) { + return this.reportTelemetry(e, t), this.run(e, t, i || {}); + } + reportTelemetry(e, t) { + e.get(m.b).publicLog2('editorActionInvoked', { + name: this.label, + id: this.id, + }); + } + } + class S extends C { + constructor(e) { + super(e), (this._implementations = []); + } + runEditorCommand(e, t, i) { + this.reportTelemetry(e, t); + for (const t of this._implementations) if (t[1](e, i)) return; + return this.run(e, t, i || {}); + } + } + function k(e, t) { + u.P.registerCommand(e, (e, i) => t(e, i || {})); + } + function x(e, t) { + k(e, function (e, i) { + const { resource: n, position: r } = i; + if (!(n instanceof o.o)) throw (0, s.b1)('resource'); + if (!l.L.isIPosition(r)) throw (0, s.b1)('position'); + const a = e.get(c.q).getModel(n); + if (a) { + const e = l.L.lift(r); + return t(a, e, i); + } + return e + .get(d.S) + .createModelReference(n) + .then((e) => + new Promise((n, s) => { + try { + n(t(e.object.textEditorModel, l.L.lift(r), i)); + } catch (e) { + s(e); + } + }).finally(() => { + e.dispose(); + }) + ); + }); + } + function L(e, t) { + u.P.registerCommand(e, function (e, ...i) { + const [n, r] = i; + (0, _.p_)(o.o.isUri(n)), (0, _.p_)(l.L.isIPosition(r)); + const s = e.get(c.q).getModel(n); + if (s) { + const e = l.L.lift(r); + return t(s, e, ...i.slice(2)); + } + return e + .get(d.S) + .createModelReference(n) + .then((e) => + new Promise((n, s) => { + try { + n(t(e.object.textEditorModel, l.L.lift(r), i.slice(2))); + } catch (e) { + s(e); + } + }).finally(() => { + e.dispose(); + }) + ); + }); + } + function M(e, t) { + u.P.registerCommand(e, function (e, ...i) { + const [n] = i; + (0, _.p_)(o.o.isUri(n)); + const r = e.get(c.q).getModel(n); + return r + ? t(r, ...i.slice(1)) + : e + .get(d.S) + .createModelReference(n) + .then((e) => + new Promise((n, r) => { + try { + n(t(e.object.textEditorModel, i.slice(1))); + } catch (e) { + r(e); + } + }).finally(() => { + e.dispose(); + }) + ); + }); + } + function D(e) { + return O.INSTANCE.registerEditorCommand(e), e; + } + function N(e) { + const t = new e(); + return O.INSTANCE.registerEditorAction(t), t; + } + function E(e) { + return O.INSTANCE.registerEditorAction(e), e; + } + function T(e) { + O.INSTANCE.registerEditorAction(e); + } + function I(e, t) { + O.INSTANCE.registerEditorContribution(e, t); + } + !(function (e) { + (e.getEditorCommand = function (e) { + return O.INSTANCE.getEditorCommand(e); + }), + (e.getEditorActions = function () { + return O.INSTANCE.getEditorActions(); + }), + (e.getEditorContributions = function () { + return O.INSTANCE.getEditorContributions(); + }), + (e.getSomeEditorContributions = function (e) { + return O.INSTANCE.getEditorContributions().filter( + (t) => e.indexOf(t.id) >= 0 + ); + }), + (e.getDiffEditorContributions = function () { + return O.INSTANCE.getDiffEditorContributions(); + }); + })(n || (n = {})); + class O { + constructor() { + (this.editorContributions = []), + (this.diffEditorContributions = []), + (this.editorActions = []), + (this.editorCommands = Object.create(null)); + } + registerEditorContribution(e, t) { + this.editorContributions.push({ id: e, ctor: t }); + } + getEditorContributions() { + return this.editorContributions.slice(0); + } + getDiffEditorContributions() { + return this.diffEditorContributions.slice(0); + } + registerEditorAction(e) { + e.register(), this.editorActions.push(e); + } + getEditorActions() { + return this.editorActions.slice(0); + } + registerEditorCommand(e) { + e.register(), (this.editorCommands[e.id] = e); + } + getEditorCommand(e) { + return this.editorCommands[e] || null; + } + } + function A(e) { + return e.register(), e; + } + (O.INSTANCE = new O()), p.B.add('editor.contributions', O.INSTANCE); + const R = A( + new v({ + id: 'undo', + precondition: void 0, + kbOpts: { weight: 0, primary: 2104 }, + menuOpts: [ + { + menuId: h.eH.MenubarEditMenu, + group: '1_do', + title: r.N( + { key: 'miUndo', comment: ['&& denotes a mnemonic'] }, + '&&Undo' + ), + order: 1, + }, + { + menuId: h.eH.CommandPalette, + group: '', + title: r.N('undo', 'Undo'), + order: 1, + }, + ], + }) + ); + A(new y(R, { id: 'default:undo', precondition: void 0 })); + const P = A( + new v({ + id: 'redo', + precondition: void 0, + kbOpts: { + weight: 0, + primary: 2103, + secondary: [3128], + mac: { primary: 3128 }, + }, + menuOpts: [ + { + menuId: h.eH.MenubarEditMenu, + group: '1_do', + title: r.N( + { key: 'miRedo', comment: ['&& denotes a mnemonic'] }, + '&&Redo' + ), + order: 2, + }, + { + menuId: h.eH.CommandPalette, + group: '', + title: r.N('redo', 'Redo'), + order: 1, + }, + ], + }) + ); + A(new y(P, { id: 'default:redo', precondition: void 0 })); + const F = A( + new v({ + id: 'editor.action.selectAll', + precondition: void 0, + kbOpts: { weight: 0, kbExpr: null, primary: 2079 }, + menuOpts: [ + { + menuId: h.eH.MenubarSelectionMenu, + group: '1_basic', + title: r.N( + { key: 'miSelectAll', comment: ['&& denotes a mnemonic'] }, + '&&Select All' + ), + order: 1, + }, + { + menuId: h.eH.CommandPalette, + group: '', + title: r.N('selectAll', 'Select All'), + order: 1, + }, + ], + }) + ); + }, + 66007: (e, t, i) => { + 'use strict'; + i.d(t, { vu: () => o, fo: () => a, Gl: () => l }); + var n = i(72065), + r = i(70666), + s = i(98401); + const o = (0, n.yh)('IWorkspaceEditService'); + class a { + constructor(e) { + this.metadata = e; + } + static convert(e) { + return e.edits.map((e) => { + if ( + ((t = e), + (0, s.Kn)(t) && r.o.isUri(t.resource) && (0, s.Kn)(t.edit)) + ) + return new l(e.resource, e.edit, e.modelVersionId, e.metadata); + var t; + if ( + (function (e) { + return ( + (0, s.Kn)(e) && (Boolean(e.newUri) || Boolean(e.oldUri)) + ); + })(e) + ) + return new c(e.oldUri, e.newUri, e.options, e.metadata); + throw new Error('Unsupported edit'); + }); + } + } + class l extends a { + constructor(e, t, i, n) { + super(n), + (this.resource = e), + (this.textEdit = t), + (this.versionId = i), + (this.metadata = n); + } + } + class c extends a { + constructor(e, t, i, n) { + super(n), + (this.oldResource = e), + (this.newResource = t), + (this.options = i), + (this.metadata = n); + } + } + }, + 11640: (e, t, i) => { + 'use strict'; + i.d(t, { $: () => n }); + const n = (0, i(72065).yh)('codeEditorService'); + }, + 95190: (e, t, i) => { + 'use strict'; + i.d(t, { Gm: () => Wn }); + var n = i(63580), + r = i(65321), + s = i(17301), + o = i(4669), + a = i(5976), + l = i(66663), + c = i(89052), + d = i(16830), + h = i(11640), + u = i(3860), + g = i(38626), + f = i(1432), + p = i(10553), + m = i(23938), + _ = i(15393), + b = i(16268), + v = i(57974); + class y { + constructor(e, t) { + (this.x = e), (this.y = t); + } + toClientCoordinates() { + return new w(this.x - r.DI.scrollX, this.y - r.DI.scrollY); + } + } + class w { + constructor(e, t) { + (this.clientX = e), (this.clientY = t); + } + toPageCoordinates() { + return new y( + this.clientX + r.DI.scrollX, + this.clientY + r.DI.scrollY + ); + } + } + class C { + constructor(e, t, i, n) { + (this.x = e), (this.y = t), (this.width = i), (this.height = n); + } + } + function S(e) { + const t = r.i(e); + return new C(t.left, t.top, t.width, t.height); + } + class k extends m.n { + constructor(e, t) { + super(e), + (this.pos = new y(this.posx, this.posy)), + (this.editorPos = S(t)); + } + } + class x { + constructor(e) { + this._editorViewDomNode = e; + } + _create(e) { + return new k(e, this._editorViewDomNode); + } + onContextMenu(e, t) { + return r.nm(e, 'contextmenu', (e) => { + t(this._create(e)); + }); + } + onMouseUp(e, t) { + return r.nm(e, 'mouseup', (e) => { + t(this._create(e)); + }); + } + onMouseDown(e, t) { + return r.nm(e, 'mousedown', (e) => { + t(this._create(e)); + }); + } + onMouseLeave(e, t) { + return r.j_(e, (e) => { + t(this._create(e)); + }); + } + onMouseMoveThrottled(e, t, i, n) { + return r.Y_(e, 'mousemove', t, (e, t) => i(e, this._create(t)), n); + } + } + class L { + constructor(e) { + this._editorViewDomNode = e; + } + _create(e) { + return new k(e, this._editorViewDomNode); + } + onPointerUp(e, t) { + return r.nm(e, 'pointerup', (e) => { + t(this._create(e)); + }); + } + onPointerDown(e, t) { + return r.nm(e, 'pointerdown', (e) => { + t(this._create(e)); + }); + } + onPointerLeave(e, t) { + return r.RE(e, (e) => { + t(this._create(e)); + }); + } + onPointerMoveThrottled(e, t, i, n) { + return r.Y_( + e, + 'pointermove', + t, + (e, t) => i(e, this._create(t)), + n + ); + } + } + class M extends a.JT { + constructor(e) { + super(), + (this._editorViewDomNode = e), + (this._globalMouseMoveMonitor = this._register(new v.Z())), + (this._keydownListener = null); + } + startMonitoring(e, t, i, n, s) { + (this._keydownListener = r.mu( + document, + 'keydown', + (e) => { + e.toKeybinding().isModifierKey() || + this._globalMouseMoveMonitor.stopMonitoring(!0); + }, + !0 + )), + this._globalMouseMoveMonitor.startMonitoring( + e, + t, + (e, t) => i(e, new k(t, this._editorViewDomNode)), + n, + () => { + this._keydownListener.dispose(), s(); + } + ); + } + } + class D extends a.JT { + constructor() { + super(), (this._shouldRender = !0); + } + shouldRender() { + return this._shouldRender; + } + forceShouldRender() { + this._shouldRender = !0; + } + setShouldRender() { + this._shouldRender = !0; + } + onDidRender() { + this._shouldRender = !1; + } + onConfigurationChanged(e) { + return !1; + } + onCursorStateChanged(e) { + return !1; + } + onDecorationsChanged(e) { + return !1; + } + onFlushed(e) { + return !1; + } + onFocusChanged(e) { + return !1; + } + onLanguageConfigurationChanged(e) { + return !1; + } + onLineMappingChanged(e) { + return !1; + } + onLinesChanged(e) { + return !1; + } + onLinesDeleted(e) { + return !1; + } + onLinesInserted(e) { + return !1; + } + onRevealRangeRequest(e) { + return !1; + } + onScrollChanged(e) { + return !1; + } + onThemeChanged(e) { + return !1; + } + onTokensChanged(e) { + return !1; + } + onTokensColorsChanged(e) { + return !1; + } + onZonesChanged(e) { + return !1; + } + handleEvents(e) { + let t = !1; + for (let i = 0, n = e.length; i < n; i++) { + let n = e[i]; + switch (n.type) { + case 0: + this.onConfigurationChanged(n) && (t = !0); + break; + case 1: + this.onCursorStateChanged(n) && (t = !0); + break; + case 2: + this.onDecorationsChanged(n) && (t = !0); + break; + case 3: + this.onFlushed(n) && (t = !0); + break; + case 4: + this.onFocusChanged(n) && (t = !0); + break; + case 5: + this.onLanguageConfigurationChanged(n) && (t = !0); + break; + case 6: + this.onLineMappingChanged(n) && (t = !0); + break; + case 7: + this.onLinesChanged(n) && (t = !0); + break; + case 8: + this.onLinesDeleted(n) && (t = !0); + break; + case 9: + this.onLinesInserted(n) && (t = !0); + break; + case 10: + this.onRevealRangeRequest(n) && (t = !0); + break; + case 11: + this.onScrollChanged(n) && (t = !0); + break; + case 13: + this.onTokensChanged(n) && (t = !0); + break; + case 12: + this.onThemeChanged(n) && (t = !0); + break; + case 14: + this.onTokensColorsChanged(n) && (t = !0); + break; + case 15: + this.onZonesChanged(n) && (t = !0); + break; + default: + console.info('View received unknown event: '), + console.info(n); + } + } + t && (this._shouldRender = !0); + } + } + class N extends D { + constructor(e) { + super(), (this._context = e), this._context.addEventHandler(this); + } + dispose() { + this._context.removeEventHandler(this), super.dispose(); + } + } + class E { + static write(e, t) { + g.Z, e.setAttribute('data-mprt', String(t)); + } + static read(e) { + const t = e.getAttribute('data-mprt'); + return null === t ? 0 : parseInt(t, 10); + } + static collect(e, t) { + let i = [], + n = 0; + for (; e && e !== document.body && e !== t; ) + e.nodeType === e.ELEMENT_NODE && (i[n++] = this.read(e)), + (e = e.parentElement); + const r = new Uint8Array(n); + for (let e = 0; e < n; e++) r[e] = i[n - e - 1]; + return r; + } + } + class T extends class { + constructor(e, t) { + (this._viewLayout = e), + (this.viewportData = t), + (this.scrollWidth = this._viewLayout.getScrollWidth()), + (this.scrollHeight = this._viewLayout.getScrollHeight()), + (this.visibleRange = this.viewportData.visibleRange), + (this.bigNumbersDelta = this.viewportData.bigNumbersDelta); + const i = this._viewLayout.getCurrentViewport(); + (this.scrollTop = i.top), + (this.scrollLeft = i.left), + (this.viewportWidth = i.width), + (this.viewportHeight = i.height); + } + getScrolledTopFromAbsoluteTop(e) { + return e - this.scrollTop; + } + getVerticalOffsetForLineNumber(e) { + return this._viewLayout.getVerticalOffsetForLineNumber(e); + } + getDecorationsInViewport() { + return this.viewportData.getDecorationsInViewport(); + } + } { + constructor(e, t, i) { + super(e, t), (this._viewLines = i); + } + linesVisibleRangesForRange(e, t) { + return this._viewLines.linesVisibleRangesForRange(e, t); + } + visibleRangeForPosition(e) { + return this._viewLines.visibleRangeForPosition(e); + } + } + class I { + constructor(e, t, i) { + (this.outsideRenderedLine = e), + (this.lineNumber = t), + (this.ranges = i); + } + } + class O { + constructor(e, t) { + (this.left = Math.round(e)), (this.width = Math.round(t)); + } + toString() { + return `[${this.left},${this.width}]`; + } + } + class A { + constructor(e, t) { + (this.outsideRenderedLine = e), (this.left = Math.round(t)); + } + } + class R { + constructor(e, t) { + (this.outsideRenderedLine = e), (this.ranges = t); + } + } + class P { + constructor(e, t) { + (this.left = e), (this.width = t); + } + toString() { + return `[${this.left},${this.width}]`; + } + static compare(e, t) { + return e.left - t.left; + } + } + class F { + static _createRange() { + return ( + this._handyReadyRange || + (this._handyReadyRange = document.createRange()), + this._handyReadyRange + ); + } + static _detachRange(e, t) { + e.selectNodeContents(t); + } + static _readClientRects(e, t, i, n, r) { + const s = this._createRange(); + try { + return s.setStart(e, t), s.setEnd(i, n), s.getClientRects(); + } catch (e) { + return null; + } finally { + this._detachRange(s, r); + } + } + static _mergeAdjacentRanges(e) { + if (1 === e.length) return [new O(e[0].left, e[0].width)]; + e.sort(P.compare); + let t = [], + i = 0, + n = e[0].left, + r = e[0].width; + for (let s = 1, o = e.length; s < o; s++) { + const o = e[s], + a = o.left, + l = o.width; + n + r + 0.9 >= a + ? (r = Math.max(r, a + l - n)) + : ((t[i++] = new O(n, r)), (n = a), (r = l)); + } + return (t[i++] = new O(n, r)), t; + } + static _createHorizontalRangesFromClientRects(e, t) { + if (!e || 0 === e.length) return null; + const i = []; + for (let n = 0, r = e.length; n < r; n++) { + const r = e[n]; + i[n] = new P(Math.max(0, r.left - t), r.width); + } + return this._mergeAdjacentRanges(i); + } + static readHorizontalRanges(e, t, i, n, r, s, o) { + const a = e.children.length - 1; + if (0 > a) return null; + if ( + (t = Math.min(a, Math.max(0, t))) === + (n = Math.min(a, Math.max(0, n))) && + i === r && + 0 === i + ) { + const i = e.children[t].getClientRects(); + return this._createHorizontalRangesFromClientRects(i, s); + } + t !== n && n > 0 && 0 === r && (n--, (r = 1073741824)); + let l = e.children[t].firstChild, + c = e.children[n].firstChild; + if ( + ((l && c) || + (!l && + 0 === i && + t > 0 && + ((l = e.children[t - 1].firstChild), (i = 1073741824)), + !c && + 0 === r && + n > 0 && + ((c = e.children[n - 1].firstChild), (r = 1073741824))), + !l || !c) + ) + return null; + (i = Math.min(l.textContent.length, Math.max(0, i))), + (r = Math.min(c.textContent.length, Math.max(0, r))); + const d = this._readClientRects(l, i, c, r, o); + return this._createHorizontalRangesFromClientRects(d, s); + } + } + var B = i(92550), + W = i(77736), + Y = i(97781), + H = i(64141); + const j = !!f.tY || !(f.IJ || b.vU || b.G6); + let V = !0; + const z = b.un; + class U { + constructor(e, t) { + (this._domNode = e), + (this._clientRectDeltaLeft = 0), + (this._clientRectDeltaLeftRead = !1), + (this.endNode = t); + } + get clientRectDeltaLeft() { + return ( + this._clientRectDeltaLeftRead || + ((this._clientRectDeltaLeftRead = !0), + (this._clientRectDeltaLeft = this._domNode.getBoundingClientRect().left)), + this._clientRectDeltaLeft + ); + } + } + class $ { + constructor(e, t) { + this.themeType = t; + const i = e.options, + n = i.get(36); + (this.renderWhitespace = i.get(80)), + (this.renderControlCharacters = i.get(74)), + (this.spaceWidth = n.spaceWidth), + (this.middotWidth = n.middotWidth), + (this.wsmiddotWidth = n.wsmiddotWidth), + (this.useMonospaceOptimizations = n.isMonospace && !i.get(24)), + (this.canUseHalfwidthRightwardsArrow = + n.canUseHalfwidthRightwardsArrow), + (this.lineHeight = i.get(51)), + (this.stopRenderingLineAfter = i.get(95)), + (this.fontLigatures = i.get(37)); + } + equals(e) { + return ( + this.themeType === e.themeType && + this.renderWhitespace === e.renderWhitespace && + this.renderControlCharacters === e.renderControlCharacters && + this.spaceWidth === e.spaceWidth && + this.middotWidth === e.middotWidth && + this.wsmiddotWidth === e.wsmiddotWidth && + this.useMonospaceOptimizations === e.useMonospaceOptimizations && + this.canUseHalfwidthRightwardsArrow === + e.canUseHalfwidthRightwardsArrow && + this.lineHeight === e.lineHeight && + this.stopRenderingLineAfter === e.stopRenderingLineAfter && + this.fontLigatures === e.fontLigatures + ); + } + } + class K { + constructor(e) { + (this._options = e), + (this._isMaybeInvalid = !0), + (this._renderedViewLine = null); + } + getDomNode() { + return this._renderedViewLine && this._renderedViewLine.domNode + ? this._renderedViewLine.domNode.domNode + : null; + } + setDomNode(e) { + if (!this._renderedViewLine) + throw new Error( + 'I have no rendered view line to set the dom node to...' + ); + this._renderedViewLine.domNode = (0, g.X)(e); + } + onContentChanged() { + this._isMaybeInvalid = !0; + } + onTokensChanged() { + this._isMaybeInvalid = !0; + } + onDecorationsChanged() { + this._isMaybeInvalid = !0; + } + onOptionsChanged(e) { + (this._isMaybeInvalid = !0), (this._options = e); + } + onSelectionChanged() { + return !( + (!z && + this._options.themeType !== Y.QP && + 'selection' !== this._options.renderWhitespace) || + ((this._isMaybeInvalid = !0), 0) + ); + } + renderLine(e, t, i, n) { + if (!1 === this._isMaybeInvalid) return !1; + this._isMaybeInvalid = !1; + const r = i.getViewLineRenderingData(e), + s = this._options, + o = B.Kp.filter(r.inlineDecorations, e, r.minColumn, r.maxColumn); + let a = null; + if ( + z || + s.themeType === Y.QP || + 'selection' === this._options.renderWhitespace + ) { + const t = i.selections; + for (const i of t) { + if (i.endLineNumber < e || i.startLineNumber > e) continue; + const t = i.startLineNumber === e ? i.startColumn : r.minColumn, + n = i.endLineNumber === e ? i.endColumn : r.maxColumn; + t < n && + (s.themeType === Y.QP || + 'selection' !== this._options.renderWhitespace + ? o.push(new B.Kp(t, n, 'inline-selected-text', 0)) + : (a || (a = []), a.push(new W.zG(t - 1, n - 1)))); + } + } + const l = new W.IJ( + s.useMonospaceOptimizations, + s.canUseHalfwidthRightwardsArrow, + r.content, + r.continuesWithWrappedLine, + r.isBasicASCII, + r.containsRTL, + r.minColumn - 1, + r.tokens, + o, + r.tabSize, + r.startVisibleColumn, + s.spaceWidth, + s.middotWidth, + s.wsmiddotWidth, + s.stopRenderingLineAfter, + s.renderWhitespace, + s.renderControlCharacters, + s.fontLigatures !== H.n0.OFF, + a + ); + if ( + this._renderedViewLine && + this._renderedViewLine.input.equals(l) + ) + return !1; + n.appendASCIIString('<div style="top:'), + n.appendASCIIString(String(t)), + n.appendASCIIString('px;height:'), + n.appendASCIIString(String(this._options.lineHeight)), + n.appendASCIIString('px;" class="'), + n.appendASCIIString(K.CLASS_NAME), + n.appendASCIIString('">'); + const c = (0, W.d1)(l, n); + n.appendASCIIString('</div>'); + let d = null; + return ( + V && + j && + r.isBasicASCII && + s.useMonospaceOptimizations && + 0 === c.containsForeignElements && + r.content.length < 300 && + l.lineTokens.getCount() < 100 && + (d = new q( + this._renderedViewLine + ? this._renderedViewLine.domNode + : null, + l, + c.characterMapping + )), + d || + (d = J( + this._renderedViewLine + ? this._renderedViewLine.domNode + : null, + l, + c.characterMapping, + c.containsRTL, + c.containsForeignElements + )), + (this._renderedViewLine = d), + !0 + ); + } + layoutLine(e, t) { + this._renderedViewLine && + this._renderedViewLine.domNode && + (this._renderedViewLine.domNode.setTop(t), + this._renderedViewLine.domNode.setHeight( + this._options.lineHeight + )); + } + getWidth() { + return this._renderedViewLine + ? this._renderedViewLine.getWidth() + : 0; + } + getWidthIsFast() { + return ( + !this._renderedViewLine || this._renderedViewLine.getWidthIsFast() + ); + } + needsMonospaceFontCheck() { + return ( + !!this._renderedViewLine && this._renderedViewLine instanceof q + ); + } + monospaceAssumptionsAreValid() { + return this._renderedViewLine && this._renderedViewLine instanceof q + ? this._renderedViewLine.monospaceAssumptionsAreValid() + : V; + } + onMonospaceAssumptionsInvalidated() { + this._renderedViewLine && + this._renderedViewLine instanceof q && + (this._renderedViewLine = this._renderedViewLine.toSlowRenderedLine()); + } + getVisibleRangesForRange(e, t, i) { + if (!this._renderedViewLine) return null; + (e |= 0), + (t |= 0), + (e = Math.min( + this._renderedViewLine.input.lineContent.length + 1, + Math.max(1, e) + )), + (t = Math.min( + this._renderedViewLine.input.lineContent.length + 1, + Math.max(1, t) + )); + const n = 0 | this._renderedViewLine.input.stopRenderingLineAfter; + let r = !1; + -1 !== n && e > n + 1 && t > n + 1 && (r = !0), + -1 !== n && e > n + 1 && (e = n + 1), + -1 !== n && t > n + 1 && (t = n + 1); + const s = this._renderedViewLine.getVisibleRangesForRange(e, t, i); + return s && s.length > 0 ? new R(r, s) : null; + } + getColumnOfNodeOffset(e, t, i) { + return this._renderedViewLine + ? this._renderedViewLine.getColumnOfNodeOffset(e, t, i) + : 1; + } + } + K.CLASS_NAME = 'view-line'; + class q { + constructor(e, t, i) { + (this.domNode = e), + (this.input = t), + (this._characterMapping = i), + (this._charWidth = t.spaceWidth); + } + getWidth() { + return this._getCharPosition(this._characterMapping.length); + } + getWidthIsFast() { + return !0; + } + monospaceAssumptionsAreValid() { + if (!this.domNode) return V; + const e = this.getWidth(), + t = this.domNode.domNode.firstChild.offsetWidth; + return ( + Math.abs(e - t) >= 2 && + (console.warn( + 'monospace assumptions have been violated, therefore disabling monospace optimizations!' + ), + (V = !1)), + V + ); + } + toSlowRenderedLine() { + return J(this.domNode, this.input, this._characterMapping, !1, 0); + } + getVisibleRangesForRange(e, t, i) { + const n = this._getCharPosition(e), + r = this._getCharPosition(t); + return [new O(n, r - n)]; + } + _getCharPosition(e) { + const t = this._characterMapping.getAbsoluteOffsets(); + return 0 === t.length ? 0 : Math.round(this._charWidth * t[e - 1]); + } + getColumnOfNodeOffset(e, t, i) { + const n = t.textContent.length; + let r = -1; + for (; t; ) (t = t.previousSibling), r++; + return this._characterMapping.partDataToCharOffset(r, n, i) + 1; + } + } + class G { + constructor(e, t, i, n, r) { + if ( + ((this.domNode = e), + (this.input = t), + (this._characterMapping = i), + (this._isWhitespaceOnly = /^\s*$/.test(t.lineContent)), + (this._containsForeignElements = r), + (this._cachedWidth = -1), + (this._pixelOffsetCache = null), + !n || 0 === this._characterMapping.length) + ) { + this._pixelOffsetCache = new Int32Array( + Math.max(2, this._characterMapping.length + 1) + ); + for (let e = 0, t = this._characterMapping.length; e <= t; e++) + this._pixelOffsetCache[e] = -1; + } + } + _getReadingTarget(e) { + return e.domNode.firstChild; + } + getWidth() { + return this.domNode + ? (-1 === this._cachedWidth && + (this._cachedWidth = this._getReadingTarget( + this.domNode + ).offsetWidth), + this._cachedWidth) + : 0; + } + getWidthIsFast() { + return -1 !== this._cachedWidth; + } + getVisibleRangesForRange(e, t, i) { + if (!this.domNode) return null; + if (null !== this._pixelOffsetCache) { + const n = this._readPixelOffset(this.domNode, e, i); + if (-1 === n) return null; + const r = this._readPixelOffset(this.domNode, t, i); + return -1 === r ? null : [new O(n, r - n)]; + } + return this._readVisibleRangesForRange(this.domNode, e, t, i); + } + _readVisibleRangesForRange(e, t, i, n) { + if (t === i) { + const i = this._readPixelOffset(e, t, n); + return -1 === i ? null : [new O(i, 0)]; + } + return this._readRawVisibleRangesForRange(e, t, i, n); + } + _readPixelOffset(e, t, i) { + if (0 === this._characterMapping.length) { + if (0 === this._containsForeignElements) return 0; + if (2 === this._containsForeignElements) return 0; + if (1 === this._containsForeignElements) return this.getWidth(); + const t = this._getReadingTarget(e); + return t.firstChild ? t.firstChild.offsetWidth : 0; + } + if (null !== this._pixelOffsetCache) { + const n = this._pixelOffsetCache[t]; + if (-1 !== n) return n; + const r = this._actualReadPixelOffset(e, t, i); + return (this._pixelOffsetCache[t] = r), r; + } + return this._actualReadPixelOffset(e, t, i); + } + _actualReadPixelOffset(e, t, i) { + if (0 === this._characterMapping.length) { + const t = F.readHorizontalRanges( + this._getReadingTarget(e), + 0, + 0, + 0, + 0, + i.clientRectDeltaLeft, + i.endNode + ); + return t && 0 !== t.length ? t[0].left : -1; + } + if ( + t === this._characterMapping.length && + this._isWhitespaceOnly && + 0 === this._containsForeignElements + ) + return this.getWidth(); + const n = this._characterMapping.charOffsetToPartData(t - 1), + r = W.fH.getPartIndex(n), + s = W.fH.getCharIndex(n), + o = F.readHorizontalRanges( + this._getReadingTarget(e), + r, + s, + r, + s, + i.clientRectDeltaLeft, + i.endNode + ); + if (!o || 0 === o.length) return -1; + const a = o[0].left; + if (this.input.isBasicASCII) { + const e = this._characterMapping.getAbsoluteOffsets(), + i = Math.round(this.input.spaceWidth * e[t - 1]); + if (Math.abs(i - a) <= 1) return i; + } + return a; + } + _readRawVisibleRangesForRange(e, t, i, n) { + if (1 === t && i === this._characterMapping.length) + return [new O(0, this.getWidth())]; + const r = this._characterMapping.charOffsetToPartData(t - 1), + s = W.fH.getPartIndex(r), + o = W.fH.getCharIndex(r), + a = this._characterMapping.charOffsetToPartData(i - 1), + l = W.fH.getPartIndex(a), + c = W.fH.getCharIndex(a); + return F.readHorizontalRanges( + this._getReadingTarget(e), + s, + o, + l, + c, + n.clientRectDeltaLeft, + n.endNode + ); + } + getColumnOfNodeOffset(e, t, i) { + const n = t.textContent.length; + let r = -1; + for (; t; ) (t = t.previousSibling), r++; + return this._characterMapping.partDataToCharOffset(r, n, i) + 1; + } + } + class Z extends G { + _readVisibleRangesForRange(e, t, i, n) { + const r = super._readVisibleRangesForRange(e, t, i, n); + if ( + !r || + 0 === r.length || + t === i || + (1 === t && i === this._characterMapping.length) + ) + return r; + if (!this.input.containsRTL) { + const t = this._readPixelOffset(e, i, n); + if (-1 !== t) { + const e = r[r.length - 1]; + e.left < t && (e.width = t - e.left); + } + } + return r; + } + } + const J = b.Pf + ? function (e, t, i, n, r) { + return new Z(e, t, i, n, r); + } + : function (e, t, i, n, r) { + return new G(e, t, i, n, r); + }; + var Q = i(50187), + X = i(24314), + ee = i(33181); + class te { + constructor(e, t) { + (this.lastViewCursorsRenderData = e), + (this.lastTextareaPosition = t); + } + } + class ie { + constructor(e, t, i = 0, n = null, r = null, s = null) { + (this.element = e), + (this.type = t), + (this.mouseColumn = i), + (this.position = n), + !r && + n && + (r = new X.e(n.lineNumber, n.column, n.lineNumber, n.column)), + (this.range = r), + (this.detail = s); + } + static _typeToString(e) { + return 1 === e + ? 'TEXTAREA' + : 2 === e + ? 'GUTTER_GLYPH_MARGIN' + : 3 === e + ? 'GUTTER_LINE_NUMBERS' + : 4 === e + ? 'GUTTER_LINE_DECORATIONS' + : 5 === e + ? 'GUTTER_VIEW_ZONE' + : 6 === e + ? 'CONTENT_TEXT' + : 7 === e + ? 'CONTENT_EMPTY' + : 8 === e + ? 'CONTENT_VIEW_ZONE' + : 9 === e + ? 'CONTENT_WIDGET' + : 10 === e + ? 'OVERVIEW_RULER' + : 11 === e + ? 'SCROLLBAR' + : 12 === e + ? 'OVERLAY_WIDGET' + : 'UNKNOWN'; + } + static toString(e) { + return ( + this._typeToString(e.type) + + ': ' + + e.position + + ' - ' + + e.range + + ' - ' + + e.detail + ); + } + toString() { + return ie.toString(this); + } + } + class ne { + static isTextArea(e) { + return 2 === e.length && 3 === e[0] && 6 === e[1]; + } + static isChildOfViewLines(e) { + return e.length >= 4 && 3 === e[0] && 7 === e[3]; + } + static isStrictChildOfViewLines(e) { + return e.length > 4 && 3 === e[0] && 7 === e[3]; + } + static isChildOfScrollableElement(e) { + return e.length >= 2 && 3 === e[0] && 5 === e[1]; + } + static isChildOfMinimap(e) { + return e.length >= 2 && 3 === e[0] && 8 === e[1]; + } + static isChildOfContentWidgets(e) { + return e.length >= 4 && 3 === e[0] && 1 === e[3]; + } + static isChildOfOverflowingContentWidgets(e) { + return e.length >= 1 && 2 === e[0]; + } + static isChildOfOverlayWidgets(e) { + return e.length >= 2 && 3 === e[0] && 4 === e[1]; + } + } + class re { + constructor(e, t, i) { + this.model = e.model; + const n = e.configuration.options; + (this.layoutInfo = n.get(117)), + (this.viewDomNode = t.viewDomNode), + (this.lineHeight = n.get(51)), + (this.typicalHalfwidthCharacterWidth = n.get( + 36 + ).typicalHalfwidthCharacterWidth), + (this.lastRenderData = i), + (this._context = e), + (this._viewHelper = t); + } + getZoneAtCoord(e) { + return re.getZoneAtCoord(this._context, e); + } + static getZoneAtCoord(e, t) { + const i = e.viewLayout.getWhitespaceAtVerticalOffset(t); + if (i) { + let n, + r = i.verticalOffset + i.height / 2, + s = e.model.getLineCount(), + o = null, + a = null; + return ( + i.afterLineNumber !== s && + (a = new Q.L(i.afterLineNumber + 1, 1)), + i.afterLineNumber > 0 && + (o = new Q.L( + i.afterLineNumber, + e.model.getLineMaxColumn(i.afterLineNumber) + )), + (n = null === a ? o : null === o ? a : t < r ? o : a), + { + viewZoneId: i.id, + afterLineNumber: i.afterLineNumber, + positionBefore: o, + positionAfter: a, + position: n, + } + ); + } + return null; + } + getFullLineRangeAtCoord(e) { + if (this._context.viewLayout.isAfterLines(e)) { + const e = this._context.model.getLineCount(), + t = this._context.model.getLineMaxColumn(e); + return { range: new X.e(e, t, e, t), isAfterLines: !0 }; + } + const t = this._context.viewLayout.getLineNumberAtVerticalOffset(e), + i = this._context.model.getLineMaxColumn(t); + return { range: new X.e(t, 1, t, i), isAfterLines: !1 }; + } + getLineNumberAtVerticalOffset(e) { + return this._context.viewLayout.getLineNumberAtVerticalOffset(e); + } + isAfterLines(e) { + return this._context.viewLayout.isAfterLines(e); + } + getVerticalOffsetForLineNumber(e) { + return this._context.viewLayout.getVerticalOffsetForLineNumber(e); + } + findAttribute(e, t) { + return re._findAttribute(e, t, this._viewHelper.viewDomNode); + } + static _findAttribute(e, t, i) { + for (; e && e !== document.body; ) { + if (e.hasAttribute && e.hasAttribute(t)) return e.getAttribute(t); + if (e === i) return null; + e = e.parentNode; + } + return null; + } + getLineWidth(e) { + return this._viewHelper.getLineWidth(e); + } + visibleRangeForPosition(e, t) { + return this._viewHelper.visibleRangeForPosition(e, t); + } + getPositionFromDOMInfo(e, t) { + return this._viewHelper.getPositionFromDOMInfo(e, t); + } + getCurrentScrollTop() { + return this._context.viewLayout.getCurrentScrollTop(); + } + getCurrentScrollLeft() { + return this._context.viewLayout.getCurrentScrollLeft(); + } + } + class se extends class { + constructor(e, t, i) { + (this.editorPos = t), + (this.pos = i), + (this.mouseVerticalOffset = Math.max( + 0, + e.getCurrentScrollTop() + i.y - t.y + )), + (this.mouseContentHorizontalOffset = + e.getCurrentScrollLeft() + + i.x - + t.x - + e.layoutInfo.contentLeft), + (this.isInMarginArea = + i.x - t.x < e.layoutInfo.contentLeft && + i.x - t.x >= e.layoutInfo.glyphMarginLeft), + (this.isInContentArea = !this.isInMarginArea), + (this.mouseColumn = Math.max( + 0, + le._getMouseColumn( + this.mouseContentHorizontalOffset, + e.typicalHalfwidthCharacterWidth + ) + )); + } + } { + constructor(e, t, i, n) { + super(e, t, i), + (this._ctx = e), + n + ? ((this.target = n), + (this.targetPath = E.collect(n, e.viewDomNode))) + : ((this.target = null), (this.targetPath = new Uint8Array(0))); + } + toString() { + return `pos(${this.pos.x},${this.pos.y}), editorPos(${ + this.editorPos.x + },${this.editorPos.y}), mouseVerticalOffset: ${ + this.mouseVerticalOffset + }, mouseContentHorizontalOffset: ${ + this.mouseContentHorizontalOffset + }\n\ttarget: ${this.target ? this.target.outerHTML : null}`; + } + fulfill(e, t = null, i = null, n = null) { + let r = this.mouseColumn; + return ( + t && + t.column < this._ctx.model.getLineMaxColumn(t.lineNumber) && + (r = + ee.io.visibleColumnFromColumn( + this._ctx.model.getLineContent(t.lineNumber), + t.column, + this._ctx.model.getTextModelOptions().tabSize + ) + 1), + new ie(this.target, e, r, t, i, n) + ); + } + withTarget(e) { + return new se(this._ctx, this.editorPos, this.pos, e); + } + } + const oe = { isAfterLines: !0 }; + function ae(e) { + return { isAfterLines: !1, horizontalDistanceToText: e }; + } + class le { + constructor(e, t) { + (this._context = e), (this._viewHelper = t); + } + mouseTargetIsWidget(e) { + const t = e.target, + i = E.collect(t, this._viewHelper.viewDomNode); + return !( + !ne.isChildOfContentWidgets(i) && + !ne.isChildOfOverflowingContentWidgets(i) && + !ne.isChildOfOverlayWidgets(i) + ); + } + createMouseTarget(e, t, i, n) { + const r = new re(this._context, this._viewHelper, e), + s = new se(r, t, i, n); + try { + return le._createMouseTarget(r, s, !1); + } catch (e) { + return s.fulfill(0); + } + } + static _createMouseTarget(e, t, i) { + if (null === t.target) { + if (i) return t.fulfill(0); + const n = le._doHitTest(e, t); + return n.position + ? le.createMouseTargetFromHitTestPosition( + e, + t, + n.position.lineNumber, + n.position.column + ) + : this._createMouseTarget(e, t.withTarget(n.hitTarget), !0); + } + const n = t; + let r = null; + return ( + (r = r || le._hitTestContentWidget(e, n)), + (r = r || le._hitTestOverlayWidget(e, n)), + (r = r || le._hitTestMinimap(e, n)), + (r = r || le._hitTestScrollbarSlider(e, n)), + (r = r || le._hitTestViewZone(e, n)), + (r = r || le._hitTestMargin(e, n)), + (r = r || le._hitTestViewCursor(e, n)), + (r = r || le._hitTestTextArea(e, n)), + (r = r || le._hitTestViewLines(e, n, i)), + (r = r || le._hitTestScrollbar(e, n)), + r || t.fulfill(0) + ); + } + static _hitTestContentWidget(e, t) { + if ( + ne.isChildOfContentWidgets(t.targetPath) || + ne.isChildOfOverflowingContentWidgets(t.targetPath) + ) { + const i = e.findAttribute(t.target, 'widgetId'); + return i ? t.fulfill(9, null, null, i) : t.fulfill(0); + } + return null; + } + static _hitTestOverlayWidget(e, t) { + if (ne.isChildOfOverlayWidgets(t.targetPath)) { + const i = e.findAttribute(t.target, 'widgetId'); + return i ? t.fulfill(12, null, null, i) : t.fulfill(0); + } + return null; + } + static _hitTestViewCursor(e, t) { + if (t.target) { + const i = e.lastRenderData.lastViewCursorsRenderData; + for (const e of i) + if (t.target === e.domNode) return t.fulfill(6, e.position); + } + if (t.isInContentArea) { + const i = e.lastRenderData.lastViewCursorsRenderData, + n = t.mouseContentHorizontalOffset, + r = t.mouseVerticalOffset; + for (const s of i) { + if (n < s.contentLeft) continue; + if (n > s.contentLeft + s.width) continue; + const i = e.getVerticalOffsetForLineNumber( + s.position.lineNumber + ); + if (i <= r && r <= i + s.height) + return t.fulfill(6, s.position); + } + } + return null; + } + static _hitTestViewZone(e, t) { + const i = e.getZoneAtCoord(t.mouseVerticalOffset); + if (i) { + const e = t.isInContentArea ? 8 : 5; + return t.fulfill(e, i.position, null, i); + } + return null; + } + static _hitTestTextArea(e, t) { + return ne.isTextArea(t.targetPath) + ? e.lastRenderData.lastTextareaPosition + ? t.fulfill(6, e.lastRenderData.lastTextareaPosition) + : t.fulfill(1, e.lastRenderData.lastTextareaPosition) + : null; + } + static _hitTestMargin(e, t) { + if (t.isInMarginArea) { + const i = e.getFullLineRangeAtCoord(t.mouseVerticalOffset), + n = i.range.getStartPosition(); + let r = Math.abs(t.pos.x - t.editorPos.x); + const s = { + isAfterLines: i.isAfterLines, + glyphMarginLeft: e.layoutInfo.glyphMarginLeft, + glyphMarginWidth: e.layoutInfo.glyphMarginWidth, + lineNumbersWidth: e.layoutInfo.lineNumbersWidth, + offsetX: r, + }; + return ( + (r -= e.layoutInfo.glyphMarginLeft), + r <= e.layoutInfo.glyphMarginWidth + ? t.fulfill(2, n, i.range, s) + : ((r -= e.layoutInfo.glyphMarginWidth), + r <= e.layoutInfo.lineNumbersWidth + ? t.fulfill(3, n, i.range, s) + : ((r -= e.layoutInfo.lineNumbersWidth), + t.fulfill(4, n, i.range, s))) + ); + } + return null; + } + static _hitTestViewLines(e, t, i) { + if (!ne.isChildOfViewLines(t.targetPath)) return null; + if (e.isAfterLines(t.mouseVerticalOffset)) { + const i = e.model.getLineCount(), + n = e.model.getLineMaxColumn(i); + return t.fulfill(7, new Q.L(i, n), void 0, oe); + } + if (i) { + if (ne.isStrictChildOfViewLines(t.targetPath)) { + const i = e.getLineNumberAtVerticalOffset( + t.mouseVerticalOffset + ); + if (0 === e.model.getLineLength(i)) { + const n = e.getLineWidth(i), + r = ae(t.mouseContentHorizontalOffset - n); + return t.fulfill(7, new Q.L(i, 1), void 0, r); + } + const n = e.getLineWidth(i); + if (t.mouseContentHorizontalOffset >= n) { + const r = ae(t.mouseContentHorizontalOffset - n), + s = new Q.L(i, e.model.getLineMaxColumn(i)); + return t.fulfill(7, s, void 0, r); + } + } + return t.fulfill(0); + } + const n = le._doHitTest(e, t); + return n.position + ? le.createMouseTargetFromHitTestPosition( + e, + t, + n.position.lineNumber, + n.position.column + ) + : this._createMouseTarget(e, t.withTarget(n.hitTarget), !0); + } + static _hitTestMinimap(e, t) { + if (ne.isChildOfMinimap(t.targetPath)) { + const i = e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset), + n = e.model.getLineMaxColumn(i); + return t.fulfill(11, new Q.L(i, n)); + } + return null; + } + static _hitTestScrollbarSlider(e, t) { + if ( + ne.isChildOfScrollableElement(t.targetPath) && + t.target && + 1 === t.target.nodeType + ) { + const i = t.target.className; + if (i && /\b(slider|scrollbar)\b/.test(i)) { + const i = e.getLineNumberAtVerticalOffset( + t.mouseVerticalOffset + ), + n = e.model.getLineMaxColumn(i); + return t.fulfill(11, new Q.L(i, n)); + } + } + return null; + } + static _hitTestScrollbar(e, t) { + if (ne.isChildOfScrollableElement(t.targetPath)) { + const i = e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset), + n = e.model.getLineMaxColumn(i); + return t.fulfill(11, new Q.L(i, n)); + } + return null; + } + getMouseColumn(e, t) { + const i = this._context.configuration.options, + n = i.get(117), + r = + this._context.viewLayout.getCurrentScrollLeft() + + t.x - + e.x - + n.contentLeft; + return le._getMouseColumn( + r, + i.get(36).typicalHalfwidthCharacterWidth + ); + } + static _getMouseColumn(e, t) { + return e < 0 ? 1 : Math.round(e / t) + 1; + } + static createMouseTargetFromHitTestPosition(e, t, i, n) { + const r = new Q.L(i, n), + s = e.getLineWidth(i); + if (t.mouseContentHorizontalOffset > s) { + if (b.un && 1 === r.column) { + const n = ae(t.mouseContentHorizontalOffset - s); + return t.fulfill( + 7, + new Q.L(i, e.model.getLineMaxColumn(i)), + void 0, + n + ); + } + const n = ae(t.mouseContentHorizontalOffset - s); + return t.fulfill(7, r, void 0, n); + } + const o = e.visibleRangeForPosition(i, n); + if (!o) return t.fulfill(0, r); + const a = o.left; + if (t.mouseContentHorizontalOffset === a) return t.fulfill(6, r); + const l = []; + if ((l.push({ offset: o.left, column: n }), n > 1)) { + const t = e.visibleRangeForPosition(i, n - 1); + t && l.push({ offset: t.left, column: n - 1 }); + } + if (n < e.model.getLineMaxColumn(i)) { + const t = e.visibleRangeForPosition(i, n + 1); + t && l.push({ offset: t.left, column: n + 1 }); + } + l.sort((e, t) => e.offset - t.offset); + for (let e = 1; e < l.length; e++) { + const n = l[e - 1], + s = l[e]; + if ( + n.offset <= t.mouseContentHorizontalOffset && + t.mouseContentHorizontalOffset <= s.offset + ) { + const e = new X.e(i, n.column, i, s.column); + return t.fulfill(6, r, e); + } + } + return t.fulfill(6, r); + } + static _doHitTestWithCaretRangeFromPoint(e, t) { + const i = e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset), + n = + e.getVerticalOffsetForLineNumber(i) + + Math.floor(e.lineHeight / 2); + let r = t.pos.y + (n - t.mouseVerticalOffset); + r <= t.editorPos.y && (r = t.editorPos.y + 1), + r >= t.editorPos.y + e.layoutInfo.height && + (r = t.editorPos.y + e.layoutInfo.height - 1); + const s = new y(t.pos.x, r), + o = this._actualDoHitTestWithCaretRangeFromPoint( + e, + s.toClientCoordinates() + ); + return o.position + ? o + : this._actualDoHitTestWithCaretRangeFromPoint( + e, + t.pos.toClientCoordinates() + ); + } + static _actualDoHitTestWithCaretRangeFromPoint(e, t) { + const i = r.Ay(e.viewDomNode); + let n; + if ( + ((n = i + ? void 0 === i.caretRangeFromPoint + ? (function (e, t, i) { + const n = document.createRange(); + let r = e.elementFromPoint(t, i); + if (null !== r) { + for ( + ; + r && + r.firstChild && + r.firstChild.nodeType !== r.firstChild.TEXT_NODE; + + ) + r = r.lastChild; + const e = r.getBoundingClientRect(), + i = window + .getComputedStyle(r, null) + .getPropertyValue('font'), + s = r.innerText; + let o, + a = e.left, + l = 0; + if (t > e.left + e.width) l = s.length; + else { + const e = ce.getInstance(); + for (let n = 0; n < s.length + 1; n++) { + if ( + ((o = e.getCharWidth(s.charAt(n), i) / 2), + (a += o), + t < a) + ) { + l = n; + break; + } + a += o; + } + } + n.setStart(r.firstChild, l), n.setEnd(r.firstChild, l); + } + return n; + })(i, t.clientX, t.clientY) + : i.caretRangeFromPoint(t.clientX, t.clientY) + : document.caretRangeFromPoint(t.clientX, t.clientY)), + !n || !n.startContainer) + ) + return { position: null, hitTarget: null }; + const s = n.startContainer; + let o = null; + if (s.nodeType === s.TEXT_NODE) { + const t = s.parentNode, + i = t ? t.parentNode : null, + r = i ? i.parentNode : null; + if ( + (r && r.nodeType === r.ELEMENT_NODE ? r.className : null) === + K.CLASS_NAME + ) + return { + position: e.getPositionFromDOMInfo(t, n.startOffset), + hitTarget: null, + }; + o = s.parentNode; + } else if (s.nodeType === s.ELEMENT_NODE) { + const t = s.parentNode, + i = t ? t.parentNode : null; + if ( + (i && i.nodeType === i.ELEMENT_NODE ? i.className : null) === + K.CLASS_NAME + ) + return { + position: e.getPositionFromDOMInfo(s, s.textContent.length), + hitTarget: null, + }; + o = s; + } + return { position: null, hitTarget: o }; + } + static _doHitTestWithCaretPositionFromPoint(e, t) { + const i = document.caretPositionFromPoint(t.clientX, t.clientY); + if (i.offsetNode.nodeType === i.offsetNode.TEXT_NODE) { + const t = i.offsetNode.parentNode, + n = t ? t.parentNode : null, + r = n ? n.parentNode : null; + return (r && r.nodeType === r.ELEMENT_NODE + ? r.className + : null) === K.CLASS_NAME + ? { + position: e.getPositionFromDOMInfo( + i.offsetNode.parentNode, + i.offset + ), + hitTarget: null, + } + : { position: null, hitTarget: i.offsetNode.parentNode }; + } + if (i.offsetNode.nodeType === i.offsetNode.ELEMENT_NODE) { + const t = i.offsetNode.parentNode; + if ( + (t && t.nodeType === t.ELEMENT_NODE ? t.className : null) === + K.CLASS_NAME + ) { + const t = + i.offsetNode.childNodes[ + Math.min(i.offset, i.offsetNode.childNodes.length - 1) + ]; + if (t) + return { + position: e.getPositionFromDOMInfo(t, 0), + hitTarget: null, + }; + } + } + return { position: null, hitTarget: i.offsetNode }; + } + static _doHitTestWithMoveToPoint(e, t) { + let i = null, + n = null; + const r = document.body.createTextRange(); + try { + r.moveToPoint(t.clientX, t.clientY); + } catch (e) { + return { position: null, hitTarget: null }; + } + r.collapse(!0); + const s = r ? r.parentElement() : null, + o = s ? s.parentNode : null, + a = o ? o.parentNode : null; + if ( + (a && a.nodeType === a.ELEMENT_NODE ? a.className : '') === + K.CLASS_NAME + ) { + const t = r.duplicate(); + t.moveToElementText(s), + t.setEndPoint('EndToStart', r), + (i = e.getPositionFromDOMInfo(s, t.text.length)), + t.moveToElementText(e.viewDomNode); + } else n = s; + return ( + r.moveToElementText(e.viewDomNode), { position: i, hitTarget: n } + ); + } + static _doHitTest(e, t) { + return 'function' == typeof document.caretRangeFromPoint + ? this._doHitTestWithCaretRangeFromPoint(e, t) + : document.caretPositionFromPoint + ? this._doHitTestWithCaretPositionFromPoint( + e, + t.pos.toClientCoordinates() + ) + : document.body.createTextRange + ? this._doHitTestWithMoveToPoint(e, t.pos.toClientCoordinates()) + : { position: null, hitTarget: null }; + } + } + class ce { + constructor() { + (this._cache = {}), + (this._canvas = document.createElement('canvas')); + } + static getInstance() { + return ce._INSTANCE || (ce._INSTANCE = new ce()), ce._INSTANCE; + } + getCharWidth(e, t) { + const i = e + t; + if (this._cache[i]) return this._cache[i]; + const n = this._canvas.getContext('2d'); + n.font = t; + const r = n.measureText(e).width; + return (this._cache[i] = r), r; + } + } + ce._INSTANCE = null; + var de = i(82334); + function he(e) { + return function (t, i) { + let n = !1; + return ( + e && (n = e.mouseTargetIsWidget(i)), n || i.preventDefault(), i + ); + }; + } + class ue extends D { + constructor(e, t, i) { + super(), + (this._context = e), + (this.viewController = t), + (this.viewHelper = i), + (this.mouseTargetFactory = new le(this._context, i)), + (this._mouseDownOperation = this._register( + new ge( + this._context, + this.viewController, + this.viewHelper, + (e, t) => this._createMouseTarget(e, t), + (e) => this._getMouseColumn(e) + ) + )), + (this.lastMouseLeaveTime = -1); + const n = new x(this.viewHelper.viewDomNode); + this._register( + n.onContextMenu(this.viewHelper.viewDomNode, (e) => + this._onContextMenu(e, !0) + ) + ), + this._register( + n.onMouseMoveThrottled( + this.viewHelper.viewDomNode, + (e) => this._onMouseMove(e), + he(this.mouseTargetFactory), + ue.MOUSE_MOVE_MINIMUM_TIME + ) + ), + this._register( + n.onMouseUp(this.viewHelper.viewDomNode, (e) => + this._onMouseUp(e) + ) + ), + this._register( + n.onMouseLeave(this.viewHelper.viewDomNode, (e) => + this._onMouseLeave(e) + ) + ), + this._register( + n.onMouseDown(this.viewHelper.viewDomNode, (e) => + this._onMouseDown(e) + ) + ), + this._register( + r.nm( + this.viewHelper.viewDomNode, + r.tw.MOUSE_WHEEL, + (e) => { + if ( + (this.viewController.emitMouseWheel(e), + !this._context.configuration.options.get(59)) + ) + return; + const t = new m.q(e); + if (t.browserEvent.ctrlKey || t.browserEvent.metaKey) { + const e = de.C.getZoomLevel(), + i = t.deltaY > 0 ? 1 : -1; + de.C.setZoomLevel(e + i), + t.preventDefault(), + t.stopPropagation(); + } + }, + { capture: !0, passive: !1 } + ) + ), + this._context.addEventHandler(this); + } + dispose() { + this._context.removeEventHandler(this), super.dispose(); + } + onCursorStateChanged(e) { + return this._mouseDownOperation.onCursorStateChanged(e), !1; + } + onFocusChanged(e) { + return !1; + } + onScrollChanged(e) { + return this._mouseDownOperation.onScrollChanged(), !1; + } + getTargetAtClientPoint(e, t) { + const i = new w(e, t).toPageCoordinates(), + n = S(this.viewHelper.viewDomNode); + return i.y < n.y || + i.y > n.y + n.height || + i.x < n.x || + i.x > n.x + n.width + ? null + : this.mouseTargetFactory.createMouseTarget( + this.viewHelper.getLastRenderData(), + n, + i, + null + ); + } + _createMouseTarget(e, t) { + return this.mouseTargetFactory.createMouseTarget( + this.viewHelper.getLastRenderData(), + e.editorPos, + e.pos, + t ? e.target : null + ); + } + _getMouseColumn(e) { + return this.mouseTargetFactory.getMouseColumn(e.editorPos, e.pos); + } + _onContextMenu(e, t) { + this.viewController.emitContextMenu({ + event: e, + target: this._createMouseTarget(e, t), + }); + } + _onMouseMove(e) { + this._mouseDownOperation.isActive() || + e.timestamp < this.lastMouseLeaveTime || + this.viewController.emitMouseMove({ + event: e, + target: this._createMouseTarget(e, !0), + }); + } + _onMouseLeave(e) { + (this.lastMouseLeaveTime = new Date().getTime()), + this.viewController.emitMouseLeave({ event: e, target: null }); + } + _onMouseUp(e) { + this.viewController.emitMouseUp({ + event: e, + target: this._createMouseTarget(e, !0), + }); + } + _onMouseDown(e) { + const t = this._createMouseTarget(e, !0), + i = 6 === t.type || 7 === t.type, + n = 2 === t.type || 3 === t.type || 4 === t.type, + r = 3 === t.type, + s = this._context.configuration.options.get(90), + o = 8 === t.type || 5 === t.type, + a = 9 === t.type; + let l = e.leftButton || e.middleButton; + f.dz && e.leftButton && e.ctrlKey && (l = !1); + const c = () => { + e.preventDefault(), this.viewHelper.focusTextArea(); + }; + if (l && (i || (r && s))) + c(), this._mouseDownOperation.start(t.type, e); + else if (n) e.preventDefault(); + else if (o) { + const i = t.detail; + this.viewHelper.shouldSuppressMouseDownOnViewZone(i.viewZoneId) && + (c(), + this._mouseDownOperation.start(t.type, e), + e.preventDefault()); + } else + a && + this.viewHelper.shouldSuppressMouseDownOnWidget(t.detail) && + (c(), e.preventDefault()); + this.viewController.emitMouseDown({ event: e, target: t }); + } + } + ue.MOUSE_MOVE_MINIMUM_TIME = 100; + class ge extends a.JT { + constructor(e, t, i, n, r) { + super(), + (this._context = e), + (this._viewController = t), + (this._viewHelper = i), + (this._createMouseTarget = n), + (this._getMouseColumn = r), + (this._mouseMoveMonitor = this._register( + new M(this._viewHelper.viewDomNode) + )), + (this._onScrollTimeout = this._register(new _._F())), + (this._mouseState = new fe()), + (this._currentSelection = new u.Y(1, 1, 1, 1)), + (this._isActive = !1), + (this._lastMouseEvent = null); + } + dispose() { + super.dispose(); + } + isActive() { + return this._isActive; + } + _onMouseDownThenMove(e) { + (this._lastMouseEvent = e), this._mouseState.setModifiers(e); + const t = this._findMousePosition(e, !0); + t && + (this._mouseState.isDragAndDrop + ? this._viewController.emitMouseDrag({ event: e, target: t }) + : this._dispatchMouse(t, !0)); + } + start(e, t) { + (this._lastMouseEvent = t), + this._mouseState.setStartedOnLineNumbers(3 === e), + this._mouseState.setStartButtons(t), + this._mouseState.setModifiers(t); + const i = this._findMousePosition(t, !0); + if (!i || !i.position) return; + this._mouseState.trySetCount(t.detail, i.position), + (t.detail = this._mouseState.count); + const n = this._context.configuration.options; + if ( + !n.get(72) && + n.get(25) && + !n.get(13) && + !this._mouseState.altKey && + t.detail < 2 && + !this._isActive && + !this._currentSelection.isEmpty() && + 6 === i.type && + i.position && + this._currentSelection.containsPosition(i.position) + ) + return ( + (this._mouseState.isDragAndDrop = !0), + (this._isActive = !0), + void this._mouseMoveMonitor.startMonitoring( + t.target, + t.buttons, + he(null), + (e) => this._onMouseDownThenMove(e), + () => { + const e = this._findMousePosition(this._lastMouseEvent, !0); + this._viewController.emitMouseDrop({ + event: this._lastMouseEvent, + target: e + ? this._createMouseTarget(this._lastMouseEvent, !0) + : null, + }), + this._stop(); + } + ) + ); + (this._mouseState.isDragAndDrop = !1), + this._dispatchMouse(i, t.shiftKey), + this._isActive || + ((this._isActive = !0), + this._mouseMoveMonitor.startMonitoring( + t.target, + t.buttons, + he(null), + (e) => this._onMouseDownThenMove(e), + () => this._stop() + )); + } + _stop() { + (this._isActive = !1), this._onScrollTimeout.cancel(); + } + onScrollChanged() { + this._isActive && + this._onScrollTimeout.setIfNotSet(() => { + if (!this._lastMouseEvent) return; + const e = this._findMousePosition(this._lastMouseEvent, !1); + e && + (this._mouseState.isDragAndDrop || + this._dispatchMouse(e, !0)); + }, 10); + } + onCursorStateChanged(e) { + this._currentSelection = e.selections[0]; + } + _getPositionOutsideEditor(e) { + const t = e.editorPos, + i = this._context.model, + n = this._context.viewLayout, + r = this._getMouseColumn(e); + if (e.posy < t.y) { + const i = Math.max(n.getCurrentScrollTop() - (t.y - e.posy), 0), + s = re.getZoneAtCoord(this._context, i); + if (s) { + const e = this._helpPositionJumpOverViewZone(s); + if (e) return new ie(null, 13, r, e); + } + const o = n.getLineNumberAtVerticalOffset(i); + return new ie(null, 13, r, new Q.L(o, 1)); + } + if (e.posy > t.y + t.height) { + const s = n.getCurrentScrollTop() + (e.posy - t.y), + o = re.getZoneAtCoord(this._context, s); + if (o) { + const e = this._helpPositionJumpOverViewZone(o); + if (e) return new ie(null, 13, r, e); + } + const a = n.getLineNumberAtVerticalOffset(s); + return new ie(null, 13, r, new Q.L(a, i.getLineMaxColumn(a))); + } + const s = n.getLineNumberAtVerticalOffset( + n.getCurrentScrollTop() + (e.posy - t.y) + ); + return e.posx < t.x + ? new ie(null, 13, r, new Q.L(s, 1)) + : e.posx > t.x + t.width + ? new ie(null, 13, r, new Q.L(s, i.getLineMaxColumn(s))) + : null; + } + _findMousePosition(e, t) { + const i = this._getPositionOutsideEditor(e); + if (i) return i; + const n = this._createMouseTarget(e, t); + if (!n.position) return null; + if (8 === n.type || 5 === n.type) { + const e = this._helpPositionJumpOverViewZone(n.detail); + if (e) + return new ie( + n.element, + n.type, + n.mouseColumn, + e, + null, + n.detail + ); + } + return n; + } + _helpPositionJumpOverViewZone(e) { + const t = new Q.L( + this._currentSelection.selectionStartLineNumber, + this._currentSelection.selectionStartColumn + ), + i = e.positionBefore, + n = e.positionAfter; + return i && n ? (i.isBefore(t) ? i : n) : null; + } + _dispatchMouse(e, t) { + e.position && + this._viewController.dispatchMouse({ + position: e.position, + mouseColumn: e.mouseColumn, + startedOnLineNumbers: this._mouseState.startedOnLineNumbers, + inSelectionMode: t, + mouseDownCount: this._mouseState.count, + altKey: this._mouseState.altKey, + ctrlKey: this._mouseState.ctrlKey, + metaKey: this._mouseState.metaKey, + shiftKey: this._mouseState.shiftKey, + leftButton: this._mouseState.leftButton, + middleButton: this._mouseState.middleButton, + }); + } + } + class fe { + constructor() { + (this._altKey = !1), + (this._ctrlKey = !1), + (this._metaKey = !1), + (this._shiftKey = !1), + (this._leftButton = !1), + (this._middleButton = !1), + (this._startedOnLineNumbers = !1), + (this._lastMouseDownPosition = null), + (this._lastMouseDownPositionEqualCount = 0), + (this._lastMouseDownCount = 0), + (this._lastSetMouseDownCountTime = 0), + (this.isDragAndDrop = !1); + } + get altKey() { + return this._altKey; + } + get ctrlKey() { + return this._ctrlKey; + } + get metaKey() { + return this._metaKey; + } + get shiftKey() { + return this._shiftKey; + } + get leftButton() { + return this._leftButton; + } + get middleButton() { + return this._middleButton; + } + get startedOnLineNumbers() { + return this._startedOnLineNumbers; + } + get count() { + return this._lastMouseDownCount; + } + setModifiers(e) { + (this._altKey = e.altKey), + (this._ctrlKey = e.ctrlKey), + (this._metaKey = e.metaKey), + (this._shiftKey = e.shiftKey); + } + setStartButtons(e) { + (this._leftButton = e.leftButton), + (this._middleButton = e.middleButton); + } + setStartedOnLineNumbers(e) { + this._startedOnLineNumbers = e; + } + trySetCount(e, t) { + const i = new Date().getTime(); + i - this._lastSetMouseDownCountTime > + fe.CLEAR_MOUSE_DOWN_COUNT_TIME && (e = 1), + (this._lastSetMouseDownCountTime = i), + e > this._lastMouseDownCount + 1 && + (e = this._lastMouseDownCount + 1), + this._lastMouseDownPosition && + this._lastMouseDownPosition.equals(t) + ? this._lastMouseDownPositionEqualCount++ + : (this._lastMouseDownPositionEqualCount = 1), + (this._lastMouseDownPosition = t), + (this._lastMouseDownCount = Math.min( + e, + this._lastMouseDownPositionEqualCount + )); + } + } + fe.CLEAR_MOUSE_DOWN_COUNT_TIME = 400; + var pe = i(10161); + function me(e, t) { + const i = { + translationY: t.translationY, + translationX: t.translationX, + }; + return ( + e && + ((i.translationY += e.translationY), + (i.translationX += e.translationX)), + i + ); + } + class _e extends ue { + constructor(e, t, i) { + super(e, t, i), + (this.viewHelper.linesContentDomNode.style.touchAction = 'none'), + (this._installGestureHandlerTimeout = window.setTimeout(() => { + if ( + ((this._installGestureHandlerTimeout = -1), window.MSGesture) + ) { + const e = new MSGesture(), + t = new MSGesture(); + (e.target = this.viewHelper.linesContentDomNode), + (t.target = this.viewHelper.linesContentDomNode), + this.viewHelper.linesContentDomNode.addEventListener( + 'pointerdown', + (i) => { + const n = i.pointerType; + 'mouse' !== n + ? 'touch' === n + ? ((this._lastPointerType = 'touch'), + e.addPointer(i.pointerId)) + : ((this._lastPointerType = 'pen'), + t.addPointer(i.pointerId)) + : (this._lastPointerType = 'mouse'); + } + ), + this._register( + r.Y_( + this.viewHelper.linesContentDomNode, + 'MSGestureChange', + (e) => this._onGestureChange(e), + me + ) + ), + this._register( + r.nm( + this.viewHelper.linesContentDomNode, + 'MSGestureTap', + (e) => this._onCaptureGestureTap(e), + !0 + ) + ); + } + }, 100)), + (this._lastPointerType = 'mouse'); + } + _onMouseDown(e) { + 'mouse' === this._lastPointerType && super._onMouseDown(e); + } + _onCaptureGestureTap(e) { + const t = new k(e, this.viewHelper.viewDomNode), + i = this._createMouseTarget(t, !1); + i.position && this.viewController.moveTo(i.position), + t.browserEvent.fromElement + ? (t.preventDefault(), this.viewHelper.focusTextArea()) + : setTimeout(() => { + this.viewHelper.focusTextArea(); + }); + } + _onGestureChange(e) { + this._context.model.deltaScrollNow( + -e.translationX, + -e.translationY + ); + } + dispose() { + window.clearTimeout(this._installGestureHandlerTimeout), + super.dispose(); + } + } + class be extends ue { + constructor(e, t, i) { + super(e, t, i), + this._register( + p.o.addTarget(this.viewHelper.linesContentDomNode) + ), + this._register( + r.nm(this.viewHelper.linesContentDomNode, p.t.Tap, (e) => + this.onTap(e) + ) + ), + this._register( + r.nm(this.viewHelper.linesContentDomNode, p.t.Change, (e) => + this.onChange(e) + ) + ), + this._register( + r.nm( + this.viewHelper.linesContentDomNode, + p.t.Contextmenu, + (e) => + this._onContextMenu( + new k(e, this.viewHelper.viewDomNode), + !1 + ) + ) + ), + (this._lastPointerType = 'mouse'), + this._register( + r.nm( + this.viewHelper.linesContentDomNode, + 'pointerdown', + (e) => { + const t = e.pointerType; + this._lastPointerType = + 'mouse' !== t + ? 'touch' === t + ? 'touch' + : 'pen' + : 'mouse'; + } + ) + ); + const n = new L(this.viewHelper.viewDomNode); + this._register( + n.onPointerMoveThrottled( + this.viewHelper.viewDomNode, + (e) => this._onMouseMove(e), + he(this.mouseTargetFactory), + ue.MOUSE_MOVE_MINIMUM_TIME + ) + ), + this._register( + n.onPointerUp(this.viewHelper.viewDomNode, (e) => + this._onMouseUp(e) + ) + ), + this._register( + n.onPointerLeave(this.viewHelper.viewDomNode, (e) => + this._onMouseLeave(e) + ) + ), + this._register( + n.onPointerDown(this.viewHelper.viewDomNode, (e) => + this._onMouseDown(e) + ) + ); + } + onTap(e) { + if ( + !e.initialTarget || + !this.viewHelper.linesContentDomNode.contains(e.initialTarget) + ) + return; + e.preventDefault(), this.viewHelper.focusTextArea(); + const t = this._createMouseTarget( + new k(e, this.viewHelper.viewDomNode), + !1 + ); + t.position && + this.viewController.dispatchMouse({ + position: t.position, + mouseColumn: t.position.column, + startedOnLineNumbers: !1, + mouseDownCount: e.tapCount, + inSelectionMode: !1, + altKey: !1, + ctrlKey: !1, + metaKey: !1, + shiftKey: !1, + leftButton: !1, + middleButton: !1, + }); + } + onChange(e) { + 'touch' === this._lastPointerType && + this._context.model.deltaScrollNow( + -e.translationX, + -e.translationY + ); + } + _onMouseDown(e) { + (e.target && + this.viewHelper.linesContentDomNode.contains(e.target) && + 'touch' === this._lastPointerType) || + super._onMouseDown(e); + } + } + class ve extends ue { + constructor(e, t, i) { + super(e, t, i), + this._register( + p.o.addTarget(this.viewHelper.linesContentDomNode) + ), + this._register( + r.nm(this.viewHelper.linesContentDomNode, p.t.Tap, (e) => + this.onTap(e) + ) + ), + this._register( + r.nm(this.viewHelper.linesContentDomNode, p.t.Change, (e) => + this.onChange(e) + ) + ), + this._register( + r.nm( + this.viewHelper.linesContentDomNode, + p.t.Contextmenu, + (e) => + this._onContextMenu( + new k(e, this.viewHelper.viewDomNode), + !1 + ) + ) + ); + } + onTap(e) { + e.preventDefault(), this.viewHelper.focusTextArea(); + const t = this._createMouseTarget( + new k(e, this.viewHelper.viewDomNode), + !1 + ); + t.position && this.viewController.moveTo(t.position); + } + onChange(e) { + this._context.model.deltaScrollNow( + -e.translationX, + -e.translationY + ); + } + } + class ye extends a.JT { + constructor(e, t, i) { + super(), + f.gn && pe.D.pointerEvents + ? (this.handler = this._register(new be(e, t, i))) + : window.TouchEvent + ? (this.handler = this._register(new ve(e, t, i))) + : window.navigator.pointerEnabled || window.PointerEvent + ? (this.handler = this._register(new _e(e, t, i))) + : (this.handler = this._register(new ue(e, t, i))); + } + getTargetAtClientPoint(e, t) { + return this.handler.getTargetAtClientPoint(e, t); + } + } + var we = i(97295), + Ce = i(35715), + Se = i(15887); + class ke extends D {} + var xe = i(27869); + class Le extends ke { + constructor(e) { + super(), + (this._context = e), + this._readConfig(), + (this._lastCursorModelPosition = new Q.L(1, 1)), + (this._renderResult = null), + this._context.addEventHandler(this); + } + _readConfig() { + const e = this._context.configuration.options; + this._lineHeight = e.get(51); + const t = e.get(52); + (this._renderLineNumbers = t.renderType), + (this._renderCustomLineNumbers = t.renderFn), + (this._renderFinalNewline = e.get(76)); + const i = e.get(117); + (this._lineNumbersLeft = i.lineNumbersLeft), + (this._lineNumbersWidth = i.lineNumbersWidth); + } + dispose() { + this._context.removeEventHandler(this), + (this._renderResult = null), + super.dispose(); + } + onConfigurationChanged(e) { + return this._readConfig(), !0; + } + onCursorStateChanged(e) { + const t = e.selections[0].getPosition(); + return ( + (this._lastCursorModelPosition = this._context.model.coordinatesConverter.convertViewPositionToModelPosition( + t + )), + 2 === this._renderLineNumbers || 3 === this._renderLineNumbers + ); + } + onFlushed(e) { + return !0; + } + onLinesChanged(e) { + return !0; + } + onLinesDeleted(e) { + return !0; + } + onLinesInserted(e) { + return !0; + } + onScrollChanged(e) { + return e.scrollTopChanged; + } + onZonesChanged(e) { + return !0; + } + _getLineRenderLineNumber(e) { + const t = this._context.model.coordinatesConverter.convertViewPositionToModelPosition( + new Q.L(e, 1) + ); + if (1 !== t.column) return ''; + const i = t.lineNumber; + if (this._renderCustomLineNumbers) + return this._renderCustomLineNumbers(i); + if (2 === this._renderLineNumbers) { + const e = Math.abs(this._lastCursorModelPosition.lineNumber - i); + return 0 === e + ? '<span class="relative-current-line-number">' + i + '</span>' + : String(e); + } + return 3 === this._renderLineNumbers + ? this._lastCursorModelPosition.lineNumber === i || i % 10 == 0 + ? String(i) + : '' + : String(i); + } + prepareRender(e) { + if (0 === this._renderLineNumbers) + return void (this._renderResult = null); + const t = f.IJ + ? this._lineHeight % 2 == 0 + ? ' lh-even' + : ' lh-odd' + : '', + i = e.visibleRange.startLineNumber, + n = e.visibleRange.endLineNumber, + r = + '<div class="' + + Le.CLASS_NAME + + t + + '" style="left:' + + this._lineNumbersLeft.toString() + + 'px;width:' + + this._lineNumbersWidth.toString() + + 'px;">', + s = this._context.model.getLineCount(), + o = []; + for (let e = i; e <= n; e++) { + const t = e - i; + if ( + !this._renderFinalNewline && + e === s && + 0 === this._context.model.getLineLength(e) + ) { + o[t] = ''; + continue; + } + const n = this._getLineRenderLineNumber(e); + o[t] = n ? r + n + '</div>' : ''; + } + this._renderResult = o; + } + render(e, t) { + if (!this._renderResult) return ''; + const i = t - e; + return i < 0 || i >= this._renderResult.length + ? '' + : this._renderResult[i]; + } + } + (Le.CLASS_NAME = 'line-numbers'), + (0, Y.Ic)((e, t) => { + const i = e.getColor(xe.hw); + i && t.addRule(`.monaco-editor .line-numbers { color: ${i}; }`); + const n = e.getColor(xe.DD); + n && + t.addRule( + `.monaco-editor .current-line ~ .line-numbers { color: ${n}; }` + ); + }); + class Me extends N { + constructor(e) { + super(e); + const t = this._context.configuration.options, + i = t.get(117); + (this._canUseLayerHinting = !t.get(23)), + (this._contentLeft = i.contentLeft), + (this._glyphMarginLeft = i.glyphMarginLeft), + (this._glyphMarginWidth = i.glyphMarginWidth), + (this._domNode = (0, g.X)(document.createElement('div'))), + this._domNode.setClassName(Me.OUTER_CLASS_NAME), + this._domNode.setPosition('absolute'), + this._domNode.setAttribute('role', 'presentation'), + this._domNode.setAttribute('aria-hidden', 'true'), + (this._glyphMarginBackgroundDomNode = (0, g.X)( + document.createElement('div') + )), + this._glyphMarginBackgroundDomNode.setClassName(Me.CLASS_NAME), + this._domNode.appendChild(this._glyphMarginBackgroundDomNode); + } + dispose() { + super.dispose(); + } + getDomNode() { + return this._domNode; + } + onConfigurationChanged(e) { + const t = this._context.configuration.options, + i = t.get(117); + return ( + (this._canUseLayerHinting = !t.get(23)), + (this._contentLeft = i.contentLeft), + (this._glyphMarginLeft = i.glyphMarginLeft), + (this._glyphMarginWidth = i.glyphMarginWidth), + !0 + ); + } + onScrollChanged(e) { + return super.onScrollChanged(e) || e.scrollTopChanged; + } + prepareRender(e) {} + render(e) { + this._domNode.setLayerHinting(this._canUseLayerHinting), + this._domNode.setContain('strict'); + const t = e.scrollTop - e.bigNumbersDelta; + this._domNode.setTop(-t); + const i = Math.min(e.scrollHeight, 1e6); + this._domNode.setHeight(i), + this._domNode.setWidth(this._contentLeft), + this._glyphMarginBackgroundDomNode.setLeft(this._glyphMarginLeft), + this._glyphMarginBackgroundDomNode.setWidth( + this._glyphMarginWidth + ), + this._glyphMarginBackgroundDomNode.setHeight(i); + } + } + (Me.CLASS_NAME = 'glyph-margin'), (Me.OUTER_CLASS_NAME = 'margin'); + var De = i(59410), + Ne = i(96542); + class Ee { + constructor(e, t, i) { + (this.top = e), (this.left = t), (this.width = i); + } + setWidth(e) { + return new Ee(this.top, this.left, e); + } + } + const Te = b.un || b.vU; + class Ie extends N { + constructor(e, t, i) { + super(e), + (this._primaryCursorPosition = new Q.L(1, 1)), + (this._primaryCursorVisibleRange = null), + (this._viewController = t), + (this._viewHelper = i), + (this._scrollLeft = 0), + (this._scrollTop = 0); + const r = this._context.configuration.options, + s = r.get(117); + this._setAccessibilityOptions(r), + (this._contentLeft = s.contentLeft), + (this._contentWidth = s.contentWidth), + (this._contentHeight = s.height), + (this._fontInfo = r.get(36)), + (this._lineHeight = r.get(51)), + (this._emptySelectionClipboard = r.get(26)), + (this._copyWithSyntaxHighlighting = r.get(16)), + (this._visibleTextArea = null), + (this._selections = [new u.Y(1, 1, 1, 1)]), + (this._modelSelections = [new u.Y(1, 1, 1, 1)]), + (this._lastRenderPosition = null), + (this.textArea = (0, g.X)(document.createElement('textarea'))), + E.write(this.textArea, 6), + this.textArea.setClassName(`inputarea ${Ne.S}`), + this.textArea.setAttribute('wrap', 'off'), + this.textArea.setAttribute('autocorrect', 'off'), + this.textArea.setAttribute('autocapitalize', 'off'), + this.textArea.setAttribute('autocomplete', 'off'), + this.textArea.setAttribute('spellcheck', 'false'), + this.textArea.setAttribute('aria-label', this._getAriaLabel(r)), + this.textArea.setAttribute('tabindex', String(r.get(102))), + this.textArea.setAttribute('role', 'textbox'), + this.textArea.setAttribute( + 'aria-roledescription', + n.N('editor', 'editor') + ), + this.textArea.setAttribute('aria-multiline', 'true'), + this.textArea.setAttribute('aria-haspopup', 'false'), + this.textArea.setAttribute('aria-autocomplete', 'both'), + f.$L && + r.get(72) && + this.textArea.setAttribute('readonly', 'true'), + (this.textAreaCover = (0, g.X)(document.createElement('div'))), + this.textAreaCover.setPosition('absolute'); + const o = { + getLineCount: () => this._context.model.getLineCount(), + getLineMaxColumn: (e) => + this._context.model.getLineMaxColumn(e), + getValueInRange: (e, t) => + this._context.model.getValueInRange(e, t), + }, + a = { + getDataToCopy: (e) => { + const t = this._context.model.getPlainTextToCopy( + this._modelSelections, + this._emptySelectionClipboard, + f.ED + ), + i = this._context.model.getEOL(), + n = + this._emptySelectionClipboard && + 1 === this._modelSelections.length && + this._modelSelections[0].isEmpty(), + r = Array.isArray(t) ? t : null, + s = Array.isArray(t) ? t.join(i) : t; + let o, + a = null; + if ( + e && + (Ce.RA.forceCopyWithSyntaxHighlighting || + (this._copyWithSyntaxHighlighting && s.length < 65536)) + ) { + const e = this._context.model.getRichTextToCopy( + this._modelSelections, + this._emptySelectionClipboard + ); + e && ((o = e.html), (a = e.mode)); + } + return { + isFromEmptySelection: n, + multicursorText: r, + text: s, + html: o, + mode: a, + }; + }, + getScreenReaderContent: (e) => { + if (1 === this._accessibilitySupport) { + if (f.dz) { + const e = this._selections[0]; + if (e.isEmpty()) { + const t = e.getStartPosition(); + let i = this._getWordBeforePosition(t); + if ( + (0 === i.length && + (i = this._getCharacterBeforePosition(t)), + i.length > 0) + ) + return new Se.u(i, i.length, i.length, t, t); + } + } + return Se.u.EMPTY; + } + return Se.e.fromEditorSelection( + e, + o, + this._selections[0], + this._accessibilityPageSize, + 0 === this._accessibilitySupport + ); + }, + deduceModelPosition: (e, t, i) => + this._context.model.deduceModelPositionRelativeToViewPosition( + e, + t, + i + ), + }; + (this._textAreaInput = this._register(new Ce.Fz(a, this.textArea))), + this._register( + this._textAreaInput.onKeyDown((e) => { + this._viewController.emitKeyDown(e); + }) + ), + this._register( + this._textAreaInput.onKeyUp((e) => { + this._viewController.emitKeyUp(e); + }) + ), + this._register( + this._textAreaInput.onPaste((e) => { + let t = !1, + i = null, + n = null; + e.metadata && + ((t = + this._emptySelectionClipboard && + !!e.metadata.isFromEmptySelection), + (i = + void 0 !== e.metadata.multicursorText + ? e.metadata.multicursorText + : null), + (n = e.metadata.mode)), + this._viewController.paste(e.text, t, i, n); + }) + ), + this._register( + this._textAreaInput.onCut(() => { + this._viewController.cut(); + }) + ), + this._register( + this._textAreaInput.onType((e) => { + e.replaceCharCnt + ? this._viewController.replacePreviousChar( + e.text, + e.replaceCharCnt + ) + : this._viewController.type(e.text); + }) + ), + this._register( + this._textAreaInput.onSelectionChangeRequest((e) => { + this._viewController.setSelection(e); + }) + ), + this._register( + this._textAreaInput.onCompositionStart((e) => { + const t = this._selections[0].startLineNumber, + i = + this._selections[0].startColumn - + (e.moveOneCharacterLeft ? 1 : 0); + this._context.model.revealRange( + 'keyboard', + !0, + new X.e(t, i, t, i), + 0, + 1 + ); + const n = this._viewHelper.visibleRangeForPositionRelativeToEditor( + t, + i + ); + n && + ((this._visibleTextArea = new Ee( + this._context.viewLayout.getVerticalOffsetForLineNumber( + t + ), + n.left, + Te ? 0 : 1 + )), + this._render()), + this.textArea.setClassName(`inputarea ${Ne.S} ime-input`), + this._viewController.compositionStart(); + }) + ), + this._register( + this._textAreaInput.onCompositionUpdate((e) => { + b.un + ? (this._visibleTextArea = this._visibleTextArea.setWidth( + 0 + )) + : (this._visibleTextArea = this._visibleTextArea.setWidth( + (function (e, t) { + const i = document + .createElement('canvas') + .getContext('2d'); + var n; + i.font = + ('normal', + `normal normal ${(n = t).fontWeight} ${ + n.fontSize + }px / ${n.lineHeight}px ${n.fontFamily}`); + const r = i.measureText(e); + return b.vU ? r.width + 2 : r.width; + })(e.data, this._fontInfo) + )), + this._render(); + }) + ), + this._register( + this._textAreaInput.onCompositionEnd(() => { + (this._visibleTextArea = null), + this._render(), + this.textArea.setClassName(`inputarea ${Ne.S}`), + this._viewController.compositionEnd(); + }) + ), + this._register( + this._textAreaInput.onFocus(() => { + this._context.model.setHasFocus(!0); + }) + ), + this._register( + this._textAreaInput.onBlur(() => { + this._context.model.setHasFocus(!1); + }) + ); + } + dispose() { + super.dispose(); + } + _getWordBeforePosition(e) { + const t = this._context.model.getLineContent(e.lineNumber), + i = (0, De.u)(this._context.configuration.options.get(105)); + let n = e.column, + r = 0; + for (; n > 1; ) { + const s = t.charCodeAt(n - 2); + if (0 !== i.get(s) || r > 50) + return t.substring(n - 1, e.column - 1); + r++, n--; + } + return t.substring(0, e.column - 1); + } + _getCharacterBeforePosition(e) { + if (e.column > 1) { + const t = this._context.model + .getLineContent(e.lineNumber) + .charAt(e.column - 2); + if (!we.ZG(t.charCodeAt(0))) return t; + } + return ''; + } + _getAriaLabel(e) { + return 1 === e.get(2) + ? n.N( + 'accessibilityOffAriaLabel', + 'The editor is not accessible at this time. Press {0} for options.', + f.IJ ? 'Shift+Alt+F1' : 'Alt+F1' + ) + : e.get(4); + } + _setAccessibilityOptions(e) { + this._accessibilitySupport = e.get(2); + const t = e.get(3); + 2 === this._accessibilitySupport && + t === H.BH.accessibilityPageSize.defaultValue + ? (this._accessibilityPageSize = 100) + : (this._accessibilityPageSize = t); + } + onConfigurationChanged(e) { + const t = this._context.configuration.options, + i = t.get(117); + return ( + this._setAccessibilityOptions(t), + (this._contentLeft = i.contentLeft), + (this._contentWidth = i.contentWidth), + (this._contentHeight = i.height), + (this._fontInfo = t.get(36)), + (this._lineHeight = t.get(51)), + (this._emptySelectionClipboard = t.get(26)), + (this._copyWithSyntaxHighlighting = t.get(16)), + this.textArea.setAttribute('aria-label', this._getAriaLabel(t)), + this.textArea.setAttribute('tabindex', String(t.get(102))), + f.$L && + e.hasChanged(72) && + (t.get(72) + ? this.textArea.setAttribute('readonly', 'true') + : this.textArea.removeAttribute('readonly')), + e.hasChanged(2) && + this._textAreaInput.writeScreenReaderContent( + 'strategy changed' + ), + !0 + ); + } + onCursorStateChanged(e) { + return ( + (this._selections = e.selections.slice(0)), + (this._modelSelections = e.modelSelections.slice(0)), + this._textAreaInput.writeScreenReaderContent('selection changed'), + !0 + ); + } + onDecorationsChanged(e) { + return !0; + } + onFlushed(e) { + return !0; + } + onLinesChanged(e) { + return !0; + } + onLinesDeleted(e) { + return !0; + } + onLinesInserted(e) { + return !0; + } + onScrollChanged(e) { + return ( + (this._scrollLeft = e.scrollLeft), + (this._scrollTop = e.scrollTop), + !0 + ); + } + onZonesChanged(e) { + return !0; + } + isFocused() { + return this._textAreaInput.isFocused(); + } + focusTextArea() { + this._textAreaInput.focusTextArea(); + } + getLastRenderData() { + return this._lastRenderPosition; + } + setAriaOptions(e) { + e.activeDescendant + ? (this.textArea.setAttribute('aria-haspopup', 'true'), + this.textArea.setAttribute('aria-autocomplete', 'list'), + this.textArea.setAttribute( + 'aria-activedescendant', + e.activeDescendant + )) + : (this.textArea.setAttribute('aria-haspopup', 'false'), + this.textArea.setAttribute('aria-autocomplete', 'both'), + this.textArea.removeAttribute('aria-activedescendant')), + e.role && this.textArea.setAttribute('role', e.role); + } + prepareRender(e) { + (this._primaryCursorPosition = new Q.L( + this._selections[0].positionLineNumber, + this._selections[0].positionColumn + )), + (this._primaryCursorVisibleRange = e.visibleRangeForPosition( + this._primaryCursorPosition + )); + } + render(e) { + this._textAreaInput.writeScreenReaderContent('render'), + this._render(); + } + _render() { + if (this._visibleTextArea) + return void this._renderInsideEditor( + null, + this._visibleTextArea.top - this._scrollTop, + this._contentLeft + + this._visibleTextArea.left - + this._scrollLeft, + this._visibleTextArea.width, + this._lineHeight + ); + if (!this._primaryCursorVisibleRange) + return void this._renderAtTopLeft(); + const e = + this._contentLeft + + this._primaryCursorVisibleRange.left - + this._scrollLeft; + if ( + e < this._contentLeft || + e > this._contentLeft + this._contentWidth + ) + return void this._renderAtTopLeft(); + const t = + this._context.viewLayout.getVerticalOffsetForLineNumber( + this._selections[0].positionLineNumber + ) - this._scrollTop; + t < 0 || t > this._contentHeight + ? this._renderAtTopLeft() + : f.dz + ? this._renderInsideEditor( + this._primaryCursorPosition, + t, + e, + Te ? 0 : 1, + this._lineHeight + ) + : this._renderInsideEditor( + this._primaryCursorPosition, + t, + e, + Te ? 0 : 1, + Te ? 0 : 1 + ); + } + _renderInsideEditor(e, t, i, n, r) { + this._lastRenderPosition = e; + const s = this.textArea, + o = this.textAreaCover; + c.V.applyFontInfo(s, this._fontInfo), + s.setTop(t), + s.setLeft(i), + s.setWidth(n), + s.setHeight(r), + o.setTop(0), + o.setLeft(0), + o.setWidth(0), + o.setHeight(0); + } + _renderAtTopLeft() { + this._lastRenderPosition = null; + const e = this.textArea, + t = this.textAreaCover; + if ( + (c.V.applyFontInfo(e, this._fontInfo), + e.setTop(0), + e.setLeft(0), + t.setTop(0), + t.setLeft(0), + Te) + ) + return ( + e.setWidth(0), + e.setHeight(0), + t.setWidth(0), + void t.setHeight(0) + ); + e.setWidth(1), e.setHeight(1), t.setWidth(1), t.setHeight(1); + const i = this._context.configuration.options; + i.get(42) + ? t.setClassName( + 'monaco-editor-background textAreaCover ' + + Me.OUTER_CLASS_NAME + ) + : 0 !== i.get(52).renderType + ? t.setClassName( + 'monaco-editor-background textAreaCover ' + Le.CLASS_NAME + ) + : t.setClassName('monaco-editor-background textAreaCover'); + } + } + var Oe = i(18728); + class Ae { + constructor(e, t, i, n) { + (this.configuration = e), + (this.viewModel = t), + (this.userInputEvents = i), + (this.commandDelegate = n); + } + paste(e, t, i, n) { + this.commandDelegate.paste(e, t, i, n); + } + type(e) { + this.commandDelegate.type(e); + } + replacePreviousChar(e, t) { + this.commandDelegate.replacePreviousChar(e, t); + } + compositionStart() { + this.commandDelegate.startComposition(); + } + compositionEnd() { + this.commandDelegate.endComposition(); + } + cut() { + this.commandDelegate.cut(); + } + setSelection(e) { + Oe.CoreNavigationCommands.SetSelection.runCoreEditorCommand( + this.viewModel, + { source: 'keyboard', selection: e } + ); + } + _validateViewColumn(e) { + const t = this.viewModel.getLineMinColumn(e.lineNumber); + return e.column < t ? new Q.L(e.lineNumber, t) : e; + } + _hasMulticursorModifier(e) { + switch (this.configuration.options.get(61)) { + case 'altKey': + return e.altKey; + case 'ctrlKey': + return e.ctrlKey; + case 'metaKey': + return e.metaKey; + default: + return !1; + } + } + _hasNonMulticursorModifier(e) { + switch (this.configuration.options.get(61)) { + case 'altKey': + return e.ctrlKey || e.metaKey; + case 'ctrlKey': + return e.altKey || e.metaKey; + case 'metaKey': + return e.ctrlKey || e.altKey; + default: + return !1; + } + } + dispatchMouse(e) { + const t = this.configuration.options, + i = f.IJ && t.get(88), + n = t.get(13); + e.middleButton && !i + ? this._columnSelect(e.position, e.mouseColumn, e.inSelectionMode) + : e.startedOnLineNumbers + ? this._hasMulticursorModifier(e) + ? e.inSelectionMode + ? this._lastCursorLineSelect(e.position) + : this._createCursor(e.position, !0) + : e.inSelectionMode + ? this._lineSelectDrag(e.position) + : this._lineSelect(e.position) + : e.mouseDownCount >= 4 + ? this._selectAll() + : 3 === e.mouseDownCount + ? this._hasMulticursorModifier(e) + ? e.inSelectionMode + ? this._lastCursorLineSelectDrag(e.position) + : this._lastCursorLineSelect(e.position) + : e.inSelectionMode + ? this._lineSelectDrag(e.position) + : this._lineSelect(e.position) + : 2 === e.mouseDownCount + ? this._hasMulticursorModifier(e) + ? this._lastCursorWordSelect(e.position) + : e.inSelectionMode + ? this._wordSelectDrag(e.position) + : this._wordSelect(e.position) + : this._hasMulticursorModifier(e) + ? this._hasNonMulticursorModifier(e) || + (e.shiftKey + ? this._columnSelect(e.position, e.mouseColumn, !0) + : e.inSelectionMode + ? this._lastCursorMoveToSelect(e.position) + : this._createCursor(e.position, !1)) + : e.inSelectionMode + ? e.altKey || n + ? this._columnSelect(e.position, e.mouseColumn, !0) + : this._moveToSelect(e.position) + : this.moveTo(e.position); + } + _usualArgs(e) { + return ( + (e = this._validateViewColumn(e)), + { + source: 'mouse', + position: this._convertViewToModelPosition(e), + viewPosition: e, + } + ); + } + moveTo(e) { + Oe.CoreNavigationCommands.MoveTo.runCoreEditorCommand( + this.viewModel, + this._usualArgs(e) + ); + } + _moveToSelect(e) { + Oe.CoreNavigationCommands.MoveToSelect.runCoreEditorCommand( + this.viewModel, + this._usualArgs(e) + ); + } + _columnSelect(e, t, i) { + (e = this._validateViewColumn(e)), + Oe.CoreNavigationCommands.ColumnSelect.runCoreEditorCommand( + this.viewModel, + { + source: 'mouse', + position: this._convertViewToModelPosition(e), + viewPosition: e, + mouseColumn: t, + doColumnSelect: i, + } + ); + } + _createCursor(e, t) { + (e = this._validateViewColumn(e)), + Oe.CoreNavigationCommands.CreateCursor.runCoreEditorCommand( + this.viewModel, + { + source: 'mouse', + position: this._convertViewToModelPosition(e), + viewPosition: e, + wholeLine: t, + } + ); + } + _lastCursorMoveToSelect(e) { + Oe.CoreNavigationCommands.LastCursorMoveToSelect.runCoreEditorCommand( + this.viewModel, + this._usualArgs(e) + ); + } + _wordSelect(e) { + Oe.CoreNavigationCommands.WordSelect.runCoreEditorCommand( + this.viewModel, + this._usualArgs(e) + ); + } + _wordSelectDrag(e) { + Oe.CoreNavigationCommands.WordSelectDrag.runCoreEditorCommand( + this.viewModel, + this._usualArgs(e) + ); + } + _lastCursorWordSelect(e) { + Oe.CoreNavigationCommands.LastCursorWordSelect.runCoreEditorCommand( + this.viewModel, + this._usualArgs(e) + ); + } + _lineSelect(e) { + Oe.CoreNavigationCommands.LineSelect.runCoreEditorCommand( + this.viewModel, + this._usualArgs(e) + ); + } + _lineSelectDrag(e) { + Oe.CoreNavigationCommands.LineSelectDrag.runCoreEditorCommand( + this.viewModel, + this._usualArgs(e) + ); + } + _lastCursorLineSelect(e) { + Oe.CoreNavigationCommands.LastCursorLineSelect.runCoreEditorCommand( + this.viewModel, + this._usualArgs(e) + ); + } + _lastCursorLineSelectDrag(e) { + Oe.CoreNavigationCommands.LastCursorLineSelectDrag.runCoreEditorCommand( + this.viewModel, + this._usualArgs(e) + ); + } + _selectAll() { + Oe.CoreNavigationCommands.SelectAll.runCoreEditorCommand( + this.viewModel, + { source: 'mouse' } + ); + } + _convertViewToModelPosition(e) { + return this.viewModel.coordinatesConverter.convertViewPositionToModelPosition( + e + ); + } + emitKeyDown(e) { + this.userInputEvents.emitKeyDown(e); + } + emitKeyUp(e) { + this.userInputEvents.emitKeyUp(e); + } + emitContextMenu(e) { + this.userInputEvents.emitContextMenu(e); + } + emitMouseMove(e) { + this.userInputEvents.emitMouseMove(e); + } + emitMouseLeave(e) { + this.userInputEvents.emitMouseLeave(e); + } + emitMouseUp(e) { + this.userInputEvents.emitMouseUp(e); + } + emitMouseDown(e) { + this.userInputEvents.emitMouseDown(e); + } + emitMouseDrag(e) { + this.userInputEvents.emitMouseDrag(e); + } + emitMouseDrop(e) { + this.userInputEvents.emitMouseDrop(e); + } + emitMouseWheel(e) { + this.userInputEvents.emitMouseWheel(e); + } + } + class Re { + constructor(e) { + (this.onKeyDown = null), + (this.onKeyUp = null), + (this.onContextMenu = null), + (this.onMouseMove = null), + (this.onMouseLeave = null), + (this.onMouseDown = null), + (this.onMouseUp = null), + (this.onMouseDrag = null), + (this.onMouseDrop = null), + (this.onMouseWheel = null), + (this._coordinatesConverter = e); + } + emitKeyDown(e) { + this.onKeyDown && this.onKeyDown(e); + } + emitKeyUp(e) { + this.onKeyUp && this.onKeyUp(e); + } + emitContextMenu(e) { + this.onContextMenu && + this.onContextMenu(this._convertViewToModelMouseEvent(e)); + } + emitMouseMove(e) { + this.onMouseMove && + this.onMouseMove(this._convertViewToModelMouseEvent(e)); + } + emitMouseLeave(e) { + this.onMouseLeave && + this.onMouseLeave(this._convertViewToModelMouseEvent(e)); + } + emitMouseDown(e) { + this.onMouseDown && + this.onMouseDown(this._convertViewToModelMouseEvent(e)); + } + emitMouseUp(e) { + this.onMouseUp && + this.onMouseUp(this._convertViewToModelMouseEvent(e)); + } + emitMouseDrag(e) { + this.onMouseDrag && + this.onMouseDrag(this._convertViewToModelMouseEvent(e)); + } + emitMouseDrop(e) { + this.onMouseDrop && + this.onMouseDrop(this._convertViewToModelMouseEvent(e)); + } + emitMouseWheel(e) { + this.onMouseWheel && this.onMouseWheel(e); + } + _convertViewToModelMouseEvent(e) { + return e.target + ? { + event: e.event, + target: this._convertViewToModelMouseTarget(e.target), + } + : e; + } + _convertViewToModelMouseTarget(e) { + return Re.convertViewToModelMouseTarget( + e, + this._coordinatesConverter + ); + } + static convertViewToModelMouseTarget(e, t) { + return new Pe( + e.element, + e.type, + e.mouseColumn, + e.position + ? t.convertViewPositionToModelPosition(e.position) + : null, + e.range ? t.convertViewRangeToModelRange(e.range) : null, + e.detail + ); + } + } + class Pe { + constructor(e, t, i, n, r, s) { + (this.element = e), + (this.type = t), + (this.mouseColumn = i), + (this.position = n), + (this.range = r), + (this.detail = s); + } + toString() { + return ie.toString(this); + } + } + var Fe = i(50072); + class Be { + constructor(e) { + (this._createLine = e), this._set(1, []); + } + flush() { + this._set(1, []); + } + _set(e, t) { + (this._lines = t), (this._rendLineNumberStart = e); + } + _get() { + return { + rendLineNumberStart: this._rendLineNumberStart, + lines: this._lines, + }; + } + getStartLineNumber() { + return this._rendLineNumberStart; + } + getEndLineNumber() { + return this._rendLineNumberStart + this._lines.length - 1; + } + getCount() { + return this._lines.length; + } + getLine(e) { + const t = e - this._rendLineNumberStart; + if (t < 0 || t >= this._lines.length) + throw new Error('Illegal value for lineNumber'); + return this._lines[t]; + } + onLinesDeleted(e, t) { + if (0 === this.getCount()) return null; + const i = this.getStartLineNumber(), + n = this.getEndLineNumber(); + if (t < i) { + const i = t - e + 1; + return (this._rendLineNumberStart -= i), null; + } + if (e > n) return null; + let r = 0, + s = 0; + for (let o = i; o <= n; o++) { + const i = o - this._rendLineNumberStart; + e <= o && o <= t && (0 === s ? ((r = i), (s = 1)) : s++); + } + if (e < i) { + let n = 0; + (n = t < i ? t - e + 1 : i - e), (this._rendLineNumberStart -= n); + } + return this._lines.splice(r, s); + } + onLinesChanged(e, t) { + if (0 === this.getCount()) return !1; + const i = this.getStartLineNumber(), + n = this.getEndLineNumber(); + let r = !1; + for (let s = e; s <= t; s++) + s >= i && + s <= n && + (this._lines[s - this._rendLineNumberStart].onContentChanged(), + (r = !0)); + return r; + } + onLinesInserted(e, t) { + if (0 === this.getCount()) return null; + const i = t - e + 1, + n = this.getStartLineNumber(), + r = this.getEndLineNumber(); + if (e <= n) return (this._rendLineNumberStart += i), null; + if (e > r) return null; + if (i + e > r) + return this._lines.splice( + e - this._rendLineNumberStart, + r - e + 1 + ); + const s = []; + for (let e = 0; e < i; e++) s[e] = this._createLine(); + const o = e - this._rendLineNumberStart, + a = this._lines.slice(0, o), + l = this._lines.slice(o, this._lines.length - i), + c = this._lines.slice(this._lines.length - i, this._lines.length); + return (this._lines = a.concat(s).concat(l)), c; + } + onTokensChanged(e) { + if (0 === this.getCount()) return !1; + const t = this.getStartLineNumber(), + i = this.getEndLineNumber(); + let n = !1; + for (let r = 0, s = e.length; r < s; r++) { + const s = e[r]; + if (s.toLineNumber < t || s.fromLineNumber > i) continue; + const o = Math.max(t, s.fromLineNumber), + a = Math.min(i, s.toLineNumber); + for (let e = o; e <= a; e++) { + const t = e - this._rendLineNumberStart; + this._lines[t].onTokensChanged(), (n = !0); + } + } + return n; + } + } + class We { + constructor(e) { + (this._host = e), + (this.domNode = this._createDomNode()), + (this._linesCollection = new Be(() => + this._host.createVisibleLine() + )); + } + _createDomNode() { + const e = (0, g.X)(document.createElement('div')); + return ( + e.setClassName('view-layer'), + e.setPosition('absolute'), + e.domNode.setAttribute('role', 'presentation'), + e.domNode.setAttribute('aria-hidden', 'true'), + e + ); + } + onConfigurationChanged(e) { + return !!e.hasChanged(117); + } + onFlushed(e) { + return this._linesCollection.flush(), !0; + } + onLinesChanged(e) { + return this._linesCollection.onLinesChanged( + e.fromLineNumber, + e.toLineNumber + ); + } + onLinesDeleted(e) { + const t = this._linesCollection.onLinesDeleted( + e.fromLineNumber, + e.toLineNumber + ); + if (t) + for (let e = 0, i = t.length; e < i; e++) { + const i = t[e].getDomNode(); + i && this.domNode.domNode.removeChild(i); + } + return !0; + } + onLinesInserted(e) { + const t = this._linesCollection.onLinesInserted( + e.fromLineNumber, + e.toLineNumber + ); + if (t) + for (let e = 0, i = t.length; e < i; e++) { + const i = t[e].getDomNode(); + i && this.domNode.domNode.removeChild(i); + } + return !0; + } + onScrollChanged(e) { + return e.scrollTopChanged; + } + onTokensChanged(e) { + return this._linesCollection.onTokensChanged(e.ranges); + } + onZonesChanged(e) { + return !0; + } + getStartLineNumber() { + return this._linesCollection.getStartLineNumber(); + } + getEndLineNumber() { + return this._linesCollection.getEndLineNumber(); + } + getVisibleLine(e) { + return this._linesCollection.getLine(e); + } + renderLines(e) { + const t = this._linesCollection._get(), + i = new Ye(this.domNode.domNode, this._host, e), + n = { + rendLineNumberStart: t.rendLineNumberStart, + lines: t.lines, + linesLength: t.lines.length, + }, + r = i.render( + n, + e.startLineNumber, + e.endLineNumber, + e.relativeVerticalOffset + ); + this._linesCollection._set(r.rendLineNumberStart, r.lines); + } + } + class Ye { + constructor(e, t, i) { + (this.domNode = e), (this.host = t), (this.viewportData = i); + } + render(e, t, i, n) { + const r = { + rendLineNumberStart: e.rendLineNumberStart, + lines: e.lines.slice(0), + linesLength: e.linesLength, + }; + if ( + r.rendLineNumberStart + r.linesLength - 1 < t || + i < r.rendLineNumberStart + ) { + (r.rendLineNumberStart = t), + (r.linesLength = i - t + 1), + (r.lines = []); + for (let e = t; e <= i; e++) + r.lines[e - t] = this.host.createVisibleLine(); + return this._finishRendering(r, !0, n), r; + } + if ( + (this._renderUntouchedLines( + r, + Math.max(t - r.rendLineNumberStart, 0), + Math.min(i - r.rendLineNumberStart, r.linesLength - 1), + n, + t + ), + r.rendLineNumberStart > t) + ) { + const e = t, + s = Math.min(i, r.rendLineNumberStart - 1); + e <= s && + (this._insertLinesBefore(r, e, s, n, t), + (r.linesLength += s - e + 1)); + } else if (r.rendLineNumberStart < t) { + const e = Math.min(r.linesLength, t - r.rendLineNumberStart); + e > 0 && (this._removeLinesBefore(r, e), (r.linesLength -= e)); + } + if ( + ((r.rendLineNumberStart = t), + r.rendLineNumberStart + r.linesLength - 1 < i) + ) { + const e = r.rendLineNumberStart + r.linesLength, + s = i; + e <= s && + (this._insertLinesAfter(r, e, s, n, t), + (r.linesLength += s - e + 1)); + } else if (r.rendLineNumberStart + r.linesLength - 1 > i) { + const e = Math.max(0, i - r.rendLineNumberStart + 1), + t = r.linesLength - 1 - e + 1; + t > 0 && (this._removeLinesAfter(r, t), (r.linesLength -= t)); + } + return this._finishRendering(r, !1, n), r; + } + _renderUntouchedLines(e, t, i, n, r) { + const s = e.rendLineNumberStart, + o = e.lines; + for (let e = t; e <= i; e++) { + const t = s + e; + o[e].layoutLine(t, n[t - r]); + } + } + _insertLinesBefore(e, t, i, n, r) { + const s = []; + let o = 0; + for (let e = t; e <= i; e++) s[o++] = this.host.createVisibleLine(); + e.lines = s.concat(e.lines); + } + _removeLinesBefore(e, t) { + for (let i = 0; i < t; i++) { + const t = e.lines[i].getDomNode(); + t && this.domNode.removeChild(t); + } + e.lines.splice(0, t); + } + _insertLinesAfter(e, t, i, n, r) { + const s = []; + let o = 0; + for (let e = t; e <= i; e++) s[o++] = this.host.createVisibleLine(); + e.lines = e.lines.concat(s); + } + _removeLinesAfter(e, t) { + const i = e.linesLength - t; + for (let n = 0; n < t; n++) { + const t = e.lines[i + n].getDomNode(); + t && this.domNode.removeChild(t); + } + e.lines.splice(i, t); + } + _finishRenderingNewLines(e, t, i, n) { + const r = this.domNode.lastChild; + t || !r + ? (this.domNode.innerHTML = i) + : r.insertAdjacentHTML('afterend', i); + let s = this.domNode.lastChild; + for (let t = e.linesLength - 1; t >= 0; t--) { + const i = e.lines[t]; + n[t] && (i.setDomNode(s), (s = s.previousSibling)); + } + } + _finishRenderingInvalidLines(e, t, i) { + const n = document.createElement('div'); + n.innerHTML = t; + for (let t = 0; t < e.linesLength; t++) { + const r = e.lines[t]; + if (i[t]) { + const e = n.firstChild, + t = r.getDomNode(); + t.parentNode.replaceChild(e, t), r.setDomNode(e); + } + } + } + _finishRendering(e, t, i) { + const n = Ye._sb, + r = e.linesLength, + s = e.lines, + o = e.rendLineNumberStart, + a = []; + { + n.reset(); + let l = !1; + for (let e = 0; e < r; e++) { + const t = s[e]; + (a[e] = !1), + t.getDomNode() || + (t.renderLine(e + o, i[e], this.viewportData, n) && + ((a[e] = !0), (l = !0))); + } + l && this._finishRenderingNewLines(e, t, n.build(), a); + } + { + n.reset(); + let t = !1; + const l = []; + for (let e = 0; e < r; e++) { + const r = s[e]; + ((l[e] = !1), a[e]) || + (r.renderLine(e + o, i[e], this.viewportData, n) && + ((l[e] = !0), (t = !0))); + } + t && this._finishRenderingInvalidLines(e, n.build(), l); + } + } + } + Ye._sb = (0, Fe.l$)(1e5); + class He extends N { + constructor(e) { + super(e), + (this._visibleLines = new We(this)), + (this.domNode = this._visibleLines.domNode), + (this._dynamicOverlays = []), + (this._isFocused = !1), + this.domNode.setClassName('view-overlays'); + } + shouldRender() { + if (super.shouldRender()) return !0; + for (let e = 0, t = this._dynamicOverlays.length; e < t; e++) + if (this._dynamicOverlays[e].shouldRender()) return !0; + return !1; + } + dispose() { + super.dispose(); + for (let e = 0, t = this._dynamicOverlays.length; e < t; e++) + this._dynamicOverlays[e].dispose(); + this._dynamicOverlays = []; + } + getDomNode() { + return this.domNode; + } + createVisibleLine() { + return new je(this._context.configuration, this._dynamicOverlays); + } + addDynamicOverlay(e) { + this._dynamicOverlays.push(e); + } + onConfigurationChanged(e) { + this._visibleLines.onConfigurationChanged(e); + const t = this._visibleLines.getStartLineNumber(), + i = this._visibleLines.getEndLineNumber(); + for (let n = t; n <= i; n++) + this._visibleLines.getVisibleLine(n).onConfigurationChanged(e); + return !0; + } + onFlushed(e) { + return this._visibleLines.onFlushed(e); + } + onFocusChanged(e) { + return (this._isFocused = e.isFocused), !0; + } + onLinesChanged(e) { + return this._visibleLines.onLinesChanged(e); + } + onLinesDeleted(e) { + return this._visibleLines.onLinesDeleted(e); + } + onLinesInserted(e) { + return this._visibleLines.onLinesInserted(e); + } + onScrollChanged(e) { + return this._visibleLines.onScrollChanged(e) || !0; + } + onTokensChanged(e) { + return this._visibleLines.onTokensChanged(e); + } + onZonesChanged(e) { + return this._visibleLines.onZonesChanged(e); + } + prepareRender(e) { + const t = this._dynamicOverlays.filter((e) => e.shouldRender()); + for (let i = 0, n = t.length; i < n; i++) { + const n = t[i]; + n.prepareRender(e), n.onDidRender(); + } + } + render(e) { + this._viewOverlaysRender(e), + this.domNode.toggleClassName('focused', this._isFocused); + } + _viewOverlaysRender(e) { + this._visibleLines.renderLines(e.viewportData); + } + } + class je { + constructor(e, t) { + (this._configuration = e), + (this._lineHeight = this._configuration.options.get(51)), + (this._dynamicOverlays = t), + (this._domNode = null), + (this._renderedContent = null); + } + getDomNode() { + return this._domNode ? this._domNode.domNode : null; + } + setDomNode(e) { + this._domNode = (0, g.X)(e); + } + onContentChanged() {} + onTokensChanged() {} + onConfigurationChanged(e) { + this._lineHeight = this._configuration.options.get(51); + } + renderLine(e, t, i, n) { + let r = ''; + for (let t = 0, n = this._dynamicOverlays.length; t < n; t++) + r += this._dynamicOverlays[t].render(i.startLineNumber, e); + return ( + this._renderedContent !== r && + ((this._renderedContent = r), + n.appendASCIIString('<div style="position:absolute;top:'), + n.appendASCIIString(String(t)), + n.appendASCIIString('px;width:100%;height:'), + n.appendASCIIString(String(this._lineHeight)), + n.appendASCIIString('px;">'), + n.appendASCIIString(r), + n.appendASCIIString('</div>'), + !0) + ); + } + layoutLine(e, t) { + this._domNode && + (this._domNode.setTop(t), + this._domNode.setHeight(this._lineHeight)); + } + } + class Ve extends He { + constructor(e) { + super(e); + const t = this._context.configuration.options.get(117); + (this._contentWidth = t.contentWidth), this.domNode.setHeight(0); + } + onConfigurationChanged(e) { + const t = this._context.configuration.options.get(117); + return ( + (this._contentWidth = t.contentWidth), + super.onConfigurationChanged(e) || !0 + ); + } + onScrollChanged(e) { + return super.onScrollChanged(e) || e.scrollWidthChanged; + } + _viewOverlaysRender(e) { + super._viewOverlaysRender(e), + this.domNode.setWidth( + Math.max(e.scrollWidth, this._contentWidth) + ); + } + } + class ze extends He { + constructor(e) { + super(e); + const t = this._context.configuration.options, + i = t.get(117); + (this._contentLeft = i.contentLeft), + this.domNode.setClassName('margin-view-overlays'), + this.domNode.setWidth(1), + c.V.applyFontInfo(this.domNode, t.get(36)); + } + onConfigurationChanged(e) { + const t = this._context.configuration.options; + c.V.applyFontInfo(this.domNode, t.get(36)); + const i = t.get(117); + return ( + (this._contentLeft = i.contentLeft), + super.onConfigurationChanged(e) || !0 + ); + } + onScrollChanged(e) { + return super.onScrollChanged(e) || e.scrollHeightChanged; + } + _viewOverlaysRender(e) { + super._viewOverlaysRender(e); + const t = Math.min(e.scrollHeight, 1e6); + this.domNode.setHeight(t), this.domNode.setWidth(this._contentLeft); + } + } + class Ue { + constructor(e, t) { + (this.top = e), (this.left = t); + } + } + class $e extends N { + constructor(e, t) { + super(e), + (this._viewDomNode = t), + (this._widgets = {}), + (this.domNode = (0, g.X)(document.createElement('div'))), + E.write(this.domNode, 1), + this.domNode.setClassName('contentWidgets'), + this.domNode.setPosition('absolute'), + this.domNode.setTop(0), + (this.overflowingContentWidgetsDomNode = (0, g.X)( + document.createElement('div') + )), + E.write(this.overflowingContentWidgetsDomNode, 2), + this.overflowingContentWidgetsDomNode.setClassName( + 'overflowingContentWidgets' + ); + } + dispose() { + super.dispose(), (this._widgets = {}); + } + onConfigurationChanged(e) { + const t = Object.keys(this._widgets); + for (const i of t) this._widgets[i].onConfigurationChanged(e); + return !0; + } + onDecorationsChanged(e) { + return !0; + } + onFlushed(e) { + return !0; + } + onLineMappingChanged(e) { + const t = Object.keys(this._widgets); + for (const i of t) this._widgets[i].onLineMappingChanged(e); + return !0; + } + onLinesChanged(e) { + return !0; + } + onLinesDeleted(e) { + return !0; + } + onLinesInserted(e) { + return !0; + } + onScrollChanged(e) { + return !0; + } + onZonesChanged(e) { + return !0; + } + addWidget(e) { + const t = new Ke(this._context, this._viewDomNode, e); + (this._widgets[t.id] = t), + t.allowEditorOverflow + ? this.overflowingContentWidgetsDomNode.appendChild(t.domNode) + : this.domNode.appendChild(t.domNode), + this.setShouldRender(); + } + setWidgetPosition(e, t, i) { + this._widgets[e.getId()].setPosition(t, i), this.setShouldRender(); + } + removeWidget(e) { + const t = e.getId(); + if (this._widgets.hasOwnProperty(t)) { + const e = this._widgets[t]; + delete this._widgets[t]; + const i = e.domNode.domNode; + i.parentNode.removeChild(i), + i.removeAttribute('monaco-visible-content-widget'), + this.setShouldRender(); + } + } + shouldSuppressMouseDownOnWidget(e) { + return ( + !!this._widgets.hasOwnProperty(e) && + this._widgets[e].suppressMouseDown + ); + } + onBeforeRender(e) { + const t = Object.keys(this._widgets); + for (const i of t) this._widgets[i].onBeforeRender(e); + } + prepareRender(e) { + const t = Object.keys(this._widgets); + for (const i of t) this._widgets[i].prepareRender(e); + } + render(e) { + const t = Object.keys(this._widgets); + for (const i of t) this._widgets[i].render(e); + } + } + class Ke { + constructor(e, t, i) { + (this._context = e), + (this._viewDomNode = t), + (this._actual = i), + (this.domNode = (0, g.X)(this._actual.getDomNode())), + (this.id = this._actual.getId()), + (this.allowEditorOverflow = + this._actual.allowEditorOverflow || !1), + (this.suppressMouseDown = this._actual.suppressMouseDown || !1); + const n = this._context.configuration.options, + r = n.get(117); + (this._fixedOverflowWidgets = n.get(30)), + (this._contentWidth = r.contentWidth), + (this._contentLeft = r.contentLeft), + (this._lineHeight = n.get(51)), + (this._range = null), + (this._viewRange = null), + (this._preference = []), + (this._cachedDomNodeClientWidth = -1), + (this._cachedDomNodeClientHeight = -1), + (this._maxWidth = this._getMaxWidth()), + (this._isVisible = !1), + (this._renderData = null), + this.domNode.setPosition( + this._fixedOverflowWidgets && this.allowEditorOverflow + ? 'fixed' + : 'absolute' + ), + this.domNode.setVisibility('hidden'), + this.domNode.setAttribute('widgetId', this.id), + this.domNode.setMaxWidth(this._maxWidth); + } + onConfigurationChanged(e) { + const t = this._context.configuration.options; + if (((this._lineHeight = t.get(51)), e.hasChanged(117))) { + const e = t.get(117); + (this._contentLeft = e.contentLeft), + (this._contentWidth = e.contentWidth), + (this._maxWidth = this._getMaxWidth()); + } + } + onLineMappingChanged(e) { + this._setPosition(this._range); + } + _setPosition(e) { + if (((this._range = e), (this._viewRange = null), this._range)) { + const e = this._context.model.validateModelRange(this._range); + (this._context.model.coordinatesConverter.modelPositionIsVisible( + e.getStartPosition() + ) || + this._context.model.coordinatesConverter.modelPositionIsVisible( + e.getEndPosition() + )) && + (this._viewRange = this._context.model.coordinatesConverter.convertModelRangeToViewRange( + e + )); + } + } + _getMaxWidth() { + return this.allowEditorOverflow + ? window.innerWidth || + document.documentElement.clientWidth || + document.body.clientWidth + : this._contentWidth; + } + setPosition(e, t) { + this._setPosition(e), + (this._preference = t), + (this._cachedDomNodeClientWidth = -1), + (this._cachedDomNodeClientHeight = -1); + } + _layoutBoxInViewport(e, t, i, n, r) { + const s = e.top, + o = s, + a = t.top + this._lineHeight, + l = s - n, + c = o >= n, + d = a, + h = r.viewportHeight - a >= n; + let u = e.left, + g = t.left; + return ( + u + i > r.scrollLeft + r.viewportWidth && + (u = r.scrollLeft + r.viewportWidth - i), + g + i > r.scrollLeft + r.viewportWidth && + (g = r.scrollLeft + r.viewportWidth - i), + u < r.scrollLeft && (u = r.scrollLeft), + g < r.scrollLeft && (g = r.scrollLeft), + { + fitsAbove: c, + aboveTop: l, + aboveLeft: u, + fitsBelow: h, + belowTop: d, + belowLeft: g, + } + ); + } + _layoutHorizontalSegmentInPage(e, t, i, n) { + const s = Math.max(0, t.left - n), + o = Math.min(t.left + t.width + n, e.width); + let a = t.left + i - r.DI.scrollX; + if (a + n > o) { + const e = a - (o - n); + (a -= e), (i -= e); + } + if (a < s) { + const e = a - s; + (a -= e), (i -= e); + } + return [i, a]; + } + _layoutBoxInPage(e, t, i, n, s) { + const o = e.top - n, + a = t.top + this._lineHeight, + l = r.i(this._viewDomNode.domNode), + c = l.top + o - r.DI.scrollY, + d = l.top + a - r.DI.scrollY, + h = r.D6(document.body), + [u, g] = this._layoutHorizontalSegmentInPage( + h, + l, + e.left - s.scrollLeft + this._contentLeft, + i + ), + [f, p] = this._layoutHorizontalSegmentInPage( + h, + l, + t.left - s.scrollLeft + this._contentLeft, + i + ), + m = c >= 22, + _ = d + n <= h.height - 22; + return this._fixedOverflowWidgets + ? { + fitsAbove: m, + aboveTop: Math.max(c, 22), + aboveLeft: g, + fitsBelow: _, + belowTop: d, + belowLeft: p, + } + : { + fitsAbove: m, + aboveTop: o, + aboveLeft: u, + fitsBelow: _, + belowTop: a, + belowLeft: f, + }; + } + _prepareRenderWidgetAtExactPositionOverflowing(e) { + return new Ue(e.top, e.left + this._contentLeft); + } + _getTopAndBottomLeft(e) { + if (!this._viewRange) return [null, null]; + const t = e.linesVisibleRangesForRange(this._viewRange, !1); + if (!t || 0 === t.length) return [null, null]; + let i = t[0], + n = t[0]; + for (const e of t) + e.lineNumber < i.lineNumber && (i = e), + e.lineNumber > n.lineNumber && (n = e); + let r = 1073741824; + for (const e of i.ranges) e.left < r && (r = e.left); + let s = 1073741824; + for (const e of n.ranges) e.left < s && (s = e.left); + const o = + e.getVerticalOffsetForLineNumber(i.lineNumber) - e.scrollTop, + a = new Ue(o, r), + l = e.getVerticalOffsetForLineNumber(n.lineNumber) - e.scrollTop; + return [a, new Ue(l, s)]; + } + _prepareRenderWidget(e) { + const [t, i] = this._getTopAndBottomLeft(e); + if (!t || !i) return null; + if ( + -1 === this._cachedDomNodeClientWidth || + -1 === this._cachedDomNodeClientHeight + ) { + const e = this.domNode.domNode; + (this._cachedDomNodeClientWidth = e.clientWidth), + (this._cachedDomNodeClientHeight = e.clientHeight); + } + let n; + if ( + ((n = this.allowEditorOverflow + ? this._layoutBoxInPage( + t, + i, + this._cachedDomNodeClientWidth, + this._cachedDomNodeClientHeight, + e + ) + : this._layoutBoxInViewport( + t, + i, + this._cachedDomNodeClientWidth, + this._cachedDomNodeClientHeight, + e + )), + this._preference) + ) + for (let e = 1; e <= 2; e++) + for (const i of this._preference) + if (1 === i) { + if (!n) return null; + if (2 === e || n.fitsAbove) + return new Ue(n.aboveTop, n.aboveLeft); + } else { + if (2 !== i) + return this.allowEditorOverflow + ? this._prepareRenderWidgetAtExactPositionOverflowing(t) + : t; + if (!n) return null; + if (2 === e || n.fitsBelow) + return new Ue(n.belowTop, n.belowLeft); + } + return null; + } + onBeforeRender(e) { + this._viewRange && + this._preference && + (this._viewRange.endLineNumber < e.startLineNumber || + this._viewRange.startLineNumber > e.endLineNumber || + this.domNode.setMaxWidth(this._maxWidth)); + } + prepareRender(e) { + this._renderData = this._prepareRenderWidget(e); + } + render(e) { + this._renderData + ? (this.allowEditorOverflow + ? (this.domNode.setTop(this._renderData.top), + this.domNode.setLeft(this._renderData.left)) + : (this.domNode.setTop( + this._renderData.top + e.scrollTop - e.bigNumbersDelta + ), + this.domNode.setLeft(this._renderData.left)), + this._isVisible || + (this.domNode.setVisibility('inherit'), + this.domNode.setAttribute( + 'monaco-visible-content-widget', + 'true' + ), + (this._isVisible = !0))) + : this._isVisible && + (this.domNode.removeAttribute('monaco-visible-content-widget'), + (this._isVisible = !1), + this.domNode.setVisibility('hidden')); + } + } + var qe = i(9488); + let Ge = !0; + class Ze extends ke { + constructor(e) { + super(), (this._context = e); + const t = this._context.configuration.options, + i = t.get(117); + (this._lineHeight = t.get(51)), + (this._renderLineHighlight = t.get(77)), + (this._renderLineHightlightOnlyWhenFocus = t.get(78)), + (this._contentLeft = i.contentLeft), + (this._contentWidth = i.contentWidth), + (this._selectionIsEmpty = !0), + (this._focused = !1), + (this._cursorLineNumbers = []), + (this._selections = []), + (this._renderData = null), + this._context.addEventHandler(this); + } + dispose() { + this._context.removeEventHandler(this), super.dispose(); + } + _readFromSelections() { + let e = !1; + const t = Ge ? this._selections.slice(0, 1) : this._selections, + i = t.map((e) => e.positionLineNumber); + i.sort((e, t) => e - t), + qe.fS(this._cursorLineNumbers, i) || + ((this._cursorLineNumbers = i), (e = !0)); + const n = t.every((e) => e.isEmpty()); + return ( + this._selectionIsEmpty !== n && + ((this._selectionIsEmpty = n), (e = !0)), + e + ); + } + onThemeChanged(e) { + return this._readFromSelections(); + } + onConfigurationChanged(e) { + const t = this._context.configuration.options, + i = t.get(117); + return ( + (this._lineHeight = t.get(51)), + (this._renderLineHighlight = t.get(77)), + (this._renderLineHightlightOnlyWhenFocus = t.get(78)), + (this._contentLeft = i.contentLeft), + (this._contentWidth = i.contentWidth), + !0 + ); + } + onCursorStateChanged(e) { + return ( + (this._selections = e.selections), this._readFromSelections() + ); + } + onFlushed(e) { + return !0; + } + onLinesDeleted(e) { + return !0; + } + onLinesInserted(e) { + return !0; + } + onScrollChanged(e) { + return e.scrollWidthChanged || e.scrollTopChanged; + } + onZonesChanged(e) { + return !0; + } + onFocusChanged(e) { + return ( + !!this._renderLineHightlightOnlyWhenFocus && + ((this._focused = e.isFocused), !0) + ); + } + prepareRender(e) { + if (!this._shouldRenderThis()) + return void (this._renderData = null); + const t = this._renderOne(e), + i = e.visibleRange.startLineNumber, + n = e.visibleRange.endLineNumber, + r = this._cursorLineNumbers.length; + let s = 0; + const o = []; + for (let e = i; e <= n; e++) { + const n = e - i; + for (; s < r && this._cursorLineNumbers[s] < e; ) s++; + s < r && this._cursorLineNumbers[s] === e + ? (o[n] = t) + : (o[n] = ''); + } + this._renderData = o; + } + render(e, t) { + if (!this._renderData) return ''; + const i = t - e; + return i >= this._renderData.length ? '' : this._renderData[i]; + } + } + class Je extends Ze { + _renderOne(e) { + return `<div class="${ + 'current-line' + + (this._shouldRenderOther() ? ' current-line-both' : '') + }" style="width:${Math.max( + e.scrollWidth, + this._contentWidth + )}px; height:${this._lineHeight}px;"></div>`; + } + _shouldRenderThis() { + return ( + ('line' === this._renderLineHighlight || + 'all' === this._renderLineHighlight) && + this._selectionIsEmpty && + (!this._renderLineHightlightOnlyWhenFocus || this._focused) + ); + } + _shouldRenderOther() { + return ( + ('gutter' === this._renderLineHighlight || + 'all' === this._renderLineHighlight) && + (!this._renderLineHightlightOnlyWhenFocus || this._focused) + ); + } + } + class Qe extends Ze { + _renderOne(e) { + return `<div class="${ + 'current-line current-line-margin' + + (this._shouldRenderOther() ? ' current-line-margin-both' : '') + }" style="width:${this._contentLeft}px; height:${ + this._lineHeight + }px;"></div>`; + } + _shouldRenderThis() { + return ( + ('gutter' === this._renderLineHighlight || + 'all' === this._renderLineHighlight) && + (!this._renderLineHightlightOnlyWhenFocus || this._focused) + ); + } + _shouldRenderOther() { + return ( + ('line' === this._renderLineHighlight || + 'all' === this._renderLineHighlight) && + this._selectionIsEmpty && + (!this._renderLineHightlightOnlyWhenFocus || this._focused) + ); + } + } + (0, Y.Ic)((e, t) => { + Ge = !1; + const i = e.getColor(xe.Kh); + if ( + (i && + (t.addRule( + `.monaco-editor .view-overlays .current-line { background-color: ${i}; }` + ), + t.addRule( + `.monaco-editor .margin-view-overlays .current-line-margin { background-color: ${i}; border: none; }` + )), + !i || i.isTransparent() || e.defines(xe.Mm)) + ) { + const i = e.getColor(xe.Mm); + i && + ((Ge = !0), + t.addRule( + `.monaco-editor .view-overlays .current-line { border: 2px solid ${i}; }` + ), + t.addRule( + `.monaco-editor .margin-view-overlays .current-line-margin { border: 2px solid ${i}; }` + ), + 'hc' === e.type && + (t.addRule( + '.monaco-editor .view-overlays .current-line { border-width: 1px; }' + ), + t.addRule( + '.monaco-editor .margin-view-overlays .current-line-margin { border-width: 1px; }' + ))); + } + }); + class Xe extends ke { + constructor(e) { + super(), (this._context = e); + const t = this._context.configuration.options; + (this._lineHeight = t.get(51)), + (this._typicalHalfwidthCharacterWidth = t.get( + 36 + ).typicalHalfwidthCharacterWidth), + (this._renderResult = null), + this._context.addEventHandler(this); + } + dispose() { + this._context.removeEventHandler(this), + (this._renderResult = null), + super.dispose(); + } + onConfigurationChanged(e) { + const t = this._context.configuration.options; + return ( + (this._lineHeight = t.get(51)), + (this._typicalHalfwidthCharacterWidth = t.get( + 36 + ).typicalHalfwidthCharacterWidth), + !0 + ); + } + onDecorationsChanged(e) { + return !0; + } + onFlushed(e) { + return !0; + } + onLinesChanged(e) { + return !0; + } + onLinesDeleted(e) { + return !0; + } + onLinesInserted(e) { + return !0; + } + onScrollChanged(e) { + return e.scrollTopChanged || e.scrollWidthChanged; + } + onZonesChanged(e) { + return !0; + } + prepareRender(e) { + const t = e.getDecorationsInViewport(); + let i = [], + n = 0; + for (let e = 0, r = t.length; e < r; e++) { + const r = t[e]; + r.options.className && (i[n++] = r); + } + i = i.sort((e, t) => { + if (e.options.zIndex < t.options.zIndex) return -1; + if (e.options.zIndex > t.options.zIndex) return 1; + const i = e.options.className, + n = t.options.className; + return i < n + ? -1 + : i > n + ? 1 + : X.e.compareRangesUsingStarts(e.range, t.range); + }); + const r = e.visibleRange.startLineNumber, + s = e.visibleRange.endLineNumber, + o = []; + for (let e = r; e <= s; e++) o[e - r] = ''; + this._renderWholeLineDecorations(e, i, o), + this._renderNormalDecorations(e, i, o), + (this._renderResult = o); + } + _renderWholeLineDecorations(e, t, i) { + const n = String(this._lineHeight), + r = e.visibleRange.startLineNumber, + s = e.visibleRange.endLineNumber; + for (let e = 0, o = t.length; e < o; e++) { + const o = t[e]; + if (!o.options.isWholeLine) continue; + const a = + '<div class="cdr ' + + o.options.className + + '" style="left:0;width:100%;height:' + + n + + 'px;"></div>', + l = Math.max(o.range.startLineNumber, r), + c = Math.min(o.range.endLineNumber, s); + for (let e = l; e <= c; e++) i[e - r] += a; + } + } + _renderNormalDecorations(e, t, i) { + const n = String(this._lineHeight), + r = e.visibleRange.startLineNumber; + let s = null, + o = !1, + a = null; + for (let l = 0, c = t.length; l < c; l++) { + const c = t[l]; + if (c.options.isWholeLine) continue; + const d = c.options.className, + h = Boolean(c.options.showIfCollapsed); + let u = c.range; + h && + 1 === u.endColumn && + u.endLineNumber !== u.startLineNumber && + (u = new X.e( + u.startLineNumber, + u.startColumn, + u.endLineNumber - 1, + this._context.model.getLineMaxColumn(u.endLineNumber - 1) + )), + s === d && o === h && X.e.areIntersectingOrTouching(a, u) + ? (a = X.e.plusRange(a, u)) + : (null !== s && + this._renderNormalDecoration(e, a, s, o, n, r, i), + (s = d), + (o = h), + (a = u)); + } + null !== s && this._renderNormalDecoration(e, a, s, o, n, r, i); + } + _renderNormalDecoration(e, t, i, n, r, s, o) { + const a = e.linesVisibleRangesForRange(t, 'findMatch' === i); + if (a) + for (let e = 0, t = a.length; e < t; e++) { + const t = a[e]; + if (t.outsideRenderedLine) continue; + const l = t.lineNumber - s; + if (n && 1 === t.ranges.length) { + const e = t.ranges[0]; + 0 === e.width && + (t.ranges[0] = new O( + e.left, + this._typicalHalfwidthCharacterWidth + )); + } + for (let e = 0, n = t.ranges.length; e < n; e++) { + const n = t.ranges[e], + s = + '<div class="cdr ' + + i + + '" style="left:' + + String(n.left) + + 'px;width:' + + String(n.width) + + 'px;height:' + + r + + 'px;"></div>'; + o[l] += s; + } + } + } + render(e, t) { + if (!this._renderResult) return ''; + const i = t - e; + return i < 0 || i >= this._renderResult.length + ? '' + : this._renderResult[i]; + } + } + var et = i(9802); + class tt extends N { + constructor(e, t, i, n) { + super(e); + const s = this._context.configuration.options, + o = s.get(84), + a = s.get(58), + l = s.get(28), + c = s.get(87), + d = { + listenOnDomNode: i.domNode, + className: 'editor-scrollable ' + (0, Y.m6)(e.theme.type), + useShadows: !1, + lazyRender: !0, + vertical: o.vertical, + horizontal: o.horizontal, + verticalHasArrows: o.verticalHasArrows, + horizontalHasArrows: o.horizontalHasArrows, + verticalScrollbarSize: o.verticalScrollbarSize, + verticalSliderSize: o.verticalSliderSize, + horizontalScrollbarSize: o.horizontalScrollbarSize, + horizontalSliderSize: o.horizontalSliderSize, + handleMouseWheel: o.handleMouseWheel, + alwaysConsumeMouseWheel: o.alwaysConsumeMouseWheel, + arrowSize: o.arrowSize, + mouseWheelScrollSensitivity: a, + fastScrollSensitivity: l, + scrollPredominantAxis: c, + }; + (this.scrollbar = this._register( + new et.$Z(t.domNode, d, this._context.viewLayout.getScrollable()) + )), + E.write(this.scrollbar.getDomNode(), 5), + (this.scrollbarDomNode = (0, g.X)(this.scrollbar.getDomNode())), + this.scrollbarDomNode.setPosition('absolute'), + this._setLayout(); + const h = (e, t, i) => { + const n = {}; + if (t) { + const t = e.scrollTop; + t && + ((n.scrollTop = + this._context.viewLayout.getCurrentScrollTop() + t), + (e.scrollTop = 0)); + } + if (i) { + const t = e.scrollLeft; + t && + ((n.scrollLeft = + this._context.viewLayout.getCurrentScrollLeft() + t), + (e.scrollLeft = 0)); + } + this._context.model.setScrollPosition(n, 1); + }; + this._register( + r.nm(i.domNode, 'scroll', (e) => h(i.domNode, !0, !0)) + ), + this._register( + r.nm(t.domNode, 'scroll', (e) => h(t.domNode, !0, !1)) + ), + this._register( + r.nm(n.domNode, 'scroll', (e) => h(n.domNode, !0, !1)) + ), + this._register( + r.nm(this.scrollbarDomNode.domNode, 'scroll', (e) => + h(this.scrollbarDomNode.domNode, !0, !1) + ) + ); + } + dispose() { + super.dispose(); + } + _setLayout() { + const e = this._context.configuration.options, + t = e.get(117); + this.scrollbarDomNode.setLeft(t.contentLeft), + 'right' === e.get(56).side + ? this.scrollbarDomNode.setWidth( + t.contentWidth + t.minimap.minimapWidth + ) + : this.scrollbarDomNode.setWidth(t.contentWidth), + this.scrollbarDomNode.setHeight(t.height); + } + getOverviewRulerLayoutInfo() { + return this.scrollbar.getOverviewRulerLayoutInfo(); + } + getDomNode() { + return this.scrollbarDomNode; + } + delegateVerticalScrollbarMouseDown(e) { + this.scrollbar.delegateVerticalScrollbarMouseDown(e); + } + onConfigurationChanged(e) { + if (e.hasChanged(84) || e.hasChanged(58) || e.hasChanged(28)) { + const e = this._context.configuration.options, + t = e.get(84), + i = e.get(58), + n = e.get(28), + r = e.get(87), + s = { + handleMouseWheel: t.handleMouseWheel, + mouseWheelScrollSensitivity: i, + fastScrollSensitivity: n, + scrollPredominantAxis: r, + }; + this.scrollbar.updateOptions(s); + } + return e.hasChanged(117) && this._setLayout(), !0; + } + onScrollChanged(e) { + return !0; + } + onThemeChanged(e) { + return ( + this.scrollbar.updateClassName( + 'editor-scrollable ' + (0, Y.m6)(this._context.theme.type) + ), + !0 + ); + } + prepareRender(e) {} + render(e) { + this.scrollbar.renderNow(); + } + } + class it { + constructor(e, t, i) { + (this.startLineNumber = +e), + (this.endLineNumber = +t), + (this.className = String(i)); + } + } + class nt extends ke { + _render(e, t, i) { + const n = []; + for (let i = e; i <= t; i++) n[i - e] = []; + if (0 === i.length) return n; + i.sort((e, t) => + e.className === t.className + ? e.startLineNumber === t.startLineNumber + ? e.endLineNumber - t.endLineNumber + : e.startLineNumber - t.startLineNumber + : e.className < t.className + ? -1 + : 1 + ); + let r = null, + s = 0; + for (let o = 0, a = i.length; o < a; o++) { + const a = i[o], + l = a.className; + let c = Math.max(a.startLineNumber, e) - e; + const d = Math.min(a.endLineNumber, t) - e; + r === l + ? ((c = Math.max(s + 1, c)), (s = Math.max(s, d))) + : ((r = l), (s = d)); + for (let e = c; e <= s; e++) n[e].push(r); + } + return n; + } + } + class rt extends nt { + constructor(e) { + super(), (this._context = e); + const t = this._context.configuration.options, + i = t.get(117); + (this._lineHeight = t.get(51)), + (this._glyphMargin = t.get(42)), + (this._glyphMarginLeft = i.glyphMarginLeft), + (this._glyphMarginWidth = i.glyphMarginWidth), + (this._renderResult = null), + this._context.addEventHandler(this); + } + dispose() { + this._context.removeEventHandler(this), + (this._renderResult = null), + super.dispose(); + } + onConfigurationChanged(e) { + const t = this._context.configuration.options, + i = t.get(117); + return ( + (this._lineHeight = t.get(51)), + (this._glyphMargin = t.get(42)), + (this._glyphMarginLeft = i.glyphMarginLeft), + (this._glyphMarginWidth = i.glyphMarginWidth), + !0 + ); + } + onDecorationsChanged(e) { + return !0; + } + onFlushed(e) { + return !0; + } + onLinesChanged(e) { + return !0; + } + onLinesDeleted(e) { + return !0; + } + onLinesInserted(e) { + return !0; + } + onScrollChanged(e) { + return e.scrollTopChanged; + } + onZonesChanged(e) { + return !0; + } + _getDecorations(e) { + const t = e.getDecorationsInViewport(); + let i = [], + n = 0; + for (let e = 0, r = t.length; e < r; e++) { + const r = t[e], + s = r.options.glyphMarginClassName; + s && + (i[n++] = new it( + r.range.startLineNumber, + r.range.endLineNumber, + s + )); + } + return i; + } + prepareRender(e) { + if (!this._glyphMargin) return void (this._renderResult = null); + const t = e.visibleRange.startLineNumber, + i = e.visibleRange.endLineNumber, + n = this._render(t, i, this._getDecorations(e)), + r = this._lineHeight.toString(), + s = + '" style="left:' + + this._glyphMarginLeft.toString() + + 'px;width:' + + this._glyphMarginWidth.toString() + + 'px;height:' + + r + + 'px;"></div>', + o = []; + for (let e = t; e <= i; e++) { + const i = e - t, + r = n[i]; + 0 === r.length + ? (o[i] = '') + : (o[i] = '<div class="cgmr codicon ' + r.join(' ') + s); + } + this._renderResult = o; + } + render(e, t) { + if (!this._renderResult) return ''; + const i = t - e; + return i < 0 || i >= this._renderResult.length + ? '' + : this._renderResult[i]; + } + } + class st extends ke { + constructor(e) { + super(), (this._context = e), (this._primaryLineNumber = 0); + const t = this._context.configuration.options, + i = t.get(118), + n = t.get(36); + (this._lineHeight = t.get(51)), + (this._spaceWidth = n.spaceWidth), + (this._enabled = t.get(75)), + (this._activeIndentEnabled = t.get(45)), + (this._maxIndentLeft = + -1 === i.wrappingColumn + ? -1 + : i.wrappingColumn * n.typicalHalfwidthCharacterWidth), + (this._renderResult = null), + this._context.addEventHandler(this); + } + dispose() { + this._context.removeEventHandler(this), + (this._renderResult = null), + super.dispose(); + } + onConfigurationChanged(e) { + const t = this._context.configuration.options, + i = t.get(118), + n = t.get(36); + return ( + (this._lineHeight = t.get(51)), + (this._spaceWidth = n.spaceWidth), + (this._enabled = t.get(75)), + (this._activeIndentEnabled = t.get(45)), + (this._maxIndentLeft = + -1 === i.wrappingColumn + ? -1 + : i.wrappingColumn * n.typicalHalfwidthCharacterWidth), + !0 + ); + } + onCursorStateChanged(e) { + const t = e.selections[0], + i = t.isEmpty() ? t.positionLineNumber : 0; + return ( + this._primaryLineNumber !== i && + ((this._primaryLineNumber = i), !0) + ); + } + onDecorationsChanged(e) { + return !0; + } + onFlushed(e) { + return !0; + } + onLinesChanged(e) { + return !0; + } + onLinesDeleted(e) { + return !0; + } + onLinesInserted(e) { + return !0; + } + onScrollChanged(e) { + return e.scrollTopChanged; + } + onZonesChanged(e) { + return !0; + } + onLanguageConfigurationChanged(e) { + return !0; + } + prepareRender(e) { + if (!this._enabled) return void (this._renderResult = null); + const t = e.visibleRange.startLineNumber, + i = e.visibleRange.endLineNumber, + { indentSize: n } = this._context.model.getTextModelOptions(), + r = n * this._spaceWidth, + s = e.scrollWidth, + o = this._lineHeight, + a = this._context.model.getLinesIndentGuides(t, i); + let l = 0, + c = 0, + d = 0; + if (this._activeIndentEnabled && this._primaryLineNumber) { + const e = this._context.model.getActiveIndentGuide( + this._primaryLineNumber, + t, + i + ); + (l = e.startLineNumber), (c = e.endLineNumber), (d = e.indent); + } + const h = []; + for (let n = t; n <= i; n++) { + const i = l <= n && n <= c, + u = n - t, + g = a[u]; + let f = ''; + if (g >= 1) { + const t = e.visibleRangeForPosition(new Q.L(n, 1)); + let a = t ? t.left : 0; + for ( + let e = 1; + e <= g && + ((f += `<div class="${ + i && e === d ? 'cigra' : 'cigr' + }" style="left:${a}px;height:${o}px;width:${r}px"></div>`), + (a += r), + !( + a > s || + (this._maxIndentLeft > 0 && a > this._maxIndentLeft) + )); + e++ + ); + } + h[u] = f; + } + this._renderResult = h; + } + render(e, t) { + if (!this._renderResult) return ''; + const i = t - e; + return i < 0 || i >= this._renderResult.length + ? '' + : this._renderResult[i]; + } + } + (0, Y.Ic)((e, t) => { + const i = e.getColor(xe.tR); + i && + t.addRule( + `.monaco-editor .lines-content .cigr { box-shadow: 1px 0 0 0 ${i} inset; }` + ); + const n = e.getColor(xe.Ym) || i; + n && + t.addRule( + `.monaco-editor .lines-content .cigra { box-shadow: 1px 0 0 0 ${n} inset; }` + ); + }); + class ot { + constructor() { + this._currentVisibleRange = new X.e(1, 1, 1, 1); + } + getCurrentVisibleRange() { + return this._currentVisibleRange; + } + setCurrentVisibleRange(e) { + this._currentVisibleRange = e; + } + } + class at { + constructor(e, t, i, n, r, s) { + (this.lineNumber = e), + (this.startColumn = t), + (this.endColumn = i), + (this.startScrollTop = n), + (this.stopScrollTop = r), + (this.scrollType = s), + (this.type = 'range'), + (this.minLineNumber = e), + (this.maxLineNumber = e); + } + } + class lt { + constructor(e, t, i, n) { + (this.selections = e), + (this.startScrollTop = t), + (this.stopScrollTop = i), + (this.scrollType = n), + (this.type = 'selections'); + let r = e[0].startLineNumber, + s = e[0].endLineNumber; + for (let t = 1, i = e.length; t < i; t++) { + const i = e[t]; + (r = Math.min(r, i.startLineNumber)), + (s = Math.max(s, i.endLineNumber)); + } + (this.minLineNumber = r), (this.maxLineNumber = s); + } + } + class ct extends N { + constructor(e, t) { + super(e), + (this._linesContent = t), + (this._textRangeRestingSpot = document.createElement('div')), + (this._visibleLines = new We(this)), + (this.domNode = this._visibleLines.domNode); + const i = this._context.configuration, + n = this._context.configuration.options, + r = n.get(36), + s = n.get(118); + (this._lineHeight = n.get(51)), + (this._typicalHalfwidthCharacterWidth = + r.typicalHalfwidthCharacterWidth), + (this._isViewportWrapping = s.isViewportWrapping), + (this._revealHorizontalRightPadding = n.get(81)), + (this._cursorSurroundingLines = n.get(20)), + (this._cursorSurroundingLinesStyle = n.get(21)), + (this._canUseLayerHinting = !n.get(23)), + (this._viewLineOptions = new $(i, this._context.theme.type)), + E.write(this.domNode, 7), + this.domNode.setClassName(`view-lines ${Ne.S}`), + c.V.applyFontInfo(this.domNode, r), + (this._maxLineWidth = 0), + (this._asyncUpdateLineWidths = new _.pY(() => { + this._updateLineWidthsSlow(); + }, 200)), + (this._asyncCheckMonospaceFontAssumptions = new _.pY(() => { + this._checkMonospaceFontAssumptions(); + }, 2e3)), + (this._lastRenderedData = new ot()), + (this._horizontalRevealRequest = null); + } + dispose() { + this._asyncUpdateLineWidths.dispose(), + this._asyncCheckMonospaceFontAssumptions.dispose(), + super.dispose(); + } + getDomNode() { + return this.domNode; + } + createVisibleLine() { + return new K(this._viewLineOptions); + } + onConfigurationChanged(e) { + this._visibleLines.onConfigurationChanged(e), + e.hasChanged(118) && (this._maxLineWidth = 0); + const t = this._context.configuration.options, + i = t.get(36), + n = t.get(118); + return ( + (this._lineHeight = t.get(51)), + (this._typicalHalfwidthCharacterWidth = + i.typicalHalfwidthCharacterWidth), + (this._isViewportWrapping = n.isViewportWrapping), + (this._revealHorizontalRightPadding = t.get(81)), + (this._cursorSurroundingLines = t.get(20)), + (this._cursorSurroundingLinesStyle = t.get(21)), + (this._canUseLayerHinting = !t.get(23)), + c.V.applyFontInfo(this.domNode, i), + this._onOptionsMaybeChanged(), + e.hasChanged(117) && (this._maxLineWidth = 0), + !0 + ); + } + _onOptionsMaybeChanged() { + const e = this._context.configuration, + t = new $(e, this._context.theme.type); + if (!this._viewLineOptions.equals(t)) { + this._viewLineOptions = t; + const e = this._visibleLines.getStartLineNumber(), + i = this._visibleLines.getEndLineNumber(); + for (let t = e; t <= i; t++) + this._visibleLines + .getVisibleLine(t) + .onOptionsChanged(this._viewLineOptions); + return !0; + } + return !1; + } + onCursorStateChanged(e) { + const t = this._visibleLines.getStartLineNumber(), + i = this._visibleLines.getEndLineNumber(); + let n = !1; + for (let e = t; e <= i; e++) + n = + this._visibleLines.getVisibleLine(e).onSelectionChanged() || n; + return n; + } + onDecorationsChanged(e) { + { + const e = this._visibleLines.getStartLineNumber(), + t = this._visibleLines.getEndLineNumber(); + for (let i = e; i <= t; i++) + this._visibleLines.getVisibleLine(i).onDecorationsChanged(); + } + return !0; + } + onFlushed(e) { + const t = this._visibleLines.onFlushed(e); + return (this._maxLineWidth = 0), t; + } + onLinesChanged(e) { + return this._visibleLines.onLinesChanged(e); + } + onLinesDeleted(e) { + return this._visibleLines.onLinesDeleted(e); + } + onLinesInserted(e) { + return this._visibleLines.onLinesInserted(e); + } + onRevealRangeRequest(e) { + const t = this._computeScrollTopToRevealRange( + this._context.viewLayout.getFutureViewport(), + e.source, + e.range, + e.selections, + e.verticalType + ); + if (-1 === t) return !1; + let i = this._context.viewLayout.validateScrollPosition({ + scrollTop: t, + }); + e.revealHorizontal + ? e.range && e.range.startLineNumber !== e.range.endLineNumber + ? (i = { scrollTop: i.scrollTop, scrollLeft: 0 }) + : e.range + ? (this._horizontalRevealRequest = new at( + e.range.startLineNumber, + e.range.startColumn, + e.range.endColumn, + this._context.viewLayout.getCurrentScrollTop(), + i.scrollTop, + e.scrollType + )) + : e.selections && + e.selections.length > 0 && + (this._horizontalRevealRequest = new lt( + e.selections, + this._context.viewLayout.getCurrentScrollTop(), + i.scrollTop, + e.scrollType + )) + : (this._horizontalRevealRequest = null); + const n = + Math.abs( + this._context.viewLayout.getCurrentScrollTop() - i.scrollTop + ) <= this._lineHeight + ? 1 + : e.scrollType; + return this._context.model.setScrollPosition(i, n), !0; + } + onScrollChanged(e) { + if ( + (this._horizontalRevealRequest && + e.scrollLeftChanged && + (this._horizontalRevealRequest = null), + this._horizontalRevealRequest && e.scrollTopChanged) + ) { + const t = Math.min( + this._horizontalRevealRequest.startScrollTop, + this._horizontalRevealRequest.stopScrollTop + ), + i = Math.max( + this._horizontalRevealRequest.startScrollTop, + this._horizontalRevealRequest.stopScrollTop + ); + (e.scrollTop < t || e.scrollTop > i) && + (this._horizontalRevealRequest = null); + } + return ( + this.domNode.setWidth(e.scrollWidth), + this._visibleLines.onScrollChanged(e) || !0 + ); + } + onTokensChanged(e) { + return this._visibleLines.onTokensChanged(e); + } + onZonesChanged(e) { + return ( + this._context.model.setMaxLineWidth(this._maxLineWidth), + this._visibleLines.onZonesChanged(e) + ); + } + onThemeChanged(e) { + return this._onOptionsMaybeChanged(); + } + getPositionFromDOMInfo(e, t) { + const i = this._getViewLineDomNode(e); + if (null === i) return null; + const n = this._getLineNumberFor(i); + if (-1 === n) return null; + if (n < 1 || n > this._context.model.getLineCount()) return null; + if (1 === this._context.model.getLineMaxColumn(n)) + return new Q.L(n, 1); + const r = this._visibleLines.getStartLineNumber(), + s = this._visibleLines.getEndLineNumber(); + if (n < r || n > s) return null; + let o = this._visibleLines + .getVisibleLine(n) + .getColumnOfNodeOffset(n, e, t); + const a = this._context.model.getLineMinColumn(n); + return o < a && (o = a), new Q.L(n, o); + } + _getViewLineDomNode(e) { + for (; e && 1 === e.nodeType; ) { + if (e.className === K.CLASS_NAME) return e; + e = e.parentElement; + } + return null; + } + _getLineNumberFor(e) { + const t = this._visibleLines.getStartLineNumber(), + i = this._visibleLines.getEndLineNumber(); + for (let n = t; n <= i; n++) + if (e === this._visibleLines.getVisibleLine(n).getDomNode()) + return n; + return -1; + } + getLineWidth(e) { + const t = this._visibleLines.getStartLineNumber(), + i = this._visibleLines.getEndLineNumber(); + return e < t || e > i + ? -1 + : this._visibleLines.getVisibleLine(e).getWidth(); + } + linesVisibleRangesForRange(e, t) { + if (this.shouldRender()) return null; + const i = e.endLineNumber, + n = X.e.intersectRanges( + e, + this._lastRenderedData.getCurrentVisibleRange() + ); + if (!n) return null; + let r = [], + s = 0; + const o = new U(this.domNode.domNode, this._textRangeRestingSpot); + let a = 0; + t && + (a = this._context.model.coordinatesConverter.convertViewPositionToModelPosition( + new Q.L(n.startLineNumber, 1) + ).lineNumber); + const l = this._visibleLines.getStartLineNumber(), + c = this._visibleLines.getEndLineNumber(); + for (let e = n.startLineNumber; e <= n.endLineNumber; e++) { + if (e < l || e > c) continue; + const d = e === n.startLineNumber ? n.startColumn : 1, + h = + e === n.endLineNumber + ? n.endColumn + : this._context.model.getLineMaxColumn(e), + u = this._visibleLines + .getVisibleLine(e) + .getVisibleRangesForRange(d, h, o); + if (u) { + if (t && e < i) { + const t = a; + (a = this._context.model.coordinatesConverter.convertViewPositionToModelPosition( + new Q.L(e + 1, 1) + ).lineNumber), + t !== a && + (u.ranges[ + u.ranges.length - 1 + ].width += this._typicalHalfwidthCharacterWidth); + } + r[s++] = new I(u.outsideRenderedLine, e, u.ranges); + } + } + return 0 === s ? null : r; + } + _visibleRangesForLineRange(e, t, i) { + return this.shouldRender() || + e < this._visibleLines.getStartLineNumber() || + e > this._visibleLines.getEndLineNumber() + ? null + : this._visibleLines + .getVisibleLine(e) + .getVisibleRangesForRange( + t, + i, + new U(this.domNode.domNode, this._textRangeRestingSpot) + ); + } + visibleRangeForPosition(e) { + const t = this._visibleRangesForLineRange( + e.lineNumber, + e.column, + e.column + ); + return t ? new A(t.outsideRenderedLine, t.ranges[0].left) : null; + } + updateLineWidths() { + this._updateLineWidths(!1); + } + _updateLineWidthsFast() { + return this._updateLineWidths(!0); + } + _updateLineWidthsSlow() { + this._updateLineWidths(!1); + } + _updateLineWidths(e) { + const t = this._visibleLines.getStartLineNumber(), + i = this._visibleLines.getEndLineNumber(); + let n = 1, + r = !0; + for (let s = t; s <= i; s++) { + const t = this._visibleLines.getVisibleLine(s); + !e || t.getWidthIsFast() + ? (n = Math.max(n, t.getWidth())) + : (r = !1); + } + return ( + r && + 1 === t && + i === this._context.model.getLineCount() && + (this._maxLineWidth = 0), + this._ensureMaxLineWidth(n), + r + ); + } + _checkMonospaceFontAssumptions() { + let e = -1, + t = -1; + const i = this._visibleLines.getStartLineNumber(), + n = this._visibleLines.getEndLineNumber(); + for (let r = i; r <= n; r++) { + const i = this._visibleLines.getVisibleLine(r); + if (i.needsMonospaceFontCheck()) { + const n = i.getWidth(); + n > t && ((t = n), (e = r)); + } + } + if ( + -1 !== e && + !this._visibleLines + .getVisibleLine(e) + .monospaceAssumptionsAreValid() + ) + for (let e = i; e <= n; e++) + this._visibleLines + .getVisibleLine(e) + .onMonospaceAssumptionsInvalidated(); + } + prepareRender() { + throw new Error('Not supported'); + } + render() { + throw new Error('Not supported'); + } + renderText(e) { + if ( + (this._visibleLines.renderLines(e), + this._lastRenderedData.setCurrentVisibleRange(e.visibleRange), + this.domNode.setWidth(this._context.viewLayout.getScrollWidth()), + this.domNode.setHeight( + Math.min(this._context.viewLayout.getScrollHeight(), 1e6) + ), + this._horizontalRevealRequest) + ) { + const t = this._horizontalRevealRequest; + if ( + e.startLineNumber <= t.minLineNumber && + t.maxLineNumber <= e.endLineNumber + ) { + (this._horizontalRevealRequest = null), this.onDidRender(); + const e = this._computeScrollLeftToReveal(t); + e && + (this._isViewportWrapping || + this._ensureMaxLineWidth(e.maxHorizontalOffset), + this._context.model.setScrollPosition( + { scrollLeft: e.scrollLeft }, + t.scrollType + )); + } + } + if ( + (this._updateLineWidthsFast() || + this._asyncUpdateLineWidths.schedule(), + f.IJ && !this._asyncCheckMonospaceFontAssumptions.isScheduled()) + ) { + const e = this._visibleLines.getStartLineNumber(), + t = this._visibleLines.getEndLineNumber(); + for (let i = e; i <= t; i++) + if ( + this._visibleLines.getVisibleLine(i).needsMonospaceFontCheck() + ) { + this._asyncCheckMonospaceFontAssumptions.schedule(); + break; + } + } + this._linesContent.setLayerHinting(this._canUseLayerHinting), + this._linesContent.setContain('strict'); + const t = + this._context.viewLayout.getCurrentScrollTop() - + e.bigNumbersDelta; + this._linesContent.setTop(-t), + this._linesContent.setLeft( + -this._context.viewLayout.getCurrentScrollLeft() + ); + } + _ensureMaxLineWidth(e) { + const t = Math.ceil(e); + this._maxLineWidth < t && + ((this._maxLineWidth = t), + this._context.model.setMaxLineWidth(this._maxLineWidth)); + } + _computeScrollTopToRevealRange(e, t, i, n, r) { + const s = e.top, + o = e.height, + a = s + o; + let l, c, d, h; + if (n && n.length > 0) { + let e = n[0].startLineNumber, + t = n[0].endLineNumber; + for (let i = 1, r = n.length; i < r; i++) { + const r = n[i]; + (e = Math.min(e, r.startLineNumber)), + (t = Math.max(t, r.endLineNumber)); + } + (l = !1), + (c = this._context.viewLayout.getVerticalOffsetForLineNumber( + e + )), + (d = + this._context.viewLayout.getVerticalOffsetForLineNumber(t) + + this._lineHeight); + } else { + if (!i) return -1; + (l = !0), + (c = this._context.viewLayout.getVerticalOffsetForLineNumber( + i.startLineNumber + )), + (d = + this._context.viewLayout.getVerticalOffsetForLineNumber( + i.endLineNumber + ) + this._lineHeight); + } + if ( + 'mouse' !== t || + 'default' !== this._cursorSurroundingLinesStyle + ) { + const e = Math.min( + o / this._lineHeight / 2, + this._cursorSurroundingLines + ); + (c -= e * this._lineHeight), + (d += Math.max(0, e - 1) * this._lineHeight); + } + if (((0 !== r && 4 !== r) || (d += this._lineHeight), d - c > o)) { + if (!l) return -1; + h = c; + } else if (5 === r || 6 === r) + if (6 === r && s <= c && d <= a) h = s; + else { + const e = c - Math.max(5 * this._lineHeight, 0.2 * o), + t = d - o; + h = Math.max(t, e); + } + else if (1 === r || 2 === r) + if (2 === r && s <= c && d <= a) h = s; + else { + const e = (c + d) / 2; + h = Math.max(0, e - o / 2); + } + else + h = this._computeMinimumScrolling(s, a, c, d, 3 === r, 4 === r); + return h; + } + _computeScrollLeftToReveal(e) { + const t = this._context.viewLayout.getCurrentViewport(), + i = t.left, + n = i + t.width; + let r = 1073741824, + s = 0; + if ('range' === e.type) { + const t = this._visibleRangesForLineRange( + e.lineNumber, + e.startColumn, + e.endColumn + ); + if (!t) return null; + for (const e of t.ranges) + (r = Math.min(r, e.left)), (s = Math.max(s, e.left + e.width)); + } else + for (const t of e.selections) { + if (t.startLineNumber !== t.endLineNumber) return null; + const e = this._visibleRangesForLineRange( + t.startLineNumber, + t.startColumn, + t.endColumn + ); + if (!e) return null; + for (const t of e.ranges) + (r = Math.min(r, t.left)), + (s = Math.max(s, t.left + t.width)); + } + return ( + (r = Math.max(0, r - ct.HORIZONTAL_EXTRA_PX)), + (s += this._revealHorizontalRightPadding), + 'selections' === e.type && s - r > t.width + ? null + : { + scrollLeft: this._computeMinimumScrolling(i, n, r, s), + maxHorizontalOffset: s, + } + ); + } + _computeMinimumScrolling(e, t, i, n, r, s) { + (r = !!r), (s = !!s); + const o = (t |= 0) - (e |= 0); + return (n |= 0) - (i |= 0) < o + ? r + ? i + : s + ? Math.max(0, n - o) + : i < e + ? i + : n > t + ? Math.max(0, n - o) + : e + : i; + } + } + ct.HORIZONTAL_EXTRA_PX = 30; + class dt extends nt { + constructor(e) { + super(), (this._context = e); + const t = this._context.configuration.options.get(117); + (this._decorationsLeft = t.decorationsLeft), + (this._decorationsWidth = t.decorationsWidth), + (this._renderResult = null), + this._context.addEventHandler(this); + } + dispose() { + this._context.removeEventHandler(this), + (this._renderResult = null), + super.dispose(); + } + onConfigurationChanged(e) { + const t = this._context.configuration.options.get(117); + return ( + (this._decorationsLeft = t.decorationsLeft), + (this._decorationsWidth = t.decorationsWidth), + !0 + ); + } + onDecorationsChanged(e) { + return !0; + } + onFlushed(e) { + return !0; + } + onLinesChanged(e) { + return !0; + } + onLinesDeleted(e) { + return !0; + } + onLinesInserted(e) { + return !0; + } + onScrollChanged(e) { + return e.scrollTopChanged; + } + onZonesChanged(e) { + return !0; + } + _getDecorations(e) { + const t = e.getDecorationsInViewport(); + let i = [], + n = 0; + for (let e = 0, r = t.length; e < r; e++) { + const r = t[e], + s = r.options.linesDecorationsClassName; + s && + (i[n++] = new it( + r.range.startLineNumber, + r.range.endLineNumber, + s + )); + const o = r.options.firstLineDecorationClassName; + o && + (i[n++] = new it( + r.range.startLineNumber, + r.range.startLineNumber, + o + )); + } + return i; + } + prepareRender(e) { + const t = e.visibleRange.startLineNumber, + i = e.visibleRange.endLineNumber, + n = this._render(t, i, this._getDecorations(e)), + r = + '" style="left:' + + this._decorationsLeft.toString() + + 'px;width:' + + this._decorationsWidth.toString() + + 'px;"></div>', + s = []; + for (let e = t; e <= i; e++) { + const i = e - t, + o = n[i]; + let a = ''; + for (let e = 0, t = o.length; e < t; e++) + a += '<div class="cldr ' + o[e] + r; + s[i] = a; + } + this._renderResult = s; + } + render(e, t) { + return this._renderResult ? this._renderResult[t - e] : ''; + } + } + class ht extends nt { + constructor(e) { + super(), + (this._context = e), + (this._renderResult = null), + this._context.addEventHandler(this); + } + dispose() { + this._context.removeEventHandler(this), + (this._renderResult = null), + super.dispose(); + } + onConfigurationChanged(e) { + return !0; + } + onDecorationsChanged(e) { + return !0; + } + onFlushed(e) { + return !0; + } + onLinesChanged(e) { + return !0; + } + onLinesDeleted(e) { + return !0; + } + onLinesInserted(e) { + return !0; + } + onScrollChanged(e) { + return e.scrollTopChanged; + } + onZonesChanged(e) { + return !0; + } + _getDecorations(e) { + const t = e.getDecorationsInViewport(); + let i = [], + n = 0; + for (let e = 0, r = t.length; e < r; e++) { + const r = t[e], + s = r.options.marginClassName; + s && + (i[n++] = new it( + r.range.startLineNumber, + r.range.endLineNumber, + s + )); + } + return i; + } + prepareRender(e) { + const t = e.visibleRange.startLineNumber, + i = e.visibleRange.endLineNumber, + n = this._render(t, i, this._getDecorations(e)), + r = []; + for (let e = t; e <= i; e++) { + const i = e - t, + s = n[i]; + let o = ''; + for (let e = 0, t = s.length; e < t; e++) + o += '<div class="cmdr ' + s[e] + '" style=""></div>'; + r[i] = o; + } + this._renderResult = r; + } + render(e, t) { + return this._renderResult ? this._renderResult[t - e] : ''; + } + } + class ut { + constructor(e, t, i, n) { + (this.r = ut._clamp(e)), + (this.g = ut._clamp(t)), + (this.b = ut._clamp(i)), + (this.a = ut._clamp(n)); + } + equals(e) { + return ( + this.r === e.r && + this.g === e.g && + this.b === e.b && + this.a === e.a + ); + } + static _clamp(e) { + return e < 0 ? 0 : e > 255 ? 255 : 0 | e; + } + } + ut.Empty = new ut(0, 0, 0, 0); + var gt = i(43775); + class ft { + constructor() { + (this._onDidChange = new o.Q5()), + (this.onDidChange = this._onDidChange.event), + this._updateColorMap(), + gt.RW.onDidChange((e) => { + e.changedColorMap && this._updateColorMap(); + }); + } + static getInstance() { + return ( + this._INSTANCE || (this._INSTANCE = new ft()), this._INSTANCE + ); + } + _updateColorMap() { + const e = gt.RW.getColorMap(); + if (!e) + return ( + (this._colors = [ut.Empty]), void (this._backgroundIsLight = !0) + ); + this._colors = [ut.Empty]; + for (let t = 1; t < e.length; t++) { + const i = e[t].rgba; + this._colors[t] = new ut(i.r, i.g, i.b, Math.round(255 * i.a)); + } + let t = e[2].getRelativeLuminance(); + (this._backgroundIsLight = t >= 0.5), + this._onDidChange.fire(void 0); + } + getColor(e) { + return ( + (e < 1 || e >= this._colors.length) && (e = 2), this._colors[e] + ); + } + backgroundIsLight() { + return this._backgroundIsLight; + } + } + ft._INSTANCE = null; + var pt = i(13824), + mt = i(73910); + const _t = (() => { + const e = []; + for (let t = 32; t <= 126; t++) e.push(t); + return e.push(65533), e; + })(); + var bt = i(85427); + class vt { + constructor(e, t) { + (this.scale = t), + (this.charDataNormal = vt.soften(e, 0.8)), + (this.charDataLight = vt.soften(e, 50 / 60)); + } + static soften(e, t) { + let i = new Uint8ClampedArray(e.length); + for (let n = 0, r = e.length; n < r; n++) + i[n] = (0, bt.K)(e[n] * t); + return i; + } + renderChar(e, t, i, n, r, s, o, a, l) { + const c = 1 * this.scale, + d = 2 * this.scale, + h = l ? 1 : d; + if (t + c > e.width || i + h > e.height) + return void console.warn('bad render request outside image data'); + const u = a ? this.charDataLight : this.charDataNormal, + g = ((e, t) => + (e -= 32) < 0 || e > 96 ? (t <= 2 ? (e + 96) % 96 : 95) : e)( + n, + o + ), + f = 4 * e.width, + p = s.r, + m = s.g, + _ = s.b, + b = r.r - p, + v = r.g - m, + y = r.b - _, + w = e.data; + let C = g * c * d, + S = i * f + 4 * t; + for (let e = 0; e < h; e++) { + let e = S; + for (let t = 0; t < c; t++) { + const t = u[C++] / 255; + (w[e++] = p + b * t), + (w[e++] = m + v * t), + (w[e++] = _ + y * t), + e++; + } + S += f; + } + } + blockRenderChar(e, t, i, n, r, s, o) { + const a = 1 * this.scale, + l = 2 * this.scale, + c = o ? 1 : l; + if (t + a > e.width || i + c > e.height) + return void console.warn('bad render request outside image data'); + const d = 4 * e.width, + h = r.r, + u = r.g, + g = r.b, + f = h + 0.5 * (n.r - h), + p = u + 0.5 * (n.g - u), + m = g + 0.5 * (n.b - g), + _ = e.data; + let b = i * d + 4 * t; + for (let e = 0; e < c; e++) { + let e = b; + for (let t = 0; t < a; t++) + (_[e++] = f), (_[e++] = p), (_[e++] = m), e++; + b += d; + } + } + } + var yt = i(88289); + const wt = { + 0: 0, + 1: 1, + 2: 2, + 3: 3, + 4: 4, + 5: 5, + 6: 6, + 7: 7, + 8: 8, + 9: 9, + A: 10, + B: 11, + C: 12, + D: 13, + E: 14, + F: 15, + }, + Ct = (e) => { + const t = new Uint8ClampedArray(e.length / 2); + for (let i = 0; i < e.length; i += 2) + t[i >> 1] = (wt[e[i]] << 4) | (15 & wt[e[i + 1]]); + return t; + }, + St = { + 1: (0, yt.I)(() => + Ct( + '0000511D6300CF609C709645A78432005642574171487021003C451900274D35D762755E8B629C5BA856AF57BA649530C167D1512A272A3F6038604460398526BCA2A968DB6F8957C768BE5FBE2FB467CF5D8D5B795DC7625B5DFF50DE64C466DB2FC47CD860A65E9A2EB96CB54CE06DA763AB2EA26860524D3763536601005116008177A8705E53AB738E6A982F88BAA35B5F5B626D9C636B449B737E5B7B678598869A662F6B5B8542706C704C80736A607578685B70594A49715A4522E792' + ) + ), + 2: (0, yt.I)(() => + Ct( + '000000000000000055394F383D2800008B8B1F210002000081B1CBCBCC820000847AAF6B9AAF2119BE08B8881AD60000A44FD07DCCF107015338130C00000000385972265F390B406E2437634B4B48031B12B8A0847000001E15B29A402F0000000000004B33460B00007A752C2A0000000000004D3900000084394B82013400ABA5CFC7AD9C0302A45A3E5A98AB000089A43382D97900008BA54AA087A70A0248A6A7AE6DBE0000BF6F94987EA40A01A06DCFA7A7A9030496C32F77891D0000A99FB1A0AFA80603B29AB9CA75930D010C0948354D3900000C0948354F37460D0028BE673D8400000000AF9D7B6E00002B007AA8933400007AA642675C2700007984CFB9C3985B768772A8A6B7B20000CAAECAAFC4B700009F94A6009F840009D09F9BA4CA9C0000CC8FC76DC87F0000C991C472A2000000A894A48CA7B501079BA2C9C69BA20000B19A5D3FA89000005CA6009DA2960901B0A7F0669FB200009D009E00B7890000DAD0F5D092820000D294D4C48BD10000B5A7A4A3B1A50402CAB6CBA6A2000000B5A7A4A3B1A8044FCDADD19D9CB00000B7778F7B8AAE0803C9AB5D3F5D3F00009EA09EA0BAB006039EA0989A8C7900009B9EF4D6B7C00000A9A7816CACA80000ABAC84705D3F000096DA635CDC8C00006F486F266F263D4784006124097B00374F6D2D6D2D6D4A3A95872322000000030000000000008D8939130000000000002E22A5C9CBC70600AB25C0B5C9B400061A2DB04CA67001082AA6BEBEBFC606002321DACBC19E03087AA08B6768380000282FBAC0B8CA7A88AD25BBA5A29900004C396C5894A6000040485A6E356E9442A32CD17EADA70000B4237923628600003E2DE9C1D7B500002F25BBA5A2990000231DB6AFB4A804023025C0B5CAB588062B2CBDBEC0C706882435A75CA20000002326BD6A82A908048B4B9A5A668000002423A09CB4BB060025259C9D8A7900001C1FCAB2C7C700002A2A9387ABA200002626A4A47D6E9D14333163A0C87500004B6F9C2D643A257049364936493647358A34438355497F1A0000A24C1D590000D38DFFBDD4CD3126' + ) + ), + }; + class kt { + static create(e, t) { + if ( + this.lastCreated && + e === this.lastCreated.scale && + t === this.lastFontFamily + ) + return this.lastCreated; + let i; + return ( + (i = St[e] + ? new vt(St[e](), e) + : kt.createFromSampleData(kt.createSampleData(t).data, e)), + (this.lastFontFamily = t), + (this.lastCreated = i), + i + ); + } + static createSampleData(e) { + const t = document.createElement('canvas'), + i = t.getContext('2d'); + (t.style.height = '16px'), + (t.height = 16), + (t.width = 960), + (t.style.width = '960px'), + (i.fillStyle = '#ffffff'), + (i.font = `bold 16px ${e}`), + (i.textBaseline = 'middle'); + let n = 0; + for (const e of _t) + i.fillText(String.fromCharCode(e), n, 8), (n += 10); + return i.getImageData(0, 0, 960, 16); + } + static createFromSampleData(e, t) { + if (61440 !== e.length) + throw new Error('Unexpected source in MinimapCharRenderer'); + let i = kt._downsample(e, t); + return new vt(i, t); + } + static _downsampleChar(e, t, i, n, r) { + const s = 1 * r, + o = 2 * r; + let a = n, + l = 0; + for (let n = 0; n < o; n++) { + const r = (n / o) * 16, + c = ((n + 1) / o) * 16; + for (let n = 0; n < s; n++) { + const o = (n / s) * 10, + d = ((n + 1) / s) * 10; + let h = 0, + u = 0; + for (let i = r; i < c; i++) { + const n = t + 3840 * Math.floor(i), + r = 1 - (i - Math.floor(i)); + for (let t = o; t < d; t++) { + const i = 1 - (t - Math.floor(t)), + s = n + 4 * Math.floor(t), + o = i * r; + (u += o), (h += ((e[s] * e[s + 3]) / 255) * o); + } + } + const g = h / u; + (l = Math.max(l, g)), (i[a++] = (0, bt.K)(g)); + } + } + return l; + } + static _downsample(e, t) { + const i = 2 * t * 1 * t, + n = 96 * i, + r = new Uint8ClampedArray(n); + let s = 0, + o = 0, + a = 0; + for (let n = 0; n < 96; n++) + (a = Math.max(a, this._downsampleChar(e, o, r, s, t))), + (s += i), + (o += 40); + if (a > 0) { + const e = 255 / a; + for (let t = 0; t < n; t++) r[t] *= e; + } + return r; + } + } + var xt = i(84973); + class Lt { + constructor(e, t, i) { + const n = e.options, + r = n.get(115), + s = n.get(117), + o = s.minimap, + a = n.get(36), + l = n.get(56); + (this.renderMinimap = o.renderMinimap), + (this.size = l.size), + (this.minimapHeightIsEditorHeight = + o.minimapHeightIsEditorHeight), + (this.scrollBeyondLastLine = n.get(86)), + (this.showSlider = l.showSlider), + (this.pixelRatio = r), + (this.typicalHalfwidthCharacterWidth = + a.typicalHalfwidthCharacterWidth), + (this.lineHeight = n.get(51)), + (this.minimapLeft = o.minimapLeft), + (this.minimapWidth = o.minimapWidth), + (this.minimapHeight = s.height), + (this.canvasInnerWidth = o.minimapCanvasInnerWidth), + (this.canvasInnerHeight = o.minimapCanvasInnerHeight), + (this.canvasOuterWidth = o.minimapCanvasOuterWidth), + (this.canvasOuterHeight = o.minimapCanvasOuterHeight), + (this.isSampling = o.minimapIsSampling), + (this.editorHeight = s.height), + (this.fontScale = o.minimapScale), + (this.minimapLineHeight = o.minimapLineHeight), + (this.minimapCharWidth = 1 * this.fontScale), + (this.charRenderer = (0, yt.I)(() => + kt.create(this.fontScale, a.fontFamily) + )), + (this.backgroundColor = Lt._getMinimapBackground(t, i)); + } + static _getMinimapBackground(e, t) { + const i = e.getColor(mt.kV); + return i + ? new ut(i.rgba.r, i.rgba.g, i.rgba.b, i.rgba.a) + : t.getColor(2); + } + equals(e) { + return ( + this.renderMinimap === e.renderMinimap && + this.size === e.size && + this.minimapHeightIsEditorHeight === + e.minimapHeightIsEditorHeight && + this.scrollBeyondLastLine === e.scrollBeyondLastLine && + this.showSlider === e.showSlider && + this.pixelRatio === e.pixelRatio && + this.typicalHalfwidthCharacterWidth === + e.typicalHalfwidthCharacterWidth && + this.lineHeight === e.lineHeight && + this.minimapLeft === e.minimapLeft && + this.minimapWidth === e.minimapWidth && + this.minimapHeight === e.minimapHeight && + this.canvasInnerWidth === e.canvasInnerWidth && + this.canvasInnerHeight === e.canvasInnerHeight && + this.canvasOuterWidth === e.canvasOuterWidth && + this.canvasOuterHeight === e.canvasOuterHeight && + this.isSampling === e.isSampling && + this.editorHeight === e.editorHeight && + this.fontScale === e.fontScale && + this.minimapLineHeight === e.minimapLineHeight && + this.minimapCharWidth === e.minimapCharWidth && + this.backgroundColor && + this.backgroundColor.equals(e.backgroundColor) + ); + } + } + class Mt { + constructor(e, t, i, n, r, s, o, a) { + (this.scrollTop = e), + (this.scrollHeight = t), + (this.sliderNeeded = i), + (this._computedSliderRatio = n), + (this.sliderTop = r), + (this.sliderHeight = s), + (this.startLineNumber = o), + (this.endLineNumber = a); + } + getDesiredScrollTopFromDelta(e) { + const t = this.sliderTop + e; + return Math.round(t / this._computedSliderRatio); + } + getDesiredScrollTopFromTouchLocation(e) { + return Math.round( + (e - this.sliderHeight / 2) / this._computedSliderRatio + ); + } + static create(e, t, i, n, r, s, o, a, l, c) { + const d = e.pixelRatio, + h = e.minimapLineHeight, + u = Math.floor(e.canvasInnerHeight / h), + g = e.lineHeight; + if (e.minimapHeightIsEditorHeight) { + const t = + o * e.lineHeight + + (e.scrollBeyondLastLine ? n - e.lineHeight : 0), + i = Math.max(1, Math.floor((n * n) / t)), + r = Math.max(0, e.minimapHeight - i), + c = r / (l - n), + d = a * c, + h = r > 0, + u = Math.floor(e.canvasInnerHeight / e.minimapLineHeight); + return new Mt(a, l, h, c, d, i, 1, Math.min(s, u)); + } + let f, p; + if (r && i !== s) { + const e = i - t + 1; + f = Math.floor((e * h) / d); + } else { + const e = n / g; + f = Math.floor((e * h) / d); + } + (p = e.scrollBeyondLastLine + ? ((s - 1) * h) / d + : Math.max(0, (s * h) / d - f)), + (p = Math.min(e.minimapHeight - f, p)); + const m = p / (l - n), + _ = a * m; + let b = 0; + if ((e.scrollBeyondLastLine && (b = n / g - 1), u >= s + b)) + return new Mt(a, l, p > 0, m, _, f, 1, s); + { + let e = Math.max(1, Math.floor(t - (_ * d) / h)); + c && + c.scrollHeight === l && + (c.scrollTop > a && (e = Math.min(e, c.startLineNumber)), + c.scrollTop < a && (e = Math.max(e, c.startLineNumber))); + const i = Math.min(s, e + u - 1); + return new Mt(a, l, !0, m, _, f, e, i); + } + } + } + class Dt { + constructor(e) { + this.dy = e; + } + onContentChanged() { + this.dy = -1; + } + onTokensChanged() { + this.dy = -1; + } + } + Dt.INVALID = new Dt(-1); + class Nt { + constructor(e, t, i) { + (this.renderedLayout = e), + (this._imageData = t), + (this._renderedLines = new Be(() => Dt.INVALID)), + this._renderedLines._set(e.startLineNumber, i); + } + linesEquals(e) { + if (!this.scrollEquals(e)) return !1; + const t = this._renderedLines._get().lines; + for (let e = 0, i = t.length; e < i; e++) + if (-1 === t[e].dy) return !1; + return !0; + } + scrollEquals(e) { + return ( + this.renderedLayout.startLineNumber === e.startLineNumber && + this.renderedLayout.endLineNumber === e.endLineNumber + ); + } + _get() { + const e = this._renderedLines._get(); + return { + imageData: this._imageData, + rendLineNumberStart: e.rendLineNumberStart, + lines: e.lines, + }; + } + onLinesChanged(e, t) { + return this._renderedLines.onLinesChanged(e, t); + } + onLinesDeleted(e, t) { + this._renderedLines.onLinesDeleted(e, t); + } + onLinesInserted(e, t) { + this._renderedLines.onLinesInserted(e, t); + } + onTokensChanged(e) { + return this._renderedLines.onTokensChanged(e); + } + } + class Et { + constructor(e, t, i, n) { + (this._backgroundFillData = Et._createBackgroundFillData(t, i, n)), + (this._buffers = [ + e.createImageData(t, i), + e.createImageData(t, i), + ]), + (this._lastUsedBuffer = 0); + } + getBuffer() { + this._lastUsedBuffer = 1 - this._lastUsedBuffer; + const e = this._buffers[this._lastUsedBuffer]; + return e.data.set(this._backgroundFillData), e; + } + static _createBackgroundFillData(e, t, i) { + const n = i.r, + r = i.g, + s = i.b, + o = new Uint8ClampedArray(e * t * 4); + let a = 0; + for (let i = 0; i < t; i++) + for (let t = 0; t < e; t++) + (o[a] = n), + (o[a + 1] = r), + (o[a + 2] = s), + (o[a + 3] = 255), + (a += 4); + return o; + } + } + class Tt { + constructor(e, t) { + (this.samplingRatio = e), (this.minimapLines = t); + } + static compute(e, t, i) { + if (0 === e.renderMinimap || !e.isSampling) return [null, []]; + const n = e.pixelRatio, + r = e.lineHeight, + s = e.scrollBeyondLastLine, + { minimapLineCount: o } = H.gk.computeContainedMinimapLineCount({ + viewLineCount: t, + scrollBeyondLastLine: s, + height: e.editorHeight, + lineHeight: r, + pixelRatio: n, + }), + a = t / o, + l = a / 2; + if (!i || 0 === i.minimapLines.length) { + let e = []; + if (((e[0] = 1), o > 1)) { + for (let t = 0, i = o - 1; t < i; t++) + e[t] = Math.round(t * a + l); + e[o - 1] = t; + } + return [new Tt(a, e), []]; + } + const c = i.minimapLines, + d = c.length; + let h = [], + u = 0, + g = 0, + f = 1, + p = [], + m = null; + for (let e = 0; e < o; e++) { + const i = Math.max(f, Math.round(e * a)), + n = Math.max(i, Math.round((e + 1) * a)); + for (; u < d && c[u] < i; ) { + if (p.length < 10) { + const e = u + 1 + g; + m && 'deleted' === m.type && m._oldIndex === u - 1 + ? m.deleteToLineNumber++ + : ((m = { + type: 'deleted', + _oldIndex: u, + deleteFromLineNumber: e, + deleteToLineNumber: e, + }), + p.push(m)), + g--; + } + u++; + } + let r; + if (u < d && c[u] <= n) (r = c[u]), u++; + else if ( + ((r = 0 === e ? 1 : e + 1 === o ? t : Math.round(e * a + l)), + p.length < 10) + ) { + const t = u + 1 + g; + m && 'inserted' === m.type && m._i === e - 1 + ? m.insertToLineNumber++ + : ((m = { + type: 'inserted', + _i: e, + insertFromLineNumber: t, + insertToLineNumber: t, + }), + p.push(m)), + g++; + } + (h[e] = r), (f = r); + } + if (p.length < 10) + for (; u < d; ) { + const e = u + 1 + g; + m && 'deleted' === m.type && m._oldIndex === u - 1 + ? m.deleteToLineNumber++ + : ((m = { + type: 'deleted', + _oldIndex: u, + deleteFromLineNumber: e, + deleteToLineNumber: e, + }), + p.push(m)), + g--, + u++; + } + else p = [{ type: 'flush' }]; + return [new Tt(a, h), p]; + } + modelLineToMinimapLine(e) { + return Math.min( + this.minimapLines.length, + Math.max(1, Math.round(e / this.samplingRatio)) + ); + } + modelLineRangeToMinimapLineRange(e, t) { + let i = this.modelLineToMinimapLine(e) - 1; + for (; i > 0 && this.minimapLines[i - 1] >= e; ) i--; + let n = this.modelLineToMinimapLine(t) - 1; + for ( + ; + n + 1 < this.minimapLines.length && this.minimapLines[n + 1] <= t; + + ) + n++; + if (i === n) { + const n = this.minimapLines[i]; + if (n < e || n > t) return null; + } + return [i + 1, n + 1]; + } + decorationLineRangeToMinimapLineRange(e, t) { + let i = this.modelLineToMinimapLine(e), + n = this.modelLineToMinimapLine(t); + return ( + e !== t && + n === i && + (n === this.minimapLines.length ? i > 1 && i-- : n++), + [i, n] + ); + } + onLinesDeleted(e) { + const t = e.toLineNumber - e.fromLineNumber + 1; + let i = this.minimapLines.length, + n = 0; + for ( + let r = this.minimapLines.length - 1; + r >= 0 && !(this.minimapLines[r] < e.fromLineNumber); + r-- + ) + this.minimapLines[r] <= e.toLineNumber + ? ((this.minimapLines[r] = Math.max(1, e.fromLineNumber - 1)), + (i = Math.min(i, r)), + (n = Math.max(n, r))) + : (this.minimapLines[r] -= t); + return [i, n]; + } + onLinesInserted(e) { + const t = e.toLineNumber - e.fromLineNumber + 1; + for ( + let i = this.minimapLines.length - 1; + i >= 0 && !(this.minimapLines[i] < e.fromLineNumber); + i-- + ) + this.minimapLines[i] += t; + } + } + class It extends N { + constructor(e) { + super(e), + (this.tokensColorTracker = ft.getInstance()), + (this._selections = []), + (this._minimapSelections = null), + (this.options = new Lt( + this._context.configuration, + this._context.theme, + this.tokensColorTracker + )); + const [t] = Tt.compute( + this.options, + this._context.model.getLineCount(), + null + ); + (this._samplingState = t), + (this._shouldCheckSampling = !1), + (this._actual = new Ot(e.theme, this)); + } + dispose() { + this._actual.dispose(), super.dispose(); + } + getDomNode() { + return this._actual.getDomNode(); + } + _onOptionsMaybeChanged() { + const e = new Lt( + this._context.configuration, + this._context.theme, + this.tokensColorTracker + ); + return ( + !this.options.equals(e) && + ((this.options = e), + this._recreateLineSampling(), + this._actual.onDidChangeOptions(), + !0) + ); + } + onConfigurationChanged(e) { + return this._onOptionsMaybeChanged(); + } + onCursorStateChanged(e) { + return ( + (this._selections = e.selections), + (this._minimapSelections = null), + this._actual.onSelectionChanged() + ); + } + onDecorationsChanged(e) { + return !!e.affectsMinimap && this._actual.onDecorationsChanged(); + } + onFlushed(e) { + return ( + this._samplingState && (this._shouldCheckSampling = !0), + this._actual.onFlushed() + ); + } + onLinesChanged(e) { + if (this._samplingState) { + const t = this._samplingState.modelLineRangeToMinimapLineRange( + e.fromLineNumber, + e.toLineNumber + ); + return !!t && this._actual.onLinesChanged(t[0], t[1]); + } + return this._actual.onLinesChanged( + e.fromLineNumber, + e.toLineNumber + ); + } + onLinesDeleted(e) { + if (this._samplingState) { + const [t, i] = this._samplingState.onLinesDeleted(e); + return ( + t <= i && this._actual.onLinesChanged(t + 1, i + 1), + (this._shouldCheckSampling = !0), + !0 + ); + } + return this._actual.onLinesDeleted( + e.fromLineNumber, + e.toLineNumber + ); + } + onLinesInserted(e) { + return this._samplingState + ? (this._samplingState.onLinesInserted(e), + (this._shouldCheckSampling = !0), + !0) + : this._actual.onLinesInserted(e.fromLineNumber, e.toLineNumber); + } + onScrollChanged(e) { + return this._actual.onScrollChanged(); + } + onThemeChanged(e) { + return ( + this._context.model.invalidateMinimapColorCache(), + this._actual.onThemeChanged(), + this._onOptionsMaybeChanged(), + !0 + ); + } + onTokensChanged(e) { + if (this._samplingState) { + let t = []; + for (const i of e.ranges) { + const e = this._samplingState.modelLineRangeToMinimapLineRange( + i.fromLineNumber, + i.toLineNumber + ); + e && t.push({ fromLineNumber: e[0], toLineNumber: e[1] }); + } + return !!t.length && this._actual.onTokensChanged(t); + } + return this._actual.onTokensChanged(e.ranges); + } + onTokensColorsChanged(e) { + return this._actual.onTokensColorsChanged(); + } + onZonesChanged(e) { + return this._actual.onZonesChanged(); + } + prepareRender(e) { + this._shouldCheckSampling && + ((this._shouldCheckSampling = !1), this._recreateLineSampling()); + } + render(e) { + let t = e.visibleRange.startLineNumber, + i = e.visibleRange.endLineNumber; + this._samplingState && + ((t = this._samplingState.modelLineToMinimapLine(t)), + (i = this._samplingState.modelLineToMinimapLine(i))); + const n = { + viewportContainsWhitespaceGaps: + e.viewportData.whitespaceViewportData.length > 0, + scrollWidth: e.scrollWidth, + scrollHeight: e.scrollHeight, + viewportStartLineNumber: t, + viewportEndLineNumber: i, + scrollTop: e.scrollTop, + scrollLeft: e.scrollLeft, + viewportWidth: e.viewportWidth, + viewportHeight: e.viewportHeight, + }; + this._actual.render(n); + } + _recreateLineSampling() { + this._minimapSelections = null; + const e = Boolean(this._samplingState), + [t, i] = Tt.compute( + this.options, + this._context.model.getLineCount(), + this._samplingState + ); + if (((this._samplingState = t), e && this._samplingState)) + for (const e of i) + switch (e.type) { + case 'deleted': + this._actual.onLinesDeleted( + e.deleteFromLineNumber, + e.deleteToLineNumber + ); + break; + case 'inserted': + this._actual.onLinesInserted( + e.insertFromLineNumber, + e.insertToLineNumber + ); + break; + case 'flush': + this._actual.onFlushed(); + } + } + getLineCount() { + return this._samplingState + ? this._samplingState.minimapLines.length + : this._context.model.getLineCount(); + } + getRealLineCount() { + return this._context.model.getLineCount(); + } + getLineContent(e) { + return this._samplingState + ? this._context.model.getLineContent( + this._samplingState.minimapLines[e - 1] + ) + : this._context.model.getLineContent(e); + } + getMinimapLinesRenderingData(e, t, i) { + if (this._samplingState) { + let n = []; + for (let r = 0, s = t - e + 1; r < s; r++) + i[r] + ? (n[r] = this._context.model.getViewLineData( + this._samplingState.minimapLines[e + r - 1] + )) + : (n[r] = null); + return n; + } + return this._context.model.getMinimapLinesRenderingData(e, t, i) + .data; + } + getSelections() { + if (null === this._minimapSelections) + if (this._samplingState) { + this._minimapSelections = []; + for (const e of this._selections) { + const [ + t, + i, + ] = this._samplingState.decorationLineRangeToMinimapLineRange( + e.startLineNumber, + e.endLineNumber + ); + this._minimapSelections.push( + new u.Y(t, e.startColumn, i, e.endColumn) + ); + } + } else this._minimapSelections = this._selections; + return this._minimapSelections; + } + getMinimapDecorationsInViewport(e, t) { + let i; + if (this._samplingState) { + const n = this._samplingState.minimapLines[e - 1], + r = this._samplingState.minimapLines[t - 1]; + i = new X.e(n, 1, r, this._context.model.getLineMaxColumn(r)); + } else + i = new X.e(e, 1, t, this._context.model.getLineMaxColumn(t)); + const n = this._context.model.getDecorationsInViewport(i); + if (this._samplingState) { + let e = []; + for (const t of n) { + if (!t.options.minimap) continue; + const i = t.range, + n = this._samplingState.modelLineToMinimapLine( + i.startLineNumber + ), + r = this._samplingState.modelLineToMinimapLine( + i.endLineNumber + ); + e.push( + new pt.$l( + new X.e(n, i.startColumn, r, i.endColumn), + t.options + ) + ); + } + return e; + } + return n; + } + getOptions() { + return this._context.model.getTextModelOptions(); + } + revealLineNumber(e) { + this._samplingState && + (e = this._samplingState.minimapLines[e - 1]), + this._context.model.revealRange( + 'mouse', + !1, + new X.e(e, 1, e, 1), + 1, + 0 + ); + } + setScrollTop(e) { + this._context.model.setScrollPosition({ scrollTop: e }, 1); + } + } + class Ot extends a.JT { + constructor(e, t) { + super(), + (this._renderDecorations = !1), + (this._gestureInProgress = !1), + (this._theme = e), + (this._model = t), + (this._lastRenderData = null), + (this._buffers = null), + (this._selectionColor = this._theme.getColor(mt.ov)), + (this._domNode = (0, g.X)(document.createElement('div'))), + E.write(this._domNode, 8), + this._domNode.setClassName(this._getMinimapDomNodeClassName()), + this._domNode.setPosition('absolute'), + this._domNode.setAttribute('role', 'presentation'), + this._domNode.setAttribute('aria-hidden', 'true'), + (this._shadow = (0, g.X)(document.createElement('div'))), + this._shadow.setClassName('minimap-shadow-hidden'), + this._domNode.appendChild(this._shadow), + (this._canvas = (0, g.X)(document.createElement('canvas'))), + this._canvas.setPosition('absolute'), + this._canvas.setLeft(0), + this._domNode.appendChild(this._canvas), + (this._decorationsCanvas = (0, g.X)( + document.createElement('canvas') + )), + this._decorationsCanvas.setPosition('absolute'), + this._decorationsCanvas.setClassName('minimap-decorations-layer'), + this._decorationsCanvas.setLeft(0), + this._domNode.appendChild(this._decorationsCanvas), + (this._slider = (0, g.X)(document.createElement('div'))), + this._slider.setPosition('absolute'), + this._slider.setClassName('minimap-slider'), + this._slider.setLayerHinting(!0), + this._slider.setContain('strict'), + this._domNode.appendChild(this._slider), + (this._sliderHorizontal = (0, g.X)( + document.createElement('div') + )), + this._sliderHorizontal.setPosition('absolute'), + this._sliderHorizontal.setClassName('minimap-slider-horizontal'), + this._slider.appendChild(this._sliderHorizontal), + this._applyLayout(), + (this._mouseDownListener = r.mu( + this._domNode.domNode, + 'mousedown', + (e) => { + if ( + (e.preventDefault(), + 0 === this._model.options.renderMinimap) + ) + return; + if (!this._lastRenderData) return; + if ('proportional' !== this._model.options.size) { + if (e.leftButton && this._lastRenderData) { + const t = r.i(this._slider.domNode), + i = t.top + t.height / 2; + this._startSliderDragging( + e.buttons, + e.posx, + i, + e.posy, + this._lastRenderData.renderedLayout + ); + } + return; + } + const t = this._model.options.minimapLineHeight, + i = + (this._model.options.canvasInnerHeight / + this._model.options.canvasOuterHeight) * + e.browserEvent.offsetY; + let n = + Math.floor(i / t) + + this._lastRenderData.renderedLayout.startLineNumber; + (n = Math.min(n, this._model.getLineCount())), + this._model.revealLineNumber(n); + } + )), + (this._sliderMouseMoveMonitor = new v.Z()), + (this._sliderMouseDownListener = r.mu( + this._slider.domNode, + 'mousedown', + (e) => { + e.preventDefault(), + e.stopPropagation(), + e.leftButton && + this._lastRenderData && + this._startSliderDragging( + e.buttons, + e.posx, + e.posy, + e.posy, + this._lastRenderData.renderedLayout + ); + } + )), + (this._gestureDisposable = p.o.addTarget(this._domNode.domNode)), + (this._sliderTouchStartListener = r.nm( + this._domNode.domNode, + p.t.Start, + (e) => { + e.preventDefault(), + e.stopPropagation(), + this._lastRenderData && + (this._slider.toggleClassName('active', !0), + (this._gestureInProgress = !0), + this.scrollDueToTouchEvent(e)); + }, + { passive: !1 } + )), + (this._sliderTouchMoveListener = r.nm( + this._domNode.domNode, + p.t.Change, + (e) => { + e.preventDefault(), + e.stopPropagation(), + this._lastRenderData && + this._gestureInProgress && + this.scrollDueToTouchEvent(e); + }, + { passive: !1 } + )), + (this._sliderTouchEndListener = r.mu( + this._domNode.domNode, + p.t.End, + (e) => { + e.preventDefault(), + e.stopPropagation(), + (this._gestureInProgress = !1), + this._slider.toggleClassName('active', !1); + } + )); + } + _startSliderDragging(e, t, i, n, r) { + this._slider.toggleClassName('active', !0); + const s = (e, n) => { + const s = Math.abs(n - t); + if (f.ED && s > 140) + return void this._model.setScrollTop(r.scrollTop); + const o = e - i; + this._model.setScrollTop(r.getDesiredScrollTopFromDelta(o)); + }; + n !== i && s(n, t), + this._sliderMouseMoveMonitor.startMonitoring( + this._slider.domNode, + e, + v.e, + (e) => s(e.posy, e.posx), + () => { + this._slider.toggleClassName('active', !1); + } + ); + } + scrollDueToTouchEvent(e) { + const t = this._domNode.domNode.getBoundingClientRect().top, + i = this._lastRenderData.renderedLayout.getDesiredScrollTopFromTouchLocation( + e.pageY - t + ); + this._model.setScrollTop(i); + } + dispose() { + this._mouseDownListener.dispose(), + this._sliderMouseMoveMonitor.dispose(), + this._sliderMouseDownListener.dispose(), + this._gestureDisposable.dispose(), + this._sliderTouchStartListener.dispose(), + this._sliderTouchMoveListener.dispose(), + this._sliderTouchEndListener.dispose(), + super.dispose(); + } + _getMinimapDomNodeClassName() { + return 'always' === this._model.options.showSlider + ? 'minimap slider-always' + : 'minimap slider-mouseover'; + } + getDomNode() { + return this._domNode; + } + _applyLayout() { + this._domNode.setLeft(this._model.options.minimapLeft), + this._domNode.setWidth(this._model.options.minimapWidth), + this._domNode.setHeight(this._model.options.minimapHeight), + this._shadow.setHeight(this._model.options.minimapHeight), + this._canvas.setWidth(this._model.options.canvasOuterWidth), + this._canvas.setHeight(this._model.options.canvasOuterHeight), + (this._canvas.domNode.width = this._model.options.canvasInnerWidth), + (this._canvas.domNode.height = this._model.options.canvasInnerHeight), + this._decorationsCanvas.setWidth( + this._model.options.canvasOuterWidth + ), + this._decorationsCanvas.setHeight( + this._model.options.canvasOuterHeight + ), + (this._decorationsCanvas.domNode.width = this._model.options.canvasInnerWidth), + (this._decorationsCanvas.domNode.height = this._model.options.canvasInnerHeight), + this._slider.setWidth(this._model.options.minimapWidth); + } + _getBuffer() { + return ( + this._buffers || + (this._model.options.canvasInnerWidth > 0 && + this._model.options.canvasInnerHeight > 0 && + (this._buffers = new Et( + this._canvas.domNode.getContext('2d'), + this._model.options.canvasInnerWidth, + this._model.options.canvasInnerHeight, + this._model.options.backgroundColor + ))), + this._buffers ? this._buffers.getBuffer() : null + ); + } + onDidChangeOptions() { + (this._lastRenderData = null), + (this._buffers = null), + this._applyLayout(), + this._domNode.setClassName(this._getMinimapDomNodeClassName()); + } + onSelectionChanged() { + return (this._renderDecorations = !0), !0; + } + onDecorationsChanged() { + return (this._renderDecorations = !0), !0; + } + onFlushed() { + return (this._lastRenderData = null), !0; + } + onLinesChanged(e, t) { + return ( + !!this._lastRenderData && + this._lastRenderData.onLinesChanged(e, t) + ); + } + onLinesDeleted(e, t) { + return ( + this._lastRenderData && this._lastRenderData.onLinesDeleted(e, t), + !0 + ); + } + onLinesInserted(e, t) { + return ( + this._lastRenderData && + this._lastRenderData.onLinesInserted(e, t), + !0 + ); + } + onScrollChanged() { + return (this._renderDecorations = !0), !0; + } + onThemeChanged() { + return ( + (this._selectionColor = this._theme.getColor(mt.ov)), + (this._renderDecorations = !0), + !0 + ); + } + onTokensChanged(e) { + return ( + !!this._lastRenderData && this._lastRenderData.onTokensChanged(e) + ); + } + onTokensColorsChanged() { + return (this._lastRenderData = null), (this._buffers = null), !0; + } + onZonesChanged() { + return (this._lastRenderData = null), !0; + } + render(e) { + if (0 === this._model.options.renderMinimap) + return ( + this._shadow.setClassName('minimap-shadow-hidden'), + this._sliderHorizontal.setWidth(0), + void this._sliderHorizontal.setHeight(0) + ); + e.scrollLeft + e.viewportWidth >= e.scrollWidth + ? this._shadow.setClassName('minimap-shadow-hidden') + : this._shadow.setClassName('minimap-shadow-visible'); + const t = Mt.create( + this._model.options, + e.viewportStartLineNumber, + e.viewportEndLineNumber, + e.viewportHeight, + e.viewportContainsWhitespaceGaps, + this._model.getLineCount(), + this._model.getRealLineCount(), + e.scrollTop, + e.scrollHeight, + this._lastRenderData ? this._lastRenderData.renderedLayout : null + ); + this._slider.setDisplay(t.sliderNeeded ? 'block' : 'none'), + this._slider.setTop(t.sliderTop), + this._slider.setHeight(t.sliderHeight); + const i = + e.scrollLeft / + this._model.options.typicalHalfwidthCharacterWidth, + n = Math.min( + this._model.options.minimapWidth, + Math.round( + (i * this._model.options.minimapCharWidth) / + this._model.options.pixelRatio + ) + ); + this._sliderHorizontal.setLeft(n), + this._sliderHorizontal.setWidth( + this._model.options.minimapWidth - n + ), + this._sliderHorizontal.setTop(0), + this._sliderHorizontal.setHeight(t.sliderHeight), + this.renderDecorations(t), + (this._lastRenderData = this.renderLines(t)); + } + renderDecorations(e) { + if (this._renderDecorations) { + this._renderDecorations = !1; + const t = this._model.getSelections(), + i = this._model.getMinimapDecorationsInViewport( + e.startLineNumber, + e.endLineNumber + ), + { + canvasInnerWidth: n, + canvasInnerHeight: r, + } = this._model.options, + s = this._model.options.minimapLineHeight, + o = this._model.options.minimapCharWidth, + a = this._model.getOptions().tabSize, + l = this._decorationsCanvas.domNode.getContext('2d'); + l.clearRect(0, 0, n, r); + const c = new Map(); + for (let i = 0; i < t.length; i++) { + const n = t[i]; + for (let t = n.startLineNumber; t <= n.endLineNumber; t++) + this.renderDecorationOnLine( + l, + c, + n, + this._selectionColor, + e, + t, + s, + s, + a, + o + ); + } + for (let t = 0; t < i.length; t++) { + const n = i[t]; + if (!n.options.minimap) continue; + const r = n.options.minimap.getColor(this._theme); + for ( + let t = n.range.startLineNumber; + t <= n.range.endLineNumber; + t++ + ) + switch (n.options.minimap.position) { + case xt.F5.Inline: + this.renderDecorationOnLine( + l, + c, + n.range, + r, + e, + t, + s, + s, + a, + o + ); + continue; + case xt.F5.Gutter: + const i = (t - e.startLineNumber) * s, + d = 2; + this.renderDecoration(l, r, d, i, 2, s); + continue; + } + } + } + } + renderDecorationOnLine(e, t, i, n, r, s, o, a, l, c) { + const d = (s - r.startLineNumber) * a; + if (d + o < 0 || d > this._model.options.canvasInnerHeight) return; + let h = t.get(s); + const u = !h; + if (!h) { + const e = this._model.getLineContent(s); + h = [H.y0]; + for (let t = 1; t < e.length + 1; t++) { + const i = e.charCodeAt(t - 1), + n = 9 === i ? l * c : we.K7(i) ? 2 * c : c; + h[t] = h[t - 1] + n; + } + t.set(s, h); + } + const { + startColumn: g, + endColumn: f, + startLineNumber: p, + endLineNumber: m, + } = i, + _ = p === s ? h[g - 1] : H.y0, + b = m > s ? h.length - 1 : f - 1; + if (b > 0) { + const t = h[b] - _ || 2; + this.renderDecoration(e, n, _, d, t, o); + } + u && this.renderLineHighlight(e, n, d, o); + } + renderLineHighlight(e, t, i, n) { + (e.fillStyle = (t && t.transparent(0.5).toString()) || ''), + e.fillRect(H.y0, i, e.canvas.width, n); + } + renderDecoration(e, t, i, n, r, s) { + (e.fillStyle = (t && t.toString()) || ''), e.fillRect(i, n, r, s); + } + renderLines(e) { + const t = e.startLineNumber, + i = e.endLineNumber, + n = this._model.options.minimapLineHeight; + if (this._lastRenderData && this._lastRenderData.linesEquals(e)) { + const t = this._lastRenderData._get(); + return new Nt(e, t.imageData, t.lines); + } + const r = this._getBuffer(); + if (!r) return null; + let [s, o, a] = Ot._renderUntouchedLines( + r, + t, + i, + n, + this._lastRenderData + ); + const l = this._model.getMinimapLinesRenderingData(t, i, a), + c = this._model.getOptions().tabSize, + d = this._model.options.backgroundColor, + h = this._model.tokensColorTracker, + u = h.backgroundIsLight(), + g = this._model.options.renderMinimap, + f = this._model.options.charRenderer(), + p = this._model.options.fontScale, + m = this._model.options.minimapCharWidth, + _ = (1 === g ? 2 : 3) * p, + b = n > _ ? Math.floor((n - _) / 2) : 0; + let v = 0; + const y = []; + for (let e = 0, s = i - t + 1; e < s; e++) + a[e] && Ot._renderLine(r, d, u, g, m, h, f, v, b, c, l[e], p, n), + (y[e] = new Dt(v)), + (v += n); + const w = -1 === s ? 0 : s, + C = (-1 === o ? r.height : o) - w; + return ( + this._canvas.domNode + .getContext('2d') + .putImageData(r, 0, 0, 0, w, r.width, C), + new Nt(e, r, y) + ); + } + static _renderUntouchedLines(e, t, i, n, r) { + const s = []; + if (!r) { + for (let e = 0, n = i - t + 1; e < n; e++) s[e] = !0; + return [-1, -1, s]; + } + const o = r._get(), + a = o.imageData.data, + l = o.rendLineNumberStart, + c = o.lines, + d = c.length, + h = e.width, + u = e.data, + g = (i - t + 1) * n * h * 4; + let f = -1, + p = -1, + m = -1, + _ = -1, + b = -1, + v = -1, + y = 0; + for (let e = t; e <= i; e++) { + const i = e - t, + r = e - l, + o = r >= 0 && r < d ? c[r].dy : -1; + if (-1 === o) { + (s[i] = !0), (y += n); + continue; + } + const w = o * h * 4, + C = (o + n) * h * 4, + S = y * h * 4, + k = (y + n) * h * 4; + _ === w && v === S + ? ((_ = C), (v = k)) + : (-1 !== m && + (u.set(a.subarray(m, _), b), + -1 === f && 0 === m && m === b && (f = _), + -1 === p && _ === g && m === b && (p = m)), + (m = w), + (_ = C), + (b = S), + (v = k)), + (s[i] = !1), + (y += n); + } + return ( + -1 !== m && + (u.set(a.subarray(m, _), b), + -1 === f && 0 === m && m === b && (f = _), + -1 === p && _ === g && m === b && (p = m)), + [-1 === f ? -1 : f / (4 * h), -1 === p ? -1 : p / (4 * h), s] + ); + } + static _renderLine(e, t, i, n, r, s, o, a, l, c, d, h, u) { + const g = d.content, + f = d.tokens, + p = e.width - r, + m = 1 === u; + let _ = H.y0, + b = 0, + v = 0; + for (let d = 0, u = f.getCount(); d < u; d++) { + const u = f.getEndOffset(d), + y = f.getForeground(d), + w = s.getColor(y); + for (; b < u; b++) { + if (_ > p) return; + const s = g.charCodeAt(b); + if (9 === s) { + const e = c - ((b + v) % c); + (v += e - 1), (_ += e * r); + } else if (32 === s) _ += r; + else { + const c = we.K7(s) ? 2 : 1; + for (let d = 0; d < c; d++) + if ( + (2 === n + ? o.blockRenderChar(e, _, a + l, w, t, i, m) + : o.renderChar(e, _, a + l, s, w, t, h, i, m), + (_ += r), + _ > p) + ) + return; + } + } + } + } + } + (0, Y.Ic)((e, t) => { + const i = e.getColor(mt.kV); + i && + t.addRule( + `.monaco-editor .minimap > canvas { opacity: ${i.rgba.a}; will-change: opacity; }` + ); + const n = e.getColor(mt.CA); + n && + t.addRule( + `.monaco-editor .minimap-slider .minimap-slider-horizontal { background: ${n}; }` + ); + const r = e.getColor(mt.Xy); + r && + t.addRule( + `.monaco-editor .minimap-slider:hover .minimap-slider-horizontal { background: ${r}; }` + ); + const s = e.getColor(mt.br); + s && + t.addRule( + `.monaco-editor .minimap-slider.active .minimap-slider-horizontal { background: ${s}; }` + ); + const o = e.getColor(mt._w); + o && + t.addRule( + `.monaco-editor .minimap-shadow-visible { box-shadow: ${o} -6px 0 6px -6px inset; }` + ); + }); + class At extends N { + constructor(e) { + super(e); + const t = this._context.configuration.options.get(117); + (this._widgets = {}), + (this._verticalScrollbarWidth = t.verticalScrollbarWidth), + (this._minimapWidth = t.minimap.minimapWidth), + (this._horizontalScrollbarHeight = t.horizontalScrollbarHeight), + (this._editorHeight = t.height), + (this._editorWidth = t.width), + (this._domNode = (0, g.X)(document.createElement('div'))), + E.write(this._domNode, 4), + this._domNode.setClassName('overlayWidgets'); + } + dispose() { + super.dispose(), (this._widgets = {}); + } + getDomNode() { + return this._domNode; + } + onConfigurationChanged(e) { + const t = this._context.configuration.options.get(117); + return ( + (this._verticalScrollbarWidth = t.verticalScrollbarWidth), + (this._minimapWidth = t.minimap.minimapWidth), + (this._horizontalScrollbarHeight = t.horizontalScrollbarHeight), + (this._editorHeight = t.height), + (this._editorWidth = t.width), + !0 + ); + } + addWidget(e) { + const t = (0, g.X)(e.getDomNode()); + (this._widgets[e.getId()] = { + widget: e, + preference: null, + domNode: t, + }), + t.setPosition('absolute'), + t.setAttribute('widgetId', e.getId()), + this._domNode.appendChild(t), + this.setShouldRender(); + } + setWidgetPosition(e, t) { + const i = this._widgets[e.getId()]; + return ( + i.preference !== t && + ((i.preference = t), this.setShouldRender(), !0) + ); + } + removeWidget(e) { + const t = e.getId(); + if (this._widgets.hasOwnProperty(t)) { + const e = this._widgets[t].domNode.domNode; + delete this._widgets[t], + e.parentNode.removeChild(e), + this.setShouldRender(); + } + } + _renderWidget(e) { + const t = e.domNode; + if (null !== e.preference) + if (0 === e.preference) + t.setTop(0), + t.setRight( + 2 * this._verticalScrollbarWidth + this._minimapWidth + ); + else if (1 === e.preference) { + const e = t.domNode.clientHeight; + t.setTop( + this._editorHeight - e - 2 * this._horizontalScrollbarHeight + ), + t.setRight( + 2 * this._verticalScrollbarWidth + this._minimapWidth + ); + } else + 2 === e.preference && + (t.setTop(0), (t.domNode.style.right = '50%')); + else t.unsetTop(); + } + prepareRender(e) {} + render(e) { + this._domNode.setWidth(this._editorWidth); + const t = Object.keys(this._widgets); + for (let e = 0, i = t.length; e < i; e++) { + const i = t[e]; + this._renderWidget(this._widgets[i]); + } + } + } + var Rt = i(41264); + class Pt { + constructor(e, t) { + const i = e.options; + (this.lineHeight = i.get(51)), + (this.pixelRatio = i.get(115)), + (this.overviewRulerLanes = i.get(65)), + (this.renderBorder = i.get(64)); + const n = t.getColor(xe.zw); + (this.borderColor = n ? n.toString() : null), + (this.hideCursor = i.get(44)); + const r = t.getColor(xe.n0); + (this.cursorColor = r ? r.transparent(0.7).toString() : null), + (this.themeType = t.type); + const s = i.get(56), + o = s.enabled, + a = s.side, + l = o ? t.getColor(xe.e_) || gt.RW.getDefaultBackground() : null; + this.backgroundColor = + null === l || 'left' === a ? null : Rt.Il.Format.CSS.formatHex(l); + const c = i.get(117).overviewRuler; + (this.top = c.top), + (this.right = c.right), + (this.domWidth = c.width), + (this.domHeight = c.height), + 0 === this.overviewRulerLanes + ? ((this.canvasWidth = 0), (this.canvasHeight = 0)) + : ((this.canvasWidth = (this.domWidth * this.pixelRatio) | 0), + (this.canvasHeight = (this.domHeight * this.pixelRatio) | 0)); + const [d, h] = this._initLanes( + 1, + this.canvasWidth, + this.overviewRulerLanes + ); + (this.x = d), (this.w = h); + } + _initLanes(e, t, i) { + const n = t - e; + if (i >= 3) { + const t = Math.floor(n / 3), + i = Math.floor(n / 3), + r = n - t - i, + s = e + t; + return [ + [0, e, s, e, e + t + r, e, s, e], + [0, t, r, t + r, i, t + r + i, r + i, t + r + i], + ]; + } + if (2 === i) { + const t = Math.floor(n / 2), + i = n - t; + return [ + [0, e, e, e, e + t, e, e, e], + [0, t, t, t, i, t + i, t + i, t + i], + ]; + } + return [ + [0, e, e, e, e, e, e, e], + [0, n, n, n, n, n, n, n], + ]; + } + equals(e) { + return ( + this.lineHeight === e.lineHeight && + this.pixelRatio === e.pixelRatio && + this.overviewRulerLanes === e.overviewRulerLanes && + this.renderBorder === e.renderBorder && + this.borderColor === e.borderColor && + this.hideCursor === e.hideCursor && + this.cursorColor === e.cursorColor && + this.themeType === e.themeType && + this.backgroundColor === e.backgroundColor && + this.top === e.top && + this.right === e.right && + this.domWidth === e.domWidth && + this.domHeight === e.domHeight && + this.canvasWidth === e.canvasWidth && + this.canvasHeight === e.canvasHeight + ); + } + } + class Ft extends N { + constructor(e) { + super(e), + (this._domNode = (0, g.X)(document.createElement('canvas'))), + this._domNode.setClassName('decorationsOverviewRuler'), + this._domNode.setPosition('absolute'), + this._domNode.setLayerHinting(!0), + this._domNode.setContain('strict'), + this._domNode.setAttribute('aria-hidden', 'true'), + this._updateSettings(!1), + (this._tokensColorTrackerListener = gt.RW.onDidChange((e) => { + e.changedColorMap && this._updateSettings(!0); + })), + (this._cursorPositions = []); + } + dispose() { + super.dispose(), this._tokensColorTrackerListener.dispose(); + } + _updateSettings(e) { + const t = new Pt(this._context.configuration, this._context.theme); + return !( + (this._settings && this._settings.equals(t)) || + ((this._settings = t), + this._domNode.setTop(this._settings.top), + this._domNode.setRight(this._settings.right), + this._domNode.setWidth(this._settings.domWidth), + this._domNode.setHeight(this._settings.domHeight), + (this._domNode.domNode.width = this._settings.canvasWidth), + (this._domNode.domNode.height = this._settings.canvasHeight), + e && this._render(), + 0) + ); + } + onConfigurationChanged(e) { + return this._updateSettings(!1); + } + onCursorStateChanged(e) { + this._cursorPositions = []; + for (let t = 0, i = e.selections.length; t < i; t++) + this._cursorPositions[t] = e.selections[t].getPosition(); + return this._cursorPositions.sort(Q.L.compare), !0; + } + onDecorationsChanged(e) { + return !!e.affectsOverviewRuler; + } + onFlushed(e) { + return !0; + } + onScrollChanged(e) { + return e.scrollHeightChanged; + } + onZonesChanged(e) { + return !0; + } + onThemeChanged(e) { + return ( + this._context.model.invalidateOverviewRulerColorCache(), + this._updateSettings(!1) + ); + } + getDomNode() { + return this._domNode.domNode; + } + prepareRender(e) {} + render(e) { + this._render(); + } + _render() { + if (0 === this._settings.overviewRulerLanes) + return void this._domNode.setBackgroundColor( + this._settings.backgroundColor + ? this._settings.backgroundColor + : '' + ); + const e = this._settings.canvasWidth, + t = this._settings.canvasHeight, + i = this._settings.lineHeight, + n = this._context.viewLayout, + r = t / this._context.viewLayout.getScrollHeight(), + s = this._context.model.getAllOverviewRulerDecorations( + this._context.theme + ), + o = (6 * this._settings.pixelRatio) | 0, + a = (o / 2) | 0, + l = this._domNode.domNode.getContext('2d'); + null === this._settings.backgroundColor + ? l.clearRect(0, 0, e, t) + : ((l.fillStyle = this._settings.backgroundColor), + l.fillRect(0, 0, e, t)); + const c = this._settings.x, + d = this._settings.w, + h = Object.keys(s); + h.sort(); + for (let e = 0, u = h.length; e < u; e++) { + const u = h[e], + g = s[u]; + l.fillStyle = u; + let f = 0, + p = 0, + m = 0; + for (let e = 0, s = g.length; e < s; e++) { + const s = g[3 * e], + h = g[3 * e + 1], + u = g[3 * e + 2]; + let _ = (n.getVerticalOffsetForLineNumber(h) * r) | 0, + b = ((n.getVerticalOffsetForLineNumber(u) + i) * r) | 0; + if (b - _ < o) { + let e = ((_ + b) / 2) | 0; + e < a ? (e = a) : e + a > t && (e = t - a), + (_ = e - a), + (b = e + a); + } + _ > m + 1 || s !== f + ? (0 !== e && l.fillRect(c[f], p, d[f], m - p), + (f = s), + (p = _), + (m = b)) + : b > m && (m = b); + } + l.fillRect(c[f], p, d[f], m - p); + } + if (!this._settings.hideCursor && this._settings.cursorColor) { + const e = (2 * this._settings.pixelRatio) | 0, + i = (e / 2) | 0, + s = this._settings.x[7], + o = this._settings.w[7]; + l.fillStyle = this._settings.cursorColor; + let a = -100, + c = -100; + for (let d = 0, h = this._cursorPositions.length; d < h; d++) { + const h = this._cursorPositions[d]; + let u = + (n.getVerticalOffsetForLineNumber(h.lineNumber) * r) | 0; + u < i ? (u = i) : u + i > t && (u = t - i); + const g = u - i, + f = g + e; + g > c + 1 + ? (0 !== d && l.fillRect(s, a, o, c - a), (a = g), (c = f)) + : f > c && (c = f); + } + l.fillRect(s, a, o, c - a); + } + this._settings.renderBorder && + this._settings.borderColor && + this._settings.overviewRulerLanes > 0 && + (l.beginPath(), + (l.lineWidth = 1), + (l.strokeStyle = this._settings.borderColor), + l.moveTo(0, 0), + l.lineTo(0, t), + l.stroke(), + l.moveTo(0, 0), + l.lineTo(e, 0), + l.stroke()); + } + } + var Bt = i(92003); + class Wt extends D { + constructor(e, t) { + super(), (this._context = e); + const i = this._context.configuration.options; + (this._domNode = (0, g.X)(document.createElement('canvas'))), + this._domNode.setClassName(t), + this._domNode.setPosition('absolute'), + this._domNode.setLayerHinting(!0), + this._domNode.setContain('strict'), + (this._zoneManager = new Bt.Tj((e) => + this._context.viewLayout.getVerticalOffsetForLineNumber(e) + )), + this._zoneManager.setDOMWidth(0), + this._zoneManager.setDOMHeight(0), + this._zoneManager.setOuterHeight( + this._context.viewLayout.getScrollHeight() + ), + this._zoneManager.setLineHeight(i.get(51)), + this._zoneManager.setPixelRatio(i.get(115)), + this._context.addEventHandler(this); + } + dispose() { + this._context.removeEventHandler(this), super.dispose(); + } + onConfigurationChanged(e) { + const t = this._context.configuration.options; + return ( + e.hasChanged(51) && + (this._zoneManager.setLineHeight(t.get(51)), this._render()), + e.hasChanged(115) && + (this._zoneManager.setPixelRatio(t.get(115)), + this._domNode.setWidth(this._zoneManager.getDOMWidth()), + this._domNode.setHeight(this._zoneManager.getDOMHeight()), + (this._domNode.domNode.width = this._zoneManager.getCanvasWidth()), + (this._domNode.domNode.height = this._zoneManager.getCanvasHeight()), + this._render()), + !0 + ); + } + onFlushed(e) { + return this._render(), !0; + } + onScrollChanged(e) { + return ( + e.scrollHeightChanged && + (this._zoneManager.setOuterHeight(e.scrollHeight), + this._render()), + !0 + ); + } + onZonesChanged(e) { + return this._render(), !0; + } + getDomNode() { + return this._domNode.domNode; + } + setLayout(e) { + this._domNode.setTop(e.top), this._domNode.setRight(e.right); + let t = !1; + (t = this._zoneManager.setDOMWidth(e.width) || t), + (t = this._zoneManager.setDOMHeight(e.height) || t), + t && + (this._domNode.setWidth(this._zoneManager.getDOMWidth()), + this._domNode.setHeight(this._zoneManager.getDOMHeight()), + (this._domNode.domNode.width = this._zoneManager.getCanvasWidth()), + (this._domNode.domNode.height = this._zoneManager.getCanvasHeight()), + this._render()); + } + setZones(e) { + this._zoneManager.setZones(e), this._render(); + } + _render() { + if (0 === this._zoneManager.getOuterHeight()) return !1; + const e = this._zoneManager.getCanvasWidth(), + t = this._zoneManager.getCanvasHeight(), + i = this._zoneManager.resolveColorZones(), + n = this._zoneManager.getId2Color(), + r = this._domNode.domNode.getContext('2d'); + return ( + r.clearRect(0, 0, e, t), + i.length > 0 && this._renderOneLane(r, i, n, e), + !0 + ); + } + _renderOneLane(e, t, i, n) { + let r = 0, + s = 0, + o = 0; + for (const a of t) { + const t = a.colorId, + l = a.from, + c = a.to; + t !== r + ? (e.fillRect(0, s, n, o - s), + (r = t), + (e.fillStyle = i[r]), + (s = l), + (o = c)) + : o >= l + ? (o = Math.max(o, c)) + : (e.fillRect(0, s, n, o - s), (s = l), (o = c)); + } + e.fillRect(0, s, n, o - s); + } + } + class Yt extends N { + constructor(e) { + super(e), + (this.domNode = (0, g.X)(document.createElement('div'))), + this.domNode.setAttribute('role', 'presentation'), + this.domNode.setAttribute('aria-hidden', 'true'), + this.domNode.setClassName('view-rulers'), + (this._renderedRulers = []); + const t = this._context.configuration.options; + (this._rulers = t.get(83)), + (this._typicalHalfwidthCharacterWidth = t.get( + 36 + ).typicalHalfwidthCharacterWidth); + } + dispose() { + super.dispose(); + } + onConfigurationChanged(e) { + const t = this._context.configuration.options; + return ( + (this._rulers = t.get(83)), + (this._typicalHalfwidthCharacterWidth = t.get( + 36 + ).typicalHalfwidthCharacterWidth), + !0 + ); + } + onScrollChanged(e) { + return e.scrollHeightChanged; + } + prepareRender(e) {} + _ensureRulersCount() { + const e = this._renderedRulers.length, + t = this._rulers.length; + if (e === t) return; + if (e < t) { + const { tabSize: i } = this._context.model.getTextModelOptions(), + n = i; + let r = t - e; + for (; r > 0; ) { + const e = (0, g.X)(document.createElement('div')); + e.setClassName('view-ruler'), + e.setWidth(n), + this.domNode.appendChild(e), + this._renderedRulers.push(e), + r--; + } + return; + } + let i = e - t; + for (; i > 0; ) { + const e = this._renderedRulers.pop(); + this.domNode.removeChild(e), i--; + } + } + render(e) { + this._ensureRulersCount(); + for (let t = 0, i = this._rulers.length; t < i; t++) { + const i = this._renderedRulers[t], + n = this._rulers[t]; + i.setBoxShadow(n.color ? `1px 0 0 0 ${n.color} inset` : ''), + i.setHeight(Math.min(e.scrollHeight, 1e6)), + i.setLeft(n.column * this._typicalHalfwidthCharacterWidth); + } + } + } + (0, Y.Ic)((e, t) => { + const i = e.getColor(xe.zk); + i && + t.addRule( + `.monaco-editor .view-ruler { box-shadow: 1px 0 0 0 ${i} inset; }` + ); + }); + class Ht extends N { + constructor(e) { + super(e), + (this._scrollTop = 0), + (this._width = 0), + this._updateWidth(), + (this._shouldShow = !1); + const t = this._context.configuration.options.get(84); + (this._useShadows = t.useShadows), + (this._domNode = (0, g.X)(document.createElement('div'))), + this._domNode.setAttribute('role', 'presentation'), + this._domNode.setAttribute('aria-hidden', 'true'); + } + dispose() { + super.dispose(); + } + _updateShouldShow() { + const e = this._useShadows && this._scrollTop > 0; + return this._shouldShow !== e && ((this._shouldShow = e), !0); + } + getDomNode() { + return this._domNode; + } + _updateWidth() { + const e = this._context.configuration.options.get(117); + 0 === e.minimap.renderMinimap || + (e.minimap.minimapWidth > 0 && 0 === e.minimap.minimapLeft) + ? (this._width = e.width) + : (this._width = + e.width - e.minimap.minimapWidth - e.verticalScrollbarWidth); + } + onConfigurationChanged(e) { + const t = this._context.configuration.options.get(84); + return ( + (this._useShadows = t.useShadows), + this._updateWidth(), + this._updateShouldShow(), + !0 + ); + } + onScrollChanged(e) { + return (this._scrollTop = e.scrollTop), this._updateShouldShow(); + } + prepareRender(e) {} + render(e) { + this._domNode.setWidth(this._width), + this._domNode.setClassName( + this._shouldShow ? 'scroll-decoration' : '' + ); + } + } + (0, Y.Ic)((e, t) => { + const i = e.getColor(mt._w); + i && + t.addRule( + `.monaco-editor .scroll-decoration { box-shadow: ${i} 0 6px 6px -6px inset; }` + ); + }); + class jt { + constructor(e) { + (this.left = e.left), + (this.width = e.width), + (this.startStyle = null), + (this.endStyle = null); + } + } + class Vt { + constructor(e, t) { + (this.lineNumber = e), (this.ranges = t); + } + } + function zt(e) { + return new jt(e); + } + function Ut(e) { + return new Vt(e.lineNumber, e.ranges.map(zt)); + } + const $t = b.un; + class Kt extends ke { + constructor(e) { + super(), + (this._previousFrameVisibleRangesWithStyle = []), + (this._context = e); + const t = this._context.configuration.options; + (this._lineHeight = t.get(51)), + (this._roundedSelection = t.get(82)), + (this._typicalHalfwidthCharacterWidth = t.get( + 36 + ).typicalHalfwidthCharacterWidth), + (this._selections = []), + (this._renderResult = null), + this._context.addEventHandler(this); + } + dispose() { + this._context.removeEventHandler(this), + (this._renderResult = null), + super.dispose(); + } + onConfigurationChanged(e) { + const t = this._context.configuration.options; + return ( + (this._lineHeight = t.get(51)), + (this._roundedSelection = t.get(82)), + (this._typicalHalfwidthCharacterWidth = t.get( + 36 + ).typicalHalfwidthCharacterWidth), + !0 + ); + } + onCursorStateChanged(e) { + return (this._selections = e.selections.slice(0)), !0; + } + onDecorationsChanged(e) { + return !0; + } + onFlushed(e) { + return !0; + } + onLinesChanged(e) { + return !0; + } + onLinesDeleted(e) { + return !0; + } + onLinesInserted(e) { + return !0; + } + onScrollChanged(e) { + return e.scrollTopChanged; + } + onZonesChanged(e) { + return !0; + } + _visibleRangesHaveGaps(e) { + for (let t = 0, i = e.length; t < i; t++) + if (e[t].ranges.length > 1) return !0; + return !1; + } + _enrichVisibleRangesWithStyle(e, t, i) { + const n = this._typicalHalfwidthCharacterWidth / 4; + let r = null, + s = null; + if (i && i.length > 0 && t.length > 0) { + const n = t[0].lineNumber; + if (n === e.startLineNumber) + for (let e = 0; !r && e < i.length; e++) + i[e].lineNumber === n && (r = i[e].ranges[0]); + const o = t[t.length - 1].lineNumber; + if (o === e.endLineNumber) + for (let e = i.length - 1; !s && e >= 0; e--) + i[e].lineNumber === o && (s = i[e].ranges[0]); + r && !r.startStyle && (r = null), + s && !s.startStyle && (s = null); + } + for (let e = 0, i = t.length; e < i; e++) { + const o = t[e].ranges[0], + a = o.left, + l = o.left + o.width, + c = { top: 0, bottom: 0 }, + d = { top: 0, bottom: 0 }; + if (e > 0) { + const i = t[e - 1].ranges[0].left, + r = t[e - 1].ranges[0].left + t[e - 1].ranges[0].width; + qt(a - i) < n ? (c.top = 2) : a > i && (c.top = 1), + qt(l - r) < n ? (d.top = 2) : i < l && l < r && (d.top = 1); + } else + r && ((c.top = r.startStyle.top), (d.top = r.endStyle.top)); + if (e + 1 < i) { + const i = t[e + 1].ranges[0].left, + r = t[e + 1].ranges[0].left + t[e + 1].ranges[0].width; + qt(a - i) < n + ? (c.bottom = 2) + : i < a && a < r && (c.bottom = 1), + qt(l - r) < n ? (d.bottom = 2) : l < r && (d.bottom = 1); + } else + s && + ((c.bottom = s.startStyle.bottom), + (d.bottom = s.endStyle.bottom)); + (o.startStyle = c), (o.endStyle = d); + } + } + _getVisibleRangesWithStyle(e, t, i) { + const n = (t.linesVisibleRangesForRange(e, !0) || []).map(Ut), + r = this._visibleRangesHaveGaps(n); + return ( + $t || + r || + !this._roundedSelection || + this._enrichVisibleRangesWithStyle(t.visibleRange, n, i), + n + ); + } + _createSelectionPiece(e, t, i, n, r) { + return ( + '<div class="cslr ' + + i + + '" style="top:' + + e.toString() + + 'px;left:' + + n.toString() + + 'px;width:' + + r.toString() + + 'px;height:' + + t + + 'px;"></div>' + ); + } + _actualRenderOneSelection(e, t, i, n) { + if (0 === n.length) return; + const r = !!n[0].ranges[0].startStyle, + s = this._lineHeight.toString(), + o = (this._lineHeight - 1).toString(), + a = n[0].lineNumber, + l = n[n.length - 1].lineNumber; + for (let c = 0, d = n.length; c < d; c++) { + const d = n[c], + h = d.lineNumber, + u = h - t, + g = !i || (h !== l && h !== a) ? s : o, + f = i && h === a ? 1 : 0; + let p = '', + m = ''; + for (let e = 0, t = d.ranges.length; e < t; e++) { + const t = d.ranges[e]; + if (r) { + const e = t.startStyle, + i = t.endStyle; + if (1 === e.top || 1 === e.bottom) { + p += this._createSelectionPiece( + f, + g, + Kt.SELECTION_CLASS_NAME, + t.left - Kt.ROUNDED_PIECE_WIDTH, + Kt.ROUNDED_PIECE_WIDTH + ); + let i = Kt.EDITOR_BACKGROUND_CLASS_NAME; + 1 === e.top && (i += ' ' + Kt.SELECTION_TOP_RIGHT), + 1 === e.bottom && (i += ' ' + Kt.SELECTION_BOTTOM_RIGHT), + (p += this._createSelectionPiece( + f, + g, + i, + t.left - Kt.ROUNDED_PIECE_WIDTH, + Kt.ROUNDED_PIECE_WIDTH + )); + } + if (1 === i.top || 1 === i.bottom) { + p += this._createSelectionPiece( + f, + g, + Kt.SELECTION_CLASS_NAME, + t.left + t.width, + Kt.ROUNDED_PIECE_WIDTH + ); + let e = Kt.EDITOR_BACKGROUND_CLASS_NAME; + 1 === i.top && (e += ' ' + Kt.SELECTION_TOP_LEFT), + 1 === i.bottom && (e += ' ' + Kt.SELECTION_BOTTOM_LEFT), + (p += this._createSelectionPiece( + f, + g, + e, + t.left + t.width, + Kt.ROUNDED_PIECE_WIDTH + )); + } + } + let i = Kt.SELECTION_CLASS_NAME; + if (r) { + const e = t.startStyle, + n = t.endStyle; + 0 === e.top && (i += ' ' + Kt.SELECTION_TOP_LEFT), + 0 === e.bottom && (i += ' ' + Kt.SELECTION_BOTTOM_LEFT), + 0 === n.top && (i += ' ' + Kt.SELECTION_TOP_RIGHT), + 0 === n.bottom && (i += ' ' + Kt.SELECTION_BOTTOM_RIGHT); + } + m += this._createSelectionPiece(f, g, i, t.left, t.width); + } + (e[u][0] += p), (e[u][1] += m); + } + } + prepareRender(e) { + const t = [], + i = e.visibleRange.startLineNumber, + n = e.visibleRange.endLineNumber; + for (let e = i; e <= n; e++) t[e - i] = ['', '']; + const r = []; + for (let n = 0, s = this._selections.length; n < s; n++) { + const s = this._selections[n]; + if (s.isEmpty()) { + r[n] = null; + continue; + } + const o = this._getVisibleRangesWithStyle( + s, + e, + this._previousFrameVisibleRangesWithStyle[n] + ); + (r[n] = o), + this._actualRenderOneSelection( + t, + i, + this._selections.length > 1, + o + ); + } + (this._previousFrameVisibleRangesWithStyle = r), + (this._renderResult = t.map(([e, t]) => e + t)); + } + render(e, t) { + if (!this._renderResult) return ''; + const i = t - e; + return i < 0 || i >= this._renderResult.length + ? '' + : this._renderResult[i]; + } + } + function qt(e) { + return e < 0 ? -e : e; + } + (Kt.SELECTION_CLASS_NAME = 'selected-text'), + (Kt.SELECTION_TOP_LEFT = 'top-left-radius'), + (Kt.SELECTION_BOTTOM_LEFT = 'bottom-left-radius'), + (Kt.SELECTION_TOP_RIGHT = 'top-right-radius'), + (Kt.SELECTION_BOTTOM_RIGHT = 'bottom-right-radius'), + (Kt.EDITOR_BACKGROUND_CLASS_NAME = 'monaco-editor-background'), + (Kt.ROUNDED_PIECE_WIDTH = 10), + (0, Y.Ic)((e, t) => { + const i = e.getColor(mt.hE); + i && + t.addRule( + `.monaco-editor .focused .selected-text { background-color: ${i}; }` + ); + const n = e.getColor(mt.ES); + n && + t.addRule( + `.monaco-editor .selected-text { background-color: ${n}; }` + ); + const r = e.getColor(mt.yb); + r && + !r.isTransparent() && + t.addRule( + `.monaco-editor .view-line span.inline-selected-text { color: ${r}; }` + ); + }); + class Gt { + constructor(e, t, i, n, r, s) { + (this.top = e), + (this.left = t), + (this.width = i), + (this.height = n), + (this.textContent = r), + (this.textContentClassName = s); + } + } + class Zt { + constructor(e) { + this._context = e; + const t = this._context.configuration.options, + i = t.get(36); + (this._cursorStyle = t.get(19)), + (this._lineHeight = t.get(51)), + (this._typicalHalfwidthCharacterWidth = + i.typicalHalfwidthCharacterWidth), + (this._lineCursorWidth = Math.min( + t.get(22), + this._typicalHalfwidthCharacterWidth + )), + (this._isVisible = !0), + (this._domNode = (0, g.X)(document.createElement('div'))), + this._domNode.setClassName(`cursor ${Ne.S}`), + this._domNode.setHeight(this._lineHeight), + this._domNode.setTop(0), + this._domNode.setLeft(0), + c.V.applyFontInfo(this._domNode, i), + this._domNode.setDisplay('none'), + (this._position = new Q.L(1, 1)), + (this._lastRenderedContent = ''), + (this._renderData = null); + } + getDomNode() { + return this._domNode; + } + getPosition() { + return this._position; + } + show() { + this._isVisible || + (this._domNode.setVisibility('inherit'), (this._isVisible = !0)); + } + hide() { + this._isVisible && + (this._domNode.setVisibility('hidden'), (this._isVisible = !1)); + } + onConfigurationChanged(e) { + const t = this._context.configuration.options, + i = t.get(36); + return ( + (this._cursorStyle = t.get(19)), + (this._lineHeight = t.get(51)), + (this._typicalHalfwidthCharacterWidth = + i.typicalHalfwidthCharacterWidth), + (this._lineCursorWidth = Math.min( + t.get(22), + this._typicalHalfwidthCharacterWidth + )), + c.V.applyFontInfo(this._domNode, i), + !0 + ); + } + onCursorPositionChanged(e) { + return (this._position = e), !0; + } + _prepareRender(e) { + let t = ''; + if ( + this._cursorStyle === H.d2.Line || + this._cursorStyle === H.d2.LineThin + ) { + const i = e.visibleRangeForPosition(this._position); + if (!i || i.outsideRenderedLine) return null; + let n; + if (this._cursorStyle === H.d2.Line) { + if ( + ((n = r.Uh( + this._lineCursorWidth > 0 ? this._lineCursorWidth : 2 + )), + n > 2) + ) { + const e = this._context.model.getLineContent( + this._position.lineNumber + ), + i = we.vH(e, this._position.column - 1); + t = e.substr(this._position.column - 1, i); + } + } else n = r.Uh(1); + let s = i.left; + n >= 2 && s >= 1 && (s -= 1); + const o = + e.getVerticalOffsetForLineNumber(this._position.lineNumber) - + e.bigNumbersDelta; + return new Gt(o, s, n, this._lineHeight, t, ''); + } + const i = this._context.model.getLineContent( + this._position.lineNumber + ), + n = we.vH(i, this._position.column - 1), + s = e.linesVisibleRangesForRange( + new X.e( + this._position.lineNumber, + this._position.column, + this._position.lineNumber, + this._position.column + n + ), + !1 + ); + if (!s || 0 === s.length) return null; + const o = s[0]; + if (o.outsideRenderedLine || 0 === o.ranges.length) return null; + const a = o.ranges[0], + l = a.width < 1 ? this._typicalHalfwidthCharacterWidth : a.width; + let c = ''; + if (this._cursorStyle === H.d2.Block) { + const e = this._context.model.getViewLineData( + this._position.lineNumber + ); + t = i.substr(this._position.column - 1, n); + const r = e.tokens.findTokenIndexAtOffset( + this._position.column - 1 + ); + c = e.tokens.getClassName(r); + } + let d = + e.getVerticalOffsetForLineNumber(this._position.lineNumber) - + e.bigNumbersDelta, + h = this._lineHeight; + return ( + (this._cursorStyle !== H.d2.Underline && + this._cursorStyle !== H.d2.UnderlineThin) || + ((d += this._lineHeight - 2), (h = 2)), + new Gt(d, a.left, l, h, t, c) + ); + } + prepareRender(e) { + this._renderData = this._prepareRender(e); + } + render(e) { + return this._renderData + ? (this._lastRenderedContent !== this._renderData.textContent && + ((this._lastRenderedContent = this._renderData.textContent), + (this._domNode.domNode.textContent = this._lastRenderedContent)), + this._domNode.setClassName( + `cursor ${Ne.S} ${this._renderData.textContentClassName}` + ), + this._domNode.setDisplay('block'), + this._domNode.setTop(this._renderData.top), + this._domNode.setLeft(this._renderData.left), + this._domNode.setWidth(this._renderData.width), + this._domNode.setLineHeight(this._renderData.height), + this._domNode.setHeight(this._renderData.height), + { + domNode: this._domNode.domNode, + position: this._position, + contentLeft: this._renderData.left, + height: this._renderData.height, + width: 2, + }) + : (this._domNode.setDisplay('none'), null); + } + } + class Jt extends N { + constructor(e) { + super(e); + const t = this._context.configuration.options; + (this._readOnly = t.get(72)), + (this._cursorBlinking = t.get(17)), + (this._cursorStyle = t.get(19)), + (this._cursorSmoothCaretAnimation = t.get(18)), + (this._selectionIsEmpty = !0), + (this._isVisible = !1), + (this._primaryCursor = new Zt(this._context)), + (this._secondaryCursors = []), + (this._renderData = []), + (this._domNode = (0, g.X)(document.createElement('div'))), + this._domNode.setAttribute('role', 'presentation'), + this._domNode.setAttribute('aria-hidden', 'true'), + this._updateDomClassName(), + this._domNode.appendChild(this._primaryCursor.getDomNode()), + (this._startCursorBlinkAnimation = new _._F()), + (this._cursorFlatBlinkInterval = new _.zh()), + (this._blinkingEnabled = !1), + (this._editorHasFocus = !1), + this._updateBlinking(); + } + dispose() { + super.dispose(), + this._startCursorBlinkAnimation.dispose(), + this._cursorFlatBlinkInterval.dispose(); + } + getDomNode() { + return this._domNode; + } + onConfigurationChanged(e) { + const t = this._context.configuration.options; + (this._readOnly = t.get(72)), + (this._cursorBlinking = t.get(17)), + (this._cursorStyle = t.get(19)), + (this._cursorSmoothCaretAnimation = t.get(18)), + this._updateBlinking(), + this._updateDomClassName(), + this._primaryCursor.onConfigurationChanged(e); + for (let t = 0, i = this._secondaryCursors.length; t < i; t++) + this._secondaryCursors[t].onConfigurationChanged(e); + return !0; + } + _onCursorPositionChanged(e, t) { + if ( + (this._primaryCursor.onCursorPositionChanged(e), + this._updateBlinking(), + this._secondaryCursors.length < t.length) + ) { + const e = t.length - this._secondaryCursors.length; + for (let t = 0; t < e; t++) { + const e = new Zt(this._context); + this._domNode.domNode.insertBefore( + e.getDomNode().domNode, + this._primaryCursor.getDomNode().domNode.nextSibling + ), + this._secondaryCursors.push(e); + } + } else if (this._secondaryCursors.length > t.length) { + const e = this._secondaryCursors.length - t.length; + for (let t = 0; t < e; t++) + this._domNode.removeChild( + this._secondaryCursors[0].getDomNode() + ), + this._secondaryCursors.splice(0, 1); + } + for (let e = 0; e < t.length; e++) + this._secondaryCursors[e].onCursorPositionChanged(t[e]); + } + onCursorStateChanged(e) { + const t = []; + for (let i = 0, n = e.selections.length; i < n; i++) + t[i] = e.selections[i].getPosition(); + this._onCursorPositionChanged(t[0], t.slice(1)); + const i = e.selections[0].isEmpty(); + return ( + this._selectionIsEmpty !== i && + ((this._selectionIsEmpty = i), this._updateDomClassName()), + !0 + ); + } + onDecorationsChanged(e) { + return !0; + } + onFlushed(e) { + return !0; + } + onFocusChanged(e) { + return ( + (this._editorHasFocus = e.isFocused), this._updateBlinking(), !1 + ); + } + onLinesChanged(e) { + return !0; + } + onLinesDeleted(e) { + return !0; + } + onLinesInserted(e) { + return !0; + } + onScrollChanged(e) { + return !0; + } + onTokensChanged(e) { + const t = (t) => { + for (let i = 0, n = e.ranges.length; i < n; i++) + if ( + e.ranges[i].fromLineNumber <= t.lineNumber && + t.lineNumber <= e.ranges[i].toLineNumber + ) + return !0; + return !1; + }; + if (t(this._primaryCursor.getPosition())) return !0; + for (const e of this._secondaryCursors) + if (t(e.getPosition())) return !0; + return !1; + } + onZonesChanged(e) { + return !0; + } + _getCursorBlinking() { + return this._editorHasFocus + ? this._readOnly + ? 5 + : this._cursorBlinking + : 0; + } + _updateBlinking() { + this._startCursorBlinkAnimation.cancel(), + this._cursorFlatBlinkInterval.cancel(); + const e = this._getCursorBlinking(), + t = 0 === e, + i = 5 === e; + t ? this._hide() : this._show(), + (this._blinkingEnabled = !1), + this._updateDomClassName(), + t || + i || + (1 === e + ? this._cursorFlatBlinkInterval.cancelAndSet(() => { + this._isVisible ? this._hide() : this._show(); + }, Jt.BLINK_INTERVAL) + : this._startCursorBlinkAnimation.setIfNotSet(() => { + (this._blinkingEnabled = !0), this._updateDomClassName(); + }, Jt.BLINK_INTERVAL)); + } + _updateDomClassName() { + this._domNode.setClassName(this._getClassName()); + } + _getClassName() { + let e = 'cursors-layer'; + switch ( + (this._selectionIsEmpty || (e += ' has-selection'), + this._cursorStyle) + ) { + case H.d2.Line: + e += ' cursor-line-style'; + break; + case H.d2.Block: + e += ' cursor-block-style'; + break; + case H.d2.Underline: + e += ' cursor-underline-style'; + break; + case H.d2.LineThin: + e += ' cursor-line-thin-style'; + break; + case H.d2.BlockOutline: + e += ' cursor-block-outline-style'; + break; + case H.d2.UnderlineThin: + e += ' cursor-underline-thin-style'; + break; + default: + e += ' cursor-line-style'; + } + if (this._blinkingEnabled) + switch (this._getCursorBlinking()) { + case 1: + e += ' cursor-blink'; + break; + case 2: + e += ' cursor-smooth'; + break; + case 3: + e += ' cursor-phase'; + break; + case 4: + e += ' cursor-expand'; + break; + case 5: + e += ' cursor-solid'; + break; + default: + e += ' cursor-solid'; + } + else e += ' cursor-solid'; + return ( + this._cursorSmoothCaretAnimation && + (e += ' cursor-smooth-caret-animation'), + e + ); + } + _show() { + this._primaryCursor.show(); + for (let e = 0, t = this._secondaryCursors.length; e < t; e++) + this._secondaryCursors[e].show(); + this._isVisible = !0; + } + _hide() { + this._primaryCursor.hide(); + for (let e = 0, t = this._secondaryCursors.length; e < t; e++) + this._secondaryCursors[e].hide(); + this._isVisible = !1; + } + prepareRender(e) { + this._primaryCursor.prepareRender(e); + for (let t = 0, i = this._secondaryCursors.length; t < i; t++) + this._secondaryCursors[t].prepareRender(e); + } + render(e) { + let t = [], + i = 0; + const n = this._primaryCursor.render(e); + n && (t[i++] = n); + for (let n = 0, r = this._secondaryCursors.length; n < r; n++) { + const r = this._secondaryCursors[n].render(e); + r && (t[i++] = r); + } + this._renderData = t; + } + getLastRenderData() { + return this._renderData; + } + } + (Jt.BLINK_INTERVAL = 500), + (0, Y.Ic)((e, t) => { + const i = e.getColor(xe.n0); + if (i) { + let n = e.getColor(xe.fY); + n || (n = i.opposite()), + t.addRule( + `.monaco-editor .cursors-layer .cursor { background-color: ${i}; border-color: ${i}; color: ${n}; }` + ), + 'hc' === e.type && + t.addRule( + `.monaco-editor .cursors-layer.has-selection .cursor { border-left: 1px solid ${n}; border-right: 1px solid ${n}; }` + ); + } + }); + const Qt = () => { + throw new Error('Invalid change accessor'); + }; + class Xt extends N { + constructor(e) { + super(e); + const t = this._context.configuration.options, + i = t.get(117); + (this._lineHeight = t.get(51)), + (this._contentWidth = i.contentWidth), + (this._contentLeft = i.contentLeft), + (this.domNode = (0, g.X)(document.createElement('div'))), + this.domNode.setClassName('view-zones'), + this.domNode.setPosition('absolute'), + this.domNode.setAttribute('role', 'presentation'), + this.domNode.setAttribute('aria-hidden', 'true'), + (this.marginDomNode = (0, g.X)(document.createElement('div'))), + this.marginDomNode.setClassName('margin-view-zones'), + this.marginDomNode.setPosition('absolute'), + this.marginDomNode.setAttribute('role', 'presentation'), + this.marginDomNode.setAttribute('aria-hidden', 'true'), + (this._zones = {}); + } + dispose() { + super.dispose(), (this._zones = {}); + } + _recomputeWhitespacesProps() { + const e = this._context.viewLayout.getWhitespaces(), + t = new Map(); + for (const i of e) t.set(i.id, i); + let i = !1; + return ( + this._context.model.changeWhitespace((e) => { + const n = Object.keys(this._zones); + for (let r = 0, s = n.length; r < s; r++) { + const s = n[r], + o = this._zones[s], + a = this._computeWhitespaceProps(o.delegate), + l = t.get(s); + !l || + (l.afterLineNumber === a.afterViewLineNumber && + l.height === a.heightInPx) || + (e.changeOneWhitespace( + s, + a.afterViewLineNumber, + a.heightInPx + ), + this._safeCallOnComputedHeight(o.delegate, a.heightInPx), + (i = !0)); + } + }), + i + ); + } + onConfigurationChanged(e) { + const t = this._context.configuration.options, + i = t.get(117); + return ( + (this._lineHeight = t.get(51)), + (this._contentWidth = i.contentWidth), + (this._contentLeft = i.contentLeft), + e.hasChanged(51) && this._recomputeWhitespacesProps(), + !0 + ); + } + onLineMappingChanged(e) { + return this._recomputeWhitespacesProps(); + } + onLinesDeleted(e) { + return !0; + } + onScrollChanged(e) { + return e.scrollTopChanged || e.scrollWidthChanged; + } + onZonesChanged(e) { + return !0; + } + onLinesInserted(e) { + return !0; + } + _getZoneOrdinal(e) { + return void 0 !== e.afterColumn ? e.afterColumn : 1e4; + } + _computeWhitespaceProps(e) { + if (0 === e.afterLineNumber) + return { + afterViewLineNumber: 0, + heightInPx: this._heightInPixels(e), + minWidthInPx: this._minWidthInPixels(e), + }; + let t, i; + if (void 0 !== e.afterColumn) + t = this._context.model.validateModelPosition({ + lineNumber: e.afterLineNumber, + column: e.afterColumn, + }); + else { + const i = this._context.model.validateModelPosition({ + lineNumber: e.afterLineNumber, + column: 1, + }).lineNumber; + t = new Q.L(i, this._context.model.getModelLineMaxColumn(i)); + } + i = + t.column === + this._context.model.getModelLineMaxColumn(t.lineNumber) + ? this._context.model.validateModelPosition({ + lineNumber: t.lineNumber + 1, + column: 1, + }) + : this._context.model.validateModelPosition({ + lineNumber: t.lineNumber, + column: t.column + 1, + }); + const n = this._context.model.coordinatesConverter.convertModelPositionToViewPosition( + t + ), + r = this._context.model.coordinatesConverter.modelPositionIsVisible( + i + ); + return { + afterViewLineNumber: n.lineNumber, + heightInPx: r ? this._heightInPixels(e) : 0, + minWidthInPx: this._minWidthInPixels(e), + }; + } + changeViewZones(e) { + let t = !1; + return ( + this._context.model.changeWhitespace((i) => { + const n = { + addZone: (e) => ((t = !0), this._addZone(i, e)), + removeZone: (e) => { + e && (t = this._removeZone(i, e) || t); + }, + layoutZone: (e) => { + e && (t = this._layoutZone(i, e) || t); + }, + }; + !(function (e, t) { + try { + e(t); + } catch (e) { + (0, s.dL)(e); + } + })(e, n), + (n.addZone = Qt), + (n.removeZone = Qt), + (n.layoutZone = Qt); + }), + t + ); + } + _addZone(e, t) { + const i = this._computeWhitespaceProps(t), + n = { + whitespaceId: e.insertWhitespace( + i.afterViewLineNumber, + this._getZoneOrdinal(t), + i.heightInPx, + i.minWidthInPx + ), + delegate: t, + isVisible: !1, + domNode: (0, g.X)(t.domNode), + marginDomNode: t.marginDomNode + ? (0, g.X)(t.marginDomNode) + : null, + }; + return ( + this._safeCallOnComputedHeight(n.delegate, i.heightInPx), + n.domNode.setPosition('absolute'), + (n.domNode.domNode.style.width = '100%'), + n.domNode.setDisplay('none'), + n.domNode.setAttribute('monaco-view-zone', n.whitespaceId), + this.domNode.appendChild(n.domNode), + n.marginDomNode && + (n.marginDomNode.setPosition('absolute'), + (n.marginDomNode.domNode.style.width = '100%'), + n.marginDomNode.setDisplay('none'), + n.marginDomNode.setAttribute( + 'monaco-view-zone', + n.whitespaceId + ), + this.marginDomNode.appendChild(n.marginDomNode)), + (this._zones[n.whitespaceId] = n), + this.setShouldRender(), + n.whitespaceId + ); + } + _removeZone(e, t) { + if (this._zones.hasOwnProperty(t)) { + const i = this._zones[t]; + return ( + delete this._zones[t], + e.removeWhitespace(i.whitespaceId), + i.domNode.removeAttribute('monaco-visible-view-zone'), + i.domNode.removeAttribute('monaco-view-zone'), + i.domNode.domNode.parentNode.removeChild(i.domNode.domNode), + i.marginDomNode && + (i.marginDomNode.removeAttribute('monaco-visible-view-zone'), + i.marginDomNode.removeAttribute('monaco-view-zone'), + i.marginDomNode.domNode.parentNode.removeChild( + i.marginDomNode.domNode + )), + this.setShouldRender(), + !0 + ); + } + return !1; + } + _layoutZone(e, t) { + if (this._zones.hasOwnProperty(t)) { + const i = this._zones[t], + n = this._computeWhitespaceProps(i.delegate); + return ( + e.changeOneWhitespace( + i.whitespaceId, + n.afterViewLineNumber, + n.heightInPx + ), + this._safeCallOnComputedHeight(i.delegate, n.heightInPx), + this.setShouldRender(), + !0 + ); + } + return !1; + } + shouldSuppressMouseDownOnViewZone(e) { + if (this._zones.hasOwnProperty(e)) { + const t = this._zones[e]; + return Boolean(t.delegate.suppressMouseDown); + } + return !1; + } + _heightInPixels(e) { + return 'number' == typeof e.heightInPx + ? e.heightInPx + : 'number' == typeof e.heightInLines + ? this._lineHeight * e.heightInLines + : this._lineHeight; + } + _minWidthInPixels(e) { + return 'number' == typeof e.minWidthInPx ? e.minWidthInPx : 0; + } + _safeCallOnComputedHeight(e, t) { + if ('function' == typeof e.onComputedHeight) + try { + e.onComputedHeight(t); + } catch (e) { + (0, s.dL)(e); + } + } + _safeCallOnDomNodeTop(e, t) { + if ('function' == typeof e.onDomNodeTop) + try { + e.onDomNodeTop(t); + } catch (e) { + (0, s.dL)(e); + } + } + prepareRender(e) {} + render(e) { + const t = e.viewportData.whitespaceViewportData, + i = {}; + let n = !1; + for (let e = 0, r = t.length; e < r; e++) + (i[t[e].id] = t[e]), (n = !0); + const r = Object.keys(this._zones); + for (let t = 0, n = r.length; t < n; t++) { + const n = r[t], + s = this._zones[n]; + let o = 0, + a = 0, + l = 'none'; + i.hasOwnProperty(n) + ? ((o = i[n].verticalOffset - e.bigNumbersDelta), + (a = i[n].height), + (l = 'block'), + s.isVisible || + (s.domNode.setAttribute('monaco-visible-view-zone', 'true'), + (s.isVisible = !0)), + this._safeCallOnDomNodeTop( + s.delegate, + e.getScrolledTopFromAbsoluteTop(i[n].verticalOffset) + )) + : (s.isVisible && + (s.domNode.removeAttribute('monaco-visible-view-zone'), + (s.isVisible = !1)), + this._safeCallOnDomNodeTop( + s.delegate, + e.getScrolledTopFromAbsoluteTop(-1e6) + )), + s.domNode.setTop(o), + s.domNode.setHeight(a), + s.domNode.setDisplay(l), + s.marginDomNode && + (s.marginDomNode.setTop(o), + s.marginDomNode.setHeight(a), + s.marginDomNode.setDisplay(l)); + } + n && + (this.domNode.setWidth( + Math.max(e.scrollWidth, this._contentWidth) + ), + this.marginDomNode.setWidth(this._contentLeft)); + } + } + class ei { + constructor(e) { + this._theme = e; + } + get type() { + return this._theme.type; + } + update(e) { + this._theme = e; + } + getColor(e) { + return this._theme.getColor(e); + } + } + class ti { + constructor(e, t, i) { + (this.configuration = e), + (this.theme = new ei(t)), + (this.model = i), + (this.viewLayout = i.viewLayout); + } + addEventHandler(e) { + this.model.addViewEventHandler(e); + } + removeEventHandler(e) { + this.model.removeViewEventHandler(e); + } + } + class ii { + constructor(e, t, i, n) { + (this.selections = e), + (this.startLineNumber = 0 | t.startLineNumber), + (this.endLineNumber = 0 | t.endLineNumber), + (this.relativeVerticalOffset = t.relativeVerticalOffset), + (this.bigNumbersDelta = 0 | t.bigNumbersDelta), + (this.whitespaceViewportData = i), + (this._model = n), + (this.visibleRange = new X.e( + t.startLineNumber, + this._model.getLineMinColumn(t.startLineNumber), + t.endLineNumber, + this._model.getLineMaxColumn(t.endLineNumber) + )); + } + getViewLineRenderingData(e) { + return this._model.getViewLineRenderingData(this.visibleRange, e); + } + getDecorationsInViewport() { + return this._model.getDecorationsInViewport(this.visibleRange); + } + } + class ni extends D { + constructor(e, t, i, n, r, s) { + super(), + (this._selections = [new u.Y(1, 1, 1, 1)]), + (this._renderAnimationFrame = null); + const o = new Ae(t, n, r, e); + (this._context = new ti(t, i.getColorTheme(), n)), + this._context.addEventHandler(this), + this._register( + i.onDidColorThemeChange((e) => { + this._context.theme.update(e), + this._context.model.onDidColorThemeChange(), + this.render(!0, !1); + }) + ), + (this._viewParts = []), + (this._textAreaHandler = new Ie( + this._context, + o, + this._createTextAreaHandlerHelper() + )), + this._viewParts.push(this._textAreaHandler), + (this._linesContent = (0, g.X)(document.createElement('div'))), + this._linesContent.setClassName( + 'lines-content monaco-editor-background' + ), + this._linesContent.setPosition('absolute'), + (this.domNode = (0, g.X)(document.createElement('div'))), + this.domNode.setClassName(this._getEditorClassName()), + this.domNode.setAttribute('role', 'code'), + (this._overflowGuardContainer = (0, g.X)( + document.createElement('div') + )), + E.write(this._overflowGuardContainer, 3), + this._overflowGuardContainer.setClassName('overflow-guard'), + (this._scrollbar = new tt( + this._context, + this._linesContent, + this.domNode, + this._overflowGuardContainer + )), + this._viewParts.push(this._scrollbar), + (this._viewLines = new ct(this._context, this._linesContent)), + (this._viewZones = new Xt(this._context)), + this._viewParts.push(this._viewZones); + const a = new Ft(this._context); + this._viewParts.push(a); + const l = new Ht(this._context); + this._viewParts.push(l); + const c = new Ve(this._context); + this._viewParts.push(c), + c.addDynamicOverlay(new Je(this._context)), + c.addDynamicOverlay(new Kt(this._context)), + c.addDynamicOverlay(new st(this._context)), + c.addDynamicOverlay(new Xe(this._context)); + const d = new ze(this._context); + this._viewParts.push(d), + d.addDynamicOverlay(new Qe(this._context)), + d.addDynamicOverlay(new rt(this._context)), + d.addDynamicOverlay(new ht(this._context)), + d.addDynamicOverlay(new dt(this._context)), + d.addDynamicOverlay(new Le(this._context)); + const h = new Me(this._context); + h.getDomNode().appendChild(this._viewZones.marginDomNode), + h.getDomNode().appendChild(d.getDomNode()), + this._viewParts.push(h), + (this._contentWidgets = new $e(this._context, this.domNode)), + this._viewParts.push(this._contentWidgets), + (this._viewCursors = new Jt(this._context)), + this._viewParts.push(this._viewCursors), + (this._overlayWidgets = new At(this._context)), + this._viewParts.push(this._overlayWidgets); + const f = new Yt(this._context); + this._viewParts.push(f); + const p = new It(this._context); + if ((this._viewParts.push(p), a)) { + const e = this._scrollbar.getOverviewRulerLayoutInfo(); + e.parent.insertBefore(a.getDomNode(), e.insertBefore); + } + this._linesContent.appendChild(c.getDomNode()), + this._linesContent.appendChild(f.domNode), + this._linesContent.appendChild(this._viewZones.domNode), + this._linesContent.appendChild(this._viewLines.getDomNode()), + this._linesContent.appendChild(this._contentWidgets.domNode), + this._linesContent.appendChild(this._viewCursors.getDomNode()), + this._overflowGuardContainer.appendChild(h.getDomNode()), + this._overflowGuardContainer.appendChild( + this._scrollbar.getDomNode() + ), + this._overflowGuardContainer.appendChild(l.getDomNode()), + this._overflowGuardContainer.appendChild( + this._textAreaHandler.textArea + ), + this._overflowGuardContainer.appendChild( + this._textAreaHandler.textAreaCover + ), + this._overflowGuardContainer.appendChild( + this._overlayWidgets.getDomNode() + ), + this._overflowGuardContainer.appendChild(p.getDomNode()), + this.domNode.appendChild(this._overflowGuardContainer), + s + ? s.appendChild( + this._contentWidgets.overflowingContentWidgetsDomNode + .domNode + ) + : this.domNode.appendChild( + this._contentWidgets.overflowingContentWidgetsDomNode + ), + this._applyLayout(), + (this._pointerHandler = this._register( + new ye(this._context, o, this._createPointerHandlerHelper()) + )); + } + _flushAccumulatedAndRenderNow() { + this._renderNow(); + } + _createPointerHandlerHelper() { + return { + viewDomNode: this.domNode.domNode, + linesContentDomNode: this._linesContent.domNode, + focusTextArea: () => { + this.focus(); + }, + getLastRenderData: () => { + const e = this._viewCursors.getLastRenderData() || [], + t = this._textAreaHandler.getLastRenderData(); + return new te(e, t); + }, + shouldSuppressMouseDownOnViewZone: (e) => + this._viewZones.shouldSuppressMouseDownOnViewZone(e), + shouldSuppressMouseDownOnWidget: (e) => + this._contentWidgets.shouldSuppressMouseDownOnWidget(e), + getPositionFromDOMInfo: (e, t) => ( + this._flushAccumulatedAndRenderNow(), + this._viewLines.getPositionFromDOMInfo(e, t) + ), + visibleRangeForPosition: (e, t) => ( + this._flushAccumulatedAndRenderNow(), + this._viewLines.visibleRangeForPosition(new Q.L(e, t)) + ), + getLineWidth: (e) => ( + this._flushAccumulatedAndRenderNow(), + this._viewLines.getLineWidth(e) + ), + }; + } + _createTextAreaHandlerHelper() { + return { + visibleRangeForPositionRelativeToEditor: (e, t) => ( + this._flushAccumulatedAndRenderNow(), + this._viewLines.visibleRangeForPosition(new Q.L(e, t)) + ), + }; + } + _applyLayout() { + const e = this._context.configuration.options.get(117); + this.domNode.setWidth(e.width), + this.domNode.setHeight(e.height), + this._overflowGuardContainer.setWidth(e.width), + this._overflowGuardContainer.setHeight(e.height), + this._linesContent.setWidth(1e6), + this._linesContent.setHeight(1e6); + } + _getEditorClassName() { + const e = this._textAreaHandler.isFocused() ? ' focused' : ''; + return ( + this._context.configuration.options.get(114) + + ' ' + + (0, Y.m6)(this._context.theme.type) + + e + ); + } + handleEvents(e) { + super.handleEvents(e), this._scheduleRender(); + } + onConfigurationChanged(e) { + return ( + this.domNode.setClassName(this._getEditorClassName()), + this._applyLayout(), + !1 + ); + } + onCursorStateChanged(e) { + return (this._selections = e.selections), !1; + } + onFocusChanged(e) { + return this.domNode.setClassName(this._getEditorClassName()), !1; + } + onThemeChanged(e) { + return this.domNode.setClassName(this._getEditorClassName()), !1; + } + dispose() { + null !== this._renderAnimationFrame && + (this._renderAnimationFrame.dispose(), + (this._renderAnimationFrame = null)), + this._contentWidgets.overflowingContentWidgetsDomNode.domNode.remove(), + this._context.removeEventHandler(this), + this._viewLines.dispose(); + for (let e = 0, t = this._viewParts.length; e < t; e++) + this._viewParts[e].dispose(); + super.dispose(); + } + _scheduleRender() { + null === this._renderAnimationFrame && + (this._renderAnimationFrame = r.lI( + this._onRenderScheduled.bind(this), + 100 + )); + } + _onRenderScheduled() { + (this._renderAnimationFrame = null), + this._flushAccumulatedAndRenderNow(); + } + _renderNow() { + !(function (e) { + try { + e(); + } catch (e) { + (0, s.dL)(e); + } + })(() => this._actualRender()); + } + _getViewPartsToRender() { + let e = [], + t = 0; + for (let i = 0, n = this._viewParts.length; i < n; i++) { + const n = this._viewParts[i]; + n.shouldRender() && (e[t++] = n); + } + return e; + } + _actualRender() { + if (!r.Uw(this.domNode.domNode)) return; + let e = this._getViewPartsToRender(); + if (!this._viewLines.shouldRender() && 0 === e.length) return; + const t = this._context.viewLayout.getLinesViewportData(); + this._context.model.setViewport( + t.startLineNumber, + t.endLineNumber, + t.centeredLineNumber + ); + const i = new ii( + this._selections, + t, + this._context.viewLayout.getWhitespaceViewportData(), + this._context.model + ); + this._contentWidgets.shouldRender() && + this._contentWidgets.onBeforeRender(i), + this._viewLines.shouldRender() && + (this._viewLines.renderText(i), + this._viewLines.onDidRender(), + (e = this._getViewPartsToRender())); + const n = new T(this._context.viewLayout, i, this._viewLines); + for (let t = 0, i = e.length; t < i; t++) e[t].prepareRender(n); + for (let t = 0, i = e.length; t < i; t++) { + const i = e[t]; + i.render(n), i.onDidRender(); + } + } + delegateVerticalScrollbarMouseDown(e) { + this._scrollbar.delegateVerticalScrollbarMouseDown(e); + } + restoreState(e) { + this._context.model.setScrollPosition( + { scrollTop: e.scrollTop }, + 1 + ), + this._context.model.tokenizeViewport(), + this._renderNow(), + this._viewLines.updateLineWidths(), + this._context.model.setScrollPosition( + { scrollLeft: e.scrollLeft }, + 1 + ); + } + getOffsetForColumn(e, t) { + const i = this._context.model.validateModelPosition({ + lineNumber: e, + column: t, + }), + n = this._context.model.coordinatesConverter.convertModelPositionToViewPosition( + i + ); + this._flushAccumulatedAndRenderNow(); + const r = this._viewLines.visibleRangeForPosition( + new Q.L(n.lineNumber, n.column) + ); + return r ? r.left : -1; + } + getTargetAtClientPoint(e, t) { + const i = this._pointerHandler.getTargetAtClientPoint(e, t); + return i + ? Re.convertViewToModelMouseTarget( + i, + this._context.model.coordinatesConverter + ) + : null; + } + createOverviewRuler(e) { + return new Wt(this._context, e); + } + change(e) { + this._viewZones.changeViewZones(e), this._scheduleRender(); + } + render(e, t) { + if (t) { + this._viewLines.forceShouldRender(); + for (let e = 0, t = this._viewParts.length; e < t; e++) + this._viewParts[e].forceShouldRender(); + } + e ? this._flushAccumulatedAndRenderNow() : this._scheduleRender(); + } + focus() { + this._textAreaHandler.focusTextArea(); + } + isFocused() { + return this._textAreaHandler.isFocused(); + } + setAriaOptions(e) { + this._textAreaHandler.setAriaOptions(e); + } + addContentWidget(e) { + this._contentWidgets.addWidget(e.widget), + this.layoutContentWidget(e), + this._scheduleRender(); + } + layoutContentWidget(e) { + let t = (e.position && e.position.range) || null; + if (null === t) { + const i = e.position ? e.position.position : null; + null !== i && + (t = new X.e(i.lineNumber, i.column, i.lineNumber, i.column)); + } + const i = e.position ? e.position.preference : null; + this._contentWidgets.setWidgetPosition(e.widget, t, i), + this._scheduleRender(); + } + removeContentWidget(e) { + this._contentWidgets.removeWidget(e.widget), this._scheduleRender(); + } + addOverlayWidget(e) { + this._overlayWidgets.addWidget(e.widget), + this.layoutOverlayWidget(e), + this._scheduleRender(); + } + layoutOverlayWidget(e) { + const t = e.position ? e.position.preference : null; + this._overlayWidgets.setWidgetPosition(e.widget, t) && + this._scheduleRender(); + } + removeOverlayWidget(e) { + this._overlayWidgets.removeWidget(e.widget), this._scheduleRender(); + } + } + class ri { + constructor(e) { + (this._selTrackedRange = null), + (this._trackSelection = !0), + this._setState( + e, + new ee.rS(new X.e(1, 1, 1, 1), 0, new Q.L(1, 1), 0), + new ee.rS(new X.e(1, 1, 1, 1), 0, new Q.L(1, 1), 0) + ); + } + dispose(e) { + this._removeTrackedRange(e); + } + startTrackingSelection(e) { + (this._trackSelection = !0), this._updateTrackedRange(e); + } + stopTrackingSelection(e) { + (this._trackSelection = !1), this._removeTrackedRange(e); + } + _updateTrackedRange(e) { + this._trackSelection && + (this._selTrackedRange = e.model._setTrackedRange( + this._selTrackedRange, + this.modelState.selection, + 0 + )); + } + _removeTrackedRange(e) { + this._selTrackedRange = e.model._setTrackedRange( + this._selTrackedRange, + null, + 0 + ); + } + asCursorState() { + return new ee.Vi(this.modelState, this.viewState); + } + readSelectionFromMarkers(e) { + const t = e.model._getTrackedRange(this._selTrackedRange); + return 0 === this.modelState.selection.getDirection() + ? new u.Y( + t.startLineNumber, + t.startColumn, + t.endLineNumber, + t.endColumn + ) + : new u.Y( + t.endLineNumber, + t.endColumn, + t.startLineNumber, + t.startColumn + ); + } + ensureValidState(e) { + this._setState(e, this.modelState, this.viewState); + } + setState(e, t, i) { + this._setState(e, t, i); + } + _setState(e, t, i) { + if (t) { + const i = e.model.validateRange(t.selectionStart), + n = t.selectionStart.equalsRange(i) + ? t.selectionStartLeftoverVisibleColumns + : 0, + r = e.model.validatePosition(t.position), + s = t.position.equals(r) ? t.leftoverVisibleColumns : 0; + t = new ee.rS(i, n, r, s); + } else { + if (!i) return; + const n = e.model.validateRange( + e.coordinatesConverter.convertViewRangeToModelRange( + i.selectionStart + ) + ), + r = e.model.validatePosition( + e.coordinatesConverter.convertViewPositionToModelPosition( + i.position + ) + ); + t = new ee.rS( + n, + i.selectionStartLeftoverVisibleColumns, + r, + i.leftoverVisibleColumns + ); + } + if (i) { + const n = e.coordinatesConverter.validateViewRange( + i.selectionStart, + t.selectionStart + ), + r = e.coordinatesConverter.validateViewPosition( + i.position, + t.position + ); + i = new ee.rS( + n, + t.selectionStartLeftoverVisibleColumns, + r, + t.leftoverVisibleColumns + ); + } else { + const n = e.coordinatesConverter.convertModelPositionToViewPosition( + new Q.L( + t.selectionStart.startLineNumber, + t.selectionStart.startColumn + ) + ), + r = e.coordinatesConverter.convertModelPositionToViewPosition( + new Q.L( + t.selectionStart.endLineNumber, + t.selectionStart.endColumn + ) + ), + s = new X.e(n.lineNumber, n.column, r.lineNumber, r.column), + o = e.coordinatesConverter.convertModelPositionToViewPosition( + t.position + ); + i = new ee.rS( + s, + t.selectionStartLeftoverVisibleColumns, + o, + t.leftoverVisibleColumns + ); + } + (this.modelState = t), + (this.viewState = i), + this._updateTrackedRange(e); + } + } + class si { + constructor(e) { + (this.context = e), + (this.primaryCursor = new ri(e)), + (this.secondaryCursors = []), + (this.lastAddedCursorIndex = 0); + } + dispose() { + this.primaryCursor.dispose(this.context), + this.killSecondaryCursors(); + } + startTrackingSelections() { + this.primaryCursor.startTrackingSelection(this.context); + for (let e = 0, t = this.secondaryCursors.length; e < t; e++) + this.secondaryCursors[e].startTrackingSelection(this.context); + } + stopTrackingSelections() { + this.primaryCursor.stopTrackingSelection(this.context); + for (let e = 0, t = this.secondaryCursors.length; e < t; e++) + this.secondaryCursors[e].stopTrackingSelection(this.context); + } + updateContext(e) { + this.context = e; + } + ensureValidState() { + this.primaryCursor.ensureValidState(this.context); + for (let e = 0, t = this.secondaryCursors.length; e < t; e++) + this.secondaryCursors[e].ensureValidState(this.context); + } + readSelectionFromMarkers() { + let e = []; + e[0] = this.primaryCursor.readSelectionFromMarkers(this.context); + for (let t = 0, i = this.secondaryCursors.length; t < i; t++) + e[t + 1] = this.secondaryCursors[t].readSelectionFromMarkers( + this.context + ); + return e; + } + getAll() { + let e = []; + e[0] = this.primaryCursor.asCursorState(); + for (let t = 0, i = this.secondaryCursors.length; t < i; t++) + e[t + 1] = this.secondaryCursors[t].asCursorState(); + return e; + } + getViewPositions() { + let e = []; + e[0] = this.primaryCursor.viewState.position; + for (let t = 0, i = this.secondaryCursors.length; t < i; t++) + e[t + 1] = this.secondaryCursors[t].viewState.position; + return e; + } + getTopMostViewPosition() { + let e = this.primaryCursor.viewState.position; + for (let t = 0, i = this.secondaryCursors.length; t < i; t++) { + const i = this.secondaryCursors[t].viewState.position; + i.isBefore(e) && (e = i); + } + return e; + } + getBottomMostViewPosition() { + let e = this.primaryCursor.viewState.position; + for (let t = 0, i = this.secondaryCursors.length; t < i; t++) { + const i = this.secondaryCursors[t].viewState.position; + e.isBeforeOrEqual(i) && (e = i); + } + return e; + } + getSelections() { + let e = []; + e[0] = this.primaryCursor.modelState.selection; + for (let t = 0, i = this.secondaryCursors.length; t < i; t++) + e[t + 1] = this.secondaryCursors[t].modelState.selection; + return e; + } + getViewSelections() { + let e = []; + e[0] = this.primaryCursor.viewState.selection; + for (let t = 0, i = this.secondaryCursors.length; t < i; t++) + e[t + 1] = this.secondaryCursors[t].viewState.selection; + return e; + } + setSelections(e) { + this.setStates(ee.Vi.fromModelSelections(e)); + } + getPrimaryCursor() { + return this.primaryCursor.asCursorState(); + } + setStates(e) { + null !== e && + (this.primaryCursor.setState( + this.context, + e[0].modelState, + e[0].viewState + ), + this._setSecondaryStates(e.slice(1))); + } + _setSecondaryStates(e) { + const t = this.secondaryCursors.length, + i = e.length; + if (t < i) { + let e = i - t; + for (let t = 0; t < e; t++) this._addSecondaryCursor(); + } else if (t > i) { + let e = t - i; + for (let t = 0; t < e; t++) + this._removeSecondaryCursor(this.secondaryCursors.length - 1); + } + for (let t = 0; t < i; t++) + this.secondaryCursors[t].setState( + this.context, + e[t].modelState, + e[t].viewState + ); + } + killSecondaryCursors() { + this._setSecondaryStates([]); + } + _addSecondaryCursor() { + this.secondaryCursors.push(new ri(this.context)), + (this.lastAddedCursorIndex = this.secondaryCursors.length); + } + getLastAddedCursorIndex() { + return 0 === this.secondaryCursors.length || + 0 === this.lastAddedCursorIndex + ? 0 + : this.lastAddedCursorIndex; + } + _removeSecondaryCursor(e) { + this.lastAddedCursorIndex >= e + 1 && this.lastAddedCursorIndex--, + this.secondaryCursors[e].dispose(this.context), + this.secondaryCursors.splice(e, 1); + } + _getAll() { + let e = []; + e[0] = this.primaryCursor; + for (let t = 0, i = this.secondaryCursors.length; t < i; t++) + e[t + 1] = this.secondaryCursors[t]; + return e; + } + normalize() { + if (0 === this.secondaryCursors.length) return; + let e = this._getAll(), + t = []; + for (let i = 0, n = e.length; i < n; i++) + t.push({ index: i, selection: e[i].modelState.selection }); + t.sort((e, t) => + e.selection.startLineNumber === t.selection.startLineNumber + ? e.selection.startColumn - t.selection.startColumn + : e.selection.startLineNumber - t.selection.startLineNumber + ); + for (let i = 0; i < t.length - 1; i++) { + const n = t[i], + r = t[i + 1], + s = n.selection, + o = r.selection; + if (!this.context.cursorConfig.multiCursorMergeOverlapping) + continue; + let a; + if ( + ((a = + o.isEmpty() || s.isEmpty() + ? o.getStartPosition().isBeforeOrEqual(s.getEndPosition()) + : o.getStartPosition().isBefore(s.getEndPosition())), + a) + ) { + const s = n.index < r.index ? i : i + 1, + o = n.index < r.index ? i + 1 : i, + a = t[o].index, + l = t[s].index, + c = t[o].selection, + d = t[s].selection; + if (!c.equalsSelection(d)) { + const i = c.plusRange(d), + n = + c.selectionStartLineNumber === c.startLineNumber && + c.selectionStartColumn === c.startColumn, + r = + d.selectionStartLineNumber === d.startLineNumber && + d.selectionStartColumn === d.startColumn; + let o, h; + a === this.lastAddedCursorIndex + ? ((o = n), (this.lastAddedCursorIndex = l)) + : (o = r), + (h = o + ? new u.Y( + i.startLineNumber, + i.startColumn, + i.endLineNumber, + i.endColumn + ) + : new u.Y( + i.endLineNumber, + i.endColumn, + i.startLineNumber, + i.startColumn + )), + (t[s].selection = h); + const g = ee.Vi.fromModelSelection(h); + e[l].setState(this.context, g.modelState, g.viewState); + } + for (const e of t) e.index > a && e.index--; + e.splice(a, 1), + t.splice(o, 1), + this._removeSecondaryCursor(a - 1), + i--; + } + } + } + } + var oi = i(31380), + ai = i(23582); + class li { + constructor(e) { + (this.type = 0), (this._source = e); + } + hasChanged(e) { + return this._source.hasChanged(e); + } + } + class ci { + constructor(e, t) { + (this.type = 1), (this.selections = e), (this.modelSelections = t); + } + } + class di { + constructor(e) { + (this.type = 2), + e + ? ((this.affectsMinimap = e.affectsMinimap), + (this.affectsOverviewRuler = e.affectsOverviewRuler)) + : ((this.affectsMinimap = !0), + (this.affectsOverviewRuler = !0)); + } + } + class hi { + constructor() { + this.type = 3; + } + } + class ui { + constructor(e) { + (this.type = 4), (this.isFocused = e); + } + } + class gi { + constructor() { + this.type = 5; + } + } + class fi { + constructor() { + this.type = 6; + } + } + class pi { + constructor(e, t) { + (this.type = 7), (this.fromLineNumber = e), (this.toLineNumber = t); + } + } + class mi { + constructor(e, t) { + (this.type = 8), (this.fromLineNumber = e), (this.toLineNumber = t); + } + } + class _i { + constructor(e, t) { + (this.type = 9), (this.fromLineNumber = e), (this.toLineNumber = t); + } + } + class bi { + constructor(e, t, i, n, r, s) { + (this.type = 10), + (this.source = e), + (this.range = t), + (this.selections = i), + (this.verticalType = n), + (this.revealHorizontal = r), + (this.scrollType = s); + } + } + class vi { + constructor(e) { + (this.type = 11), + (this.scrollWidth = e.scrollWidth), + (this.scrollLeft = e.scrollLeft), + (this.scrollHeight = e.scrollHeight), + (this.scrollTop = e.scrollTop), + (this.scrollWidthChanged = e.scrollWidthChanged), + (this.scrollLeftChanged = e.scrollLeftChanged), + (this.scrollHeightChanged = e.scrollHeightChanged), + (this.scrollTopChanged = e.scrollTopChanged); + } + } + class yi { + constructor() { + this.type = 12; + } + } + class wi { + constructor(e) { + (this.type = 13), (this.ranges = e); + } + } + class Ci { + constructor() { + this.type = 14; + } + } + class Si { + constructor() { + this.type = 15; + } + } + class ki extends a.JT { + constructor() { + super(), + (this._onEvent = this._register(new o.Q5())), + (this.onEvent = this._onEvent.event), + (this._eventHandlers = []), + (this._viewEventQueue = null), + (this._isConsumingViewEventQueue = !1), + (this._collector = null), + (this._collectorCnt = 0), + (this._outgoingEvents = []); + } + emitOutgoingEvent(e) { + this._addOutgoingEvent(e), this._emitOugoingEvents(); + } + _addOutgoingEvent(e) { + for (let t = 0, i = this._outgoingEvents.length; t < i; t++) + if (this._outgoingEvents[t].kind === e.kind) + return void (this._outgoingEvents[t] = this._outgoingEvents[ + t + ].merge(e)); + this._outgoingEvents.push(e); + } + _emitOugoingEvents() { + for (; this._outgoingEvents.length > 0; ) { + if (this._collector || this._isConsumingViewEventQueue) return; + const e = this._outgoingEvents.shift(); + e.isNoOp() || this._onEvent.fire(e); + } + } + addViewEventHandler(e) { + for (let t = 0, i = this._eventHandlers.length; t < i; t++) + this._eventHandlers[t] === e && + console.warn( + 'Detected duplicate listener in ViewEventDispatcher', + e + ); + this._eventHandlers.push(e); + } + removeViewEventHandler(e) { + for (let t = 0; t < this._eventHandlers.length; t++) + if (this._eventHandlers[t] === e) { + this._eventHandlers.splice(t, 1); + break; + } + } + beginEmitViewEvents() { + return ( + this._collectorCnt++, + 1 === this._collectorCnt && (this._collector = new xi()), + this._collector + ); + } + endEmitViewEvents() { + if ((this._collectorCnt--, 0 === this._collectorCnt)) { + const e = this._collector.outgoingEvents, + t = this._collector.viewEvents; + this._collector = null; + for (const t of e) this._addOutgoingEvent(t); + t.length > 0 && this._emitMany(t); + } + this._emitOugoingEvents(); + } + emitSingleViewEvent(e) { + try { + this.beginEmitViewEvents().emitViewEvent(e); + } finally { + this.endEmitViewEvents(); + } + } + _emitMany(e) { + this._viewEventQueue + ? (this._viewEventQueue = this._viewEventQueue.concat(e)) + : (this._viewEventQueue = e), + this._isConsumingViewEventQueue || this._consumeViewEventQueue(); + } + _consumeViewEventQueue() { + try { + (this._isConsumingViewEventQueue = !0), this._doConsumeQueue(); + } finally { + this._isConsumingViewEventQueue = !1; + } + } + _doConsumeQueue() { + for (; this._viewEventQueue; ) { + const e = this._viewEventQueue; + this._viewEventQueue = null; + const t = this._eventHandlers.slice(0); + for (const i of t) i.handleEvents(e); + } + } + } + class xi { + constructor() { + (this.viewEvents = []), (this.outgoingEvents = []); + } + emitViewEvent(e) { + this.viewEvents.push(e); + } + emitOutgoingEvent(e) { + this.outgoingEvents.push(e); + } + } + class Li { + constructor(e, t, i, n) { + (this.kind = 0), + (this._oldContentWidth = e), + (this._oldContentHeight = t), + (this.contentWidth = i), + (this.contentHeight = n), + (this.contentWidthChanged = + this._oldContentWidth !== this.contentWidth), + (this.contentHeightChanged = + this._oldContentHeight !== this.contentHeight); + } + isNoOp() { + return !this.contentWidthChanged && !this.contentHeightChanged; + } + merge(e) { + return 0 !== e.kind + ? this + : new Li( + this._oldContentWidth, + this._oldContentHeight, + e.contentWidth, + e.contentHeight + ); + } + } + class Mi { + constructor(e, t) { + (this.kind = 1), (this.oldHasFocus = e), (this.hasFocus = t); + } + isNoOp() { + return this.oldHasFocus === this.hasFocus; + } + merge(e) { + return 1 !== e.kind ? this : new Mi(this.oldHasFocus, e.hasFocus); + } + } + class Di { + constructor(e, t, i, n, r, s, o, a) { + (this.kind = 2), + (this._oldScrollWidth = e), + (this._oldScrollLeft = t), + (this._oldScrollHeight = i), + (this._oldScrollTop = n), + (this.scrollWidth = r), + (this.scrollLeft = s), + (this.scrollHeight = o), + (this.scrollTop = a), + (this.scrollWidthChanged = + this._oldScrollWidth !== this.scrollWidth), + (this.scrollLeftChanged = + this._oldScrollLeft !== this.scrollLeft), + (this.scrollHeightChanged = + this._oldScrollHeight !== this.scrollHeight), + (this.scrollTopChanged = this._oldScrollTop !== this.scrollTop); + } + isNoOp() { + return !( + this.scrollWidthChanged || + this.scrollLeftChanged || + this.scrollHeightChanged || + this.scrollTopChanged + ); + } + merge(e) { + return 2 !== e.kind + ? this + : new Di( + this._oldScrollWidth, + this._oldScrollLeft, + this._oldScrollHeight, + this._oldScrollTop, + e.scrollWidth, + e.scrollLeft, + e.scrollHeight, + e.scrollTop + ); + } + } + class Ni { + constructor() { + this.kind = 3; + } + isNoOp() { + return !1; + } + merge(e) { + return this; + } + } + class Ei { + constructor(e, t, i, n, r, s, o) { + (this.kind = 5), + (this.oldSelections = e), + (this.selections = t), + (this.oldModelVersionId = i), + (this.modelVersionId = n), + (this.source = r), + (this.reason = s), + (this.reachedMaxCursorCount = o); + } + static _selectionsAreEqual(e, t) { + if (!e && !t) return !0; + if (!e || !t) return !1; + const i = e.length; + if (i !== t.length) return !1; + for (let n = 0; n < i; n++) + if (!e[n].equalsSelection(t[n])) return !1; + return !0; + } + isNoOp() { + return ( + Ei._selectionsAreEqual(this.oldSelections, this.selections) && + this.oldModelVersionId === this.modelVersionId + ); + } + merge(e) { + return 5 !== e.kind + ? this + : new Ei( + this.oldSelections, + e.selections, + this.oldModelVersionId, + e.modelVersionId, + e.source, + e.reason, + this.reachedMaxCursorCount || e.reachedMaxCursorCount + ); + } + } + class Ti { + constructor() { + this.kind = 4; + } + isNoOp() { + return !1; + } + merge(e) { + return this; + } + } + class Ii { + constructor(e, t) { + (this.modelVersionId = e.getVersionId()), + (this.cursorState = t.getCursorStates()); + } + equals(e) { + if (!e) return !1; + if (this.modelVersionId !== e.modelVersionId) return !1; + if (this.cursorState.length !== e.cursorState.length) return !1; + for (let t = 0, i = this.cursorState.length; t < i; t++) + if (!this.cursorState[t].equals(e.cursorState[t])) return !1; + return !0; + } + } + class Oi { + constructor(e, t, i) { + (this._model = e), + (this._autoClosedCharactersDecorations = t), + (this._autoClosedEnclosingDecorations = i); + } + static getAllAutoClosedCharacters(e) { + let t = []; + for (const i of e) t = t.concat(i.getAutoClosedCharactersRanges()); + return t; + } + dispose() { + (this._autoClosedCharactersDecorations = this._model.deltaDecorations( + this._autoClosedCharactersDecorations, + [] + )), + (this._autoClosedEnclosingDecorations = this._model.deltaDecorations( + this._autoClosedEnclosingDecorations, + [] + )); + } + getAutoClosedCharactersRanges() { + let e = []; + for ( + let t = 0; + t < this._autoClosedCharactersDecorations.length; + t++ + ) { + const i = this._model.getDecorationRange( + this._autoClosedCharactersDecorations[t] + ); + i && e.push(i); + } + return e; + } + isValid(e) { + let t = []; + for ( + let e = 0; + e < this._autoClosedEnclosingDecorations.length; + e++ + ) { + const i = this._model.getDecorationRange( + this._autoClosedEnclosingDecorations[e] + ); + if (i && (t.push(i), i.startLineNumber !== i.endLineNumber)) + return !1; + } + t.sort(X.e.compareRangesUsingStarts), + e.sort(X.e.compareRangesUsingStarts); + for (let i = 0; i < e.length; i++) { + if (i >= t.length) return !1; + if (!t[i].strictContainsRange(e[i])) return !1; + } + return !0; + } + } + class Ai extends a.JT { + constructor(e, t, i, n) { + super(), + (this._model = e), + (this._knownModelVersionId = this._model.getVersionId()), + (this._viewModel = t), + (this._coordinatesConverter = i), + (this.context = new ee.zp( + this._model, + this._coordinatesConverter, + n + )), + (this._cursors = new si(this.context)), + (this._hasFocus = !1), + (this._isHandling = !1), + (this._isDoingComposition = !1), + (this._selectionsWhenCompositionStarted = null), + (this._columnSelectData = null), + (this._autoClosedActions = []), + (this._prevEditOperationType = 0); + } + dispose() { + this._cursors.dispose(), + (this._autoClosedActions = (0, a.B9)(this._autoClosedActions)), + super.dispose(); + } + updateConfiguration(e) { + (this.context = new ee.zp( + this._model, + this._coordinatesConverter, + e + )), + this._cursors.updateContext(this.context); + } + onLineMappingChanged(e) { + this._knownModelVersionId === this._model.getVersionId() && + this.setStates(e, 'viewModel', 0, this.getCursorStates()); + } + setHasFocus(e) { + this._hasFocus = e; + } + _validateAutoClosedActions() { + if (this._autoClosedActions.length > 0) { + let e = this._cursors.getSelections(); + for (let t = 0; t < this._autoClosedActions.length; t++) { + const i = this._autoClosedActions[t]; + i.isValid(e) || + (i.dispose(), this._autoClosedActions.splice(t, 1), t--); + } + } + } + getPrimaryCursorState() { + return this._cursors.getPrimaryCursor(); + } + getLastAddedCursorIndex() { + return this._cursors.getLastAddedCursorIndex(); + } + getCursorStates() { + return this._cursors.getAll(); + } + setStates(e, t, i, n) { + let r = !1; + null !== n && + n.length > Ai.MAX_CURSOR_COUNT && + ((n = n.slice(0, Ai.MAX_CURSOR_COUNT)), (r = !0)); + const s = new Ii(this._model, this); + return ( + this._cursors.setStates(n), + this._cursors.normalize(), + (this._columnSelectData = null), + this._validateAutoClosedActions(), + this._emitStateChangedIfNecessary(e, t, i, s, r) + ); + } + setCursorColumnSelectData(e) { + this._columnSelectData = e; + } + revealPrimary(e, t, i, n) { + const r = this._cursors.getViewPositions(); + if (r.length > 1) + this._emitCursorRevealRange( + e, + t, + null, + this._cursors.getViewSelections(), + 0, + i, + n + ); + else { + const s = r[0], + o = new X.e(s.lineNumber, s.column, s.lineNumber, s.column); + this._emitCursorRevealRange(e, t, o, null, 0, i, n); + } + } + _revealPrimaryCursor(e, t, i, n, r) { + const s = this._cursors.getViewPositions(); + if (s.length > 1) + this._emitCursorRevealRange( + e, + t, + null, + this._cursors.getViewSelections(), + i, + n, + r + ); + else { + const o = s[0], + a = new X.e(o.lineNumber, o.column, o.lineNumber, o.column); + this._emitCursorRevealRange(e, t, a, null, i, n, r); + } + } + _emitCursorRevealRange(e, t, i, n, r, s, o) { + e.emitViewEvent(new bi(t, i, n, r, s, o)); + } + saveState() { + let e = []; + const t = this._cursors.getSelections(); + for (let i = 0, n = t.length; i < n; i++) { + const n = t[i]; + e.push({ + inSelectionMode: !n.isEmpty(), + selectionStart: { + lineNumber: n.selectionStartLineNumber, + column: n.selectionStartColumn, + }, + position: { + lineNumber: n.positionLineNumber, + column: n.positionColumn, + }, + }); + } + return e; + } + restoreState(e, t) { + let i = []; + for (let e = 0, n = t.length; e < n; e++) { + const n = t[e]; + let r = 1, + s = 1; + n.position && + n.position.lineNumber && + (r = n.position.lineNumber), + n.position && n.position.column && (s = n.position.column); + let o = r, + a = s; + n.selectionStart && + n.selectionStart.lineNumber && + (o = n.selectionStart.lineNumber), + n.selectionStart && + n.selectionStart.column && + (a = n.selectionStart.column), + i.push({ + selectionStartLineNumber: o, + selectionStartColumn: a, + positionLineNumber: r, + positionColumn: s, + }); + } + this.setStates(e, 'restoreState', 0, ee.Vi.fromModelSelections(i)), + this.revealPrimary(e, 'restoreState', !0, 1); + } + onModelContentChanged(e, t) { + if (((this._knownModelVersionId = t.versionId), this._isHandling)) + return; + const i = t.containsEvent(1); + if (((this._prevEditOperationType = 0), i)) + this._cursors.dispose(), + (this._cursors = new si(this.context)), + this._validateAutoClosedActions(), + this._emitStateChangedIfNecessary(e, 'model', 1, null, !1); + else if ( + this._hasFocus && + t.resultingSelection && + t.resultingSelection.length > 0 + ) { + const i = ee.Vi.fromModelSelections(t.resultingSelection); + this.setStates( + e, + 'modelChange', + t.isUndoing ? 5 : t.isRedoing ? 6 : 2, + i + ) && this._revealPrimaryCursor(e, 'modelChange', 0, !0, 0); + } else { + const t = this._cursors.readSelectionFromMarkers(); + this.setStates(e, 'modelChange', 2, ee.Vi.fromModelSelections(t)); + } + } + getSelection() { + return this._cursors.getPrimaryCursor().modelState.selection; + } + getTopMostViewPosition() { + return this._cursors.getTopMostViewPosition(); + } + getBottomMostViewPosition() { + return this._cursors.getBottomMostViewPosition(); + } + getCursorColumnSelectData() { + if (this._columnSelectData) return this._columnSelectData; + const e = this._cursors.getPrimaryCursor(), + t = e.viewState.selectionStart.getStartPosition(), + i = e.viewState.position; + return { + isReal: !1, + fromViewLineNumber: t.lineNumber, + fromViewVisualColumn: ee.io.visibleColumnFromColumn2( + this.context.cursorConfig, + this._viewModel, + t + ), + toViewLineNumber: i.lineNumber, + toViewVisualColumn: ee.io.visibleColumnFromColumn2( + this.context.cursorConfig, + this._viewModel, + i + ), + }; + } + getSelections() { + return this._cursors.getSelections(); + } + setSelections(e, t, i) { + this.setStates(e, t, 0, ee.Vi.fromModelSelections(i)); + } + getPrevEditOperationType() { + return this._prevEditOperationType; + } + setPrevEditOperationType(e) { + this._prevEditOperationType = e; + } + _pushAutoClosedAction(e, t) { + let i = [], + n = []; + for (let r = 0, s = e.length; r < s; r++) + i.push({ + range: e[r], + options: { + inlineClassName: 'auto-closed-character', + stickiness: 1, + }, + }), + n.push({ range: t[r], options: { stickiness: 1 } }); + const r = this._model.deltaDecorations([], i), + s = this._model.deltaDecorations([], n); + this._autoClosedActions.push(new Oi(this._model, r, s)); + } + _executeEditOperation(e) { + if (!e) return; + e.shouldPushStackElementBefore && this._model.pushStackElement(); + const t = class { + static executeCommands(e, t, i) { + const n = { + model: e, + selectionsBefore: t, + trackedRanges: [], + trackedRangesDirection: [], + }, + r = this._innerExecuteCommands(n, i); + for (let e = 0, t = n.trackedRanges.length; e < t; e++) + n.model._setTrackedRange(n.trackedRanges[e], null, 0); + return r; + } + static _innerExecuteCommands(e, t) { + if (this._arrayIsEmpty(t)) return null; + const i = this._getEditOperations(e, t); + if (0 === i.operations.length) return null; + const n = i.operations, + r = this._getLoserCursorMap(n); + if (r.hasOwnProperty('0')) + return console.warn('Ignoring commands'), null; + let s = []; + for (let e = 0, t = n.length; e < t; e++) + r.hasOwnProperty(n[e].identifier.major.toString()) || + s.push(n[e]); + i.hadTrackedEditOperation && + s.length > 0 && + (s[0]._isTracked = !0); + let o = e.model.pushEditOperations( + e.selectionsBefore, + s, + (i) => { + let n = []; + for (let t = 0; t < e.selectionsBefore.length; t++) + n[t] = []; + for (const e of i) + e.identifier && n[e.identifier.major].push(e); + const r = (e, t) => e.identifier.minor - t.identifier.minor; + let s = []; + for (let i = 0; i < e.selectionsBefore.length; i++) + n[i].length > 0 + ? (n[i].sort(r), + (s[i] = t[i].computeCursorState(e.model, { + getInverseEditOperations: () => n[i], + getTrackedSelection: (t) => { + const i = parseInt(t, 10), + n = e.model._getTrackedRange( + e.trackedRanges[i] + ); + return 0 === e.trackedRangesDirection[i] + ? new u.Y( + n.startLineNumber, + n.startColumn, + n.endLineNumber, + n.endColumn + ) + : new u.Y( + n.endLineNumber, + n.endColumn, + n.startLineNumber, + n.startColumn + ); + }, + }))) + : (s[i] = e.selectionsBefore[i]); + return s; + } + ); + o || (o = e.selectionsBefore); + let a = []; + for (let e in r) r.hasOwnProperty(e) && a.push(parseInt(e, 10)); + a.sort((e, t) => t - e); + for (const e of a) o.splice(e, 1); + return o; + } + static _arrayIsEmpty(e) { + for (let t = 0, i = e.length; t < i; t++) if (e[t]) return !1; + return !0; + } + static _getEditOperations(e, t) { + let i = [], + n = !1; + for (let r = 0, s = t.length; r < s; r++) { + const s = t[r]; + if (s) { + const t = this._getEditOperationsFromCommand(e, r, s); + (i = i.concat(t.operations)), + (n = n || t.hadTrackedEditOperation); + } + } + return { operations: i, hadTrackedEditOperation: n }; + } + static _getEditOperationsFromCommand(e, t, i) { + let n = [], + r = 0; + const o = (e, s, o = !1) => { + (X.e.isEmpty(e) && '' === s) || + n.push({ + identifier: { major: t, minor: r++ }, + range: e, + text: s, + forceMoveMarkers: o, + isAutoWhitespaceEdit: i.insertsAutoWhitespace, + }); + }; + let a = !1; + const l = { + addEditOperation: o, + addTrackedEditOperation: (e, t, i) => { + (a = !0), o(e, t, i); + }, + trackSelection: (t, i) => { + const n = u.Y.liftSelection(t); + let r; + if (n.isEmpty()) + if ('boolean' == typeof i) r = i ? 2 : 3; + else { + const t = e.model.getLineMaxColumn(n.startLineNumber); + r = n.startColumn === t ? 2 : 3; + } + else r = 1; + const s = e.trackedRanges.length, + o = e.model._setTrackedRange(null, n, r); + return ( + (e.trackedRanges[s] = o), + (e.trackedRangesDirection[s] = n.getDirection()), + s.toString() + ); + }, + }; + try { + i.getEditOperations(e.model, l); + } catch (e) { + return ( + (0, s.dL)(e), + { operations: [], hadTrackedEditOperation: !1 } + ); + } + return { operations: n, hadTrackedEditOperation: a }; + } + static _getLoserCursorMap(e) { + (e = e.slice(0)).sort( + (e, t) => -X.e.compareRangesUsingEnds(e.range, t.range) + ); + let t = {}; + for (let i = 1; i < e.length; i++) { + const n = e[i - 1], + r = e[i]; + if ( + X.e + .getStartPosition(n.range) + .isBefore(X.e.getEndPosition(r.range)) + ) { + let s; + (s = + n.identifier.major > r.identifier.major + ? n.identifier.major + : r.identifier.major), + (t[s.toString()] = !0); + for (let t = 0; t < e.length; t++) + e[t].identifier.major === s && + (e.splice(t, 1), t < i && i--, t--); + i > 0 && i--; + } + } + return t; + } + }.executeCommands( + this._model, + this._cursors.getSelections(), + e.commands + ); + if (t) { + this._interpretCommandResult(t); + let i = [], + n = []; + for (let t = 0; t < e.commands.length; t++) { + const r = e.commands[t]; + r instanceof ai.g && + r.enclosingRange && + r.closeCharacterRange && + (i.push(r.closeCharacterRange), n.push(r.enclosingRange)); + } + i.length > 0 && this._pushAutoClosedAction(i, n), + (this._prevEditOperationType = e.type); + } + e.shouldPushStackElementAfter && this._model.pushStackElement(); + } + _interpretCommandResult(e) { + (e && 0 !== e.length) || + (e = this._cursors.readSelectionFromMarkers()), + (this._columnSelectData = null), + this._cursors.setSelections(e), + this._cursors.normalize(); + } + _emitStateChangedIfNecessary(e, t, i, n, r) { + const s = new Ii(this._model, this); + if (s.equals(n)) return !1; + const o = this._cursors.getSelections(), + a = this._cursors.getViewSelections(); + if ( + (e.emitViewEvent(new ci(a, o)), + !n || + n.cursorState.length !== s.cursorState.length || + s.cursorState.some( + (e, t) => !e.modelState.equals(n.cursorState[t].modelState) + )) + ) { + const a = n + ? n.cursorState.map((e) => e.modelState.selection) + : null, + l = n ? n.modelVersionId : 0; + e.emitOutgoingEvent( + new Ei(a, o, l, s.modelVersionId, t || 'keyboard', i, r) + ); + } + return !0; + } + _findAutoClosingPairs(e) { + if (!e.length) return null; + let t = []; + for (let i = 0, n = e.length; i < n; i++) { + const n = e[i]; + if (!n.text || n.text.indexOf('\n') >= 0) return null; + const r = n.text.match(/([)\]}>'"`])([^)\]}>'"`]*)$/); + if (!r) return null; + const s = r[1], + o = this.context.cursorConfig.autoClosingPairsClose2.get(s); + if (!o || 1 !== o.length) return null; + const a = o[0].open, + l = n.text.length - r[2].length - 1, + c = n.text.lastIndexOf(a, l - 1); + if (-1 === c) return null; + t.push([c, l]); + } + return t; + } + executeEdits(e, t, i, n) { + let r = null; + 'snippet' === t && (r = this._findAutoClosingPairs(i)), + r && (i[0]._isTracked = !0); + let s = [], + o = []; + const a = this._model.pushEditOperations( + this.getSelections(), + i, + (e) => { + if (r) + for (let t = 0, i = r.length; t < i; t++) { + const [i, n] = r[t], + a = e[t], + l = a.range.startLineNumber, + c = a.range.startColumn - 1 + i, + d = a.range.startColumn - 1 + n; + s.push(new X.e(l, d + 1, l, d + 2)), + o.push(new X.e(l, c + 1, l, d + 2)); + } + const t = n(e); + return t && (this._isHandling = !0), t; + } + ); + a && ((this._isHandling = !1), this.setSelections(e, t, a)), + s.length > 0 && this._pushAutoClosedAction(s, o); + } + _executeEdit(e, t, i, n = 0) { + if (this.context.cursorConfig.readOnly) return; + const r = new Ii(this._model, this); + this._cursors.stopTrackingSelections(), (this._isHandling = !0); + try { + this._cursors.ensureValidState(), e(); + } catch (e) { + (0, s.dL)(e); + } + (this._isHandling = !1), + this._cursors.startTrackingSelections(), + this._validateAutoClosedActions(), + this._emitStateChangedIfNecessary(t, i, n, r, !1) && + this._revealPrimaryCursor(t, i, 0, !0, 0); + } + setIsDoingComposition(e) { + this._isDoingComposition = e; + } + startComposition(e) { + this._selectionsWhenCompositionStarted = this.getSelections().slice( + 0 + ); + } + endComposition(e, t) { + this._executeEdit( + () => { + if ('keyboard' === t) { + const e = Oi.getAllAutoClosedCharacters( + this._autoClosedActions + ); + this._executeEditOperation( + ai.u.compositionEndWithInterceptors( + this._prevEditOperationType, + this.context.cursorConfig, + this._model, + this._selectionsWhenCompositionStarted, + this.getSelections(), + e + ) + ), + (this._selectionsWhenCompositionStarted = null); + } + }, + e, + t + ); + } + type(e, t, i) { + this._executeEdit( + () => { + if ('keyboard' === i) { + const e = t.length; + let i = 0; + for (; i < e; ) { + const e = we.vH(t, i), + n = t.substr(i, e), + r = Oi.getAllAutoClosedCharacters( + this._autoClosedActions + ); + this._executeEditOperation( + ai.u.typeWithInterceptors( + this._isDoingComposition, + this._prevEditOperationType, + this.context.cursorConfig, + this._model, + this.getSelections(), + r, + n + ) + ), + (i += e); + } + } else + this._executeEditOperation( + ai.u.typeWithoutInterceptors( + this._prevEditOperationType, + this.context.cursorConfig, + this._model, + this.getSelections(), + t + ) + ); + }, + e, + i + ); + } + replacePreviousChar(e, t, i, n) { + this._executeEdit( + () => { + this._executeEditOperation( + ai.u.replacePreviousChar( + this._prevEditOperationType, + this.context.cursorConfig, + this._model, + this.getSelections(), + t, + i + ) + ); + }, + e, + n + ); + } + paste(e, t, i, n, r) { + this._executeEdit( + () => { + this._executeEditOperation( + ai.u.paste( + this.context.cursorConfig, + this._model, + this.getSelections(), + t, + i, + n || [] + ) + ); + }, + e, + r, + 4 + ); + } + cut(e, t) { + this._executeEdit( + () => { + this._executeEditOperation( + oi.A.cut( + this.context.cursorConfig, + this._model, + this.getSelections() + ) + ); + }, + e, + t + ); + } + executeCommand(e, t, i) { + this._executeEdit( + () => { + this._cursors.killSecondaryCursors(), + this._executeEditOperation( + new ee.Tp(0, [t], { + shouldPushStackElementBefore: !1, + shouldPushStackElementAfter: !1, + }) + ); + }, + e, + i + ); + } + executeCommands(e, t, i) { + this._executeEdit( + () => { + this._executeEditOperation( + new ee.Tp(0, t, { + shouldPushStackElementBefore: !1, + shouldPushStackElementAfter: !1, + }) + ); + }, + e, + i + ); + } + } + Ai.MAX_CURSOR_COUNT = 1e4; + var Ri = i(30653), + Pi = i(96518), + Fi = i(29102), + Bi = i(55713), + Wi = i(76633); + class Yi { + constructor() { + (this._hasPending = !1), + (this._inserts = []), + (this._changes = []), + (this._removes = []); + } + insert(e) { + (this._hasPending = !0), this._inserts.push(e); + } + change(e) { + (this._hasPending = !0), this._changes.push(e); + } + remove(e) { + (this._hasPending = !0), this._removes.push(e); + } + mustCommit() { + return this._hasPending; + } + commit(e) { + if (!this._hasPending) return; + const t = this._inserts, + i = this._changes, + n = this._removes; + (this._hasPending = !1), + (this._inserts = []), + (this._changes = []), + (this._removes = []), + e._commitPendingChanges(t, i, n); + } + } + class Hi { + constructor(e, t, i, n, r) { + (this.id = e), + (this.afterLineNumber = t), + (this.ordinal = i), + (this.height = n), + (this.minWidth = r), + (this.prefixSum = 0); + } + } + class ji { + constructor(e, t, i, n) { + (this._instanceId = we.PJ(++ji.INSTANCE_COUNT)), + (this._pendingChanges = new Yi()), + (this._lastWhitespaceId = 0), + (this._arr = []), + (this._prefixSumValidIndex = -1), + (this._minWidth = -1), + (this._lineCount = e), + (this._lineHeight = t), + (this._paddingTop = i), + (this._paddingBottom = n); + } + static findInsertionIndex(e, t, i) { + let n = 0, + r = e.length; + for (; n < r; ) { + const s = (n + r) >>> 1; + t === e[s].afterLineNumber + ? i < e[s].ordinal + ? (r = s) + : (n = s + 1) + : t < e[s].afterLineNumber + ? (r = s) + : (n = s + 1); + } + return n; + } + setLineHeight(e) { + this._checkPendingChanges(), (this._lineHeight = e); + } + setPadding(e, t) { + (this._paddingTop = e), (this._paddingBottom = t); + } + onFlushed(e) { + this._checkPendingChanges(), (this._lineCount = e); + } + changeWhitespace(e) { + let t = !1; + try { + e({ + insertWhitespace: (e, i, n, r) => { + (t = !0), (e |= 0), (i |= 0), (n |= 0), (r |= 0); + const s = this._instanceId + ++this._lastWhitespaceId; + return this._pendingChanges.insert(new Hi(s, e, i, n, r)), s; + }, + changeOneWhitespace: (e, i, n) => { + (t = !0), + (i |= 0), + (n |= 0), + this._pendingChanges.change({ + id: e, + newAfterLineNumber: i, + newHeight: n, + }); + }, + removeWhitespace: (e) => { + (t = !0), this._pendingChanges.remove({ id: e }); + }, + }); + } finally { + this._pendingChanges.commit(this); + } + return t; + } + _commitPendingChanges(e, t, i) { + if ( + ((e.length > 0 || i.length > 0) && (this._minWidth = -1), + e.length + t.length + i.length <= 1) + ) { + for (const t of e) this._insertWhitespace(t); + for (const e of t) + this._changeOneWhitespace( + e.id, + e.newAfterLineNumber, + e.newHeight + ); + for (const e of i) { + const t = this._findWhitespaceIndex(e.id); + -1 !== t && this._removeWhitespace(t); + } + return; + } + const n = new Set(); + for (const e of i) n.add(e.id); + const r = new Map(); + for (const e of t) r.set(e.id, e); + const s = (e) => { + let t = []; + for (const i of e) + if (!n.has(i.id)) { + if (r.has(i.id)) { + const e = r.get(i.id); + (i.afterLineNumber = e.newAfterLineNumber), + (i.height = e.newHeight); + } + t.push(i); + } + return t; + }, + o = s(this._arr).concat(s(e)); + o.sort((e, t) => + e.afterLineNumber === t.afterLineNumber + ? e.ordinal - t.ordinal + : e.afterLineNumber - t.afterLineNumber + ), + (this._arr = o), + (this._prefixSumValidIndex = -1); + } + _checkPendingChanges() { + this._pendingChanges.mustCommit() && + this._pendingChanges.commit(this); + } + _insertWhitespace(e) { + const t = ji.findInsertionIndex( + this._arr, + e.afterLineNumber, + e.ordinal + ); + this._arr.splice(t, 0, e), + (this._prefixSumValidIndex = Math.min( + this._prefixSumValidIndex, + t - 1 + )); + } + _findWhitespaceIndex(e) { + const t = this._arr; + for (let i = 0, n = t.length; i < n; i++) + if (t[i].id === e) return i; + return -1; + } + _changeOneWhitespace(e, t, i) { + const n = this._findWhitespaceIndex(e); + if ( + -1 !== n && + (this._arr[n].height !== i && + ((this._arr[n].height = i), + (this._prefixSumValidIndex = Math.min( + this._prefixSumValidIndex, + n - 1 + ))), + this._arr[n].afterLineNumber !== t) + ) { + const e = this._arr[n]; + this._removeWhitespace(n), + (e.afterLineNumber = t), + this._insertWhitespace(e); + } + } + _removeWhitespace(e) { + this._arr.splice(e, 1), + (this._prefixSumValidIndex = Math.min( + this._prefixSumValidIndex, + e - 1 + )); + } + onLinesDeleted(e, t) { + this._checkPendingChanges(), + (e |= 0), + (t |= 0), + (this._lineCount -= t - e + 1); + for (let i = 0, n = this._arr.length; i < n; i++) { + const n = this._arr[i].afterLineNumber; + e <= n && n <= t + ? (this._arr[i].afterLineNumber = e - 1) + : n > t && (this._arr[i].afterLineNumber -= t - e + 1); + } + } + onLinesInserted(e, t) { + this._checkPendingChanges(), + (e |= 0), + (t |= 0), + (this._lineCount += t - e + 1); + for (let i = 0, n = this._arr.length; i < n; i++) + e <= this._arr[i].afterLineNumber && + (this._arr[i].afterLineNumber += t - e + 1); + } + getWhitespacesTotalHeight() { + return ( + this._checkPendingChanges(), + 0 === this._arr.length + ? 0 + : this.getWhitespacesAccumulatedHeight(this._arr.length - 1) + ); + } + getWhitespacesAccumulatedHeight(e) { + this._checkPendingChanges(), (e |= 0); + let t = Math.max(0, this._prefixSumValidIndex + 1); + 0 === t && ((this._arr[0].prefixSum = this._arr[0].height), t++); + for (let i = t; i <= e; i++) + this._arr[i].prefixSum = + this._arr[i - 1].prefixSum + this._arr[i].height; + return ( + (this._prefixSumValidIndex = Math.max( + this._prefixSumValidIndex, + e + )), + this._arr[e].prefixSum + ); + } + getLinesTotalHeight() { + return ( + this._checkPendingChanges(), + this._lineHeight * this._lineCount + + this.getWhitespacesTotalHeight() + + this._paddingTop + + this._paddingBottom + ); + } + getWhitespaceAccumulatedHeightBeforeLineNumber(e) { + this._checkPendingChanges(), (e |= 0); + const t = this._findLastWhitespaceBeforeLineNumber(e); + return -1 === t ? 0 : this.getWhitespacesAccumulatedHeight(t); + } + _findLastWhitespaceBeforeLineNumber(e) { + e |= 0; + const t = this._arr; + let i = 0, + n = t.length - 1; + for (; i <= n; ) { + const r = (i + ((((n - i) | 0) / 2) | 0)) | 0; + if (t[r].afterLineNumber < e) { + if (r + 1 >= t.length || t[r + 1].afterLineNumber >= e) + return r; + i = (r + 1) | 0; + } else n = (r - 1) | 0; + } + return -1; + } + _findFirstWhitespaceAfterLineNumber(e) { + e |= 0; + const t = this._findLastWhitespaceBeforeLineNumber(e) + 1; + return t < this._arr.length ? t : -1; + } + getFirstWhitespaceIndexAfterLineNumber(e) { + return ( + this._checkPendingChanges(), + (e |= 0), + this._findFirstWhitespaceAfterLineNumber(e) + ); + } + getVerticalOffsetForLineNumber(e) { + let t; + return ( + this._checkPendingChanges(), + (t = (e |= 0) > 1 ? this._lineHeight * (e - 1) : 0), + t + + this.getWhitespaceAccumulatedHeightBeforeLineNumber(e) + + this._paddingTop + ); + } + getWhitespaceMinWidth() { + if ((this._checkPendingChanges(), -1 === this._minWidth)) { + let e = 0; + for (let t = 0, i = this._arr.length; t < i; t++) + e = Math.max(e, this._arr[t].minWidth); + this._minWidth = e; + } + return this._minWidth; + } + isAfterLines(e) { + return this._checkPendingChanges(), e > this.getLinesTotalHeight(); + } + getLineNumberAtOrAfterVerticalOffset(e) { + if ((this._checkPendingChanges(), (e |= 0) < 0)) return 1; + const t = 0 | this._lineCount, + i = this._lineHeight; + let n = 1, + r = t; + for (; n < r; ) { + const t = ((n + r) / 2) | 0, + s = 0 | this.getVerticalOffsetForLineNumber(t); + if (e >= s + i) n = t + 1; + else { + if (e >= s) return t; + r = t; + } + } + return n > t ? t : n; + } + getLinesViewportData(e, t) { + this._checkPendingChanges(), (e |= 0), (t |= 0); + const i = this._lineHeight, + n = 0 | this.getLineNumberAtOrAfterVerticalOffset(e), + r = 0 | this.getVerticalOffsetForLineNumber(n); + let s = 0 | this._lineCount, + o = 0 | this.getFirstWhitespaceIndexAfterLineNumber(n); + const a = 0 | this.getWhitespacesCount(); + let l, c; + -1 === o + ? ((o = a), (c = s + 1), (l = 0)) + : ((c = 0 | this.getAfterLineNumberForWhitespaceIndex(o)), + (l = 0 | this.getHeightForWhitespaceIndex(o))); + let d = r, + h = d; + const u = 5e5; + let g = 0; + r >= u && + ((g = Math.floor(r / u) * u), + (g = Math.floor(g / i) * i), + (h -= g)); + const f = [], + p = e + (t - e) / 2; + let m = -1; + for (let e = n; e <= s; e++) { + if (-1 === m) { + const t = d, + n = d + i; + ((t <= p && p < n) || t > p) && (m = e); + } + for (d += i, f[e - n] = h, h += i; c === e; ) + (h += l), + (d += l), + o++, + o >= a + ? (c = s + 1) + : ((c = 0 | this.getAfterLineNumberForWhitespaceIndex(o)), + (l = 0 | this.getHeightForWhitespaceIndex(o))); + if (d >= t) { + s = e; + break; + } + } + -1 === m && (m = s); + const _ = 0 | this.getVerticalOffsetForLineNumber(s); + let b = n, + v = s; + return ( + b < v && r < e && b++, + b < v && _ + i > t && v--, + { + bigNumbersDelta: g, + startLineNumber: n, + endLineNumber: s, + relativeVerticalOffset: f, + centeredLineNumber: m, + completelyVisibleStartLineNumber: b, + completelyVisibleEndLineNumber: v, + } + ); + } + getVerticalOffsetForWhitespaceIndex(e) { + this._checkPendingChanges(), (e |= 0); + const t = this.getAfterLineNumberForWhitespaceIndex(e); + let i, n; + return ( + (i = t >= 1 ? this._lineHeight * t : 0), + (n = e > 0 ? this.getWhitespacesAccumulatedHeight(e - 1) : 0), + i + n + this._paddingTop + ); + } + getWhitespaceIndexAtOrAfterVerticallOffset(e) { + this._checkPendingChanges(), (e |= 0); + let t = 0, + i = this.getWhitespacesCount() - 1; + if (i < 0) return -1; + if ( + e >= + this.getVerticalOffsetForWhitespaceIndex(i) + + this.getHeightForWhitespaceIndex(i) + ) + return -1; + for (; t < i; ) { + const n = Math.floor((t + i) / 2), + r = this.getVerticalOffsetForWhitespaceIndex(n); + if (e >= r + this.getHeightForWhitespaceIndex(n)) t = n + 1; + else { + if (e >= r) return n; + i = n; + } + } + return t; + } + getWhitespaceAtVerticalOffset(e) { + this._checkPendingChanges(), (e |= 0); + const t = this.getWhitespaceIndexAtOrAfterVerticallOffset(e); + if (t < 0) return null; + if (t >= this.getWhitespacesCount()) return null; + const i = this.getVerticalOffsetForWhitespaceIndex(t); + if (i > e) return null; + const n = this.getHeightForWhitespaceIndex(t); + return { + id: this.getIdForWhitespaceIndex(t), + afterLineNumber: this.getAfterLineNumberForWhitespaceIndex(t), + verticalOffset: i, + height: n, + }; + } + getWhitespaceViewportData(e, t) { + this._checkPendingChanges(), (e |= 0), (t |= 0); + const i = this.getWhitespaceIndexAtOrAfterVerticallOffset(e), + n = this.getWhitespacesCount() - 1; + if (i < 0) return []; + let r = []; + for (let e = i; e <= n; e++) { + const i = this.getVerticalOffsetForWhitespaceIndex(e), + n = this.getHeightForWhitespaceIndex(e); + if (i >= t) break; + r.push({ + id: this.getIdForWhitespaceIndex(e), + afterLineNumber: this.getAfterLineNumberForWhitespaceIndex(e), + verticalOffset: i, + height: n, + }); + } + return r; + } + getWhitespaces() { + return this._checkPendingChanges(), this._arr.slice(0); + } + getWhitespacesCount() { + return this._checkPendingChanges(), this._arr.length; + } + getIdForWhitespaceIndex(e) { + return this._checkPendingChanges(), (e |= 0), this._arr[e].id; + } + getAfterLineNumberForWhitespaceIndex(e) { + return ( + this._checkPendingChanges(), + (e |= 0), + this._arr[e].afterLineNumber + ); + } + getHeightForWhitespaceIndex(e) { + return this._checkPendingChanges(), (e |= 0), this._arr[e].height; + } + } + ji.INSTANCE_COUNT = 0; + class Vi { + constructor(e, t, i, n) { + (e |= 0) < 0 && (e = 0), + (t |= 0) < 0 && (t = 0), + (i |= 0) < 0 && (i = 0), + (n |= 0) < 0 && (n = 0), + (this.width = e), + (this.contentWidth = t), + (this.scrollWidth = Math.max(e, t)), + (this.height = i), + (this.contentHeight = n), + (this.scrollHeight = Math.max(i, n)); + } + equals(e) { + return ( + this.width === e.width && + this.contentWidth === e.contentWidth && + this.height === e.height && + this.contentHeight === e.contentHeight + ); + } + } + class zi extends a.JT { + constructor(e, t) { + super(), + (this._onDidContentSizeChange = this._register(new o.Q5())), + (this.onDidContentSizeChange = this._onDidContentSizeChange.event), + (this._dimensions = new Vi(0, 0, 0, 0)), + (this._scrollable = this._register(new Wi.Rm(e, t))), + (this.onDidScroll = this._scrollable.onScroll); + } + getScrollable() { + return this._scrollable; + } + setSmoothScrollDuration(e) { + this._scrollable.setSmoothScrollDuration(e); + } + validateScrollPosition(e) { + return this._scrollable.validateScrollPosition(e); + } + getScrollDimensions() { + return this._dimensions; + } + setScrollDimensions(e) { + if (this._dimensions.equals(e)) return; + const t = this._dimensions; + (this._dimensions = e), + this._scrollable.setScrollDimensions( + { + width: e.width, + scrollWidth: e.scrollWidth, + height: e.height, + scrollHeight: e.scrollHeight, + }, + !0 + ); + const i = t.contentWidth !== e.contentWidth, + n = t.contentHeight !== e.contentHeight; + (i || n) && + this._onDidContentSizeChange.fire( + new Li( + t.contentWidth, + t.contentHeight, + e.contentWidth, + e.contentHeight + ) + ); + } + getFutureScrollPosition() { + return this._scrollable.getFutureScrollPosition(); + } + getCurrentScrollPosition() { + return this._scrollable.getCurrentScrollPosition(); + } + setScrollPositionNow(e) { + this._scrollable.setScrollPositionNow(e); + } + setScrollPositionSmooth(e) { + this._scrollable.setScrollPositionSmooth(e); + } + } + class Ui extends a.JT { + constructor(e, t, i) { + super(), (this._configuration = e); + const n = this._configuration.options, + r = n.get(117), + s = n.get(66); + (this._linesLayout = new ji(t, n.get(51), s.top, s.bottom)), + (this._scrollable = this._register(new zi(0, i))), + this._configureSmoothScrollDuration(), + this._scrollable.setScrollDimensions( + new Vi(r.contentWidth, 0, r.height, 0) + ), + (this.onDidScroll = this._scrollable.onDidScroll), + (this.onDidContentSizeChange = this._scrollable.onDidContentSizeChange), + this._updateHeight(); + } + dispose() { + super.dispose(); + } + getScrollable() { + return this._scrollable.getScrollable(); + } + onHeightMaybeChanged() { + this._updateHeight(); + } + _configureSmoothScrollDuration() { + this._scrollable.setSmoothScrollDuration( + this._configuration.options.get(94) ? 125 : 0 + ); + } + onConfigurationChanged(e) { + const t = this._configuration.options; + if ( + (e.hasChanged(51) && this._linesLayout.setLineHeight(t.get(51)), + e.hasChanged(66)) + ) { + const e = t.get(66); + this._linesLayout.setPadding(e.top, e.bottom); + } + if (e.hasChanged(117)) { + const e = t.get(117), + i = e.contentWidth, + n = e.height, + r = this._scrollable.getScrollDimensions(), + s = r.contentWidth; + this._scrollable.setScrollDimensions( + new Vi(i, r.contentWidth, n, this._getContentHeight(i, n, s)) + ); + } else this._updateHeight(); + e.hasChanged(94) && this._configureSmoothScrollDuration(); + } + onFlushed(e) { + this._linesLayout.onFlushed(e); + } + onLinesDeleted(e, t) { + this._linesLayout.onLinesDeleted(e, t); + } + onLinesInserted(e, t) { + this._linesLayout.onLinesInserted(e, t); + } + _getHorizontalScrollbarHeight(e, t) { + const i = this._configuration.options.get(84); + return 2 === i.horizontal || e >= t ? 0 : i.horizontalScrollbarSize; + } + _getContentHeight(e, t, i) { + const n = this._configuration.options; + let r = this._linesLayout.getLinesTotalHeight(); + return ( + n.get(86) + ? (r += t - n.get(51)) + : (r += this._getHorizontalScrollbarHeight(e, i)), + r + ); + } + _updateHeight() { + const e = this._scrollable.getScrollDimensions(), + t = e.width, + i = e.height, + n = e.contentWidth; + this._scrollable.setScrollDimensions( + new Vi(t, e.contentWidth, i, this._getContentHeight(t, i, n)) + ); + } + getCurrentViewport() { + const e = this._scrollable.getScrollDimensions(), + t = this._scrollable.getCurrentScrollPosition(); + return new pt.l_(t.scrollTop, t.scrollLeft, e.width, e.height); + } + getFutureViewport() { + const e = this._scrollable.getScrollDimensions(), + t = this._scrollable.getFutureScrollPosition(); + return new pt.l_(t.scrollTop, t.scrollLeft, e.width, e.height); + } + _computeContentWidth(e) { + const t = this._configuration.options, + i = t.get(118), + n = t.get(36); + if (i.isViewportWrapping) { + const i = t.get(117), + r = t.get(56); + return e > i.contentWidth + n.typicalHalfwidthCharacterWidth && + r.enabled && + 'right' === r.side + ? e + i.verticalScrollbarWidth + : e; + } + { + const i = t.get(85) * n.typicalHalfwidthCharacterWidth, + r = this._linesLayout.getWhitespaceMinWidth(); + return Math.max(e + i, r); + } + } + setMaxLineWidth(e) { + const t = this._scrollable.getScrollDimensions(); + this._scrollable.setScrollDimensions( + new Vi( + t.width, + this._computeContentWidth(e), + t.height, + t.contentHeight + ) + ), + this._updateHeight(); + } + saveState() { + const e = this._scrollable.getFutureScrollPosition(); + let t = e.scrollTop, + i = this._linesLayout.getLineNumberAtOrAfterVerticalOffset(t); + return { + scrollTop: t, + scrollTopWithoutViewZones: + t - + this._linesLayout.getWhitespaceAccumulatedHeightBeforeLineNumber( + i + ), + scrollLeft: e.scrollLeft, + }; + } + changeWhitespace(e) { + const t = this._linesLayout.changeWhitespace(e); + return t && this.onHeightMaybeChanged(), t; + } + getVerticalOffsetForLineNumber(e) { + return this._linesLayout.getVerticalOffsetForLineNumber(e); + } + isAfterLines(e) { + return this._linesLayout.isAfterLines(e); + } + getLineNumberAtVerticalOffset(e) { + return this._linesLayout.getLineNumberAtOrAfterVerticalOffset(e); + } + getWhitespaceAtVerticalOffset(e) { + return this._linesLayout.getWhitespaceAtVerticalOffset(e); + } + getLinesViewportData() { + const e = this.getCurrentViewport(); + return this._linesLayout.getLinesViewportData( + e.top, + e.top + e.height + ); + } + getLinesViewportDataAtScrollTop(e) { + const t = this._scrollable.getScrollDimensions(); + return ( + e + t.height > t.scrollHeight && (e = t.scrollHeight - t.height), + e < 0 && (e = 0), + this._linesLayout.getLinesViewportData(e, e + t.height) + ); + } + getWhitespaceViewportData() { + const e = this.getCurrentViewport(); + return this._linesLayout.getWhitespaceViewportData( + e.top, + e.top + e.height + ); + } + getWhitespaces() { + return this._linesLayout.getWhitespaces(); + } + getContentWidth() { + return this._scrollable.getScrollDimensions().contentWidth; + } + getScrollWidth() { + return this._scrollable.getScrollDimensions().scrollWidth; + } + getContentHeight() { + return this._scrollable.getScrollDimensions().contentHeight; + } + getScrollHeight() { + return this._scrollable.getScrollDimensions().scrollHeight; + } + getCurrentScrollLeft() { + return this._scrollable.getCurrentScrollPosition().scrollLeft; + } + getCurrentScrollTop() { + return this._scrollable.getCurrentScrollPosition().scrollTop; + } + validateScrollPosition(e) { + return this._scrollable.validateScrollPosition(e); + } + setScrollPosition(e, t) { + 1 === t + ? this._scrollable.setScrollPositionNow(e) + : this._scrollable.setScrollPositionSmooth(e); + } + deltaScrollNow(e, t) { + const i = this._scrollable.getCurrentScrollPosition(); + this._scrollable.setScrollPositionNow({ + scrollLeft: i.scrollLeft + e, + scrollTop: i.scrollTop + t, + }); + } + } + var $i = i(3411), + Ki = i(3544); + class qi { + constructor(e, t) { + (this.outputLineIndex = e), (this.outputOffset = t); + } + } + class Gi { + constructor(e, t, i) { + (this.breakOffsets = e), + (this.breakOffsetsVisibleColumn = t), + (this.wrappedTextIndentLength = i); + } + static getInputOffsetOfOutputPosition(e, t, i) { + return 0 === t ? i : e[t - 1] + i; + } + static getOutputPositionOfInputOffset(e, t) { + let i = 0, + n = e.length - 1, + r = 0, + s = 0; + for (; i <= n; ) { + r = (i + (n - i) / 2) | 0; + const o = e[r]; + if (((s = r > 0 ? e[r - 1] : 0), t < s)) n = r - 1; + else { + if (!(t >= o)) break; + i = r + 1; + } + } + return new qi(r, t - s); + } + } + class Zi { + constructor(e) { + this._lines = e; + } + convertViewPositionToModelPosition(e) { + return this._lines.convertViewPositionToModelPosition( + e.lineNumber, + e.column + ); + } + convertViewRangeToModelRange(e) { + return this._lines.convertViewRangeToModelRange(e); + } + validateViewPosition(e, t) { + return this._lines.validateViewPosition(e.lineNumber, e.column, t); + } + validateViewRange(e, t) { + return this._lines.validateViewRange(e, t); + } + convertModelPositionToViewPosition(e) { + return this._lines.convertModelPositionToViewPosition( + e.lineNumber, + e.column + ); + } + convertModelRangeToViewRange(e) { + return this._lines.convertModelRangeToViewRange(e); + } + modelPositionIsVisible(e) { + return this._lines.modelPositionIsVisible(e.lineNumber, e.column); + } + } + class Ji { + constructor(e) { + (this._counts = e), + (this._isValid = !1), + (this._validEndIndex = -1), + (this._modelToView = []), + (this._viewToModel = []); + } + _invalidate(e) { + (this._isValid = !1), + (this._validEndIndex = Math.min(this._validEndIndex, e - 1)); + } + _ensureValid() { + if (!this._isValid) { + for ( + let e = this._validEndIndex + 1, t = this._counts.length; + e < t; + e++ + ) { + const t = this._counts[e], + i = e > 0 ? this._modelToView[e - 1] : 0; + this._modelToView[e] = i + t; + for (let n = 0; n < t; n++) this._viewToModel[i + n] = e; + } + (this._modelToView.length = this._counts.length), + (this._viewToModel.length = this._modelToView[ + this._modelToView.length - 1 + ]), + (this._isValid = !0), + (this._validEndIndex = this._counts.length - 1); + } + } + changeValue(e, t) { + this._counts[e] !== t && + ((this._counts[e] = t), this._invalidate(e)); + } + removeValues(e, t) { + this._counts.splice(e, t), this._invalidate(e); + } + insertValues(e, t) { + (this._counts = qe.Zv(this._counts, e, t)), this._invalidate(e); + } + getTotalValue() { + return this._ensureValid(), this._viewToModel.length; + } + getAccumulatedValue(e) { + return this._ensureValid(), this._modelToView[e]; + } + getIndexOf(e) { + this._ensureValid(); + const t = this._viewToModel[e], + i = t > 0 ? this._modelToView[t - 1] : 0; + return new Ki.T(t, e - i); + } + } + class Qi { + constructor(e, t, i, n, r, s, o, a) { + (this.model = e), + (this._validModelVersionId = -1), + (this._domLineBreaksComputerFactory = t), + (this._monospaceLineBreaksComputerFactory = i), + (this.fontInfo = n), + (this.tabSize = r), + (this.wrappingStrategy = s), + (this.wrappingColumn = o), + (this.wrappingIndent = a), + this._constructLines(!0, null); + } + dispose() { + this.hiddenAreasIds = this.model.deltaDecorations( + this.hiddenAreasIds, + [] + ); + } + createCoordinatesConverter() { + return new Zi(this); + } + _constructLines(e, t) { + (this.lines = []), e && (this.hiddenAreasIds = []); + let i = this.model.getLinesContent(); + const n = i.length, + r = this.createLineBreaksComputer(); + for (let e = 0; e < n; e++) r.addRequest(i[e], t ? t[e] : null); + const s = r.finalize(); + let o = [], + a = this.hiddenAreasIds + .map((e) => this.model.getDecorationRange(e)) + .sort(X.e.compareRangesUsingStarts), + l = 1, + c = 0, + d = -1, + h = d + 1 < a.length ? c + 1 : n + 2; + for (let e = 0; e < n; e++) { + let t = e + 1; + t === h && + (d++, + (l = a[d].startLineNumber), + (c = a[d].endLineNumber), + (h = d + 1 < a.length ? c + 1 : n + 2)); + let i = t >= l && t <= c, + r = on(s[e], !i); + (o[e] = r.getViewLineCount()), (this.lines[e] = r); + } + (this._validModelVersionId = this.model.getVersionId()), + (this.prefixSumComputer = new Ji(o)); + } + getHiddenAreas() { + return this.hiddenAreasIds.map((e) => + this.model.getDecorationRange(e) + ); + } + _reduceRanges(e) { + if (0 === e.length) return []; + let t = e + .map((e) => this.model.validateRange(e)) + .sort(X.e.compareRangesUsingStarts), + i = [], + n = t[0].startLineNumber, + r = t[0].endLineNumber; + for (let e = 1, s = t.length; e < s; e++) { + let s = t[e]; + s.startLineNumber > r + 1 + ? (i.push(new X.e(n, 1, r, 1)), + (n = s.startLineNumber), + (r = s.endLineNumber)) + : s.endLineNumber > r && (r = s.endLineNumber); + } + return i.push(new X.e(n, 1, r, 1)), i; + } + setHiddenAreas(e) { + let t = this._reduceRanges(e), + i = this.hiddenAreasIds + .map((e) => this.model.getDecorationRange(e)) + .sort(X.e.compareRangesUsingStarts); + if (t.length === i.length) { + let e = !1; + for (let n = 0; n < t.length; n++) + if (!t[n].equalsRange(i[n])) { + e = !0; + break; + } + if (!e) return !1; + } + let n = []; + for (const e of t) n.push({ range: e, options: $i.qx.EMPTY }); + this.hiddenAreasIds = this.model.deltaDecorations( + this.hiddenAreasIds, + n + ); + let r = t, + s = 1, + o = 0, + a = -1, + l = a + 1 < r.length ? o + 1 : this.lines.length + 2, + c = !1; + for (let e = 0; e < this.lines.length; e++) { + let t = e + 1; + t === l && + (a++, + (s = r[a].startLineNumber), + (o = r[a].endLineNumber), + (l = a + 1 < r.length ? o + 1 : this.lines.length + 2)); + let i = !1; + if ( + (t >= s && t <= o + ? this.lines[e].isVisible() && + ((this.lines[e] = this.lines[e].setVisible(!1)), (i = !0)) + : ((c = !0), + this.lines[e].isVisible() || + ((this.lines[e] = this.lines[e].setVisible(!0)), + (i = !0))), + i) + ) { + let t = this.lines[e].getViewLineCount(); + this.prefixSumComputer.changeValue(e, t); + } + } + return c || this.setHiddenAreas([]), !0; + } + modelPositionIsVisible(e, t) { + return ( + !(e < 1 || e > this.lines.length) && this.lines[e - 1].isVisible() + ); + } + setTabSize(e) { + return ( + this.tabSize !== e && + ((this.tabSize = e), this._constructLines(!1, null), !0) + ); + } + setWrappingSettings(e, t, i, n) { + const r = this.fontInfo.equals(e), + s = this.wrappingStrategy === t, + o = this.wrappingColumn === i, + a = this.wrappingIndent === n; + if (r && s && o && a) return !1; + const l = r && s && !o && a; + (this.fontInfo = e), + (this.wrappingStrategy = t), + (this.wrappingColumn = i), + (this.wrappingIndent = n); + let c = null; + if (l) { + c = []; + for (let e = 0, t = this.lines.length; e < t; e++) + c[e] = this.lines[e].getLineBreakData(); + } + return this._constructLines(!1, c), !0; + } + createLineBreaksComputer() { + return ('advanced' === this.wrappingStrategy + ? this._domLineBreaksComputerFactory + : this._monospaceLineBreaksComputerFactory + ).createLineBreaksComputer( + this.fontInfo, + this.tabSize, + this.wrappingColumn, + this.wrappingIndent + ); + } + onModelFlushed() { + this._constructLines(!0, null); + } + onModelLinesDeleted(e, t, i) { + if (e <= this._validModelVersionId) return null; + let n = + 1 === t + ? 1 + : this.prefixSumComputer.getAccumulatedValue(t - 2) + 1, + r = this.prefixSumComputer.getAccumulatedValue(i - 1); + return ( + this.lines.splice(t - 1, i - t + 1), + this.prefixSumComputer.removeValues(t - 1, i - t + 1), + new mi(n, r) + ); + } + onModelLinesInserted(e, t, i, n) { + if (e <= this._validModelVersionId) return null; + let r = this.getHiddenAreas(), + s = !1, + o = new Q.L(t, 1); + for (const e of r) + if (e.containsPosition(o)) { + s = !0; + break; + } + let a = + 1 === t + ? 1 + : this.prefixSumComputer.getAccumulatedValue(t - 2) + 1, + l = 0, + c = [], + d = []; + for (let e = 0, t = n.length; e < t; e++) { + let t = on(n[e], !s); + c.push(t); + let i = t.getViewLineCount(); + (l += i), (d[e] = i); + } + return ( + (this.lines = this.lines + .slice(0, t - 1) + .concat(c) + .concat(this.lines.slice(t - 1))), + this.prefixSumComputer.insertValues(t - 1, d), + new _i(a, a + l - 1) + ); + } + onModelLineChanged(e, t, i) { + if (e <= this._validModelVersionId) return [!1, null, null, null]; + let n = t - 1, + r = this.lines[n].getViewLineCount(), + s = on(i, this.lines[n].isVisible()); + this.lines[n] = s; + let o = this.lines[n].getViewLineCount(), + a = !1, + l = 0, + c = -1, + d = 0, + h = -1, + u = 0, + g = -1; + return ( + r > o + ? ((l = + 1 === t + ? 1 + : this.prefixSumComputer.getAccumulatedValue(t - 2) + 1), + (c = l + o - 1), + (u = c + 1), + (g = u + (r - o) - 1), + (a = !0)) + : r < o + ? ((l = + 1 === t + ? 1 + : this.prefixSumComputer.getAccumulatedValue(t - 2) + 1), + (c = l + r - 1), + (d = c + 1), + (h = d + (o - r) - 1), + (a = !0)) + : ((l = + 1 === t + ? 1 + : this.prefixSumComputer.getAccumulatedValue(t - 2) + 1), + (c = l + o - 1)), + this.prefixSumComputer.changeValue(n, o), + [ + a, + l <= c ? new pi(l, c) : null, + d <= h ? new _i(d, h) : null, + u <= g ? new mi(u, g) : null, + ] + ); + } + acceptVersionId(e) { + (this._validModelVersionId = e), + 1 !== this.lines.length || + this.lines[0].isVisible() || + this.setHiddenAreas([]); + } + getViewLineCount() { + return this.prefixSumComputer.getTotalValue(); + } + _toValidViewLineNumber(e) { + if (e < 1) return 1; + const t = this.getViewLineCount(); + return e > t ? t : 0 | e; + } + getActiveIndentGuide(e, t, i) { + (e = this._toValidViewLineNumber(e)), + (t = this._toValidViewLineNumber(t)), + (i = this._toValidViewLineNumber(i)); + const n = this.convertViewPositionToModelPosition( + e, + this.getViewLineMinColumn(e) + ), + r = this.convertViewPositionToModelPosition( + t, + this.getViewLineMinColumn(t) + ), + s = this.convertViewPositionToModelPosition( + i, + this.getViewLineMinColumn(i) + ), + o = this.model.getActiveIndentGuide( + n.lineNumber, + r.lineNumber, + s.lineNumber + ), + a = this.convertModelPositionToViewPosition(o.startLineNumber, 1), + l = this.convertModelPositionToViewPosition( + o.endLineNumber, + this.model.getLineMaxColumn(o.endLineNumber) + ); + return { + startLineNumber: a.lineNumber, + endLineNumber: l.lineNumber, + indent: o.indent, + }; + } + getViewLinesIndentGuides(e, t) { + (e = this._toValidViewLineNumber(e)), + (t = this._toValidViewLineNumber(t)); + const i = this.convertViewPositionToModelPosition( + e, + this.getViewLineMinColumn(e) + ), + n = this.convertViewPositionToModelPosition( + t, + this.getViewLineMaxColumn(t) + ); + let r = [], + s = [], + o = []; + const a = i.lineNumber - 1, + l = n.lineNumber - 1; + let c = null; + for (let e = a; e <= l; e++) { + const t = this.lines[e]; + if (t.isVisible()) { + let n = t.getViewLineNumberOfModelPosition( + 0, + e === a ? i.column : 1 + ), + r = t.getViewLineNumberOfModelPosition( + 0, + this.model.getLineMaxColumn(e + 1) + ), + l = r - n + 1, + d = 0; + l > 1 && + 1 === t.getViewLineMinColumn(this.model, e + 1, r) && + (d = 0 === n ? 1 : 2), + s.push(l), + o.push(d), + null === c && (c = new Q.L(e + 1, 0)); + } else + null !== c && + ((r = r.concat( + this.model.getLinesIndentGuides(c.lineNumber, e) + )), + (c = null)); + } + null !== c && + ((r = r.concat( + this.model.getLinesIndentGuides(c.lineNumber, n.lineNumber) + )), + (c = null)); + const d = t - e + 1; + let h = new Array(d), + u = 0; + for (let e = 0, t = r.length; e < t; e++) { + let t, + i = r[e], + n = Math.min(d - u, s[e]), + a = o[e]; + t = 2 === a ? 0 : 1 === a ? 1 : n; + for (let e = 0; e < n; e++) e === t && (i = 0), (h[u++] = i); + } + return h; + } + getViewLineContent(e) { + e = this._toValidViewLineNumber(e); + let t = this.prefixSumComputer.getIndexOf(e - 1), + i = t.index, + n = t.remainder; + return this.lines[i].getViewLineContent(this.model, i + 1, n); + } + getViewLineLength(e) { + e = this._toValidViewLineNumber(e); + let t = this.prefixSumComputer.getIndexOf(e - 1), + i = t.index, + n = t.remainder; + return this.lines[i].getViewLineLength(this.model, i + 1, n); + } + getViewLineMinColumn(e) { + e = this._toValidViewLineNumber(e); + let t = this.prefixSumComputer.getIndexOf(e - 1), + i = t.index, + n = t.remainder; + return this.lines[i].getViewLineMinColumn(this.model, i + 1, n); + } + getViewLineMaxColumn(e) { + e = this._toValidViewLineNumber(e); + let t = this.prefixSumComputer.getIndexOf(e - 1), + i = t.index, + n = t.remainder; + return this.lines[i].getViewLineMaxColumn(this.model, i + 1, n); + } + getViewLineData(e) { + e = this._toValidViewLineNumber(e); + let t = this.prefixSumComputer.getIndexOf(e - 1), + i = t.index, + n = t.remainder; + return this.lines[i].getViewLineData(this.model, i + 1, n); + } + getViewLinesData(e, t, i) { + (e = this._toValidViewLineNumber(e)), + (t = this._toValidViewLineNumber(t)); + let n = this.prefixSumComputer.getIndexOf(e - 1), + r = e, + s = n.index, + o = n.remainder, + a = []; + for (let n = s, l = this.model.getLineCount(); n < l; n++) { + let l = this.lines[n]; + if (!l.isVisible()) continue; + let c = n === s ? o : 0, + d = l.getViewLineCount() - c, + h = !1; + r + d > t && ((h = !0), (d = t - r + 1)); + let u = c + d; + if ( + (l.getViewLinesData(this.model, n + 1, c, u, r - e, i, a), + (r += d), + h) + ) + break; + } + return a; + } + validateViewPosition(e, t, i) { + e = this._toValidViewLineNumber(e); + let n = this.prefixSumComputer.getIndexOf(e - 1), + r = n.index, + s = n.remainder, + o = this.lines[r], + a = o.getViewLineMinColumn(this.model, r + 1, s), + l = o.getViewLineMaxColumn(this.model, r + 1, s); + t < a && (t = a), t > l && (t = l); + let c = o.getModelColumnOfViewPosition(s, t); + return this.model.validatePosition(new Q.L(r + 1, c)).equals(i) + ? new Q.L(e, t) + : this.convertModelPositionToViewPosition(i.lineNumber, i.column); + } + validateViewRange(e, t) { + const i = this.validateViewPosition( + e.startLineNumber, + e.startColumn, + t.getStartPosition() + ), + n = this.validateViewPosition( + e.endLineNumber, + e.endColumn, + t.getEndPosition() + ); + return new X.e(i.lineNumber, i.column, n.lineNumber, n.column); + } + convertViewPositionToModelPosition(e, t) { + e = this._toValidViewLineNumber(e); + let i = this.prefixSumComputer.getIndexOf(e - 1), + n = i.index, + r = i.remainder, + s = this.lines[n].getModelColumnOfViewPosition(r, t); + return this.model.validatePosition(new Q.L(n + 1, s)); + } + convertViewRangeToModelRange(e) { + const t = this.convertViewPositionToModelPosition( + e.startLineNumber, + e.startColumn + ), + i = this.convertViewPositionToModelPosition( + e.endLineNumber, + e.endColumn + ); + return new X.e(t.lineNumber, t.column, i.lineNumber, i.column); + } + convertModelPositionToViewPosition(e, t) { + const i = this.model.validatePosition(new Q.L(e, t)), + n = i.lineNumber, + r = i.column; + let s = n - 1, + o = !1; + for (; s > 0 && !this.lines[s].isVisible(); ) s--, (o = !0); + if (0 === s && !this.lines[s].isVisible()) return new Q.L(1, 1); + const a = + 1 + + (0 === s ? 0 : this.prefixSumComputer.getAccumulatedValue(s - 1)); + let l; + return ( + (l = o + ? this.lines[s].getViewPositionOfModelPosition( + a, + this.model.getLineMaxColumn(s + 1) + ) + : this.lines[n - 1].getViewPositionOfModelPosition(a, r)), + l + ); + } + convertModelRangeToViewRange(e) { + let t = this.convertModelPositionToViewPosition( + e.startLineNumber, + e.startColumn + ), + i = this.convertModelPositionToViewPosition( + e.endLineNumber, + e.endColumn + ); + return e.startLineNumber === e.endLineNumber && + t.lineNumber !== i.lineNumber && + i.column === this.getViewLineMinColumn(i.lineNumber) + ? new X.e( + t.lineNumber, + t.column, + i.lineNumber - 1, + this.getViewLineMaxColumn(i.lineNumber - 1) + ) + : new X.e(t.lineNumber, t.column, i.lineNumber, i.column); + } + _getViewLineNumberForModelPosition(e, t) { + let i = e - 1; + if (this.lines[i].isVisible()) { + const e = + 1 + + (0 === i + ? 0 + : this.prefixSumComputer.getAccumulatedValue(i - 1)); + return this.lines[i].getViewLineNumberOfModelPosition(e, t); + } + for (; i > 0 && !this.lines[i].isVisible(); ) i--; + if (0 === i && !this.lines[i].isVisible()) return 1; + const n = + 1 + + (0 === i ? 0 : this.prefixSumComputer.getAccumulatedValue(i - 1)); + return this.lines[i].getViewLineNumberOfModelPosition( + n, + this.model.getLineMaxColumn(i + 1) + ); + } + getAllOverviewRulerDecorations(e, t, i) { + const n = this.model.getOverviewRulerDecorations(e, t), + r = new cn(); + for (const e of n) { + const t = e.options.overviewRuler, + n = t ? t.position : 0; + if (0 === n) continue; + const s = t.getColor(i), + o = this._getViewLineNumberForModelPosition( + e.range.startLineNumber, + e.range.startColumn + ), + a = this._getViewLineNumberForModelPosition( + e.range.endLineNumber, + e.range.endColumn + ); + r.accept(s, o, a, n); + } + return r.result; + } + getDecorationsInRange(e, t, i) { + const n = this.convertViewPositionToModelPosition( + e.startLineNumber, + e.startColumn + ), + r = this.convertViewPositionToModelPosition( + e.endLineNumber, + e.endColumn + ); + if ( + r.lineNumber - n.lineNumber <= + e.endLineNumber - e.startLineNumber + ) + return this.model.getDecorationsInRange( + new X.e(n.lineNumber, 1, r.lineNumber, r.column), + t, + i + ); + let s = []; + const o = n.lineNumber - 1, + a = r.lineNumber - 1; + let l = null; + for (let e = o; e <= a; e++) + if (this.lines[e].isVisible()) + null === l && (l = new Q.L(e + 1, e === o ? n.column : 1)); + else if (null !== l) { + const n = this.model.getLineMaxColumn(e); + (s = s.concat( + this.model.getDecorationsInRange( + new X.e(l.lineNumber, l.column, e, n), + t, + i + ) + )), + (l = null); + } + null !== l && + ((s = s.concat( + this.model.getDecorationsInRange( + new X.e(l.lineNumber, l.column, r.lineNumber, r.column), + t, + i + ) + )), + (l = null)), + s.sort((e, t) => { + const i = X.e.compareRangesUsingStarts(e.range, t.range); + return 0 === i ? (e.id < t.id ? -1 : e.id > t.id ? 1 : 0) : i; + }); + let c = [], + d = 0, + h = null; + for (const e of s) { + const t = e.id; + h !== t && ((h = t), (c[d++] = e)); + } + return c; + } + } + class Xi { + constructor() {} + isVisible() { + return !0; + } + setVisible(e) { + return e ? this : en.INSTANCE; + } + getLineBreakData() { + return null; + } + getViewLineCount() { + return 1; + } + getViewLineContent(e, t, i) { + return e.getLineContent(t); + } + getViewLineLength(e, t, i) { + return e.getLineLength(t); + } + getViewLineMinColumn(e, t, i) { + return e.getLineMinColumn(t); + } + getViewLineMaxColumn(e, t, i) { + return e.getLineMaxColumn(t); + } + getViewLineData(e, t, i) { + let n = e.getLineTokens(t), + r = n.getLineContent(); + return new pt.IP(r, !1, 1, r.length + 1, 0, n.inflate()); + } + getViewLinesData(e, t, i, n, r, s, o) { + s[r] ? (o[r] = this.getViewLineData(e, t, 0)) : (o[r] = null); + } + getModelColumnOfViewPosition(e, t) { + return t; + } + getViewPositionOfModelPosition(e, t) { + return new Q.L(e, t); + } + getViewLineNumberOfModelPosition(e, t) { + return e; + } + } + Xi.INSTANCE = new Xi(); + class en { + constructor() {} + isVisible() { + return !1; + } + setVisible(e) { + return e ? Xi.INSTANCE : this; + } + getLineBreakData() { + return null; + } + getViewLineCount() { + return 0; + } + getViewLineContent(e, t, i) { + throw new Error('Not supported'); + } + getViewLineLength(e, t, i) { + throw new Error('Not supported'); + } + getViewLineMinColumn(e, t, i) { + throw new Error('Not supported'); + } + getViewLineMaxColumn(e, t, i) { + throw new Error('Not supported'); + } + getViewLineData(e, t, i) { + throw new Error('Not supported'); + } + getViewLinesData(e, t, i, n, r, s, o) { + throw new Error('Not supported'); + } + getModelColumnOfViewPosition(e, t) { + throw new Error('Not supported'); + } + getViewPositionOfModelPosition(e, t) { + throw new Error('Not supported'); + } + getViewLineNumberOfModelPosition(e, t) { + throw new Error('Not supported'); + } + } + en.INSTANCE = new en(); + class tn { + constructor(e, t) { + (this._lineBreakData = e), (this._isVisible = t); + } + isVisible() { + return this._isVisible; + } + setVisible(e) { + return (this._isVisible = e), this; + } + getLineBreakData() { + return this._lineBreakData; + } + getViewLineCount() { + return this._isVisible + ? this._lineBreakData.breakOffsets.length + : 0; + } + getInputStartOffsetOfOutputLineIndex(e) { + return Gi.getInputOffsetOfOutputPosition( + this._lineBreakData.breakOffsets, + e, + 0 + ); + } + getInputEndOffsetOfOutputLineIndex(e, t, i) { + return i + 1 === this._lineBreakData.breakOffsets.length + ? e.getLineMaxColumn(t) - 1 + : Gi.getInputOffsetOfOutputPosition( + this._lineBreakData.breakOffsets, + i + 1, + 0 + ); + } + getViewLineContent(e, t, i) { + if (!this._isVisible) throw new Error('Not supported'); + let n = this.getInputStartOffsetOfOutputLineIndex(i), + r = this.getInputEndOffsetOfOutputLineIndex(e, t, i), + s = e.getValueInRange({ + startLineNumber: t, + startColumn: n + 1, + endLineNumber: t, + endColumn: r + 1, + }); + return ( + i > 0 && + (s = rn(this._lineBreakData.wrappedTextIndentLength) + s), + s + ); + } + getViewLineLength(e, t, i) { + if (!this._isVisible) throw new Error('Not supported'); + let n = this.getInputStartOffsetOfOutputLineIndex(i), + r = this.getInputEndOffsetOfOutputLineIndex(e, t, i) - n; + return ( + i > 0 && (r = this._lineBreakData.wrappedTextIndentLength + r), r + ); + } + getViewLineMinColumn(e, t, i) { + if (!this._isVisible) throw new Error('Not supported'); + return i > 0 ? this._lineBreakData.wrappedTextIndentLength + 1 : 1; + } + getViewLineMaxColumn(e, t, i) { + if (!this._isVisible) throw new Error('Not supported'); + return this.getViewLineContent(e, t, i).length + 1; + } + getViewLineData(e, t, i) { + if (!this._isVisible) throw new Error('Not supported'); + let n = this.getInputStartOffsetOfOutputLineIndex(i), + r = this.getInputEndOffsetOfOutputLineIndex(e, t, i), + s = e.getValueInRange({ + startLineNumber: t, + startColumn: n + 1, + endLineNumber: t, + endColumn: r + 1, + }); + i > 0 && (s = rn(this._lineBreakData.wrappedTextIndentLength) + s); + let o = i > 0 ? this._lineBreakData.wrappedTextIndentLength + 1 : 1, + a = s.length + 1, + l = i + 1 < this.getViewLineCount(), + c = 0; + i > 0 && (c = this._lineBreakData.wrappedTextIndentLength); + let d = e.getLineTokens(t); + const h = + 0 === i + ? 0 + : this._lineBreakData.breakOffsetsVisibleColumn[i - 1]; + return new pt.IP(s, l, o, a, h, d.sliceAndInflate(n, r, c)); + } + getViewLinesData(e, t, i, n, r, s, o) { + if (!this._isVisible) throw new Error('Not supported'); + for (let a = i; a < n; a++) { + let n = r + a - i; + s[n] ? (o[n] = this.getViewLineData(e, t, a)) : (o[n] = null); + } + } + getModelColumnOfViewPosition(e, t) { + if (!this._isVisible) throw new Error('Not supported'); + let i = t - 1; + return ( + e > 0 && + (i < this._lineBreakData.wrappedTextIndentLength + ? (i = 0) + : (i -= this._lineBreakData.wrappedTextIndentLength)), + Gi.getInputOffsetOfOutputPosition( + this._lineBreakData.breakOffsets, + e, + i + ) + 1 + ); + } + getViewPositionOfModelPosition(e, t) { + if (!this._isVisible) throw new Error('Not supported'); + let i = Gi.getOutputPositionOfInputOffset( + this._lineBreakData.breakOffsets, + t - 1 + ), + n = i.outputLineIndex, + r = i.outputOffset + 1; + return ( + n > 0 && (r += this._lineBreakData.wrappedTextIndentLength), + new Q.L(e + n, r) + ); + } + getViewLineNumberOfModelPosition(e, t) { + if (!this._isVisible) throw new Error('Not supported'); + return ( + e + + Gi.getOutputPositionOfInputOffset( + this._lineBreakData.breakOffsets, + t - 1 + ).outputLineIndex + ); + } + } + let nn = ['']; + function rn(e) { + if (e >= nn.length) for (let t = 1; t <= e; t++) nn[t] = sn(t); + return nn[e]; + } + function sn(e) { + return new Array(e + 1).join(' '); + } + function on(e, t) { + return null === e ? (t ? Xi.INSTANCE : en.INSTANCE) : new tn(e, t); + } + class an { + constructor(e) { + this._lines = e; + } + _validPosition(e) { + return this._lines.model.validatePosition(e); + } + _validRange(e) { + return this._lines.model.validateRange(e); + } + convertViewPositionToModelPosition(e) { + return this._validPosition(e); + } + convertViewRangeToModelRange(e) { + return this._validRange(e); + } + validateViewPosition(e, t) { + return this._validPosition(t); + } + validateViewRange(e, t) { + return this._validRange(t); + } + convertModelPositionToViewPosition(e) { + return this._validPosition(e); + } + convertModelRangeToViewRange(e) { + return this._validRange(e); + } + modelPositionIsVisible(e) { + const t = this._lines.model.getLineCount(); + return !(e.lineNumber < 1 || e.lineNumber > t); + } + } + class ln { + constructor(e) { + this.model = e; + } + dispose() {} + createCoordinatesConverter() { + return new an(this); + } + getHiddenAreas() { + return []; + } + setHiddenAreas(e) { + return !1; + } + setTabSize(e) { + return !1; + } + setWrappingSettings(e, t, i, n) { + return !1; + } + createLineBreaksComputer() { + let e = []; + return { + addRequest: (t, i) => { + e.push(null); + }, + finalize: () => e, + }; + } + onModelFlushed() {} + onModelLinesDeleted(e, t, i) { + return new mi(t, i); + } + onModelLinesInserted(e, t, i, n) { + return new _i(t, i); + } + onModelLineChanged(e, t, i) { + return [!1, new pi(t, t), null, null]; + } + acceptVersionId(e) {} + getViewLineCount() { + return this.model.getLineCount(); + } + getActiveIndentGuide(e, t, i) { + return { startLineNumber: e, endLineNumber: e, indent: 0 }; + } + getViewLinesIndentGuides(e, t) { + const i = t - e + 1; + let n = new Array(i); + for (let e = 0; e < i; e++) n[e] = 0; + return n; + } + getViewLineContent(e) { + return this.model.getLineContent(e); + } + getViewLineLength(e) { + return this.model.getLineLength(e); + } + getViewLineMinColumn(e) { + return this.model.getLineMinColumn(e); + } + getViewLineMaxColumn(e) { + return this.model.getLineMaxColumn(e); + } + getViewLineData(e) { + let t = this.model.getLineTokens(e), + i = t.getLineContent(); + return new pt.IP(i, !1, 1, i.length + 1, 0, t.inflate()); + } + getViewLinesData(e, t, i) { + const n = this.model.getLineCount(); + (e = Math.min(Math.max(1, e), n)), + (t = Math.min(Math.max(1, t), n)); + let r = []; + for (let n = e; n <= t; n++) { + let t = n - e; + i[t] || (r[t] = null), (r[t] = this.getViewLineData(n)); + } + return r; + } + getAllOverviewRulerDecorations(e, t, i) { + const n = this.model.getOverviewRulerDecorations(e, t), + r = new cn(); + for (const e of n) { + const t = e.options.overviewRuler, + n = t ? t.position : 0; + if (0 === n) continue; + const s = t.getColor(i), + o = e.range.startLineNumber, + a = e.range.endLineNumber; + r.accept(s, o, a, n); + } + return r.result; + } + getDecorationsInRange(e, t, i) { + return this.model.getDecorationsInRange(e, t, i); + } + } + class cn { + constructor() { + this.result = Object.create(null); + } + accept(e, t, i, n) { + let r = this.result[e]; + if (r) { + const e = r[r.length - 3], + s = r[r.length - 1]; + if (e === n && s + 1 >= t) + return void (i > s && (r[r.length - 1] = i)); + r.push(n, t, i); + } else this.result[e] = [n, t, i]; + } + } + class dn { + constructor(e, t, i, n, r) { + (this.editorId = e), + (this.model = t), + (this.configuration = i), + (this._linesCollection = n), + (this._coordinatesConverter = r), + (this._decorationsCache = Object.create(null)), + (this._cachedModelDecorationsResolver = null), + (this._cachedModelDecorationsResolverViewRange = null); + } + _clearCachedModelDecorationsResolver() { + (this._cachedModelDecorationsResolver = null), + (this._cachedModelDecorationsResolverViewRange = null); + } + dispose() { + (this._decorationsCache = Object.create(null)), + this._clearCachedModelDecorationsResolver(); + } + reset() { + (this._decorationsCache = Object.create(null)), + this._clearCachedModelDecorationsResolver(); + } + onModelDecorationsChanged() { + (this._decorationsCache = Object.create(null)), + this._clearCachedModelDecorationsResolver(); + } + onLineMappingChanged() { + (this._decorationsCache = Object.create(null)), + this._clearCachedModelDecorationsResolver(); + } + _getOrCreateViewModelDecoration(e) { + const t = e.id; + let i = this._decorationsCache[t]; + if (!i) { + const n = e.range, + r = e.options; + let s; + if (r.isWholeLine) { + const e = this._coordinatesConverter.convertModelPositionToViewPosition( + new Q.L(n.startLineNumber, 1) + ), + t = this._coordinatesConverter.convertModelPositionToViewPosition( + new Q.L( + n.endLineNumber, + this.model.getLineMaxColumn(n.endLineNumber) + ) + ); + s = new X.e(e.lineNumber, e.column, t.lineNumber, t.column); + } else + s = this._coordinatesConverter.convertModelRangeToViewRange(n); + (i = new pt.$l(s, r)), (this._decorationsCache[t] = i); + } + return i; + } + getDecorationsViewportData(e) { + let t = null !== this._cachedModelDecorationsResolver; + return ( + (t = + t && + e.equalsRange(this._cachedModelDecorationsResolverViewRange)), + t || + ((this._cachedModelDecorationsResolver = this._getDecorationsViewportData( + e + )), + (this._cachedModelDecorationsResolverViewRange = e)), + this._cachedModelDecorationsResolver + ); + } + _getDecorationsViewportData(e) { + const t = this._linesCollection.getDecorationsInRange( + e, + this.editorId, + (0, H.$J)(this.configuration.options) + ), + i = e.startLineNumber, + n = e.endLineNumber; + let r = [], + s = 0, + o = []; + for (let e = i; e <= n; e++) o[e - i] = []; + for (let e = 0, a = t.length; e < a; e++) { + let a = t[e], + l = a.options, + c = this._getOrCreateViewModelDecoration(a), + d = c.range; + if (((r[s++] = c), l.inlineClassName)) { + let e = new pt.$t( + d, + l.inlineClassName, + l.inlineClassNameAffectsLetterSpacing ? 3 : 0 + ), + t = Math.max(i, d.startLineNumber), + r = Math.min(n, d.endLineNumber); + for (let n = t; n <= r; n++) o[n - i].push(e); + } + if ( + l.beforeContentClassName && + i <= d.startLineNumber && + d.startLineNumber <= n + ) { + let e = new pt.$t( + new X.e( + d.startLineNumber, + d.startColumn, + d.startLineNumber, + d.startColumn + ), + l.beforeContentClassName, + 1 + ); + o[d.startLineNumber - i].push(e); + } + if ( + l.afterContentClassName && + i <= d.endLineNumber && + d.endLineNumber <= n + ) { + let e = new pt.$t( + new X.e( + d.endLineNumber, + d.endColumn, + d.endLineNumber, + d.endColumn + ), + l.afterContentClassName, + 2 + ); + o[d.endLineNumber - i].push(e); + } + } + return { decorations: r, inlineDecorations: o }; + } + } + class hn extends a.JT { + constructor(e, t, i, n, r, s) { + if ( + (super(), + (this._editorId = e), + (this._configuration = t), + (this.model = i), + (this._eventDispatcher = new ki()), + (this.onEvent = this._eventDispatcher.onEvent), + (this.cursorConfig = new ee.LM( + this.model.getLanguageIdentifier(), + this.model.getOptions(), + this._configuration + )), + (this._tokenizeViewportSoon = this._register( + new _.pY(() => this.tokenizeViewport(), 50) + )), + (this._updateConfigurationViewLineCount = this._register( + new _.pY(() => this._updateConfigurationViewLineCountNow(), 0) + )), + (this._hasFocus = !1), + (this._viewportStartLine = -1), + (this._viewportStartLineTrackedRange = null), + (this._viewportStartLineDelta = 0), + this.model.isTooLargeForTokenization()) + ) + this._lines = new ln(this.model); + else { + const e = this._configuration.options, + t = e.get(36), + i = e.get(112), + s = e.get(118), + o = e.get(111); + this._lines = new Qi( + this.model, + n, + r, + t, + this.model.getOptions().tabSize, + i, + s.wrappingColumn, + o + ); + } + (this.coordinatesConverter = this._lines.createCoordinatesConverter()), + (this._cursor = this._register( + new Ai(i, this, this.coordinatesConverter, this.cursorConfig) + )), + (this.viewLayout = this._register( + new Ui(this._configuration, this.getLineCount(), s) + )), + this._register( + this.viewLayout.onDidScroll((e) => { + e.scrollTopChanged && this._tokenizeViewportSoon.schedule(), + this._eventDispatcher.emitSingleViewEvent(new vi(e)), + this._eventDispatcher.emitOutgoingEvent( + new Di( + e.oldScrollWidth, + e.oldScrollLeft, + e.oldScrollHeight, + e.oldScrollTop, + e.scrollWidth, + e.scrollLeft, + e.scrollHeight, + e.scrollTop + ) + ); + }) + ), + this._register( + this.viewLayout.onDidContentSizeChange((e) => { + this._eventDispatcher.emitOutgoingEvent(e); + }) + ), + (this._decorations = new dn( + this._editorId, + this.model, + this._configuration, + this._lines, + this.coordinatesConverter + )), + this._registerModelEvents(), + this._register( + this._configuration.onDidChangeFast((e) => { + try { + const t = this._eventDispatcher.beginEmitViewEvents(); + this._onConfigurationChanged(t, e); + } finally { + this._eventDispatcher.endEmitViewEvents(); + } + }) + ), + this._register( + ft.getInstance().onDidChange(() => { + this._eventDispatcher.emitSingleViewEvent(new Ci()); + }) + ), + this._updateConfigurationViewLineCountNow(); + } + dispose() { + super.dispose(), + this._decorations.dispose(), + this._lines.dispose(), + this.invalidateMinimapColorCache(), + (this._viewportStartLineTrackedRange = this.model._setTrackedRange( + this._viewportStartLineTrackedRange, + null, + 1 + )), + this._eventDispatcher.dispose(); + } + addViewEventHandler(e) { + this._eventDispatcher.addViewEventHandler(e); + } + removeViewEventHandler(e) { + this._eventDispatcher.removeViewEventHandler(e); + } + _updateConfigurationViewLineCountNow() { + this._configuration.setViewLineCount( + this._lines.getViewLineCount() + ); + } + tokenizeViewport() { + const e = this.viewLayout.getLinesViewportData(), + t = this.coordinatesConverter.convertViewPositionToModelPosition( + new Q.L(e.startLineNumber, 1) + ), + i = this.coordinatesConverter.convertViewPositionToModelPosition( + new Q.L(e.endLineNumber, 1) + ); + this.model.tokenizeViewport(t.lineNumber, i.lineNumber); + } + setHasFocus(e) { + (this._hasFocus = e), + this._cursor.setHasFocus(e), + this._eventDispatcher.emitSingleViewEvent(new ui(e)), + this._eventDispatcher.emitOutgoingEvent(new Mi(!e, e)); + } + onDidColorThemeChange() { + this._eventDispatcher.emitSingleViewEvent(new yi()); + } + _onConfigurationChanged(e, t) { + let i = null; + if (-1 !== this._viewportStartLine) { + let e = new Q.L( + this._viewportStartLine, + this.getLineMinColumn(this._viewportStartLine) + ); + i = this.coordinatesConverter.convertViewPositionToModelPosition( + e + ); + } + let n = !1; + const r = this._configuration.options, + s = r.get(36), + o = r.get(112), + a = r.get(118), + l = r.get(111); + if ( + (this._lines.setWrappingSettings(s, o, a.wrappingColumn, l) && + (e.emitViewEvent(new hi()), + e.emitViewEvent(new fi()), + e.emitViewEvent(new di(null)), + this._cursor.onLineMappingChanged(e), + this._decorations.onLineMappingChanged(), + this.viewLayout.onFlushed(this.getLineCount()), + 0 !== this.viewLayout.getCurrentScrollTop() && (n = !0), + this._updateConfigurationViewLineCount.schedule()), + t.hasChanged(72) && + (this._decorations.reset(), e.emitViewEvent(new di(null))), + e.emitViewEvent(new li(t)), + this.viewLayout.onConfigurationChanged(t), + n && i) + ) { + const e = this.coordinatesConverter.convertModelPositionToViewPosition( + i + ), + t = this.viewLayout.getVerticalOffsetForLineNumber( + e.lineNumber + ); + this.viewLayout.setScrollPosition( + { scrollTop: t + this._viewportStartLineDelta }, + 1 + ); + } + ee.LM.shouldRecreate(t) && + ((this.cursorConfig = new ee.LM( + this.model.getLanguageIdentifier(), + this.model.getOptions(), + this._configuration + )), + this._cursor.updateConfiguration(this.cursorConfig)); + } + _registerModelEvents() { + this._register( + this.model.onDidChangeRawContentFast((e) => { + try { + const t = this._eventDispatcher.beginEmitViewEvents(); + let i = !1, + n = !1; + const r = e.changes, + s = e.versionId, + o = this._lines.createLineBreaksComputer(); + for (const e of r) + switch (e.changeType) { + case 4: + for (const t of e.detail) o.addRequest(t, null); + break; + case 2: + o.addRequest(e.detail, null); + } + const a = o.finalize(); + let l = 0; + for (const e of r) + switch (e.changeType) { + case 1: + this._lines.onModelFlushed(), + t.emitViewEvent(new hi()), + this._decorations.reset(), + this.viewLayout.onFlushed(this.getLineCount()), + (i = !0); + break; + case 3: { + const n = this._lines.onModelLinesDeleted( + s, + e.fromLineNumber, + e.toLineNumber + ); + null !== n && + (t.emitViewEvent(n), + this.viewLayout.onLinesDeleted( + n.fromLineNumber, + n.toLineNumber + )), + (i = !0); + break; + } + case 4: { + const n = a.slice(l, l + e.detail.length); + l += e.detail.length; + const r = this._lines.onModelLinesInserted( + s, + e.fromLineNumber, + e.toLineNumber, + n + ); + null !== r && + (t.emitViewEvent(r), + this.viewLayout.onLinesInserted( + r.fromLineNumber, + r.toLineNumber + )), + (i = !0); + break; + } + case 2: { + const i = a[l]; + l++; + const [r, o, c, d] = this._lines.onModelLineChanged( + s, + e.lineNumber, + i + ); + (n = r), + o && t.emitViewEvent(o), + c && + (t.emitViewEvent(c), + this.viewLayout.onLinesInserted( + c.fromLineNumber, + c.toLineNumber + )), + d && + (t.emitViewEvent(d), + this.viewLayout.onLinesDeleted( + d.fromLineNumber, + d.toLineNumber + )); + break; + } + } + this._lines.acceptVersionId(s), + this.viewLayout.onHeightMaybeChanged(), + !i && + n && + (t.emitViewEvent(new fi()), + t.emitViewEvent(new di(null)), + this._cursor.onLineMappingChanged(t), + this._decorations.onLineMappingChanged()); + } finally { + this._eventDispatcher.endEmitViewEvents(); + } + if ( + ((this._viewportStartLine = -1), + this._configuration.setMaxLineNumber( + this.model.getLineCount() + ), + this._updateConfigurationViewLineCountNow(), + !this._hasFocus && + this.model.getAttachedEditorCount() >= 2 && + this._viewportStartLineTrackedRange) + ) { + const e = this.model._getTrackedRange( + this._viewportStartLineTrackedRange + ); + if (e) { + const t = this.coordinatesConverter.convertModelPositionToViewPosition( + e.getStartPosition() + ), + i = this.viewLayout.getVerticalOffsetForLineNumber( + t.lineNumber + ); + this.viewLayout.setScrollPosition( + { scrollTop: i + this._viewportStartLineDelta }, + 1 + ); + } + } + try { + const t = this._eventDispatcher.beginEmitViewEvents(); + this._cursor.onModelContentChanged(t, e); + } finally { + this._eventDispatcher.endEmitViewEvents(); + } + }) + ), + this._register( + this.model.onDidChangeTokens((e) => { + let t = []; + for (let i = 0, n = e.ranges.length; i < n; i++) { + const n = e.ranges[i], + r = this.coordinatesConverter.convertModelPositionToViewPosition( + new Q.L(n.fromLineNumber, 1) + ).lineNumber, + s = this.coordinatesConverter.convertModelPositionToViewPosition( + new Q.L( + n.toLineNumber, + this.model.getLineMaxColumn(n.toLineNumber) + ) + ).lineNumber; + t[i] = { fromLineNumber: r, toLineNumber: s }; + } + this._eventDispatcher.emitSingleViewEvent(new wi(t)), + e.tokenizationSupportChanged && + this._tokenizeViewportSoon.schedule(); + }) + ), + this._register( + this.model.onDidChangeLanguageConfiguration((e) => { + this._eventDispatcher.emitSingleViewEvent(new gi()), + (this.cursorConfig = new ee.LM( + this.model.getLanguageIdentifier(), + this.model.getOptions(), + this._configuration + )), + this._cursor.updateConfiguration(this.cursorConfig); + }) + ), + this._register( + this.model.onDidChangeLanguage((e) => { + (this.cursorConfig = new ee.LM( + this.model.getLanguageIdentifier(), + this.model.getOptions(), + this._configuration + )), + this._cursor.updateConfiguration(this.cursorConfig); + }) + ), + this._register( + this.model.onDidChangeOptions((e) => { + if (this._lines.setTabSize(this.model.getOptions().tabSize)) { + try { + const e = this._eventDispatcher.beginEmitViewEvents(); + e.emitViewEvent(new hi()), + e.emitViewEvent(new fi()), + e.emitViewEvent(new di(null)), + this._cursor.onLineMappingChanged(e), + this._decorations.onLineMappingChanged(), + this.viewLayout.onFlushed(this.getLineCount()); + } finally { + this._eventDispatcher.endEmitViewEvents(); + } + this._updateConfigurationViewLineCount.schedule(); + } + (this.cursorConfig = new ee.LM( + this.model.getLanguageIdentifier(), + this.model.getOptions(), + this._configuration + )), + this._cursor.updateConfiguration(this.cursorConfig); + }) + ), + this._register( + this.model.onDidChangeDecorations((e) => { + this._decorations.onModelDecorationsChanged(), + this._eventDispatcher.emitSingleViewEvent(new di(e)); + }) + ); + } + setHiddenAreas(e) { + try { + const t = this._eventDispatcher.beginEmitViewEvents(); + this._lines.setHiddenAreas(e) && + (t.emitViewEvent(new hi()), + t.emitViewEvent(new fi()), + t.emitViewEvent(new di(null)), + this._cursor.onLineMappingChanged(t), + this._decorations.onLineMappingChanged(), + this.viewLayout.onFlushed(this.getLineCount()), + this.viewLayout.onHeightMaybeChanged()); + } finally { + this._eventDispatcher.endEmitViewEvents(); + } + this._updateConfigurationViewLineCount.schedule(); + } + getVisibleRangesPlusViewportAboveBelow() { + const e = this._configuration.options.get(117), + t = this._configuration.options.get(51), + i = Math.max(20, Math.round(e.height / t)), + n = this.viewLayout.getLinesViewportData(), + r = Math.max(1, n.completelyVisibleStartLineNumber - i), + s = Math.min( + this.getLineCount(), + n.completelyVisibleEndLineNumber + i + ); + return this._toModelVisibleRanges( + new X.e(r, this.getLineMinColumn(r), s, this.getLineMaxColumn(s)) + ); + } + getVisibleRanges() { + const e = this.getCompletelyVisibleViewRange(); + return this._toModelVisibleRanges(e); + } + _toModelVisibleRanges(e) { + const t = this.coordinatesConverter.convertViewRangeToModelRange(e), + i = this._lines.getHiddenAreas(); + if (0 === i.length) return [t]; + let n = [], + r = 0, + s = t.startLineNumber, + o = t.startColumn, + a = t.endLineNumber, + l = t.endColumn; + for (let e = 0, t = i.length; e < t; e++) { + const t = i[e].startLineNumber, + l = i[e].endLineNumber; + l < s || + t > a || + (s < t && + (n[r++] = new X.e( + s, + o, + t - 1, + this.model.getLineMaxColumn(t - 1) + )), + (s = l + 1), + (o = 1)); + } + return ( + (s < a || (s === a && o < l)) && (n[r++] = new X.e(s, o, a, l)), n + ); + } + getCompletelyVisibleViewRange() { + const e = this.viewLayout.getLinesViewportData(), + t = e.completelyVisibleStartLineNumber, + i = e.completelyVisibleEndLineNumber; + return new X.e( + t, + this.getLineMinColumn(t), + i, + this.getLineMaxColumn(i) + ); + } + getCompletelyVisibleViewRangeAtScrollTop(e) { + const t = this.viewLayout.getLinesViewportDataAtScrollTop(e), + i = t.completelyVisibleStartLineNumber, + n = t.completelyVisibleEndLineNumber; + return new X.e( + i, + this.getLineMinColumn(i), + n, + this.getLineMaxColumn(n) + ); + } + saveState() { + const e = this.viewLayout.saveState(), + t = e.scrollTop, + i = this.viewLayout.getLineNumberAtVerticalOffset(t), + n = this.coordinatesConverter.convertViewPositionToModelPosition( + new Q.L(i, this.getLineMinColumn(i)) + ), + r = this.viewLayout.getVerticalOffsetForLineNumber(i) - t; + return { + scrollLeft: e.scrollLeft, + firstPosition: n, + firstPositionDeltaTop: r, + }; + } + reduceRestoreState(e) { + if (void 0 === e.firstPosition) + return this._reduceRestoreStateCompatibility(e); + const t = this.model.validatePosition(e.firstPosition), + i = this.coordinatesConverter.convertModelPositionToViewPosition( + t + ), + n = + this.viewLayout.getVerticalOffsetForLineNumber(i.lineNumber) - + e.firstPositionDeltaTop; + return { scrollLeft: e.scrollLeft, scrollTop: n }; + } + _reduceRestoreStateCompatibility(e) { + return { + scrollLeft: e.scrollLeft, + scrollTop: e.scrollTopWithoutViewZones, + }; + } + getTabSize() { + return this.model.getOptions().tabSize; + } + getTextModelOptions() { + return this.model.getOptions(); + } + getLineCount() { + return this._lines.getViewLineCount(); + } + setViewport(e, t, i) { + this._viewportStartLine = e; + let n = this.coordinatesConverter.convertViewPositionToModelPosition( + new Q.L(e, this.getLineMinColumn(e)) + ); + this._viewportStartLineTrackedRange = this.model._setTrackedRange( + this._viewportStartLineTrackedRange, + new X.e(n.lineNumber, n.column, n.lineNumber, n.column), + 1 + ); + const r = this.viewLayout.getVerticalOffsetForLineNumber(e), + s = this.viewLayout.getCurrentScrollTop(); + this._viewportStartLineDelta = s - r; + } + getActiveIndentGuide(e, t, i) { + return this._lines.getActiveIndentGuide(e, t, i); + } + getLinesIndentGuides(e, t) { + return this._lines.getViewLinesIndentGuides(e, t); + } + getLineContent(e) { + return this._lines.getViewLineContent(e); + } + getLineLength(e) { + return this._lines.getViewLineLength(e); + } + getLineMinColumn(e) { + return this._lines.getViewLineMinColumn(e); + } + getLineMaxColumn(e) { + return this._lines.getViewLineMaxColumn(e); + } + getLineFirstNonWhitespaceColumn(e) { + const t = we.LC(this.getLineContent(e)); + return -1 === t ? 0 : t + 1; + } + getLineLastNonWhitespaceColumn(e) { + const t = we.ow(this.getLineContent(e)); + return -1 === t ? 0 : t + 2; + } + getDecorationsInViewport(e) { + return this._decorations.getDecorationsViewportData(e).decorations; + } + getViewLineRenderingData(e, t) { + let i = this.model.mightContainRTL(), + n = this.model.mightContainNonBasicASCII(), + r = this.getTabSize(), + s = this._lines.getViewLineData(t), + o = this._decorations.getDecorationsViewportData(e) + .inlineDecorations[t - e.startLineNumber]; + return new pt.wA( + s.minColumn, + s.maxColumn, + s.content, + s.continuesWithWrappedLine, + i, + n, + s.tokens, + o, + r, + s.startVisibleColumn + ); + } + getViewLineData(e) { + return this._lines.getViewLineData(e); + } + getMinimapLinesRenderingData(e, t, i) { + let n = this._lines.getViewLinesData(e, t, i); + return new pt.ud(this.getTabSize(), n); + } + getAllOverviewRulerDecorations(e) { + return this._lines.getAllOverviewRulerDecorations( + this._editorId, + (0, H.$J)(this._configuration.options), + e + ); + } + invalidateOverviewRulerColorCache() { + const e = this.model.getOverviewRulerDecorations(); + for (const t of e) { + const e = t.options.overviewRuler; + e && e.invalidateCachedColor(); + } + } + invalidateMinimapColorCache() { + const e = this.model.getAllDecorations(); + for (const t of e) { + const e = t.options.minimap; + e && e.invalidateCachedColor(); + } + } + getValueInRange(e, t) { + const i = this.coordinatesConverter.convertViewRangeToModelRange(e); + return this.model.getValueInRange(i, t); + } + getModelLineMaxColumn(e) { + return this.model.getLineMaxColumn(e); + } + validateModelPosition(e) { + return this.model.validatePosition(e); + } + validateModelRange(e) { + return this.model.validateRange(e); + } + deduceModelPositionRelativeToViewPosition(e, t, i) { + const n = this.coordinatesConverter.convertViewPositionToModelPosition( + e + ); + 2 === this.model.getEOL().length && (t < 0 ? (t -= i) : (t += i)); + const r = this.model.getOffsetAt(n) + t; + return this.model.getPositionAt(r); + } + getEOL() { + return this.model.getEOL(); + } + getPlainTextToCopy(e, t, i) { + const n = i ? '\r\n' : this.model.getEOL(); + (e = e.slice(0)).sort(X.e.compareRangesUsingStarts); + let r = !1, + s = !1; + for (const t of e) t.isEmpty() ? (r = !0) : (s = !0); + if (!s) { + if (!t) return ''; + const i = e.map((e) => e.startLineNumber); + let r = ''; + for (let e = 0; e < i.length; e++) + (e > 0 && i[e - 1] === i[e]) || + (r += this.model.getLineContent(i[e]) + n); + return r; + } + if (r && t) { + let t = [], + n = 0; + for (const r of e) { + const e = r.startLineNumber; + r.isEmpty() + ? e !== n && t.push(this.model.getLineContent(e)) + : t.push(this.model.getValueInRange(r, i ? 2 : 0)), + (n = e); + } + return 1 === t.length ? t[0] : t; + } + let o = []; + for (const t of e) + t.isEmpty() || o.push(this.model.getValueInRange(t, i ? 2 : 0)); + return 1 === o.length ? o[0] : o; + } + getRichTextToCopy(e, t) { + const i = this.model.getLanguageIdentifier(); + if (1 === i.id) return null; + if (1 !== e.length) return null; + let n = e[0]; + if (n.isEmpty()) { + if (!t) return null; + const e = n.startLineNumber; + n = new X.e( + e, + this.model.getLineMinColumn(e), + e, + this.model.getLineMaxColumn(e) + ); + } + const r = this._configuration.options.get(36), + s = this._getColorMap(), + o = + r.fontFamily === H.hL.fontFamily + ? r.fontFamily + : `'${r.fontFamily}', ${H.hL.fontFamily}`; + return { + mode: i.language, + html: + `<div style="color: ${s[1]};background-color: ${s[2]};font-family: ${o};font-weight: ${r.fontWeight};font-size: ${r.fontSize}px;line-height: ${r.lineHeight}px;white-space: pre;">` + + this._getHTMLToCopy(n, s) + + '</div>', + }; + } + _getHTMLToCopy(e, t) { + const i = e.startLineNumber, + n = e.startColumn, + r = e.endLineNumber, + s = e.endColumn, + o = this.getTabSize(); + let a = ''; + for (let e = i; e <= r; e++) { + const l = this.model.getLineTokens(e), + c = l.getLineContent(), + d = e === i ? n - 1 : 0, + h = e === r ? s - 1 : c.length; + a += + '' === c ? '<br>' : (0, Bi.F)(c, l.inflate(), t, d, h, o, f.ED); + } + return a; + } + _getColorMap() { + let e = gt.RW.getColorMap(), + t = ['#000000']; + if (e) + for (let i = 1, n = e.length; i < n; i++) + t[i] = Rt.Il.Format.CSS.formatHex(e[i]); + return t; + } + pushStackElement() { + this.model.pushStackElement(); + } + getPrimaryCursorState() { + return this._cursor.getPrimaryCursorState(); + } + getLastAddedCursorIndex() { + return this._cursor.getLastAddedCursorIndex(); + } + getCursorStates() { + return this._cursor.getCursorStates(); + } + setCursorStates(e, t, i) { + this._withViewEventsCollector((n) => + this._cursor.setStates(n, e, t, i) + ); + } + getCursorColumnSelectData() { + return this._cursor.getCursorColumnSelectData(); + } + setCursorColumnSelectData(e) { + this._cursor.setCursorColumnSelectData(e); + } + getPrevEditOperationType() { + return this._cursor.getPrevEditOperationType(); + } + setPrevEditOperationType(e) { + this._cursor.setPrevEditOperationType(e); + } + getSelection() { + return this._cursor.getSelection(); + } + getSelections() { + return this._cursor.getSelections(); + } + getPosition() { + return this._cursor.getPrimaryCursorState().modelState.position; + } + setSelections(e, t) { + this._withViewEventsCollector((i) => + this._cursor.setSelections(i, e, t) + ); + } + saveCursorState() { + return this._cursor.saveState(); + } + restoreCursorState(e) { + this._withViewEventsCollector((t) => + this._cursor.restoreState(t, e) + ); + } + _executeCursorEdit(e) { + this._cursor.context.cursorConfig.readOnly + ? this._eventDispatcher.emitOutgoingEvent(new Ti()) + : this._withViewEventsCollector(e); + } + executeEdits(e, t, i) { + this._executeCursorEdit((n) => + this._cursor.executeEdits(n, e, t, i) + ); + } + startComposition() { + this._cursor.setIsDoingComposition(!0), + this._executeCursorEdit((e) => this._cursor.startComposition(e)); + } + endComposition(e) { + this._cursor.setIsDoingComposition(!1), + this._executeCursorEdit((t) => this._cursor.endComposition(t, e)); + } + type(e, t) { + this._executeCursorEdit((i) => this._cursor.type(i, e, t)); + } + replacePreviousChar(e, t, i) { + this._executeCursorEdit((n) => + this._cursor.replacePreviousChar(n, e, t, i) + ); + } + paste(e, t, i, n) { + this._executeCursorEdit((r) => this._cursor.paste(r, e, t, i, n)); + } + cut(e) { + this._executeCursorEdit((t) => this._cursor.cut(t, e)); + } + executeCommand(e, t) { + this._executeCursorEdit((i) => + this._cursor.executeCommand(i, e, t) + ); + } + executeCommands(e, t) { + this._executeCursorEdit((i) => + this._cursor.executeCommands(i, e, t) + ); + } + revealPrimaryCursor(e, t) { + this._withViewEventsCollector((i) => + this._cursor.revealPrimary(i, e, t, 0) + ); + } + revealTopMostCursor(e) { + const t = this._cursor.getTopMostViewPosition(), + i = new X.e(t.lineNumber, t.column, t.lineNumber, t.column); + this._withViewEventsCollector((t) => + t.emitViewEvent(new bi(e, i, null, 0, !0, 0)) + ); + } + revealBottomMostCursor(e) { + const t = this._cursor.getBottomMostViewPosition(), + i = new X.e(t.lineNumber, t.column, t.lineNumber, t.column); + this._withViewEventsCollector((t) => + t.emitViewEvent(new bi(e, i, null, 0, !0, 0)) + ); + } + revealRange(e, t, i, n, r) { + this._withViewEventsCollector((s) => + s.emitViewEvent(new bi(e, i, null, n, t, r)) + ); + } + getVerticalOffsetForLineNumber(e) { + return this.viewLayout.getVerticalOffsetForLineNumber(e); + } + getScrollTop() { + return this.viewLayout.getCurrentScrollTop(); + } + setScrollTop(e, t) { + this.viewLayout.setScrollPosition({ scrollTop: e }, t); + } + setScrollPosition(e, t) { + this.viewLayout.setScrollPosition(e, t); + } + deltaScrollNow(e, t) { + this.viewLayout.deltaScrollNow(e, t); + } + changeWhitespace(e) { + this.viewLayout.changeWhitespace(e) && + (this._eventDispatcher.emitSingleViewEvent(new Si()), + this._eventDispatcher.emitOutgoingEvent(new Ni())); + } + setMaxLineWidth(e) { + this.viewLayout.setMaxLineWidth(e); + } + _withViewEventsCollector(e) { + try { + e(this._eventDispatcher.beginEmitViewEvents()); + } finally { + this._eventDispatcher.endEmitViewEvents(); + } + } + } + var un = i(94565), + gn = i(38819), + fn = i(72065), + pn = i(60972), + mn = i(59422), + _n = i(31106), + bn = i(98401), + vn = i(44906); + class yn extends vn.N { + constructor(e, t) { + super(0); + for (let t = 0; t < e.length; t++) this.set(e.charCodeAt(t), 1); + for (let e = 0; e < t.length; e++) this.set(t.charCodeAt(e), 2); + } + get(e) { + return e >= 0 && e < 256 + ? this._asciiMap[e] + : (e >= 12352 && e <= 12543) || + (e >= 13312 && e <= 19903) || + (e >= 19968 && e <= 40959) + ? 3 + : this._map.get(e) || this._defaultValue; + } + } + let wn = [], + Cn = []; + class Sn { + constructor(e, t) { + this.classifier = new yn(e, t); + } + static create(e) { + return new Sn(e.get(108), e.get(107)); + } + createLineBreaksComputer(e, t, i, n) { + (t |= 0), (i = +i); + let r = [], + s = []; + return { + addRequest: (e, t) => { + r.push(e), s.push(t); + }, + finalize: () => { + const o = + e.typicalFullwidthCharacterWidth / + e.typicalHalfwidthCharacterWidth; + let a = []; + for (let e = 0, l = r.length; e < l; e++) { + const l = s[e]; + a[e] = l + ? kn(this.classifier, l, r[e], t, i, o, n) + : xn(this.classifier, r[e], t, i, o, n); + } + return (wn.length = 0), (Cn.length = 0), a; + }, + }; + } + } + function kn(e, t, i, n, r, s, o) { + if (-1 === r) return null; + const a = i.length; + if (a <= 1) return null; + const l = t.breakOffsets, + c = t.breakOffsetsVisibleColumn, + d = Nn(i, n, r, s, o), + h = r - d; + let u = wn, + g = Cn, + f = 0, + p = 0, + m = 0, + _ = r; + const b = l.length; + let v = 0; + if (v >= 0) { + let e = Math.abs(c[v] - _); + for (; v + 1 < b; ) { + const t = Math.abs(c[v + 1] - _); + if (t >= e) break; + (e = t), v++; + } + } + for (; v < b; ) { + let t = v < 0 ? 0 : l[v], + r = v < 0 ? 0 : c[v]; + p > t && ((t = p), (r = m)); + let o = 0, + d = 0, + y = 0, + w = 0; + if (r <= _) { + let m = r, + b = 0 === t ? 0 : i.charCodeAt(t - 1), + v = 0 === t ? 0 : e.get(b), + C = !0; + for (let r = t; r < a; r++) { + const t = r, + a = i.charCodeAt(r); + let l, c; + if ( + (we.ZG(a) + ? (r++, (l = 0), (c = 2)) + : ((l = e.get(a)), (c = Ln(a, m, n, s))), + t > p && Dn(0, v, a, l) && ((o = t), (d = m)), + (m += c), + m > _) + ) { + t > p ? ((y = t), (w = m - c)) : ((y = r + 1), (w = m)), + m - d > h && (o = 0), + (C = !1); + break; + } + (b = a), (v = l); + } + if (C) { + f > 0 && + ((u[f] = l[l.length - 1]), (g[f] = c[l.length - 1]), f++); + break; + } + } + if (0 === o) { + let a = r, + l = i.charCodeAt(t), + c = e.get(l), + u = !1; + for (let n = t - 1; n >= p; n--) { + const t = n + 1, + r = i.charCodeAt(n); + if (9 === r) { + u = !0; + break; + } + let g, f; + if ( + (we.YK(r) + ? (n--, (g = 0), (f = 2)) + : ((g = e.get(r)), (f = we.K7(r) ? s : 1)), + a <= _) + ) { + if ((0 === y && ((y = t), (w = a)), a <= _ - h)) break; + if (Dn(0, g, l, c)) { + (o = t), (d = a); + break; + } + } + (a -= f), (l = r), (c = g); + } + if (0 !== o) { + const e = h - (w - d); + if (e <= n) { + const t = i.charCodeAt(y); + let r; + (r = we.ZG(t) ? 2 : Ln(t, w, n, s)), e - r < 0 && (o = 0); + } + } + if (u) { + v--; + continue; + } + } + for ( + 0 === o && ((o = y), (d = w)), + p = o, + u[f] = o, + m = d, + g[f] = d, + f++, + _ = d + h; + v < 0 || (v < b && c[v] < d); + + ) + v++; + let C = Math.abs(c[v] - _); + for (; v + 1 < b; ) { + const e = Math.abs(c[v + 1] - _); + if (e >= C) break; + (C = e), v++; + } + } + return 0 === f + ? null + : ((u.length = f), + (g.length = f), + (wn = t.breakOffsets), + (Cn = t.breakOffsetsVisibleColumn), + (t.breakOffsets = u), + (t.breakOffsetsVisibleColumn = g), + (t.wrappedTextIndentLength = d), + t); + } + function xn(e, t, i, n, r, s) { + if (-1 === n) return null; + const o = t.length; + if (o <= 1) return null; + const a = Nn(t, i, n, r, s), + l = n - a; + let c = [], + d = [], + h = 0, + u = 0, + g = 0, + f = n, + p = t.charCodeAt(0), + m = e.get(p), + _ = Ln(p, 0, i, r), + b = 1; + we.ZG(p) && ((_ += 1), (p = t.charCodeAt(1)), (m = e.get(p)), b++); + for (let n = b; n < o; n++) { + const s = n, + o = t.charCodeAt(n); + let a, b; + we.ZG(o) + ? (n++, (a = 0), (b = 2)) + : ((a = e.get(o)), (b = Ln(o, _, i, r))), + Dn(0, m, o, a) && ((u = s), (g = _)), + (_ += b), + _ > f && + ((0 === u || _ - g > l) && ((u = s), (g = _ - b)), + (c[h] = u), + (d[h] = g), + h++, + (f = g + l), + (u = 0)), + (p = o), + (m = a); + } + return 0 === h ? null : ((c[h] = o), (d[h] = _), new Gi(c, d, a)); + } + function Ln(e, t, i, n) { + return 9 === e ? i - (t % i) : we.K7(e) ? n : 1; + } + function Mn(e, t) { + return t - (e % t); + } + function Dn(e, t, i, n) { + return ( + 32 !== i && + (2 === t || (3 === t && 2 !== n) || 1 === n || (3 === n && 1 !== t)) + ); + } + function Nn(e, t, i, n, r) { + let s = 0; + if (0 !== r) { + const o = we.LC(e); + if (-1 !== o) { + for (let i = 0; i < o; i++) + s += 9 === e.charCodeAt(i) ? Mn(s, t) : 1; + const a = 3 === r ? 2 : 2 === r ? 1 : 0; + for (let e = 0; e < a; e++) s += Mn(s, t); + s + n > i && (s = 0); + } + } + return s; + } + class En { + static create() { + return new En(); + } + constructor() {} + createLineBreaksComputer(e, t, i, n) { + (t |= 0), (i = +i); + let r = []; + return { + addRequest: (e, t) => { + r.push(e); + }, + finalize: () => + (function (e, t, i, n, r) { + if (-1 === n) { + const t = []; + for (let i = 0, n = e.length; i < n; i++) t[i] = null; + return t; + } + const s = Math.round(n * t.typicalHalfwidthCharacterWidth); + (2 !== r && 3 !== r) || (r = 1); + const o = document.createElement('div'); + c.V.applyFontInfoSlow(o, t); + const a = (0, Fe.l$)(1e4), + l = [], + d = [], + h = [], + u = [], + g = []; + for (let n = 0; n < e.length; n++) { + const o = e[n]; + let c = 0, + f = 0, + p = s; + if (0 !== r) + if (((c = we.LC(o)), -1 === c)) c = 0; + else { + for (let e = 0; e < c; e++) + f += 9 === o.charCodeAt(e) ? i - (f % i) : 1; + const e = Math.ceil(t.spaceWidth * f); + e + t.typicalFullwidthCharacterWidth > s + ? ((c = 0), (f = 0)) + : (p = s - e); + } + const m = o.substr(c), + _ = Tn(m, f, i, p, a); + (l[n] = c), + (d[n] = f), + (h[n] = m), + (u[n] = _[0]), + (g[n] = _[1]); + } + (o.innerHTML = a.build()), + (o.style.position = 'absolute'), + (o.style.top = '10000'), + (o.style.wordWrap = 'break-word'), + document.body.appendChild(o); + let f = document.createRange(); + const p = Array.prototype.slice.call(o.children, 0); + let m = []; + for (let t = 0; t < e.length; t++) { + const e = In(f, p[t], h[t], u[t]); + if (null === e) { + m[t] = null; + continue; + } + const i = l[t], + n = d[t], + r = g[t], + s = []; + for (let t = 0, i = e.length; t < i; t++) s[t] = r[e[t]]; + if (0 !== i) + for (let t = 0, n = e.length; t < n; t++) e[t] += i; + m[t] = new Gi(e, s, n); + } + return document.body.removeChild(o), m; + })(r, e, t, i, n), + }; + } + } + function Tn(e, t, i, n, r) { + r.appendASCIIString('<div style="width:'), + r.appendASCIIString(String(n)), + r.appendASCIIString('px;">'); + const s = e.length; + let o = t, + a = 0, + l = [], + c = [], + d = 0 < s ? e.charCodeAt(0) : 0; + r.appendASCIIString('<span>'); + for (let t = 0; t < s; t++) { + 0 !== t && t % 16384 == 0 && r.appendASCIIString('</span><span>'), + (l[t] = a), + (c[t] = o); + const n = d; + d = t + 1 < s ? e.charCodeAt(t + 1) : 0; + let h = 1, + u = 1; + switch (n) { + case 9: + (h = i - (o % i)), (u = h); + for (let e = 1; e <= h; e++) + e < h ? r.write1(160) : r.appendASCII(32); + break; + case 32: + 32 === d ? r.write1(160) : r.appendASCII(32); + break; + case 60: + r.appendASCIIString('<'); + break; + case 62: + r.appendASCIIString('>'); + break; + case 38: + r.appendASCIIString('&'); + break; + case 0: + r.appendASCIIString('�'); + break; + case 65279: + case 8232: + case 8233: + case 133: + r.write1(65533); + break; + default: + we.K7(n) && u++, r.write1(n); + } + (a += h), (o += u); + } + return ( + r.appendASCIIString('</span>'), + (l[e.length] = a), + (c[e.length] = o), + r.appendASCIIString('</div>'), + [l, c] + ); + } + function In(e, t, i, n) { + if (i.length <= 1) return null; + const r = Array.prototype.slice.call(t.children, 0), + s = []; + try { + On(e, r, n, 0, null, i.length - 1, null, s); + } catch (e) { + return console.log(e), null; + } + return 0 === s.length ? null : (s.push(i.length), s); + } + function On(e, t, i, n, r, s, o, a) { + if (n === s) return; + if ( + ((r = r || An(e, t, i[n], i[n + 1])), + (o = o || An(e, t, i[s], i[s + 1])), + Math.abs(r[0].top - o[0].top) <= 0.1) + ) + return; + if (n + 1 === s) return void a.push(s); + const l = (n + (s - n) / 2) | 0, + c = An(e, t, i[l], i[l + 1]); + On(e, t, i, n, r, l, c, a), On(e, t, i, l, c, s, o, a); + } + function An(e, t, i, n) { + return ( + e.setStart(t[(i / 16384) | 0].firstChild, i % 16384), + e.setEnd(t[(n / 16384) | 0].firstChild, n % 16384), + e.getClientRects() + ); + } + var Rn = i(5795), + Pn = function (e, t) { + return function (i, n) { + t(i, n, e); + }; + }; + let Fn = 0; + class Bn { + constructor(e, t, i, n, r) { + (this.model = e), + (this.viewModel = t), + (this.view = i), + (this.hasRealView = n), + (this.listenersToRemove = r); + } + dispose() { + (0, a.B9)(this.listenersToRemove), + this.model.onBeforeDetached(), + this.hasRealView && this.view.dispose(), + this.viewModel.dispose(); + } + } + let Wn = class e extends a.JT { + constructor(e, t, i, n, r, a, l, c, h, u) { + let g; + super(), + (this._onDidDispose = this._register(new o.Q5())), + (this.onDidDispose = this._onDidDispose.event), + (this._onDidChangeModelContent = this._register(new o.Q5())), + (this.onDidChangeModelContent = this._onDidChangeModelContent.event), + (this._onDidChangeModelLanguage = this._register(new o.Q5())), + (this.onDidChangeModelLanguage = this._onDidChangeModelLanguage.event), + (this._onDidChangeModelLanguageConfiguration = this._register( + new o.Q5() + )), + (this.onDidChangeModelLanguageConfiguration = this._onDidChangeModelLanguageConfiguration.event), + (this._onDidChangeModelOptions = this._register(new o.Q5())), + (this.onDidChangeModelOptions = this._onDidChangeModelOptions.event), + (this._onDidChangeModelDecorations = this._register(new o.Q5())), + (this.onDidChangeModelDecorations = this._onDidChangeModelDecorations.event), + (this._onDidChangeConfiguration = this._register(new o.Q5())), + (this.onDidChangeConfiguration = this._onDidChangeConfiguration.event), + (this._onDidChangeModel = this._register(new o.Q5())), + (this.onDidChangeModel = this._onDidChangeModel.event), + (this._onDidChangeCursorPosition = this._register(new o.Q5())), + (this.onDidChangeCursorPosition = this._onDidChangeCursorPosition.event), + (this._onDidChangeCursorSelection = this._register(new o.Q5())), + (this.onDidChangeCursorSelection = this._onDidChangeCursorSelection.event), + (this._onDidAttemptReadOnlyEdit = this._register(new o.Q5())), + (this.onDidAttemptReadOnlyEdit = this._onDidAttemptReadOnlyEdit.event), + (this._onDidLayoutChange = this._register(new o.Q5())), + (this.onDidLayoutChange = this._onDidLayoutChange.event), + (this._editorTextFocus = this._register(new Yn())), + (this.onDidFocusEditorText = this._editorTextFocus.onDidChangeToTrue), + (this.onDidBlurEditorText = this._editorTextFocus.onDidChangeToFalse), + (this._editorWidgetFocus = this._register(new Yn())), + (this.onDidFocusEditorWidget = this._editorWidgetFocus.onDidChangeToTrue), + (this.onDidBlurEditorWidget = this._editorWidgetFocus.onDidChangeToFalse), + (this._onWillType = this._register(new o.Q5())), + (this.onWillType = this._onWillType.event), + (this._onDidType = this._register(new o.Q5())), + (this.onDidType = this._onDidType.event), + (this._onDidCompositionStart = this._register(new o.Q5())), + (this.onDidCompositionStart = this._onDidCompositionStart.event), + (this._onDidCompositionEnd = this._register(new o.Q5())), + (this.onDidCompositionEnd = this._onDidCompositionEnd.event), + (this._onDidPaste = this._register(new o.Q5())), + (this.onDidPaste = this._onDidPaste.event), + (this._onMouseUp = this._register(new o.Q5())), + (this.onMouseUp = this._onMouseUp.event), + (this._onMouseDown = this._register(new o.Q5())), + (this.onMouseDown = this._onMouseDown.event), + (this._onMouseDrag = this._register(new o.Q5())), + (this.onMouseDrag = this._onMouseDrag.event), + (this._onMouseDrop = this._register(new o.Q5())), + (this.onMouseDrop = this._onMouseDrop.event), + (this._onContextMenu = this._register(new o.Q5())), + (this.onContextMenu = this._onContextMenu.event), + (this._onMouseMove = this._register(new o.Q5())), + (this.onMouseMove = this._onMouseMove.event), + (this._onMouseLeave = this._register(new o.Q5())), + (this.onMouseLeave = this._onMouseLeave.event), + (this._onMouseWheel = this._register(new o.Q5())), + (this.onMouseWheel = this._onMouseWheel.event), + (this._onKeyUp = this._register(new o.Q5())), + (this.onKeyUp = this._onKeyUp.event), + (this._onKeyDown = this._register(new o.Q5())), + (this.onKeyDown = this._onKeyDown.event), + (this._onDidContentSizeChange = this._register(new o.Q5())), + (this.onDidContentSizeChange = this._onDidContentSizeChange.event), + (this._onDidScrollChange = this._register(new o.Q5())), + (this.onDidScrollChange = this._onDidScrollChange.event), + (this._onDidChangeViewZones = this._register(new o.Q5())), + (this.onDidChangeViewZones = this._onDidChangeViewZones.event), + (t = t || {}), + (this._domElement = e), + (this._overflowWidgetsDomNode = t.overflowWidgetsDomNode), + (this._id = ++Fn), + (this._decorationTypeKeysToIds = {}), + (this._decorationTypeSubtypes = {}), + (this.isSimpleWidget = i.isSimpleWidget || !1), + (this._telemetryData = i.telemetryData), + (this._configuration = this._register( + this._createConfiguration(t, u) + )), + this._register( + this._configuration.onDidChange((e) => { + this._onDidChangeConfiguration.fire(e); + const t = this._configuration.options; + if (e.hasChanged(117)) { + const e = t.get(117); + this._onDidLayoutChange.fire(e); + } + }) + ), + (this._contextKeyService = this._register( + l.createScoped(this._domElement) + )), + (this._notificationService = h), + (this._codeEditorService = r), + (this._commandService = a), + (this._themeService = c), + this._register(new Hn(this, this._contextKeyService)), + this._register(new jn(this, this._contextKeyService)), + (this._instantiationService = n.createChild( + new pn.y([gn.i6, this._contextKeyService]) + )), + (this._modelData = null), + (this._contributions = {}), + (this._actions = {}), + (this._focusTracker = new Vn(e)), + this._focusTracker.onChange(() => { + this._editorWidgetFocus.setValue(this._focusTracker.hasFocus()); + }), + (this._contentWidgets = {}), + (this._overlayWidgets = {}), + (g = Array.isArray(i.contributions) + ? i.contributions + : d.Uc.getEditorContributions()); + for (const e of g) + try { + const t = this._instantiationService.createInstance( + e.ctor, + this + ); + this._contributions[e.id] = t; + } catch (e) { + (0, s.dL)(e); + } + d.Uc.getEditorActions().forEach((e) => { + const t = new Ri.p( + e.id, + e.label, + e.alias, + (0, bn.f6)(e.precondition), + () => + this._instantiationService.invokeFunction((t) => + Promise.resolve(e.runEditorCommand(t, this, null)) + ), + this._contextKeyService + ); + this._actions[t.id] = t; + }), + this._codeEditorService.addCodeEditor(this); + } + _createConfiguration(e, t) { + return new c.V(this.isSimpleWidget, e, this._domElement, t); + } + getId() { + return this.getEditorType() + ':' + this._id; + } + getEditorType() { + return Pi.g.ICodeEditor; + } + dispose() { + this._codeEditorService.removeCodeEditor(this), + this._focusTracker.dispose(); + const e = Object.keys(this._contributions); + for (let t = 0, i = e.length; t < i; t++) { + const i = e[t]; + this._contributions[i].dispose(); + } + this._removeDecorationTypes(), + this._postDetachModelCleanup(this._detachModel()), + this._onDidDispose.fire(), + super.dispose(); + } + invokeWithinContext(e) { + return this._instantiationService.invokeFunction(e); + } + updateOptions(e) { + this._configuration.updateOptions(e); + } + getOptions() { + return this._configuration.options; + } + getOption(e) { + return this._configuration.options.get(e); + } + getRawOptions() { + return this._configuration.getRawOptions(); + } + getOverflowWidgetsDomNode() { + return this._overflowWidgetsDomNode; + } + getConfiguredWordAtPosition(e) { + return this._modelData + ? Rn.w.getWordAtPosition( + this._modelData.model, + this._configuration.options.get(105), + e + ) + : null; + } + getValue(e = null) { + if (!this._modelData) return ''; + const t = !(!e || !e.preserveBOM); + let i = 0; + return ( + e && e.lineEnding && '\n' === e.lineEnding + ? (i = 1) + : e && e.lineEnding && '\r\n' === e.lineEnding && (i = 2), + this._modelData.model.getValue(i, t) + ); + } + setValue(e) { + this._modelData && this._modelData.model.setValue(e); + } + getModel() { + return this._modelData ? this._modelData.model : null; + } + setModel(e = null) { + const t = e; + if (null === this._modelData && null === t) return; + if (this._modelData && this._modelData.model === t) return; + const i = this.hasTextFocus(), + n = this._detachModel(); + this._attachModel(t), i && this.hasModel() && this.focus(); + const r = { + oldModelUrl: n ? n.uri : null, + newModelUrl: t ? t.uri : null, + }; + this._removeDecorationTypes(), + this._onDidChangeModel.fire(r), + this._postDetachModelCleanup(n); + } + _removeDecorationTypes() { + if ( + ((this._decorationTypeKeysToIds = {}), + this._decorationTypeSubtypes) + ) { + for (let e in this._decorationTypeSubtypes) { + const t = this._decorationTypeSubtypes[e]; + for (let i in t) this._removeDecorationType(e + '-' + i); + } + this._decorationTypeSubtypes = {}; + } + } + getVisibleRanges() { + return this._modelData + ? this._modelData.viewModel.getVisibleRanges() + : []; + } + getVisibleRangesPlusViewportAboveBelow() { + return this._modelData + ? this._modelData.viewModel.getVisibleRangesPlusViewportAboveBelow() + : []; + } + getWhitespaces() { + return this._modelData + ? this._modelData.viewModel.viewLayout.getWhitespaces() + : []; + } + static _getVerticalOffsetForPosition(e, t, i) { + const n = e.model.validatePosition({ lineNumber: t, column: i }), + r = e.viewModel.coordinatesConverter.convertModelPositionToViewPosition( + n + ); + return e.viewModel.viewLayout.getVerticalOffsetForLineNumber( + r.lineNumber + ); + } + getTopForLineNumber(t) { + return this._modelData + ? e._getVerticalOffsetForPosition(this._modelData, t, 1) + : -1; + } + getTopForPosition(t, i) { + return this._modelData + ? e._getVerticalOffsetForPosition(this._modelData, t, i) + : -1; + } + setHiddenAreas(e) { + this._modelData && + this._modelData.viewModel.setHiddenAreas( + e.map((e) => X.e.lift(e)) + ); + } + getVisibleColumnFromPosition(e) { + if (!this._modelData) return e.column; + const t = this._modelData.model.validatePosition(e), + i = this._modelData.model.getOptions().tabSize; + return ( + ee.io.visibleColumnFromColumn( + this._modelData.model.getLineContent(t.lineNumber), + t.column, + i + ) + 1 + ); + } + getPosition() { + return this._modelData + ? this._modelData.viewModel.getPosition() + : null; + } + setPosition(e) { + if (this._modelData) { + if (!Q.L.isIPosition(e)) throw new Error('Invalid arguments'); + this._modelData.viewModel.setSelections('api', [ + { + selectionStartLineNumber: e.lineNumber, + selectionStartColumn: e.column, + positionLineNumber: e.lineNumber, + positionColumn: e.column, + }, + ]); + } + } + _sendRevealRange(e, t, i, n) { + if (!this._modelData) return; + if (!X.e.isIRange(e)) throw new Error('Invalid arguments'); + const r = this._modelData.model.validateRange(e), + s = this._modelData.viewModel.coordinatesConverter.convertModelRangeToViewRange( + r + ); + this._modelData.viewModel.revealRange('api', i, s, t, n); + } + revealLine(e, t = 0) { + this._revealLine(e, 0, t); + } + revealLineInCenter(e, t = 0) { + this._revealLine(e, 1, t); + } + revealLineInCenterIfOutsideViewport(e, t = 0) { + this._revealLine(e, 2, t); + } + revealLineNearTop(e, t = 0) { + this._revealLine(e, 5, t); + } + _revealLine(e, t, i) { + if ('number' != typeof e) throw new Error('Invalid arguments'); + this._sendRevealRange(new X.e(e, 1, e, 1), t, !1, i); + } + revealPosition(e, t = 0) { + this._revealPosition(e, 0, !0, t); + } + revealPositionInCenter(e, t = 0) { + this._revealPosition(e, 1, !0, t); + } + revealPositionInCenterIfOutsideViewport(e, t = 0) { + this._revealPosition(e, 2, !0, t); + } + revealPositionNearTop(e, t = 0) { + this._revealPosition(e, 5, !0, t); + } + _revealPosition(e, t, i, n) { + if (!Q.L.isIPosition(e)) throw new Error('Invalid arguments'); + this._sendRevealRange( + new X.e(e.lineNumber, e.column, e.lineNumber, e.column), + t, + i, + n + ); + } + getSelection() { + return this._modelData + ? this._modelData.viewModel.getSelection() + : null; + } + getSelections() { + return this._modelData + ? this._modelData.viewModel.getSelections() + : null; + } + setSelection(e) { + const t = u.Y.isISelection(e), + i = X.e.isIRange(e); + if (!t && !i) throw new Error('Invalid arguments'); + if (t) this._setSelectionImpl(e); + else if (i) { + const t = { + selectionStartLineNumber: e.startLineNumber, + selectionStartColumn: e.startColumn, + positionLineNumber: e.endLineNumber, + positionColumn: e.endColumn, + }; + this._setSelectionImpl(t); + } + } + _setSelectionImpl(e) { + if (!this._modelData) return; + const t = new u.Y( + e.selectionStartLineNumber, + e.selectionStartColumn, + e.positionLineNumber, + e.positionColumn + ); + this._modelData.viewModel.setSelections('api', [t]); + } + revealLines(e, t, i = 0) { + this._revealLines(e, t, 0, i); + } + revealLinesInCenter(e, t, i = 0) { + this._revealLines(e, t, 1, i); + } + revealLinesInCenterIfOutsideViewport(e, t, i = 0) { + this._revealLines(e, t, 2, i); + } + revealLinesNearTop(e, t, i = 0) { + this._revealLines(e, t, 5, i); + } + _revealLines(e, t, i, n) { + if ('number' != typeof e || 'number' != typeof t) + throw new Error('Invalid arguments'); + this._sendRevealRange(new X.e(e, 1, t, 1), i, !1, n); + } + revealRange(e, t = 0, i = !1, n = !0) { + this._revealRange(e, i ? 1 : 0, n, t); + } + revealRangeInCenter(e, t = 0) { + this._revealRange(e, 1, !0, t); + } + revealRangeInCenterIfOutsideViewport(e, t = 0) { + this._revealRange(e, 2, !0, t); + } + revealRangeNearTop(e, t = 0) { + this._revealRange(e, 5, !0, t); + } + revealRangeNearTopIfOutsideViewport(e, t = 0) { + this._revealRange(e, 6, !0, t); + } + revealRangeAtTop(e, t = 0) { + this._revealRange(e, 3, !0, t); + } + _revealRange(e, t, i, n) { + if (!X.e.isIRange(e)) throw new Error('Invalid arguments'); + this._sendRevealRange(X.e.lift(e), t, i, n); + } + setSelections(e, t = 'api') { + if (this._modelData) { + if (!e || 0 === e.length) throw new Error('Invalid arguments'); + for (let t = 0, i = e.length; t < i; t++) + if (!u.Y.isISelection(e[t])) + throw new Error('Invalid arguments'); + this._modelData.viewModel.setSelections(t, e); + } + } + getContentWidth() { + return this._modelData + ? this._modelData.viewModel.viewLayout.getContentWidth() + : -1; + } + getScrollWidth() { + return this._modelData + ? this._modelData.viewModel.viewLayout.getScrollWidth() + : -1; + } + getScrollLeft() { + return this._modelData + ? this._modelData.viewModel.viewLayout.getCurrentScrollLeft() + : -1; + } + getContentHeight() { + return this._modelData + ? this._modelData.viewModel.viewLayout.getContentHeight() + : -1; + } + getScrollHeight() { + return this._modelData + ? this._modelData.viewModel.viewLayout.getScrollHeight() + : -1; + } + getScrollTop() { + return this._modelData + ? this._modelData.viewModel.viewLayout.getCurrentScrollTop() + : -1; + } + setScrollLeft(e, t = 1) { + if (this._modelData) { + if ('number' != typeof e) throw new Error('Invalid arguments'); + this._modelData.viewModel.setScrollPosition({ scrollLeft: e }, t); + } + } + setScrollTop(e, t = 1) { + if (this._modelData) { + if ('number' != typeof e) throw new Error('Invalid arguments'); + this._modelData.viewModel.setScrollPosition({ scrollTop: e }, t); + } + } + setScrollPosition(e, t = 1) { + this._modelData && + this._modelData.viewModel.setScrollPosition(e, t); + } + saveViewState() { + if (!this._modelData) return null; + const e = {}, + t = Object.keys(this._contributions); + for (const i of t) { + const t = this._contributions[i]; + 'function' == typeof t.saveViewState && + (e[i] = t.saveViewState()); + } + return { + cursorState: this._modelData.viewModel.saveCursorState(), + viewState: this._modelData.viewModel.saveState(), + contributionsState: e, + }; + } + restoreViewState(e) { + if (!this._modelData || !this._modelData.hasRealView) return; + const t = e; + if (t && t.cursorState && t.viewState) { + const e = t.cursorState; + Array.isArray(e) + ? this._modelData.viewModel.restoreCursorState(e) + : this._modelData.viewModel.restoreCursorState([e]); + const i = t.contributionsState || {}, + n = Object.keys(this._contributions); + for (let e = 0, t = n.length; e < t; e++) { + const t = n[e], + r = this._contributions[t]; + 'function' == typeof r.restoreViewState && + r.restoreViewState(i[t]); + } + const r = this._modelData.viewModel.reduceRestoreState( + t.viewState + ); + this._modelData.view.restoreState(r); + } + } + getContribution(e) { + return this._contributions[e] || null; + } + getActions() { + const e = [], + t = Object.keys(this._actions); + for (let i = 0, n = t.length; i < n; i++) { + const n = t[i]; + e.push(this._actions[n]); + } + return e; + } + getSupportedActions() { + let e = this.getActions(); + return (e = e.filter((e) => e.isSupported())), e; + } + getAction(e) { + return this._actions[e] || null; + } + trigger(e, t, i) { + switch (((i = i || {}), t)) { + case 'compositionStart': + return void this._startComposition(); + case 'compositionEnd': + return void this._endComposition(e); + case 'type': { + const t = i; + return void this._type(e, t.text || ''); + } + case 'replacePreviousChar': { + const t = i; + return void this._replacePreviousChar( + e, + t.text || '', + t.replaceCharCnt || 0 + ); + } + case 'paste': { + const t = i; + return void this._paste( + e, + t.text || '', + t.pasteOnNewLine || !1, + t.multicursorText || null, + t.mode || null + ); + } + case 'cut': + return void this._cut(e); + } + const n = this.getAction(t); + n + ? Promise.resolve(n.run()).then(void 0, s.dL) + : this._modelData && this._triggerEditorCommand(e, t, i); + } + _startComposition() { + this._modelData && + (this._modelData.viewModel.startComposition(), + this._onDidCompositionStart.fire()); + } + _endComposition(e) { + this._modelData && + (this._modelData.viewModel.endComposition(e), + this._onDidCompositionEnd.fire()); + } + _type(e, t) { + this._modelData && + 0 !== t.length && + ('keyboard' === e && this._onWillType.fire(t), + this._modelData.viewModel.type(t, e), + 'keyboard' === e && this._onDidType.fire(t)); + } + _replacePreviousChar(e, t, i) { + this._modelData && + this._modelData.viewModel.replacePreviousChar(t, i, e); + } + _paste(e, t, i, n, r) { + if (!this._modelData || 0 === t.length) return; + const s = this._modelData.viewModel + .getSelection() + .getStartPosition(); + this._modelData.viewModel.paste(t, i, n, e); + const o = this._modelData.viewModel + .getSelection() + .getStartPosition(); + 'keyboard' === e && + this._onDidPaste.fire({ + range: new X.e(s.lineNumber, s.column, o.lineNumber, o.column), + mode: r, + }); + } + _cut(e) { + this._modelData && this._modelData.viewModel.cut(e); + } + _triggerEditorCommand(e, t, i) { + const n = d.Uc.getEditorCommand(t); + return ( + !!n && + (((i = i || {}).source = e), + this._instantiationService.invokeFunction((e) => { + Promise.resolve(n.runEditorCommand(e, this, i)).then( + void 0, + s.dL + ); + }), + !0) + ); + } + _getViewModel() { + return this._modelData ? this._modelData.viewModel : null; + } + pushUndoStop() { + return ( + !!this._modelData && + !this._configuration.options.get(72) && + (this._modelData.model.pushStackElement(), !0) + ); + } + executeEdits(e, t, i) { + if (!this._modelData) return !1; + if (this._configuration.options.get(72)) return !1; + let n; + return ( + (n = i ? (Array.isArray(i) ? () => i : i) : () => null), + this._modelData.viewModel.executeEdits(e, t, n), + !0 + ); + } + executeCommand(e, t) { + this._modelData && this._modelData.viewModel.executeCommand(t, e); + } + executeCommands(e, t) { + this._modelData && this._modelData.viewModel.executeCommands(t, e); + } + changeDecorations(e) { + return this._modelData + ? this._modelData.model.changeDecorations(e, this._id) + : null; + } + getLineDecorations(e) { + return this._modelData + ? this._modelData.model.getLineDecorations( + e, + this._id, + (0, H.$J)(this._configuration.options) + ) + : null; + } + deltaDecorations(e, t) { + return this._modelData + ? 0 === e.length && 0 === t.length + ? e + : this._modelData.model.deltaDecorations(e, t, this._id) + : []; + } + removeDecorations(e) { + const t = this._decorationTypeKeysToIds[e]; + t && this.deltaDecorations(t, []), + this._decorationTypeKeysToIds.hasOwnProperty(e) && + delete this._decorationTypeKeysToIds[e], + this._decorationTypeSubtypes.hasOwnProperty(e) && + delete this._decorationTypeSubtypes[e]; + } + getLayoutInfo() { + return this._configuration.options.get(117); + } + createOverviewRuler(e) { + return this._modelData && this._modelData.hasRealView + ? this._modelData.view.createOverviewRuler(e) + : null; + } + getContainerDomNode() { + return this._domElement; + } + getDomNode() { + return this._modelData && this._modelData.hasRealView + ? this._modelData.view.domNode.domNode + : null; + } + delegateVerticalScrollbarMouseDown(e) { + this._modelData && + this._modelData.hasRealView && + this._modelData.view.delegateVerticalScrollbarMouseDown(e); + } + layout(e) { + this._configuration.observeReferenceElement(e), this.render(); + } + focus() { + this._modelData && + this._modelData.hasRealView && + this._modelData.view.focus(); + } + hasTextFocus() { + return ( + !(!this._modelData || !this._modelData.hasRealView) && + this._modelData.view.isFocused() + ); + } + hasWidgetFocus() { + return this._focusTracker && this._focusTracker.hasFocus(); + } + addContentWidget(e) { + const t = { widget: e, position: e.getPosition() }; + this._contentWidgets.hasOwnProperty(e.getId()) && + console.warn('Overwriting a content widget with the same id.'), + (this._contentWidgets[e.getId()] = t), + this._modelData && + this._modelData.hasRealView && + this._modelData.view.addContentWidget(t); + } + layoutContentWidget(e) { + const t = e.getId(); + if (this._contentWidgets.hasOwnProperty(t)) { + const i = this._contentWidgets[t]; + (i.position = e.getPosition()), + this._modelData && + this._modelData.hasRealView && + this._modelData.view.layoutContentWidget(i); + } + } + removeContentWidget(e) { + const t = e.getId(); + if (this._contentWidgets.hasOwnProperty(t)) { + const e = this._contentWidgets[t]; + delete this._contentWidgets[t], + this._modelData && + this._modelData.hasRealView && + this._modelData.view.removeContentWidget(e); + } + } + addOverlayWidget(e) { + const t = { widget: e, position: e.getPosition() }; + this._overlayWidgets.hasOwnProperty(e.getId()) && + console.warn('Overwriting an overlay widget with the same id.'), + (this._overlayWidgets[e.getId()] = t), + this._modelData && + this._modelData.hasRealView && + this._modelData.view.addOverlayWidget(t); + } + layoutOverlayWidget(e) { + const t = e.getId(); + if (this._overlayWidgets.hasOwnProperty(t)) { + const i = this._overlayWidgets[t]; + (i.position = e.getPosition()), + this._modelData && + this._modelData.hasRealView && + this._modelData.view.layoutOverlayWidget(i); + } + } + removeOverlayWidget(e) { + const t = e.getId(); + if (this._overlayWidgets.hasOwnProperty(t)) { + const e = this._overlayWidgets[t]; + delete this._overlayWidgets[t], + this._modelData && + this._modelData.hasRealView && + this._modelData.view.removeOverlayWidget(e); + } + } + changeViewZones(e) { + this._modelData && + this._modelData.hasRealView && + this._modelData.view.change(e); + } + getTargetAtClientPoint(e, t) { + return this._modelData && this._modelData.hasRealView + ? this._modelData.view.getTargetAtClientPoint(e, t) + : null; + } + getScrolledVisiblePosition(t) { + if (!this._modelData || !this._modelData.hasRealView) return null; + const i = this._modelData.model.validatePosition(t), + n = this._configuration.options, + r = n.get(117); + return { + top: + e._getVerticalOffsetForPosition( + this._modelData, + i.lineNumber, + i.column + ) - this.getScrollTop(), + left: + this._modelData.view.getOffsetForColumn( + i.lineNumber, + i.column + ) + + r.glyphMarginWidth + + r.lineNumbersWidth + + r.decorationsWidth - + this.getScrollLeft(), + height: n.get(51), + }; + } + getOffsetForColumn(e, t) { + return this._modelData && this._modelData.hasRealView + ? this._modelData.view.getOffsetForColumn(e, t) + : -1; + } + render(e = !1) { + this._modelData && + this._modelData.hasRealView && + this._modelData.view.render(!0, e); + } + setAriaOptions(e) { + this._modelData && + this._modelData.hasRealView && + this._modelData.view.setAriaOptions(e); + } + applyFontInfo(e) { + c.V.applyFontInfoSlow(e, this._configuration.options.get(36)); + } + _attachModel(e) { + if (!e) return void (this._modelData = null); + const t = []; + this._domElement.setAttribute( + 'data-mode-id', + e.getLanguageIdentifier().language + ), + this._configuration.setIsDominatedByLongLines( + e.isDominatedByLongLines() + ), + this._configuration.setMaxLineNumber(e.getLineCount()), + e.onBeforeAttached(); + const i = new hn( + this._id, + this._configuration, + e, + En.create(), + Sn.create(this._configuration.options), + (e) => r.jL(e) + ); + t.push( + e.onDidChangeDecorations((e) => + this._onDidChangeModelDecorations.fire(e) + ) + ), + t.push( + e.onDidChangeLanguage((t) => { + this._domElement.setAttribute( + 'data-mode-id', + e.getLanguageIdentifier().language + ), + this._onDidChangeModelLanguage.fire(t); + }) + ), + t.push( + e.onDidChangeLanguageConfiguration((e) => + this._onDidChangeModelLanguageConfiguration.fire(e) + ) + ), + t.push( + e.onDidChangeContent((e) => + this._onDidChangeModelContent.fire(e) + ) + ), + t.push( + e.onDidChangeOptions((e) => + this._onDidChangeModelOptions.fire(e) + ) + ), + t.push(e.onWillDispose(() => this.setModel(null))), + t.push( + i.onEvent((e) => { + switch (e.kind) { + case 0: + this._onDidContentSizeChange.fire(e); + break; + case 1: + this._editorTextFocus.setValue(e.hasFocus); + break; + case 2: + this._onDidScrollChange.fire(e); + break; + case 3: + this._onDidChangeViewZones.fire(); + break; + case 4: + this._onDidAttemptReadOnlyEdit.fire(); + break; + case 5: { + e.reachedMaxCursorCount && + this._notificationService.warn( + n.N( + 'cursors.maximum', + 'The number of cursors has been limited to {0}.', + Ai.MAX_CURSOR_COUNT + ) + ); + const t = []; + for (let i = 0, n = e.selections.length; i < n; i++) + t[i] = e.selections[i].getPosition(); + const i = { + position: t[0], + secondaryPositions: t.slice(1), + reason: e.reason, + source: e.source, + }; + this._onDidChangeCursorPosition.fire(i); + const r = { + selection: e.selections[0], + secondarySelections: e.selections.slice(1), + modelVersionId: e.modelVersionId, + oldSelections: e.oldSelections, + oldModelVersionId: e.oldModelVersionId, + source: e.source, + reason: e.reason, + }; + this._onDidChangeCursorSelection.fire(r); + break; + } + } + }) + ); + const [s, o] = this._createView(i); + if (o) { + this._domElement.appendChild(s.domNode.domNode); + let t = Object.keys(this._contentWidgets); + for (let e = 0, i = t.length; e < i; e++) { + const i = t[e]; + s.addContentWidget(this._contentWidgets[i]); + } + t = Object.keys(this._overlayWidgets); + for (let e = 0, i = t.length; e < i; e++) { + const i = t[e]; + s.addOverlayWidget(this._overlayWidgets[i]); + } + s.render(!1, !0), + s.domNode.domNode.setAttribute('data-uri', e.uri.toString()); + } + this._modelData = new Bn(e, i, s, o, t); + } + _createView(e) { + let t; + t = this.isSimpleWidget + ? { + paste: (e, t, i, n) => { + this._paste('keyboard', e, t, i, n); + }, + type: (e) => { + this._type('keyboard', e); + }, + replacePreviousChar: (e, t) => { + this._replacePreviousChar('keyboard', e, t); + }, + startComposition: () => { + this._startComposition(); + }, + endComposition: () => { + this._endComposition('keyboard'); + }, + cut: () => { + this._cut('keyboard'); + }, + } + : { + paste: (e, t, i, n) => { + const r = { + text: e, + pasteOnNewLine: t, + multicursorText: i, + mode: n, + }; + this._commandService.executeCommand('paste', r); + }, + type: (e) => { + const t = { text: e }; + this._commandService.executeCommand('type', t); + }, + replacePreviousChar: (e, t) => { + const i = { text: e, replaceCharCnt: t }; + this._commandService.executeCommand( + 'replacePreviousChar', + i + ); + }, + startComposition: () => { + this._commandService.executeCommand('compositionStart', {}); + }, + endComposition: () => { + this._commandService.executeCommand('compositionEnd', {}); + }, + cut: () => { + this._commandService.executeCommand('cut', {}); + }, + }; + const i = new Re(e.coordinatesConverter); + return ( + (i.onKeyDown = (e) => this._onKeyDown.fire(e)), + (i.onKeyUp = (e) => this._onKeyUp.fire(e)), + (i.onContextMenu = (e) => this._onContextMenu.fire(e)), + (i.onMouseMove = (e) => this._onMouseMove.fire(e)), + (i.onMouseLeave = (e) => this._onMouseLeave.fire(e)), + (i.onMouseDown = (e) => this._onMouseDown.fire(e)), + (i.onMouseUp = (e) => this._onMouseUp.fire(e)), + (i.onMouseDrag = (e) => this._onMouseDrag.fire(e)), + (i.onMouseDrop = (e) => this._onMouseDrop.fire(e)), + (i.onMouseWheel = (e) => this._onMouseWheel.fire(e)), + [ + new ni( + t, + this._configuration, + this._themeService, + e, + i, + this._overflowWidgetsDomNode + ), + !0, + ] + ); + } + _postDetachModelCleanup(e) { + e && e.removeAllDecorationsWithOwnerId(this._id); + } + _detachModel() { + if (!this._modelData) return null; + const e = this._modelData.model, + t = this._modelData.hasRealView + ? this._modelData.view.domNode.domNode + : null; + return ( + this._modelData.dispose(), + (this._modelData = null), + this._domElement.removeAttribute('data-mode-id'), + t && + this._domElement.contains(t) && + this._domElement.removeChild(t), + e + ); + } + _removeDecorationType(e) { + this._codeEditorService.removeDecorationType(e); + } + hasModel() { + return null !== this._modelData; + } + }; + Wn = (function (e, t, i, n) { + var r, + s = arguments.length, + o = + s < 3 + ? t + : null === n + ? (n = Object.getOwnPropertyDescriptor(t, i)) + : n; + if ( + 'object' == typeof Reflect && + 'function' == typeof Reflect.decorate + ) + o = Reflect.decorate(e, t, i, n); + else + for (var a = e.length - 1; a >= 0; a--) + (r = e[a]) && + (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); + return s > 3 && o && Object.defineProperty(t, i, o), o; + })( + [ + Pn(3, fn.TG), + Pn(4, h.$), + Pn(5, un.H), + Pn(6, gn.i6), + Pn(7, Y.XE), + Pn(8, mn.lT), + Pn(9, _n.F), + ], + Wn + ); + class Yn extends a.JT { + constructor() { + super(), + (this._onDidChangeToTrue = this._register(new o.Q5())), + (this.onDidChangeToTrue = this._onDidChangeToTrue.event), + (this._onDidChangeToFalse = this._register(new o.Q5())), + (this.onDidChangeToFalse = this._onDidChangeToFalse.event), + (this._value = 0); + } + setValue(e) { + const t = e ? 2 : 1; + this._value !== t && + ((this._value = t), + 2 === this._value + ? this._onDidChangeToTrue.fire() + : 1 === this._value && this._onDidChangeToFalse.fire()); + } + } + class Hn extends a.JT { + constructor(e, t) { + super(), + (this._editor = e), + t.createKey('editorId', e.getId()), + (this._editorSimpleInput = Fi.u.editorSimpleInput.bindTo(t)), + (this._editorFocus = Fi.u.focus.bindTo(t)), + (this._textInputFocus = Fi.u.textInputFocus.bindTo(t)), + (this._editorTextFocus = Fi.u.editorTextFocus.bindTo(t)), + (this._editorTabMovesFocus = Fi.u.tabMovesFocus.bindTo(t)), + (this._editorReadonly = Fi.u.readOnly.bindTo(t)), + (this._editorColumnSelection = Fi.u.columnSelection.bindTo(t)), + (this._hasMultipleSelections = Fi.u.hasMultipleSelections.bindTo( + t + )), + (this._hasNonEmptySelection = Fi.u.hasNonEmptySelection.bindTo( + t + )), + (this._canUndo = Fi.u.canUndo.bindTo(t)), + (this._canRedo = Fi.u.canRedo.bindTo(t)), + this._register( + this._editor.onDidChangeConfiguration(() => + this._updateFromConfig() + ) + ), + this._register( + this._editor.onDidChangeCursorSelection(() => + this._updateFromSelection() + ) + ), + this._register( + this._editor.onDidFocusEditorWidget(() => + this._updateFromFocus() + ) + ), + this._register( + this._editor.onDidBlurEditorWidget(() => + this._updateFromFocus() + ) + ), + this._register( + this._editor.onDidFocusEditorText(() => this._updateFromFocus()) + ), + this._register( + this._editor.onDidBlurEditorText(() => this._updateFromFocus()) + ), + this._register( + this._editor.onDidChangeModel(() => this._updateFromModel()) + ), + this._register( + this._editor.onDidChangeConfiguration(() => + this._updateFromModel() + ) + ), + this._updateFromConfig(), + this._updateFromSelection(), + this._updateFromFocus(), + this._updateFromModel(), + this._editorSimpleInput.set(this._editor.isSimpleWidget); + } + _updateFromConfig() { + const e = this._editor.getOptions(); + this._editorTabMovesFocus.set(e.get(116)), + this._editorReadonly.set(e.get(72)), + this._editorColumnSelection.set(e.get(13)); + } + _updateFromSelection() { + const e = this._editor.getSelections(); + e + ? (this._hasMultipleSelections.set(e.length > 1), + this._hasNonEmptySelection.set(e.some((e) => !e.isEmpty()))) + : (this._hasMultipleSelections.reset(), + this._hasNonEmptySelection.reset()); + } + _updateFromFocus() { + this._editorFocus.set( + this._editor.hasWidgetFocus() && !this._editor.isSimpleWidget + ), + this._editorTextFocus.set( + this._editor.hasTextFocus() && !this._editor.isSimpleWidget + ), + this._textInputFocus.set(this._editor.hasTextFocus()); + } + _updateFromModel() { + const e = this._editor.getModel(); + this._canUndo.set(Boolean(e && e.canUndo())), + this._canRedo.set(Boolean(e && e.canRedo())); + } + } + class jn extends a.JT { + constructor(e, t) { + super(), + (this._editor = e), + (this._contextKeyService = t), + (this._langId = Fi.u.languageId.bindTo(t)), + (this._hasCompletionItemProvider = Fi.u.hasCompletionItemProvider.bindTo( + t + )), + (this._hasCodeActionsProvider = Fi.u.hasCodeActionsProvider.bindTo( + t + )), + (this._hasCodeLensProvider = Fi.u.hasCodeLensProvider.bindTo(t)), + (this._hasDefinitionProvider = Fi.u.hasDefinitionProvider.bindTo( + t + )), + (this._hasDeclarationProvider = Fi.u.hasDeclarationProvider.bindTo( + t + )), + (this._hasImplementationProvider = Fi.u.hasImplementationProvider.bindTo( + t + )), + (this._hasTypeDefinitionProvider = Fi.u.hasTypeDefinitionProvider.bindTo( + t + )), + (this._hasHoverProvider = Fi.u.hasHoverProvider.bindTo(t)), + (this._hasDocumentHighlightProvider = Fi.u.hasDocumentHighlightProvider.bindTo( + t + )), + (this._hasDocumentSymbolProvider = Fi.u.hasDocumentSymbolProvider.bindTo( + t + )), + (this._hasReferenceProvider = Fi.u.hasReferenceProvider.bindTo( + t + )), + (this._hasRenameProvider = Fi.u.hasRenameProvider.bindTo(t)), + (this._hasSignatureHelpProvider = Fi.u.hasSignatureHelpProvider.bindTo( + t + )), + (this._hasDocumentFormattingProvider = Fi.u.hasDocumentFormattingProvider.bindTo( + t + )), + (this._hasDocumentSelectionFormattingProvider = Fi.u.hasDocumentSelectionFormattingProvider.bindTo( + t + )), + (this._hasMultipleDocumentFormattingProvider = Fi.u.hasMultipleDocumentFormattingProvider.bindTo( + t + )), + (this._hasMultipleDocumentSelectionFormattingProvider = Fi.u.hasMultipleDocumentSelectionFormattingProvider.bindTo( + t + )), + (this._isInWalkThrough = Fi.u.isInWalkThroughSnippet.bindTo(t)); + const i = () => this._update(); + this._register(e.onDidChangeModel(i)), + this._register(e.onDidChangeModelLanguage(i)), + this._register(gt.KZ.onDidChange(i)), + this._register(gt.H9.onDidChange(i)), + this._register(gt.He.onDidChange(i)), + this._register(gt.Ct.onDidChange(i)), + this._register(gt.RN.onDidChange(i)), + this._register(gt.vI.onDidChange(i)), + this._register(gt.tA.onDidChange(i)), + this._register(gt.xp.onDidChange(i)), + this._register(gt.vH.onDidChange(i)), + this._register(gt.vJ.onDidChange(i)), + this._register(gt.FL.onDidChange(i)), + this._register(gt.G0.onDidChange(i)), + this._register(gt.Az.onDidChange(i)), + this._register(gt.vN.onDidChange(i)), + this._register(gt.nD.onDidChange(i)), + i(); + } + dispose() { + super.dispose(); + } + reset() { + this._contextKeyService.bufferChangeEvents(() => { + this._langId.reset(), + this._hasCompletionItemProvider.reset(), + this._hasCodeActionsProvider.reset(), + this._hasCodeLensProvider.reset(), + this._hasDefinitionProvider.reset(), + this._hasDeclarationProvider.reset(), + this._hasImplementationProvider.reset(), + this._hasTypeDefinitionProvider.reset(), + this._hasHoverProvider.reset(), + this._hasDocumentHighlightProvider.reset(), + this._hasDocumentSymbolProvider.reset(), + this._hasReferenceProvider.reset(), + this._hasRenameProvider.reset(), + this._hasDocumentFormattingProvider.reset(), + this._hasDocumentSelectionFormattingProvider.reset(), + this._hasSignatureHelpProvider.reset(), + this._isInWalkThrough.reset(); + }); + } + _update() { + const e = this._editor.getModel(); + e + ? this._contextKeyService.bufferChangeEvents(() => { + this._langId.set(e.getLanguageIdentifier().language), + this._hasCompletionItemProvider.set(gt.KZ.has(e)), + this._hasCodeActionsProvider.set(gt.H9.has(e)), + this._hasCodeLensProvider.set(gt.He.has(e)), + this._hasDefinitionProvider.set(gt.Ct.has(e)), + this._hasDeclarationProvider.set(gt.RN.has(e)), + this._hasImplementationProvider.set(gt.vI.has(e)), + this._hasTypeDefinitionProvider.set(gt.tA.has(e)), + this._hasHoverProvider.set(gt.xp.has(e)), + this._hasDocumentHighlightProvider.set(gt.vH.has(e)), + this._hasDocumentSymbolProvider.set(gt.vJ.has(e)), + this._hasReferenceProvider.set(gt.FL.has(e)), + this._hasRenameProvider.set(gt.G0.has(e)), + this._hasSignatureHelpProvider.set(gt.nD.has(e)), + this._hasDocumentFormattingProvider.set( + gt.Az.has(e) || gt.vN.has(e) + ), + this._hasDocumentSelectionFormattingProvider.set( + gt.vN.has(e) + ), + this._hasMultipleDocumentFormattingProvider.set( + gt.Az.all(e).length + gt.vN.all(e).length > 1 + ), + this._hasMultipleDocumentSelectionFormattingProvider.set( + gt.vN.all(e).length > 1 + ), + this._isInWalkThrough.set( + e.uri.scheme === l.l.walkThroughSnippet + ); + }) + : this.reset(); + } + } + class Vn extends a.JT { + constructor(e) { + super(), + (this._onChange = this._register(new o.Q5())), + (this.onChange = this._onChange.event), + (this._hasFocus = !1), + (this._domFocusTracker = this._register(r.go(e))), + this._register( + this._domFocusTracker.onDidFocus(() => { + (this._hasFocus = !0), this._onChange.fire(void 0); + }) + ), + this._register( + this._domFocusTracker.onDidBlur(() => { + (this._hasFocus = !1), this._onChange.fire(void 0); + }) + ); + } + hasFocus() { + return this._hasFocus; + } + } + const zn = encodeURIComponent( + "<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 6 3' enable-background='new 0 0 6 3' height='3' width='6'><g fill='" + ), + Un = encodeURIComponent( + "'><polygon points='5.5,0 2.5,3 1.1,3 4.1,0'/><polygon points='4,0 6,2 6,0.6 5.4,0'/><polygon points='0,2 1,3 2.4,3 0,0.6'/></g></svg>" + ); + function $n(e) { + return zn + encodeURIComponent(e.toString()) + Un; + } + const Kn = encodeURIComponent( + '<svg xmlns="http://www.w3.org/2000/svg" height="3" width="12"><g fill="' + ), + qn = encodeURIComponent( + '"><circle cx="1" cy="1" r="1"/><circle cx="5" cy="1" r="1"/><circle cx="9" cy="1" r="1"/></g></svg>' + ); + (0, Y.Ic)((e, t) => { + const i = e.getColor(mt.b6); + i && + t.addRule( + `.monaco-editor .squiggly-error { border-bottom: 4px double ${i}; }` + ); + const n = e.getColor(mt.lX); + n && + t.addRule( + `.monaco-editor .squiggly-error { background: url("data:image/svg+xml,${$n( + n + )}") repeat-x bottom left; }` + ); + const r = e.getColor(mt.pW); + r && + t.addRule( + `.monaco-editor .squiggly-warning { border-bottom: 4px double ${r}; }` + ); + const s = e.getColor(mt.uo); + s && + t.addRule( + `.monaco-editor .squiggly-warning { background: url("data:image/svg+xml,${$n( + s + )}") repeat-x bottom left; }` + ); + const o = e.getColor(mt.T8); + o && + t.addRule( + `.monaco-editor .squiggly-info { border-bottom: 4px double ${o}; }` + ); + const a = e.getColor(mt.c6); + a && + t.addRule( + `.monaco-editor .squiggly-info { background: url("data:image/svg+xml,${$n( + a + )}") repeat-x bottom left; }` + ); + const l = e.getColor(mt.fE); + l && + t.addRule( + `.monaco-editor .squiggly-hint { border-bottom: 2px dotted ${l}; }` + ); + const c = e.getColor(mt.Du); + c && + t.addRule( + `.monaco-editor .squiggly-hint { background: url("data:image/svg+xml,${(function ( + e + ) { + return Kn + encodeURIComponent(e.toString()) + qn; + })(c)}") no-repeat bottom left; }` + ); + const d = e.getColor(xe.zu); + d && + t.addRule( + `.monaco-editor.showUnused .squiggly-inline-unnecessary { opacity: ${d.rgba.a}; }` + ); + const h = e.getColor(xe.kp); + h && + t.addRule( + `.monaco-editor.showUnused .squiggly-unnecessary { border-bottom: 2px dashed ${h}; }` + ); + const u = e.getColor(mt.NO) || 'inherit'; + t.addRule( + `.monaco-editor.showDeprecated .squiggly-inline-deprecated { text-decoration: line-through; text-decoration-color: ${u}}` + ); + }); + }, + 68143: (e, t, i) => { + 'use strict'; + i.d(t, { pL: () => ae }); + var n = i(63580), + r = i(65321), + s = i(38626), + o = i(73098), + a = i(15393), + l = i(4669), + c = i(5976), + d = i(36248), + h = i(89052), + u = i(39925), + g = i(11640), + f = i(95190), + p = i(90317), + m = i(9802), + _ = i(74741), + b = i(16830), + v = i(64141), + y = i(78411), + w = i(50187), + C = i(27869), + S = i(77736), + k = i(13824), + x = i(38819), + L = i(73910), + M = i(97781), + D = i(73046); + class N { + constructor(e, t, i, n) { + (this.originalLineStart = e), + (this.originalLineEnd = t), + (this.modifiedLineStart = i), + (this.modifiedLineEnd = n); + } + getType() { + return 0 === this.originalLineStart + ? 1 + : 0 === this.modifiedLineStart + ? 2 + : 0; + } + } + class E { + constructor(e) { + this.entries = e; + } + } + const T = (0, D.q5)('diff-review-insert', D.lA.add), + I = (0, D.q5)('diff-review-remove', D.lA.remove), + O = (0, D.q5)('diff-review-close', D.lA.close); + class A extends c.JT { + constructor(e) { + super(), + (this._width = 0), + (this._diffEditor = e), + (this._isVisible = !1), + (this.shadow = (0, s.X)(document.createElement('div'))), + this.shadow.setClassName('diff-review-shadow'), + (this.actionBarContainer = (0, s.X)( + document.createElement('div') + )), + this.actionBarContainer.setClassName('diff-review-actions'), + (this._actionBar = this._register( + new p.o(this.actionBarContainer.domNode) + )), + this._actionBar.push( + new _.aU( + 'diffreview.close', + n.N('label.close', 'Close'), + 'close-diff-review ' + O.classNames, + !0, + () => (this.hide(), Promise.resolve(null)) + ), + { label: !1, icon: !0 } + ), + (this.domNode = (0, s.X)(document.createElement('div'))), + this.domNode.setClassName('diff-review monaco-editor-background'), + (this._content = (0, s.X)(document.createElement('div'))), + this._content.setClassName('diff-review-content'), + this._content.setAttribute('role', 'code'), + (this.scrollbar = this._register( + new m.s$(this._content.domNode, {}) + )), + this.domNode.domNode.appendChild(this.scrollbar.getDomNode()), + this._register( + e.onDidUpdateDiff(() => { + this._isVisible && + ((this._diffs = this._compute()), this._render()); + }) + ), + this._register( + e.getModifiedEditor().onDidChangeCursorPosition(() => { + this._isVisible && this._render(); + }) + ), + this._register( + r.mu(this.domNode.domNode, 'click', (e) => { + e.preventDefault(); + let t = r.Fx(e.target, 'diff-review-row'); + t && this._goToRow(t); + }) + ), + this._register( + r.mu(this.domNode.domNode, 'keydown', (e) => { + (e.equals(18) || e.equals(2066) || e.equals(530)) && + (e.preventDefault(), this._goToRow(this._getNextRow())), + (e.equals(16) || e.equals(2064) || e.equals(528)) && + (e.preventDefault(), this._goToRow(this._getPrevRow())), + (e.equals(9) || + e.equals(2057) || + e.equals(521) || + e.equals(1033)) && + (e.preventDefault(), this.hide()), + (e.equals(10) || e.equals(3)) && + (e.preventDefault(), this.accept()); + }) + ), + (this._diffs = []), + (this._currentDiff = null); + } + prev() { + let e = 0; + if ( + (this._isVisible || (this._diffs = this._compute()), + this._isVisible) + ) { + let t = -1; + for (let e = 0, i = this._diffs.length; e < i; e++) + if (this._diffs[e] === this._currentDiff) { + t = e; + break; + } + e = this._diffs.length + t - 1; + } else e = this._findDiffIndex(this._diffEditor.getPosition()); + if (0 === this._diffs.length) return; + e %= this._diffs.length; + const t = this._diffs[e].entries; + this._diffEditor.setPosition(new w.L(t[0].modifiedLineStart, 1)), + this._diffEditor.setSelection({ + startColumn: 1, + startLineNumber: t[0].modifiedLineStart, + endColumn: 1073741824, + endLineNumber: t[t.length - 1].modifiedLineEnd, + }), + (this._isVisible = !0), + this._diffEditor.doLayout(), + this._render(), + this._goToRow(this._getNextRow()); + } + next() { + let e = 0; + if ( + (this._isVisible || (this._diffs = this._compute()), + this._isVisible) + ) { + let t = -1; + for (let e = 0, i = this._diffs.length; e < i; e++) + if (this._diffs[e] === this._currentDiff) { + t = e; + break; + } + e = t + 1; + } else e = this._findDiffIndex(this._diffEditor.getPosition()); + if (0 === this._diffs.length) return; + e %= this._diffs.length; + const t = this._diffs[e].entries; + this._diffEditor.setPosition(new w.L(t[0].modifiedLineStart, 1)), + this._diffEditor.setSelection({ + startColumn: 1, + startLineNumber: t[0].modifiedLineStart, + endColumn: 1073741824, + endLineNumber: t[t.length - 1].modifiedLineEnd, + }), + (this._isVisible = !0), + this._diffEditor.doLayout(), + this._render(), + this._goToRow(this._getNextRow()); + } + accept() { + let e = -1, + t = this._getCurrentFocusedRow(); + if (t) { + let i = parseInt(t.getAttribute('data-line'), 10); + isNaN(i) || (e = i); + } + this.hide(), + -1 !== e && + (this._diffEditor.setPosition(new w.L(e, 1)), + this._diffEditor.revealPosition(new w.L(e, 1), 1)); + } + hide() { + (this._isVisible = !1), + this._diffEditor.updateOptions({ readOnly: !1 }), + this._diffEditor.focus(), + this._diffEditor.doLayout(), + this._render(); + } + _getPrevRow() { + let e = this._getCurrentFocusedRow(); + return e + ? e.previousElementSibling + ? e.previousElementSibling + : e + : this._getFirstRow(); + } + _getNextRow() { + let e = this._getCurrentFocusedRow(); + return e + ? e.nextElementSibling + ? e.nextElementSibling + : e + : this._getFirstRow(); + } + _getFirstRow() { + return this.domNode.domNode.querySelector('.diff-review-row'); + } + _getCurrentFocusedRow() { + let e = document.activeElement; + return e && /diff-review-row/.test(e.className) ? e : null; + } + _goToRow(e) { + let t = this._getCurrentFocusedRow(); + (e.tabIndex = 0), + e.focus(), + t && t !== e && (t.tabIndex = -1), + this.scrollbar.scanDomNode(); + } + isVisible() { + return this._isVisible; + } + layout(e, t, i) { + (this._width = t), + this.shadow.setTop(e - 6), + this.shadow.setWidth(t), + this.shadow.setHeight(this._isVisible ? 6 : 0), + this.domNode.setTop(e), + this.domNode.setWidth(t), + this.domNode.setHeight(i), + this._content.setHeight(i), + this._content.setWidth(t), + this._isVisible + ? (this.actionBarContainer.setAttribute('aria-hidden', 'false'), + this.actionBarContainer.setDisplay('block')) + : (this.actionBarContainer.setAttribute('aria-hidden', 'true'), + this.actionBarContainer.setDisplay('none')); + } + _compute() { + const e = this._diffEditor.getLineChanges(); + if (!e || 0 === e.length) return []; + const t = this._diffEditor.getOriginalEditor().getModel(), + i = this._diffEditor.getModifiedEditor().getModel(); + return t && i + ? A._mergeAdjacent(e, t.getLineCount(), i.getLineCount()) + : []; + } + static _mergeAdjacent(e, t, i) { + if (!e || 0 === e.length) return []; + let n = [], + r = 0; + for (let s = 0, o = e.length; s < o; s++) { + const a = e[s], + l = a.originalStartLineNumber, + c = a.originalEndLineNumber, + d = a.modifiedStartLineNumber, + h = a.modifiedEndLineNumber; + let u = [], + g = 0; + { + const t = 0 === c ? l : l - 1, + i = 0 === h ? d : d - 1; + let n = 1, + r = 1; + if (s > 0) { + const t = e[s - 1]; + (n = + 0 === t.originalEndLineNumber + ? t.originalStartLineNumber + 1 + : t.originalEndLineNumber + 1), + (r = + 0 === t.modifiedEndLineNumber + ? t.modifiedStartLineNumber + 1 + : t.modifiedEndLineNumber + 1); + } + let o = t - 3 + 1, + a = i - 3 + 1; + if (o < n) { + const e = n - o; + (o += e), (a += e); + } + if (a < r) { + const e = r - a; + (o += e), (a += e); + } + u[g++] = new N(o, t, a, i); + } + 0 !== c && (u[g++] = new N(l, c, 0, 0)), + 0 !== h && (u[g++] = new N(0, 0, d, h)); + { + const n = 0 === c ? l + 1 : c + 1, + r = 0 === h ? d + 1 : h + 1; + let a = t, + f = i; + if (s + 1 < o) { + const t = e[s + 1]; + (a = + 0 === t.originalEndLineNumber + ? t.originalStartLineNumber + : t.originalStartLineNumber - 1), + (f = + 0 === t.modifiedEndLineNumber + ? t.modifiedStartLineNumber + : t.modifiedStartLineNumber - 1); + } + let p = n + 3 - 1, + m = r + 3 - 1; + if (p > a) { + const e = a - p; + (p += e), (m += e); + } + if (m > f) { + const e = f - m; + (p += e), (m += e); + } + u[g++] = new N(n, p, r, m); + } + n[r++] = new E(u); + } + let s = n[0].entries, + o = [], + a = 0; + for (let e = 1, t = n.length; e < t; e++) { + const t = n[e].entries, + i = s[s.length - 1], + r = t[0]; + 0 === i.getType() && + 0 === r.getType() && + r.originalLineStart <= i.originalLineEnd + ? ((s[s.length - 1] = new N( + i.originalLineStart, + r.originalLineEnd, + i.modifiedLineStart, + r.modifiedLineEnd + )), + (s = s.concat(t.slice(1)))) + : ((o[a++] = new E(s)), (s = t)); + } + return (o[a++] = new E(s)), o; + } + _findDiffIndex(e) { + const t = e.lineNumber; + for (let e = 0, i = this._diffs.length; e < i; e++) { + const i = this._diffs[e].entries; + if (t <= i[i.length - 1].modifiedLineEnd) return e; + } + return 0; + } + _render() { + const e = this._diffEditor.getOriginalEditor().getOptions(), + t = this._diffEditor.getModifiedEditor().getOptions(), + i = this._diffEditor.getOriginalEditor().getModel(), + s = this._diffEditor.getModifiedEditor().getModel(), + o = i.getOptions(), + a = s.getOptions(); + if (!this._isVisible || !i || !s) + return ( + r.PO(this._content.domNode), + (this._currentDiff = null), + void this.scrollbar.scanDomNode() + ); + this._diffEditor.updateOptions({ readOnly: !0 }); + const l = this._findDiffIndex(this._diffEditor.getPosition()); + if (this._diffs[l] === this._currentDiff) return; + this._currentDiff = this._diffs[l]; + const c = this._diffs[l].entries; + let d = document.createElement('div'); + (d.className = 'diff-review-table'), + d.setAttribute('role', 'list'), + d.setAttribute( + 'aria-label', + 'Difference review. Use "Stage | Unstage | Revert Selected Ranges" commands' + ), + h.V.applyFontInfoSlow(d, t.get(36)); + let u = 0, + g = 0, + f = 0, + p = 0; + for (let e = 0, t = c.length; e < t; e++) { + const t = c[e], + i = t.originalLineStart, + n = t.originalLineEnd, + r = t.modifiedLineStart, + s = t.modifiedLineEnd; + 0 !== i && (0 === u || i < u) && (u = i), + 0 !== n && (0 === g || n > g) && (g = n), + 0 !== r && (0 === f || r < f) && (f = r), + 0 !== s && (0 === p || s > p) && (p = s); + } + let m = document.createElement('div'); + m.className = 'diff-review-row'; + let _ = document.createElement('div'); + _.className = 'diff-review-cell diff-review-summary'; + const b = g - u + 1, + v = p - f + 1; + _.appendChild( + document.createTextNode( + `${l + 1}/${this._diffs.length}: @@ -${u},${b} +${f},${v} @@` + ) + ), + m.setAttribute('data-line', String(f)); + const y = (e) => + 0 === e + ? n.N('no_lines_changed', 'no lines changed') + : 1 === e + ? n.N('one_line_changed', '1 line changed') + : n.N('more_lines_changed', '{0} lines changed', e), + w = y(b), + C = y(v); + m.setAttribute( + 'aria-label', + n.N( + { + key: 'header', + comment: [ + 'This is the ARIA label for a git diff header.', + 'A git diff header looks like this: @@ -154,12 +159,39 @@.', + 'That encodes that at original line 154 (which is now line 159), 12 lines were removed/changed with 39 lines.', + 'Variables 0 and 1 refer to the diff index out of total number of diffs.', + 'Variables 2 and 4 will be numbers (a line number).', + 'Variables 3 and 5 will be "no lines changed", "1 line changed" or "X lines changed", localized separately.', + ], + }, + 'Difference {0} of {1}: original line {2}, {3}, modified line {4}, {5}', + l + 1, + this._diffs.length, + u, + w, + f, + C + ) + ), + m.appendChild(_), + m.setAttribute('role', 'listitem'), + d.appendChild(m); + const S = t.get(51); + let k = f; + for (let n = 0, r = c.length; n < r; n++) { + const r = c[n]; + A._renderSection(d, r, k, S, this._width, e, i, o, t, s, a), + 0 !== r.modifiedLineStart && (k = r.modifiedLineEnd); + } + r.PO(this._content.domNode), + this._content.domNode.appendChild(d), + this.scrollbar.scanDomNode(); + } + static _renderSection(e, t, i, r, s, o, a, l, c, d, h) { + const u = t.getType(); + let g = 'diff-review-row', + f = '', + p = null; + switch (u) { + case 1: + (g = 'diff-review-row line-insert'), + (f = ' char-insert'), + (p = T); + break; + case 2: + (g = 'diff-review-row line-delete'), + (f = ' char-delete'), + (p = I); + } + const m = t.originalLineStart, + _ = t.originalLineEnd, + b = t.modifiedLineStart, + v = t.modifiedLineEnd, + y = Math.max(v - b, _ - m), + w = o.get(117), + C = w.glyphMarginWidth + w.lineNumbersWidth, + S = c.get(117), + k = 10 + S.glyphMarginWidth + S.lineNumbersWidth; + for (let t = 0; t <= y; t++) { + const _ = 0 === m ? 0 : m + t, + v = 0 === b ? 0 : b + t, + y = document.createElement('div'); + (y.style.minWidth = s + 'px'), + (y.className = g), + y.setAttribute('role', 'listitem'), + 0 !== v && (i = v), + y.setAttribute('data-line', String(i)); + let w = document.createElement('div'); + (w.className = 'diff-review-cell'), + (w.style.height = `${r}px`), + y.appendChild(w); + const S = document.createElement('span'); + (S.style.width = C + 'px'), + (S.style.minWidth = C + 'px'), + (S.className = 'diff-review-line-number' + f), + 0 !== _ + ? S.appendChild(document.createTextNode(String(_))) + : (S.innerText = ' '), + w.appendChild(S); + const x = document.createElement('span'); + (x.style.width = k + 'px'), + (x.style.minWidth = k + 'px'), + (x.style.paddingRight = '10px'), + (x.className = 'diff-review-line-number' + f), + 0 !== v + ? x.appendChild(document.createTextNode(String(v))) + : (x.innerText = ' '), + w.appendChild(x); + const L = document.createElement('span'); + if (((L.className = 'diff-review-spacer'), p)) { + const e = document.createElement('span'); + (e.className = p.classNames), + (e.innerText = '  '), + L.appendChild(e); + } else L.innerText = '  '; + let M; + w.appendChild(L), + 0 !== v + ? (w.insertAdjacentHTML( + 'beforeend', + this._renderLine(d, c, h.tabSize, v) + ), + (M = d.getLineContent(v))) + : (w.insertAdjacentHTML( + 'beforeend', + this._renderLine(a, o, l.tabSize, _) + ), + (M = a.getLineContent(_))), + 0 === M.length && (M = n.N('blankLine', 'blank')); + let D = ''; + switch (u) { + case 0: + D = + _ === v + ? n.N( + { + key: 'unchangedLine', + comment: [ + 'The placholders are contents of the line and should not be translated.', + ], + }, + '{0} unchanged line {1}', + M, + _ + ) + : n.N( + 'equalLine', + '{0} original line {1} modified line {2}', + M, + _, + v + ); + break; + case 1: + D = n.N('insertLine', '+ {0} modified line {1}', M, v); + break; + case 2: + D = n.N('deleteLine', '- {0} original line {1}', M, _); + } + y.setAttribute('aria-label', D), e.appendChild(y); + } + } + static _renderLine(e, t, i, n) { + const r = e.getLineContent(n), + s = t.get(36), + o = new Uint32Array(2); + (o[0] = r.length), (o[1] = 16793600); + const a = new y.A(o, r), + l = k.wA.isBasicASCII(r, e.mightContainNonBasicASCII()), + c = k.wA.containsRTL(r, l, e.mightContainRTL()); + return (0, S.tF)( + new S.IJ( + s.isMonospace && !t.get(24), + s.canUseHalfwidthRightwardsArrow, + r, + !1, + l, + c, + 0, + a, + [], + i, + 0, + s.spaceWidth, + s.middotWidth, + s.wsmiddotWidth, + t.get(95), + t.get(80), + t.get(74), + t.get(37) !== v.n0.OFF, + null + ) + ).html; + } + } + (0, M.Ic)((e, t) => { + const i = e.getColor(C.hw); + i && + t.addRule( + `.monaco-diff-editor .diff-review-line-number { color: ${i}; }` + ); + const n = e.getColor(L._w); + n && + t.addRule( + `.monaco-diff-editor .diff-review-shadow { box-shadow: ${n} 0 -6px 6px -6px inset; }` + ); + }); + class R extends b.R6 { + constructor() { + super({ + id: 'editor.action.diffReview.next', + label: n.N( + 'editor.action.diffReview.next', + 'Go to Next Difference' + ), + alias: 'Go to Next Difference', + precondition: x.Ao.has('isInDiffEditor'), + kbOpts: { kbExpr: null, primary: 65, weight: 100 }, + }); + } + run(e, t) { + const i = F(e); + i && i.diffReviewNext(); + } + } + class P extends b.R6 { + constructor() { + super({ + id: 'editor.action.diffReview.prev', + label: n.N( + 'editor.action.diffReview.prev', + 'Go to Previous Difference' + ), + alias: 'Go to Previous Difference', + precondition: x.Ao.has('isInDiffEditor'), + kbOpts: { kbExpr: null, primary: 1089, weight: 100 }, + }); + } + run(e, t) { + const i = F(e); + i && i.diffReviewPrev(); + } + } + function F(e) { + const t = e.get(g.$), + i = t.listDiffEditors(), + n = t.getActiveCodeEditor(); + if (!n) return null; + for (let e = 0, t = i.length; e < t; e++) { + const t = i[e]; + if ( + t.getModifiedEditor().getId() === n.getId() || + t.getOriginalEditor().getId() === n.getId() + ) + return t; + } + return null; + } + (0, b.Qr)(R), (0, b.Qr)(P); + var B = i(24314), + W = i(50072), + Y = i(96518), + H = i(3411), + j = i(90469), + V = i(92003), + z = i(92550), + U = i(72065), + $ = i(60972), + K = i(59422), + q = i(5606), + G = function (e, t, i, n) { + return new (i || (i = Promise))(function (r, s) { + function o(e) { + try { + l(n.next(e)); + } catch (e) { + s(e); + } + } + function a(e) { + try { + l(n.throw(e)); + } catch (e) { + s(e); + } + } + function l(e) { + var t; + e.done + ? r(e.value) + : ((t = e.value), + t instanceof i + ? t + : new i(function (e) { + e(t); + })).then(o, a); + } + l((n = n.apply(e, t || [])).next()); + }); + }; + class Z extends c.JT { + constructor(e, t, i, s, o, a) { + super(), + (this._viewZoneId = e), + (this._marginDomNode = t), + (this.editor = i), + (this.diff = s), + (this._contextMenuService = o), + (this._clipboardService = a), + (this._visibility = !1), + (this._marginDomNode.style.zIndex = '10'), + (this._diffActions = document.createElement('div')), + (this._diffActions.className = + D.lA.lightBulb.classNames + ' lightbulb-glyph'), + (this._diffActions.style.position = 'absolute'); + const l = i.getOption(51), + c = i.getModel().getEOL(); + (this._diffActions.style.right = '0px'), + (this._diffActions.style.visibility = 'hidden'), + (this._diffActions.style.height = `${l}px`), + (this._diffActions.style.lineHeight = `${l}px`), + this._marginDomNode.appendChild(this._diffActions); + const d = []; + d.push( + new _.aU( + 'diff.clipboard.copyDeletedContent', + s.originalEndLineNumber > s.modifiedStartLineNumber + ? n.N( + 'diff.clipboard.copyDeletedLinesContent.label', + 'Copy deleted lines' + ) + : n.N( + 'diff.clipboard.copyDeletedLinesContent.single.label', + 'Copy deleted line' + ), + void 0, + !0, + () => + G(this, void 0, void 0, function* () { + yield this._clipboardService.writeText( + s.originalContent.join(c) + c + ); + }) + ) + ); + let h, + u = 0; + s.originalEndLineNumber > s.modifiedStartLineNumber && + ((h = new _.aU( + 'diff.clipboard.copyDeletedLineContent', + n.N( + 'diff.clipboard.copyDeletedLineContent.label', + 'Copy deleted line ({0})', + s.originalStartLineNumber + ), + void 0, + !0, + () => + G(this, void 0, void 0, function* () { + yield this._clipboardService.writeText( + s.originalContent[u] + ); + }) + )), + d.push(h)), + i.getOption(72) || + d.push( + new _.aU( + 'diff.inline.revertChange', + n.N('diff.inline.revertChange.label', 'Revert this change'), + void 0, + !0, + () => + G(this, void 0, void 0, function* () { + if (0 === s.modifiedEndLineNumber) { + const e = i + .getModel() + .getLineMaxColumn(s.modifiedStartLineNumber); + i.executeEdits('diffEditor', [ + { + range: new B.e( + s.modifiedStartLineNumber, + e, + s.modifiedStartLineNumber, + e + ), + text: c + s.originalContent.join(c), + }, + ]); + } else { + const e = i + .getModel() + .getLineMaxColumn(s.modifiedEndLineNumber); + i.executeEdits('diffEditor', [ + { + range: new B.e( + s.modifiedStartLineNumber, + 1, + s.modifiedEndLineNumber, + e + ), + text: s.originalContent.join(c), + }, + ]); + } + }) + ) + ); + const g = (e, t) => { + this._contextMenuService.showContextMenu({ + getAnchor: () => ({ x: e, y: t }), + getActions: () => ( + h && + (h.label = n.N( + 'diff.clipboard.copyDeletedLineContent.label', + 'Copy deleted line ({0})', + s.originalStartLineNumber + u + )), + d + ), + autoSelectFirstItem: !0, + }); + }; + this._register( + r.mu(this._diffActions, 'mousedown', (e) => { + const { top: t, height: i } = r.i(this._diffActions); + let n = Math.floor(l / 3); + e.preventDefault(), g(e.posx, t + i + n); + }) + ), + this._register( + i.onMouseMove((e) => { + (8 === e.target.type || 5 === e.target.type) && + e.target.detail.viewZoneId === this._viewZoneId + ? ((this.visibility = !0), + (u = this._updateLightBulbPosition( + this._marginDomNode, + e.event.browserEvent.y, + l + ))) + : (this.visibility = !1); + }) + ), + this._register( + i.onMouseDown((e) => { + !e.event.rightButton || + (8 !== e.target.type && 5 !== e.target.type) || + (e.target.detail.viewZoneId === this._viewZoneId && + (e.event.preventDefault(), + (u = this._updateLightBulbPosition( + this._marginDomNode, + e.event.browserEvent.y, + l + )), + g(e.event.posx, e.event.posy + l))); + }) + ); + } + get visibility() { + return this._visibility; + } + set visibility(e) { + this._visibility !== e && + ((this._visibility = e), + (this._diffActions.style.visibility = e ? 'visible' : 'hidden')); + } + _updateLightBulbPosition(e, t, i) { + const { top: n } = r.i(e), + s = t - n, + o = Math.floor(s / i), + a = o * i; + return (this._diffActions.style.top = `${a}px`), o; + } + } + var J = i(84972), + Q = i(17301), + X = i(90535), + ee = i(54534), + te = i(96542), + ie = function (e, t) { + return function (i, n) { + t(i, n, e); + }; + }; + class ne { + constructor(e, t) { + (this._contextMenuService = e), + (this._clipboardService = t), + (this._zones = []), + (this.inlineDiffMargins = []), + (this._zonesMap = {}), + (this._decorations = []); + } + getForeignViewZones(e) { + return e.filter((e) => !this._zonesMap[String(e.id)]); + } + clean(e) { + this._zones.length > 0 && + e.changeViewZones((e) => { + for (let t = 0, i = this._zones.length; t < i; t++) + e.removeZone(this._zones[t]); + }), + (this._zones = []), + (this._zonesMap = {}), + (this._decorations = e.deltaDecorations(this._decorations, [])); + } + apply(e, t, i, n) { + const r = n ? u.ZF.capture(e) : null; + e.changeViewZones((t) => { + for (let e = 0, i = this._zones.length; e < i; e++) + t.removeZone(this._zones[e]); + for (let e = 0, t = this.inlineDiffMargins.length; e < t; e++) + this.inlineDiffMargins[e].dispose(); + (this._zones = []), + (this._zonesMap = {}), + (this.inlineDiffMargins = []); + for (let n = 0, r = i.zones.length; n < r; n++) { + const r = i.zones[n]; + r.suppressMouseDown = !0; + let s = t.addZone(r); + this._zones.push(s), + (this._zonesMap[String(s)] = !0), + i.zones[n].diff && + r.marginDomNode && + ((r.suppressMouseDown = !1), + this.inlineDiffMargins.push( + new Z( + s, + r.marginDomNode, + e, + i.zones[n].diff, + this._contextMenuService, + this._clipboardService + ) + )); + } + }), + r && r.restore(e), + (this._decorations = e.deltaDecorations( + this._decorations, + i.decorations + )), + t && t.setZones(i.overviewZones); + } + } + let re = 0; + const se = (0, D.q5)('diff-insert', D.lA.add), + oe = (0, D.q5)('diff-remove', D.lA.remove); + let ae = class e extends c.JT { + constructor(t, i, n, o, c, d, h, u, g, f, p) { + super(), + (this._editorProgressService = p), + (this._onDidDispose = this._register(new l.Q5())), + (this.onDidDispose = this._onDidDispose.event), + (this._onDidUpdateDiff = this._register(new l.Q5())), + (this.onDidUpdateDiff = this._onDidUpdateDiff.event), + (this._onDidContentSizeChange = this._register(new l.Q5())), + (this._lastOriginalWarning = null), + (this._lastModifiedWarning = null), + (this._editorWorkerService = o), + (this._codeEditorService = h), + (this._contextKeyService = this._register(c.createScoped(t))), + this._contextKeyService.createKey('isInDiffEditor', !0), + (this._themeService = u), + (this._notificationService = g), + (this.id = ++re), + (this._state = 0), + (this._updatingDiffProgress = null), + (this._domElement = t), + (i = i || {}), + (this._renderSideBySide = !0), + void 0 !== i.renderSideBySide && + (this._renderSideBySide = i.renderSideBySide), + (this._maxComputationTime = 5e3), + void 0 !== i.maxComputationTime && + (this._maxComputationTime = i.maxComputationTime), + (this._ignoreTrimWhitespace = !0), + void 0 !== i.ignoreTrimWhitespace && + (this._ignoreTrimWhitespace = i.ignoreTrimWhitespace), + (this._renderIndicators = !0), + void 0 !== i.renderIndicators && + (this._renderIndicators = i.renderIndicators), + (this._originalIsEditable = !1), + void 0 !== i.originalEditable && + (this._originalIsEditable = Boolean(i.originalEditable)), + (this._originalCodeLens = !1), + void 0 !== i.originalCodeLens && + (this._originalCodeLens = Boolean(i.originalCodeLens)), + (this._modifiedCodeLens = !1), + void 0 !== i.modifiedCodeLens && + (this._modifiedCodeLens = Boolean(i.modifiedCodeLens)), + (this._updateDecorationsRunner = this._register( + new a.pY(() => this._updateDecorations(), 0) + )), + (this._containerDomElement = document.createElement('div')), + (this._containerDomElement.className = e._getClassName( + this._themeService.getColorTheme(), + this._renderSideBySide + )), + (this._containerDomElement.style.position = 'relative'), + (this._containerDomElement.style.height = '100%'), + this._domElement.appendChild(this._containerDomElement), + (this._overviewViewportDomElement = (0, s.X)( + document.createElement('div') + )), + this._overviewViewportDomElement.setClassName('diffViewport'), + this._overviewViewportDomElement.setPosition('absolute'), + (this._overviewDomElement = document.createElement('div')), + (this._overviewDomElement.className = 'diffOverview'), + (this._overviewDomElement.style.position = 'absolute'), + this._overviewDomElement.appendChild( + this._overviewViewportDomElement.domNode + ), + this._register( + r.mu(this._overviewDomElement, 'mousedown', (e) => { + this.modifiedEditor.delegateVerticalScrollbarMouseDown(e); + }) + ), + this._containerDomElement.appendChild(this._overviewDomElement), + (this._originalDomNode = document.createElement('div')), + (this._originalDomNode.className = 'editor original'), + (this._originalDomNode.style.position = 'absolute'), + (this._originalDomNode.style.height = '100%'), + this._containerDomElement.appendChild(this._originalDomNode), + (this._modifiedDomNode = document.createElement('div')), + (this._modifiedDomNode.className = 'editor modified'), + (this._modifiedDomNode.style.position = 'absolute'), + (this._modifiedDomNode.style.height = '100%'), + this._containerDomElement.appendChild(this._modifiedDomNode), + (this._beginUpdateDecorationsTimeout = -1), + (this._currentlyChangingViewZones = !1), + (this._diffComputationToken = 0), + (this._originalEditorState = new ne(f, n)), + (this._modifiedEditorState = new ne(f, n)), + (this._isVisible = !0), + (this._isHandlingScrollEvent = !1), + (this._elementSizeObserver = this._register( + new ee.I(this._containerDomElement, void 0, () => + this._onDidContainerSizeChanged() + ) + )), + i.automaticLayout && this._elementSizeObserver.startObserving(), + (this._diffComputationResult = null); + const m = this._contextKeyService.createScoped(), + _ = new $.y(); + _.set(x.i6, m); + const v = d.createChild(_), + y = this._contextKeyService.createScoped(), + w = new $.y(); + w.set(x.i6, y); + const C = d.createChild(w); + (this.originalEditor = this._createLeftHandSideEditor(i, v, m)), + (this.modifiedEditor = this._createRightHandSideEditor(i, C, y)), + (this._originalOverviewRuler = null), + (this._modifiedOverviewRuler = null), + (this._reviewPane = new A(this)), + this._containerDomElement.appendChild( + this._reviewPane.domNode.domNode + ), + this._containerDomElement.appendChild( + this._reviewPane.shadow.domNode + ), + this._containerDomElement.appendChild( + this._reviewPane.actionBarContainer.domNode + ), + (this._enableSplitViewResizing = !0), + void 0 !== i.enableSplitViewResizing && + (this._enableSplitViewResizing = i.enableSplitViewResizing), + this._renderSideBySide + ? this._setStrategy( + new ge( + this._createDataSource(), + this._enableSplitViewResizing + ) + ) + : this._setStrategy( + new pe( + this._createDataSource(), + this._enableSplitViewResizing + ) + ), + this._register( + u.onDidColorThemeChange((t) => { + this._strategy && + this._strategy.applyColors(t) && + this._updateDecorationsRunner.schedule(), + (this._containerDomElement.className = e._getClassName( + this._themeService.getColorTheme(), + this._renderSideBySide + )); + }) + ); + const S = b.Uc.getDiffEditorContributions(); + for (const e of S) + try { + this._register(d.createInstance(e.ctor, this)); + } catch (e) { + (0, Q.dL)(e); + } + this._codeEditorService.addDiffEditor(this); + } + _setState(e) { + this._state !== e && + ((this._state = e), + this._updatingDiffProgress && + (this._updatingDiffProgress.done(), + (this._updatingDiffProgress = null)), + 1 === this._state && + (this._updatingDiffProgress = this._editorProgressService.show( + !0, + 1e3 + ))); + } + diffReviewNext() { + this._reviewPane.next(); + } + diffReviewPrev() { + this._reviewPane.prev(); + } + static _getClassName(e, t) { + let i = 'monaco-diff-editor monaco-editor-background '; + return t && (i += 'side-by-side '), (i += (0, M.m6)(e.type)), i; + } + _recreateOverviewRulers() { + this._originalOverviewRuler && + (this._overviewDomElement.removeChild( + this._originalOverviewRuler.getDomNode() + ), + this._originalOverviewRuler.dispose()), + this.originalEditor.hasModel() && + ((this._originalOverviewRuler = this.originalEditor.createOverviewRuler( + 'original diffOverviewRuler' + )), + this._overviewDomElement.appendChild( + this._originalOverviewRuler.getDomNode() + )), + this._modifiedOverviewRuler && + (this._overviewDomElement.removeChild( + this._modifiedOverviewRuler.getDomNode() + ), + this._modifiedOverviewRuler.dispose()), + this.modifiedEditor.hasModel() && + ((this._modifiedOverviewRuler = this.modifiedEditor.createOverviewRuler( + 'modified diffOverviewRuler' + )), + this._overviewDomElement.appendChild( + this._modifiedOverviewRuler.getDomNode() + )), + this._layoutOverviewRulers(); + } + _createLeftHandSideEditor(t, i, n) { + const r = this._createInnerEditor( + i, + this._originalDomNode, + this._adjustOptionsForLeftHandSide( + t, + this._originalIsEditable, + this._originalCodeLens + ) + ); + this._register( + r.onDidScrollChange((e) => { + this._isHandlingScrollEvent || + ((e.scrollTopChanged || + e.scrollLeftChanged || + e.scrollHeightChanged) && + ((this._isHandlingScrollEvent = !0), + this.modifiedEditor.setScrollPosition({ + scrollLeft: e.scrollLeft, + scrollTop: e.scrollTop, + }), + (this._isHandlingScrollEvent = !1), + this._layoutOverviewViewport())); + }) + ), + this._register( + r.onDidChangeViewZones(() => { + this._onViewZonesChanged(); + }) + ), + this._register( + r.onDidChangeModelContent(() => { + this._isVisible && this._beginUpdateDecorationsSoon(); + }) + ); + const s = n.createKey('isInDiffLeftEditor', void 0); + return ( + this._register(r.onDidFocusEditorWidget(() => s.set(!0))), + this._register(r.onDidBlurEditorWidget(() => s.set(!1))), + this._register( + r.onDidContentSizeChange((t) => { + const i = + this.originalEditor.getContentWidth() + + this.modifiedEditor.getContentWidth() + + e.ONE_OVERVIEW_WIDTH, + n = Math.max( + this.modifiedEditor.getContentHeight(), + this.originalEditor.getContentHeight() + ); + this._onDidContentSizeChange.fire({ + contentHeight: n, + contentWidth: i, + contentHeightChanged: t.contentHeightChanged, + contentWidthChanged: t.contentWidthChanged, + }); + }) + ), + r + ); + } + _createRightHandSideEditor(t, i, n) { + const r = this._createInnerEditor( + i, + this._modifiedDomNode, + this._adjustOptionsForRightHandSide(t, this._modifiedCodeLens) + ); + this._register( + r.onDidScrollChange((e) => { + this._isHandlingScrollEvent || + ((e.scrollTopChanged || + e.scrollLeftChanged || + e.scrollHeightChanged) && + ((this._isHandlingScrollEvent = !0), + this.originalEditor.setScrollPosition({ + scrollLeft: e.scrollLeft, + scrollTop: e.scrollTop, + }), + (this._isHandlingScrollEvent = !1), + this._layoutOverviewViewport())); + }) + ), + this._register( + r.onDidChangeViewZones(() => { + this._onViewZonesChanged(); + }) + ), + this._register( + r.onDidChangeConfiguration((e) => { + e.hasChanged(36) && + r.getModel() && + this._onViewZonesChanged(); + }) + ), + this._register( + r.onDidChangeModelContent(() => { + this._isVisible && this._beginUpdateDecorationsSoon(); + }) + ), + this._register( + r.onDidChangeModelOptions((e) => { + e.tabSize && this._updateDecorationsRunner.schedule(); + }) + ); + const s = n.createKey('isInDiffRightEditor', void 0); + return ( + this._register(r.onDidFocusEditorWidget(() => s.set(!0))), + this._register(r.onDidBlurEditorWidget(() => s.set(!1))), + this._register( + r.onDidContentSizeChange((t) => { + const i = + this.originalEditor.getContentWidth() + + this.modifiedEditor.getContentWidth() + + e.ONE_OVERVIEW_WIDTH, + n = Math.max( + this.modifiedEditor.getContentHeight(), + this.originalEditor.getContentHeight() + ); + this._onDidContentSizeChange.fire({ + contentHeight: n, + contentWidth: i, + contentHeightChanged: t.contentHeightChanged, + contentWidthChanged: t.contentWidthChanged, + }); + }) + ), + r + ); + } + _createInnerEditor(e, t, i) { + return e.createInstance(f.Gm, t, i, {}); + } + dispose() { + this._codeEditorService.removeDiffEditor(this), + -1 !== this._beginUpdateDecorationsTimeout && + (window.clearTimeout(this._beginUpdateDecorationsTimeout), + (this._beginUpdateDecorationsTimeout = -1)), + this._cleanViewZonesAndDecorations(), + this._originalOverviewRuler && + (this._overviewDomElement.removeChild( + this._originalOverviewRuler.getDomNode() + ), + this._originalOverviewRuler.dispose()), + this._modifiedOverviewRuler && + (this._overviewDomElement.removeChild( + this._modifiedOverviewRuler.getDomNode() + ), + this._modifiedOverviewRuler.dispose()), + this._overviewDomElement.removeChild( + this._overviewViewportDomElement.domNode + ), + this._containerDomElement.removeChild(this._overviewDomElement), + this._containerDomElement.removeChild(this._originalDomNode), + this.originalEditor.dispose(), + this._containerDomElement.removeChild(this._modifiedDomNode), + this.modifiedEditor.dispose(), + this._strategy.dispose(), + this._containerDomElement.removeChild( + this._reviewPane.domNode.domNode + ), + this._containerDomElement.removeChild( + this._reviewPane.shadow.domNode + ), + this._containerDomElement.removeChild( + this._reviewPane.actionBarContainer.domNode + ), + this._reviewPane.dispose(), + this._domElement.removeChild(this._containerDomElement), + this._onDidDispose.fire(), + super.dispose(); + } + getId() { + return this.getEditorType() + ':' + this.id; + } + getEditorType() { + return Y.g.IDiffEditor; + } + getLineChanges() { + return this._diffComputationResult + ? this._diffComputationResult.changes + : null; + } + getOriginalEditor() { + return this.originalEditor; + } + getModifiedEditor() { + return this.modifiedEditor; + } + updateOptions(t) { + let i = !1; + void 0 !== t.renderSideBySide && + this._renderSideBySide !== t.renderSideBySide && + ((this._renderSideBySide = t.renderSideBySide), (i = !0)), + void 0 !== t.maxComputationTime && + ((this._maxComputationTime = t.maxComputationTime), + this._isVisible && this._beginUpdateDecorationsSoon()); + let n = !1; + void 0 !== t.ignoreTrimWhitespace && + this._ignoreTrimWhitespace !== t.ignoreTrimWhitespace && + ((this._ignoreTrimWhitespace = t.ignoreTrimWhitespace), (n = !0)), + void 0 !== t.renderIndicators && + this._renderIndicators !== t.renderIndicators && + ((this._renderIndicators = t.renderIndicators), (n = !0)), + n && this._beginUpdateDecorations(), + void 0 !== t.originalEditable && + (this._originalIsEditable = Boolean(t.originalEditable)), + void 0 !== t.originalCodeLens && + (this._originalCodeLens = Boolean(t.originalCodeLens)), + void 0 !== t.modifiedCodeLens && + (this._modifiedCodeLens = Boolean(t.modifiedCodeLens)), + this.modifiedEditor.updateOptions( + this._adjustOptionsForRightHandSide(t, this._modifiedCodeLens) + ), + this.originalEditor.updateOptions( + this._adjustOptionsForLeftHandSide( + t, + this._originalIsEditable, + this._originalCodeLens + ) + ), + void 0 !== t.enableSplitViewResizing && + (this._enableSplitViewResizing = t.enableSplitViewResizing), + this._strategy.setEnableSplitViewResizing( + this._enableSplitViewResizing + ), + i && + (this._renderSideBySide + ? this._setStrategy( + new ge( + this._createDataSource(), + this._enableSplitViewResizing + ) + ) + : this._setStrategy( + new pe( + this._createDataSource(), + this._enableSplitViewResizing + ) + ), + (this._containerDomElement.className = e._getClassName( + this._themeService.getColorTheme(), + this._renderSideBySide + ))); + } + getModel() { + return { + original: this.originalEditor.getModel(), + modified: this.modifiedEditor.getModel(), + }; + } + setModel(e) { + if (e && (!e.original || !e.modified)) + throw new Error( + e.original + ? 'DiffEditorWidget.setModel: Modified model is null' + : 'DiffEditorWidget.setModel: Original model is null' + ); + this._cleanViewZonesAndDecorations(), + this.originalEditor.setModel(e ? e.original : null), + this.modifiedEditor.setModel(e ? e.modified : null), + this._updateDecorationsRunner.cancel(), + e && + (this.originalEditor.setScrollTop(0), + this.modifiedEditor.setScrollTop(0)), + (this._diffComputationResult = null), + this._diffComputationToken++, + this._setState(0), + e && + (this._recreateOverviewRulers(), + this._beginUpdateDecorations()), + this._layoutOverviewViewport(); + } + getDomNode() { + return this._domElement; + } + getVisibleColumnFromPosition(e) { + return this.modifiedEditor.getVisibleColumnFromPosition(e); + } + getPosition() { + return this.modifiedEditor.getPosition(); + } + setPosition(e) { + this.modifiedEditor.setPosition(e); + } + revealLine(e, t = 0) { + this.modifiedEditor.revealLine(e, t); + } + revealLineInCenter(e, t = 0) { + this.modifiedEditor.revealLineInCenter(e, t); + } + revealLineInCenterIfOutsideViewport(e, t = 0) { + this.modifiedEditor.revealLineInCenterIfOutsideViewport(e, t); + } + revealLineNearTop(e, t = 0) { + this.modifiedEditor.revealLineNearTop(e, t); + } + revealPosition(e, t = 0) { + this.modifiedEditor.revealPosition(e, t); + } + revealPositionInCenter(e, t = 0) { + this.modifiedEditor.revealPositionInCenter(e, t); + } + revealPositionInCenterIfOutsideViewport(e, t = 0) { + this.modifiedEditor.revealPositionInCenterIfOutsideViewport(e, t); + } + revealPositionNearTop(e, t = 0) { + this.modifiedEditor.revealPositionNearTop(e, t); + } + getSelection() { + return this.modifiedEditor.getSelection(); + } + getSelections() { + return this.modifiedEditor.getSelections(); + } + setSelection(e) { + this.modifiedEditor.setSelection(e); + } + setSelections(e) { + this.modifiedEditor.setSelections(e); + } + revealLines(e, t, i = 0) { + this.modifiedEditor.revealLines(e, t, i); + } + revealLinesInCenter(e, t, i = 0) { + this.modifiedEditor.revealLinesInCenter(e, t, i); + } + revealLinesInCenterIfOutsideViewport(e, t, i = 0) { + this.modifiedEditor.revealLinesInCenterIfOutsideViewport(e, t, i); + } + revealLinesNearTop(e, t, i = 0) { + this.modifiedEditor.revealLinesNearTop(e, t, i); + } + revealRange(e, t = 0, i = !1, n = !0) { + this.modifiedEditor.revealRange(e, t, i, n); + } + revealRangeInCenter(e, t = 0) { + this.modifiedEditor.revealRangeInCenter(e, t); + } + revealRangeInCenterIfOutsideViewport(e, t = 0) { + this.modifiedEditor.revealRangeInCenterIfOutsideViewport(e, t); + } + revealRangeNearTop(e, t = 0) { + this.modifiedEditor.revealRangeNearTop(e, t); + } + revealRangeNearTopIfOutsideViewport(e, t = 0) { + this.modifiedEditor.revealRangeNearTopIfOutsideViewport(e, t); + } + revealRangeAtTop(e, t = 0) { + this.modifiedEditor.revealRangeAtTop(e, t); + } + getSupportedActions() { + return this.modifiedEditor.getSupportedActions(); + } + saveViewState() { + return { + original: this.originalEditor.saveViewState(), + modified: this.modifiedEditor.saveViewState(), + }; + } + restoreViewState(e) { + if (e.original && e.modified) { + let t = e; + this.originalEditor.restoreViewState(t.original), + this.modifiedEditor.restoreViewState(t.modified); + } + } + layout(e) { + this._elementSizeObserver.observe(e); + } + focus() { + this.modifiedEditor.focus(); + } + hasTextFocus() { + return ( + this.originalEditor.hasTextFocus() || + this.modifiedEditor.hasTextFocus() + ); + } + trigger(e, t, i) { + this.modifiedEditor.trigger(e, t, i); + } + changeDecorations(e) { + return this.modifiedEditor.changeDecorations(e); + } + _onDidContainerSizeChanged() { + this._doLayout(); + } + _getReviewHeight() { + return this._reviewPane.isVisible() + ? this._elementSizeObserver.getHeight() + : 0; + } + _layoutOverviewRulers() { + if (!this._originalOverviewRuler || !this._modifiedOverviewRuler) + return; + const t = this._elementSizeObserver.getHeight(), + i = this._getReviewHeight(); + let n = e.ENTIRE_DIFF_OVERVIEW_WIDTH - 2 * e.ONE_OVERVIEW_WIDTH; + this.modifiedEditor.getLayoutInfo() && + (this._originalOverviewRuler.setLayout({ + top: 0, + width: e.ONE_OVERVIEW_WIDTH, + right: n + e.ONE_OVERVIEW_WIDTH, + height: t - i, + }), + this._modifiedOverviewRuler.setLayout({ + top: 0, + right: 0, + width: e.ONE_OVERVIEW_WIDTH, + height: t - i, + })); + } + _onViewZonesChanged() { + this._currentlyChangingViewZones || + this._updateDecorationsRunner.schedule(); + } + _beginUpdateDecorationsSoon() { + -1 !== this._beginUpdateDecorationsTimeout && + (window.clearTimeout(this._beginUpdateDecorationsTimeout), + (this._beginUpdateDecorationsTimeout = -1)), + (this._beginUpdateDecorationsTimeout = window.setTimeout( + () => this._beginUpdateDecorations(), + e.UPDATE_DIFF_DECORATIONS_DELAY + )); + } + static _equals(e, t) { + return (!e && !t) || (!(!e || !t) && e.toString() === t.toString()); + } + _beginUpdateDecorations() { + this._beginUpdateDecorationsTimeout = -1; + const t = this.originalEditor.getModel(), + i = this.modifiedEditor.getModel(); + if (!t || !i) return; + this._diffComputationToken++; + let r = this._diffComputationToken; + this._setState(1), + this._editorWorkerService.canComputeDiff(t.uri, i.uri) + ? this._editorWorkerService + .computeDiff( + t.uri, + i.uri, + this._ignoreTrimWhitespace, + this._maxComputationTime + ) + .then( + (e) => { + r === this._diffComputationToken && + t === this.originalEditor.getModel() && + i === this.modifiedEditor.getModel() && + (this._setState(2), + (this._diffComputationResult = e), + this._updateDecorationsRunner.schedule(), + this._onDidUpdateDiff.fire()); + }, + (e) => { + r === this._diffComputationToken && + t === this.originalEditor.getModel() && + i === this.modifiedEditor.getModel() && + (this._setState(2), + (this._diffComputationResult = null), + this._updateDecorationsRunner.schedule()); + } + ) + : (e._equals(t.uri, this._lastOriginalWarning) && + e._equals(i.uri, this._lastModifiedWarning)) || + ((this._lastOriginalWarning = t.uri), + (this._lastModifiedWarning = i.uri), + this._notificationService.warn( + n.N( + 'diff.tooLarge', + 'Cannot compare files because one file is too large.' + ) + )); + } + _cleanViewZonesAndDecorations() { + this._originalEditorState.clean(this.originalEditor), + this._modifiedEditorState.clean(this.modifiedEditor); + } + _updateDecorations() { + if ( + !( + this.originalEditor.getModel() && + this.modifiedEditor.getModel() && + this._originalOverviewRuler && + this._modifiedOverviewRuler + ) + ) + return; + const e = this._diffComputationResult + ? this._diffComputationResult.changes + : []; + let t = this._originalEditorState.getForeignViewZones( + this.originalEditor.getWhitespaces() + ), + i = this._modifiedEditorState.getForeignViewZones( + this.modifiedEditor.getWhitespaces() + ), + n = this._strategy.getEditorsDiffDecorations( + e, + this._ignoreTrimWhitespace, + this._renderIndicators, + t, + i, + this.originalEditor, + this.modifiedEditor + ); + try { + (this._currentlyChangingViewZones = !0), + this._originalEditorState.apply( + this.originalEditor, + this._originalOverviewRuler, + n.original, + !1 + ), + this._modifiedEditorState.apply( + this.modifiedEditor, + this._modifiedOverviewRuler, + n.modified, + !0 + ); + } finally { + this._currentlyChangingViewZones = !1; + } + } + _adjustOptionsForSubEditor(e) { + let t = d.I8(e || {}); + return ( + (t.inDiffEditor = !0), + (t.wordWrap = 'off'), + (t.wordWrapMinified = !1), + (t.automaticLayout = !1), + (t.scrollbar = t.scrollbar || {}), + (t.scrollbar.vertical = 'visible'), + (t.folding = !1), + (t.codeLens = !1), + (t.fixedOverflowWidgets = !0), + (t.overflowWidgetsDomNode = e.overflowWidgetsDomNode), + t.minimap || (t.minimap = {}), + (t.minimap.enabled = !1), + t + ); + } + _adjustOptionsForLeftHandSide(e, t, i) { + let n = this._adjustOptionsForSubEditor(e); + return ( + i && (n.codeLens = !0), + (n.readOnly = !t), + (n.extraEditorClassName = 'original-in-monaco-diff-editor'), + n + ); + } + _adjustOptionsForRightHandSide(t, i) { + let n = this._adjustOptionsForSubEditor(t); + return ( + i && (n.codeLens = !0), + (n.revealHorizontalRightPadding = + v.BH.revealHorizontalRightPadding.defaultValue + + e.ENTIRE_DIFF_OVERVIEW_WIDTH), + (n.scrollbar.verticalHasArrows = !1), + (n.extraEditorClassName = 'modified-in-monaco-diff-editor'), + n + ); + } + doLayout() { + this._elementSizeObserver.observe(), this._doLayout(); + } + _doLayout() { + const t = this._elementSizeObserver.getWidth(), + i = this._elementSizeObserver.getHeight(), + n = this._getReviewHeight(); + let r = this._strategy.layout(); + (this._originalDomNode.style.width = r + 'px'), + (this._originalDomNode.style.left = '0px'), + (this._modifiedDomNode.style.width = t - r + 'px'), + (this._modifiedDomNode.style.left = r + 'px'), + (this._overviewDomElement.style.top = '0px'), + (this._overviewDomElement.style.height = i - n + 'px'), + (this._overviewDomElement.style.width = + e.ENTIRE_DIFF_OVERVIEW_WIDTH + 'px'), + (this._overviewDomElement.style.left = + t - e.ENTIRE_DIFF_OVERVIEW_WIDTH + 'px'), + this._overviewViewportDomElement.setWidth( + e.ENTIRE_DIFF_OVERVIEW_WIDTH + ), + this._overviewViewportDomElement.setHeight(30), + this.originalEditor.layout({ width: r, height: i - n }), + this.modifiedEditor.layout({ + width: t - r - e.ENTIRE_DIFF_OVERVIEW_WIDTH, + height: i - n, + }), + (this._originalOverviewRuler || this._modifiedOverviewRuler) && + this._layoutOverviewRulers(), + this._reviewPane.layout(i - n, t, n), + this._layoutOverviewViewport(); + } + _layoutOverviewViewport() { + let e = this._computeOverviewViewport(); + e + ? (this._overviewViewportDomElement.setTop(e.top), + this._overviewViewportDomElement.setHeight(e.height)) + : (this._overviewViewportDomElement.setTop(0), + this._overviewViewportDomElement.setHeight(0)); + } + _computeOverviewViewport() { + let e = this.modifiedEditor.getLayoutInfo(); + if (!e) return null; + let t = this.modifiedEditor.getScrollTop(), + i = this.modifiedEditor.getScrollHeight(), + n = Math.max(0, e.height), + r = Math.max(0, n - 0), + s = i > 0 ? r / i : 0; + return { + height: Math.max(0, Math.floor(e.height * s)), + top: Math.floor(t * s), + }; + } + _createDataSource() { + return { + getWidth: () => this._elementSizeObserver.getWidth(), + getHeight: () => + this._elementSizeObserver.getHeight() - this._getReviewHeight(), + getContainerDomNode: () => this._containerDomElement, + relayoutEditors: () => { + this._doLayout(); + }, + getOriginalEditor: () => this.originalEditor, + getModifiedEditor: () => this.modifiedEditor, + }; + } + _setStrategy(e) { + this._strategy && this._strategy.dispose(), + (this._strategy = e), + e.applyColors(this._themeService.getColorTheme()), + this._diffComputationResult && this._updateDecorations(), + this._doLayout(); + } + _getLineChangeAtOrBeforeLineNumber(e, t) { + const i = this._diffComputationResult + ? this._diffComputationResult.changes + : []; + if (0 === i.length || e < t(i[0])) return null; + let n = 0, + r = i.length - 1; + for (; n < r; ) { + let s = Math.floor((n + r) / 2), + o = t(i[s]), + a = s + 1 <= r ? t(i[s + 1]) : 1073741824; + e < o ? (r = s - 1) : e >= a ? (n = s + 1) : ((n = s), (r = s)); + } + return i[n]; + } + _getEquivalentLineForOriginalLineNumber(e) { + let t = this._getLineChangeAtOrBeforeLineNumber( + e, + (e) => e.originalStartLineNumber + ); + if (!t) return e; + let i = + t.originalStartLineNumber + + (t.originalEndLineNumber > 0 ? -1 : 0), + n = + t.modifiedStartLineNumber + + (t.modifiedEndLineNumber > 0 ? -1 : 0), + r = + t.originalEndLineNumber > 0 + ? t.originalEndLineNumber - t.originalStartLineNumber + 1 + : 0, + s = + t.modifiedEndLineNumber > 0 + ? t.modifiedEndLineNumber - t.modifiedStartLineNumber + 1 + : 0, + o = e - i; + return o <= r ? n + Math.min(o, s) : n + s - r + o; + } + _getEquivalentLineForModifiedLineNumber(e) { + let t = this._getLineChangeAtOrBeforeLineNumber( + e, + (e) => e.modifiedStartLineNumber + ); + if (!t) return e; + let i = + t.originalStartLineNumber + + (t.originalEndLineNumber > 0 ? -1 : 0), + n = + t.modifiedStartLineNumber + + (t.modifiedEndLineNumber > 0 ? -1 : 0), + r = + t.originalEndLineNumber > 0 + ? t.originalEndLineNumber - t.originalStartLineNumber + 1 + : 0, + s = + t.modifiedEndLineNumber > 0 + ? t.modifiedEndLineNumber - t.modifiedStartLineNumber + 1 + : 0, + o = e - n; + return o <= s ? i + Math.min(o, r) : i + r - s + o; + } + getDiffLineInformationForOriginal(e) { + return this._diffComputationResult + ? { + equivalentLineNumber: this._getEquivalentLineForOriginalLineNumber( + e + ), + } + : null; + } + getDiffLineInformationForModified(e) { + return this._diffComputationResult + ? { + equivalentLineNumber: this._getEquivalentLineForModifiedLineNumber( + e + ), + } + : null; + } + }; + (ae.ONE_OVERVIEW_WIDTH = 15), + (ae.ENTIRE_DIFF_OVERVIEW_WIDTH = 30), + (ae.UPDATE_DIFF_DECORATIONS_DELAY = 200), + (ae = (function (e, t, i, n) { + var r, + s = arguments.length, + o = + s < 3 + ? t + : null === n + ? (n = Object.getOwnPropertyDescriptor(t, i)) + : n; + if ( + 'object' == typeof Reflect && + 'function' == typeof Reflect.decorate + ) + o = Reflect.decorate(e, t, i, n); + else + for (var a = e.length - 1; a >= 0; a--) + (r = e[a]) && + (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); + return s > 3 && o && Object.defineProperty(t, i, o), o; + })( + [ + ie(2, J.p), + ie(3, j.p), + ie(4, x.i6), + ie(5, U.TG), + ie(6, g.$), + ie(7, M.XE), + ie(8, K.lT), + ie(9, q.i), + ie(10, X.e), + ], + ae + )); + class le extends c.JT { + constructor(e) { + super(), + (this._dataSource = e), + (this._insertColor = null), + (this._removeColor = null); + } + applyColors(e) { + let t = (e.getColor(L.yp) || L.Cz).transparent(2), + i = (e.getColor(L.P4) || L.ke).transparent(2), + n = !t.equals(this._insertColor) || !i.equals(this._removeColor); + return (this._insertColor = t), (this._removeColor = i), n; + } + getEditorsDiffDecorations(e, t, i, n, r, s, o) { + (r = r.sort((e, t) => e.afterLineNumber - t.afterLineNumber)), + (n = n.sort((e, t) => e.afterLineNumber - t.afterLineNumber)); + let a = this._getViewZones(e, n, r, s, o, i), + l = this._getOriginalEditorDecorations(e, t, i, s, o), + c = this._getModifiedEditorDecorations(e, t, i, s, o); + return { + original: { + decorations: l.decorations, + overviewZones: l.overviewZones, + zones: a.original, + }, + modified: { + decorations: c.decorations, + overviewZones: c.overviewZones, + zones: a.modified, + }, + }; + } + } + class ce { + constructor(e) { + (this._source = e), + (this._index = -1), + (this.current = null), + this.advance(); + } + advance() { + this._index++, + this._index < this._source.length + ? (this.current = this._source[this._index]) + : (this.current = null); + } + } + class de { + constructor(e, t, i, n, r) { + (this.lineChanges = e), + (this.originalForeignVZ = t), + (this.originalLineHeight = i), + (this.modifiedForeignVZ = n), + (this.modifiedLineHeight = r); + } + getViewZones() { + let e = [], + t = [], + i = 0, + n = 0, + r = 0, + s = 0, + o = 0, + a = 0, + l = (e, t) => e.afterLineNumber - t.afterLineNumber, + c = (e, t) => { + if (null === t.domNode && e.length > 0) { + let i = e[e.length - 1]; + if ( + i.afterLineNumber === t.afterLineNumber && + null === i.domNode + ) + return void (i.heightInLines += t.heightInLines); + } + e.push(t); + }, + d = new ce(this.modifiedForeignVZ), + h = new ce(this.originalForeignVZ); + for (let u = 0, g = this.lineChanges.length; u <= g; u++) { + let f = u < g ? this.lineChanges[u] : null; + null !== f + ? ((r = + f.originalStartLineNumber + + (f.originalEndLineNumber > 0 ? -1 : 0)), + (s = + f.modifiedStartLineNumber + + (f.modifiedEndLineNumber > 0 ? -1 : 0)), + (n = + f.originalEndLineNumber > 0 + ? f.originalEndLineNumber - f.originalStartLineNumber + 1 + : 0), + (i = + f.modifiedEndLineNumber > 0 + ? f.modifiedEndLineNumber - f.modifiedStartLineNumber + 1 + : 0), + (o = Math.max( + f.originalStartLineNumber, + f.originalEndLineNumber + )), + (a = Math.max( + f.modifiedStartLineNumber, + f.modifiedEndLineNumber + ))) + : ((r += 1e7 + n), (s += 1e7 + i), (o = r), (a = s)); + let p = [], + m = []; + for (; d.current && d.current.afterLineNumber <= a; ) { + let e; + e = + d.current.afterLineNumber <= s + ? r - s + d.current.afterLineNumber + : o; + let t = null; + f && + f.modifiedStartLineNumber <= d.current.afterLineNumber && + d.current.afterLineNumber <= f.modifiedEndLineNumber && + (t = this._createOriginalMarginDomNodeForModifiedForeignViewZoneInAddedRegion()), + p.push({ + afterLineNumber: e, + heightInLines: d.current.height / this.modifiedLineHeight, + domNode: null, + marginDomNode: t, + }), + d.advance(); + } + for (; h.current && h.current.afterLineNumber <= o; ) { + let e; + (e = + h.current.afterLineNumber <= r + ? s - r + h.current.afterLineNumber + : a), + m.push({ + afterLineNumber: e, + heightInLines: h.current.height / this.originalLineHeight, + domNode: null, + }), + h.advance(); + } + if (null !== f && _e(f)) { + let e = this._produceOriginalFromDiff(f, n, i); + e && p.push(e); + } + if (null !== f && be(f)) { + let e = this._produceModifiedFromDiff(f, n, i); + e && m.push(e); + } + let _ = 0, + b = 0; + for ( + p = p.sort(l), m = m.sort(l); + _ < p.length && b < m.length; + + ) { + let i = p[_], + n = m[b], + o = i.afterLineNumber - r, + a = n.afterLineNumber - s; + o < a + ? (c(e, i), _++) + : a < o + ? (c(t, n), b++) + : i.shouldNotShrink + ? (c(e, i), _++) + : n.shouldNotShrink + ? (c(t, n), b++) + : i.heightInLines >= n.heightInLines + ? ((i.heightInLines -= n.heightInLines), b++) + : ((n.heightInLines -= i.heightInLines), _++); + } + for (; _ < p.length; ) c(e, p[_]), _++; + for (; b < m.length; ) c(t, m[b]), b++; + } + return { + original: de._ensureDomNodes(e), + modified: de._ensureDomNodes(t), + }; + } + static _ensureDomNodes(e) { + return e.map( + (e) => ( + e.domNode || + (e.domNode = (function () { + let e = document.createElement('div'); + return (e.className = 'diagonal-fill'), e; + })()), + e + ) + ); + } + } + function he(e, t, i, n, r) { + return { range: new B.e(e, t, i, n), options: r }; + } + const ue = { + charDelete: H.qx.register({ className: 'char-delete' }), + charDeleteWholeLine: H.qx.register({ + className: 'char-delete', + isWholeLine: !0, + }), + charInsert: H.qx.register({ className: 'char-insert' }), + charInsertWholeLine: H.qx.register({ + className: 'char-insert', + isWholeLine: !0, + }), + lineInsert: H.qx.register({ + className: 'line-insert', + marginClassName: 'line-insert', + isWholeLine: !0, + }), + lineInsertWithSign: H.qx.register({ + className: 'line-insert', + linesDecorationsClassName: 'insert-sign ' + se.classNames, + marginClassName: 'line-insert', + isWholeLine: !0, + }), + lineDelete: H.qx.register({ + className: 'line-delete', + marginClassName: 'line-delete', + isWholeLine: !0, + }), + lineDeleteWithSign: H.qx.register({ + className: 'line-delete', + linesDecorationsClassName: 'delete-sign ' + oe.classNames, + marginClassName: 'line-delete', + isWholeLine: !0, + }), + lineDeleteMargin: H.qx.register({ marginClassName: 'line-delete' }), + }; + class ge extends le { + constructor(e, t) { + super(e), + (this._disableSash = !1 === t), + (this._sashRatio = null), + (this._sashPosition = null), + (this._startSashPosition = null), + (this._sash = this._register( + new o.g(this._dataSource.getContainerDomNode(), this, { + orientation: 0, + }) + )), + this._disableSash && (this._sash.state = 0), + this._sash.onDidStart(() => this.onSashDragStart()), + this._sash.onDidChange((e) => this.onSashDrag(e)), + this._sash.onDidEnd(() => this.onSashDragEnd()), + this._sash.onDidReset(() => this.onSashReset()); + } + setEnableSplitViewResizing(e) { + let t = !1 === e; + this._disableSash !== t && + ((this._disableSash = t), + (this._sash.state = this._disableSash ? 0 : 3)); + } + layout(e = this._sashRatio) { + let t = this._dataSource.getWidth() - ae.ENTIRE_DIFF_OVERVIEW_WIDTH, + i = Math.floor((e || 0.5) * t), + n = Math.floor(0.5 * t); + return ( + (i = this._disableSash ? n : i || n), + t > 2 * ge.MINIMUM_EDITOR_WIDTH + ? (i < ge.MINIMUM_EDITOR_WIDTH && (i = ge.MINIMUM_EDITOR_WIDTH), + i > t - ge.MINIMUM_EDITOR_WIDTH && + (i = t - ge.MINIMUM_EDITOR_WIDTH)) + : (i = n), + this._sashPosition !== i && + ((this._sashPosition = i), this._sash.layout()), + this._sashPosition + ); + } + onSashDragStart() { + this._startSashPosition = this._sashPosition; + } + onSashDrag(e) { + let t = this._dataSource.getWidth() - ae.ENTIRE_DIFF_OVERVIEW_WIDTH, + i = this.layout( + (this._startSashPosition + (e.currentX - e.startX)) / t + ); + (this._sashRatio = i / t), this._dataSource.relayoutEditors(); + } + onSashDragEnd() { + this._sash.layout(); + } + onSashReset() { + (this._sashRatio = 0.5), + this._dataSource.relayoutEditors(), + this._sash.layout(); + } + getVerticalSashTop(e) { + return 0; + } + getVerticalSashLeft(e) { + return this._sashPosition; + } + getVerticalSashHeight(e) { + return this._dataSource.getHeight(); + } + _getViewZones(e, t, i, n, r) { + return new fe( + e, + t, + n.getOption(51), + i, + r.getOption(51) + ).getViewZones(); + } + _getOriginalEditorDecorations(e, t, i, n, r) { + const s = String(this._removeColor); + let o = { decorations: [], overviewZones: [] }, + a = n.getModel(); + for (let n = 0, r = e.length; n < r; n++) { + let r = e[n]; + if ( + be(r) && + (o.decorations.push({ + range: new B.e( + r.originalStartLineNumber, + 1, + r.originalEndLineNumber, + 1073741824 + ), + options: i ? ue.lineDeleteWithSign : ue.lineDelete, + }), + (_e(r) && r.charChanges) || + o.decorations.push( + he( + r.originalStartLineNumber, + 1, + r.originalEndLineNumber, + 1073741824, + ue.charDeleteWholeLine + ) + ), + o.overviewZones.push( + new V.EY( + r.originalStartLineNumber, + r.originalEndLineNumber, + s + ) + ), + r.charChanges) + ) + for (let e = 0, i = r.charChanges.length; e < i; e++) { + let i = r.charChanges[e]; + if (be(i)) + if (t) + for ( + let e = i.originalStartLineNumber; + e <= i.originalEndLineNumber; + e++ + ) { + let t, n; + (t = + e === i.originalStartLineNumber + ? i.originalStartColumn + : a.getLineFirstNonWhitespaceColumn(e)), + (n = + e === i.originalEndLineNumber + ? i.originalEndColumn + : a.getLineLastNonWhitespaceColumn(e)), + o.decorations.push(he(e, t, e, n, ue.charDelete)); + } + else + o.decorations.push( + he( + i.originalStartLineNumber, + i.originalStartColumn, + i.originalEndLineNumber, + i.originalEndColumn, + ue.charDelete + ) + ); + } + } + return o; + } + _getModifiedEditorDecorations(e, t, i, n, r) { + const s = String(this._insertColor); + let o = { decorations: [], overviewZones: [] }, + a = r.getModel(); + for (let n = 0, r = e.length; n < r; n++) { + let r = e[n]; + if ( + _e(r) && + (o.decorations.push({ + range: new B.e( + r.modifiedStartLineNumber, + 1, + r.modifiedEndLineNumber, + 1073741824 + ), + options: i ? ue.lineInsertWithSign : ue.lineInsert, + }), + (be(r) && r.charChanges) || + o.decorations.push( + he( + r.modifiedStartLineNumber, + 1, + r.modifiedEndLineNumber, + 1073741824, + ue.charInsertWholeLine + ) + ), + o.overviewZones.push( + new V.EY( + r.modifiedStartLineNumber, + r.modifiedEndLineNumber, + s + ) + ), + r.charChanges) + ) + for (let e = 0, i = r.charChanges.length; e < i; e++) { + let i = r.charChanges[e]; + if (_e(i)) + if (t) + for ( + let e = i.modifiedStartLineNumber; + e <= i.modifiedEndLineNumber; + e++ + ) { + let t, n; + (t = + e === i.modifiedStartLineNumber + ? i.modifiedStartColumn + : a.getLineFirstNonWhitespaceColumn(e)), + (n = + e === i.modifiedEndLineNumber + ? i.modifiedEndColumn + : a.getLineLastNonWhitespaceColumn(e)), + o.decorations.push(he(e, t, e, n, ue.charInsert)); + } + else + o.decorations.push( + he( + i.modifiedStartLineNumber, + i.modifiedStartColumn, + i.modifiedEndLineNumber, + i.modifiedEndColumn, + ue.charInsert + ) + ); + } + } + return o; + } + } + ge.MINIMUM_EDITOR_WIDTH = 100; + class fe extends de { + constructor(e, t, i, n, r) { + super(e, t, i, n, r); + } + _createOriginalMarginDomNodeForModifiedForeignViewZoneInAddedRegion() { + return null; + } + _produceOriginalFromDiff(e, t, i) { + return i > t + ? { + afterLineNumber: Math.max( + e.originalStartLineNumber, + e.originalEndLineNumber + ), + heightInLines: i - t, + domNode: null, + } + : null; + } + _produceModifiedFromDiff(e, t, i) { + return t > i + ? { + afterLineNumber: Math.max( + e.modifiedStartLineNumber, + e.modifiedEndLineNumber + ), + heightInLines: t - i, + domNode: null, + } + : null; + } + } + class pe extends le { + constructor(e, t) { + super(e), + (this.decorationsLeft = e + .getOriginalEditor() + .getLayoutInfo().decorationsLeft), + this._register( + e.getOriginalEditor().onDidLayoutChange((t) => { + this.decorationsLeft !== t.decorationsLeft && + ((this.decorationsLeft = t.decorationsLeft), + e.relayoutEditors()); + }) + ); + } + setEnableSplitViewResizing(e) {} + _getViewZones(e, t, i, n, r, s) { + return new me(e, t, i, n, r, s).getViewZones(); + } + _getOriginalEditorDecorations(e, t, i, n, r) { + const s = String(this._removeColor); + let o = { decorations: [], overviewZones: [] }; + for (let t = 0, i = e.length; t < i; t++) { + let i = e[t]; + be(i) && + (o.decorations.push({ + range: new B.e( + i.originalStartLineNumber, + 1, + i.originalEndLineNumber, + 1073741824 + ), + options: ue.lineDeleteMargin, + }), + o.overviewZones.push( + new V.EY( + i.originalStartLineNumber, + i.originalEndLineNumber, + s + ) + )); + } + return o; + } + _getModifiedEditorDecorations(e, t, i, n, r) { + const s = String(this._insertColor); + let o = { decorations: [], overviewZones: [] }, + a = r.getModel(); + for (let n = 0, r = e.length; n < r; n++) { + let r = e[n]; + if (_e(r)) + if ( + (o.decorations.push({ + range: new B.e( + r.modifiedStartLineNumber, + 1, + r.modifiedEndLineNumber, + 1073741824 + ), + options: i ? ue.lineInsertWithSign : ue.lineInsert, + }), + o.overviewZones.push( + new V.EY( + r.modifiedStartLineNumber, + r.modifiedEndLineNumber, + s + ) + ), + r.charChanges) + ) + for (let e = 0, i = r.charChanges.length; e < i; e++) { + let i = r.charChanges[e]; + if (_e(i)) + if (t) + for ( + let e = i.modifiedStartLineNumber; + e <= i.modifiedEndLineNumber; + e++ + ) { + let t, n; + (t = + e === i.modifiedStartLineNumber + ? i.modifiedStartColumn + : a.getLineFirstNonWhitespaceColumn(e)), + (n = + e === i.modifiedEndLineNumber + ? i.modifiedEndColumn + : a.getLineLastNonWhitespaceColumn(e)), + o.decorations.push(he(e, t, e, n, ue.charInsert)); + } + else + o.decorations.push( + he( + i.modifiedStartLineNumber, + i.modifiedStartColumn, + i.modifiedEndLineNumber, + i.modifiedEndColumn, + ue.charInsert + ) + ); + } + else + o.decorations.push( + he( + r.modifiedStartLineNumber, + 1, + r.modifiedEndLineNumber, + 1073741824, + ue.charInsertWholeLine + ) + ); + } + return o; + } + layout() { + return Math.max(5, this.decorationsLeft); + } + } + class me extends de { + constructor(e, t, i, n, r, s) { + super(e, t, n.getOption(51), i, r.getOption(51)), + (this.originalModel = n.getModel()), + (this.modifiedEditorOptions = r.getOptions()), + (this.modifiedEditorTabSize = r.getModel().getOptions().tabSize), + (this.renderIndicators = s); + } + _createOriginalMarginDomNodeForModifiedForeignViewZoneInAddedRegion() { + let e = document.createElement('div'); + return (e.className = 'inline-added-margin-view-zone'), e; + } + _produceOriginalFromDiff(e, t, i) { + let n = document.createElement('div'); + return ( + (n.className = 'inline-added-margin-view-zone'), + { + afterLineNumber: Math.max( + e.originalStartLineNumber, + e.originalEndLineNumber + ), + heightInLines: i, + domNode: document.createElement('div'), + marginDomNode: n, + } + ); + } + _produceModifiedFromDiff(e, t, i) { + let n = []; + if (e.charChanges) + for (let t = 0, i = e.charChanges.length; t < i; t++) { + let i = e.charChanges[t]; + be(i) && + n.push( + new k.$t( + new B.e( + i.originalStartLineNumber, + i.originalStartColumn, + i.originalEndLineNumber, + i.originalEndColumn + ), + 'char-delete', + 0 + ) + ); + } + let r = (0, W.l$)(1e4), + s = []; + const o = this.modifiedEditorOptions.get(117), + a = this.modifiedEditorOptions.get(36), + l = o.decorationsWidth; + let c = this.modifiedEditorOptions.get(51); + const d = a.typicalHalfwidthCharacterWidth; + let u = 0; + const g = []; + for ( + let t = e.originalStartLineNumber; + t <= e.originalEndLineNumber; + t++ + ) + if ( + ((u = Math.max( + u, + this._renderOriginalLine( + t - e.originalStartLineNumber, + this.originalModel, + this.modifiedEditorOptions, + this.modifiedEditorTabSize, + t, + n, + r + ) + )), + g.push(this.originalModel.getLineContent(t)), + this.renderIndicators) + ) { + let i = t - e.originalStartLineNumber; + s = s.concat([ + `<div class="delete-sign ${ + oe.classNames + }" style="position:absolute;top:${ + i * c + }px;width:${l}px;height:${c}px;right:0;"></div>`, + ]); + } + u += this.modifiedEditorOptions.get(85); + let f = document.createElement('div'); + (f.className = `view-lines line-delete ${te.S}`), + (f.innerHTML = r.build()), + h.V.applyFontInfoSlow(f, a); + let p = document.createElement('div'); + return ( + (p.className = 'inline-deleted-margin-view-zone'), + (p.innerHTML = s.join('')), + h.V.applyFontInfoSlow(p, a), + { + shouldNotShrink: !0, + afterLineNumber: + 0 === e.modifiedEndLineNumber + ? e.modifiedStartLineNumber + : e.modifiedStartLineNumber - 1, + heightInLines: t, + minWidthInPx: u * d, + domNode: f, + marginDomNode: p, + diff: { + originalStartLineNumber: e.originalStartLineNumber, + originalEndLineNumber: e.originalEndLineNumber, + modifiedStartLineNumber: e.modifiedStartLineNumber, + modifiedEndLineNumber: e.modifiedEndLineNumber, + originalContent: g, + }, + } + ); + } + _renderOriginalLine(e, t, i, n, r, s, o) { + const a = t.getLineTokens(r), + l = a.getLineContent(), + c = i.get(36), + d = z.Kp.filter(s, r, 1, l.length + 1); + o.appendASCIIString('<div class="view-line'), + 0 === s.length && o.appendASCIIString(' char-delete'), + o.appendASCIIString('" style="top:'), + o.appendASCIIString(String(e * i.get(51))), + o.appendASCIIString('px;width:1000000px;">'); + const h = k.wA.isBasicASCII(l, t.mightContainNonBasicASCII()), + u = k.wA.containsRTL(l, h, t.mightContainRTL()), + g = (0, S.d1)( + new S.IJ( + c.isMonospace && !i.get(24), + c.canUseHalfwidthRightwardsArrow, + l, + !1, + h, + u, + 0, + a, + d, + n, + 0, + c.spaceWidth, + c.middotWidth, + c.wsmiddotWidth, + i.get(95), + i.get(80), + i.get(74), + i.get(37) !== v.n0.OFF, + null + ), + o + ); + o.appendASCIIString('</div>'); + const f = g.characterMapping.getAbsoluteOffsets(); + return f.length > 0 ? f[f.length - 1] : 0; + } + } + function _e(e) { + return e.modifiedEndLineNumber > 0; + } + function be(e) { + return e.originalEndLineNumber > 0; + } + (0, M.Ic)((e, t) => { + const i = e.getColor(L.yp); + i && + (t.addRule( + `.monaco-editor .line-insert, .monaco-editor .char-insert { background-color: ${i}; }` + ), + t.addRule( + `.monaco-diff-editor .line-insert, .monaco-diff-editor .char-insert { background-color: ${i}; }` + ), + t.addRule( + `.monaco-editor .inline-added-margin-view-zone { background-color: ${i}; }` + )); + const n = e.getColor(L.P4); + n && + (t.addRule( + `.monaco-editor .line-delete, .monaco-editor .char-delete { background-color: ${n}; }` + ), + t.addRule( + `.monaco-diff-editor .line-delete, .monaco-diff-editor .char-delete { background-color: ${n}; }` + ), + t.addRule( + `.monaco-editor .inline-deleted-margin-view-zone { background-color: ${n}; }` + )); + const r = e.getColor(L.XL); + r && + t.addRule( + `.monaco-editor .line-insert, .monaco-editor .char-insert { border: 1px ${ + 'hc' === e.type ? 'dashed' : 'solid' + } ${r}; }` + ); + const s = e.getColor(L.mH); + s && + t.addRule( + `.monaco-editor .line-delete, .monaco-editor .char-delete { border: 1px ${ + 'hc' === e.type ? 'dashed' : 'solid' + } ${s}; }` + ); + const o = e.getColor(L._w); + o && + t.addRule( + `.monaco-diff-editor.side-by-side .editor.modified { box-shadow: -6px 0 5px -5px ${o}; }` + ); + const a = e.getColor(L.LL); + a && + t.addRule( + `.monaco-diff-editor.side-by-side .editor.modified { border-left: 1px solid ${a}; }` + ); + const l = e.getColor(L.et); + l && + t.addRule( + `\n\t\t\t.monaco-diff-editor .diffViewport {\n\t\t\t\tbackground: ${l};\n\t\t\t}\n\t\t` + ); + const c = e.getColor(L.AB); + c && + t.addRule( + `\n\t\t\t.monaco-diff-editor .diffViewport:hover {\n\t\t\t\tbackground: ${c};\n\t\t\t}\n\t\t` + ); + const d = e.getColor(L.yn); + d && + t.addRule( + `\n\t\t\t.monaco-diff-editor .diffViewport:active {\n\t\t\t\tbackground: ${d};\n\t\t\t}\n\t\t` + ); + const h = e.getColor(L.L_); + t.addRule( + `\n\t.monaco-editor .diagonal-fill {\n\t\tbackground-image: linear-gradient(\n\t\t\t-45deg,\n\t\t\t${h} 12.5%,\n\t\t\t#0000 12.5%, #0000 50%,\n\t\t\t${h} 50%, ${h} 62.5%,\n\t\t\t#0000 62.5%, #0000 100%\n\t\t);\n\t\tbackground-size: 8px 8px;\n\t}\n\t` + ); + }); + }, + 75623: (e, t, i) => { + 'use strict'; + i.d(t, { F: () => c }); + var n = i(35146), + r = i(4669), + s = i(5976), + o = i(36248), + a = i(24314); + const l = { + followsCaret: !0, + ignoreCharChanges: !0, + alwaysRevealFirst: !0, + }; + class c extends s.JT { + constructor(e, t = {}) { + super(), + (this._onDidUpdate = this._register(new r.Q5())), + (this._editor = e), + (this._options = o.jB(t, l, !1)), + (this.disposed = !1), + (this.nextIdx = -1), + (this.ranges = []), + (this.ignoreSelectionChange = !1), + (this.revealFirst = Boolean(this._options.alwaysRevealFirst)), + this._register(this._editor.onDidDispose(() => this.dispose())), + this._register( + this._editor.onDidUpdateDiff(() => this._onDiffUpdated()) + ), + this._options.followsCaret && + this._register( + this._editor + .getModifiedEditor() + .onDidChangeCursorPosition((e) => { + this.ignoreSelectionChange || (this.nextIdx = -1); + }) + ), + this._options.alwaysRevealFirst && + this._register( + this._editor.getModifiedEditor().onDidChangeModel((e) => { + this.revealFirst = !0; + }) + ), + this._init(); + } + _init() { + this._editor.getLineChanges(); + } + _onDiffUpdated() { + this._init(), + this._compute(this._editor.getLineChanges()), + this.revealFirst && + null !== this._editor.getLineChanges() && + ((this.revealFirst = !1), (this.nextIdx = -1), this.next(1)); + } + _compute(e) { + (this.ranges = []), + e && + e.forEach((e) => { + !this._options.ignoreCharChanges && e.charChanges + ? e.charChanges.forEach((e) => { + this.ranges.push({ + rhs: !0, + range: new a.e( + e.modifiedStartLineNumber, + e.modifiedStartColumn, + e.modifiedEndLineNumber, + e.modifiedEndColumn + ), + }); + }) + : this.ranges.push({ + rhs: !0, + range: new a.e( + e.modifiedStartLineNumber, + 1, + e.modifiedStartLineNumber, + 1 + ), + }); + }), + this.ranges.sort((e, t) => + e.range + .getStartPosition() + .isBeforeOrEqual(t.range.getStartPosition()) + ? -1 + : t.range + .getStartPosition() + .isBeforeOrEqual(e.range.getStartPosition()) + ? 1 + : 0 + ), + this._onDidUpdate.fire(this); + } + _initIdx(e) { + let t = !1, + i = this._editor.getPosition(); + if (i) { + for (let n = 0, r = this.ranges.length; n < r && !t; n++) { + let r = this.ranges[n].range; + i.isBeforeOrEqual(r.getStartPosition()) && + ((this.nextIdx = n + (e ? 0 : -1)), (t = !0)); + } + t || (this.nextIdx = e ? 0 : this.ranges.length - 1), + this.nextIdx < 0 && (this.nextIdx = this.ranges.length - 1); + } else this.nextIdx = 0; + } + _move(e, t) { + if ( + (n.ok( + !this.disposed, + 'Illegal State - diff navigator has been disposed' + ), + !this.canNavigate()) + ) + return; + -1 === this.nextIdx + ? this._initIdx(e) + : e + ? ((this.nextIdx += 1), + this.nextIdx >= this.ranges.length && (this.nextIdx = 0)) + : ((this.nextIdx -= 1), + this.nextIdx < 0 && (this.nextIdx = this.ranges.length - 1)); + let i = this.ranges[this.nextIdx]; + this.ignoreSelectionChange = !0; + try { + let e = i.range.getStartPosition(); + this._editor.setPosition(e), + this._editor.revealPositionInCenter(e, t); + } finally { + this.ignoreSelectionChange = !1; + } + } + canNavigate() { + return this.ranges && this.ranges.length > 0; + } + next(e = 0) { + this._move(!0, e); + } + previous(e = 0) { + this._move(!1, e); + } + dispose() { + super.dispose(), (this.ranges = []), (this.disposed = !0); + } + } + }, + 84527: (e, t, i) => { + 'use strict'; + i.d(t, { H: () => g }); + var n = i(36248), + r = i(11640), + s = i(95190), + o = i(94565), + a = i(38819), + l = i(72065), + c = i(59422), + d = i(97781), + h = i(31106), + u = function (e, t) { + return function (i, n) { + t(i, n, e); + }; + }; + let g = class extends s.Gm { + constructor(e, t, i, n, r, s, o, a, l, c) { + super( + e, + Object.assign(Object.assign({}, i.getRawOptions()), { + overflowWidgetsDomNode: i.getOverflowWidgetsDomNode(), + }), + {}, + n, + r, + s, + o, + a, + l, + c + ), + (this._parentEditor = i), + (this._overwriteOptions = t), + super.updateOptions(this._overwriteOptions), + this._register( + i.onDidChangeConfiguration((e) => + this._onParentConfigurationChanged(e) + ) + ); + } + getParentEditor() { + return this._parentEditor; + } + _onParentConfigurationChanged(e) { + super.updateOptions(this._parentEditor.getRawOptions()), + super.updateOptions(this._overwriteOptions); + } + updateOptions(e) { + n.jB(this._overwriteOptions, e, !0), + super.updateOptions(this._overwriteOptions); + } + }; + g = (function (e, t, i, n) { + var r, + s = arguments.length, + o = + s < 3 + ? t + : null === n + ? (n = Object.getOwnPropertyDescriptor(t, i)) + : n; + if ( + 'object' == typeof Reflect && + 'function' == typeof Reflect.decorate + ) + o = Reflect.decorate(e, t, i, n); + else + for (var a = e.length - 1; a >= 0; a--) + (r = e[a]) && + (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); + return s > 3 && o && Object.defineProperty(t, i, o), o; + })( + [ + u(3, l.TG), + u(4, r.$), + u(5, o.H), + u(6, a.i6), + u(7, d.XE), + u(8, c.lT), + u(9, h.F), + ], + g + ); + }, + 61329: (e, t, i) => { + 'use strict'; + i.d(t, { + T4: () => r, + OY: () => s, + Sj: () => o, + Uo: () => a, + hP: () => l, + }); + var n = i(3860); + class r { + constructor(e, t, i = !1) { + (this._range = e), + (this._text = t), + (this.insertsAutoWhitespace = i); + } + getEditOperations(e, t) { + t.addTrackedEditOperation(this._range, this._text); + } + computeCursorState(e, t) { + let i = t.getInverseEditOperations()[0].range; + return new n.Y( + i.endLineNumber, + i.endColumn, + i.endLineNumber, + i.endColumn + ); + } + } + class s { + constructor(e, t) { + (this._range = e), (this._text = t); + } + getEditOperations(e, t) { + t.addTrackedEditOperation(this._range, this._text); + } + computeCursorState(e, t) { + const i = t.getInverseEditOperations()[0].range; + return new n.Y( + i.startLineNumber, + i.startColumn, + i.endLineNumber, + i.endColumn + ); + } + } + class o { + constructor(e, t, i = !1) { + (this._range = e), + (this._text = t), + (this.insertsAutoWhitespace = i); + } + getEditOperations(e, t) { + t.addTrackedEditOperation(this._range, this._text); + } + computeCursorState(e, t) { + let i = t.getInverseEditOperations()[0].range; + return new n.Y( + i.startLineNumber, + i.startColumn, + i.startLineNumber, + i.startColumn + ); + } + } + class a { + constructor(e, t, i, n, r = !1) { + (this._range = e), + (this._text = t), + (this._columnDeltaOffset = n), + (this._lineNumberDeltaOffset = i), + (this.insertsAutoWhitespace = r); + } + getEditOperations(e, t) { + t.addTrackedEditOperation(this._range, this._text); + } + computeCursorState(e, t) { + let i = t.getInverseEditOperations()[0].range; + return new n.Y( + i.endLineNumber + this._lineNumberDeltaOffset, + i.endColumn + this._columnDeltaOffset, + i.endLineNumber + this._lineNumberDeltaOffset, + i.endColumn + this._columnDeltaOffset + ); + } + } + class l { + constructor(e, t, i, n = !1) { + (this._range = e), + (this._text = t), + (this._initialSelection = i), + (this._forceMoveMarkers = n), + (this._selectionId = null); + } + getEditOperations(e, t) { + t.addTrackedEditOperation( + this._range, + this._text, + this._forceMoveMarkers + ), + (this._selectionId = t.trackSelection(this._initialSelection)); + } + computeCursorState(e, t) { + return t.getTrackedSelection(this._selectionId); + } + } + }, + 10291: (e, t, i) => { + 'use strict'; + i.d(t, { U: () => d }); + var n = i(97295), + r = i(33181), + s = i(24314), + o = i(3860), + a = i(83831); + const l = Object.create(null); + function c(e, t) { + l[e] || (l[e] = ['', e]); + const i = l[e]; + for (let n = i.length; n <= t; n++) i[n] = i[n - 1] + e; + return i[t]; + } + class d { + constructor(e, t) { + (this._opts = t), + (this._selection = e), + (this._selectionId = null), + (this._useLastEditRangeForCursorEndPosition = !1), + (this._selectionStartColumnStaysPut = !1); + } + static unshiftIndent(e, t, i, n, s) { + const o = r.io.visibleColumnFromColumn(e, t, i); + if (s) { + const e = c(' ', n); + return c(e, r.io.prevIndentTabStop(o, n) / n); + } + return c('\t', r.io.prevRenderTabStop(o, i) / i); + } + static shiftIndent(e, t, i, n, s) { + const o = r.io.visibleColumnFromColumn(e, t, i); + if (s) { + const e = c(' ', n); + return c(e, r.io.nextIndentTabStop(o, n) / n); + } + return c('\t', r.io.nextRenderTabStop(o, i) / i); + } + _addEditOperation(e, t, i) { + this._useLastEditRangeForCursorEndPosition + ? e.addTrackedEditOperation(t, i) + : e.addEditOperation(t, i); + } + getEditOperations(e, t) { + const i = this._selection.startLineNumber; + let o = this._selection.endLineNumber; + 1 === this._selection.endColumn && i !== o && (o -= 1); + const { tabSize: l, indentSize: h, insertSpaces: u } = this._opts, + g = i === o; + if (this._opts.useTabStops) { + this._selection.isEmpty() && + /^\s*$/.test(e.getLineContent(i)) && + (this._useLastEditRangeForCursorEndPosition = !0); + let c = 0, + f = 0; + for (let p = i; p <= o; p++, c = f) { + f = 0; + let o, + m = e.getLineContent(p), + _ = n.LC(m); + if ( + (!this._opts.isUnshift || (0 !== m.length && 0 !== _)) && + (g || this._opts.isUnshift || 0 !== m.length) + ) { + if ( + (-1 === _ && (_ = m.length), + p > 1 && + r.io.visibleColumnFromColumn(m, _ + 1, l) % h != 0 && + e.isCheapToTokenize(p - 1)) + ) { + let t = a.zu.getEnterAction( + this._opts.autoIndent, + e, + new s.e( + p - 1, + e.getLineMaxColumn(p - 1), + p - 1, + e.getLineMaxColumn(p - 1) + ) + ); + if (t) { + if (((f = c), t.appendText)) + for ( + let e = 0, i = t.appendText.length; + e < i && f < h && 32 === t.appendText.charCodeAt(e); + e++ + ) + f++; + t.removeText && (f = Math.max(0, f - t.removeText)); + for ( + let e = 0; + e < f && 0 !== _ && 32 === m.charCodeAt(_ - 1); + e++ + ) + _--; + } + } + (this._opts.isUnshift && 0 === _) || + ((o = this._opts.isUnshift + ? d.unshiftIndent(m, _ + 1, l, h, u) + : d.shiftIndent(m, _ + 1, l, h, u)), + this._addEditOperation(t, new s.e(p, 1, p, _ + 1), o), + p !== i || + this._selection.isEmpty() || + (this._selectionStartColumnStaysPut = + this._selection.startColumn <= _ + 1)); + } + } + } else { + !this._opts.isUnshift && + this._selection.isEmpty() && + 0 === e.getLineLength(i) && + (this._useLastEditRangeForCursorEndPosition = !0); + const r = u ? c(' ', h) : '\t'; + for (let a = i; a <= o; a++) { + const o = e.getLineContent(a); + let l = n.LC(o); + if ( + (!this._opts.isUnshift || (0 !== o.length && 0 !== l)) && + (g || this._opts.isUnshift || 0 !== o.length) && + (-1 === l && (l = o.length), !this._opts.isUnshift || 0 !== l) + ) + if (this._opts.isUnshift) { + l = Math.min(l, h); + for (let e = 0; e < l; e++) + if (9 === o.charCodeAt(e)) { + l = e + 1; + break; + } + this._addEditOperation(t, new s.e(a, 1, a, l + 1), ''); + } else + this._addEditOperation(t, new s.e(a, 1, a, 1), r), + a !== i || + this._selection.isEmpty() || + (this._selectionStartColumnStaysPut = + 1 === this._selection.startColumn); + } + } + this._selectionId = t.trackSelection(this._selection); + } + computeCursorState(e, t) { + if (this._useLastEditRangeForCursorEndPosition) { + let e = t.getInverseEditOperations()[0]; + return new o.Y( + e.range.endLineNumber, + e.range.endColumn, + e.range.endLineNumber, + e.range.endColumn + ); + } + const i = t.getTrackedSelection(this._selectionId); + if (this._selectionStartColumnStaysPut) { + let e = this._selection.startColumn; + return i.startColumn <= e + ? i + : 0 === i.getDirection() + ? new o.Y(i.startLineNumber, e, i.endLineNumber, i.endColumn) + : new o.Y(i.endLineNumber, i.endColumn, i.startLineNumber, e); + } + return i; + } + } + }, + 56345: (e, t, i) => { + 'use strict'; + i.d(t, { nG: () => f, fv: () => y, ei: () => M, Pe: () => D }); + var n = i(63580), + r = i(4669), + s = i(5976), + o = i(36248), + a = i(9488), + l = i(64141), + c = i(82334), + d = i(27374), + h = i(23193), + u = i(89872), + g = i(6626); + const f = new (class { + constructor() { + (this._tabFocus = !1), + (this._onDidChangeTabFocus = new r.Q5()), + (this.onDidChangeTabFocus = this._onDidChangeTabFocus.event); + } + getTabFocusMode() { + return this._tabFocus; + } + setTabFocusMode(e) { + this._tabFocus !== e && + ((this._tabFocus = e), + this._onDidChangeTabFocus.fire(this._tabFocus)); + } + })(), + p = Object.hasOwnProperty; + class m { + constructor() { + this._values = []; + } + _read(e) { + return this._values[e]; + } + get(e) { + return this._values[e]; + } + _write(e, t) { + this._values[e] = t; + } + } + class _ { + constructor() { + this._values = []; + } + _read(e) { + return this._values[e]; + } + _write(e, t) { + this._values[e] = t; + } + } + class b { + static readOptions(e) { + const t = e, + i = new _(); + for (const e of l.Bc) { + const n = '_never_' === e.name ? void 0 : t[e.name]; + i._write(e.id, n); + } + return i; + } + static validateOptions(e) { + const t = new l.hu(); + for (const i of l.Bc) t._write(i.id, i.validate(e._read(i.id))); + return t; + } + static computeOptions(e, t) { + const i = new m(); + for (const n of l.Bc) + i._write(n.id, n.compute(t, i, e._read(n.id))); + return i; + } + static _deepEquals(e, t) { + if ('object' != typeof e || 'object' != typeof t) return e === t; + if (Array.isArray(e) || Array.isArray(t)) + return !(!Array.isArray(e) || !Array.isArray(t)) && a.fS(e, t); + for (let i in e) if (!b._deepEquals(e[i], t[i])) return !1; + return !0; + } + static checkEquals(e, t) { + const i = []; + let n = !1; + for (const r of l.Bc) { + const s = !b._deepEquals(e._read(r.id), t._read(r.id)); + (i[r.id] = s), s && (n = !0); + } + return n ? new l.Bb(i) : null; + } + } + function v(e) { + const t = o.I8(e); + return ( + (function (e) { + const t = e.wordWrap; + !0 === t ? (e.wordWrap = 'on') : !1 === t && (e.wordWrap = 'off'); + const i = e.lineNumbers; + !0 === i + ? (e.lineNumbers = 'on') + : !1 === i && (e.lineNumbers = 'off'), + !1 === e.autoClosingBrackets && + ((e.autoClosingBrackets = 'never'), + (e.autoClosingQuotes = 'never'), + (e.autoSurround = 'never')), + 'visible' === e.cursorBlinking && (e.cursorBlinking = 'solid'); + const n = e.renderWhitespace; + !0 === n + ? (e.renderWhitespace = 'boundary') + : !1 === n && (e.renderWhitespace = 'none'); + const r = e.renderLineHighlight; + !0 === r + ? (e.renderLineHighlight = 'line') + : !1 === r && (e.renderLineHighlight = 'none'); + const s = e.acceptSuggestionOnEnter; + !0 === s + ? (e.acceptSuggestionOnEnter = 'on') + : !1 === s && (e.acceptSuggestionOnEnter = 'off'); + const o = e.tabCompletion; + !1 === o + ? (e.tabCompletion = 'off') + : !0 === o && (e.tabCompletion = 'onlySnippets'); + const a = e.suggest; + if (a && 'object' == typeof a.filteredTypes && a.filteredTypes) { + const e = { + method: 'showMethods', + function: 'showFunctions', + constructor: 'showConstructors', + field: 'showFields', + variable: 'showVariables', + class: 'showClasses', + struct: 'showStructs', + interface: 'showInterfaces', + module: 'showModules', + property: 'showProperties', + event: 'showEvents', + operator: 'showOperators', + unit: 'showUnits', + value: 'showValues', + constant: 'showConstants', + enum: 'showEnums', + enumMember: 'showEnumMembers', + keyword: 'showKeywords', + text: 'showWords', + color: 'showColors', + file: 'showFiles', + reference: 'showReferences', + folder: 'showFolders', + typeParameter: 'showTypeParameters', + snippet: 'showSnippets', + }; + (0, g.E)(e, (e) => { + const t = a.filteredTypes[e.key]; + !1 === t && (a[e.value] = t); + }); + } + const l = e.hover; + !0 === l + ? (e.hover = { enabled: !0 }) + : !1 === l && (e.hover = { enabled: !1 }); + const c = e.parameterHints; + !0 === c + ? (e.parameterHints = { enabled: !0 }) + : !1 === c && (e.parameterHints = { enabled: !1 }); + const d = e.autoIndent; + !0 === d + ? (e.autoIndent = 'full') + : !1 === d && (e.autoIndent = 'advanced'); + const h = e.matchBrackets; + !0 === h + ? (e.matchBrackets = 'always') + : !1 === h && (e.matchBrackets = 'never'); + })(t), + t + ); + } + class y extends s.JT { + constructor(e, t) { + super(), + (this._onDidChange = this._register(new r.Q5())), + (this.onDidChange = this._onDidChange.event), + (this._onDidChangeFast = this._register(new r.Q5())), + (this.onDidChangeFast = this._onDidChangeFast.event), + (this.isSimpleWidget = e), + (this._isDominatedByLongLines = !1), + (this._computeOptionsMemory = new l.LJ()), + (this._viewLineCount = 1), + (this._lineNumbersDigitCount = 1), + (this._rawOptions = v(t)), + (this._readOptions = b.readOptions(this._rawOptions)), + (this._validatedOptions = b.validateOptions(this._readOptions)), + this._register( + c.C.onDidChangeZoomLevel((e) => this._recomputeOptions()) + ), + this._register( + f.onDidChangeTabFocus((e) => this._recomputeOptions()) + ); + } + observeReferenceElement(e) {} + dispose() { + super.dispose(); + } + _recomputeOptions() { + const e = this.options, + t = this._computeInternalOptions(); + if (e) { + const i = b.checkEquals(e, t); + if (null === i) return; + (this.options = t), + this._onDidChangeFast.fire(i), + this._onDidChange.fire(i); + } else this.options = t; + } + getRawOptions() { + return this._rawOptions; + } + _computeInternalOptions() { + const e = this._getEnvConfiguration(), + t = d.E.createFromValidatedSettings( + this._validatedOptions, + e.zoomLevel, + this.isSimpleWidget + ), + i = { + memory: this._computeOptionsMemory, + outerWidth: e.outerWidth, + outerHeight: e.outerHeight, + fontInfo: this.readConfiguration(t), + extraEditorClassName: e.extraEditorClassName, + isDominatedByLongLines: this._isDominatedByLongLines, + viewLineCount: this._viewLineCount, + lineNumbersDigitCount: this._lineNumbersDigitCount, + emptySelectionClipboard: e.emptySelectionClipboard, + pixelRatio: e.pixelRatio, + tabFocusMode: f.getTabFocusMode(), + accessibilitySupport: e.accessibilitySupport, + }; + return b.computeOptions(this._validatedOptions, i); + } + static _subsetEquals(e, t) { + for (const i in t) + if (p.call(t, i)) { + const n = t[i], + r = e[i]; + if (r === n) continue; + if (Array.isArray(r) && Array.isArray(n)) { + if (!a.fS(r, n)) return !1; + continue; + } + if (r && 'object' == typeof r && n && 'object' == typeof n) { + if (!this._subsetEquals(r, n)) return !1; + continue; + } + return !1; + } + return !0; + } + updateOptions(e) { + if (void 0 === e) return; + const t = v(e); + y._subsetEquals(this._rawOptions, t) || + ((this._rawOptions = o.jB(this._rawOptions, t || {})), + (this._readOptions = b.readOptions(this._rawOptions)), + (this._validatedOptions = b.validateOptions(this._readOptions)), + this._recomputeOptions()); + } + setIsDominatedByLongLines(e) { + (this._isDominatedByLongLines = e), this._recomputeOptions(); + } + setMaxLineNumber(e) { + const t = y._digitCount(e); + this._lineNumbersDigitCount !== t && + ((this._lineNumbersDigitCount = t), this._recomputeOptions()); + } + setViewLineCount(e) { + this._viewLineCount !== e && + ((this._viewLineCount = e), this._recomputeOptions()); + } + static _digitCount(e) { + let t = 0; + for (; e; ) (e = Math.floor(e / 10)), t++; + return t || 1; + } + } + const w = Object.freeze({ + id: 'editor', + order: 5, + type: 'object', + title: n.N('editorConfigurationTitle', 'Editor'), + scope: 5, + }), + C = u.B.as(h.IP.Configuration), + S = Object.assign(Object.assign({}, w), { + properties: { + 'editor.tabSize': { + type: 'number', + default: l.DB.tabSize, + minimum: 1, + markdownDescription: n.N( + 'tabSize', + 'The number of spaces a tab is equal to. This setting is overridden based on the file contents when `#editor.detectIndentation#` is on.' + ), + }, + 'editor.insertSpaces': { + type: 'boolean', + default: l.DB.insertSpaces, + markdownDescription: n.N( + 'insertSpaces', + 'Insert spaces when pressing `Tab`. This setting is overridden based on the file contents when `#editor.detectIndentation#` is on.' + ), + }, + 'editor.detectIndentation': { + type: 'boolean', + default: l.DB.detectIndentation, + markdownDescription: n.N( + 'detectIndentation', + 'Controls whether `#editor.tabSize#` and `#editor.insertSpaces#` will be automatically detected when a file is opened based on the file contents.' + ), + }, + 'editor.trimAutoWhitespace': { + type: 'boolean', + default: l.DB.trimAutoWhitespace, + description: n.N( + 'trimAutoWhitespace', + 'Remove trailing auto inserted whitespace.' + ), + }, + 'editor.largeFileOptimizations': { + type: 'boolean', + default: l.DB.largeFileOptimizations, + description: n.N( + 'largeFileOptimizations', + 'Special handling for large files to disable certain memory intensive features.' + ), + }, + 'editor.wordBasedSuggestions': { + type: 'boolean', + default: !0, + description: n.N( + 'wordBasedSuggestions', + 'Controls whether completions should be computed based on words in the document.' + ), + }, + 'editor.semanticHighlighting.enabled': { + enum: [!0, !1, 'configuredByTheme'], + enumDescriptions: [ + n.N( + 'semanticHighlighting.true', + 'Semantic highlighting enabled for all color themes.' + ), + n.N( + 'semanticHighlighting.false', + 'Semantic highlighting disabled for all color themes.' + ), + n.N( + 'semanticHighlighting.configuredByTheme', + "Semantic highlighting is configured by the current color theme's `semanticHighlighting` setting." + ), + ], + default: 'configuredByTheme', + description: n.N( + 'semanticHighlighting.enabled', + 'Controls whether the semanticHighlighting is shown for the languages that support it.' + ), + }, + 'editor.stablePeek': { + type: 'boolean', + default: !1, + markdownDescription: n.N( + 'stablePeek', + 'Keep peek editors open even when double clicking their content or when hitting `Escape`.' + ), + }, + 'editor.maxTokenizationLineLength': { + type: 'integer', + default: 2e4, + description: n.N( + 'maxTokenizationLineLength', + 'Lines above this length will not be tokenized for performance reasons' + ), + }, + 'diffEditor.maxComputationTime': { + type: 'number', + default: 5e3, + description: n.N( + 'maxComputationTime', + 'Timeout in milliseconds after which diff computation is cancelled. Use 0 for no timeout.' + ), + }, + 'diffEditor.renderSideBySide': { + type: 'boolean', + default: !0, + description: n.N( + 'sideBySide', + 'Controls whether the diff editor shows the diff side by side or inline.' + ), + }, + 'diffEditor.ignoreTrimWhitespace': { + type: 'boolean', + default: !0, + description: n.N( + 'ignoreTrimWhitespace', + 'When enabled, the diff editor ignores changes in leading or trailing whitespace.' + ), + }, + 'diffEditor.renderIndicators': { + type: 'boolean', + default: !0, + description: n.N( + 'renderIndicators', + 'Controls whether the diff editor shows +/- indicators for added/removed changes.' + ), + }, + 'diffEditor.codeLens': { + type: 'boolean', + default: !1, + description: n.N( + 'codeLens', + 'Controls whether the editor shows CodeLens.' + ), + }, + }, + }); + for (const e of l.Bc) { + const t = e.schema; + if (void 0 !== t) + if (void 0 !== (k = t).type || void 0 !== k.anyOf) + S.properties[`editor.${e.name}`] = t; + else for (let e in t) p.call(t, e) && (S.properties[e] = t[e]); + } + var k; + let x = null; + function L() { + return ( + null === x && + ((x = Object.create(null)), + Object.keys(S.properties).forEach((e) => { + x[e] = !0; + })), + x + ); + } + function M(e) { + return L()[`editor.${e}`] || !1; + } + function D(e) { + return L()[`diffEditor.${e}`] || !1; + } + C.registerConfiguration(S); + }, + 64141: (e, t, i) => { + 'use strict'; + i.d(t, { + y0: () => o, + Bb: () => a, + hu: () => l, + LJ: () => c, + d2: () => v, + n0: () => y, + gk: () => C, + $J: () => S, + hL: () => x, + DB: () => L, + Bc: () => M, + BH: () => N, + }); + var n = i(63580), + r = i(1432), + s = i(97461); + const o = 8; + class a { + constructor(e) { + this._values = e; + } + hasChanged(e) { + return this._values[e]; + } + } + class l { + constructor() { + this._values = []; + } + _read(e) { + return this._values[e]; + } + get(e) { + return this._values[e]; + } + _write(e, t) { + this._values[e] = t; + } + } + class c { + constructor() { + (this.stableMinimapLayoutInput = null), + (this.stableFitMaxMinimapScale = 0), + (this.stableFitRemainingWidth = 0); + } + } + class d { + constructor(e, t, i, n) { + (this.id = e), + (this.name = t), + (this.defaultValue = i), + (this.schema = n); + } + compute(e, t, i) { + return i; + } + } + class h { + constructor(e, t = null) { + (this.schema = void 0), + (this.id = e), + (this.name = '_never_'), + (this.defaultValue = void 0), + (this.deps = t); + } + validate(e) { + return this.defaultValue; + } + } + class u { + constructor(e, t, i, n) { + (this.id = e), + (this.name = t), + (this.defaultValue = i), + (this.schema = n); + } + validate(e) { + return void 0 === e ? this.defaultValue : e; + } + compute(e, t, i) { + return i; + } + } + class g extends u { + static boolean(e, t) { + return void 0 === e ? t : 'false' !== e && Boolean(e); + } + constructor(e, t, i, n) { + void 0 !== n && ((n.type = 'boolean'), (n.default = i)), + super(e, t, i, n); + } + validate(e) { + return g.boolean(e, this.defaultValue); + } + } + class f extends u { + constructor(e, t, i, n, r, s) { + void 0 !== s && + ((s.type = 'integer'), + (s.default = i), + (s.minimum = n), + (s.maximum = r)), + super(e, t, i, s), + (this.minimum = n), + (this.maximum = r); + } + static clampedInt(e, t, i, n) { + if (void 0 === e) return t; + let r = parseInt(e, 10); + return isNaN(r) + ? t + : ((r = Math.max(i, r)), (r = Math.min(n, r)), 0 | r); + } + validate(e) { + return f.clampedInt( + e, + this.defaultValue, + this.minimum, + this.maximum + ); + } + } + class p extends u { + constructor(e, t, i, n, r) { + void 0 !== r && ((r.type = 'number'), (r.default = i)), + super(e, t, i, r), + (this.validationFn = n); + } + static clamp(e, t, i) { + return e < t ? t : e > i ? i : e; + } + static float(e, t) { + if ('number' == typeof e) return e; + if (void 0 === e) return t; + const i = parseFloat(e); + return isNaN(i) ? t : i; + } + validate(e) { + return this.validationFn(p.float(e, this.defaultValue)); + } + } + class m extends u { + static string(e, t) { + return 'string' != typeof e ? t : e; + } + constructor(e, t, i, n) { + void 0 !== n && ((n.type = 'string'), (n.default = i)), + super(e, t, i, n); + } + validate(e) { + return m.string(e, this.defaultValue); + } + } + class _ extends u { + constructor(e, t, i, n, r) { + void 0 !== r && + ((r.type = 'string'), (r.enum = n), (r.default = i)), + super(e, t, i, r), + (this._allowedValues = n); + } + static stringSet(e, t, i) { + return 'string' != typeof e || -1 === i.indexOf(e) ? t : e; + } + validate(e) { + return _.stringSet(e, this.defaultValue, this._allowedValues); + } + } + class b extends d { + constructor(e, t, i, n, r, s, o) { + void 0 !== o && + ((o.type = 'string'), (o.enum = r), (o.default = n)), + super(e, t, i, o), + (this._allowedValues = r), + (this._convert = s); + } + validate(e) { + return 'string' != typeof e || -1 === this._allowedValues.indexOf(e) + ? this.defaultValue + : this._convert(e); + } + } + var v; + !(function (e) { + (e[(e.Line = 1)] = 'Line'), + (e[(e.Block = 2)] = 'Block'), + (e[(e.Underline = 3)] = 'Underline'), + (e[(e.LineThin = 4)] = 'LineThin'), + (e[(e.BlockOutline = 5)] = 'BlockOutline'), + (e[(e.UnderlineThin = 6)] = 'UnderlineThin'); + })(v || (v = {})); + class y extends d { + constructor() { + super(37, 'fontLigatures', y.OFF, { + anyOf: [ + { + type: 'boolean', + description: n.N( + 'fontLigatures', + 'Enables/Disables font ligatures.' + ), + }, + { + type: 'string', + description: n.N( + 'fontFeatureSettings', + 'Explicit font-feature-settings.' + ), + }, + ], + description: n.N( + 'fontLigaturesGeneral', + 'Configures font ligatures or font features.' + ), + default: !1, + }); + } + validate(e) { + return void 0 === e + ? this.defaultValue + : 'string' == typeof e + ? 'false' === e + ? y.OFF + : 'true' === e + ? y.ON + : e + : Boolean(e) + ? y.ON + : y.OFF; + } + } + (y.OFF = '"liga" off, "calt" off'), (y.ON = '"liga" on, "calt" on'); + class w extends d { + constructor() { + super(39, 'fontWeight', x.fontWeight, { + anyOf: [ + { + type: 'number', + minimum: w.MINIMUM_VALUE, + maximum: w.MAXIMUM_VALUE, + errorMessage: n.N( + 'fontWeightErrorMessage', + 'Only "normal" and "bold" keywords or numbers between 1 and 1000 are allowed.' + ), + }, + { + type: 'string', + pattern: '^(normal|bold|1000|[1-9][0-9]{0,2})$', + }, + { enum: w.SUGGESTION_VALUES }, + ], + default: x.fontWeight, + description: n.N( + 'fontWeight', + 'Controls the font weight. Accepts "normal" and "bold" keywords or numbers between 1 and 1000.' + ), + }); + } + validate(e) { + return 'normal' === e || 'bold' === e + ? e + : String( + f.clampedInt( + e, + x.fontWeight, + w.MINIMUM_VALUE, + w.MAXIMUM_VALUE + ) + ); + } + } + (w.SUGGESTION_VALUES = [ + 'normal', + 'bold', + '100', + '200', + '300', + '400', + '500', + '600', + '700', + '800', + '900', + ]), + (w.MINIMUM_VALUE = 1), + (w.MAXIMUM_VALUE = 1e3); + class C extends h { + constructor() { + super(117, [42, 50, 31, 56, 84, 52, 53, 86, 106, 109, 110, 2]); + } + compute(e, t, i) { + return C.computeLayout(t, { + memory: e.memory, + outerWidth: e.outerWidth, + outerHeight: e.outerHeight, + isDominatedByLongLines: e.isDominatedByLongLines, + lineHeight: e.fontInfo.lineHeight, + viewLineCount: e.viewLineCount, + lineNumbersDigitCount: e.lineNumbersDigitCount, + typicalHalfwidthCharacterWidth: + e.fontInfo.typicalHalfwidthCharacterWidth, + maxDigitWidth: e.fontInfo.maxDigitWidth, + pixelRatio: e.pixelRatio, + }); + } + static computeContainedMinimapLineCount(e) { + const t = e.height / e.lineHeight, + i = e.scrollBeyondLastLine ? t - 1 : 0, + n = (e.viewLineCount + i) / (e.pixelRatio * e.height); + return { + typicalViewportLineCount: t, + extraLinesBeyondLastLine: i, + desiredRatio: n, + minimapLineCount: Math.floor(e.viewLineCount / n), + }; + } + static _computeMinimapLayout(e, t) { + const i = e.outerWidth, + n = e.outerHeight, + r = e.pixelRatio; + if (!e.minimap.enabled) + return { + renderMinimap: 0, + minimapLeft: 0, + minimapWidth: 0, + minimapHeightIsEditorHeight: !1, + minimapIsSampling: !1, + minimapScale: 1, + minimapLineHeight: 1, + minimapCanvasInnerWidth: 0, + minimapCanvasInnerHeight: Math.floor(r * n), + minimapCanvasOuterWidth: 0, + minimapCanvasOuterHeight: n, + }; + const s = t.stableMinimapLayoutInput, + a = + s && + e.outerHeight === s.outerHeight && + e.lineHeight === s.lineHeight && + e.typicalHalfwidthCharacterWidth === + s.typicalHalfwidthCharacterWidth && + e.pixelRatio === s.pixelRatio && + e.scrollBeyondLastLine === s.scrollBeyondLastLine && + e.minimap.enabled === s.minimap.enabled && + e.minimap.side === s.minimap.side && + e.minimap.size === s.minimap.size && + e.minimap.showSlider === s.minimap.showSlider && + e.minimap.renderCharacters === s.minimap.renderCharacters && + e.minimap.maxColumn === s.minimap.maxColumn && + e.minimap.scale === s.minimap.scale && + e.verticalScrollbarWidth === s.verticalScrollbarWidth && + e.isViewportWrapping === s.isViewportWrapping, + l = e.lineHeight, + c = e.typicalHalfwidthCharacterWidth, + d = e.scrollBeyondLastLine, + h = e.minimap.renderCharacters; + let u = r >= 2 ? Math.round(2 * e.minimap.scale) : e.minimap.scale; + const g = e.minimap.maxColumn, + f = e.minimap.size, + p = e.minimap.side, + m = e.verticalScrollbarWidth, + _ = e.viewLineCount, + b = e.remainingWidth, + v = e.isViewportWrapping, + y = h ? 2 : 3; + let w = Math.floor(r * n); + const S = w / r; + let k = !1, + x = !1, + L = y * u, + M = u / r, + D = 1; + if ('fill' === f || 'fit' === f) { + const { + typicalViewportLineCount: i, + extraLinesBeyondLastLine: s, + desiredRatio: o, + minimapLineCount: c, + } = C.computeContainedMinimapLineCount({ + viewLineCount: _, + scrollBeyondLastLine: d, + height: n, + lineHeight: l, + pixelRatio: r, + }); + if (_ / c > 1) (k = !0), (x = !0), (u = 1), (L = 1), (M = u / r); + else { + let n = !1, + c = u + 1; + if ('fit' === f) { + const i = Math.ceil((_ + s) * L); + v && a && b <= t.stableFitRemainingWidth + ? ((n = !0), (c = t.stableFitMaxMinimapScale)) + : ((n = i > w), + v && n + ? ((t.stableMinimapLayoutInput = e), + (t.stableFitRemainingWidth = b)) + : ((t.stableMinimapLayoutInput = null), + (t.stableFitRemainingWidth = 0))); + } + if ('fill' === f || n) { + k = !0; + const e = u; + (L = Math.min(l * r, Math.max(1, Math.floor(1 / o)))), + (u = Math.min(c, Math.max(1, Math.floor(L / y)))), + u > e && (D = Math.min(2, u / e)), + (M = u / r / D), + (w = Math.ceil(Math.max(i, _ + s) * L)), + v && n && (t.stableFitMaxMinimapScale = u); + } + } + } + const N = Math.floor(g * M), + E = Math.min( + N, + Math.max(0, Math.floor(((b - m - 2) * M) / (c + M))) + o + ); + let T = Math.floor(r * E); + const I = T / r; + return ( + (T = Math.floor(T * D)), + { + renderMinimap: h ? 1 : 2, + minimapLeft: 'left' === p ? 0 : i - E - m, + minimapWidth: E, + minimapHeightIsEditorHeight: k, + minimapIsSampling: x, + minimapScale: u, + minimapLineHeight: L, + minimapCanvasInnerWidth: T, + minimapCanvasInnerHeight: w, + minimapCanvasOuterWidth: I, + minimapCanvasOuterHeight: S, + } + ); + } + static computeLayout(e, t) { + const i = 0 | t.outerWidth, + n = 0 | t.outerHeight, + r = 0 | t.lineHeight, + s = 0 | t.lineNumbersDigitCount, + o = t.typicalHalfwidthCharacterWidth, + a = t.maxDigitWidth, + l = t.pixelRatio, + d = t.viewLineCount, + h = e.get(106), + u = e.get(109), + g = e.get(110), + p = e.get(2), + m = t.isDominatedByLongLines, + _ = e.get(42), + b = 0 !== e.get(52).renderType, + v = e.get(53), + y = e.get(86), + w = e.get(56), + S = e.get(84), + k = S.verticalScrollbarSize, + x = S.verticalHasArrows, + L = S.arrowSize, + M = S.horizontalScrollbarSize, + D = e.get(50), + N = e.get(31); + let E; + if ('string' == typeof D && /^\d+(\.\d+)?ch$/.test(D)) { + const e = parseFloat(D.substr(0, D.length - 2)); + E = f.clampedInt(e * o, 0, 0, 1e3); + } else E = f.clampedInt(D, 0, 0, 1e3); + N && (E += 16); + let T = 0; + if (b) { + const e = Math.max(s, v); + T = Math.round(e * a); + } + let I = 0; + _ && (I = r); + let O = 0, + A = O + I, + R = A + T, + P = R + E; + const F = i - I - T - E; + let B = !1, + W = !1, + Y = -1; + 2 !== p && + (g && m + ? ((B = !0), (W = !0)) + : 'on' === h || 'bounded' === h + ? (W = !0) + : 'wordWrapColumn' === h && (Y = u)); + const H = C._computeMinimapLayout( + { + outerWidth: i, + outerHeight: n, + lineHeight: r, + typicalHalfwidthCharacterWidth: o, + pixelRatio: l, + scrollBeyondLastLine: y, + minimap: w, + verticalScrollbarWidth: k, + viewLineCount: d, + remainingWidth: F, + isViewportWrapping: W, + }, + t.memory || new c() + ); + 0 !== H.renderMinimap && + 0 === H.minimapLeft && + ((O += H.minimapWidth), + (A += H.minimapWidth), + (R += H.minimapWidth), + (P += H.minimapWidth)); + const j = F - H.minimapWidth, + V = Math.max(1, Math.floor((j - k - 2) / o)), + z = x ? L : 0; + return ( + W && + ((Y = Math.max(1, V)), 'bounded' === h && (Y = Math.min(Y, u))), + { + width: i, + height: n, + glyphMarginLeft: O, + glyphMarginWidth: I, + lineNumbersLeft: A, + lineNumbersWidth: T, + decorationsLeft: R, + decorationsWidth: E, + contentLeft: P, + contentWidth: j, + minimap: H, + viewportColumn: V, + isWordWrapMinified: B, + isViewportWrapping: W, + wrappingColumn: Y, + verticalScrollbarWidth: k, + horizontalScrollbarHeight: M, + overviewRuler: { + top: z, + width: k, + height: n - 2 * z, + right: 0, + }, + } + ); + } + } + function S(e) { + const t = e.get(79); + return 'editable' === t ? e.get(72) : 'on' !== t; + } + function k(e, t) { + if ('string' != typeof e) return t; + switch (e) { + case 'hidden': + return 2; + case 'visible': + return 3; + default: + return 1; + } + } + const x = { + fontFamily: r.dz + ? "Menlo, Monaco, 'Courier New', monospace" + : r.IJ + ? "'Droid Sans Mono', 'monospace', monospace, 'Droid Sans Fallback'" + : "Consolas, 'Courier New', monospace", + fontWeight: 'normal', + fontSize: r.dz ? 12 : 14, + lineHeight: 0, + letterSpacing: 0, + }, + L = { + tabSize: 4, + indentSize: 4, + insertSpaces: !0, + detectIndentation: !0, + trimAutoWhitespace: !0, + largeFileOptimizations: !0, + }, + M = []; + function D(e) { + return (M[e.id] = e), e; + } + const N = { + acceptSuggestionOnCommitCharacter: D( + new g(0, 'acceptSuggestionOnCommitCharacter', !0, { + markdownDescription: n.N( + 'acceptSuggestionOnCommitCharacter', + 'Controls whether suggestions should be accepted on commit characters. For example, in JavaScript, the semi-colon (`;`) can be a commit character that accepts a suggestion and types that character.' + ), + }) + ), + acceptSuggestionOnEnter: D( + new _(1, 'acceptSuggestionOnEnter', 'on', ['on', 'smart', 'off'], { + markdownEnumDescriptions: [ + '', + n.N( + 'acceptSuggestionOnEnterSmart', + 'Only accept a suggestion with `Enter` when it makes a textual change.' + ), + '', + ], + markdownDescription: n.N( + 'acceptSuggestionOnEnter', + 'Controls whether suggestions should be accepted on `Enter`, in addition to `Tab`. Helps to avoid ambiguity between inserting new lines or accepting suggestions.' + ), + }) + ), + accessibilitySupport: D( + new (class extends d { + constructor() { + super(2, 'accessibilitySupport', 0, { + type: 'string', + enum: ['auto', 'on', 'off'], + enumDescriptions: [ + n.N( + 'accessibilitySupport.auto', + 'The editor will use platform APIs to detect when a Screen Reader is attached.' + ), + n.N( + 'accessibilitySupport.on', + 'The editor will be permanently optimized for usage with a Screen Reader.' + ), + n.N( + 'accessibilitySupport.off', + 'The editor will never be optimized for usage with a Screen Reader.' + ), + ], + default: 'auto', + description: n.N( + 'accessibilitySupport', + 'Controls whether the editor should run in a mode where it is optimized for screen readers.' + ), + }); + } + validate(e) { + switch (e) { + case 'auto': + return 0; + case 'off': + return 1; + case 'on': + return 2; + } + return this.defaultValue; + } + compute(e, t, i) { + return 0 === i ? e.accessibilitySupport : i; + } + })() + ), + accessibilityPageSize: D( + new f(3, 'accessibilityPageSize', 10, 1, 1073741824, { + description: n.N( + 'accessibilityPageSize', + 'Controls the number of lines in the editor that can be read out by a screen reader. Warning: this has a performance implication for numbers larger than the default.' + ), + }) + ), + ariaLabel: D( + new m( + 4, + 'ariaLabel', + n.N('editorViewAccessibleLabel', 'Editor content') + ) + ), + autoClosingBrackets: D( + new _( + 5, + 'autoClosingBrackets', + 'languageDefined', + ['always', 'languageDefined', 'beforeWhitespace', 'never'], + { + enumDescriptions: [ + '', + n.N( + 'editor.autoClosingBrackets.languageDefined', + 'Use language configurations to determine when to autoclose brackets.' + ), + n.N( + 'editor.autoClosingBrackets.beforeWhitespace', + 'Autoclose brackets only when the cursor is to the left of whitespace.' + ), + '', + ], + description: n.N( + 'autoClosingBrackets', + 'Controls whether the editor should automatically close brackets after the user adds an opening bracket.' + ), + } + ) + ), + autoClosingOvertype: D( + new _( + 6, + 'autoClosingOvertype', + 'auto', + ['always', 'auto', 'never'], + { + enumDescriptions: [ + '', + n.N( + 'editor.autoClosingOvertype.auto', + 'Type over closing quotes or brackets only if they were automatically inserted.' + ), + '', + ], + description: n.N( + 'autoClosingOvertype', + 'Controls whether the editor should type over closing quotes or brackets.' + ), + } + ) + ), + autoClosingQuotes: D( + new _( + 7, + 'autoClosingQuotes', + 'languageDefined', + ['always', 'languageDefined', 'beforeWhitespace', 'never'], + { + enumDescriptions: [ + '', + n.N( + 'editor.autoClosingQuotes.languageDefined', + 'Use language configurations to determine when to autoclose quotes.' + ), + n.N( + 'editor.autoClosingQuotes.beforeWhitespace', + 'Autoclose quotes only when the cursor is to the left of whitespace.' + ), + '', + ], + description: n.N( + 'autoClosingQuotes', + 'Controls whether the editor should automatically close quotes after the user adds an opening quote.' + ), + } + ) + ), + autoIndent: D( + new b( + 8, + 'autoIndent', + 4, + 'full', + ['none', 'keep', 'brackets', 'advanced', 'full'], + function (e) { + switch (e) { + case 'none': + return 0; + case 'keep': + return 1; + case 'brackets': + return 2; + case 'advanced': + return 3; + case 'full': + return 4; + } + }, + { + enumDescriptions: [ + n.N( + 'editor.autoIndent.none', + 'The editor will not insert indentation automatically.' + ), + n.N( + 'editor.autoIndent.keep', + "The editor will keep the current line's indentation." + ), + n.N( + 'editor.autoIndent.brackets', + "The editor will keep the current line's indentation and honor language defined brackets." + ), + n.N( + 'editor.autoIndent.advanced', + "The editor will keep the current line's indentation, honor language defined brackets and invoke special onEnterRules defined by languages." + ), + n.N( + 'editor.autoIndent.full', + "The editor will keep the current line's indentation, honor language defined brackets, invoke special onEnterRules defined by languages, and honor indentationRules defined by languages." + ), + ], + description: n.N( + 'autoIndent', + 'Controls whether the editor should automatically adjust the indentation when users type, paste, move or indent lines.' + ), + } + ) + ), + automaticLayout: D(new g(9, 'automaticLayout', !1)), + autoSurround: D( + new _( + 10, + 'autoSurround', + 'languageDefined', + ['languageDefined', 'quotes', 'brackets', 'never'], + { + enumDescriptions: [ + n.N( + 'editor.autoSurround.languageDefined', + 'Use language configurations to determine when to automatically surround selections.' + ), + n.N( + 'editor.autoSurround.quotes', + 'Surround with quotes but not brackets.' + ), + n.N( + 'editor.autoSurround.brackets', + 'Surround with brackets but not quotes.' + ), + '', + ], + description: n.N( + 'autoSurround', + 'Controls whether the editor should automatically surround selections.' + ), + } + ) + ), + codeLens: D( + new g(11, 'codeLens', !0, { + description: n.N( + 'codeLens', + 'Controls whether the editor shows CodeLens.' + ), + }) + ), + colorDecorators: D( + new g(12, 'colorDecorators', !0, { + description: n.N( + 'colorDecorators', + 'Controls whether the editor should render the inline color decorators and color picker.' + ), + }) + ), + columnSelection: D( + new g(13, 'columnSelection', !1, { + description: n.N( + 'columnSelection', + 'Enable that the selection with the mouse and keys is doing column selection.' + ), + }) + ), + comments: D( + new (class extends d { + constructor() { + const e = { insertSpace: !0, ignoreEmptyLines: !0 }; + super(14, 'comments', e, { + 'editor.comments.insertSpace': { + type: 'boolean', + default: e.insertSpace, + description: n.N( + 'comments.insertSpace', + 'Controls whether a space character is inserted when commenting.' + ), + }, + 'editor.comments.ignoreEmptyLines': { + type: 'boolean', + default: e.ignoreEmptyLines, + description: n.N( + 'comments.ignoreEmptyLines', + 'Controls if empty lines should be ignored with toggle, add or remove actions for line comments.' + ), + }, + }); + } + validate(e) { + if (!e || 'object' != typeof e) return this.defaultValue; + const t = e; + return { + insertSpace: g.boolean( + t.insertSpace, + this.defaultValue.insertSpace + ), + ignoreEmptyLines: g.boolean( + t.ignoreEmptyLines, + this.defaultValue.ignoreEmptyLines + ), + }; + } + })() + ), + contextmenu: D(new g(15, 'contextmenu', !0)), + copyWithSyntaxHighlighting: D( + new g(16, 'copyWithSyntaxHighlighting', !0, { + description: n.N( + 'copyWithSyntaxHighlighting', + 'Controls whether syntax highlighting should be copied into the clipboard.' + ), + }) + ), + cursorBlinking: D( + new b( + 17, + 'cursorBlinking', + 1, + 'blink', + ['blink', 'smooth', 'phase', 'expand', 'solid'], + function (e) { + switch (e) { + case 'blink': + return 1; + case 'smooth': + return 2; + case 'phase': + return 3; + case 'expand': + return 4; + case 'solid': + return 5; + } + }, + { + description: n.N( + 'cursorBlinking', + 'Control the cursor animation style.' + ), + } + ) + ), + cursorSmoothCaretAnimation: D( + new g(18, 'cursorSmoothCaretAnimation', !1, { + description: n.N( + 'cursorSmoothCaretAnimation', + 'Controls whether the smooth caret animation should be enabled.' + ), + }) + ), + cursorStyle: D( + new b( + 19, + 'cursorStyle', + v.Line, + 'line', + [ + 'line', + 'block', + 'underline', + 'line-thin', + 'block-outline', + 'underline-thin', + ], + function (e) { + switch (e) { + case 'line': + return v.Line; + case 'block': + return v.Block; + case 'underline': + return v.Underline; + case 'line-thin': + return v.LineThin; + case 'block-outline': + return v.BlockOutline; + case 'underline-thin': + return v.UnderlineThin; + } + }, + { description: n.N('cursorStyle', 'Controls the cursor style.') } + ) + ), + cursorSurroundingLines: D( + new f(20, 'cursorSurroundingLines', 0, 0, 1073741824, { + description: n.N( + 'cursorSurroundingLines', + "Controls the minimal number of visible leading and trailing lines surrounding the cursor. Known as 'scrollOff' or `scrollOffset` in some other editors." + ), + }) + ), + cursorSurroundingLinesStyle: D( + new _( + 21, + 'cursorSurroundingLinesStyle', + 'default', + ['default', 'all'], + { + enumDescriptions: [ + n.N( + 'cursorSurroundingLinesStyle.default', + '`cursorSurroundingLines` is enforced only when triggered via the keyboard or API.' + ), + n.N( + 'cursorSurroundingLinesStyle.all', + '`cursorSurroundingLines` is enforced always.' + ), + ], + description: n.N( + 'cursorSurroundingLinesStyle', + 'Controls when `cursorSurroundingLines` should be enforced.' + ), + } + ) + ), + cursorWidth: D( + new f(22, 'cursorWidth', 0, 0, 1073741824, { + markdownDescription: n.N( + 'cursorWidth', + 'Controls the width of the cursor when `#editor.cursorStyle#` is set to `line`.' + ), + }) + ), + disableLayerHinting: D(new g(23, 'disableLayerHinting', !1)), + disableMonospaceOptimizations: D( + new g(24, 'disableMonospaceOptimizations', !1) + ), + dragAndDrop: D( + new g(25, 'dragAndDrop', !0, { + description: n.N( + 'dragAndDrop', + 'Controls whether the editor should allow moving selections via drag and drop.' + ), + }) + ), + emptySelectionClipboard: D( + new (class extends g { + constructor() { + super(26, 'emptySelectionClipboard', !0, { + description: n.N( + 'emptySelectionClipboard', + 'Controls whether copying without a selection copies the current line.' + ), + }); + } + compute(e, t, i) { + return i && e.emptySelectionClipboard; + } + })() + ), + extraEditorClassName: D(new m(27, 'extraEditorClassName', '')), + fastScrollSensitivity: D( + new p(28, 'fastScrollSensitivity', 5, (e) => (e <= 0 ? 5 : e), { + markdownDescription: n.N( + 'fastScrollSensitivity', + 'Scrolling speed multiplier when pressing `Alt`.' + ), + }) + ), + find: D( + new (class extends d { + constructor() { + const e = { + cursorMoveOnType: !0, + seedSearchStringFromSelection: !0, + autoFindInSelection: 'never', + globalFindClipboard: !1, + addExtraSpaceOnTop: !0, + loop: !0, + }; + super(29, 'find', e, { + 'editor.find.cursorMoveOnType': { + type: 'boolean', + default: e.cursorMoveOnType, + description: n.N( + 'find.cursorMoveOnType', + 'Controls whether the cursor should jump to find matches while typing.' + ), + }, + 'editor.find.seedSearchStringFromSelection': { + type: 'boolean', + default: e.seedSearchStringFromSelection, + description: n.N( + 'find.seedSearchStringFromSelection', + 'Controls whether the search string in the Find Widget is seeded from the editor selection.' + ), + }, + 'editor.find.autoFindInSelection': { + type: 'string', + enum: ['never', 'always', 'multiline'], + default: e.autoFindInSelection, + enumDescriptions: [ + n.N( + 'editor.find.autoFindInSelection.never', + 'Never turn on Find in selection automatically (default)' + ), + n.N( + 'editor.find.autoFindInSelection.always', + 'Always turn on Find in selection automatically' + ), + n.N( + 'editor.find.autoFindInSelection.multiline', + 'Turn on Find in selection automatically when multiple lines of content are selected.' + ), + ], + description: n.N( + 'find.autoFindInSelection', + 'Controls the condition for turning on find in selection automatically.' + ), + }, + 'editor.find.globalFindClipboard': { + type: 'boolean', + default: e.globalFindClipboard, + description: n.N( + 'find.globalFindClipboard', + 'Controls whether the Find Widget should read or modify the shared find clipboard on macOS.' + ), + included: r.dz, + }, + 'editor.find.addExtraSpaceOnTop': { + type: 'boolean', + default: e.addExtraSpaceOnTop, + description: n.N( + 'find.addExtraSpaceOnTop', + 'Controls whether the Find Widget should add extra lines on top of the editor. When true, you can scroll beyond the first line when the Find Widget is visible.' + ), + }, + 'editor.find.loop': { + type: 'boolean', + default: e.loop, + description: n.N( + 'find.loop', + 'Controls whether the search automatically restarts from the beginning (or the end) when no further matches can be found.' + ), + }, + }); + } + validate(e) { + if (!e || 'object' != typeof e) return this.defaultValue; + const t = e; + return { + cursorMoveOnType: g.boolean( + t.cursorMoveOnType, + this.defaultValue.cursorMoveOnType + ), + seedSearchStringFromSelection: g.boolean( + t.seedSearchStringFromSelection, + this.defaultValue.seedSearchStringFromSelection + ), + autoFindInSelection: + 'boolean' == typeof e.autoFindInSelection + ? e.autoFindInSelection + ? 'always' + : 'never' + : _.stringSet( + t.autoFindInSelection, + this.defaultValue.autoFindInSelection, + ['never', 'always', 'multiline'] + ), + globalFindClipboard: g.boolean( + t.globalFindClipboard, + this.defaultValue.globalFindClipboard + ), + addExtraSpaceOnTop: g.boolean( + t.addExtraSpaceOnTop, + this.defaultValue.addExtraSpaceOnTop + ), + loop: g.boolean(t.loop, this.defaultValue.loop), + }; + } + })() + ), + fixedOverflowWidgets: D(new g(30, 'fixedOverflowWidgets', !1)), + folding: D( + new g(31, 'folding', !0, { + description: n.N( + 'folding', + 'Controls whether the editor has code folding enabled.' + ), + }) + ), + foldingStrategy: D( + new _(32, 'foldingStrategy', 'auto', ['auto', 'indentation'], { + enumDescriptions: [ + n.N( + 'foldingStrategy.auto', + 'Use a language-specific folding strategy if available, else the indentation-based one.' + ), + n.N( + 'foldingStrategy.indentation', + 'Use the indentation-based folding strategy.' + ), + ], + description: n.N( + 'foldingStrategy', + 'Controls the strategy for computing folding ranges.' + ), + }) + ), + foldingHighlight: D( + new g(33, 'foldingHighlight', !0, { + description: n.N( + 'foldingHighlight', + 'Controls whether the editor should highlight folded ranges.' + ), + }) + ), + unfoldOnClickAfterEndOfLine: D( + new g(34, 'unfoldOnClickAfterEndOfLine', !1, { + description: n.N( + 'unfoldOnClickAfterEndOfLine', + 'Controls whether clicking on the empty content after a folded line will unfold the line.' + ), + }) + ), + fontFamily: D( + new m(35, 'fontFamily', x.fontFamily, { + description: n.N('fontFamily', 'Controls the font family.'), + }) + ), + fontInfo: D( + new (class extends h { + constructor() { + super(36); + } + compute(e, t, i) { + return e.fontInfo; + } + })() + ), + fontLigatures2: D(new y()), + fontSize: D( + new (class extends u { + constructor() { + super(38, 'fontSize', x.fontSize, { + type: 'number', + minimum: 6, + maximum: 100, + default: x.fontSize, + description: n.N( + 'fontSize', + 'Controls the font size in pixels.' + ), + }); + } + validate(e) { + let t = p.float(e, this.defaultValue); + return 0 === t ? x.fontSize : p.clamp(t, 6, 100); + } + compute(e, t, i) { + return e.fontInfo.fontSize; + } + })() + ), + fontWeight: D(new w()), + formatOnPaste: D( + new g(40, 'formatOnPaste', !1, { + description: n.N( + 'formatOnPaste', + 'Controls whether the editor should automatically format the pasted content. A formatter must be available and the formatter should be able to format a range in a document.' + ), + }) + ), + formatOnType: D( + new g(41, 'formatOnType', !1, { + description: n.N( + 'formatOnType', + 'Controls whether the editor should automatically format the line after typing.' + ), + }) + ), + glyphMargin: D( + new g(42, 'glyphMargin', !0, { + description: n.N( + 'glyphMargin', + 'Controls whether the editor should render the vertical glyph margin. Glyph margin is mostly used for debugging.' + ), + }) + ), + gotoLocation: D( + new (class extends d { + constructor() { + const e = { + multiple: 'peek', + multipleDefinitions: 'peek', + multipleTypeDefinitions: 'peek', + multipleDeclarations: 'peek', + multipleImplementations: 'peek', + multipleReferences: 'peek', + alternativeDefinitionCommand: + 'editor.action.goToReferences', + alternativeTypeDefinitionCommand: + 'editor.action.goToReferences', + alternativeDeclarationCommand: + 'editor.action.goToReferences', + alternativeImplementationCommand: '', + alternativeReferenceCommand: '', + }, + t = { + type: 'string', + enum: ['peek', 'gotoAndPeek', 'goto'], + default: e.multiple, + enumDescriptions: [ + n.N( + 'editor.gotoLocation.multiple.peek', + 'Show peek view of the results (default)' + ), + n.N( + 'editor.gotoLocation.multiple.gotoAndPeek', + 'Go to the primary result and show a peek view' + ), + n.N( + 'editor.gotoLocation.multiple.goto', + 'Go to the primary result and enable peek-less navigation to others' + ), + ], + }; + super(43, 'gotoLocation', e, { + 'editor.gotoLocation.multiple': { + deprecationMessage: n.N( + 'editor.gotoLocation.multiple.deprecated', + "This setting is deprecated, please use separate settings like 'editor.editor.gotoLocation.multipleDefinitions' or 'editor.editor.gotoLocation.multipleImplementations' instead." + ), + }, + 'editor.gotoLocation.multipleDefinitions': Object.assign( + { + description: n.N( + 'editor.editor.gotoLocation.multipleDefinitions', + "Controls the behavior the 'Go to Definition'-command when multiple target locations exist." + ), + }, + t + ), + 'editor.gotoLocation.multipleTypeDefinitions': Object.assign( + { + description: n.N( + 'editor.editor.gotoLocation.multipleTypeDefinitions', + "Controls the behavior the 'Go to Type Definition'-command when multiple target locations exist." + ), + }, + t + ), + 'editor.gotoLocation.multipleDeclarations': Object.assign( + { + description: n.N( + 'editor.editor.gotoLocation.multipleDeclarations', + "Controls the behavior the 'Go to Declaration'-command when multiple target locations exist." + ), + }, + t + ), + 'editor.gotoLocation.multipleImplementations': Object.assign( + { + description: n.N( + 'editor.editor.gotoLocation.multipleImplemenattions', + "Controls the behavior the 'Go to Implementations'-command when multiple target locations exist." + ), + }, + t + ), + 'editor.gotoLocation.multipleReferences': Object.assign( + { + description: n.N( + 'editor.editor.gotoLocation.multipleReferences', + "Controls the behavior the 'Go to References'-command when multiple target locations exist." + ), + }, + t + ), + 'editor.gotoLocation.alternativeDefinitionCommand': { + type: 'string', + default: e.alternativeDefinitionCommand, + description: n.N( + 'alternativeDefinitionCommand', + "Alternative command id that is being executed when the result of 'Go to Definition' is the current location." + ), + }, + 'editor.gotoLocation.alternativeTypeDefinitionCommand': { + type: 'string', + default: e.alternativeTypeDefinitionCommand, + description: n.N( + 'alternativeTypeDefinitionCommand', + "Alternative command id that is being executed when the result of 'Go to Type Definition' is the current location." + ), + }, + 'editor.gotoLocation.alternativeDeclarationCommand': { + type: 'string', + default: e.alternativeDeclarationCommand, + description: n.N( + 'alternativeDeclarationCommand', + "Alternative command id that is being executed when the result of 'Go to Declaration' is the current location." + ), + }, + 'editor.gotoLocation.alternativeImplementationCommand': { + type: 'string', + default: e.alternativeImplementationCommand, + description: n.N( + 'alternativeImplementationCommand', + "Alternative command id that is being executed when the result of 'Go to Implementation' is the current location." + ), + }, + 'editor.gotoLocation.alternativeReferenceCommand': { + type: 'string', + default: e.alternativeReferenceCommand, + description: n.N( + 'alternativeReferenceCommand', + "Alternative command id that is being executed when the result of 'Go to Reference' is the current location." + ), + }, + }); + } + validate(e) { + var t, i, n, r, s; + if (!e || 'object' != typeof e) return this.defaultValue; + const o = e; + return { + multiple: _.stringSet( + o.multiple, + this.defaultValue.multiple, + ['peek', 'gotoAndPeek', 'goto'] + ), + multipleDefinitions: + null !== (t = o.multipleDefinitions) && void 0 !== t + ? t + : _.stringSet(o.multipleDefinitions, 'peek', [ + 'peek', + 'gotoAndPeek', + 'goto', + ]), + multipleTypeDefinitions: + null !== (i = o.multipleTypeDefinitions) && void 0 !== i + ? i + : _.stringSet(o.multipleTypeDefinitions, 'peek', [ + 'peek', + 'gotoAndPeek', + 'goto', + ]), + multipleDeclarations: + null !== (n = o.multipleDeclarations) && void 0 !== n + ? n + : _.stringSet(o.multipleDeclarations, 'peek', [ + 'peek', + 'gotoAndPeek', + 'goto', + ]), + multipleImplementations: + null !== (r = o.multipleImplementations) && void 0 !== r + ? r + : _.stringSet(o.multipleImplementations, 'peek', [ + 'peek', + 'gotoAndPeek', + 'goto', + ]), + multipleReferences: + null !== (s = o.multipleReferences) && void 0 !== s + ? s + : _.stringSet(o.multipleReferences, 'peek', [ + 'peek', + 'gotoAndPeek', + 'goto', + ]), + alternativeDefinitionCommand: m.string( + o.alternativeDefinitionCommand, + this.defaultValue.alternativeDefinitionCommand + ), + alternativeTypeDefinitionCommand: m.string( + o.alternativeTypeDefinitionCommand, + this.defaultValue.alternativeTypeDefinitionCommand + ), + alternativeDeclarationCommand: m.string( + o.alternativeDeclarationCommand, + this.defaultValue.alternativeDeclarationCommand + ), + alternativeImplementationCommand: m.string( + o.alternativeImplementationCommand, + this.defaultValue.alternativeImplementationCommand + ), + alternativeReferenceCommand: m.string( + o.alternativeReferenceCommand, + this.defaultValue.alternativeReferenceCommand + ), + }; + } + })() + ), + hideCursorInOverviewRuler: D( + new g(44, 'hideCursorInOverviewRuler', !1, { + description: n.N( + 'hideCursorInOverviewRuler', + 'Controls whether the cursor should be hidden in the overview ruler.' + ), + }) + ), + highlightActiveIndentGuide: D( + new g(45, 'highlightActiveIndentGuide', !0, { + description: n.N( + 'highlightActiveIndentGuide', + 'Controls whether the editor should highlight the active indent guide.' + ), + }) + ), + hover: D( + new (class extends d { + constructor() { + const e = { enabled: !0, delay: 300, sticky: !0 }; + super(46, 'hover', e, { + 'editor.hover.enabled': { + type: 'boolean', + default: e.enabled, + description: n.N( + 'hover.enabled', + 'Controls whether the hover is shown.' + ), + }, + 'editor.hover.delay': { + type: 'number', + default: e.delay, + description: n.N( + 'hover.delay', + 'Controls the delay in milliseconds after which the hover is shown.' + ), + }, + 'editor.hover.sticky': { + type: 'boolean', + default: e.sticky, + description: n.N( + 'hover.sticky', + 'Controls whether the hover should remain visible when mouse is moved over it.' + ), + }, + }); + } + validate(e) { + if (!e || 'object' != typeof e) return this.defaultValue; + const t = e; + return { + enabled: g.boolean(t.enabled, this.defaultValue.enabled), + delay: f.clampedInt(t.delay, this.defaultValue.delay, 0, 1e4), + sticky: g.boolean(t.sticky, this.defaultValue.sticky), + }; + } + })() + ), + inDiffEditor: D(new g(47, 'inDiffEditor', !1)), + letterSpacing: D( + new p( + 48, + 'letterSpacing', + x.letterSpacing, + (e) => p.clamp(e, -5, 20), + { + description: n.N( + 'letterSpacing', + 'Controls the letter spacing in pixels.' + ), + } + ) + ), + lightbulb: D( + new (class extends d { + constructor() { + const e = { enabled: !0 }; + super(49, 'lightbulb', e, { + 'editor.lightbulb.enabled': { + type: 'boolean', + default: e.enabled, + description: n.N( + 'codeActions', + 'Enables the code action lightbulb in the editor.' + ), + }, + }); + } + validate(e) { + if (!e || 'object' != typeof e) return this.defaultValue; + const t = e; + return { + enabled: g.boolean(t.enabled, this.defaultValue.enabled), + }; + } + })() + ), + lineDecorationsWidth: D(new u(50, 'lineDecorationsWidth', 10)), + lineHeight: D( + new (class extends f { + constructor() { + super(51, 'lineHeight', x.lineHeight, 0, 150, { + description: n.N( + 'lineHeight', + 'Controls the line height. Use 0 to compute the line height from the font size.' + ), + }); + } + compute(e, t, i) { + return e.fontInfo.lineHeight; + } + })() + ), + lineNumbers: D( + new (class extends d { + constructor() { + super( + 52, + 'lineNumbers', + { renderType: 1, renderFn: null }, + { + type: 'string', + enum: ['off', 'on', 'relative', 'interval'], + enumDescriptions: [ + n.N('lineNumbers.off', 'Line numbers are not rendered.'), + n.N( + 'lineNumbers.on', + 'Line numbers are rendered as absolute number.' + ), + n.N( + 'lineNumbers.relative', + 'Line numbers are rendered as distance in lines to cursor position.' + ), + n.N( + 'lineNumbers.interval', + 'Line numbers are rendered every 10 lines.' + ), + ], + default: 'on', + description: n.N( + 'lineNumbers', + 'Controls the display of line numbers.' + ), + } + ); + } + validate(e) { + let t = this.defaultValue.renderType, + i = this.defaultValue.renderFn; + return ( + void 0 !== e && + ('function' == typeof e + ? ((t = 4), (i = e)) + : (t = + 'interval' === e + ? 3 + : 'relative' === e + ? 2 + : 'on' === e + ? 1 + : 0)), + { renderType: t, renderFn: i } + ); + } + })() + ), + lineNumbersMinChars: D(new f(53, 'lineNumbersMinChars', 5, 1, 300)), + links: D( + new g(54, 'links', !0, { + description: n.N( + 'links', + 'Controls whether the editor should detect links and make them clickable.' + ), + }) + ), + matchBrackets: D( + new _(55, 'matchBrackets', 'always', ['always', 'near', 'never'], { + description: n.N('matchBrackets', 'Highlight matching brackets.'), + }) + ), + minimap: D( + new (class extends d { + constructor() { + const e = { + enabled: !0, + size: 'proportional', + side: 'right', + showSlider: 'mouseover', + renderCharacters: !0, + maxColumn: 120, + scale: 1, + }; + super(56, 'minimap', e, { + 'editor.minimap.enabled': { + type: 'boolean', + default: e.enabled, + description: n.N( + 'minimap.enabled', + 'Controls whether the minimap is shown.' + ), + }, + 'editor.minimap.size': { + type: 'string', + enum: ['proportional', 'fill', 'fit'], + enumDescriptions: [ + n.N( + 'minimap.size.proportional', + 'The minimap has the same size as the editor contents (and might scroll).' + ), + n.N( + 'minimap.size.fill', + 'The minimap will stretch or shrink as necessary to fill the height of the editor (no scrolling).' + ), + n.N( + 'minimap.size.fit', + 'The minimap will shrink as necessary to never be larger than the editor (no scrolling).' + ), + ], + default: e.size, + description: n.N( + 'minimap.size', + 'Controls the size of the minimap.' + ), + }, + 'editor.minimap.side': { + type: 'string', + enum: ['left', 'right'], + default: e.side, + description: n.N( + 'minimap.side', + 'Controls the side where to render the minimap.' + ), + }, + 'editor.minimap.showSlider': { + type: 'string', + enum: ['always', 'mouseover'], + default: e.showSlider, + description: n.N( + 'minimap.showSlider', + 'Controls when the minimap slider is shown.' + ), + }, + 'editor.minimap.scale': { + type: 'number', + default: e.scale, + minimum: 1, + maximum: 3, + enum: [1, 2, 3], + description: n.N( + 'minimap.scale', + 'Scale of content drawn in the minimap: 1, 2 or 3.' + ), + }, + 'editor.minimap.renderCharacters': { + type: 'boolean', + default: e.renderCharacters, + description: n.N( + 'minimap.renderCharacters', + 'Render the actual characters on a line as opposed to color blocks.' + ), + }, + 'editor.minimap.maxColumn': { + type: 'number', + default: e.maxColumn, + description: n.N( + 'minimap.maxColumn', + 'Limit the width of the minimap to render at most a certain number of columns.' + ), + }, + }); + } + validate(e) { + if (!e || 'object' != typeof e) return this.defaultValue; + const t = e; + return { + enabled: g.boolean(t.enabled, this.defaultValue.enabled), + size: _.stringSet(t.size, this.defaultValue.size, [ + 'proportional', + 'fill', + 'fit', + ]), + side: _.stringSet(t.side, this.defaultValue.side, [ + 'right', + 'left', + ]), + showSlider: _.stringSet( + t.showSlider, + this.defaultValue.showSlider, + ['always', 'mouseover'] + ), + renderCharacters: g.boolean( + t.renderCharacters, + this.defaultValue.renderCharacters + ), + scale: f.clampedInt(t.scale, 1, 1, 3), + maxColumn: f.clampedInt( + t.maxColumn, + this.defaultValue.maxColumn, + 1, + 1e4 + ), + }; + } + })() + ), + mouseStyle: D( + new _(57, 'mouseStyle', 'text', ['text', 'default', 'copy']) + ), + mouseWheelScrollSensitivity: D( + new p( + 58, + 'mouseWheelScrollSensitivity', + 1, + (e) => (0 === e ? 1 : e), + { + markdownDescription: n.N( + 'mouseWheelScrollSensitivity', + 'A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.' + ), + } + ) + ), + mouseWheelZoom: D( + new g(59, 'mouseWheelZoom', !1, { + markdownDescription: n.N( + 'mouseWheelZoom', + 'Zoom the font of the editor when using mouse wheel and holding `Ctrl`.' + ), + }) + ), + multiCursorMergeOverlapping: D( + new g(60, 'multiCursorMergeOverlapping', !0, { + description: n.N( + 'multiCursorMergeOverlapping', + 'Merge multiple cursors when they are overlapping.' + ), + }) + ), + multiCursorModifier: D( + new b( + 61, + 'multiCursorModifier', + 'altKey', + 'alt', + ['ctrlCmd', 'alt'], + function (e) { + return 'ctrlCmd' === e + ? r.dz + ? 'metaKey' + : 'ctrlKey' + : 'altKey'; + }, + { + markdownEnumDescriptions: [ + n.N( + 'multiCursorModifier.ctrlCmd', + 'Maps to `Control` on Windows and Linux and to `Command` on macOS.' + ), + n.N( + 'multiCursorModifier.alt', + 'Maps to `Alt` on Windows and Linux and to `Option` on macOS.' + ), + ], + markdownDescription: n.N( + { + key: 'multiCursorModifier', + comment: [ + '- `ctrlCmd` refers to a value the setting can take and should not be localized.', + '- `Control` and `Command` refer to the modifier keys Ctrl or Cmd on the keyboard and can be localized.', + ], + }, + 'The modifier to be used to add multiple cursors with the mouse. The Go To Definition and Open Link mouse gestures will adapt such that they do not conflict with the multicursor modifier. [Read more](https://code.visualstudio.com/docs/editor/codebasics#_multicursor-modifier).' + ), + } + ) + ), + multiCursorPaste: D( + new _(62, 'multiCursorPaste', 'spread', ['spread', 'full'], { + markdownEnumDescriptions: [ + n.N( + 'multiCursorPaste.spread', + 'Each cursor pastes a single line of the text.' + ), + n.N( + 'multiCursorPaste.full', + 'Each cursor pastes the full text.' + ), + ], + markdownDescription: n.N( + 'multiCursorPaste', + 'Controls pasting when the line count of the pasted text matches the cursor count.' + ), + }) + ), + occurrencesHighlight: D( + new g(63, 'occurrencesHighlight', !0, { + description: n.N( + 'occurrencesHighlight', + 'Controls whether the editor should highlight semantic symbol occurrences.' + ), + }) + ), + overviewRulerBorder: D( + new g(64, 'overviewRulerBorder', !0, { + description: n.N( + 'overviewRulerBorder', + 'Controls whether a border should be drawn around the overview ruler.' + ), + }) + ), + overviewRulerLanes: D(new f(65, 'overviewRulerLanes', 3, 0, 3)), + padding: D( + new (class extends d { + constructor() { + super( + 66, + 'padding', + { top: 0, bottom: 0 }, + { + 'editor.padding.top': { + type: 'number', + default: 0, + minimum: 0, + maximum: 1e3, + description: n.N( + 'padding.top', + 'Controls the amount of space between the top edge of the editor and the first line.' + ), + }, + 'editor.padding.bottom': { + type: 'number', + default: 0, + minimum: 0, + maximum: 1e3, + description: n.N( + 'padding.bottom', + 'Controls the amount of space between the bottom edge of the editor and the last line.' + ), + }, + } + ); + } + validate(e) { + if (!e || 'object' != typeof e) return this.defaultValue; + const t = e; + return { + top: f.clampedInt(t.top, 0, 0, 1e3), + bottom: f.clampedInt(t.bottom, 0, 0, 1e3), + }; + } + })() + ), + parameterHints: D( + new (class extends d { + constructor() { + const e = { enabled: !0, cycle: !1 }; + super(67, 'parameterHints', e, { + 'editor.parameterHints.enabled': { + type: 'boolean', + default: e.enabled, + description: n.N( + 'parameterHints.enabled', + 'Enables a pop-up that shows parameter documentation and type information as you type.' + ), + }, + 'editor.parameterHints.cycle': { + type: 'boolean', + default: e.cycle, + description: n.N( + 'parameterHints.cycle', + 'Controls whether the parameter hints menu cycles or closes when reaching the end of the list.' + ), + }, + }); + } + validate(e) { + if (!e || 'object' != typeof e) return this.defaultValue; + const t = e; + return { + enabled: g.boolean(t.enabled, this.defaultValue.enabled), + cycle: g.boolean(t.cycle, this.defaultValue.cycle), + }; + } + })() + ), + peekWidgetDefaultFocus: D( + new _(68, 'peekWidgetDefaultFocus', 'tree', ['tree', 'editor'], { + enumDescriptions: [ + n.N( + 'peekWidgetDefaultFocus.tree', + 'Focus the tree when opening peek' + ), + n.N( + 'peekWidgetDefaultFocus.editor', + 'Focus the editor when opening peek' + ), + ], + description: n.N( + 'peekWidgetDefaultFocus', + 'Controls whether to focus the inline editor or the tree in the peek widget.' + ), + }) + ), + definitionLinkOpensInPeek: D( + new g(69, 'definitionLinkOpensInPeek', !1, { + description: n.N( + 'definitionLinkOpensInPeek', + 'Controls whether the Go to Definition mouse gesture always opens the peek widget.' + ), + }) + ), + quickSuggestions: D( + new (class extends d { + constructor() { + const e = { other: !0, comments: !1, strings: !1 }; + super(70, 'quickSuggestions', e, { + anyOf: [ + { type: 'boolean' }, + { + type: 'object', + properties: { + strings: { + type: 'boolean', + default: e.strings, + description: n.N( + 'quickSuggestions.strings', + 'Enable quick suggestions inside strings.' + ), + }, + comments: { + type: 'boolean', + default: e.comments, + description: n.N( + 'quickSuggestions.comments', + 'Enable quick suggestions inside comments.' + ), + }, + other: { + type: 'boolean', + default: e.other, + description: n.N( + 'quickSuggestions.other', + 'Enable quick suggestions outside of strings and comments.' + ), + }, + }, + }, + ], + default: e, + description: n.N( + 'quickSuggestions', + 'Controls whether suggestions should automatically show up while typing.' + ), + }), + (this.defaultValue = e); + } + validate(e) { + if ('boolean' == typeof e) return e; + if (e && 'object' == typeof e) { + const t = e, + i = { + other: g.boolean(t.other, this.defaultValue.other), + comments: g.boolean( + t.comments, + this.defaultValue.comments + ), + strings: g.boolean(t.strings, this.defaultValue.strings), + }; + return ( + !!(i.other && i.comments && i.strings) || + (!!(i.other || i.comments || i.strings) && i) + ); + } + return this.defaultValue; + } + })() + ), + quickSuggestionsDelay: D( + new f(71, 'quickSuggestionsDelay', 10, 0, 1073741824, { + description: n.N( + 'quickSuggestionsDelay', + 'Controls the delay in milliseconds after which quick suggestions will show up.' + ), + }) + ), + readOnly: D(new g(72, 'readOnly', !1)), + renameOnType: D( + new g(73, 'renameOnType', !1, { + description: n.N( + 'renameOnType', + 'Controls whether the editor auto renames on type.' + ), + }) + ), + renderControlCharacters: D( + new g(74, 'renderControlCharacters', !1, { + description: n.N( + 'renderControlCharacters', + 'Controls whether the editor should render control characters.' + ), + }) + ), + renderIndentGuides: D( + new g(75, 'renderIndentGuides', !0, { + description: n.N( + 'renderIndentGuides', + 'Controls whether the editor should render indent guides.' + ), + }) + ), + renderFinalNewline: D( + new g(76, 'renderFinalNewline', !0, { + description: n.N( + 'renderFinalNewline', + 'Render last line number when the file ends with a newline.' + ), + }) + ), + renderLineHighlight: D( + new _( + 77, + 'renderLineHighlight', + 'line', + ['none', 'gutter', 'line', 'all'], + { + enumDescriptions: [ + '', + '', + '', + n.N( + 'renderLineHighlight.all', + 'Highlights both the gutter and the current line.' + ), + ], + description: n.N( + 'renderLineHighlight', + 'Controls how the editor should render the current line highlight.' + ), + } + ) + ), + renderLineHighlightOnlyWhenFocus: D( + new g(78, 'renderLineHighlightOnlyWhenFocus', !1, { + description: n.N( + 'renderLineHighlightOnlyWhenFocus', + 'Controls if the editor should render the current line highlight only when the editor is focused' + ), + }) + ), + renderValidationDecorations: D( + new _(79, 'renderValidationDecorations', 'editable', [ + 'editable', + 'on', + 'off', + ]) + ), + renderWhitespace: D( + new _( + 80, + 'renderWhitespace', + 'selection', + ['none', 'boundary', 'selection', 'trailing', 'all'], + { + enumDescriptions: [ + '', + n.N( + 'renderWhitespace.boundary', + 'Render whitespace characters except for single spaces between words.' + ), + n.N( + 'renderWhitespace.selection', + 'Render whitespace characters only on selected text.' + ), + n.N( + 'renderWhitespace.trailing', + 'Render only trailing whitespace characters' + ), + '', + ], + description: n.N( + 'renderWhitespace', + 'Controls how the editor should render whitespace characters.' + ), + } + ) + ), + revealHorizontalRightPadding: D( + new f(81, 'revealHorizontalRightPadding', 30, 0, 1e3) + ), + roundedSelection: D( + new g(82, 'roundedSelection', !0, { + description: n.N( + 'roundedSelection', + 'Controls whether selections should have rounded corners.' + ), + }) + ), + rulers: D( + new (class extends d { + constructor() { + const e = [], + t = { + type: 'number', + description: n.N( + 'rulers.size', + 'Number of monospace characters at which this editor ruler will render.' + ), + }; + super(83, 'rulers', e, { + type: 'array', + items: { + anyOf: [ + t, + { + type: ['object'], + properties: { + column: t, + color: { + type: 'string', + description: n.N( + 'rulers.color', + 'Color of this editor ruler.' + ), + format: 'color-hex', + }, + }, + }, + ], + }, + default: e, + description: n.N( + 'rulers', + 'Render vertical rulers after a certain number of monospace characters. Use multiple values for multiple rulers. No rulers are drawn if array is empty.' + ), + }); + } + validate(e) { + if (Array.isArray(e)) { + let t = []; + for (let i of e) + if ('number' == typeof i) + t.push({ + column: f.clampedInt(i, 0, 0, 1e4), + color: null, + }); + else if (i && 'object' == typeof i) { + const e = i; + t.push({ + column: f.clampedInt(e.column, 0, 0, 1e4), + color: e.color, + }); + } + return t.sort((e, t) => e.column - t.column), t; + } + return this.defaultValue; + } + })() + ), + scrollbar: D( + new (class extends d { + constructor() { + super(84, 'scrollbar', { + vertical: 1, + horizontal: 1, + arrowSize: 11, + useShadows: !0, + verticalHasArrows: !1, + horizontalHasArrows: !1, + horizontalScrollbarSize: 12, + horizontalSliderSize: 12, + verticalScrollbarSize: 14, + verticalSliderSize: 14, + handleMouseWheel: !0, + alwaysConsumeMouseWheel: !0, + }); + } + validate(e) { + if (!e || 'object' != typeof e) return this.defaultValue; + const t = e, + i = f.clampedInt( + t.horizontalScrollbarSize, + this.defaultValue.horizontalScrollbarSize, + 0, + 1e3 + ), + n = f.clampedInt( + t.verticalScrollbarSize, + this.defaultValue.verticalScrollbarSize, + 0, + 1e3 + ); + return { + arrowSize: f.clampedInt( + t.arrowSize, + this.defaultValue.arrowSize, + 0, + 1e3 + ), + vertical: k(t.vertical, this.defaultValue.vertical), + horizontal: k(t.horizontal, this.defaultValue.horizontal), + useShadows: g.boolean( + t.useShadows, + this.defaultValue.useShadows + ), + verticalHasArrows: g.boolean( + t.verticalHasArrows, + this.defaultValue.verticalHasArrows + ), + horizontalHasArrows: g.boolean( + t.horizontalHasArrows, + this.defaultValue.horizontalHasArrows + ), + handleMouseWheel: g.boolean( + t.handleMouseWheel, + this.defaultValue.handleMouseWheel + ), + alwaysConsumeMouseWheel: g.boolean( + t.alwaysConsumeMouseWheel, + this.defaultValue.alwaysConsumeMouseWheel + ), + horizontalScrollbarSize: i, + horizontalSliderSize: f.clampedInt( + t.horizontalSliderSize, + i, + 0, + 1e3 + ), + verticalScrollbarSize: n, + verticalSliderSize: f.clampedInt( + t.verticalSliderSize, + n, + 0, + 1e3 + ), + }; + } + })() + ), + scrollBeyondLastColumn: D( + new f(85, 'scrollBeyondLastColumn', 5, 0, 1073741824, { + description: n.N( + 'scrollBeyondLastColumn', + 'Controls the number of extra characters beyond which the editor will scroll horizontally.' + ), + }) + ), + scrollBeyondLastLine: D( + new g(86, 'scrollBeyondLastLine', !0, { + description: n.N( + 'scrollBeyondLastLine', + 'Controls whether the editor will scroll beyond the last line.' + ), + }) + ), + scrollPredominantAxis: D( + new g(87, 'scrollPredominantAxis', !0, { + description: n.N( + 'scrollPredominantAxis', + 'Scroll only along the predominant axis when scrolling both vertically and horizontally at the same time. Prevents horizontal drift when scrolling vertically on a trackpad.' + ), + }) + ), + selectionClipboard: D( + new g(88, 'selectionClipboard', !0, { + description: n.N( + 'selectionClipboard', + 'Controls whether the Linux primary clipboard should be supported.' + ), + included: r.IJ, + }) + ), + selectionHighlight: D( + new g(89, 'selectionHighlight', !0, { + description: n.N( + 'selectionHighlight', + 'Controls whether the editor should highlight matches similar to the selection.' + ), + }) + ), + selectOnLineNumbers: D(new g(90, 'selectOnLineNumbers', !0)), + showFoldingControls: D( + new _( + 91, + 'showFoldingControls', + 'mouseover', + ['always', 'mouseover'], + { + enumDescriptions: [ + n.N( + 'showFoldingControls.always', + 'Always show the folding controls.' + ), + n.N( + 'showFoldingControls.mouseover', + 'Only show the folding controls when the mouse is over the gutter.' + ), + ], + description: n.N( + 'showFoldingControls', + 'Controls when the folding controls on the gutter are shown.' + ), + } + ) + ), + showUnused: D( + new g(92, 'showUnused', !0, { + description: n.N( + 'showUnused', + 'Controls fading out of unused code.' + ), + }) + ), + showDeprecated: D( + new g(113, 'showDeprecated', !0, { + description: n.N( + 'showDeprecated', + 'Controls strikethrough deprecated variables.' + ), + }) + ), + snippetSuggestions: D( + new _( + 93, + 'snippetSuggestions', + 'inline', + ['top', 'bottom', 'inline', 'none'], + { + enumDescriptions: [ + n.N( + 'snippetSuggestions.top', + 'Show snippet suggestions on top of other suggestions.' + ), + n.N( + 'snippetSuggestions.bottom', + 'Show snippet suggestions below other suggestions.' + ), + n.N( + 'snippetSuggestions.inline', + 'Show snippets suggestions with other suggestions.' + ), + n.N( + 'snippetSuggestions.none', + 'Do not show snippet suggestions.' + ), + ], + description: n.N( + 'snippetSuggestions', + 'Controls whether snippets are shown with other suggestions and how they are sorted.' + ), + } + ) + ), + smoothScrolling: D( + new g(94, 'smoothScrolling', !1, { + description: n.N( + 'smoothScrolling', + 'Controls whether the editor will scroll using an animation.' + ), + }) + ), + stopRenderingLineAfter: D( + new f(95, 'stopRenderingLineAfter', 1e4, -1, 1073741824) + ), + suggest: D( + new (class extends d { + constructor() { + const e = { + insertMode: 'insert', + filterGraceful: !0, + snippetsPreventQuickSuggestions: !0, + localityBonus: !1, + shareSuggestSelections: !1, + showIcons: !0, + maxVisibleSuggestions: 12, + showMethods: !0, + showFunctions: !0, + showConstructors: !0, + showFields: !0, + showVariables: !0, + showClasses: !0, + showStructs: !0, + showInterfaces: !0, + showModules: !0, + showProperties: !0, + showEvents: !0, + showOperators: !0, + showUnits: !0, + showValues: !0, + showConstants: !0, + showEnums: !0, + showEnumMembers: !0, + showKeywords: !0, + showWords: !0, + showColors: !0, + showFiles: !0, + showReferences: !0, + showFolders: !0, + showTypeParameters: !0, + showSnippets: !0, + showUsers: !0, + showIssues: !0, + statusBar: { visible: !1 }, + }; + super(96, 'suggest', e, { + 'editor.suggest.insertMode': { + type: 'string', + enum: ['insert', 'replace'], + enumDescriptions: [ + n.N( + 'suggest.insertMode.insert', + 'Insert suggestion without overwriting text right of the cursor.' + ), + n.N( + 'suggest.insertMode.replace', + 'Insert suggestion and overwrite text right of the cursor.' + ), + ], + default: e.insertMode, + description: n.N( + 'suggest.insertMode', + 'Controls whether words are overwritten when accepting completions. Note that this depends on extensions opting into this feature.' + ), + }, + 'editor.suggest.filterGraceful': { + type: 'boolean', + default: e.filterGraceful, + description: n.N( + 'suggest.filterGraceful', + 'Controls whether filtering and sorting suggestions accounts for small typos.' + ), + }, + 'editor.suggest.localityBonus': { + type: 'boolean', + default: e.localityBonus, + description: n.N( + 'suggest.localityBonus', + 'Controls whether sorting favours words that appear close to the cursor.' + ), + }, + 'editor.suggest.shareSuggestSelections': { + type: 'boolean', + default: e.shareSuggestSelections, + markdownDescription: n.N( + 'suggest.shareSuggestSelections', + 'Controls whether remembered suggestion selections are shared between multiple workspaces and windows (needs `#editor.suggestSelection#`).' + ), + }, + 'editor.suggest.snippetsPreventQuickSuggestions': { + type: 'boolean', + default: e.snippetsPreventQuickSuggestions, + description: n.N( + 'suggest.snippetsPreventQuickSuggestions', + 'Controls whether an active snippet prevents quick suggestions.' + ), + }, + 'editor.suggest.showIcons': { + type: 'boolean', + default: e.showIcons, + description: n.N( + 'suggest.showIcons', + 'Controls whether to show or hide icons in suggestions.' + ), + }, + 'editor.suggest.maxVisibleSuggestions': { + type: 'number', + default: e.maxVisibleSuggestions, + minimum: 1, + maximum: 15, + description: n.N( + 'suggest.maxVisibleSuggestions', + 'Controls how many suggestions IntelliSense will show before showing a scrollbar (maximum 15).' + ), + }, + 'editor.suggest.filteredTypes': { + type: 'object', + deprecationMessage: n.N( + 'deprecated', + "This setting is deprecated, please use separate settings like 'editor.suggest.showKeywords' or 'editor.suggest.showSnippets' instead." + ), + }, + 'editor.suggest.showMethods': { + type: 'boolean', + default: !0, + markdownDescription: n.N( + 'editor.suggest.showMethods', + 'When enabled IntelliSense shows `method`-suggestions.' + ), + }, + 'editor.suggest.showFunctions': { + type: 'boolean', + default: !0, + markdownDescription: n.N( + 'editor.suggest.showFunctions', + 'When enabled IntelliSense shows `function`-suggestions.' + ), + }, + 'editor.suggest.showConstructors': { + type: 'boolean', + default: !0, + markdownDescription: n.N( + 'editor.suggest.showConstructors', + 'When enabled IntelliSense shows `constructor`-suggestions.' + ), + }, + 'editor.suggest.showFields': { + type: 'boolean', + default: !0, + markdownDescription: n.N( + 'editor.suggest.showFields', + 'When enabled IntelliSense shows `field`-suggestions.' + ), + }, + 'editor.suggest.showVariables': { + type: 'boolean', + default: !0, + markdownDescription: n.N( + 'editor.suggest.showVariables', + 'When enabled IntelliSense shows `variable`-suggestions.' + ), + }, + 'editor.suggest.showClasses': { + type: 'boolean', + default: !0, + markdownDescription: n.N( + 'editor.suggest.showClasss', + 'When enabled IntelliSense shows `class`-suggestions.' + ), + }, + 'editor.suggest.showStructs': { + type: 'boolean', + default: !0, + markdownDescription: n.N( + 'editor.suggest.showStructs', + 'When enabled IntelliSense shows `struct`-suggestions.' + ), + }, + 'editor.suggest.showInterfaces': { + type: 'boolean', + default: !0, + markdownDescription: n.N( + 'editor.suggest.showInterfaces', + 'When enabled IntelliSense shows `interface`-suggestions.' + ), + }, + 'editor.suggest.showModules': { + type: 'boolean', + default: !0, + markdownDescription: n.N( + 'editor.suggest.showModules', + 'When enabled IntelliSense shows `module`-suggestions.' + ), + }, + 'editor.suggest.showProperties': { + type: 'boolean', + default: !0, + markdownDescription: n.N( + 'editor.suggest.showPropertys', + 'When enabled IntelliSense shows `property`-suggestions.' + ), + }, + 'editor.suggest.showEvents': { + type: 'boolean', + default: !0, + markdownDescription: n.N( + 'editor.suggest.showEvents', + 'When enabled IntelliSense shows `event`-suggestions.' + ), + }, + 'editor.suggest.showOperators': { + type: 'boolean', + default: !0, + markdownDescription: n.N( + 'editor.suggest.showOperators', + 'When enabled IntelliSense shows `operator`-suggestions.' + ), + }, + 'editor.suggest.showUnits': { + type: 'boolean', + default: !0, + markdownDescription: n.N( + 'editor.suggest.showUnits', + 'When enabled IntelliSense shows `unit`-suggestions.' + ), + }, + 'editor.suggest.showValues': { + type: 'boolean', + default: !0, + markdownDescription: n.N( + 'editor.suggest.showValues', + 'When enabled IntelliSense shows `value`-suggestions.' + ), + }, + 'editor.suggest.showConstants': { + type: 'boolean', + default: !0, + markdownDescription: n.N( + 'editor.suggest.showConstants', + 'When enabled IntelliSense shows `constant`-suggestions.' + ), + }, + 'editor.suggest.showEnums': { + type: 'boolean', + default: !0, + markdownDescription: n.N( + 'editor.suggest.showEnums', + 'When enabled IntelliSense shows `enum`-suggestions.' + ), + }, + 'editor.suggest.showEnumMembers': { + type: 'boolean', + default: !0, + markdownDescription: n.N( + 'editor.suggest.showEnumMembers', + 'When enabled IntelliSense shows `enumMember`-suggestions.' + ), + }, + 'editor.suggest.showKeywords': { + type: 'boolean', + default: !0, + markdownDescription: n.N( + 'editor.suggest.showKeywords', + 'When enabled IntelliSense shows `keyword`-suggestions.' + ), + }, + 'editor.suggest.showWords': { + type: 'boolean', + default: !0, + markdownDescription: n.N( + 'editor.suggest.showTexts', + 'When enabled IntelliSense shows `text`-suggestions.' + ), + }, + 'editor.suggest.showColors': { + type: 'boolean', + default: !0, + markdownDescription: n.N( + 'editor.suggest.showColors', + 'When enabled IntelliSense shows `color`-suggestions.' + ), + }, + 'editor.suggest.showFiles': { + type: 'boolean', + default: !0, + markdownDescription: n.N( + 'editor.suggest.showFiles', + 'When enabled IntelliSense shows `file`-suggestions.' + ), + }, + 'editor.suggest.showReferences': { + type: 'boolean', + default: !0, + markdownDescription: n.N( + 'editor.suggest.showReferences', + 'When enabled IntelliSense shows `reference`-suggestions.' + ), + }, + 'editor.suggest.showCustomcolors': { + type: 'boolean', + default: !0, + markdownDescription: n.N( + 'editor.suggest.showCustomcolors', + 'When enabled IntelliSense shows `customcolor`-suggestions.' + ), + }, + 'editor.suggest.showFolders': { + type: 'boolean', + default: !0, + markdownDescription: n.N( + 'editor.suggest.showFolders', + 'When enabled IntelliSense shows `folder`-suggestions.' + ), + }, + 'editor.suggest.showTypeParameters': { + type: 'boolean', + default: !0, + markdownDescription: n.N( + 'editor.suggest.showTypeParameters', + 'When enabled IntelliSense shows `typeParameter`-suggestions.' + ), + }, + 'editor.suggest.showSnippets': { + type: 'boolean', + default: !0, + markdownDescription: n.N( + 'editor.suggest.showSnippets', + 'When enabled IntelliSense shows `snippet`-suggestions.' + ), + }, + 'editor.suggest.showUsers': { + type: 'boolean', + default: !0, + markdownDescription: n.N( + 'editor.suggest.showUsers', + 'When enabled IntelliSense shows `user`-suggestions.' + ), + }, + 'editor.suggest.showIssues': { + type: 'boolean', + default: !0, + markdownDescription: n.N( + 'editor.suggest.showIssues', + 'When enabled IntelliSense shows `issues`-suggestions.' + ), + }, + 'editor.suggest.statusBar.visible': { + type: 'boolean', + default: !1, + markdownDescription: n.N( + 'editor.suggest.statusBar.visible', + 'Controls the visibility of the status bar at the bottom of the suggest widget.' + ), + }, + }); + } + validate(e) { + var t; + if (!e || 'object' != typeof e) return this.defaultValue; + const i = e; + return { + insertMode: _.stringSet( + i.insertMode, + this.defaultValue.insertMode, + ['insert', 'replace'] + ), + filterGraceful: g.boolean( + i.filterGraceful, + this.defaultValue.filterGraceful + ), + snippetsPreventQuickSuggestions: g.boolean( + i.snippetsPreventQuickSuggestions, + this.defaultValue.filterGraceful + ), + localityBonus: g.boolean( + i.localityBonus, + this.defaultValue.localityBonus + ), + shareSuggestSelections: g.boolean( + i.shareSuggestSelections, + this.defaultValue.shareSuggestSelections + ), + showIcons: g.boolean( + i.showIcons, + this.defaultValue.showIcons + ), + maxVisibleSuggestions: f.clampedInt( + i.maxVisibleSuggestions, + this.defaultValue.maxVisibleSuggestions, + 1, + 15 + ), + showMethods: g.boolean( + i.showMethods, + this.defaultValue.showMethods + ), + showFunctions: g.boolean( + i.showFunctions, + this.defaultValue.showFunctions + ), + showConstructors: g.boolean( + i.showConstructors, + this.defaultValue.showConstructors + ), + showFields: g.boolean( + i.showFields, + this.defaultValue.showFields + ), + showVariables: g.boolean( + i.showVariables, + this.defaultValue.showVariables + ), + showClasses: g.boolean( + i.showClasses, + this.defaultValue.showClasses + ), + showStructs: g.boolean( + i.showStructs, + this.defaultValue.showStructs + ), + showInterfaces: g.boolean( + i.showInterfaces, + this.defaultValue.showInterfaces + ), + showModules: g.boolean( + i.showModules, + this.defaultValue.showModules + ), + showProperties: g.boolean( + i.showProperties, + this.defaultValue.showProperties + ), + showEvents: g.boolean( + i.showEvents, + this.defaultValue.showEvents + ), + showOperators: g.boolean( + i.showOperators, + this.defaultValue.showOperators + ), + showUnits: g.boolean( + i.showUnits, + this.defaultValue.showUnits + ), + showValues: g.boolean( + i.showValues, + this.defaultValue.showValues + ), + showConstants: g.boolean( + i.showConstants, + this.defaultValue.showConstants + ), + showEnums: g.boolean( + i.showEnums, + this.defaultValue.showEnums + ), + showEnumMembers: g.boolean( + i.showEnumMembers, + this.defaultValue.showEnumMembers + ), + showKeywords: g.boolean( + i.showKeywords, + this.defaultValue.showKeywords + ), + showWords: g.boolean( + i.showWords, + this.defaultValue.showWords + ), + showColors: g.boolean( + i.showColors, + this.defaultValue.showColors + ), + showFiles: g.boolean( + i.showFiles, + this.defaultValue.showFiles + ), + showReferences: g.boolean( + i.showReferences, + this.defaultValue.showReferences + ), + showFolders: g.boolean( + i.showFolders, + this.defaultValue.showFolders + ), + showTypeParameters: g.boolean( + i.showTypeParameters, + this.defaultValue.showTypeParameters + ), + showSnippets: g.boolean( + i.showSnippets, + this.defaultValue.showSnippets + ), + showUsers: g.boolean( + i.showUsers, + this.defaultValue.showUsers + ), + showIssues: g.boolean( + i.showIssues, + this.defaultValue.showIssues + ), + statusBar: { + visible: g.boolean( + null === (t = i.statusBar) || void 0 === t + ? void 0 + : t.visible, + !!this.defaultValue.statusBar.visible + ), + }, + }; + } + })() + ), + suggestFontSize: D( + new f(97, 'suggestFontSize', 0, 0, 1e3, { + markdownDescription: n.N( + 'suggestFontSize', + 'Font size for the suggest widget. When set to `0`, the value of `#editor.fontSize#` is used.' + ), + }) + ), + suggestLineHeight: D( + new f(98, 'suggestLineHeight', 0, 0, 1e3, { + markdownDescription: n.N( + 'suggestLineHeight', + 'Line height for the suggest widget. When set to `0`, the value of `#editor.lineHeight#` is used.' + ), + }) + ), + suggestOnTriggerCharacters: D( + new g(99, 'suggestOnTriggerCharacters', !0, { + description: n.N( + 'suggestOnTriggerCharacters', + 'Controls whether suggestions should automatically show up when typing trigger characters.' + ), + }) + ), + suggestSelection: D( + new _( + 100, + 'suggestSelection', + 'recentlyUsed', + ['first', 'recentlyUsed', 'recentlyUsedByPrefix'], + { + markdownEnumDescriptions: [ + n.N( + 'suggestSelection.first', + 'Always select the first suggestion.' + ), + n.N( + 'suggestSelection.recentlyUsed', + 'Select recent suggestions unless further typing selects one, e.g. `console.| -> console.log` because `log` has been completed recently.' + ), + n.N( + 'suggestSelection.recentlyUsedByPrefix', + 'Select suggestions based on previous prefixes that have completed those suggestions, e.g. `co -> console` and `con -> const`.' + ), + ], + description: n.N( + 'suggestSelection', + 'Controls how suggestions are pre-selected when showing the suggest list.' + ), + } + ) + ), + tabCompletion: D( + new _(101, 'tabCompletion', 'off', ['on', 'off', 'onlySnippets'], { + enumDescriptions: [ + n.N( + 'tabCompletion.on', + 'Tab complete will insert the best matching suggestion when pressing tab.' + ), + n.N('tabCompletion.off', 'Disable tab completions.'), + n.N( + 'tabCompletion.onlySnippets', + "Tab complete snippets when their prefix match. Works best when 'quickSuggestions' aren't enabled." + ), + ], + description: n.N('tabCompletion', 'Enables tab completions.'), + }) + ), + tabIndex: D(new f(102, 'tabIndex', 0, -1, 1073741824)), + unusualLineTerminators: D( + new _( + 103, + 'unusualLineTerminators', + 'prompt', + ['off', 'prompt', 'auto'], + { + enumDescriptions: [ + n.N( + 'unusualLineTerminators.off', + 'Unusual line terminators are ignored.' + ), + n.N( + 'unusualLineTerminators.prompt', + 'Unusual line terminators prompt to be removed.' + ), + n.N( + 'unusualLineTerminators.auto', + 'Unusual line terminators are automatically removed.' + ), + ], + description: n.N( + 'unusualLineTerminators', + 'Remove unusual line terminators that might cause problems.' + ), + } + ) + ), + useTabStops: D( + new g(104, 'useTabStops', !0, { + description: n.N( + 'useTabStops', + 'Inserting and deleting whitespace follows tab stops.' + ), + }) + ), + wordSeparators: D( + new m(105, 'wordSeparators', s.vu, { + description: n.N( + 'wordSeparators', + 'Characters that will be used as word separators when doing word related navigations or operations.' + ), + }) + ), + wordWrap: D( + new _( + 106, + 'wordWrap', + 'off', + ['off', 'on', 'wordWrapColumn', 'bounded'], + { + markdownEnumDescriptions: [ + n.N('wordWrap.off', 'Lines will never wrap.'), + n.N('wordWrap.on', 'Lines will wrap at the viewport width.'), + n.N( + { + key: 'wordWrap.wordWrapColumn', + comment: [ + '- `editor.wordWrapColumn` refers to a different setting and should not be localized.', + ], + }, + 'Lines will wrap at `#editor.wordWrapColumn#`.' + ), + n.N( + { + key: 'wordWrap.bounded', + comment: [ + '- viewport means the edge of the visible window size.', + '- `editor.wordWrapColumn` refers to a different setting and should not be localized.', + ], + }, + 'Lines will wrap at the minimum of viewport and `#editor.wordWrapColumn#`.' + ), + ], + description: n.N( + { + key: 'wordWrap', + comment: [ + "- 'off', 'on', 'wordWrapColumn' and 'bounded' refer to values the setting can take and should not be localized.", + '- `editor.wordWrapColumn` refers to a different setting and should not be localized.', + ], + }, + 'Controls how lines should wrap.' + ), + } + ) + ), + wordWrapBreakAfterCharacters: D( + new m( + 107, + 'wordWrapBreakAfterCharacters', + ' \t})]?|/&.,;¢°′″‰℃、。。、¢,.:;?!%・・ゝゞヽヾーァィゥェォッャュョヮヵヶぁぃぅぇぉっゃゅょゎゕゖㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ々〻ァィゥェォャュョッー”〉》」』】〕)]}」' + ) + ), + wordWrapBreakBeforeCharacters: D( + new m( + 108, + 'wordWrapBreakBeforeCharacters', + '([{‘“〈《「『【〔([{「£¥$£¥++' + ) + ), + wordWrapColumn: D( + new f(109, 'wordWrapColumn', 80, 1, 1073741824, { + markdownDescription: n.N( + { + key: 'wordWrapColumn', + comment: [ + '- `editor.wordWrap` refers to a different setting and should not be localized.', + "- 'wordWrapColumn' and 'bounded' refer to values the different setting can take and should not be localized.", + ], + }, + 'Controls the wrapping column of the editor when `#editor.wordWrap#` is `wordWrapColumn` or `bounded`.' + ), + }) + ), + wordWrapMinified: D(new g(110, 'wordWrapMinified', !0)), + wrappingIndent: D( + new b( + 111, + 'wrappingIndent', + 1, + 'same', + ['none', 'same', 'indent', 'deepIndent'], + function (e) { + switch (e) { + case 'none': + return 0; + case 'same': + return 1; + case 'indent': + return 2; + case 'deepIndent': + return 3; + } + }, + { + enumDescriptions: [ + n.N( + 'wrappingIndent.none', + 'No indentation. Wrapped lines begin at column 1.' + ), + n.N( + 'wrappingIndent.same', + 'Wrapped lines get the same indentation as the parent.' + ), + n.N( + 'wrappingIndent.indent', + 'Wrapped lines get +1 indentation toward the parent.' + ), + n.N( + 'wrappingIndent.deepIndent', + 'Wrapped lines get +2 indentation toward the parent.' + ), + ], + description: n.N( + 'wrappingIndent', + 'Controls the indentation of wrapped lines.' + ), + } + ) + ), + wrappingStrategy: D( + new _(112, 'wrappingStrategy', 'simple', ['simple', 'advanced'], { + enumDescriptions: [ + n.N( + 'wrappingStrategy.simple', + 'Assumes that all characters are of the same width. This is a fast algorithm that works correctly for monospace fonts and certain scripts (like Latin characters) where glyphs are of equal width.' + ), + n.N( + 'wrappingStrategy.advanced', + 'Delegates wrapping points computation to the browser. This is a slow algorithm, that might cause freezes for large files, but it works correctly in all cases.' + ), + ], + description: n.N( + 'wrappingStrategy', + 'Controls the algorithm that computes wrapping points.' + ), + }) + ), + editorClassName: D( + new (class extends h { + constructor() { + super(114, [57, 27]); + } + compute(e, t, i) { + const n = ['monaco-editor']; + return ( + t.get(27) && n.push(t.get(27)), + e.extraEditorClassName && n.push(e.extraEditorClassName), + 'default' === t.get(57) + ? n.push('mouse-default') + : 'copy' === t.get(57) && n.push('mouse-copy'), + t.get(92) && n.push('showUnused'), + t.get(113) && n.push('showDeprecated'), + n.join(' ') + ); + } + })() + ), + pixelRatio: D( + new (class extends h { + constructor() { + super(115); + } + compute(e, t, i) { + return e.pixelRatio; + } + })() + ), + tabFocusMode: D( + new (class extends h { + constructor() { + super(116, [72]); + } + compute(e, t, i) { + return !!t.get(72) || e.tabFocusMode; + } + })() + ), + layoutInfo: D(new C()), + wrappingInfo: D( + new (class extends h { + constructor() { + super(118, [117]); + } + compute(e, t, i) { + const n = t.get(117); + return { + isDominatedByLongLines: e.isDominatedByLongLines, + isWordWrapMinified: n.isWordWrapMinified, + isViewportWrapping: n.isViewportWrapping, + wrappingColumn: n.wrappingColumn, + }; + } + })() + ), + }; + }, + 82334: (e, t, i) => { + 'use strict'; + i.d(t, { C: () => r }); + var n = i(4669); + const r = new (class { + constructor() { + (this._zoomLevel = 0), + (this._onDidChangeZoomLevel = new n.Q5()), + (this.onDidChangeZoomLevel = this._onDidChangeZoomLevel.event); + } + getZoomLevel() { + return this._zoomLevel; + } + setZoomLevel(e) { + (e = Math.min(Math.max(-5, e), 20)), + this._zoomLevel !== e && + ((this._zoomLevel = e), + this._onDidChangeZoomLevel.fire(this._zoomLevel)); + } + })(); + }, + 27374: (e, t, i) => { + 'use strict'; + i.d(t, { E: () => o, p: () => a }); + var n = i(1432), + r = i(82334); + const s = n.dz ? 1.5 : 1.35; + class o { + constructor(e) { + (this.zoomLevel = e.zoomLevel), + (this.fontFamily = String(e.fontFamily)), + (this.fontWeight = String(e.fontWeight)), + (this.fontSize = e.fontSize), + (this.fontFeatureSettings = e.fontFeatureSettings), + (this.lineHeight = 0 | e.lineHeight), + (this.letterSpacing = e.letterSpacing); + } + static createFromValidatedSettings(e, t, i) { + const n = e.get(35), + r = e.get(39), + s = e.get(38), + a = e.get(37), + l = e.get(51), + c = e.get(48); + return o._create(n, r, s, a, l, c, t, i); + } + static _create(e, t, i, n, a, l, c, d) { + 0 === a ? (a = Math.round(s * i)) : a < 8 && (a = 8); + const h = 1 + (d ? 0 : 0.1 * r.C.getZoomLevel()); + return new o({ + zoomLevel: c, + fontFamily: e, + fontWeight: t, + fontSize: (i *= h), + fontFeatureSettings: n, + lineHeight: (a *= h), + letterSpacing: l, + }); + } + getId() { + return ( + this.zoomLevel + + '-' + + this.fontFamily + + '-' + + this.fontWeight + + '-' + + this.fontSize + + '-' + + this.fontFeatureSettings + + '-' + + this.lineHeight + + '-' + + this.letterSpacing + ); + } + getMassagedFontFamily() { + return /[,"']/.test(this.fontFamily) + ? this.fontFamily + : /[+ ]/.test(this.fontFamily) + ? `"${this.fontFamily}"` + : this.fontFamily; + } + } + class a extends o { + constructor(e, t) { + super(e), + (this.isTrusted = t), + (this.isMonospace = e.isMonospace), + (this.typicalHalfwidthCharacterWidth = + e.typicalHalfwidthCharacterWidth), + (this.typicalFullwidthCharacterWidth = + e.typicalFullwidthCharacterWidth), + (this.canUseHalfwidthRightwardsArrow = + e.canUseHalfwidthRightwardsArrow), + (this.spaceWidth = e.spaceWidth), + (this.middotWidth = e.middotWidth), + (this.wsmiddotWidth = e.wsmiddotWidth), + (this.maxDigitWidth = e.maxDigitWidth); + } + equals(e) { + return ( + this.fontFamily === e.fontFamily && + this.fontWeight === e.fontWeight && + this.fontSize === e.fontSize && + this.fontFeatureSettings === e.fontFeatureSettings && + this.lineHeight === e.lineHeight && + this.letterSpacing === e.letterSpacing && + this.typicalHalfwidthCharacterWidth === + e.typicalHalfwidthCharacterWidth && + this.typicalFullwidthCharacterWidth === + e.typicalFullwidthCharacterWidth && + this.canUseHalfwidthRightwardsArrow === + e.canUseHalfwidthRightwardsArrow && + this.spaceWidth === e.spaceWidth && + this.middotWidth === e.middotWidth && + this.wsmiddotWidth === e.wsmiddotWidth && + this.maxDigitWidth === e.maxDigitWidth + ); + } + } + }, + 33181: (e, t, i) => { + 'use strict'; + i.d(t, { + LM: () => f, + rS: () => p, + zp: () => m, + Vi: () => v, + Tp: () => y, + io: () => w, + LN: () => C, + }); + var n = i(17301), + r = i(97295), + s = i(50187), + o = i(24314), + a = i(3860), + l = i(3411), + c = i(83831); + const d = () => !0, + h = () => !1, + u = (e) => ' ' === e || '\t' === e; + function g(e, t, i) { + e.has(t) ? e.get(t).push(i) : e.set(t, [i]); + } + class f { + constructor(e, t, i) { + this._languageIdentifier = e; + const n = i.options, + r = n.get(117); + (this.readOnly = n.get(72)), + (this.tabSize = t.tabSize), + (this.indentSize = t.indentSize), + (this.insertSpaces = t.insertSpaces), + (this.lineHeight = n.get(51)), + (this.pageSize = Math.max( + 1, + Math.floor(r.height / this.lineHeight) - 2 + )), + (this.useTabStops = n.get(104)), + (this.wordSeparators = n.get(105)), + (this.emptySelectionClipboard = n.get(26)), + (this.copyWithSyntaxHighlighting = n.get(16)), + (this.multiCursorMergeOverlapping = n.get(60)), + (this.multiCursorPaste = n.get(62)), + (this.autoClosingBrackets = n.get(5)), + (this.autoClosingQuotes = n.get(7)), + (this.autoClosingOvertype = n.get(6)), + (this.autoSurround = n.get(10)), + (this.autoIndent = n.get(8)), + (this.autoClosingPairsOpen2 = new Map()), + (this.autoClosingPairsClose2 = new Map()), + (this.surroundingPairs = {}), + (this._electricChars = null), + (this.shouldAutoCloseBefore = { + quote: f._getShouldAutoClose(e, this.autoClosingQuotes), + bracket: f._getShouldAutoClose(e, this.autoClosingBrackets), + }); + let s = f._getAutoClosingPairs(e); + if (s) + for (const e of s) + g( + this.autoClosingPairsOpen2, + e.open.charAt(e.open.length - 1), + e + ), + 1 === e.close.length && + g(this.autoClosingPairsClose2, e.close, e); + let o = f._getSurroundingPairs(e); + if (o) for (const e of o) this.surroundingPairs[e.open] = e.close; + } + static shouldRecreate(e) { + return ( + e.hasChanged(117) || + e.hasChanged(105) || + e.hasChanged(26) || + e.hasChanged(60) || + e.hasChanged(62) || + e.hasChanged(5) || + e.hasChanged(7) || + e.hasChanged(6) || + e.hasChanged(10) || + e.hasChanged(104) || + e.hasChanged(51) || + e.hasChanged(72) + ); + } + get electricChars() { + if (!this._electricChars) { + this._electricChars = {}; + let e = f._getElectricCharacters(this._languageIdentifier); + if (e) for (const t of e) this._electricChars[t] = !0; + } + return this._electricChars; + } + normalizeIndentation(e) { + return l.yO.normalizeIndentation( + e, + this.indentSize, + this.insertSpaces + ); + } + static _getElectricCharacters(e) { + try { + return c.zu.getElectricCharacters(e.id); + } catch (e) { + return (0, n.dL)(e), null; + } + } + static _getAutoClosingPairs(e) { + try { + return c.zu.getAutoClosingPairs(e.id); + } catch (e) { + return (0, n.dL)(e), null; + } + } + static _getShouldAutoClose(e, t) { + switch (t) { + case 'beforeWhitespace': + return u; + case 'languageDefined': + return f._getLanguageDefinedShouldAutoClose(e); + case 'always': + return d; + case 'never': + return h; + } + } + static _getLanguageDefinedShouldAutoClose(e) { + try { + const t = c.zu.getAutoCloseBeforeSet(e.id); + return (e) => -1 !== t.indexOf(e); + } catch (e) { + return (0, n.dL)(e), h; + } + } + static _getSurroundingPairs(e) { + try { + return c.zu.getSurroundingPairs(e.id); + } catch (e) { + return (0, n.dL)(e), null; + } + } + } + class p { + constructor(e, t, i, n) { + (this.selectionStart = e), + (this.selectionStartLeftoverVisibleColumns = t), + (this.position = i), + (this.leftoverVisibleColumns = n), + (this.selection = p._computeSelection( + this.selectionStart, + this.position + )); + } + equals(e) { + return ( + this.selectionStartLeftoverVisibleColumns === + e.selectionStartLeftoverVisibleColumns && + this.leftoverVisibleColumns === e.leftoverVisibleColumns && + this.position.equals(e.position) && + this.selectionStart.equalsRange(e.selectionStart) + ); + } + hasSelection() { + return !this.selection.isEmpty() || !this.selectionStart.isEmpty(); + } + move(e, t, i, n) { + return e + ? new p( + this.selectionStart, + this.selectionStartLeftoverVisibleColumns, + new s.L(t, i), + n + ) + : new p(new o.e(t, i, t, i), n, new s.L(t, i), n); + } + static _computeSelection(e, t) { + let i, n, r, s; + return ( + e.isEmpty() + ? ((i = e.startLineNumber), + (n = e.startColumn), + (r = t.lineNumber), + (s = t.column)) + : t.isBeforeOrEqual(e.getStartPosition()) + ? ((i = e.endLineNumber), + (n = e.endColumn), + (r = t.lineNumber), + (s = t.column)) + : ((i = e.startLineNumber), + (n = e.startColumn), + (r = t.lineNumber), + (s = t.column)), + new a.Y(i, n, r, s) + ); + } + } + class m { + constructor(e, t, i) { + (this.model = e), + (this.coordinatesConverter = t), + (this.cursorConfig = i); + } + } + class _ { + constructor(e) { + (this.modelState = e), (this.viewState = null); + } + } + class b { + constructor(e) { + (this.modelState = null), (this.viewState = e); + } + } + class v { + constructor(e, t) { + (this.modelState = e), (this.viewState = t); + } + static fromModelState(e) { + return new _(e); + } + static fromViewState(e) { + return new b(e); + } + static fromModelSelection(e) { + const t = e.selectionStartLineNumber, + i = e.selectionStartColumn, + n = e.positionLineNumber, + r = e.positionColumn, + a = new p(new o.e(t, i, t, i), 0, new s.L(n, r), 0); + return v.fromModelState(a); + } + static fromModelSelections(e) { + let t = []; + for (let i = 0, n = e.length; i < n; i++) + t[i] = this.fromModelSelection(e[i]); + return t; + } + equals(e) { + return ( + this.viewState.equals(e.viewState) && + this.modelState.equals(e.modelState) + ); + } + } + class y { + constructor(e, t, i) { + (this.type = e), + (this.commands = t), + (this.shouldPushStackElementBefore = + i.shouldPushStackElementBefore), + (this.shouldPushStackElementAfter = + i.shouldPushStackElementAfter); + } + } + class w { + static visibleColumnFromColumn(e, t, i) { + const n = e.length, + s = t - 1 < n ? t - 1 : n; + let o = 0, + a = 0; + for (; a < s; ) { + const t = r.ZH(e, s, a); + if (((a += t >= 65536 ? 2 : 1), 9 === t)) + o = w.nextRenderTabStop(o, i); + else { + let i = r.S6(t); + for (; a < s; ) { + const t = r.ZH(e, s, a), + n = r.S6(t); + if (r.fi(i, n)) break; + (a += t >= 65536 ? 2 : 1), (i = n); + } + r.K7(t) || r.C8(t) ? (o += 2) : (o += 1); + } + } + return o; + } + static visibleColumnFromColumn2(e, t, i) { + return this.visibleColumnFromColumn( + t.getLineContent(i.lineNumber), + i.column, + e.tabSize + ); + } + static columnFromVisibleColumn(e, t, i) { + if (t <= 0) return 1; + const n = e.length; + let s = 0, + o = 1, + a = 0; + for (; a < n; ) { + const l = r.ZH(e, n, a); + let c; + if (((a += l >= 65536 ? 2 : 1), 9 === l)) + c = w.nextRenderTabStop(s, i); + else { + let t = r.S6(l); + for (; a < n; ) { + const i = r.ZH(e, n, a), + s = r.S6(i); + if (r.fi(t, s)) break; + (a += i >= 65536 ? 2 : 1), (t = s); + } + c = r.K7(l) || r.C8(l) ? s + 2 : s + 1; + } + const d = a + 1; + if (c >= t) return c - t < t - s ? d : o; + (s = c), (o = d); + } + return n + 1; + } + static columnFromVisibleColumn2(e, t, i, n) { + let r = this.columnFromVisibleColumn( + t.getLineContent(i), + n, + e.tabSize + ), + s = t.getLineMinColumn(i); + if (r < s) return s; + let o = t.getLineMaxColumn(i); + return r > o ? o : r; + } + static nextRenderTabStop(e, t) { + return e + t - (e % t); + } + static nextIndentTabStop(e, t) { + return e + t - (e % t); + } + static prevRenderTabStop(e, t) { + return e - 1 - ((e - 1) % t); + } + static prevIndentTabStop(e, t) { + return e - 1 - ((e - 1) % t); + } + } + function C(e) { + return "'" === e || '"' === e || '`' === e; + } + }, + 31380: (e, t, i) => { + 'use strict'; + i.d(t, { A: () => l }); + var n = i(97295), + r = i(61329), + s = i(33181), + o = i(88784), + a = i(24314); + class l { + static deleteRight(e, t, i, n) { + let s = [], + l = 3 !== e; + for (let e = 0, c = n.length; e < c; e++) { + const c = n[e]; + let d = c; + if (d.isEmpty()) { + let e = c.getPosition(), + n = o.o.right(t, i, e.lineNumber, e.column); + d = new a.e(n.lineNumber, n.column, e.lineNumber, e.column); + } + d.isEmpty() + ? (s[e] = null) + : (d.startLineNumber !== d.endLineNumber && (l = !0), + (s[e] = new r.T4(d, ''))); + } + return [l, s]; + } + static _isAutoClosingPairDelete(e, t, i) { + if ( + 'never' === e.autoClosingBrackets && + 'never' === e.autoClosingQuotes + ) + return !1; + for (let n = 0, r = i.length; n < r; n++) { + const r = i[n], + o = r.getPosition(); + if (!r.isEmpty()) return !1; + const a = t.getLineContent(o.lineNumber), + l = a[o.column - 2], + c = e.autoClosingPairsOpen2.get(l); + if (!c) return !1; + if ((0, s.LN)(l)) { + if ('never' === e.autoClosingQuotes) return !1; + } else if ('never' === e.autoClosingBrackets) return !1; + const d = a[o.column - 1]; + let h = !1; + for (const e of c) e.open === l && e.close === d && (h = !0); + if (!h) return !1; + } + return !0; + } + static _runAutoClosingPairDelete(e, t, i) { + let n = []; + for (let e = 0, t = i.length; e < t; e++) { + const t = i[e].getPosition(), + s = new a.e( + t.lineNumber, + t.column - 1, + t.lineNumber, + t.column + 1 + ); + n[e] = new r.T4(s, ''); + } + return [!0, n]; + } + static deleteLeft(e, t, i, l) { + if (this._isAutoClosingPairDelete(t, i, l)) + return this._runAutoClosingPairDelete(t, i, l); + let c = [], + d = 2 !== e; + for (let e = 0, h = l.length; e < h; e++) { + const h = l[e]; + let u = h; + if (u.isEmpty()) { + let e = h.getPosition(); + if (t.useTabStops && e.column > 1) { + let r = i.getLineContent(e.lineNumber), + o = n.LC(r), + l = -1 === o ? r.length + 1 : o + 1; + if (e.column <= l) { + let n = s.io.visibleColumnFromColumn2(t, i, e), + r = s.io.prevIndentTabStop(n, t.indentSize), + o = s.io.columnFromVisibleColumn2(t, i, e.lineNumber, r); + u = new a.e(e.lineNumber, o, e.lineNumber, e.column); + } else + u = new a.e( + e.lineNumber, + e.column - 1, + e.lineNumber, + e.column + ); + } else { + let n = o.o.left(t, i, e.lineNumber, e.column); + u = new a.e(n.lineNumber, n.column, e.lineNumber, e.column); + } + } + u.isEmpty() + ? (c[e] = null) + : (u.startLineNumber !== u.endLineNumber && (d = !0), + (c[e] = new r.T4(u, ''))); + } + return [d, c]; + } + static cut(e, t, i) { + let n = []; + for (let s = 0, o = i.length; s < o; s++) { + const o = i[s]; + if (o.isEmpty()) + if (e.emptySelectionClipboard) { + let e, + i, + l, + c, + d = o.getPosition(); + d.lineNumber < t.getLineCount() + ? ((e = d.lineNumber), + (i = 1), + (l = d.lineNumber + 1), + (c = 1)) + : d.lineNumber > 1 + ? ((e = d.lineNumber - 1), + (i = t.getLineMaxColumn(d.lineNumber - 1)), + (l = d.lineNumber), + (c = t.getLineMaxColumn(d.lineNumber))) + : ((e = d.lineNumber), + (i = 1), + (l = d.lineNumber), + (c = t.getLineMaxColumn(d.lineNumber))); + let h = new a.e(e, i, l, c); + h.isEmpty() ? (n[s] = null) : (n[s] = new r.T4(h, '')); + } else n[s] = null; + else n[s] = new r.T4(o, ''); + } + return new s.Tp(0, n, { + shouldPushStackElementBefore: !0, + shouldPushStackElementAfter: !0, + }); + } + } + }, + 83814: (e, t, i) => { + 'use strict'; + i.d(t, { P: () => d, N: () => n }); + var n, + r = i(98401), + s = i(33181), + o = i(88784), + a = i(5795), + l = i(50187), + c = i(24314); + class d { + static addCursorDown(e, t, i) { + let n = [], + r = 0; + for (let a = 0, l = t.length; a < l; a++) { + const l = t[a]; + (n[r++] = new s.Vi(l.modelState, l.viewState)), + (n[r++] = i + ? s.Vi.fromModelState( + o.o.translateDown(e.cursorConfig, e.model, l.modelState) + ) + : s.Vi.fromViewState( + o.o.translateDown(e.cursorConfig, e, l.viewState) + )); + } + return n; + } + static addCursorUp(e, t, i) { + let n = [], + r = 0; + for (let a = 0, l = t.length; a < l; a++) { + const l = t[a]; + (n[r++] = new s.Vi(l.modelState, l.viewState)), + (n[r++] = i + ? s.Vi.fromModelState( + o.o.translateUp(e.cursorConfig, e.model, l.modelState) + ) + : s.Vi.fromViewState( + o.o.translateUp(e.cursorConfig, e, l.viewState) + )); + } + return n; + } + static moveToBeginningOfLine(e, t, i) { + let n = []; + for (let r = 0, s = t.length; r < s; r++) { + const s = t[r]; + n[r] = this._moveToLineStart(e, s, i); + } + return n; + } + static _moveToLineStart(e, t, i) { + const n = t.viewState.position.column, + r = n === t.modelState.position.column, + s = t.viewState.position.lineNumber, + o = e.getLineFirstNonWhitespaceColumn(s); + return r || n === o + ? this._moveToLineStartByModel(e, t, i) + : this._moveToLineStartByView(e, t, i); + } + static _moveToLineStartByView(e, t, i) { + return s.Vi.fromViewState( + o.o.moveToBeginningOfLine(e.cursorConfig, e, t.viewState, i) + ); + } + static _moveToLineStartByModel(e, t, i) { + return s.Vi.fromModelState( + o.o.moveToBeginningOfLine( + e.cursorConfig, + e.model, + t.modelState, + i + ) + ); + } + static moveToEndOfLine(e, t, i, n) { + let r = []; + for (let s = 0, o = t.length; s < o; s++) { + const o = t[s]; + r[s] = this._moveToLineEnd(e, o, i, n); + } + return r; + } + static _moveToLineEnd(e, t, i, n) { + const r = t.viewState.position, + s = e.getLineMaxColumn(r.lineNumber), + o = r.column === s, + a = t.modelState.position, + l = e.model.getLineMaxColumn(a.lineNumber), + c = s - r.column == l - a.column; + return o || c + ? this._moveToLineEndByModel(e, t, i, n) + : this._moveToLineEndByView(e, t, i, n); + } + static _moveToLineEndByView(e, t, i, n) { + return s.Vi.fromViewState( + o.o.moveToEndOfLine(e.cursorConfig, e, t.viewState, i, n) + ); + } + static _moveToLineEndByModel(e, t, i, n) { + return s.Vi.fromModelState( + o.o.moveToEndOfLine(e.cursorConfig, e.model, t.modelState, i, n) + ); + } + static expandLineSelection(e, t) { + let i = []; + for (let n = 0, r = t.length; n < r; n++) { + const r = t[n], + o = r.modelState.selection.startLineNumber, + a = e.model.getLineCount(); + let d, + h = r.modelState.selection.endLineNumber; + h === a ? (d = e.model.getLineMaxColumn(a)) : (h++, (d = 1)), + (i[n] = s.Vi.fromModelState( + new s.rS(new c.e(o, 1, o, 1), 0, new l.L(h, d), 0) + )); + } + return i; + } + static moveToBeginningOfBuffer(e, t, i) { + let n = []; + for (let r = 0, a = t.length; r < a; r++) { + const a = t[r]; + n[r] = s.Vi.fromModelState( + o.o.moveToBeginningOfBuffer( + e.cursorConfig, + e.model, + a.modelState, + i + ) + ); + } + return n; + } + static moveToEndOfBuffer(e, t, i) { + let n = []; + for (let r = 0, a = t.length; r < a; r++) { + const a = t[r]; + n[r] = s.Vi.fromModelState( + o.o.moveToEndOfBuffer(e.cursorConfig, e.model, a.modelState, i) + ); + } + return n; + } + static selectAll(e, t) { + const i = e.model.getLineCount(), + n = e.model.getLineMaxColumn(i); + return s.Vi.fromModelState( + new s.rS(new c.e(1, 1, 1, 1), 0, new l.L(i, n), 0) + ); + } + static line(e, t, i, n, r) { + const o = e.model.validatePosition(n), + a = r + ? e.coordinatesConverter.validateViewPosition( + new l.L(r.lineNumber, r.column), + o + ) + : e.coordinatesConverter.convertModelPositionToViewPosition(o); + if (!i || !t.modelState.hasSelection()) { + const t = e.model.getLineCount(); + let i = o.lineNumber + 1, + n = 1; + return ( + i > t && ((i = t), (n = e.model.getLineMaxColumn(i))), + s.Vi.fromModelState( + new s.rS(new c.e(o.lineNumber, 1, i, n), 0, new l.L(i, n), 0) + ) + ); + } + const d = t.modelState.selectionStart.getStartPosition().lineNumber; + if (o.lineNumber < d) + return s.Vi.fromViewState( + t.viewState.move( + t.modelState.hasSelection(), + a.lineNumber, + 1, + 0 + ) + ); + if (o.lineNumber > d) { + const i = e.getLineCount(); + let n = a.lineNumber + 1, + r = 1; + return ( + n > i && ((n = i), (r = e.getLineMaxColumn(n))), + s.Vi.fromViewState( + t.viewState.move(t.modelState.hasSelection(), n, r, 0) + ) + ); + } + { + const e = t.modelState.selectionStart.getEndPosition(); + return s.Vi.fromModelState( + t.modelState.move( + t.modelState.hasSelection(), + e.lineNumber, + e.column, + 0 + ) + ); + } + } + static word(e, t, i, n) { + const r = e.model.validatePosition(n); + return s.Vi.fromModelState( + a.w.word(e.cursorConfig, e.model, t.modelState, i, r) + ); + } + static cancelSelection(e, t) { + if (!t.modelState.hasSelection()) + return new s.Vi(t.modelState, t.viewState); + const i = t.viewState.position.lineNumber, + n = t.viewState.position.column; + return s.Vi.fromViewState( + new s.rS(new c.e(i, n, i, n), 0, new l.L(i, n), 0) + ); + } + static moveTo(e, t, i, n, r) { + const o = e.model.validatePosition(n), + a = r + ? e.coordinatesConverter.validateViewPosition( + new l.L(r.lineNumber, r.column), + o + ) + : e.coordinatesConverter.convertModelPositionToViewPosition(o); + return s.Vi.fromViewState( + t.viewState.move(i, a.lineNumber, a.column, 0) + ); + } + static simpleMove(e, t, i, n, r, s) { + switch (i) { + case 0: + return 4 === s + ? this._moveHalfLineLeft(e, t, n) + : this._moveLeft(e, t, n, r); + case 1: + return 4 === s + ? this._moveHalfLineRight(e, t, n) + : this._moveRight(e, t, n, r); + case 2: + return 2 === s + ? this._moveUpByViewLines(e, t, n, r) + : this._moveUpByModelLines(e, t, n, r); + case 3: + return 2 === s + ? this._moveDownByViewLines(e, t, n, r) + : this._moveDownByModelLines(e, t, n, r); + case 4: + return this._moveToViewMinColumn(e, t, n); + case 5: + return this._moveToViewFirstNonWhitespaceColumn(e, t, n); + case 6: + return this._moveToViewCenterColumn(e, t, n); + case 7: + return this._moveToViewMaxColumn(e, t, n); + case 8: + return this._moveToViewLastNonWhitespaceColumn(e, t, n); + default: + return null; + } + } + static viewportMove(e, t, i, n, r) { + const s = e.getCompletelyVisibleViewRange(), + o = e.coordinatesConverter.convertViewRangeToModelRange(s); + switch (i) { + case 9: { + const i = this._firstLineNumberInRange(e.model, o, r), + s = e.model.getLineFirstNonWhitespaceColumn(i); + return [this._moveToModelPosition(e, t[0], n, i, s)]; + } + case 11: { + const i = this._lastLineNumberInRange(e.model, o, r), + s = e.model.getLineFirstNonWhitespaceColumn(i); + return [this._moveToModelPosition(e, t[0], n, i, s)]; + } + case 10: { + const i = Math.round((o.startLineNumber + o.endLineNumber) / 2), + r = e.model.getLineFirstNonWhitespaceColumn(i); + return [this._moveToModelPosition(e, t[0], n, i, r)]; + } + case 12: { + let i = []; + for (let r = 0, o = t.length; r < o; r++) { + const o = t[r]; + i[r] = this.findPositionInViewportIfOutside(e, o, s, n); + } + return i; + } + default: + return null; + } + } + static findPositionInViewportIfOutside(e, t, i, n) { + let r = t.viewState.position.lineNumber; + if (i.startLineNumber <= r && r <= i.endLineNumber - 1) + return new s.Vi(t.modelState, t.viewState); + { + r > i.endLineNumber - 1 && (r = i.endLineNumber - 1), + r < i.startLineNumber && (r = i.startLineNumber); + const s = e.getLineFirstNonWhitespaceColumn(r); + return this._moveToViewPosition(e, t, n, r, s); + } + } + static _firstLineNumberInRange(e, t, i) { + let n = t.startLineNumber; + return ( + t.startColumn !== e.getLineMinColumn(n) && n++, + Math.min(t.endLineNumber, n + i - 1) + ); + } + static _lastLineNumberInRange(e, t, i) { + let n = t.startLineNumber; + return ( + t.startColumn !== e.getLineMinColumn(n) && n++, + Math.max(n, t.endLineNumber - i + 1) + ); + } + static _moveLeft(e, t, i, n) { + const r = t.length > 1; + let a = []; + for (let l = 0, c = t.length; l < c; l++) { + const c = t[l], + d = r || !c.viewState.hasSelection(); + let h = o.o.moveLeft(e.cursorConfig, e, c.viewState, i, n); + d && + 1 === n && + h.position.lineNumber !== c.viewState.position.lineNumber && + e.coordinatesConverter.convertViewPositionToModelPosition( + h.position + ).lineNumber === c.modelState.position.lineNumber && + (h = o.o.moveLeft(e.cursorConfig, e, h, i, 1)), + (a[l] = s.Vi.fromViewState(h)); + } + return a; + } + static _moveHalfLineLeft(e, t, i) { + let n = []; + for (let r = 0, a = t.length; r < a; r++) { + const a = t[r], + l = a.viewState.position.lineNumber, + c = Math.round(e.getLineContent(l).length / 2); + n[r] = s.Vi.fromViewState( + o.o.moveLeft(e.cursorConfig, e, a.viewState, i, c) + ); + } + return n; + } + static _moveRight(e, t, i, n) { + const r = t.length > 1; + let a = []; + for (let l = 0, c = t.length; l < c; l++) { + const c = t[l], + d = r || !c.viewState.hasSelection(); + let h = o.o.moveRight(e.cursorConfig, e, c.viewState, i, n); + d && + 1 === n && + h.position.lineNumber !== c.viewState.position.lineNumber && + e.coordinatesConverter.convertViewPositionToModelPosition( + h.position + ).lineNumber === c.modelState.position.lineNumber && + (h = o.o.moveRight(e.cursorConfig, e, h, i, 1)), + (a[l] = s.Vi.fromViewState(h)); + } + return a; + } + static _moveHalfLineRight(e, t, i) { + let n = []; + for (let r = 0, a = t.length; r < a; r++) { + const a = t[r], + l = a.viewState.position.lineNumber, + c = Math.round(e.getLineContent(l).length / 2); + n[r] = s.Vi.fromViewState( + o.o.moveRight(e.cursorConfig, e, a.viewState, i, c) + ); + } + return n; + } + static _moveDownByViewLines(e, t, i, n) { + let r = []; + for (let a = 0, l = t.length; a < l; a++) { + const l = t[a]; + r[a] = s.Vi.fromViewState( + o.o.moveDown(e.cursorConfig, e, l.viewState, i, n) + ); + } + return r; + } + static _moveDownByModelLines(e, t, i, n) { + let r = []; + for (let a = 0, l = t.length; a < l; a++) { + const l = t[a]; + r[a] = s.Vi.fromModelState( + o.o.moveDown(e.cursorConfig, e.model, l.modelState, i, n) + ); + } + return r; + } + static _moveUpByViewLines(e, t, i, n) { + let r = []; + for (let a = 0, l = t.length; a < l; a++) { + const l = t[a]; + r[a] = s.Vi.fromViewState( + o.o.moveUp(e.cursorConfig, e, l.viewState, i, n) + ); + } + return r; + } + static _moveUpByModelLines(e, t, i, n) { + let r = []; + for (let a = 0, l = t.length; a < l; a++) { + const l = t[a]; + r[a] = s.Vi.fromModelState( + o.o.moveUp(e.cursorConfig, e.model, l.modelState, i, n) + ); + } + return r; + } + static _moveToViewPosition(e, t, i, n, r) { + return s.Vi.fromViewState(t.viewState.move(i, n, r, 0)); + } + static _moveToModelPosition(e, t, i, n, r) { + return s.Vi.fromModelState(t.modelState.move(i, n, r, 0)); + } + static _moveToViewMinColumn(e, t, i) { + let n = []; + for (let r = 0, s = t.length; r < s; r++) { + const s = t[r], + o = s.viewState.position.lineNumber, + a = e.getLineMinColumn(o); + n[r] = this._moveToViewPosition(e, s, i, o, a); + } + return n; + } + static _moveToViewFirstNonWhitespaceColumn(e, t, i) { + let n = []; + for (let r = 0, s = t.length; r < s; r++) { + const s = t[r], + o = s.viewState.position.lineNumber, + a = e.getLineFirstNonWhitespaceColumn(o); + n[r] = this._moveToViewPosition(e, s, i, o, a); + } + return n; + } + static _moveToViewCenterColumn(e, t, i) { + let n = []; + for (let r = 0, s = t.length; r < s; r++) { + const s = t[r], + o = s.viewState.position.lineNumber, + a = Math.round( + (e.getLineMaxColumn(o) + e.getLineMinColumn(o)) / 2 + ); + n[r] = this._moveToViewPosition(e, s, i, o, a); + } + return n; + } + static _moveToViewMaxColumn(e, t, i) { + let n = []; + for (let r = 0, s = t.length; r < s; r++) { + const s = t[r], + o = s.viewState.position.lineNumber, + a = e.getLineMaxColumn(o); + n[r] = this._moveToViewPosition(e, s, i, o, a); + } + return n; + } + static _moveToViewLastNonWhitespaceColumn(e, t, i) { + let n = []; + for (let r = 0, s = t.length; r < s; r++) { + const s = t[r], + o = s.viewState.position.lineNumber, + a = e.getLineLastNonWhitespaceColumn(o); + n[r] = this._moveToViewPosition(e, s, i, o, a); + } + return n; + } + } + !(function (e) { + (e.description = { + description: 'Move cursor to a logical position in the view', + args: [ + { + name: 'Cursor move argument object', + description: + "Property-value pairs that can be passed through this argument:\n\t\t\t\t\t* 'to': A mandatory logical position value providing where to move the cursor.\n\t\t\t\t\t\t```\n\t\t\t\t\t\t'left', 'right', 'up', 'down'\n\t\t\t\t\t\t'wrappedLineStart', 'wrappedLineEnd', 'wrappedLineColumnCenter'\n\t\t\t\t\t\t'wrappedLineFirstNonWhitespaceCharacter', 'wrappedLineLastNonWhitespaceCharacter'\n\t\t\t\t\t\t'viewPortTop', 'viewPortCenter', 'viewPortBottom', 'viewPortIfOutside'\n\t\t\t\t\t\t```\n\t\t\t\t\t* 'by': Unit to move. Default is computed based on 'to' value.\n\t\t\t\t\t\t```\n\t\t\t\t\t\t'line', 'wrappedLine', 'character', 'halfLine'\n\t\t\t\t\t\t```\n\t\t\t\t\t* 'value': Number of units to move. Default is '1'.\n\t\t\t\t\t* 'select': If 'true' makes the selection. Default is 'false'.\n\t\t\t\t", + constraint: function (e) { + if (!r.Kn(e)) return !1; + let t = e; + return !( + !r.HD(t.to) || + (!r.o8(t.select) && !r.jn(t.select)) || + (!r.o8(t.by) && !r.HD(t.by)) || + (!r.o8(t.value) && !r.hj(t.value)) + ); + }, + schema: { + type: 'object', + required: ['to'], + properties: { + to: { + type: 'string', + enum: [ + 'left', + 'right', + 'up', + 'down', + 'wrappedLineStart', + 'wrappedLineEnd', + 'wrappedLineColumnCenter', + 'wrappedLineFirstNonWhitespaceCharacter', + 'wrappedLineLastNonWhitespaceCharacter', + 'viewPortTop', + 'viewPortCenter', + 'viewPortBottom', + 'viewPortIfOutside', + ], + }, + by: { + type: 'string', + enum: ['line', 'wrappedLine', 'character', 'halfLine'], + }, + value: { type: 'number', default: 1 }, + select: { type: 'boolean', default: !1 }, + }, + }, + }, + ], + }), + (e.RawDirection = { + Left: 'left', + Right: 'right', + Up: 'up', + Down: 'down', + WrappedLineStart: 'wrappedLineStart', + WrappedLineFirstNonWhitespaceCharacter: + 'wrappedLineFirstNonWhitespaceCharacter', + WrappedLineColumnCenter: 'wrappedLineColumnCenter', + WrappedLineEnd: 'wrappedLineEnd', + WrappedLineLastNonWhitespaceCharacter: + 'wrappedLineLastNonWhitespaceCharacter', + ViewPortTop: 'viewPortTop', + ViewPortCenter: 'viewPortCenter', + ViewPortBottom: 'viewPortBottom', + ViewPortIfOutside: 'viewPortIfOutside', + }), + (e.RawUnit = { + Line: 'line', + WrappedLine: 'wrappedLine', + Character: 'character', + HalfLine: 'halfLine', + }), + (e.parse = function (t) { + if (!t.to) return null; + let i; + switch (t.to) { + case e.RawDirection.Left: + i = 0; + break; + case e.RawDirection.Right: + i = 1; + break; + case e.RawDirection.Up: + i = 2; + break; + case e.RawDirection.Down: + i = 3; + break; + case e.RawDirection.WrappedLineStart: + i = 4; + break; + case e.RawDirection.WrappedLineFirstNonWhitespaceCharacter: + i = 5; + break; + case e.RawDirection.WrappedLineColumnCenter: + i = 6; + break; + case e.RawDirection.WrappedLineEnd: + i = 7; + break; + case e.RawDirection.WrappedLineLastNonWhitespaceCharacter: + i = 8; + break; + case e.RawDirection.ViewPortTop: + i = 9; + break; + case e.RawDirection.ViewPortBottom: + i = 11; + break; + case e.RawDirection.ViewPortCenter: + i = 10; + break; + case e.RawDirection.ViewPortIfOutside: + i = 12; + break; + default: + return null; + } + let n = 0; + switch (t.by) { + case e.RawUnit.Line: + n = 1; + break; + case e.RawUnit.WrappedLine: + n = 2; + break; + case e.RawUnit.Character: + n = 3; + break; + case e.RawUnit.HalfLine: + n = 4; + } + return { + direction: i, + unit: n, + select: !!t.select, + value: t.value || 1, + }; + }); + })(n || (n = {})); + }, + 88784: (e, t, i) => { + 'use strict'; + i.d(t, { o: () => l }); + var n = i(33181), + r = i(50187), + s = i(24314), + o = i(97295); + class a { + constructor(e, t, i) { + (this.lineNumber = e), + (this.column = t), + (this.leftoverVisibleColumns = i); + } + } + class l { + static leftPosition(e, t, i) { + return ( + i > e.getLineMinColumn(t) + ? (i -= o.HO(e.getLineContent(t), i - 1)) + : t > 1 && ((t -= 1), (i = e.getLineMaxColumn(t))), + new r.L(t, i) + ); + } + static left(e, t, i, n) { + const r = l.leftPosition(t, i, n); + return new a(r.lineNumber, r.column, 0); + } + static moveLeft(e, t, i, n, r) { + let s, o; + if (i.hasSelection() && !n) + (s = i.selection.startLineNumber), (o = i.selection.startColumn); + else { + let n = l.left( + e, + t, + i.position.lineNumber, + i.position.column - (r - 1) + ); + (s = n.lineNumber), (o = n.column); + } + return i.move(n, s, o, 0); + } + static rightPosition(e, t, i) { + return ( + i < e.getLineMaxColumn(t) + ? (i += o.vH(e.getLineContent(t), i - 1)) + : t < e.getLineCount() && + ((t += 1), (i = e.getLineMinColumn(t))), + new r.L(t, i) + ); + } + static right(e, t, i, n) { + const r = l.rightPosition(t, i, n); + return new a(r.lineNumber, r.column, 0); + } + static moveRight(e, t, i, n, r) { + let s, o; + if (i.hasSelection() && !n) + (s = i.selection.endLineNumber), (o = i.selection.endColumn); + else { + let n = l.right( + e, + t, + i.position.lineNumber, + i.position.column + (r - 1) + ); + (s = n.lineNumber), (o = n.column); + } + return i.move(n, s, o, 0); + } + static down(e, t, i, r, s, o, l) { + const c = + n.io.visibleColumnFromColumn( + t.getLineContent(i), + r, + e.tabSize + ) + s, + d = t.getLineCount(), + h = i === d && r === t.getLineMaxColumn(i); + return ( + (i += o) > d + ? ((i = d), + (r = l + ? t.getLineMaxColumn(i) + : Math.min(t.getLineMaxColumn(i), r))) + : (r = n.io.columnFromVisibleColumn2(e, t, i, c)), + (s = h + ? 0 + : c - + n.io.visibleColumnFromColumn( + t.getLineContent(i), + r, + e.tabSize + )), + new a(i, r, s) + ); + } + static moveDown(e, t, i, n, r) { + let s, o; + i.hasSelection() && !n + ? ((s = i.selection.endLineNumber), (o = i.selection.endColumn)) + : ((s = i.position.lineNumber), (o = i.position.column)); + let a = l.down(e, t, s, o, i.leftoverVisibleColumns, r, !0); + return i.move(n, a.lineNumber, a.column, a.leftoverVisibleColumns); + } + static translateDown(e, t, i) { + let o = i.selection, + a = l.down( + e, + t, + o.selectionStartLineNumber, + o.selectionStartColumn, + i.selectionStartLeftoverVisibleColumns, + 1, + !1 + ), + c = l.down( + e, + t, + o.positionLineNumber, + o.positionColumn, + i.leftoverVisibleColumns, + 1, + !1 + ); + return new n.rS( + new s.e(a.lineNumber, a.column, a.lineNumber, a.column), + a.leftoverVisibleColumns, + new r.L(c.lineNumber, c.column), + c.leftoverVisibleColumns + ); + } + static up(e, t, i, r, s, o, l) { + const c = + n.io.visibleColumnFromColumn( + t.getLineContent(i), + r, + e.tabSize + ) + s, + d = 1 === i && 1 === r; + return ( + (i -= o) < 1 + ? ((i = 1), + (r = l + ? t.getLineMinColumn(i) + : Math.min(t.getLineMaxColumn(i), r))) + : (r = n.io.columnFromVisibleColumn2(e, t, i, c)), + (s = d + ? 0 + : c - + n.io.visibleColumnFromColumn( + t.getLineContent(i), + r, + e.tabSize + )), + new a(i, r, s) + ); + } + static moveUp(e, t, i, n, r) { + let s, o; + i.hasSelection() && !n + ? ((s = i.selection.startLineNumber), + (o = i.selection.startColumn)) + : ((s = i.position.lineNumber), (o = i.position.column)); + let a = l.up(e, t, s, o, i.leftoverVisibleColumns, r, !0); + return i.move(n, a.lineNumber, a.column, a.leftoverVisibleColumns); + } + static translateUp(e, t, i) { + let o = i.selection, + a = l.up( + e, + t, + o.selectionStartLineNumber, + o.selectionStartColumn, + i.selectionStartLeftoverVisibleColumns, + 1, + !1 + ), + c = l.up( + e, + t, + o.positionLineNumber, + o.positionColumn, + i.leftoverVisibleColumns, + 1, + !1 + ); + return new n.rS( + new s.e(a.lineNumber, a.column, a.lineNumber, a.column), + a.leftoverVisibleColumns, + new r.L(c.lineNumber, c.column), + c.leftoverVisibleColumns + ); + } + static moveToBeginningOfLine(e, t, i, n) { + let r, + s = i.position.lineNumber, + o = t.getLineMinColumn(s), + a = t.getLineFirstNonWhitespaceColumn(s) || o; + return (r = i.position.column === a ? o : a), i.move(n, s, r, 0); + } + static moveToEndOfLine(e, t, i, n, r) { + let s = i.position.lineNumber, + o = t.getLineMaxColumn(s); + return i.move(n, s, o, r ? 1073741824 - o : 0); + } + static moveToBeginningOfBuffer(e, t, i, n) { + return i.move(n, 1, 1, 0); + } + static moveToEndOfBuffer(e, t, i, n) { + let r = t.getLineCount(), + s = t.getLineMaxColumn(r); + return i.move(n, r, s, 0); + } + } + }, + 23582: (e, t, i) => { + 'use strict'; + i.d(t, { u: () => f, g: () => p }); + var n = i(17301), + r = i(97295), + s = i(61329), + o = i(10291), + a = i(24314), + l = i(3860); + class c { + constructor(e, t, i) { + (this._range = e), + (this._charBeforeSelection = t), + (this._charAfterSelection = i); + } + getEditOperations(e, t) { + t.addTrackedEditOperation( + new a.e( + this._range.startLineNumber, + this._range.startColumn, + this._range.startLineNumber, + this._range.startColumn + ), + this._charBeforeSelection + ), + t.addTrackedEditOperation( + new a.e( + this._range.endLineNumber, + this._range.endColumn, + this._range.endLineNumber, + this._range.endColumn + ), + this._charAfterSelection + ); + } + computeCursorState(e, t) { + let i = t.getInverseEditOperations(), + n = i[0].range, + r = i[1].range; + return new l.Y( + n.endLineNumber, + n.endColumn, + r.endLineNumber, + r.endColumn - this._charAfterSelection.length + ); + } + } + var d = i(33181), + h = i(59410), + u = i(97354), + g = i(83831); + class f { + static indent(e, t, i) { + if (null === t || null === i) return []; + let n = []; + for (let t = 0, r = i.length; t < r; t++) + n[t] = new o.U(i[t], { + isUnshift: !1, + tabSize: e.tabSize, + indentSize: e.indentSize, + insertSpaces: e.insertSpaces, + useTabStops: e.useTabStops, + autoIndent: e.autoIndent, + }); + return n; + } + static outdent(e, t, i) { + let n = []; + for (let t = 0, r = i.length; t < r; t++) + n[t] = new o.U(i[t], { + isUnshift: !0, + tabSize: e.tabSize, + indentSize: e.indentSize, + insertSpaces: e.insertSpaces, + useTabStops: e.useTabStops, + autoIndent: e.autoIndent, + }); + return n; + } + static shiftIndent(e, t, i) { + return ( + (i = i || 1), + o.U.shiftIndent( + t, + t.length + i, + e.tabSize, + e.indentSize, + e.insertSpaces + ) + ); + } + static unshiftIndent(e, t, i) { + return ( + (i = i || 1), + o.U.unshiftIndent( + t, + t.length + i, + e.tabSize, + e.indentSize, + e.insertSpaces + ) + ); + } + static _distributedPaste(e, t, i, n) { + let r = []; + for (let e = 0, t = i.length; e < t; e++) + r[e] = new s.T4(i[e], n[e]); + return new d.Tp(0, r, { + shouldPushStackElementBefore: !0, + shouldPushStackElementAfter: !0, + }); + } + static _simplePaste(e, t, i, n, r) { + let o = []; + for (let e = 0, t = i.length; e < t; e++) { + const t = i[e]; + let l = t.getPosition(); + if ( + (r && !t.isEmpty() && (r = !1), + r && n.indexOf('\n') !== n.length - 1 && (r = !1), + r) + ) { + let i = new a.e(l.lineNumber, 1, l.lineNumber, 1); + o[e] = new s.hP(i, n, t, !0); + } else o[e] = new s.T4(t, n); + } + return new d.Tp(0, o, { + shouldPushStackElementBefore: !0, + shouldPushStackElementAfter: !0, + }); + } + static _distributePasteToCursors(e, t, i, n, r) { + if (n) return null; + if (1 === t.length) return null; + if (r && r.length === t.length) return r; + if ('spread' === e.multiCursorPaste) { + 10 === i.charCodeAt(i.length - 1) && + (i = i.substr(0, i.length - 1)), + 13 === i.charCodeAt(i.length - 1) && + (i = i.substr(0, i.length - 1)); + let e = i.split(/\r\n|\r|\n/); + if (e.length === t.length) return e; + } + return null; + } + static paste(e, t, i, n, r, s) { + const o = this._distributePasteToCursors(e, i, n, r, s); + return o + ? ((i = i.sort(a.e.compareRangesUsingStarts)), + this._distributedPaste(e, t, i, o)) + : this._simplePaste(e, t, i, n, r); + } + static _goodIndentForLine(e, t, i) { + let n = null, + s = ''; + const o = g.zu.getInheritIndentForLine(e.autoIndent, t, i, !1); + if (o) (n = o.action), (s = o.indentation); + else if (i > 1) { + let n; + for (n = i - 1; n >= 1; n--) { + const e = t.getLineContent(n); + if (r.ow(e) >= 0) break; + } + if (n < 1) return null; + const o = t.getLineMaxColumn(n), + l = g.zu.getEnterAction(e.autoIndent, t, new a.e(n, o, n, o)); + l && (s = l.indentation + l.appendText); + } + return ( + n && + (n === u.w.Indent && (s = f.shiftIndent(e, s)), + n === u.w.Outdent && (s = f.unshiftIndent(e, s)), + (s = e.normalizeIndentation(s))), + s || null + ); + } + static _replaceJumpToNextIndent(e, t, i, n) { + let r = '', + o = i.getStartPosition(); + if (e.insertSpaces) { + let i = d.io.visibleColumnFromColumn2(e, t, o), + n = e.indentSize, + s = n - (i % n); + for (let e = 0; e < s; e++) r += ' '; + } else r = '\t'; + return new s.T4(i, r, n); + } + static tab(e, t, i) { + let n = []; + for (let l = 0, c = i.length; l < c; l++) { + const c = i[l]; + if (c.isEmpty()) { + let i = t.getLineContent(c.startLineNumber); + if (/^\s*$/.test(i) && t.isCheapToTokenize(c.startLineNumber)) { + let o = this._goodIndentForLine(e, t, c.startLineNumber); + o = o || '\t'; + let d = e.normalizeIndentation(o); + if (!r.Ny(i, d)) { + n[l] = new s.T4( + new a.e( + c.startLineNumber, + 1, + c.startLineNumber, + i.length + 1 + ), + d, + !0 + ); + continue; + } + } + n[l] = this._replaceJumpToNextIndent(e, t, c, !0); + } else { + if (c.startLineNumber === c.endLineNumber) { + let i = t.getLineMaxColumn(c.startLineNumber); + if (1 !== c.startColumn || c.endColumn !== i) { + n[l] = this._replaceJumpToNextIndent(e, t, c, !1); + continue; + } + } + n[l] = new o.U(c, { + isUnshift: !1, + tabSize: e.tabSize, + indentSize: e.indentSize, + insertSpaces: e.insertSpaces, + useTabStops: e.useTabStops, + autoIndent: e.autoIndent, + }); + } + } + return n; + } + static replacePreviousChar(e, t, i, n, r, o) { + let l = []; + for (let e = 0, t = n.length; e < t; e++) { + const t = n[e]; + if (!t.isEmpty()) { + l[e] = null; + continue; + } + const c = t.getPosition(), + d = Math.max(1, c.column - o), + h = new a.e(c.lineNumber, d, c.lineNumber, c.column); + i.getValueInRange(h) !== r + ? (l[e] = new s.T4(h, r)) + : (l[e] = null); + } + return new d.Tp(1, l, { + shouldPushStackElementBefore: 1 !== e, + shouldPushStackElementAfter: !1, + }); + } + static _typeCommand(e, t, i) { + return i ? new s.Sj(e, t, !0) : new s.T4(e, t, !0); + } + static _enter(e, t, i, n) { + if (0 === e.autoIndent) return f._typeCommand(n, '\n', i); + if ( + !t.isCheapToTokenize(n.getStartPosition().lineNumber) || + 1 === e.autoIndent + ) { + let s = t.getLineContent(n.startLineNumber), + o = r.V8(s).substring(0, n.startColumn - 1); + return f._typeCommand(n, '\n' + e.normalizeIndentation(o), i); + } + const o = g.zu.getEnterAction(e.autoIndent, t, n); + if (o) { + if (o.indentAction === u.w.None) + return f._typeCommand( + n, + '\n' + e.normalizeIndentation(o.indentation + o.appendText), + i + ); + if (o.indentAction === u.w.Indent) + return f._typeCommand( + n, + '\n' + e.normalizeIndentation(o.indentation + o.appendText), + i + ); + if (o.indentAction === u.w.IndentOutdent) { + const t = e.normalizeIndentation(o.indentation), + r = e.normalizeIndentation(o.indentation + o.appendText), + a = '\n' + r + '\n' + t; + return i + ? new s.Sj(n, a, !0) + : new s.Uo(n, a, -1, r.length - t.length, !0); + } + if (o.indentAction === u.w.Outdent) { + const t = f.unshiftIndent(e, o.indentation); + return f._typeCommand( + n, + '\n' + e.normalizeIndentation(t + o.appendText), + i + ); + } + } + const l = t.getLineContent(n.startLineNumber), + c = r.V8(l).substring(0, n.startColumn - 1); + if (e.autoIndent >= 4) { + const o = g.zu.getIndentForEnter(e.autoIndent, t, n, { + unshiftIndent: (t) => f.unshiftIndent(e, t), + shiftIndent: (t) => f.shiftIndent(e, t), + normalizeIndentation: (t) => e.normalizeIndentation(t), + }); + if (o) { + let h = d.io.visibleColumnFromColumn2(e, t, n.getEndPosition()); + const u = n.endColumn; + let g = '\n'; + c !== e.normalizeIndentation(o.beforeEnter) && + ((g = + e.normalizeIndentation(o.beforeEnter) + + l.substring(c.length, n.startColumn - 1) + + '\n'), + (n = new a.e( + n.startLineNumber, + 1, + n.endLineNumber, + n.endColumn + ))); + const f = t.getLineContent(n.endLineNumber), + p = r.LC(f); + if ( + ((n = + p >= 0 + ? n.setEndPosition( + n.endLineNumber, + Math.max(n.endColumn, p + 1) + ) + : n.setEndPosition( + n.endLineNumber, + t.getLineMaxColumn(n.endLineNumber) + )), + i) + ) + return new s.Sj( + n, + g + e.normalizeIndentation(o.afterEnter), + !0 + ); + { + let t = 0; + return ( + u <= p + 1 && + (e.insertSpaces || (h = Math.ceil(h / e.indentSize)), + (t = Math.min( + h + 1 - e.normalizeIndentation(o.afterEnter).length - 1, + 0 + ))), + new s.Uo( + n, + g + e.normalizeIndentation(o.afterEnter), + 0, + t, + !0 + ) + ); + } + } + } + return f._typeCommand(n, '\n' + e.normalizeIndentation(c), i); + } + static _isAutoIndentType(e, t, i) { + if (e.autoIndent < 4) return !1; + for (let e = 0, n = i.length; e < n; e++) + if (!t.isCheapToTokenize(i[e].getEndPosition().lineNumber)) + return !1; + return !0; + } + static _runAutoIndentType(e, t, i, n) { + const r = g.zu.getIndentationAtPosition( + t, + i.startLineNumber, + i.startColumn + ), + s = g.zu.getIndentActionForType(e.autoIndent, t, i, n, { + shiftIndent: (t) => f.shiftIndent(e, t), + unshiftIndent: (t) => f.unshiftIndent(e, t), + }); + if (null === s) return null; + if (s !== e.normalizeIndentation(r)) { + const r = t.getLineFirstNonWhitespaceColumn(i.startLineNumber); + return 0 === r + ? f._typeCommand( + new a.e(i.startLineNumber, 0, i.endLineNumber, i.endColumn), + e.normalizeIndentation(s) + n, + !1 + ) + : f._typeCommand( + new a.e(i.startLineNumber, 0, i.endLineNumber, i.endColumn), + e.normalizeIndentation(s) + + t + .getLineContent(i.startLineNumber) + .substring(r - 1, i.startColumn - 1) + + n, + !1 + ); + } + return null; + } + static _isAutoClosingOvertype(e, t, i, n, r) { + if ('never' === e.autoClosingOvertype) return !1; + if (!e.autoClosingPairsClose2.has(r)) return !1; + for (let s = 0, o = i.length; s < o; s++) { + const o = i[s]; + if (!o.isEmpty()) return !1; + const a = o.getPosition(), + l = t.getLineContent(a.lineNumber); + if (l.charAt(a.column - 1) !== r) return !1; + const c = (0, d.LN)(r); + if (92 === (a.column > 2 ? l.charCodeAt(a.column - 2) : 0) && c) + return !1; + if ('auto' === e.autoClosingOvertype) { + let e = !1; + for (let t = 0, i = n.length; t < i; t++) { + const i = n[t]; + if ( + a.lineNumber === i.startLineNumber && + a.column === i.startColumn + ) { + e = !0; + break; + } + } + if (!e) return !1; + } + } + return !0; + } + static _runAutoClosingOvertype(e, t, i, n, r) { + let o = []; + for (let e = 0, t = n.length; e < t; e++) { + const t = n[e].getPosition(), + i = new a.e(t.lineNumber, t.column, t.lineNumber, t.column + 1); + o[e] = new s.T4(i, r); + } + return new d.Tp(1, o, { + shouldPushStackElementBefore: 1 !== e, + shouldPushStackElementAfter: !1, + }); + } + static _autoClosingPairIsSymmetric(e) { + const { open: t, close: i } = e; + return t.indexOf(i) >= 0 || i.indexOf(t) >= 0; + } + static _isBeforeClosingBrace(e, t, i) { + const n = e.autoClosingPairsClose2.get(i); + if (!n) return !1; + const r = f._autoClosingPairIsSymmetric(t); + for (const e of n) { + const t = f._autoClosingPairIsSymmetric(e); + if (r || !t) return !0; + } + return !1; + } + static _findAutoClosingPairOpen(e, t, i, n) { + const r = e.autoClosingPairsOpen2.get(n); + if (!r) return null; + let s = null; + for (const e of r) + if (null === s || e.open.length > s.open.length) { + let r = !0; + for (const s of i) + if ( + t.getValueInRange( + new a.e( + s.lineNumber, + s.column - e.open.length + 1, + s.lineNumber, + s.column + ) + ) + + n !== + e.open + ) { + r = !1; + break; + } + r && (s = e); + } + return s; + } + static _isAutoClosingOpenCharType(e, t, i, r, s) { + const o = (0, d.LN)(r), + a = o ? e.autoClosingQuotes : e.autoClosingBrackets; + if ('never' === a) return null; + const l = this._findAutoClosingPairOpen( + e, + t, + i.map((e) => e.getPosition()), + r + ); + if (!l) return null; + const c = o + ? e.shouldAutoCloseBefore.quote + : e.shouldAutoCloseBefore.bracket; + for (let r = 0, d = i.length; r < d; r++) { + const d = i[r]; + if (!d.isEmpty()) return null; + const u = d.getPosition(), + p = t.getLineContent(u.lineNumber); + if (p.length > u.column - 1) { + const t = p.charAt(u.column - 1); + if (!f._isBeforeClosingBrace(e, l, t) && !c(t)) return null; + } + if (!t.isCheapToTokenize(u.lineNumber)) return null; + if (1 === l.open.length && o && 'always' !== a) { + const t = (0, h.u)(e.wordSeparators); + if ( + s && + u.column > 1 && + 0 === t.get(p.charCodeAt(u.column - 2)) + ) + return null; + if ( + !s && + u.column > 2 && + 0 === t.get(p.charCodeAt(u.column - 3)) + ) + return null; + } + t.forceTokenization(u.lineNumber); + const m = t.getLineTokens(u.lineNumber); + let _ = !1; + try { + _ = g.zu.shouldAutoClosePair(l, m, s ? u.column : u.column - 1); + } catch (e) { + (0, n.dL)(e); + } + if (!_) return null; + } + return l; + } + static _runAutoClosingOpenCharType(e, t, i, n, r, s, o) { + let a = []; + for (let e = 0, t = n.length; e < t; e++) { + const t = n[e]; + a[e] = new p(t, r, s, o.close); + } + return new d.Tp(1, a, { + shouldPushStackElementBefore: !0, + shouldPushStackElementAfter: !1, + }); + } + static _shouldSurroundChar(e, t) { + return (0, d.LN)(t) + ? 'quotes' === e.autoSurround || + 'languageDefined' === e.autoSurround + : 'brackets' === e.autoSurround || + 'languageDefined' === e.autoSurround; + } + static _isSurroundSelectionType(e, t, i, n) { + if ( + !f._shouldSurroundChar(e, n) || + !e.surroundingPairs.hasOwnProperty(n) + ) + return !1; + const r = (0, d.LN)(n); + for (let e = 0, n = i.length; e < n; e++) { + const n = i[e]; + if (n.isEmpty()) return !1; + let s = !0; + for (let e = n.startLineNumber; e <= n.endLineNumber; e++) { + const i = t.getLineContent(e), + r = e === n.startLineNumber ? n.startColumn - 1 : 0, + o = e === n.endLineNumber ? n.endColumn - 1 : i.length, + a = i.substring(r, o); + if (/[^ \t]/.test(a)) { + s = !1; + break; + } + } + if (s) return !1; + if ( + r && + n.startLineNumber === n.endLineNumber && + n.startColumn + 1 === n.endColumn + ) { + const e = t.getValueInRange(n); + if ((0, d.LN)(e)) return !1; + } + } + return !0; + } + static _runSurroundSelectionType(e, t, i, n, r) { + let s = []; + for (let e = 0, i = n.length; e < i; e++) { + const i = n[e], + o = t.surroundingPairs[r]; + s[e] = new c(i, r, o); + } + return new d.Tp(0, s, { + shouldPushStackElementBefore: !0, + shouldPushStackElementAfter: !0, + }); + } + static _isTypeInterceptorElectricChar(e, t, i) { + return !( + 1 !== i.length || + !t.isCheapToTokenize(i[0].getEndPosition().lineNumber) + ); + } + static _typeInterceptorElectricChar(e, t, i, o, l) { + if (!t.electricChars.hasOwnProperty(l) || !o.isEmpty()) return null; + let c = o.getPosition(); + i.forceTokenization(c.lineNumber); + let h, + u = i.getLineTokens(c.lineNumber); + try { + h = g.zu.onElectricCharacter(l, u, c.column); + } catch (e) { + return (0, n.dL)(e), null; + } + if (!h) return null; + if (h.matchOpenBracket) { + let e = + (u.getLineContent() + l).lastIndexOf(h.matchOpenBracket) + 1, + n = i.findMatchingBracketUp(h.matchOpenBracket, { + lineNumber: c.lineNumber, + column: e, + }); + if (n) { + if (n.startLineNumber === c.lineNumber) return null; + let e = i.getLineContent(n.startLineNumber), + o = r.V8(e), + h = t.normalizeIndentation(o), + u = i.getLineContent(c.lineNumber), + g = + i.getLineFirstNonWhitespaceColumn(c.lineNumber) || c.column, + f = h + u.substring(g - 1, c.column - 1) + l, + p = new a.e(c.lineNumber, 1, c.lineNumber, c.column); + const m = new s.T4(p, f); + return new d.Tp(1, [m], { + shouldPushStackElementBefore: !1, + shouldPushStackElementAfter: !0, + }); + } + } + return null; + } + static compositionEndWithInterceptors(e, t, i, n, r, o) { + if (!n || l.Y.selectionsArrEqual(n, r)) return null; + let c = null; + for (const e of r) { + if (!e.isEmpty()) return null; + const t = e.getPosition(), + n = i.getValueInRange( + new a.e(t.lineNumber, t.column - 1, t.lineNumber, t.column) + ); + if (null === c) c = n; + else if (c !== n) return null; + } + if (!c) return null; + if (this._isAutoClosingOvertype(t, i, r, o, c)) { + const e = r.map( + (e) => + new s.T4( + new a.e( + e.positionLineNumber, + e.positionColumn, + e.positionLineNumber, + e.positionColumn + 1 + ), + '', + !1 + ) + ); + return new d.Tp(1, e, { + shouldPushStackElementBefore: !0, + shouldPushStackElementAfter: !1, + }); + } + const h = this._isAutoClosingOpenCharType(t, i, r, c, !1); + return h + ? this._runAutoClosingOpenCharType(e, t, i, r, c, !1, h) + : null; + } + static typeWithInterceptors(e, t, i, n, r, o, a) { + if (!e && '\n' === a) { + let e = []; + for (let t = 0, s = r.length; t < s; t++) + e[t] = f._enter(i, n, !1, r[t]); + return new d.Tp(1, e, { + shouldPushStackElementBefore: !0, + shouldPushStackElementAfter: !1, + }); + } + if (!e && this._isAutoIndentType(i, n, r)) { + let e = [], + t = !1; + for (let s = 0, o = r.length; s < o; s++) + if (((e[s] = this._runAutoIndentType(i, n, r[s], a)), !e[s])) { + t = !0; + break; + } + if (!t) + return new d.Tp(1, e, { + shouldPushStackElementBefore: !0, + shouldPushStackElementAfter: !1, + }); + } + if (!e && this._isAutoClosingOvertype(i, n, r, o, a)) + return this._runAutoClosingOvertype(t, i, n, r, a); + if (!e) { + const e = this._isAutoClosingOpenCharType(i, n, r, a, !0); + if (e) + return this._runAutoClosingOpenCharType(t, i, n, r, a, !0, e); + } + if (this._isSurroundSelectionType(i, n, r, a)) + return this._runSurroundSelectionType(t, i, n, r, a); + if (!e && this._isTypeInterceptorElectricChar(i, n, r)) { + const e = this._typeInterceptorElectricChar(t, i, n, r[0], a); + if (e) return e; + } + let l = []; + for (let e = 0, t = r.length; e < t; e++) l[e] = new s.T4(r[e], a); + let c = 1 !== t; + return ( + ' ' === a && (c = !0), + new d.Tp(1, l, { + shouldPushStackElementBefore: c, + shouldPushStackElementAfter: !1, + }) + ); + } + static typeWithoutInterceptors(e, t, i, n, r) { + let o = []; + for (let e = 0, t = n.length; e < t; e++) o[e] = new s.T4(n[e], r); + return new d.Tp(1, o, { + shouldPushStackElementBefore: 1 !== e, + shouldPushStackElementAfter: !1, + }); + } + static lineInsertBefore(e, t, i) { + if (null === t || null === i) return []; + let n = []; + for (let r = 0, o = i.length; r < o; r++) { + let o = i[r].positionLineNumber; + if (1 === o) n[r] = new s.Sj(new a.e(1, 1, 1, 1), '\n'); + else { + o--; + let i = t.getLineMaxColumn(o); + n[r] = this._enter(e, t, !1, new a.e(o, i, o, i)); + } + } + return n; + } + static lineInsertAfter(e, t, i) { + if (null === t || null === i) return []; + let n = []; + for (let r = 0, s = i.length; r < s; r++) { + const s = i[r].positionLineNumber; + let o = t.getLineMaxColumn(s); + n[r] = this._enter(e, t, !1, new a.e(s, o, s, o)); + } + return n; + } + static lineBreakInsert(e, t, i) { + let n = []; + for (let r = 0, s = i.length; r < s; r++) + n[r] = this._enter(e, t, !0, i[r]); + return n; + } + } + class p extends s.Uo { + constructor(e, t, i, n) { + super(e, (i ? t : '') + n, 0, -n.length), + (this._openCharacter = t), + (this._closeCharacter = n), + (this.closeCharacterRange = null), + (this.enclosingRange = null); + } + computeCursorState(e, t) { + let i = t.getInverseEditOperations()[0].range; + return ( + (this.closeCharacterRange = new a.e( + i.startLineNumber, + i.endColumn - this._closeCharacter.length, + i.endLineNumber, + i.endColumn + )), + (this.enclosingRange = new a.e( + i.startLineNumber, + i.endColumn - + this._openCharacter.length - + this._closeCharacter.length, + i.endLineNumber, + i.endColumn + )), + super.computeCursorState(e, t) + ); + } + } + }, + 5795: (e, t, i) => { + 'use strict'; + i.d(t, { w: () => l, L: () => c }); + var n = i(97295), + r = i(33181), + s = i(59410), + o = i(50187), + a = i(24314); + class l { + static _createWord(e, t, i, n, r) { + return { start: n, end: r, wordType: t, nextCharClass: i }; + } + static _findPreviousWordOnLine(e, t, i) { + let n = t.getLineContent(i.lineNumber); + return this._doFindPreviousWordOnLine(n, e, i); + } + static _doFindPreviousWordOnLine(e, t, i) { + let n = 0; + for (let r = i.column - 2; r >= 0; r--) { + let i = e.charCodeAt(r), + s = t.get(i); + if (0 === s) { + if (2 === n) + return this._createWord( + e, + n, + s, + r + 1, + this._findEndOfWord(e, t, n, r + 1) + ); + n = 1; + } else if (2 === s) { + if (1 === n) + return this._createWord( + e, + n, + s, + r + 1, + this._findEndOfWord(e, t, n, r + 1) + ); + n = 2; + } else if (1 === s && 0 !== n) + return this._createWord( + e, + n, + s, + r + 1, + this._findEndOfWord(e, t, n, r + 1) + ); + } + return 0 !== n + ? this._createWord(e, n, 1, 0, this._findEndOfWord(e, t, n, 0)) + : null; + } + static _findEndOfWord(e, t, i, n) { + let r = e.length; + for (let s = n; s < r; s++) { + let n = e.charCodeAt(s), + r = t.get(n); + if (1 === r) return s; + if (1 === i && 2 === r) return s; + if (2 === i && 0 === r) return s; + } + return r; + } + static _findNextWordOnLine(e, t, i) { + let n = t.getLineContent(i.lineNumber); + return this._doFindNextWordOnLine(n, e, i); + } + static _doFindNextWordOnLine(e, t, i) { + let n = 0, + r = e.length; + for (let s = i.column - 1; s < r; s++) { + let i = e.charCodeAt(s), + r = t.get(i); + if (0 === r) { + if (2 === n) + return this._createWord( + e, + n, + r, + this._findStartOfWord(e, t, n, s - 1), + s + ); + n = 1; + } else if (2 === r) { + if (1 === n) + return this._createWord( + e, + n, + r, + this._findStartOfWord(e, t, n, s - 1), + s + ); + n = 2; + } else if (1 === r && 0 !== n) + return this._createWord( + e, + n, + r, + this._findStartOfWord(e, t, n, s - 1), + s + ); + } + return 0 !== n + ? this._createWord( + e, + n, + 1, + this._findStartOfWord(e, t, n, r - 1), + r + ) + : null; + } + static _findStartOfWord(e, t, i, n) { + for (let r = n; r >= 0; r--) { + let n = e.charCodeAt(r), + s = t.get(n); + if (1 === s) return r + 1; + if (1 === i && 2 === s) return r + 1; + if (2 === i && 0 === s) return r + 1; + } + return 0; + } + static moveWordLeft(e, t, i, n) { + let r = i.lineNumber, + s = i.column; + 1 === s && r > 1 && ((r -= 1), (s = t.getLineMaxColumn(r))); + let a = l._findPreviousWordOnLine(e, t, new o.L(r, s)); + if (0 === n) return new o.L(r, a ? a.start + 1 : 1); + if (1 === n) + return ( + a && + 2 === a.wordType && + a.end - a.start == 1 && + 0 === a.nextCharClass && + (a = l._findPreviousWordOnLine( + e, + t, + new o.L(r, a.start + 1) + )), + new o.L(r, a ? a.start + 1 : 1) + ); + if (3 === n) { + for (; a && 2 === a.wordType; ) + a = l._findPreviousWordOnLine(e, t, new o.L(r, a.start + 1)); + return new o.L(r, a ? a.start + 1 : 1); + } + return ( + a && + s <= a.end + 1 && + (a = l._findPreviousWordOnLine(e, t, new o.L(r, a.start + 1))), + new o.L(r, a ? a.end + 1 : 1) + ); + } + static _moveWordPartLeft(e, t) { + const i = t.lineNumber, + r = e.getLineMaxColumn(i); + if (1 === t.column) + return i > 1 ? new o.L(i - 1, e.getLineMaxColumn(i - 1)) : t; + const s = e.getLineContent(i); + for (let e = t.column - 1; e > 1; e--) { + const t = s.charCodeAt(e - 2), + a = s.charCodeAt(e - 1); + if (95 === t && 95 !== a) return new o.L(i, e); + if (n.mK(t) && n.df(a)) return new o.L(i, e); + if (n.df(t) && n.df(a) && e + 1 < r) { + const t = s.charCodeAt(e); + if (n.mK(t)) return new o.L(i, e); + } + } + return new o.L(i, 1); + } + static moveWordRight(e, t, i, n) { + let r = i.lineNumber, + s = i.column, + a = !1; + s === t.getLineMaxColumn(r) && + r < t.getLineCount() && + ((a = !0), (r += 1), (s = 1)); + let c = l._findNextWordOnLine(e, t, new o.L(r, s)); + if (2 === n) + c && + 2 === c.wordType && + c.end - c.start == 1 && + 0 === c.nextCharClass && + (c = l._findNextWordOnLine(e, t, new o.L(r, c.end + 1))), + (s = c ? c.end + 1 : t.getLineMaxColumn(r)); + else if (3 === n) { + for (a && (s = 0); c && (2 === c.wordType || c.start + 1 <= s); ) + c = l._findNextWordOnLine(e, t, new o.L(r, c.end + 1)); + s = c ? c.start + 1 : t.getLineMaxColumn(r); + } else + c && + !a && + s >= c.start + 1 && + (c = l._findNextWordOnLine(e, t, new o.L(r, c.end + 1))), + (s = c ? c.start + 1 : t.getLineMaxColumn(r)); + return new o.L(r, s); + } + static _moveWordPartRight(e, t) { + const i = t.lineNumber, + r = e.getLineMaxColumn(i); + if (t.column === r) + return i < e.getLineCount() ? new o.L(i + 1, 1) : t; + const s = e.getLineContent(i); + for (let e = t.column + 1; e < r; e++) { + const t = s.charCodeAt(e - 2), + a = s.charCodeAt(e - 1); + if (95 !== t && 95 === a) return new o.L(i, e); + if (n.mK(t) && n.df(a)) return new o.L(i, e); + if (n.df(t) && n.df(a) && e + 1 < r) { + const t = s.charCodeAt(e); + if (n.mK(t)) return new o.L(i, e); + } + } + return new o.L(i, r); + } + static _deleteWordLeftWhitespace(e, t) { + const i = e.getLineContent(t.lineNumber), + r = t.column - 2, + s = n.ow(i, r); + return s + 1 < r + ? new a.e(t.lineNumber, s + 2, t.lineNumber, t.column) + : null; + } + static deleteWordLeft(e, t, i, n, r) { + if (!i.isEmpty()) return i; + const s = new o.L(i.positionLineNumber, i.positionColumn); + let c = s.lineNumber, + d = s.column; + if (1 === c && 1 === d) return null; + if (n) { + let e = this._deleteWordLeftWhitespace(t, s); + if (e) return e; + } + let h = l._findPreviousWordOnLine(e, t, s); + return ( + 0 === r + ? h + ? (d = h.start + 1) + : d > 1 + ? (d = 1) + : (c--, (d = t.getLineMaxColumn(c))) + : (h && + d <= h.end + 1 && + (h = l._findPreviousWordOnLine( + e, + t, + new o.L(c, h.start + 1) + )), + h + ? (d = h.end + 1) + : d > 1 + ? (d = 1) + : (c--, (d = t.getLineMaxColumn(c)))), + new a.e(c, d, s.lineNumber, s.column) + ); + } + static _deleteWordPartLeft(e, t) { + if (!t.isEmpty()) return t; + const i = t.getPosition(), + n = l._moveWordPartLeft(e, i); + return new a.e(i.lineNumber, i.column, n.lineNumber, n.column); + } + static _findFirstNonWhitespaceChar(e, t) { + let i = e.length; + for (let n = t; n < i; n++) { + let t = e.charAt(n); + if (' ' !== t && '\t' !== t) return n; + } + return i; + } + static _deleteWordRightWhitespace(e, t) { + const i = e.getLineContent(t.lineNumber), + n = t.column - 1, + r = this._findFirstNonWhitespaceChar(i, n); + return n + 1 < r + ? new a.e(t.lineNumber, t.column, t.lineNumber, r + 1) + : null; + } + static deleteWordRight(e, t, i, n, r) { + if (!i.isEmpty()) return i; + const s = new o.L(i.positionLineNumber, i.positionColumn); + let c = s.lineNumber, + d = s.column; + const h = t.getLineCount(), + u = t.getLineMaxColumn(c); + if (c === h && d === u) return null; + if (n) { + let e = this._deleteWordRightWhitespace(t, s); + if (e) return e; + } + let g = l._findNextWordOnLine(e, t, s); + return ( + 2 === r + ? g + ? (d = g.end + 1) + : d < u || c === h + ? (d = u) + : (c++, + (g = l._findNextWordOnLine(e, t, new o.L(c, 1))), + (d = g ? g.start + 1 : t.getLineMaxColumn(c))) + : (g && + d >= g.start + 1 && + (g = l._findNextWordOnLine(e, t, new o.L(c, g.end + 1))), + g + ? (d = g.start + 1) + : d < u || c === h + ? (d = u) + : (c++, + (g = l._findNextWordOnLine(e, t, new o.L(c, 1))), + (d = g ? g.start + 1 : t.getLineMaxColumn(c)))), + new a.e(c, d, s.lineNumber, s.column) + ); + } + static _deleteWordPartRight(e, t) { + if (!t.isEmpty()) return t; + const i = t.getPosition(), + n = l._moveWordPartRight(e, i); + return new a.e(i.lineNumber, i.column, n.lineNumber, n.column); + } + static _createWordAtPosition(e, t, i) { + const n = new a.e(t, i.start + 1, t, i.end + 1); + return { + word: e.getValueInRange(n), + startColumn: n.startColumn, + endColumn: n.endColumn, + }; + } + static getWordAtPosition(e, t, i) { + const n = (0, s.u)(t), + r = l._findPreviousWordOnLine(n, e, i); + if ( + r && + 1 === r.wordType && + r.start <= i.column - 1 && + i.column - 1 <= r.end + ) + return l._createWordAtPosition(e, i.lineNumber, r); + const o = l._findNextWordOnLine(n, e, i); + return o && + 1 === o.wordType && + o.start <= i.column - 1 && + i.column - 1 <= o.end + ? l._createWordAtPosition(e, i.lineNumber, o) + : null; + } + static word(e, t, i, n, c) { + const d = (0, s.u)(e.wordSeparators); + let h, + u, + g = l._findPreviousWordOnLine(d, t, c), + f = l._findNextWordOnLine(d, t, c); + if (!n) { + let e, i; + return ( + g && + 1 === g.wordType && + g.start <= c.column - 1 && + c.column - 1 <= g.end + ? ((e = g.start + 1), (i = g.end + 1)) + : f && + 1 === f.wordType && + f.start <= c.column - 1 && + c.column - 1 <= f.end + ? ((e = f.start + 1), (i = f.end + 1)) + : ((e = g ? g.end + 1 : 1), + (i = f ? f.start + 1 : t.getLineMaxColumn(c.lineNumber))), + new r.rS( + new a.e(c.lineNumber, e, c.lineNumber, i), + 0, + new o.L(c.lineNumber, i), + 0 + ) + ); + } + g && + 1 === g.wordType && + g.start < c.column - 1 && + c.column - 1 < g.end + ? ((h = g.start + 1), (u = g.end + 1)) + : f && + 1 === f.wordType && + f.start < c.column - 1 && + c.column - 1 < f.end + ? ((h = f.start + 1), (u = f.end + 1)) + : ((h = c.column), (u = c.column)); + let p, + m = c.lineNumber; + if (i.selectionStart.containsPosition(c)) + p = i.selectionStart.endColumn; + else if (c.isBeforeOrEqual(i.selectionStart.getStartPosition())) { + p = h; + let e = new o.L(m, p); + i.selectionStart.containsPosition(e) && + (p = i.selectionStart.endColumn); + } else { + p = u; + let e = new o.L(m, p); + i.selectionStart.containsPosition(e) && + (p = i.selectionStart.startColumn); + } + return i.move(!0, m, p, 0); + } + } + class c extends l { + static deleteWordPartLeft(e, t, i, n) { + const r = d([ + l.deleteWordLeft(e, t, i, n, 0), + l.deleteWordLeft(e, t, i, n, 2), + l._deleteWordPartLeft(t, i), + ]); + return r.sort(a.e.compareRangesUsingEnds), r[2]; + } + static deleteWordPartRight(e, t, i, n) { + const r = d([ + l.deleteWordRight(e, t, i, n, 0), + l.deleteWordRight(e, t, i, n, 2), + l._deleteWordPartRight(t, i), + ]); + return r.sort(a.e.compareRangesUsingStarts), r[0]; + } + static moveWordPartLeft(e, t, i) { + const n = d([ + l.moveWordLeft(e, t, i, 0), + l.moveWordLeft(e, t, i, 2), + l._moveWordPartLeft(t, i), + ]); + return n.sort(o.L.compare), n[2]; + } + static moveWordPartRight(e, t, i) { + const n = d([ + l.moveWordRight(e, t, i, 0), + l.moveWordRight(e, t, i, 2), + l._moveWordPartRight(t, i), + ]); + return n.sort(o.L.compare), n[0]; + } + } + function d(e) { + return e.filter((e) => Boolean(e)); + } + }, + 59410: (e, t, i) => { + 'use strict'; + i.d(t, { u: () => s }); + var n = i(44906); + class r extends n.N { + constructor(e) { + super(0); + for (let t = 0, i = e.length; t < i; t++) + this.set(e.charCodeAt(t), 2); + this.set(32, 1), this.set(9, 1); + } + } + const s = (function (e) { + let t = {}; + return (e) => ( + t.hasOwnProperty(e) || (t[e] = ((e) => new r(e))(e)), t[e] + ); + })(); + }, + 44906: (e, t, i) => { + 'use strict'; + i.d(t, { N: () => r, q: () => s }); + var n = i(85427); + class r { + constructor(e) { + let t = (0, n.K)(e); + (this._defaultValue = t), + (this._asciiMap = r._createAsciiMap(t)), + (this._map = new Map()); + } + static _createAsciiMap(e) { + let t = new Uint8Array(256); + for (let i = 0; i < 256; i++) t[i] = e; + return t; + } + set(e, t) { + let i = (0, n.K)(t); + e >= 0 && e < 256 ? (this._asciiMap[e] = i) : this._map.set(e, i); + } + get(e) { + return e >= 0 && e < 256 + ? this._asciiMap[e] + : this._map.get(e) || this._defaultValue; + } + } + class s { + constructor() { + this._actual = new r(0); + } + add(e) { + this._actual.set(e, 1); + } + has(e) { + return 1 === this._actual.get(e); + } + } + }, + 69386: (e, t, i) => { + 'use strict'; + i.d(t, { h: () => r }); + var n = i(24314); + class r { + static insert(e, t) { + return { + range: new n.e(e.lineNumber, e.column, e.lineNumber, e.column), + text: t, + forceMoveMarkers: !0, + }; + } + static delete(e) { + return { range: e, text: null }; + } + static replace(e, t) { + return { range: e, text: t }; + } + static replaceMove(e, t) { + return { range: e, text: t, forceMoveMarkers: !0 }; + } + } + }, + 78411: (e, t, i) => { + 'use strict'; + i.d(t, { A: () => r }); + var n = i(43775); + class r { + constructor(e, t) { + (this._tokens = e), + (this._tokensCount = this._tokens.length >>> 1), + (this._text = t); + } + equals(e) { + return e instanceof r && this.slicedEquals(e, 0, this._tokensCount); + } + slicedEquals(e, t, i) { + if (this._text !== e._text) return !1; + if (this._tokensCount !== e._tokensCount) return !1; + const n = t << 1, + r = n + (i << 1); + for (let t = n; t < r; t++) + if (this._tokens[t] !== e._tokens[t]) return !1; + return !0; + } + getLineContent() { + return this._text; + } + getCount() { + return this._tokensCount; + } + getStartOffset(e) { + return e > 0 ? this._tokens[(e - 1) << 1] : 0; + } + getMetadata(e) { + return this._tokens[1 + (e << 1)]; + } + getLanguageId(e) { + const t = this._tokens[1 + (e << 1)]; + return n.NX.getLanguageId(t); + } + getStandardTokenType(e) { + const t = this._tokens[1 + (e << 1)]; + return n.NX.getTokenType(t); + } + getForeground(e) { + const t = this._tokens[1 + (e << 1)]; + return n.NX.getForeground(t); + } + getClassName(e) { + const t = this._tokens[1 + (e << 1)]; + return n.NX.getClassNameFromMetadata(t); + } + getInlineStyle(e, t) { + const i = this._tokens[1 + (e << 1)]; + return n.NX.getInlineStyleFromMetadata(i, t); + } + getEndOffset(e) { + return this._tokens[e << 1]; + } + findTokenIndexAtOffset(e) { + return r.findIndexInTokensArray(this._tokens, e); + } + inflate() { + return this; + } + sliceAndInflate(e, t, i) { + return new s(this, e, t, i); + } + static convertToEndOffset(e, t) { + const i = (e.length >>> 1) - 1; + for (let t = 0; t < i; t++) e[t << 1] = e[(t + 1) << 1]; + e[i << 1] = t; + } + static findIndexInTokensArray(e, t) { + if (e.length <= 2) return 0; + let i = 0, + n = (e.length >>> 1) - 1; + for (; i < n; ) { + const r = i + Math.floor((n - i) / 2), + s = e[r << 1]; + if (s === t) return r + 1; + s < t ? (i = r + 1) : s > t && (n = r); + } + return i; + } + } + class s { + constructor(e, t, i, n) { + (this._source = e), + (this._startOffset = t), + (this._endOffset = i), + (this._deltaOffset = n), + (this._firstTokenIndex = e.findTokenIndexAtOffset(t)), + (this._tokensCount = 0); + for ( + let t = this._firstTokenIndex, n = e.getCount(); + t < n && !(e.getStartOffset(t) >= i); + t++ + ) + this._tokensCount++; + } + equals(e) { + return ( + e instanceof s && + this._startOffset === e._startOffset && + this._endOffset === e._endOffset && + this._deltaOffset === e._deltaOffset && + this._source.slicedEquals( + e._source, + this._firstTokenIndex, + this._tokensCount + ) + ); + } + getCount() { + return this._tokensCount; + } + getForeground(e) { + return this._source.getForeground(this._firstTokenIndex + e); + } + getEndOffset(e) { + const t = this._source.getEndOffset(this._firstTokenIndex + e); + return ( + Math.min(this._endOffset, t) - + this._startOffset + + this._deltaOffset + ); + } + getClassName(e) { + return this._source.getClassName(this._firstTokenIndex + e); + } + getInlineStyle(e, t) { + return this._source.getInlineStyle(this._firstTokenIndex + e, t); + } + findTokenIndexAtOffset(e) { + return ( + this._source.findTokenIndexAtOffset( + e + this._startOffset - this._deltaOffset + ) - this._firstTokenIndex + ); + } + } + }, + 50187: (e, t, i) => { + 'use strict'; + i.d(t, { L: () => n }); + class n { + constructor(e, t) { + (this.lineNumber = e), (this.column = t); + } + with(e = this.lineNumber, t = this.column) { + return e === this.lineNumber && t === this.column + ? this + : new n(e, t); + } + delta(e = 0, t = 0) { + return this.with(this.lineNumber + e, this.column + t); + } + equals(e) { + return n.equals(this, e); + } + static equals(e, t) { + return ( + (!e && !t) || + (!!e && + !!t && + e.lineNumber === t.lineNumber && + e.column === t.column) + ); + } + isBefore(e) { + return n.isBefore(this, e); + } + static isBefore(e, t) { + return ( + e.lineNumber < t.lineNumber || + (!(t.lineNumber < e.lineNumber) && e.column < t.column) + ); + } + isBeforeOrEqual(e) { + return n.isBeforeOrEqual(this, e); + } + static isBeforeOrEqual(e, t) { + return ( + e.lineNumber < t.lineNumber || + (!(t.lineNumber < e.lineNumber) && e.column <= t.column) + ); + } + static compare(e, t) { + let i = 0 | e.lineNumber, + n = 0 | t.lineNumber; + return i === n ? (0 | e.column) - (0 | t.column) : i - n; + } + clone() { + return new n(this.lineNumber, this.column); + } + toString() { + return '(' + this.lineNumber + ',' + this.column + ')'; + } + static lift(e) { + return new n(e.lineNumber, e.column); + } + static isIPosition(e) { + return ( + e && + 'number' == typeof e.lineNumber && + 'number' == typeof e.column + ); + } + } + }, + 24314: (e, t, i) => { + 'use strict'; + i.d(t, { e: () => r }); + var n = i(50187); + class r { + constructor(e, t, i, n) { + e > i || (e === i && t > n) + ? ((this.startLineNumber = i), + (this.startColumn = n), + (this.endLineNumber = e), + (this.endColumn = t)) + : ((this.startLineNumber = e), + (this.startColumn = t), + (this.endLineNumber = i), + (this.endColumn = n)); + } + isEmpty() { + return r.isEmpty(this); + } + static isEmpty(e) { + return ( + e.startLineNumber === e.endLineNumber && + e.startColumn === e.endColumn + ); + } + containsPosition(e) { + return r.containsPosition(this, e); + } + static containsPosition(e, t) { + return !( + t.lineNumber < e.startLineNumber || + t.lineNumber > e.endLineNumber || + (t.lineNumber === e.startLineNumber && + t.column < e.startColumn) || + (t.lineNumber === e.endLineNumber && t.column > e.endColumn) + ); + } + containsRange(e) { + return r.containsRange(this, e); + } + static containsRange(e, t) { + return !( + t.startLineNumber < e.startLineNumber || + t.endLineNumber < e.startLineNumber || + t.startLineNumber > e.endLineNumber || + t.endLineNumber > e.endLineNumber || + (t.startLineNumber === e.startLineNumber && + t.startColumn < e.startColumn) || + (t.endLineNumber === e.endLineNumber && t.endColumn > e.endColumn) + ); + } + strictContainsRange(e) { + return r.strictContainsRange(this, e); + } + static strictContainsRange(e, t) { + return !( + t.startLineNumber < e.startLineNumber || + t.endLineNumber < e.startLineNumber || + t.startLineNumber > e.endLineNumber || + t.endLineNumber > e.endLineNumber || + (t.startLineNumber === e.startLineNumber && + t.startColumn <= e.startColumn) || + (t.endLineNumber === e.endLineNumber && + t.endColumn >= e.endColumn) + ); + } + plusRange(e) { + return r.plusRange(this, e); + } + static plusRange(e, t) { + let i, n, s, o; + return ( + t.startLineNumber < e.startLineNumber + ? ((i = t.startLineNumber), (n = t.startColumn)) + : t.startLineNumber === e.startLineNumber + ? ((i = t.startLineNumber), + (n = Math.min(t.startColumn, e.startColumn))) + : ((i = e.startLineNumber), (n = e.startColumn)), + t.endLineNumber > e.endLineNumber + ? ((s = t.endLineNumber), (o = t.endColumn)) + : t.endLineNumber === e.endLineNumber + ? ((s = t.endLineNumber), + (o = Math.max(t.endColumn, e.endColumn))) + : ((s = e.endLineNumber), (o = e.endColumn)), + new r(i, n, s, o) + ); + } + intersectRanges(e) { + return r.intersectRanges(this, e); + } + static intersectRanges(e, t) { + let i = e.startLineNumber, + n = e.startColumn, + s = e.endLineNumber, + o = e.endColumn, + a = t.startLineNumber, + l = t.startColumn, + c = t.endLineNumber, + d = t.endColumn; + return ( + i < a ? ((i = a), (n = l)) : i === a && (n = Math.max(n, l)), + s > c ? ((s = c), (o = d)) : s === c && (o = Math.min(o, d)), + i > s || (i === s && n > o) ? null : new r(i, n, s, o) + ); + } + equalsRange(e) { + return r.equalsRange(this, e); + } + static equalsRange(e, t) { + return ( + !!e && + !!t && + e.startLineNumber === t.startLineNumber && + e.startColumn === t.startColumn && + e.endLineNumber === t.endLineNumber && + e.endColumn === t.endColumn + ); + } + getEndPosition() { + return r.getEndPosition(this); + } + static getEndPosition(e) { + return new n.L(e.endLineNumber, e.endColumn); + } + getStartPosition() { + return r.getStartPosition(this); + } + static getStartPosition(e) { + return new n.L(e.startLineNumber, e.startColumn); + } + toString() { + return ( + '[' + + this.startLineNumber + + ',' + + this.startColumn + + ' -> ' + + this.endLineNumber + + ',' + + this.endColumn + + ']' + ); + } + setEndPosition(e, t) { + return new r(this.startLineNumber, this.startColumn, e, t); + } + setStartPosition(e, t) { + return new r(e, t, this.endLineNumber, this.endColumn); + } + collapseToStart() { + return r.collapseToStart(this); + } + static collapseToStart(e) { + return new r( + e.startLineNumber, + e.startColumn, + e.startLineNumber, + e.startColumn + ); + } + static fromPositions(e, t = e) { + return new r(e.lineNumber, e.column, t.lineNumber, t.column); + } + static lift(e) { + return e + ? new r( + e.startLineNumber, + e.startColumn, + e.endLineNumber, + e.endColumn + ) + : null; + } + static isIRange(e) { + return ( + e && + 'number' == typeof e.startLineNumber && + 'number' == typeof e.startColumn && + 'number' == typeof e.endLineNumber && + 'number' == typeof e.endColumn + ); + } + static areIntersectingOrTouching(e, t) { + return !( + e.endLineNumber < t.startLineNumber || + (e.endLineNumber === t.startLineNumber && + e.endColumn < t.startColumn) || + t.endLineNumber < e.startLineNumber || + (t.endLineNumber === e.startLineNumber && + t.endColumn < e.startColumn) + ); + } + static areIntersecting(e, t) { + return !( + e.endLineNumber < t.startLineNumber || + (e.endLineNumber === t.startLineNumber && + e.endColumn <= t.startColumn) || + t.endLineNumber < e.startLineNumber || + (t.endLineNumber === e.startLineNumber && + t.endColumn <= e.startColumn) + ); + } + static compareRangesUsingStarts(e, t) { + if (e && t) { + const i = 0 | e.startLineNumber, + n = 0 | t.startLineNumber; + if (i === n) { + const i = 0 | e.startColumn, + n = 0 | t.startColumn; + if (i === n) { + const i = 0 | e.endLineNumber, + n = 0 | t.endLineNumber; + return i === n + ? (0 | e.endColumn) - (0 | t.endColumn) + : i - n; + } + return i - n; + } + return i - n; + } + return (e ? 1 : 0) - (t ? 1 : 0); + } + static compareRangesUsingEnds(e, t) { + return e.endLineNumber === t.endLineNumber + ? e.endColumn === t.endColumn + ? e.startLineNumber === t.startLineNumber + ? e.startColumn - t.startColumn + : e.startLineNumber - t.startLineNumber + : e.endColumn - t.endColumn + : e.endLineNumber - t.endLineNumber; + } + static spansMultipleLines(e) { + return e.endLineNumber > e.startLineNumber; + } + } + }, + 3860: (e, t, i) => { + 'use strict'; + i.d(t, { Y: () => s }); + var n = i(50187), + r = i(24314); + class s extends r.e { + constructor(e, t, i, n) { + super(e, t, i, n), + (this.selectionStartLineNumber = e), + (this.selectionStartColumn = t), + (this.positionLineNumber = i), + (this.positionColumn = n); + } + toString() { + return ( + '[' + + this.selectionStartLineNumber + + ',' + + this.selectionStartColumn + + ' -> ' + + this.positionLineNumber + + ',' + + this.positionColumn + + ']' + ); + } + equalsSelection(e) { + return s.selectionsEqual(this, e); + } + static selectionsEqual(e, t) { + return ( + e.selectionStartLineNumber === t.selectionStartLineNumber && + e.selectionStartColumn === t.selectionStartColumn && + e.positionLineNumber === t.positionLineNumber && + e.positionColumn === t.positionColumn + ); + } + getDirection() { + return this.selectionStartLineNumber === this.startLineNumber && + this.selectionStartColumn === this.startColumn + ? 0 + : 1; + } + setEndPosition(e, t) { + return 0 === this.getDirection() + ? new s(this.startLineNumber, this.startColumn, e, t) + : new s(e, t, this.startLineNumber, this.startColumn); + } + getPosition() { + return new n.L(this.positionLineNumber, this.positionColumn); + } + setStartPosition(e, t) { + return 0 === this.getDirection() + ? new s(e, t, this.endLineNumber, this.endColumn) + : new s(this.endLineNumber, this.endColumn, e, t); + } + static fromPositions(e, t = e) { + return new s(e.lineNumber, e.column, t.lineNumber, t.column); + } + static liftSelection(e) { + return new s( + e.selectionStartLineNumber, + e.selectionStartColumn, + e.positionLineNumber, + e.positionColumn + ); + } + static selectionsArrEqual(e, t) { + if ((e && !t) || (!e && t)) return !1; + if (!e && !t) return !0; + if (e.length !== t.length) return !1; + for (let i = 0, n = e.length; i < n; i++) + if (!this.selectionsEqual(e[i], t[i])) return !1; + return !0; + } + static isISelection(e) { + return ( + e && + 'number' == typeof e.selectionStartLineNumber && + 'number' == typeof e.selectionStartColumn && + 'number' == typeof e.positionLineNumber && + 'number' == typeof e.positionColumn + ); + } + static createWithDirection(e, t, i, n, r) { + return 0 === r ? new s(e, t, i, n) : new s(i, n, e, t); + } + } + }, + 50072: (e, t, i) => { + 'use strict'; + i.d(t, { oe: () => a, lZ: () => l, l$: () => c, kH: () => d }); + var n = i(97295), + r = i(1432), + s = i(53060); + let o; + function a() { + return o || (o = new TextDecoder(r.r() ? 'UTF-16LE' : 'UTF-16BE')), o; + } + const l = 'undefined' != typeof TextDecoder; + let c, d; + l + ? ((c = (e) => new h(e)), + (d = function (e, t, i) { + const n = new Uint16Array(e.buffer, t, i); + return a().decode(n); + })) + : ((c = (e) => new u()), + (d = function (e, t, i) { + let n = [], + r = 0; + for (let o = 0; o < i; o++) { + const i = s.mP(e, t); + (t += 2), (n[r++] = String.fromCharCode(i)); + } + return n.join(''); + })); + class h { + constructor(e) { + (this._capacity = 0 | e), + (this._buffer = new Uint16Array(this._capacity)), + (this._completedStrings = null), + (this._bufferLength = 0); + } + reset() { + (this._completedStrings = null), (this._bufferLength = 0); + } + build() { + return null !== this._completedStrings + ? (this._flushBuffer(), this._completedStrings.join('')) + : this._buildBuffer(); + } + _buildBuffer() { + if (0 === this._bufferLength) return ''; + const e = new Uint16Array( + this._buffer.buffer, + 0, + this._bufferLength + ); + return a().decode(e); + } + _flushBuffer() { + const e = this._buildBuffer(); + (this._bufferLength = 0), + null === this._completedStrings + ? (this._completedStrings = [e]) + : (this._completedStrings[this._completedStrings.length] = e); + } + write1(e) { + const t = this._capacity - this._bufferLength; + t <= 1 && (0 === t || n.ZG(e)) && this._flushBuffer(), + (this._buffer[this._bufferLength++] = e); + } + appendASCII(e) { + this._bufferLength === this._capacity && this._flushBuffer(), + (this._buffer[this._bufferLength++] = e); + } + appendASCIIString(e) { + const t = e.length; + if (this._bufferLength + t >= this._capacity) + return ( + this._flushBuffer(), + void (this._completedStrings[this._completedStrings.length] = e) + ); + for (let i = 0; i < t; i++) + this._buffer[this._bufferLength++] = e.charCodeAt(i); + } + } + class u { + constructor() { + (this._pieces = []), (this._piecesLen = 0); + } + reset() { + (this._pieces = []), (this._piecesLen = 0); + } + build() { + return this._pieces.join(''); + } + write1(e) { + this._pieces[this._piecesLen++] = String.fromCharCode(e); + } + appendASCII(e) { + this._pieces[this._piecesLen++] = String.fromCharCode(e); + } + appendASCIIString(e) { + this._pieces[this._piecesLen++] = e; + } + } + }, + 85600: (e, t, i) => { + 'use strict'; + i.d(t, { WU: () => n, hG: () => r, Hi: () => s }); + class n { + constructor(e, t, i) { + (this.offset = 0 | e), (this.type = t), (this.language = i); + } + toString() { + return '(' + this.offset + ', ' + this.type + ')'; + } + } + class r { + constructor(e, t) { + (this.tokens = e), (this.endState = t); + } + } + class s { + constructor(e, t) { + (this.tokens = e), (this.endState = t); + } + } + }, + 30653: (e, t, i) => { + 'use strict'; + i.d(t, { p: () => n }); + class n { + constructor(e, t, i, n, r, s) { + (this.id = e), + (this.label = t), + (this.alias = i), + (this._precondition = n), + (this._run = r), + (this._contextKeyService = s); + } + isSupported() { + return this._contextKeyService.contextMatchesRules( + this._precondition + ); + } + run() { + return this.isSupported() ? this._run() : Promise.resolve(void 0); + } + } + }, + 96518: (e, t, i) => { + 'use strict'; + function n(e) { + return e && 'string' == typeof e.id; + } + i.d(t, { I: () => n, g: () => r }); + const r = { + ICodeEditor: 'vs.editor.ICodeEditor', + IDiffEditor: 'vs.editor.IDiffEditor', + }; + }, + 29102: (e, t, i) => { + 'use strict'; + i.d(t, { u: () => n }); + var n, + r = i(38819); + !(function (e) { + (e.editorSimpleInput = new r.uy('editorSimpleInput', !1)), + (e.editorTextFocus = new r.uy('editorTextFocus', !1)), + (e.focus = new r.uy('editorFocus', !1)), + (e.textInputFocus = new r.uy('textInputFocus', !1)), + (e.readOnly = new r.uy('editorReadonly', !1)), + (e.columnSelection = new r.uy('editorColumnSelection', !1)), + (e.writable = e.readOnly.toNegated()), + (e.hasNonEmptySelection = new r.uy('editorHasSelection', !1)), + (e.hasOnlyEmptySelection = e.hasNonEmptySelection.toNegated()), + (e.hasMultipleSelections = new r.uy( + 'editorHasMultipleSelections', + !1 + )), + (e.hasSingleSelection = e.hasMultipleSelections.toNegated()), + (e.tabMovesFocus = new r.uy('editorTabMovesFocus', !1)), + (e.tabDoesNotMoveFocus = e.tabMovesFocus.toNegated()), + (e.isInWalkThroughSnippet = new r.uy('isInEmbeddedEditor', !1)), + (e.canUndo = new r.uy('canUndo', !1)), + (e.canRedo = new r.uy('canRedo', !1)), + (e.hoverVisible = new r.uy('editorHoverVisible', !1)), + (e.inCompositeEditor = new r.uy('inCompositeEditor', void 0)), + (e.notInCompositeEditor = e.inCompositeEditor.toNegated()), + (e.languageId = new r.uy('editorLangId', '')), + (e.hasCompletionItemProvider = new r.uy( + 'editorHasCompletionItemProvider', + !1 + )), + (e.hasCodeActionsProvider = new r.uy( + 'editorHasCodeActionsProvider', + !1 + )), + (e.hasCodeLensProvider = new r.uy('editorHasCodeLensProvider', !1)), + (e.hasDefinitionProvider = new r.uy( + 'editorHasDefinitionProvider', + !1 + )), + (e.hasDeclarationProvider = new r.uy( + 'editorHasDeclarationProvider', + !1 + )), + (e.hasImplementationProvider = new r.uy( + 'editorHasImplementationProvider', + !1 + )), + (e.hasTypeDefinitionProvider = new r.uy( + 'editorHasTypeDefinitionProvider', + !1 + )), + (e.hasHoverProvider = new r.uy('editorHasHoverProvider', !1)), + (e.hasDocumentHighlightProvider = new r.uy( + 'editorHasDocumentHighlightProvider', + !1 + )), + (e.hasDocumentSymbolProvider = new r.uy( + 'editorHasDocumentSymbolProvider', + !1 + )), + (e.hasReferenceProvider = new r.uy( + 'editorHasReferenceProvider', + !1 + )), + (e.hasRenameProvider = new r.uy('editorHasRenameProvider', !1)), + (e.hasSignatureHelpProvider = new r.uy( + 'editorHasSignatureHelpProvider', + !1 + )), + (e.hasDocumentFormattingProvider = new r.uy( + 'editorHasDocumentFormattingProvider', + !1 + )), + (e.hasDocumentSelectionFormattingProvider = new r.uy( + 'editorHasDocumentSelectionFormattingProvider', + !1 + )), + (e.hasMultipleDocumentFormattingProvider = new r.uy( + 'editorHasMultipleDocumentFormattingProvider', + !1 + )), + (e.hasMultipleDocumentSelectionFormattingProvider = new r.uy( + 'editorHasMultipleDocumentSelectionFormattingProvider', + !1 + )); + })(n || (n = {})); + }, + 84973: (e, t, i) => { + 'use strict'; + var n, r; + i.d(t, { + sh: () => n, + F5: () => r, + dJ: () => s, + tk: () => o, + Qi: () => a, + je: () => l, + }), + (function (e) { + (e[(e.Left = 1)] = 'Left'), + (e[(e.Center = 2)] = 'Center'), + (e[(e.Right = 4)] = 'Right'), + (e[(e.Full = 7)] = 'Full'); + })(n || (n = {})), + (function (e) { + (e[(e.Inline = 1)] = 'Inline'), (e[(e.Gutter = 2)] = 'Gutter'); + })(r || (r = {})); + class s { + constructor(e) { + (this.tabSize = Math.max(1, 0 | e.tabSize)), + (this.indentSize = 0 | e.tabSize), + (this.insertSpaces = Boolean(e.insertSpaces)), + (this.defaultEOL = 0 | e.defaultEOL), + (this.trimAutoWhitespace = Boolean(e.trimAutoWhitespace)); + } + equals(e) { + return ( + this.tabSize === e.tabSize && + this.indentSize === e.indentSize && + this.insertSpaces === e.insertSpaces && + this.defaultEOL === e.defaultEOL && + this.trimAutoWhitespace === e.trimAutoWhitespace + ); + } + createChangeEvent(e) { + return { + tabSize: this.tabSize !== e.tabSize, + indentSize: this.indentSize !== e.indentSize, + insertSpaces: this.insertSpaces !== e.insertSpaces, + trimAutoWhitespace: + this.trimAutoWhitespace !== e.trimAutoWhitespace, + }; + } + } + class o { + constructor(e, t) { + (this.range = e), (this.matches = t); + } + } + class a { + constructor(e, t, i, n, r, s) { + (this.identifier = e), + (this.range = t), + (this.text = i), + (this.forceMoveMarkers = n), + (this.isAutoWhitespaceEdit = r), + (this._isTracked = s); + } + } + class l { + constructor(e, t, i) { + (this.reverseEdits = e), + (this.changes = t), + (this.trimAutoWhitespaceLineNumbers = i); + } + } + }, + 95215: (e, t, i) => { + 'use strict'; + i.d(t, { e9: () => g, NL: () => f }); + var n = i(63580), + r = i(17301), + s = i(3860), + o = i(70666), + a = i(60962), + l = i(53060); + function c(e) { + return e.toString(); + } + class d { + constructor(e, t, i, n, r, s, o) { + (this.beforeVersionId = e), + (this.afterVersionId = t), + (this.beforeEOL = i), + (this.afterEOL = n), + (this.beforeCursorState = r), + (this.afterCursorState = s), + (this.changes = o); + } + static create(e, t) { + const i = e.getAlternativeVersionId(), + n = u(e); + return new d(i, i, n, n, t, t, []); + } + append(e, t, i, n, r) { + t.length > 0 && (this.changes = (0, a.b)(this.changes, t)), + (this.afterEOL = i), + (this.afterVersionId = n), + (this.afterCursorState = r); + } + static _writeSelectionsSize(e) { + return 4 + 16 * (e ? e.length : 0); + } + static _writeSelections(e, t, i) { + if ((l.T4(e, t ? t.length : 0, i), (i += 4), t)) + for (const n of t) + l.T4(e, n.selectionStartLineNumber, i), + (i += 4), + l.T4(e, n.selectionStartColumn, i), + (i += 4), + l.T4(e, n.positionLineNumber, i), + (i += 4), + l.T4(e, n.positionColumn, i), + (i += 4); + return i; + } + static _readSelections(e, t, i) { + const n = l.Ag(e, t); + t += 4; + for (let r = 0; r < n; r++) { + const n = l.Ag(e, t); + t += 4; + const r = l.Ag(e, t); + t += 4; + const o = l.Ag(e, t); + t += 4; + const a = l.Ag(e, t); + (t += 4), i.push(new s.Y(n, r, o, a)); + } + return t; + } + serialize() { + let e = + 10 + + d._writeSelectionsSize(this.beforeCursorState) + + d._writeSelectionsSize(this.afterCursorState) + + 4; + for (const t of this.changes) e += t.writeSize(); + const t = new Uint8Array(e); + let i = 0; + l.T4(t, this.beforeVersionId, i), + (i += 4), + l.T4(t, this.afterVersionId, i), + (i += 4), + l.Cg(t, this.beforeEOL, i), + (i += 1), + l.Cg(t, this.afterEOL, i), + (i += 1), + (i = d._writeSelections(t, this.beforeCursorState, i)), + (i = d._writeSelections(t, this.afterCursorState, i)), + l.T4(t, this.changes.length, i), + (i += 4); + for (const e of this.changes) i = e.write(t, i); + return t.buffer; + } + static deserialize(e) { + const t = new Uint8Array(e); + let i = 0; + const n = l.Ag(t, i); + i += 4; + const r = l.Ag(t, i); + i += 4; + const s = l.Q$(t, i); + i += 1; + const o = l.Q$(t, i); + i += 1; + const c = []; + i = d._readSelections(t, i, c); + const h = []; + i = d._readSelections(t, i, h); + const u = l.Ag(t, i); + i += 4; + const g = []; + for (let e = 0; e < u; e++) i = a.q.read(t, i, g); + return new d(n, r, s, o, c, h, g); + } + } + class h { + constructor(e, t) { + (this.model = e), (this._data = d.create(e, t)); + } + get type() { + return 0; + } + get resource() { + return o.o.isUri(this.model) ? this.model : this.model.uri; + } + get label() { + return n.N('edit', 'Typing'); + } + toString() { + return (this._data instanceof d + ? this._data + : d.deserialize(this._data) + ).changes + .map((e) => e.toString()) + .join(', '); + } + matchesResource(e) { + return ( + (o.o.isUri(this.model) + ? this.model + : this.model.uri + ).toString() === e.toString() + ); + } + setModel(e) { + this.model = e; + } + canAppend(e) { + return this.model === e && this._data instanceof d; + } + append(e, t, i, n, r) { + this._data instanceof d && this._data.append(e, t, i, n, r); + } + close() { + this._data instanceof d && (this._data = this._data.serialize()); + } + undo() { + if (o.o.isUri(this.model)) + throw new Error('Invalid SingleModelEditStackElement'); + this._data instanceof d && (this._data = this._data.serialize()); + const e = d.deserialize(this._data); + this.model._applyUndo( + e.changes, + e.beforeEOL, + e.beforeVersionId, + e.beforeCursorState + ); + } + redo() { + if (o.o.isUri(this.model)) + throw new Error('Invalid SingleModelEditStackElement'); + this._data instanceof d && (this._data = this._data.serialize()); + const e = d.deserialize(this._data); + this.model._applyRedo( + e.changes, + e.afterEOL, + e.afterVersionId, + e.afterCursorState + ); + } + } + function u(e) { + return '\n' === e.getEOL() ? 0 : 1; + } + function g(e) { + return ( + !!e && + (e instanceof h || + e instanceof + class { + constructor(e, t) { + (this.type = 1), + (this.label = e), + (this._isOpen = !0), + (this._editStackElementsArr = t.slice(0)), + (this._editStackElementsMap = new Map()); + for (const e of this._editStackElementsArr) { + const t = c(e.resource); + this._editStackElementsMap.set(t, e); + } + this._delegate = null; + } + get resources() { + return this._editStackElementsArr.map((e) => e.resource); + } + prepareUndoRedo() { + if (this._delegate) + return this._delegate.prepareUndoRedo(this); + } + matchesResource(e) { + const t = c(e); + return this._editStackElementsMap.has(t); + } + setModel(e) { + const t = c(o.o.isUri(e) ? e : e.uri); + this._editStackElementsMap.has(t) && + this._editStackElementsMap.get(t).setModel(e); + } + canAppend(e) { + if (!this._isOpen) return !1; + const t = c(e.uri); + return ( + !!this._editStackElementsMap.has(t) && + this._editStackElementsMap.get(t).canAppend(e) + ); + } + append(e, t, i, n, r) { + const s = c(e.uri); + this._editStackElementsMap.get(s).append(e, t, i, n, r); + } + close() { + this._isOpen = !1; + } + undo() { + this._isOpen = !1; + for (const e of this._editStackElementsArr) e.undo(); + } + redo() { + for (const e of this._editStackElementsArr) e.redo(); + } + split() { + return this._editStackElementsArr; + } + }) + ); + } + class f { + constructor(e, t) { + (this._model = e), (this._undoRedoService = t); + } + pushStackElement() { + const e = this._undoRedoService.getLastElement(this._model.uri); + g(e) && e.close(); + } + clear() { + this._undoRedoService.removeElements(this._model.uri); + } + _getOrCreateEditStackElement(e) { + const t = this._undoRedoService.getLastElement(this._model.uri); + if (g(t) && t.canAppend(this._model)) return t; + const i = new h(this._model, e); + return this._undoRedoService.pushElement(i), i; + } + pushEOL(e) { + const t = this._getOrCreateEditStackElement(null); + this._model.setEOL(e), + t.append( + this._model, + [], + u(this._model), + this._model.getAlternativeVersionId(), + null + ); + } + pushEditOperation(e, t, i) { + const n = this._getOrCreateEditStackElement(e), + r = this._model.applyEdits(t, !0), + s = f._computeCursorState(i, r), + o = r.map((e, t) => ({ index: t, textChange: e.textChange })); + return ( + o.sort((e, t) => + e.textChange.oldPosition === t.textChange.oldPosition + ? e.index - t.index + : e.textChange.oldPosition - t.textChange.oldPosition + ), + n.append( + this._model, + o.map((e) => e.textChange), + u(this._model), + this._model.getAlternativeVersionId(), + s + ), + s + ); + } + static _computeCursorState(e, t) { + try { + return e ? e(t) : null; + } catch (e) { + return (0, r.dL)(e), null; + } + } + } + }, + 60962: (e, t, i) => { + 'use strict'; + i.d(t, { q: () => s, b: () => o }); + var n = i(53060), + r = i(50072); + class s { + constructor(e, t, i, n) { + (this.oldPosition = e), + (this.oldText = t), + (this.newPosition = i), + (this.newText = n); + } + get oldLength() { + return this.oldText.length; + } + get oldEnd() { + return this.oldPosition + this.oldText.length; + } + get newLength() { + return this.newText.length; + } + get newEnd() { + return this.newPosition + this.newText.length; + } + toString() { + return 0 === this.oldText.length + ? `(insert@${this.oldPosition} "${this.newText}")` + : 0 === this.newText.length + ? `(delete@${this.oldPosition} "${this.oldText}")` + : `(replace@${this.oldPosition} "${this.oldText}" with "${this.newText}")`; + } + static _writeStringSize(e) { + return 4 + 2 * e.length; + } + static _writeString(e, t, i) { + const r = t.length; + n.T4(e, r, i), (i += 4); + for (let s = 0; s < r; s++) n.oq(e, t.charCodeAt(s), i), (i += 2); + return i; + } + static _readString(e, t) { + const i = n.Ag(e, t); + return (t += 4), (0, r.kH)(e, t, i); + } + writeSize() { + return ( + 8 + + s._writeStringSize(this.oldText) + + s._writeStringSize(this.newText) + ); + } + write(e, t) { + return ( + n.T4(e, this.oldPosition, t), + (t += 4), + n.T4(e, this.newPosition, t), + (t += 4), + (t = s._writeString(e, this.oldText, t)), + s._writeString(e, this.newText, t) + ); + } + static read(e, t, i) { + const r = n.Ag(e, t); + t += 4; + const o = n.Ag(e, t); + t += 4; + const a = s._readString(e, t); + t += s._writeStringSize(a); + const l = s._readString(e, t); + return (t += s._writeStringSize(l)), i.push(new s(r, a, o, l)), t; + } + } + function o(e, t) { + return null === e || 0 === e.length ? t : new a(e, t).compress(); + } + class a { + constructor(e, t) { + (this._prevEdits = e), + (this._currEdits = t), + (this._result = []), + (this._resultLen = 0), + (this._prevLen = this._prevEdits.length), + (this._prevDeltaOffset = 0), + (this._currLen = this._currEdits.length), + (this._currDeltaOffset = 0); + } + compress() { + let e = 0, + t = 0, + i = this._getPrev(e), + n = this._getCurr(t); + for (; e < this._prevLen || t < this._currLen; ) { + if (null === i) { + this._acceptCurr(n), (n = this._getCurr(++t)); + continue; + } + if (null === n) { + this._acceptPrev(i), (i = this._getPrev(++e)); + continue; + } + if (n.oldEnd <= i.newPosition) { + this._acceptCurr(n), (n = this._getCurr(++t)); + continue; + } + if (i.newEnd <= n.oldPosition) { + this._acceptPrev(i), (i = this._getPrev(++e)); + continue; + } + if (n.oldPosition < i.newPosition) { + const [e, t] = a._splitCurr(n, i.newPosition - n.oldPosition); + this._acceptCurr(e), (n = t); + continue; + } + if (i.newPosition < n.oldPosition) { + const [e, t] = a._splitPrev(i, n.oldPosition - i.newPosition); + this._acceptPrev(e), (i = t); + continue; + } + let r, o; + if (n.oldEnd === i.newEnd) + (r = i), + (o = n), + (i = this._getPrev(++e)), + (n = this._getCurr(++t)); + else if (n.oldEnd < i.newEnd) { + const [e, s] = a._splitPrev(i, n.oldLength); + (r = e), (o = n), (i = s), (n = this._getCurr(++t)); + } else { + const [t, s] = a._splitCurr(n, i.newLength); + (r = i), (o = t), (i = this._getPrev(++e)), (n = s); + } + (this._result[this._resultLen++] = new s( + r.oldPosition, + r.oldText, + o.newPosition, + o.newText + )), + (this._prevDeltaOffset += r.newLength - r.oldLength), + (this._currDeltaOffset += o.newLength - o.oldLength); + } + const r = a._merge(this._result); + return a._removeNoOps(r); + } + _acceptCurr(e) { + (this._result[this._resultLen++] = a._rebaseCurr( + this._prevDeltaOffset, + e + )), + (this._currDeltaOffset += e.newLength - e.oldLength); + } + _getCurr(e) { + return e < this._currLen ? this._currEdits[e] : null; + } + _acceptPrev(e) { + (this._result[this._resultLen++] = a._rebasePrev( + this._currDeltaOffset, + e + )), + (this._prevDeltaOffset += e.newLength - e.oldLength); + } + _getPrev(e) { + return e < this._prevLen ? this._prevEdits[e] : null; + } + static _rebaseCurr(e, t) { + return new s( + t.oldPosition - e, + t.oldText, + t.newPosition, + t.newText + ); + } + static _rebasePrev(e, t) { + return new s( + t.oldPosition, + t.oldText, + t.newPosition + e, + t.newText + ); + } + static _splitPrev(e, t) { + const i = e.newText.substr(0, t), + n = e.newText.substr(t); + return [ + new s(e.oldPosition, e.oldText, e.newPosition, i), + new s(e.oldEnd, '', e.newPosition + t, n), + ]; + } + static _splitCurr(e, t) { + const i = e.oldText.substr(0, t), + n = e.oldText.substr(t); + return [ + new s(e.oldPosition, i, e.newPosition, e.newText), + new s(e.oldPosition + t, n, e.newEnd, ''), + ]; + } + static _merge(e) { + if (0 === e.length) return e; + let t = [], + i = 0, + n = e[0]; + for (let r = 1; r < e.length; r++) { + const o = e[r]; + n.oldEnd === o.oldPosition + ? (n = new s( + n.oldPosition, + n.oldText + o.oldText, + n.newPosition, + n.newText + o.newText + )) + : ((t[i++] = n), (n = o)); + } + return (t[i++] = n), t; + } + static _removeNoOps(e) { + if (0 === e.length) return e; + let t = [], + i = 0; + for (let n = 0; n < e.length; n++) { + const r = e[n]; + r.oldText !== r.newText && (t[i++] = r); + } + return t; + } + } + }, + 3411: (e, t, i) => { + 'use strict'; + i.d(t, { qx: () => Ke, yO: () => He }); + var n = i(17301), + r = i(4669), + s = i(5976), + o = i(97295), + a = i(70666), + l = i(64141), + c = i(50187), + d = i(24314), + h = i(3860), + u = i(84973), + g = i(95215); + class f { + constructor() { + (this.spacesDiff = 0), (this.looksLikeAlignment = !1); + } + } + function p(e, t, i, n, r) { + let s; + for ( + r.spacesDiff = 0, r.looksLikeAlignment = !1, s = 0; + s < t && s < n && e.charCodeAt(s) === i.charCodeAt(s); + s++ + ); + let o = 0, + a = 0; + for (let i = s; i < t; i++) 32 === e.charCodeAt(i) ? o++ : a++; + let l = 0, + c = 0; + for (let e = s; e < n; e++) 32 === i.charCodeAt(e) ? l++ : c++; + if (o > 0 && a > 0) return; + if (l > 0 && c > 0) return; + let d = Math.abs(a - c), + h = Math.abs(o - l); + if (0 === d) + return ( + (r.spacesDiff = h), + void ( + h > 0 && + 0 <= l - 1 && + l - 1 < e.length && + l < i.length && + 32 !== i.charCodeAt(l) && + 32 === e.charCodeAt(l - 1) && + 44 === e.charCodeAt(e.length - 1) && + (r.looksLikeAlignment = !0) + ) + ); + h % d != 0 || (r.spacesDiff = h / d); + } + function m(e, t, i) { + const n = Math.min(e.getLineCount(), 1e4); + let r = 0, + s = 0, + o = '', + a = 0; + const l = [2, 4, 6, 8, 3, 5, 7]; + let c = [0, 0, 0, 0, 0, 0, 0, 0, 0], + d = new f(); + for (let l = 1; l <= n; l++) { + let n = e.getLineLength(l), + h = e.getLineContent(l); + const u = n <= 65536; + let g = !1, + f = 0, + m = 0, + _ = 0; + for (let t = 0, i = n; t < i; t++) { + let i = u ? h.charCodeAt(t) : e.getLineCharCode(l, t); + if (9 === i) _++; + else { + if (32 !== i) { + (g = !0), (f = t); + break; + } + m++; + } + } + if (!g) continue; + if ( + (_ > 0 ? r++ : m > 1 && s++, + p(o, a, h, f, d), + d.looksLikeAlignment && (!i || t !== d.spacesDiff)) + ) + continue; + let b = d.spacesDiff; + b <= 8 && c[b]++, (o = h), (a = f); + } + let h = i; + r !== s && (h = r < s); + let u = t; + if (h) { + let e = h ? 0 : 0.1 * n; + l.forEach((t) => { + let i = c[t]; + i > e && ((e = i), (u = t)); + }), + 4 === u && c[4] > 0 && c[2] > 0 && c[2] >= c[4] / 2 && (u = 2); + } + return { insertSpaces: h, tabSize: u }; + } + function _(e) { + return (1 & e.metadata) >>> 0; + } + function b(e, t) { + e.metadata = (254 & e.metadata) | (t << 0); + } + function v(e) { + return (2 & e.metadata) >>> 1 == 1; + } + function y(e, t) { + e.metadata = (253 & e.metadata) | ((t ? 1 : 0) << 1); + } + function w(e) { + return (4 & e.metadata) >>> 2 == 1; + } + function C(e, t) { + e.metadata = (251 & e.metadata) | ((t ? 1 : 0) << 2); + } + function S(e) { + return (8 & e.metadata) >>> 3 == 1; + } + function k(e, t) { + e.metadata = (247 & e.metadata) | ((t ? 1 : 0) << 3); + } + function x(e, t) { + e.metadata = (207 & e.metadata) | (t << 4); + } + function L(e, t) { + e.metadata = (191 & e.metadata) | ((t ? 1 : 0) << 6); + } + class M { + constructor(e, t, i) { + (this.metadata = 0), + (this.parent = this), + (this.left = this), + (this.right = this), + b(this, 1), + (this.start = t), + (this.end = i), + (this.delta = 0), + (this.maxEnd = i), + (this.id = e), + (this.ownerId = 0), + (this.options = null), + C(this, !1), + x(this, 1), + k(this, !1), + L(this, !1), + (this.cachedVersionId = 0), + (this.cachedAbsoluteStart = t), + (this.cachedAbsoluteEnd = i), + (this.range = null), + y(this, !1); + } + reset(e, t, i, n) { + (this.start = t), + (this.end = i), + (this.maxEnd = i), + (this.cachedVersionId = e), + (this.cachedAbsoluteStart = t), + (this.cachedAbsoluteEnd = i), + (this.range = n); + } + setOptions(e) { + this.options = e; + let t = this.options.className; + C( + this, + 'squiggly-error' === t || + 'squiggly-warning' === t || + 'squiggly-info' === t + ), + x(this, this.options.stickiness), + k( + this, + !( + !this.options.overviewRuler || + !this.options.overviewRuler.color + ) + ), + L(this, this.options.collapseOnReplaceEdit); + } + setCachedOffsets(e, t, i) { + this.cachedVersionId !== i && (this.range = null), + (this.cachedVersionId = i), + (this.cachedAbsoluteStart = e), + (this.cachedAbsoluteEnd = t); + } + detach() { + (this.parent = null), (this.left = null), (this.right = null); + } + } + const D = new M(null, 0, 0); + (D.parent = D), (D.left = D), (D.right = D), b(D, 0); + class N { + constructor() { + (this.root = D), (this.requestNormalizeDelta = !1); + } + intervalSearch(e, t, i, n, r) { + return this.root === D + ? [] + : (function (e, t, i, n, r, s) { + let o = e.root, + a = 0, + l = 0, + c = 0, + d = 0, + h = [], + u = 0; + for (; o !== D; ) + if (v(o)) + y(o.left, !1), + y(o.right, !1), + o === o.parent.right && (a -= o.parent.delta), + (o = o.parent); + else { + if (!v(o.left)) { + if (((l = a + o.maxEnd), l < t)) { + y(o, !0); + continue; + } + if (o.left !== D) { + o = o.left; + continue; + } + } + if (((c = a + o.start), c > i)) y(o, !0); + else { + if (((d = a + o.end), d >= t)) { + o.setCachedOffsets(c, d, s); + let e = !0; + n && o.ownerId && o.ownerId !== n && (e = !1), + r && w(o) && (e = !1), + e && (h[u++] = o); + } + y(o, !0), + o.right === D || + v(o.right) || + ((a += o.delta), (o = o.right)); + } + } + return y(e.root, !1), h; + })(this, e, t, i, n, r); + } + search(e, t, i) { + return this.root === D + ? [] + : (function (e, t, i, n) { + let r = e.root, + s = 0, + o = 0, + a = 0, + l = [], + c = 0; + for (; r !== D; ) { + if (v(r)) { + y(r.left, !1), + y(r.right, !1), + r === r.parent.right && (s -= r.parent.delta), + (r = r.parent); + continue; + } + if (r.left !== D && !v(r.left)) { + r = r.left; + continue; + } + (o = s + r.start), + (a = s + r.end), + r.setCachedOffsets(o, a, n); + let e = !0; + t && r.ownerId && r.ownerId !== t && (e = !1), + i && w(r) && (e = !1), + e && (l[c++] = r), + y(r, !0), + r.right === D || + v(r.right) || + ((s += r.delta), (r = r.right)); + } + return y(e.root, !1), l; + })(this, e, t, i); + } + collectNodesFromOwner(e) { + return (function (e, t) { + let i = e.root, + n = [], + r = 0; + for (; i !== D; ) + v(i) + ? (y(i.left, !1), y(i.right, !1), (i = i.parent)) + : i.left === D || v(i.left) + ? (i.ownerId === t && (n[r++] = i), + y(i, !0), + i.right === D || v(i.right) || (i = i.right)) + : (i = i.left); + return y(e.root, !1), n; + })(this, e); + } + collectNodesPostOrder() { + return (function (e) { + let t = e.root, + i = [], + n = 0; + for (; t !== D; ) + v(t) + ? (y(t.left, !1), y(t.right, !1), (t = t.parent)) + : t.left === D || v(t.left) + ? t.right === D || v(t.right) + ? ((i[n++] = t), y(t, !0)) + : (t = t.right) + : (t = t.left); + return y(e.root, !1), i; + })(this); + } + insert(e) { + I(this, e), this._normalizeDeltaIfNecessary(); + } + delete(e) { + O(this, e), this._normalizeDeltaIfNecessary(); + } + resolveNode(e, t) { + const i = e; + let n = 0; + for (; e !== this.root; ) + e === e.parent.right && (n += e.parent.delta), (e = e.parent); + const r = i.start + n, + s = i.end + n; + i.setCachedOffsets(r, s, t); + } + acceptReplace(e, t, i, n) { + const r = (function (e, t, i) { + let n = e.root, + r = 0, + s = 0, + o = 0, + a = 0, + l = [], + c = 0; + for (; n !== D; ) + if (v(n)) + y(n.left, !1), + y(n.right, !1), + n === n.parent.right && (r -= n.parent.delta), + (n = n.parent); + else { + if (!v(n.left)) { + if (((s = r + n.maxEnd), s < t)) { + y(n, !0); + continue; + } + if (n.left !== D) { + n = n.left; + continue; + } + } + (o = r + n.start), + o > i + ? y(n, !0) + : ((a = r + n.end), + a >= t && (n.setCachedOffsets(o, a, 0), (l[c++] = n)), + y(n, !0), + n.right === D || + v(n.right) || + ((r += n.delta), (n = n.right))); + } + return y(e.root, !1), l; + })(this, e, e + t); + for (let e = 0, t = r.length; e < t; e++) O(this, r[e]); + this._normalizeDeltaIfNecessary(), + (function (e, t, i, n) { + let r = e.root, + s = 0, + o = 0, + a = 0; + const l = n - (i - t); + for (; r !== D; ) + if (v(r)) + y(r.left, !1), + y(r.right, !1), + r === r.parent.right && (s -= r.parent.delta), + B(r), + (r = r.parent); + else { + if (!v(r.left)) { + if (((o = s + r.maxEnd), o < t)) { + y(r, !0); + continue; + } + if (r.left !== D) { + r = r.left; + continue; + } + } + (a = s + r.start), + a > i + ? ((r.start += l), + (r.end += l), + (r.delta += l), + (r.delta < -1073741824 || r.delta > 1073741824) && + (e.requestNormalizeDelta = !0), + y(r, !0)) + : (y(r, !0), + r.right === D || + v(r.right) || + ((s += r.delta), (r = r.right))); + } + y(e.root, !1); + })(this, e, e + t, i), + this._normalizeDeltaIfNecessary(); + for (let s = 0, o = r.length; s < o; s++) { + const o = r[s]; + (o.start = o.cachedAbsoluteStart), + (o.end = o.cachedAbsoluteEnd), + T(o, e, e + t, i, n), + (o.maxEnd = o.end), + I(this, o); + } + this._normalizeDeltaIfNecessary(); + } + _normalizeDeltaIfNecessary() { + this.requestNormalizeDelta && + ((this.requestNormalizeDelta = !1), + (function (e) { + let t = e.root, + i = 0; + for (; t !== D; ) + t.left === D || v(t.left) + ? t.right === D || v(t.right) + ? ((t.start = i + t.start), + (t.end = i + t.end), + (t.delta = 0), + B(t), + y(t, !0), + y(t.left, !1), + y(t.right, !1), + t === t.parent.right && (i -= t.parent.delta), + (t = t.parent)) + : ((i += t.delta), (t = t.right)) + : (t = t.left); + y(e.root, !1); + })(this)); + } + } + function E(e, t, i, n) { + return e < i || (!(e > i) && 1 !== n && (2 === n || t)); + } + function T(e, t, i, n, r) { + const s = (function (e) { + return (48 & e.metadata) >>> 4; + })(e), + o = 0 === s || 2 === s, + a = 1 === s || 2 === s, + l = i - t, + c = n, + d = Math.min(l, c), + h = e.start; + let u = !1; + const g = e.end; + let f = !1; + t <= h && + g <= i && + (function (e) { + return (64 & e.metadata) >>> 6 == 1; + })(e) && + ((e.start = t), (u = !0), (e.end = t), (f = !0)); + { + const e = r ? 1 : l > 0 ? 2 : 0; + !u && E(h, o, t, e) && (u = !0), !f && E(g, a, t, e) && (f = !0); + } + if (d > 0 && !r) { + const e = l > c ? 2 : 0; + !u && E(h, o, t + d, e) && (u = !0), + !f && E(g, a, t + d, e) && (f = !0); + } + { + const n = r ? 1 : 0; + !u && E(h, o, i, n) && ((e.start = t + c), (u = !0)), + !f && E(g, a, i, n) && ((e.end = t + c), (f = !0)); + } + const p = c - l; + u || (e.start = Math.max(0, h + p)), + f || (e.end = Math.max(0, g + p)), + e.start > e.end && (e.end = e.start); + } + function I(e, t) { + if (e.root === D) + return ( + (t.parent = D), + (t.left = D), + (t.right = D), + b(t, 0), + (e.root = t), + e.root + ); + !(function (e, t) { + let i = 0, + n = e.root; + const r = t.start, + s = t.end; + for (;;) + if ( + ((o = r), + (a = s), + (l = n.start + i), + (c = n.end + i), + (o === l ? a - c : o - l) < 0) + ) { + if (n.left === D) { + (t.start -= i), (t.end -= i), (t.maxEnd -= i), (n.left = t); + break; + } + n = n.left; + } else { + if (n.right === D) { + (t.start -= i + n.delta), + (t.end -= i + n.delta), + (t.maxEnd -= i + n.delta), + (n.right = t); + break; + } + (i += n.delta), (n = n.right); + } + var o, a, l, c; + (t.parent = n), (t.left = D), (t.right = D), b(t, 1); + })(e, t), + W(t.parent); + let i = t; + for (; i !== e.root && 1 === _(i.parent); ) + if (i.parent === i.parent.parent.left) { + const t = i.parent.parent.right; + 1 === _(t) + ? (b(i.parent, 0), + b(t, 0), + b(i.parent.parent, 1), + (i = i.parent.parent)) + : (i === i.parent.right && ((i = i.parent), R(e, i)), + b(i.parent, 0), + b(i.parent.parent, 1), + P(e, i.parent.parent)); + } else { + const t = i.parent.parent.left; + 1 === _(t) + ? (b(i.parent, 0), + b(t, 0), + b(i.parent.parent, 1), + (i = i.parent.parent)) + : (i === i.parent.left && ((i = i.parent), P(e, i)), + b(i.parent, 0), + b(i.parent.parent, 1), + R(e, i.parent.parent)); + } + return b(e.root, 0), t; + } + function O(e, t) { + let i, n; + if ( + (t.left === D + ? ((i = t.right), + (n = t), + (i.delta += t.delta), + (i.delta < -1073741824 || i.delta > 1073741824) && + (e.requestNormalizeDelta = !0), + (i.start += t.delta), + (i.end += t.delta)) + : t.right === D + ? ((i = t.left), (n = t)) + : ((n = (function (e) { + for (; e.left !== D; ) e = e.left; + return e; + })(t.right)), + (i = n.right), + (i.start += n.delta), + (i.end += n.delta), + (i.delta += n.delta), + (i.delta < -1073741824 || i.delta > 1073741824) && + (e.requestNormalizeDelta = !0), + (n.start += t.delta), + (n.end += t.delta), + (n.delta = t.delta), + (n.delta < -1073741824 || n.delta > 1073741824) && + (e.requestNormalizeDelta = !0)), + n === e.root) + ) + return ( + (e.root = i), + b(i, 0), + t.detach(), + A(), + B(i), + void (e.root.parent = D) + ); + let r, + s = 1 === _(n); + if ( + (n === n.parent.left ? (n.parent.left = i) : (n.parent.right = i), + n === t + ? (i.parent = n.parent) + : (n.parent === t ? (i.parent = n) : (i.parent = n.parent), + (n.left = t.left), + (n.right = t.right), + (n.parent = t.parent), + b(n, _(t)), + t === e.root + ? (e.root = n) + : t === t.parent.left + ? (t.parent.left = n) + : (t.parent.right = n), + n.left !== D && (n.left.parent = n), + n.right !== D && (n.right.parent = n)), + t.detach(), + s) + ) + return W(i.parent), n !== t && (W(n), W(n.parent)), void A(); + for ( + W(i), W(i.parent), n !== t && (W(n), W(n.parent)); + i !== e.root && 0 === _(i); + + ) + i === i.parent.left + ? ((r = i.parent.right), + 1 === _(r) && + (b(r, 0), + b(i.parent, 1), + R(e, i.parent), + (r = i.parent.right)), + 0 === _(r.left) && 0 === _(r.right) + ? (b(r, 1), (i = i.parent)) + : (0 === _(r.right) && + (b(r.left, 0), b(r, 1), P(e, r), (r = i.parent.right)), + b(r, _(i.parent)), + b(i.parent, 0), + b(r.right, 0), + R(e, i.parent), + (i = e.root))) + : ((r = i.parent.left), + 1 === _(r) && + (b(r, 0), + b(i.parent, 1), + P(e, i.parent), + (r = i.parent.left)), + 0 === _(r.left) && 0 === _(r.right) + ? (b(r, 1), (i = i.parent)) + : (0 === _(r.left) && + (b(r.right, 0), b(r, 1), R(e, r), (r = i.parent.left)), + b(r, _(i.parent)), + b(i.parent, 0), + b(r.left, 0), + P(e, i.parent), + (i = e.root))); + b(i, 0), A(); + } + function A() { + (D.parent = D), (D.delta = 0), (D.start = 0), (D.end = 0); + } + function R(e, t) { + const i = t.right; + (i.delta += t.delta), + (i.delta < -1073741824 || i.delta > 1073741824) && + (e.requestNormalizeDelta = !0), + (i.start += t.delta), + (i.end += t.delta), + (t.right = i.left), + i.left !== D && (i.left.parent = t), + (i.parent = t.parent), + t.parent === D + ? (e.root = i) + : t === t.parent.left + ? (t.parent.left = i) + : (t.parent.right = i), + (i.left = t), + (t.parent = i), + B(t), + B(i); + } + function P(e, t) { + const i = t.left; + (t.delta -= i.delta), + (t.delta < -1073741824 || t.delta > 1073741824) && + (e.requestNormalizeDelta = !0), + (t.start -= i.delta), + (t.end -= i.delta), + (t.left = i.right), + i.right !== D && (i.right.parent = t), + (i.parent = t.parent), + t.parent === D + ? (e.root = i) + : t === t.parent.right + ? (t.parent.right = i) + : (t.parent.left = i), + (i.right = t), + (t.parent = i), + B(t), + B(i); + } + function F(e) { + let t = e.end; + if (e.left !== D) { + const i = e.left.maxEnd; + i > t && (t = i); + } + if (e.right !== D) { + const i = e.right.maxEnd + e.delta; + i > t && (t = i); + } + return t; + } + function B(e) { + e.maxEnd = F(e); + } + function W(e) { + for (; e !== D; ) { + const t = F(e); + if (e.maxEnd === t) return; + (e.maxEnd = t), (e = e.parent); + } + } + class Y { + constructor(e, t) { + (this.piece = e), + (this.color = t), + (this.size_left = 0), + (this.lf_left = 0), + (this.parent = this), + (this.left = this), + (this.right = this); + } + next() { + if (this.right !== H) return j(this.right); + let e = this; + for (; e.parent !== H && e.parent.left !== e; ) e = e.parent; + return e.parent === H ? H : e.parent; + } + prev() { + if (this.left !== H) return V(this.left); + let e = this; + for (; e.parent !== H && e.parent.right !== e; ) e = e.parent; + return e.parent === H ? H : e.parent; + } + detach() { + (this.parent = null), (this.left = null), (this.right = null); + } + } + const H = new Y(null, 0); + function j(e) { + for (; e.left !== H; ) e = e.left; + return e; + } + function V(e) { + for (; e.right !== H; ) e = e.right; + return e; + } + function z(e) { + return e === H ? 0 : e.size_left + e.piece.length + z(e.right); + } + function U(e) { + return e === H ? 0 : e.lf_left + e.piece.lineFeedCnt + U(e.right); + } + function $() { + H.parent = H; + } + function K(e, t) { + let i = t.right; + (i.size_left += t.size_left + (t.piece ? t.piece.length : 0)), + (i.lf_left += t.lf_left + (t.piece ? t.piece.lineFeedCnt : 0)), + (t.right = i.left), + i.left !== H && (i.left.parent = t), + (i.parent = t.parent), + t.parent === H + ? (e.root = i) + : t.parent.left === t + ? (t.parent.left = i) + : (t.parent.right = i), + (i.left = t), + (t.parent = i); + } + function q(e, t) { + let i = t.left; + (t.left = i.right), + i.right !== H && (i.right.parent = t), + (i.parent = t.parent), + (t.size_left -= i.size_left + (i.piece ? i.piece.length : 0)), + (t.lf_left -= i.lf_left + (i.piece ? i.piece.lineFeedCnt : 0)), + t.parent === H + ? (e.root = i) + : t === t.parent.right + ? (t.parent.right = i) + : (t.parent.left = i), + (i.right = t), + (t.parent = i); + } + function G(e, t) { + let i, n; + if ( + (t.left === H + ? ((n = t), (i = n.right)) + : t.right === H + ? ((n = t), (i = n.left)) + : ((n = j(t.right)), (i = n.right)), + n === e.root) + ) + return ( + (e.root = i), + (i.color = 0), + t.detach(), + $(), + void (e.root.parent = H) + ); + let r, + s = 1 === n.color; + if ( + (n === n.parent.left ? (n.parent.left = i) : (n.parent.right = i), + n === t + ? ((i.parent = n.parent), Q(e, i)) + : (n.parent === t ? (i.parent = n) : (i.parent = n.parent), + Q(e, i), + (n.left = t.left), + (n.right = t.right), + (n.parent = t.parent), + (n.color = t.color), + t === e.root + ? (e.root = n) + : t === t.parent.left + ? (t.parent.left = n) + : (t.parent.right = n), + n.left !== H && (n.left.parent = n), + n.right !== H && (n.right.parent = n), + (n.size_left = t.size_left), + (n.lf_left = t.lf_left), + Q(e, n)), + t.detach(), + i.parent.left === i) + ) { + let t = z(i), + n = U(i); + if (t !== i.parent.size_left || n !== i.parent.lf_left) { + let r = t - i.parent.size_left, + s = n - i.parent.lf_left; + (i.parent.size_left = t), + (i.parent.lf_left = n), + J(e, i.parent, r, s); + } + } + if ((Q(e, i.parent), s)) $(); + else { + for (; i !== e.root && 0 === i.color; ) + i === i.parent.left + ? ((r = i.parent.right), + 1 === r.color && + ((r.color = 0), + (i.parent.color = 1), + K(e, i.parent), + (r = i.parent.right)), + 0 === r.left.color && 0 === r.right.color + ? ((r.color = 1), (i = i.parent)) + : (0 === r.right.color && + ((r.left.color = 0), + (r.color = 1), + q(e, r), + (r = i.parent.right)), + (r.color = i.parent.color), + (i.parent.color = 0), + (r.right.color = 0), + K(e, i.parent), + (i = e.root))) + : ((r = i.parent.left), + 1 === r.color && + ((r.color = 0), + (i.parent.color = 1), + q(e, i.parent), + (r = i.parent.left)), + 0 === r.left.color && 0 === r.right.color + ? ((r.color = 1), (i = i.parent)) + : (0 === r.left.color && + ((r.right.color = 0), + (r.color = 1), + K(e, r), + (r = i.parent.left)), + (r.color = i.parent.color), + (i.parent.color = 0), + (r.left.color = 0), + q(e, i.parent), + (i = e.root))); + (i.color = 0), $(); + } + } + function Z(e, t) { + for (Q(e, t); t !== e.root && 1 === t.parent.color; ) + if (t.parent === t.parent.parent.left) { + const i = t.parent.parent.right; + 1 === i.color + ? ((t.parent.color = 0), + (i.color = 0), + (t.parent.parent.color = 1), + (t = t.parent.parent)) + : (t === t.parent.right && K(e, (t = t.parent)), + (t.parent.color = 0), + (t.parent.parent.color = 1), + q(e, t.parent.parent)); + } else { + const i = t.parent.parent.left; + 1 === i.color + ? ((t.parent.color = 0), + (i.color = 0), + (t.parent.parent.color = 1), + (t = t.parent.parent)) + : (t === t.parent.left && q(e, (t = t.parent)), + (t.parent.color = 0), + (t.parent.parent.color = 1), + K(e, t.parent.parent)); + } + e.root.color = 0; + } + function J(e, t, i, n) { + for (; t !== e.root && t !== H; ) + t.parent.left === t && + ((t.parent.size_left += i), (t.parent.lf_left += n)), + (t = t.parent); + } + function Q(e, t) { + let i = 0, + n = 0; + if (t !== e.root) { + if (0 === i) { + for (; t !== e.root && t === t.parent.right; ) t = t.parent; + if (t === e.root) return; + (i = z((t = t.parent).left) - t.size_left), + (n = U(t.left) - t.lf_left), + (t.size_left += i), + (t.lf_left += n); + } + for (; t !== e.root && (0 !== i || 0 !== n); ) + t.parent.left === t && + ((t.parent.size_left += i), (t.parent.lf_left += n)), + (t = t.parent); + } + } + (H.parent = H), (H.left = H), (H.right = H), (H.color = 0); + var X = i(77277); + const ee = 65535; + function te(e) { + let t; + return ( + (t = + e[e.length - 1] < 65536 + ? new Uint16Array(e.length) + : new Uint32Array(e.length)), + t.set(e, 0), + t + ); + } + class ie { + constructor(e, t, i, n, r) { + (this.lineStarts = e), + (this.cr = t), + (this.lf = i), + (this.crlf = n), + (this.isBasicASCII = r); + } + } + function ne(e, t = !0) { + let i = [0], + n = 1; + for (let t = 0, r = e.length; t < r; t++) { + const s = e.charCodeAt(t); + 13 === s + ? t + 1 < r && 10 === e.charCodeAt(t + 1) + ? ((i[n++] = t + 2), t++) + : (i[n++] = t + 1) + : 10 === s && (i[n++] = t + 1); + } + return t ? te(i) : i; + } + class re { + constructor(e, t, i, n, r) { + (this.bufferIndex = e), + (this.start = t), + (this.end = i), + (this.lineFeedCnt = n), + (this.length = r); + } + } + class se { + constructor(e, t) { + (this.buffer = e), (this.lineStarts = t); + } + } + class oe { + constructor(e, t) { + (this._pieces = []), + (this._tree = e), + (this._BOM = t), + (this._index = 0), + e.root !== H && + e.iterate( + e.root, + (e) => (e !== H && this._pieces.push(e.piece), !0) + ); + } + read() { + return 0 === this._pieces.length + ? 0 === this._index + ? (this._index++, this._BOM) + : null + : this._index > this._pieces.length - 1 + ? null + : 0 === this._index + ? this._BOM + + this._tree.getPieceContent(this._pieces[this._index++]) + : this._tree.getPieceContent(this._pieces[this._index++]); + } + } + class ae { + constructor(e) { + (this._limit = e), (this._cache = []); + } + get(e) { + for (let t = this._cache.length - 1; t >= 0; t--) { + let i = this._cache[t]; + if ( + i.nodeStartOffset <= e && + i.nodeStartOffset + i.node.piece.length >= e + ) + return i; + } + return null; + } + get2(e) { + for (let t = this._cache.length - 1; t >= 0; t--) { + let i = this._cache[t]; + if ( + i.nodeStartLineNumber && + i.nodeStartLineNumber < e && + i.nodeStartLineNumber + i.node.piece.lineFeedCnt >= e + ) + return i; + } + return null; + } + set(e) { + this._cache.length >= this._limit && this._cache.shift(), + this._cache.push(e); + } + validate(e) { + let t = !1, + i = this._cache; + for (let n = 0; n < i.length; n++) { + let r = i[n]; + (null === r.node.parent || r.nodeStartOffset >= e) && + ((i[n] = null), (t = !0)); + } + if (t) { + let e = []; + for (const t of i) null !== t && e.push(t); + this._cache = e; + } + } + } + class le { + constructor(e, t, i) { + this.create(e, t, i); + } + create(e, t, i) { + (this._buffers = [new se('', [0])]), + (this._lastChangeBufferPos = { line: 0, column: 0 }), + (this.root = H), + (this._lineCnt = 1), + (this._length = 0), + (this._EOL = t), + (this._EOLLength = t.length), + (this._EOLNormalized = i); + let n = null; + for (let t = 0, i = e.length; t < i; t++) + if (e[t].buffer.length > 0) { + e[t].lineStarts || (e[t].lineStarts = ne(e[t].buffer)); + let i = new re( + t + 1, + { line: 0, column: 0 }, + { + line: e[t].lineStarts.length - 1, + column: + e[t].buffer.length - + e[t].lineStarts[e[t].lineStarts.length - 1], + }, + e[t].lineStarts.length - 1, + e[t].buffer.length + ); + this._buffers.push(e[t]), (n = this.rbInsertRight(n, i)); + } + (this._searchCache = new ae(1)), + (this._lastVisitedLine = { lineNumber: 0, value: '' }), + this.computeBufferMetadata(); + } + normalizeEOL(e) { + let t = 65535 - Math.floor(21845), + i = 2 * t, + n = '', + r = 0, + s = []; + if ( + (this.iterate(this.root, (o) => { + let a = this.getNodeContent(o), + l = a.length; + if (r <= t || r + l < i) return (n += a), (r += l), !0; + let c = n.replace(/\r\n|\r|\n/g, e); + return s.push(new se(c, ne(c))), (n = a), (r = l), !0; + }), + r > 0) + ) { + let t = n.replace(/\r\n|\r|\n/g, e); + s.push(new se(t, ne(t))); + } + this.create(s, e, !0); + } + getEOL() { + return this._EOL; + } + setEOL(e) { + (this._EOL = e), + (this._EOLLength = this._EOL.length), + this.normalizeEOL(e); + } + createSnapshot(e) { + return new oe(this, e); + } + getOffsetAt(e, t) { + let i = 0, + n = this.root; + for (; n !== H; ) + if (n.left !== H && n.lf_left + 1 >= e) n = n.left; + else { + if (n.lf_left + n.piece.lineFeedCnt + 1 >= e) + return ( + (i += n.size_left), + i + (this.getAccumulatedValue(n, e - n.lf_left - 2) + t - 1) + ); + (e -= n.lf_left + n.piece.lineFeedCnt), + (i += n.size_left + n.piece.length), + (n = n.right); + } + return i; + } + getPositionAt(e) { + (e = Math.floor(e)), (e = Math.max(0, e)); + let t = this.root, + i = 0, + n = e; + for (; t !== H; ) + if (0 !== t.size_left && t.size_left >= e) t = t.left; + else { + if (t.size_left + t.piece.length >= e) { + let r = this.getIndexOf(t, e - t.size_left); + if (((i += t.lf_left + r.index), 0 === r.index)) { + let e = n - this.getOffsetAt(i + 1, 1); + return new c.L(i + 1, e + 1); + } + return new c.L(i + 1, r.remainder + 1); + } + if ( + ((e -= t.size_left + t.piece.length), + (i += t.lf_left + t.piece.lineFeedCnt), + t.right === H) + ) { + let t = n - e - this.getOffsetAt(i + 1, 1); + return new c.L(i + 1, t + 1); + } + t = t.right; + } + return new c.L(1, 1); + } + getValueInRange(e, t) { + if ( + e.startLineNumber === e.endLineNumber && + e.startColumn === e.endColumn + ) + return ''; + let i = this.nodeAt2(e.startLineNumber, e.startColumn), + n = this.nodeAt2(e.endLineNumber, e.endColumn), + r = this.getValueInRange2(i, n); + return t + ? t === this._EOL && + this._EOLNormalized && + t === this.getEOL() && + this._EOLNormalized + ? r + : r.replace(/\r\n|\r|\n/g, t) + : r; + } + getValueInRange2(e, t) { + if (e.node === t.node) { + let i = e.node, + n = this._buffers[i.piece.bufferIndex].buffer, + r = this.offsetInBuffer(i.piece.bufferIndex, i.piece.start); + return n.substring(r + e.remainder, r + t.remainder); + } + let i = e.node, + n = this._buffers[i.piece.bufferIndex].buffer, + r = this.offsetInBuffer(i.piece.bufferIndex, i.piece.start), + s = n.substring(r + e.remainder, r + i.piece.length); + for (i = i.next(); i !== H; ) { + let e = this._buffers[i.piece.bufferIndex].buffer, + n = this.offsetInBuffer(i.piece.bufferIndex, i.piece.start); + if (i === t.node) { + s += e.substring(n, n + t.remainder); + break; + } + (s += e.substr(n, i.piece.length)), (i = i.next()); + } + return s; + } + getLinesContent() { + let e = [], + t = 0, + i = '', + n = !1; + return ( + this.iterate(this.root, (r) => { + if (r === H) return !0; + const s = r.piece; + let o = s.length; + if (0 === o) return !0; + const a = this._buffers[s.bufferIndex].buffer, + l = this._buffers[s.bufferIndex].lineStarts, + c = s.start.line, + d = s.end.line; + let h = l[c] + s.start.column; + if ( + n && + (10 === a.charCodeAt(h) && (h++, o--), + (e[t++] = i), + (i = ''), + (n = !1), + 0 === o) + ) + return !0; + if (c === d) + return ( + this._EOLNormalized || 13 !== a.charCodeAt(h + o - 1) + ? (i += a.substr(h, o)) + : ((n = !0), (i += a.substr(h, o - 1))), + !0 + ); + (i += this._EOLNormalized + ? a.substring(h, Math.max(h, l[c + 1] - this._EOLLength)) + : a.substring(h, l[c + 1]).replace(/(\r\n|\r|\n)$/, '')), + (e[t++] = i); + for (let n = c + 1; n < d; n++) + (i = this._EOLNormalized + ? a.substring(l[n], l[n + 1] - this._EOLLength) + : a.substring(l[n], l[n + 1]).replace(/(\r\n|\r|\n)$/, '')), + (e[t++] = i); + return ( + this._EOLNormalized || + 13 !== a.charCodeAt(l[d] + s.end.column - 1) + ? (i = a.substr(l[d], s.end.column)) + : ((n = !0), + 0 === s.end.column + ? t-- + : (i = a.substr(l[d], s.end.column - 1))), + !0 + ); + }), + n && ((e[t++] = i), (i = '')), + (e[t++] = i), + e + ); + } + getLength() { + return this._length; + } + getLineCount() { + return this._lineCnt; + } + getLineContent(e) { + return ( + this._lastVisitedLine.lineNumber === e || + ((this._lastVisitedLine.lineNumber = e), + e === this._lineCnt + ? (this._lastVisitedLine.value = this.getLineRawContent(e)) + : this._EOLNormalized + ? (this._lastVisitedLine.value = this.getLineRawContent( + e, + this._EOLLength + )) + : (this._lastVisitedLine.value = this.getLineRawContent( + e + ).replace(/(\r\n|\r|\n)$/, ''))), + this._lastVisitedLine.value + ); + } + _getCharCode(e) { + if (e.remainder === e.node.piece.length) { + let t = e.node.next(); + if (!t) return 0; + let i = this._buffers[t.piece.bufferIndex], + n = this.offsetInBuffer(t.piece.bufferIndex, t.piece.start); + return i.buffer.charCodeAt(n); + } + { + let t = this._buffers[e.node.piece.bufferIndex], + i = + this.offsetInBuffer( + e.node.piece.bufferIndex, + e.node.piece.start + ) + e.remainder; + return t.buffer.charCodeAt(i); + } + } + getLineCharCode(e, t) { + let i = this.nodeAt2(e, t + 1); + return this._getCharCode(i); + } + getLineLength(e) { + if (e === this.getLineCount()) { + let t = this.getOffsetAt(e, 1); + return this.getLength() - t; + } + return ( + this.getOffsetAt(e + 1, 1) - + this.getOffsetAt(e, 1) - + this._EOLLength + ); + } + findMatchesInNode(e, t, i, n, r, s, o, a, l, c, h) { + let u, + g, + f, + p = this._buffers[e.piece.bufferIndex], + m = this.offsetInBuffer(e.piece.bufferIndex, e.piece.start), + _ = this.offsetInBuffer(e.piece.bufferIndex, r), + b = this.offsetInBuffer(e.piece.bufferIndex, s), + v = { line: 0, column: 0 }; + t._wordSeparators + ? ((g = p.buffer.substring(_, b)), (f = (e) => e + _), t.reset(0)) + : ((g = p.buffer), (f = (e) => e), t.reset(_)); + do { + if (((u = t.next(g)), u)) { + if (f(u.index) >= b) return c; + this.positionInBuffer(e, f(u.index) - m, v); + let t = this.getLineFeedCnt(e.piece.bufferIndex, r, v), + s = + v.line === r.line ? v.column - r.column + n : v.column + 1, + o = s + u[0].length; + if ( + ((h[c++] = (0, X.iE)(new d.e(i + t, s, i + t, o), u, a)), + f(u.index) + u[0].length >= b) + ) + return c; + if (c >= l) return c; + } + } while (u); + return c; + } + findMatchesLineByLine(e, t, i, n) { + const r = []; + let s = 0; + const o = new X.sz(t.wordSeparators, t.regex); + let a = this.nodeAt2(e.startLineNumber, e.startColumn); + if (null === a) return []; + let l = this.nodeAt2(e.endLineNumber, e.endColumn); + if (null === l) return []; + let c = this.positionInBuffer(a.node, a.remainder), + d = this.positionInBuffer(l.node, l.remainder); + if (a.node === l.node) + return ( + this.findMatchesInNode( + a.node, + o, + e.startLineNumber, + e.startColumn, + c, + d, + t, + i, + n, + s, + r + ), + r + ); + let h = e.startLineNumber, + u = a.node; + for (; u !== l.node; ) { + let l = this.getLineFeedCnt(u.piece.bufferIndex, c, u.piece.end); + if (l >= 1) { + let a = this._buffers[u.piece.bufferIndex].lineStarts, + d = this.offsetInBuffer(u.piece.bufferIndex, u.piece.start), + g = a[c.line + l], + f = h === e.startLineNumber ? e.startColumn : 1; + if ( + ((s = this.findMatchesInNode( + u, + o, + h, + f, + c, + this.positionInBuffer(u, g - d), + t, + i, + n, + s, + r + )), + s >= n) + ) + return r; + h += l; + } + let d = h === e.startLineNumber ? e.startColumn - 1 : 0; + if (h === e.endLineNumber) { + const a = this.getLineContent(h).substring(d, e.endColumn - 1); + return ( + (s = this._findMatchesInLine( + t, + o, + a, + e.endLineNumber, + d, + s, + r, + i, + n + )), + r + ); + } + if ( + ((s = this._findMatchesInLine( + t, + o, + this.getLineContent(h).substr(d), + h, + d, + s, + r, + i, + n + )), + s >= n) + ) + return r; + h++, + (a = this.nodeAt2(h, 1)), + (u = a.node), + (c = this.positionInBuffer(a.node, a.remainder)); + } + if (h === e.endLineNumber) { + let a = h === e.startLineNumber ? e.startColumn - 1 : 0; + const l = this.getLineContent(h).substring(a, e.endColumn - 1); + return ( + (s = this._findMatchesInLine( + t, + o, + l, + e.endLineNumber, + a, + s, + r, + i, + n + )), + r + ); + } + let g = h === e.startLineNumber ? e.startColumn : 1; + return ( + (s = this.findMatchesInNode( + l.node, + o, + h, + g, + c, + d, + t, + i, + n, + s, + r + )), + r + ); + } + _findMatchesInLine(e, t, i, n, r, s, o, a, l) { + const c = e.wordSeparators; + if (!a && e.simpleSearch) { + const t = e.simpleSearch, + a = t.length, + h = i.length; + let g = -a; + for (; -1 !== (g = i.indexOf(t, g + a)); ) + if ( + (!c || (0, X.cM)(c, i, h, g, a)) && + ((o[s++] = new u.tk( + new d.e(n, g + 1 + r, n, g + 1 + a + r), + null + )), + s >= l) + ) + return s; + return s; + } + let h; + t.reset(0); + do { + if ( + ((h = t.next(i)), + h && + ((o[s++] = (0, X.iE)( + new d.e( + n, + h.index + 1 + r, + n, + h.index + 1 + h[0].length + r + ), + h, + a + )), + s >= l)) + ) + return s; + } while (h); + return s; + } + insert(e, t, i = !1) { + if ( + ((this._EOLNormalized = this._EOLNormalized && i), + (this._lastVisitedLine.lineNumber = 0), + (this._lastVisitedLine.value = ''), + this.root !== H) + ) { + let { node: i, remainder: n, nodeStartOffset: r } = this.nodeAt( + e + ), + s = i.piece, + o = s.bufferIndex, + a = this.positionInBuffer(i, n); + if ( + 0 === i.piece.bufferIndex && + s.end.line === this._lastChangeBufferPos.line && + s.end.column === this._lastChangeBufferPos.column && + r + s.length === e && + t.length < ee + ) + return ( + this.appendToNode(i, t), void this.computeBufferMetadata() + ); + if (r === e) + this.insertContentToNodeLeft(t, i), + this._searchCache.validate(e); + else if (r + i.piece.length > e) { + let e = [], + r = new re( + s.bufferIndex, + a, + s.end, + this.getLineFeedCnt(s.bufferIndex, a, s.end), + this.offsetInBuffer(o, s.end) - this.offsetInBuffer(o, a) + ); + if ( + this.shouldCheckCRLF() && + this.endWithCR(t) && + 10 === this.nodeCharCodeAt(i, n) + ) { + let e = { line: r.start.line + 1, column: 0 }; + (r = new re( + r.bufferIndex, + e, + r.end, + this.getLineFeedCnt(r.bufferIndex, e, r.end), + r.length - 1 + )), + (t += '\n'); + } + if (this.shouldCheckCRLF() && this.startWithLF(t)) + if (13 === this.nodeCharCodeAt(i, n - 1)) { + let r = this.positionInBuffer(i, n - 1); + this.deleteNodeTail(i, r), + (t = '\r' + t), + 0 === i.piece.length && e.push(i); + } else this.deleteNodeTail(i, a); + else this.deleteNodeTail(i, a); + let l = this.createNewPieces(t); + r.length > 0 && this.rbInsertRight(i, r); + let c = i; + for (let e = 0; e < l.length; e++) + c = this.rbInsertRight(c, l[e]); + this.deleteNodes(e); + } else this.insertContentToNodeRight(t, i); + } else { + let e = this.createNewPieces(t), + i = this.rbInsertLeft(null, e[0]); + for (let t = 1; t < e.length; t++) + i = this.rbInsertRight(i, e[t]); + } + this.computeBufferMetadata(); + } + delete(e, t) { + if ( + ((this._lastVisitedLine.lineNumber = 0), + (this._lastVisitedLine.value = ''), + t <= 0 || this.root === H) + ) + return; + let i = this.nodeAt(e), + n = this.nodeAt(e + t), + r = i.node, + s = n.node; + if (r === s) { + let s = this.positionInBuffer(r, i.remainder), + o = this.positionInBuffer(r, n.remainder); + if (i.nodeStartOffset === e) { + if (t === r.piece.length) { + let e = r.next(); + return ( + G(this, r), + this.validateCRLFWithPrevNode(e), + void this.computeBufferMetadata() + ); + } + return ( + this.deleteNodeHead(r, o), + this._searchCache.validate(e), + this.validateCRLFWithPrevNode(r), + void this.computeBufferMetadata() + ); + } + return i.nodeStartOffset + r.piece.length === e + t + ? (this.deleteNodeTail(r, s), + this.validateCRLFWithNextNode(r), + void this.computeBufferMetadata()) + : (this.shrinkNode(r, s, o), void this.computeBufferMetadata()); + } + let o = [], + a = this.positionInBuffer(r, i.remainder); + this.deleteNodeTail(r, a), + this._searchCache.validate(e), + 0 === r.piece.length && o.push(r); + let l = this.positionInBuffer(s, n.remainder); + this.deleteNodeHead(s, l), 0 === s.piece.length && o.push(s); + for (let e = r.next(); e !== H && e !== s; e = e.next()) o.push(e); + let c = 0 === r.piece.length ? r.prev() : r; + this.deleteNodes(o), + this.validateCRLFWithNextNode(c), + this.computeBufferMetadata(); + } + insertContentToNodeLeft(e, t) { + let i = []; + if ( + this.shouldCheckCRLF() && + this.endWithCR(e) && + this.startWithLF(t) + ) { + let n = t.piece, + r = { line: n.start.line + 1, column: 0 }, + s = new re( + n.bufferIndex, + r, + n.end, + this.getLineFeedCnt(n.bufferIndex, r, n.end), + n.length - 1 + ); + (t.piece = s), + (e += '\n'), + J(this, t, -1, -1), + 0 === t.piece.length && i.push(t); + } + let n = this.createNewPieces(e), + r = this.rbInsertLeft(t, n[n.length - 1]); + for (let e = n.length - 2; e >= 0; e--) + r = this.rbInsertLeft(r, n[e]); + this.validateCRLFWithPrevNode(r), this.deleteNodes(i); + } + insertContentToNodeRight(e, t) { + this.adjustCarriageReturnFromNext(e, t) && (e += '\n'); + let i = this.createNewPieces(e), + n = this.rbInsertRight(t, i[0]), + r = n; + for (let e = 1; e < i.length; e++) r = this.rbInsertRight(r, i[e]); + this.validateCRLFWithPrevNode(n); + } + positionInBuffer(e, t, i) { + let n = e.piece, + r = e.piece.bufferIndex, + s = this._buffers[r].lineStarts, + o = s[n.start.line] + n.start.column + t, + a = n.start.line, + l = n.end.line, + c = 0, + d = 0, + h = 0; + for ( + ; + a <= l && ((c = (a + (l - a) / 2) | 0), (h = s[c]), c !== l); + + ) + if (((d = s[c + 1]), o < h)) l = c - 1; + else { + if (!(o >= d)) break; + a = c + 1; + } + return i + ? ((i.line = c), (i.column = o - h), null) + : { line: c, column: o - h }; + } + getLineFeedCnt(e, t, i) { + if (0 === i.column) return i.line - t.line; + let n = this._buffers[e].lineStarts; + if (i.line === n.length - 1) return i.line - t.line; + let r = n[i.line + 1], + s = n[i.line] + i.column; + if (r > s + 1) return i.line - t.line; + let o = s - 1; + return 13 === this._buffers[e].buffer.charCodeAt(o) + ? i.line - t.line + 1 + : i.line - t.line; + } + offsetInBuffer(e, t) { + return this._buffers[e].lineStarts[t.line] + t.column; + } + deleteNodes(e) { + for (let t = 0; t < e.length; t++) G(this, e[t]); + } + createNewPieces(e) { + if (e.length > ee) { + let t = []; + for (; e.length > ee; ) { + const i = e.charCodeAt(65534); + let n; + 13 === i || (i >= 55296 && i <= 56319) + ? ((n = e.substring(0, 65534)), (e = e.substring(65534))) + : ((n = e.substring(0, ee)), (e = e.substring(ee))); + let r = ne(n); + t.push( + new re( + this._buffers.length, + { line: 0, column: 0 }, + { line: r.length - 1, column: n.length - r[r.length - 1] }, + r.length - 1, + n.length + ) + ), + this._buffers.push(new se(n, r)); + } + let i = ne(e); + return ( + t.push( + new re( + this._buffers.length, + { line: 0, column: 0 }, + { line: i.length - 1, column: e.length - i[i.length - 1] }, + i.length - 1, + e.length + ) + ), + this._buffers.push(new se(e, i)), + t + ); + } + let t = this._buffers[0].buffer.length; + const i = ne(e, !1); + let n = this._lastChangeBufferPos; + if ( + this._buffers[0].lineStarts[ + this._buffers[0].lineStarts.length - 1 + ] === t && + 0 !== t && + this.startWithLF(e) && + this.endWithCR(this._buffers[0].buffer) + ) { + (this._lastChangeBufferPos = { + line: this._lastChangeBufferPos.line, + column: this._lastChangeBufferPos.column + 1, + }), + (n = this._lastChangeBufferPos); + for (let e = 0; e < i.length; e++) i[e] += t + 1; + (this._buffers[0].lineStarts = this._buffers[0].lineStarts.concat( + i.slice(1) + )), + (this._buffers[0].buffer += '_' + e), + (t += 1); + } else { + if (0 !== t) for (let e = 0; e < i.length; e++) i[e] += t; + (this._buffers[0].lineStarts = this._buffers[0].lineStarts.concat( + i.slice(1) + )), + (this._buffers[0].buffer += e); + } + const r = this._buffers[0].buffer.length; + let s = this._buffers[0].lineStarts.length - 1, + o = { line: s, column: r - this._buffers[0].lineStarts[s] }, + a = new re(0, n, o, this.getLineFeedCnt(0, n, o), r - t); + return (this._lastChangeBufferPos = o), [a]; + } + getLineRawContent(e, t = 0) { + let i = this.root, + n = '', + r = this._searchCache.get2(e); + if (r) { + i = r.node; + let s = this.getAccumulatedValue( + i, + e - r.nodeStartLineNumber - 1 + ), + o = this._buffers[i.piece.bufferIndex].buffer, + a = this.offsetInBuffer(i.piece.bufferIndex, i.piece.start); + if (r.nodeStartLineNumber + i.piece.lineFeedCnt !== e) { + let n = this.getAccumulatedValue(i, e - r.nodeStartLineNumber); + return o.substring(a + s, a + n - t); + } + n = o.substring(a + s, a + i.piece.length); + } else { + let r = 0; + const s = e; + for (; i !== H; ) + if (i.left !== H && i.lf_left >= e - 1) i = i.left; + else { + if (i.lf_left + i.piece.lineFeedCnt > e - 1) { + let n = this.getAccumulatedValue(i, e - i.lf_left - 2), + o = this.getAccumulatedValue(i, e - i.lf_left - 1), + a = this._buffers[i.piece.bufferIndex].buffer, + l = this.offsetInBuffer( + i.piece.bufferIndex, + i.piece.start + ); + return ( + (r += i.size_left), + this._searchCache.set({ + node: i, + nodeStartOffset: r, + nodeStartLineNumber: s - (e - 1 - i.lf_left), + }), + a.substring(l + n, l + o - t) + ); + } + if (i.lf_left + i.piece.lineFeedCnt === e - 1) { + let t = this.getAccumulatedValue(i, e - i.lf_left - 2), + r = this._buffers[i.piece.bufferIndex].buffer, + s = this.offsetInBuffer( + i.piece.bufferIndex, + i.piece.start + ); + n = r.substring(s + t, s + i.piece.length); + break; + } + (e -= i.lf_left + i.piece.lineFeedCnt), + (r += i.size_left + i.piece.length), + (i = i.right); + } + } + for (i = i.next(); i !== H; ) { + let e = this._buffers[i.piece.bufferIndex].buffer; + if (i.piece.lineFeedCnt > 0) { + let r = this.getAccumulatedValue(i, 0), + s = this.offsetInBuffer(i.piece.bufferIndex, i.piece.start); + return (n += e.substring(s, s + r - t)), n; + } + { + let t = this.offsetInBuffer(i.piece.bufferIndex, i.piece.start); + n += e.substr(t, i.piece.length); + } + i = i.next(); + } + return n; + } + computeBufferMetadata() { + let e = this.root, + t = 1, + i = 0; + for (; e !== H; ) + (t += e.lf_left + e.piece.lineFeedCnt), + (i += e.size_left + e.piece.length), + (e = e.right); + (this._lineCnt = t), + (this._length = i), + this._searchCache.validate(this._length); + } + getIndexOf(e, t) { + let i = e.piece, + n = this.positionInBuffer(e, t), + r = n.line - i.start.line; + if ( + this.offsetInBuffer(i.bufferIndex, i.end) - + this.offsetInBuffer(i.bufferIndex, i.start) === + t + ) { + let t = this.getLineFeedCnt(e.piece.bufferIndex, i.start, n); + if (t !== r) return { index: t, remainder: 0 }; + } + return { index: r, remainder: n.column }; + } + getAccumulatedValue(e, t) { + if (t < 0) return 0; + let i = e.piece, + n = this._buffers[i.bufferIndex].lineStarts, + r = i.start.line + t + 1; + return r > i.end.line + ? n[i.end.line] + i.end.column - n[i.start.line] - i.start.column + : n[r] - n[i.start.line] - i.start.column; + } + deleteNodeTail(e, t) { + const i = e.piece, + n = i.lineFeedCnt, + r = this.offsetInBuffer(i.bufferIndex, i.end), + s = t, + o = this.offsetInBuffer(i.bufferIndex, s), + a = this.getLineFeedCnt(i.bufferIndex, i.start, s), + l = a - n, + c = o - r, + d = i.length + c; + (e.piece = new re(i.bufferIndex, i.start, s, a, d)), + J(this, e, c, l); + } + deleteNodeHead(e, t) { + const i = e.piece, + n = i.lineFeedCnt, + r = this.offsetInBuffer(i.bufferIndex, i.start), + s = t, + o = this.getLineFeedCnt(i.bufferIndex, s, i.end), + a = o - n, + l = r - this.offsetInBuffer(i.bufferIndex, s), + c = i.length + l; + (e.piece = new re(i.bufferIndex, s, i.end, o, c)), J(this, e, l, a); + } + shrinkNode(e, t, i) { + const n = e.piece, + r = n.start, + s = n.end, + o = n.length, + a = n.lineFeedCnt, + l = t, + c = this.getLineFeedCnt(n.bufferIndex, n.start, l), + d = + this.offsetInBuffer(n.bufferIndex, t) - + this.offsetInBuffer(n.bufferIndex, r); + (e.piece = new re(n.bufferIndex, n.start, l, c, d)), + J(this, e, d - o, c - a); + let h = new re( + n.bufferIndex, + i, + s, + this.getLineFeedCnt(n.bufferIndex, i, s), + this.offsetInBuffer(n.bufferIndex, s) - + this.offsetInBuffer(n.bufferIndex, i) + ), + u = this.rbInsertRight(e, h); + this.validateCRLFWithPrevNode(u); + } + appendToNode(e, t) { + this.adjustCarriageReturnFromNext(t, e) && (t += '\n'); + const i = + this.shouldCheckCRLF() && + this.startWithLF(t) && + this.endWithCR(e), + n = this._buffers[0].buffer.length; + this._buffers[0].buffer += t; + const r = ne(t, !1); + for (let e = 0; e < r.length; e++) r[e] += n; + if (i) { + let e = this._buffers[0].lineStarts[ + this._buffers[0].lineStarts.length - 2 + ]; + this._buffers[0].lineStarts.pop(), + (this._lastChangeBufferPos = { + line: this._lastChangeBufferPos.line - 1, + column: n - e, + }); + } + this._buffers[0].lineStarts = this._buffers[0].lineStarts.concat( + r.slice(1) + ); + const s = this._buffers[0].lineStarts.length - 1, + o = { + line: s, + column: + this._buffers[0].buffer.length - + this._buffers[0].lineStarts[s], + }, + a = e.piece.length + t.length, + l = e.piece.lineFeedCnt, + c = this.getLineFeedCnt(0, e.piece.start, o), + d = c - l; + (e.piece = new re(e.piece.bufferIndex, e.piece.start, o, c, a)), + (this._lastChangeBufferPos = o), + J(this, e, t.length, d); + } + nodeAt(e) { + let t = this.root, + i = this._searchCache.get(e); + if (i) + return { + node: i.node, + nodeStartOffset: i.nodeStartOffset, + remainder: e - i.nodeStartOffset, + }; + let n = 0; + for (; t !== H; ) + if (t.size_left > e) t = t.left; + else { + if (t.size_left + t.piece.length >= e) { + n += t.size_left; + let i = { + node: t, + remainder: e - t.size_left, + nodeStartOffset: n, + }; + return this._searchCache.set(i), i; + } + (e -= t.size_left + t.piece.length), + (n += t.size_left + t.piece.length), + (t = t.right); + } + return null; + } + nodeAt2(e, t) { + let i = this.root, + n = 0; + for (; i !== H; ) + if (i.left !== H && i.lf_left >= e - 1) i = i.left; + else { + if (i.lf_left + i.piece.lineFeedCnt > e - 1) { + let r = this.getAccumulatedValue(i, e - i.lf_left - 2), + s = this.getAccumulatedValue(i, e - i.lf_left - 1); + return ( + (n += i.size_left), + { + node: i, + remainder: Math.min(r + t - 1, s), + nodeStartOffset: n, + } + ); + } + if (i.lf_left + i.piece.lineFeedCnt === e - 1) { + let r = this.getAccumulatedValue(i, e - i.lf_left - 2); + if (r + t - 1 <= i.piece.length) + return { + node: i, + remainder: r + t - 1, + nodeStartOffset: n, + }; + t -= i.piece.length - r; + break; + } + (e -= i.lf_left + i.piece.lineFeedCnt), + (n += i.size_left + i.piece.length), + (i = i.right); + } + for (i = i.next(); i !== H; ) { + if (i.piece.lineFeedCnt > 0) { + let e = this.getAccumulatedValue(i, 0), + n = this.offsetOfNode(i); + return { + node: i, + remainder: Math.min(t - 1, e), + nodeStartOffset: n, + }; + } + if (i.piece.length >= t - 1) + return { + node: i, + remainder: t - 1, + nodeStartOffset: this.offsetOfNode(i), + }; + (t -= i.piece.length), (i = i.next()); + } + return null; + } + nodeCharCodeAt(e, t) { + if (e.piece.lineFeedCnt < 1) return -1; + let i = this._buffers[e.piece.bufferIndex], + n = this.offsetInBuffer(e.piece.bufferIndex, e.piece.start) + t; + return i.buffer.charCodeAt(n); + } + offsetOfNode(e) { + if (!e) return 0; + let t = e.size_left; + for (; e !== this.root; ) + e.parent.right === e && + (t += e.parent.size_left + e.parent.piece.length), + (e = e.parent); + return t; + } + shouldCheckCRLF() { + return !(this._EOLNormalized && '\n' === this._EOL); + } + startWithLF(e) { + if ('string' == typeof e) return 10 === e.charCodeAt(0); + if (e === H || 0 === e.piece.lineFeedCnt) return !1; + let t = e.piece, + i = this._buffers[t.bufferIndex].lineStarts, + n = t.start.line, + r = i[n] + t.start.column; + return ( + n !== i.length - 1 && + !(i[n + 1] > r + 1) && + 10 === this._buffers[t.bufferIndex].buffer.charCodeAt(r) + ); + } + endWithCR(e) { + return 'string' == typeof e + ? 13 === e.charCodeAt(e.length - 1) + : e !== H && + 0 !== e.piece.lineFeedCnt && + 13 === this.nodeCharCodeAt(e, e.piece.length - 1); + } + validateCRLFWithPrevNode(e) { + if (this.shouldCheckCRLF() && this.startWithLF(e)) { + let t = e.prev(); + this.endWithCR(t) && this.fixCRLF(t, e); + } + } + validateCRLFWithNextNode(e) { + if (this.shouldCheckCRLF() && this.endWithCR(e)) { + let t = e.next(); + this.startWithLF(t) && this.fixCRLF(e, t); + } + } + fixCRLF(e, t) { + let i, + n = [], + r = this._buffers[e.piece.bufferIndex].lineStarts; + i = + 0 === e.piece.end.column + ? { + line: e.piece.end.line - 1, + column: r[e.piece.end.line] - r[e.piece.end.line - 1] - 1, + } + : { line: e.piece.end.line, column: e.piece.end.column - 1 }; + const s = e.piece.length - 1, + o = e.piece.lineFeedCnt - 1; + (e.piece = new re(e.piece.bufferIndex, e.piece.start, i, o, s)), + J(this, e, -1, -1), + 0 === e.piece.length && n.push(e); + let a = { line: t.piece.start.line + 1, column: 0 }; + const l = t.piece.length - 1, + c = this.getLineFeedCnt(t.piece.bufferIndex, a, t.piece.end); + (t.piece = new re(t.piece.bufferIndex, a, t.piece.end, c, l)), + J(this, t, -1, -1), + 0 === t.piece.length && n.push(t); + let d = this.createNewPieces('\r\n'); + this.rbInsertRight(e, d[0]); + for (let e = 0; e < n.length; e++) G(this, n[e]); + } + adjustCarriageReturnFromNext(e, t) { + if (this.shouldCheckCRLF() && this.endWithCR(e)) { + let i = t.next(); + if (this.startWithLF(i)) { + if (((e += '\n'), 1 === i.piece.length)) G(this, i); + else { + const e = i.piece, + t = { line: e.start.line + 1, column: 0 }, + n = e.length - 1, + r = this.getLineFeedCnt(e.bufferIndex, t, e.end); + (i.piece = new re(e.bufferIndex, t, e.end, r, n)), + J(this, i, -1, -1); + } + return !0; + } + } + return !1; + } + iterate(e, t) { + if (e === H) return t(H); + let i = this.iterate(e.left, t); + return i ? t(e) && this.iterate(e.right, t) : i; + } + getNodeContent(e) { + if (e === H) return ''; + let t, + i = this._buffers[e.piece.bufferIndex], + n = e.piece, + r = this.offsetInBuffer(n.bufferIndex, n.start), + s = this.offsetInBuffer(n.bufferIndex, n.end); + return (t = i.buffer.substring(r, s)), t; + } + getPieceContent(e) { + let t = this._buffers[e.bufferIndex], + i = this.offsetInBuffer(e.bufferIndex, e.start), + n = this.offsetInBuffer(e.bufferIndex, e.end); + return t.buffer.substring(i, n); + } + rbInsertRight(e, t) { + let i = new Y(t, 1); + if ( + ((i.left = H), + (i.right = H), + (i.parent = H), + (i.size_left = 0), + (i.lf_left = 0), + this.root === H) + ) + (this.root = i), (i.color = 0); + else if (e.right === H) (e.right = i), (i.parent = e); + else { + let t = j(e.right); + (t.left = i), (i.parent = t); + } + return Z(this, i), i; + } + rbInsertLeft(e, t) { + let i = new Y(t, 1); + if ( + ((i.left = H), + (i.right = H), + (i.parent = H), + (i.size_left = 0), + (i.lf_left = 0), + this.root === H) + ) + (this.root = i), (i.color = 0); + else if (e.left === H) (e.left = i), (i.parent = e); + else { + let t = V(e.left); + (t.right = i), (i.parent = t); + } + return Z(this, i), i; + } + } + var ce = i(58409), + de = i(60962); + class he { + constructor(e, t, i, n, s, o, a) { + (this._onDidChangeContent = new r.Q5()), + (this._BOM = t), + (this._mightContainNonBasicASCII = !o), + (this._mightContainRTL = n), + (this._mightContainUnusualLineTerminators = s), + (this._pieceTree = new le(e, i, a)); + } + dispose() { + this._onDidChangeContent.dispose(); + } + mightContainRTL() { + return this._mightContainRTL; + } + mightContainUnusualLineTerminators() { + return this._mightContainUnusualLineTerminators; + } + resetMightContainUnusualLineTerminators() { + this._mightContainUnusualLineTerminators = !1; + } + mightContainNonBasicASCII() { + return this._mightContainNonBasicASCII; + } + getBOM() { + return this._BOM; + } + getEOL() { + return this._pieceTree.getEOL(); + } + createSnapshot(e) { + return this._pieceTree.createSnapshot(e ? this._BOM : ''); + } + getOffsetAt(e, t) { + return this._pieceTree.getOffsetAt(e, t); + } + getPositionAt(e) { + return this._pieceTree.getPositionAt(e); + } + getRangeAt(e, t) { + let i = e + t; + const n = this.getPositionAt(e), + r = this.getPositionAt(i); + return new d.e(n.lineNumber, n.column, r.lineNumber, r.column); + } + getValueInRange(e, t = 0) { + if (e.isEmpty()) return ''; + const i = this._getEndOfLine(t); + return this._pieceTree.getValueInRange(e, i); + } + getValueLengthInRange(e, t = 0) { + if (e.isEmpty()) return 0; + if (e.startLineNumber === e.endLineNumber) + return e.endColumn - e.startColumn; + let i = this.getOffsetAt(e.startLineNumber, e.startColumn); + return this.getOffsetAt(e.endLineNumber, e.endColumn) - i; + } + getCharacterCountInRange(e, t = 0) { + if (this._mightContainNonBasicASCII) { + let i = 0; + const n = e.startLineNumber, + r = e.endLineNumber; + for (let t = n; t <= r; t++) { + const s = this.getLineContent(t), + a = t === n ? e.startColumn - 1 : 0, + l = t === r ? e.endColumn - 1 : s.length; + for (let e = a; e < l; e++) + o.ZG(s.charCodeAt(e)) ? ((i += 1), (e += 1)) : (i += 1); + } + return (i += this._getEndOfLine(t).length * (r - n)), i; + } + return this.getValueLengthInRange(e, t); + } + getLength() { + return this._pieceTree.getLength(); + } + getLineCount() { + return this._pieceTree.getLineCount(); + } + getLinesContent() { + return this._pieceTree.getLinesContent(); + } + getLineContent(e) { + return this._pieceTree.getLineContent(e); + } + getLineCharCode(e, t) { + return this._pieceTree.getLineCharCode(e, t); + } + getLineLength(e) { + return this._pieceTree.getLineLength(e); + } + getLineFirstNonWhitespaceColumn(e) { + const t = o.LC(this.getLineContent(e)); + return -1 === t ? 0 : t + 1; + } + getLineLastNonWhitespaceColumn(e) { + const t = o.ow(this.getLineContent(e)); + return -1 === t ? 0 : t + 2; + } + _getEndOfLine(e) { + switch (e) { + case 1: + return '\n'; + case 2: + return '\r\n'; + case 0: + return this.getEOL(); + default: + throw new Error('Unknown EOL preference'); + } + } + setEOL(e) { + this._pieceTree.setEOL(e); + } + applyEdits(e, t, i) { + let n = this._mightContainRTL, + r = this._mightContainUnusualLineTerminators, + s = this._mightContainNonBasicASCII, + a = !0, + l = []; + for (let t = 0; t < e.length; t++) { + let i = e[t]; + a && i._isTracked && (a = !1); + let c = i.range; + if (i.text) { + let e = !0; + s || ((e = !o.$i(i.text)), (s = e)), + !n && e && (n = o.Ut(i.text)), + !r && e && (r = o.ab(i.text)); + } + let d = '', + h = 0, + u = 0, + g = 0; + if (i.text) { + let e; + [h, u, g, e] = (0, ce.QZ)(i.text); + const t = this.getEOL(), + n = '\r\n' === t ? 2 : 1; + d = + 0 === e || e === n + ? i.text + : i.text.replace(/\r\n|\r|\n/g, t); + } + l[t] = { + sortIndex: t, + identifier: i.identifier || null, + range: c, + rangeOffset: this.getOffsetAt(c.startLineNumber, c.startColumn), + rangeLength: this.getValueLengthInRange(c), + text: d, + eolCount: h, + firstLineLength: u, + lastLineLength: g, + forceMoveMarkers: Boolean(i.forceMoveMarkers), + isAutoWhitespaceEdit: i.isAutoWhitespaceEdit || !1, + }; + } + l.sort(he._sortOpsAscending); + let c = !1; + for (let e = 0, t = l.length - 1; e < t; e++) { + let t = l[e].range.getEndPosition(), + i = l[e + 1].range.getStartPosition(); + if (i.isBeforeOrEqual(t)) { + if (i.isBefore(t)) + throw new Error('Overlapping ranges are not allowed!'); + c = !0; + } + } + a && (l = this._reduceOperations(l)); + let d = i || t ? he._getInverseEditRanges(l) : [], + h = []; + if (t) + for (let e = 0; e < l.length; e++) { + let t = l[e], + i = d[e]; + if (t.isAutoWhitespaceEdit && t.range.isEmpty()) + for (let e = i.startLineNumber; e <= i.endLineNumber; e++) { + let n = ''; + (e === i.startLineNumber && + ((n = this.getLineContent(t.range.startLineNumber)), + -1 !== o.LC(n))) || + h.push({ lineNumber: e, oldContent: n }); + } + } + let g = null; + if (i) { + let e = 0; + g = []; + for (let t = 0; t < l.length; t++) { + const i = l[t], + n = d[t], + r = this.getValueInRange(i.range), + s = i.rangeOffset + e; + (e += i.text.length - r.length), + (g[t] = { + sortIndex: i.sortIndex, + identifier: i.identifier, + range: n, + text: r, + textChange: new de.q(i.rangeOffset, r, s, i.text), + }); + } + c || g.sort((e, t) => e.sortIndex - t.sortIndex); + } + (this._mightContainRTL = n), + (this._mightContainUnusualLineTerminators = r), + (this._mightContainNonBasicASCII = s); + const f = this._doApplyEdits(l); + let p = null; + if (t && h.length > 0) { + h.sort((e, t) => t.lineNumber - e.lineNumber), (p = []); + for (let e = 0, t = h.length; e < t; e++) { + let t = h[e].lineNumber; + if (e > 0 && h[e - 1].lineNumber === t) continue; + let i = h[e].oldContent, + n = this.getLineContent(t); + 0 !== n.length && n !== i && -1 === o.LC(n) && p.push(t); + } + } + return this._onDidChangeContent.fire(), new u.je(g, f, p); + } + _reduceOperations(e) { + return e.length < 1e3 ? e : [this._toSingleEditOperation(e)]; + } + _toSingleEditOperation(e) { + let t = !1; + const i = e[0].range, + n = e[e.length - 1].range, + r = new d.e( + i.startLineNumber, + i.startColumn, + n.endLineNumber, + n.endColumn + ); + let s = i.startLineNumber, + o = i.startColumn; + const a = []; + for (let i = 0, n = e.length; i < n; i++) { + const n = e[i], + r = n.range; + (t = t || n.forceMoveMarkers), + a.push( + this.getValueInRange( + new d.e(s, o, r.startLineNumber, r.startColumn) + ) + ), + n.text.length > 0 && a.push(n.text), + (s = r.endLineNumber), + (o = r.endColumn); + } + const l = a.join(''), + [c, h, u] = (0, ce.QZ)(l); + return { + sortIndex: 0, + identifier: e[0].identifier, + range: r, + rangeOffset: this.getOffsetAt(r.startLineNumber, r.startColumn), + rangeLength: this.getValueLengthInRange(r, 0), + text: l, + eolCount: c, + firstLineLength: h, + lastLineLength: u, + forceMoveMarkers: t, + isAutoWhitespaceEdit: !1, + }; + } + _doApplyEdits(e) { + e.sort(he._sortOpsDescending); + let t = []; + for (let i = 0; i < e.length; i++) { + let n = e[i]; + const r = n.range.startLineNumber, + s = n.range.startColumn, + o = n.range.endLineNumber, + a = n.range.endColumn; + if (r === o && s === a && 0 === n.text.length) continue; + n.text + ? (this._pieceTree.delete(n.rangeOffset, n.rangeLength), + this._pieceTree.insert(n.rangeOffset, n.text, !0)) + : this._pieceTree.delete(n.rangeOffset, n.rangeLength); + const l = new d.e(r, s, o, a); + t.push({ + range: l, + rangeLength: n.rangeLength, + text: n.text, + rangeOffset: n.rangeOffset, + forceMoveMarkers: n.forceMoveMarkers, + }); + } + return t; + } + findMatchesLineByLine(e, t, i, n) { + return this._pieceTree.findMatchesLineByLine(e, t, i, n); + } + static _getInverseEditRanges(e) { + let t = [], + i = 0, + n = 0, + r = null; + for (let s = 0, o = e.length; s < o; s++) { + let o, + a, + l, + c = e[s]; + if ( + (r + ? r.range.endLineNumber === c.range.startLineNumber + ? ((o = i), + (a = n + (c.range.startColumn - r.range.endColumn))) + : ((o = + i + (c.range.startLineNumber - r.range.endLineNumber)), + (a = c.range.startColumn)) + : ((o = c.range.startLineNumber), (a = c.range.startColumn)), + c.text.length > 0) + ) { + const e = c.eolCount + 1; + l = + 1 === e + ? new d.e(o, a, o, a + c.firstLineLength) + : new d.e(o, a, o + e - 1, c.lastLineLength + 1); + } else l = new d.e(o, a, o, a); + (i = l.endLineNumber), (n = l.endColumn), t.push(l), (r = c); + } + return t; + } + static _sortOpsAscending(e, t) { + let i = d.e.compareRangesUsingEnds(e.range, t.range); + return 0 === i ? e.sortIndex - t.sortIndex : i; + } + static _sortOpsDescending(e, t) { + let i = d.e.compareRangesUsingEnds(e.range, t.range); + return 0 === i ? t.sortIndex - e.sortIndex : -i; + } + } + class ue { + constructor(e, t, i, n, r, s, o, a, l) { + (this._chunks = e), + (this._bom = t), + (this._cr = i), + (this._lf = n), + (this._crlf = r), + (this._containsRTL = s), + (this._containsUnusualLineTerminators = o), + (this._isBasicASCII = a), + (this._normalizeEOL = l); + } + _getEOL(e) { + const t = this._cr + this._lf + this._crlf, + i = this._cr + this._crlf; + return 0 === t + ? 1 === e + ? '\n' + : '\r\n' + : i > t / 2 + ? '\r\n' + : '\n'; + } + create(e) { + const t = this._getEOL(e); + let i = this._chunks; + if ( + this._normalizeEOL && + (('\r\n' === t && (this._cr > 0 || this._lf > 0)) || + ('\n' === t && (this._cr > 0 || this._crlf > 0))) + ) + for (let e = 0, n = i.length; e < n; e++) { + let n = i[e].buffer.replace(/\r\n|\r|\n/g, t), + r = ne(n); + i[e] = new se(n, r); + } + return new he( + i, + this._bom, + t, + this._containsRTL, + this._containsUnusualLineTerminators, + this._isBasicASCII, + this._normalizeEOL + ); + } + } + class ge { + constructor() { + (this.chunks = []), + (this.BOM = ''), + (this._hasPreviousChar = !1), + (this._previousChar = 0), + (this._tmpLineStarts = []), + (this.cr = 0), + (this.lf = 0), + (this.crlf = 0), + (this.containsRTL = !1), + (this.containsUnusualLineTerminators = !1), + (this.isBasicASCII = !0); + } + acceptChunk(e) { + if (0 === e.length) return; + 0 === this.chunks.length && + o.uS(e) && + ((this.BOM = o.c1), (e = e.substr(1))); + const t = e.charCodeAt(e.length - 1); + 13 === t || (t >= 55296 && t <= 56319) + ? (this._acceptChunk1(e.substr(0, e.length - 1), !1), + (this._hasPreviousChar = !0), + (this._previousChar = t)) + : (this._acceptChunk1(e, !1), + (this._hasPreviousChar = !1), + (this._previousChar = t)); + } + _acceptChunk1(e, t) { + (t || 0 !== e.length) && + (this._hasPreviousChar + ? this._acceptChunk2( + String.fromCharCode(this._previousChar) + e + ) + : this._acceptChunk2(e)); + } + _acceptChunk2(e) { + const t = (function (e, t) { + (e.length = 0), (e[0] = 0); + let i = 1, + n = 0, + r = 0, + s = 0, + o = !0; + for (let a = 0, l = t.length; a < l; a++) { + const c = t.charCodeAt(a); + 13 === c + ? a + 1 < l && 10 === t.charCodeAt(a + 1) + ? (s++, (e[i++] = a + 2), a++) + : (n++, (e[i++] = a + 1)) + : 10 === c + ? (r++, (e[i++] = a + 1)) + : o && 9 !== c && (c < 32 || c > 126) && (o = !1); + } + const a = new ie(te(e), n, r, s, o); + return (e.length = 0), a; + })(this._tmpLineStarts, e); + this.chunks.push(new se(e, t.lineStarts)), + (this.cr += t.cr), + (this.lf += t.lf), + (this.crlf += t.crlf), + this.isBasicASCII && (this.isBasicASCII = t.isBasicASCII), + this.isBasicASCII || + this.containsRTL || + (this.containsRTL = o.Ut(e)), + this.isBasicASCII || + this.containsUnusualLineTerminators || + (this.containsUnusualLineTerminators = o.ab(e)); + } + finish(e = !0) { + return ( + this._finish(), + new ue( + this.chunks, + this.BOM, + this.cr, + this.lf, + this.crlf, + this.containsRTL, + this.containsUnusualLineTerminators, + this.isBasicASCII, + e + ) + ); + } + _finish() { + if ( + (0 === this.chunks.length && this._acceptChunk1('', !0), + this._hasPreviousChar) + ) { + this._hasPreviousChar = !1; + let e = this.chunks[this.chunks.length - 1]; + e.buffer += String.fromCharCode(this._previousChar); + let t = ne(e.buffer); + (e.lineStarts = t), 13 === this._previousChar && this.cr++; + } + } + } + class fe { + constructor() { + this.changeType = 1; + } + } + class pe { + constructor(e, t) { + (this.changeType = 2), (this.lineNumber = e), (this.detail = t); + } + } + class me { + constructor(e, t) { + (this.changeType = 3), + (this.fromLineNumber = e), + (this.toLineNumber = t); + } + } + class _e { + constructor(e, t, i) { + (this.changeType = 4), + (this.fromLineNumber = e), + (this.toLineNumber = t), + (this.detail = i); + } + } + class be { + constructor() { + this.changeType = 5; + } + } + class ve { + constructor(e, t, i, n) { + (this.changes = e), + (this.versionId = t), + (this.isUndoing = i), + (this.isRedoing = n), + (this.resultingSelection = null); + } + containsEvent(e) { + for (let t = 0, i = this.changes.length; t < i; t++) + if (this.changes[t].changeType === e) return !0; + return !1; + } + static merge(e, t) { + const i = [].concat(e.changes).concat(t.changes), + n = t.versionId, + r = e.isUndoing || t.isUndoing, + s = e.isRedoing || t.isRedoing; + return new ve(i, n, r, s); + } + } + class ye { + constructor(e, t) { + (this.rawContentChangedEvent = e), (this.contentChangedEvent = t); + } + merge(e) { + const t = ve.merge( + this.rawContentChangedEvent, + e.rawContentChangedEvent + ), + i = ye._mergeChangeEvents( + this.contentChangedEvent, + e.contentChangedEvent + ); + return new ye(t, i); + } + static _mergeChangeEvents(e, t) { + return { + changes: [].concat(e.changes).concat(t.changes), + eol: t.eol, + versionId: t.versionId, + isUndoing: e.isUndoing || t.isUndoing, + isRedoing: e.isRedoing || t.isRedoing, + isFlush: e.isFlush || t.isFlush, + }; + } + } + var we = i(9488), + Ce = i(78411), + Se = i(43775), + ke = i(28111), + xe = i(84013), + Le = i(1432); + class Me { + constructor() { + (this._beginState = []), + (this._valid = []), + (this._len = 0), + (this._invalidLineStartIndex = 0); + } + _reset(e) { + (this._beginState = []), + (this._valid = []), + (this._len = 0), + (this._invalidLineStartIndex = 0), + e && this._setBeginState(0, e); + } + flush(e) { + this._reset(e); + } + get invalidLineStartIndex() { + return this._invalidLineStartIndex; + } + _invalidateLine(e) { + e < this._len && (this._valid[e] = !1), + e < this._invalidLineStartIndex && + (this._invalidLineStartIndex = e); + } + _isValid(e) { + return e < this._len && this._valid[e]; + } + getBeginState(e) { + return e < this._len ? this._beginState[e] : null; + } + _ensureLine(e) { + for (; e >= this._len; ) + (this._beginState[this._len] = null), + (this._valid[this._len] = !1), + this._len++; + } + _deleteLines(e, t) { + 0 !== t && + (e + t > this._len && (t = this._len - e), + this._beginState.splice(e, t), + this._valid.splice(e, t), + (this._len -= t)); + } + _insertLines(e, t) { + if (0 === t) return; + let i = [], + n = []; + for (let e = 0; e < t; e++) (i[e] = null), (n[e] = !1); + (this._beginState = we.Zv(this._beginState, e, i)), + (this._valid = we.Zv(this._valid, e, n)), + (this._len += t); + } + _setValid(e, t) { + this._ensureLine(e), (this._valid[e] = t); + } + _setBeginState(e, t) { + this._ensureLine(e), (this._beginState[e] = t); + } + setEndState(e, t, i) { + if ( + (this._setValid(t, !0), + (this._invalidLineStartIndex = t + 1), + t === e - 1) + ) + return; + const n = this.getBeginState(t + 1); + if (null === n || !i.equals(n)) + return ( + this._setBeginState(t + 1, i), void this._invalidateLine(t + 1) + ); + let r = t + 1; + for (; r < e && this._isValid(r); ) r++; + this._invalidLineStartIndex = r; + } + setFakeTokens(e) { + this._setValid(e, !1); + } + applyEdits(e, t) { + const i = e.endLineNumber - e.startLineNumber, + n = t; + for (let t = Math.min(i, n); t >= 0; t--) + this._invalidateLine(e.startLineNumber + t - 1); + this._acceptDeleteRange(e), + this._acceptInsertText( + new c.L(e.startLineNumber, e.startColumn), + t + ); + } + _acceptDeleteRange(e) { + e.startLineNumber - 1 >= this._len || + this._deleteLines( + e.startLineNumber, + e.endLineNumber - e.startLineNumber + ); + } + _acceptInsertText(e, t) { + e.lineNumber - 1 >= this._len || this._insertLines(e.lineNumber, t); + } + } + class De extends s.JT { + constructor(e) { + super(), + (this._isDisposed = !1), + (this._textModel = e), + (this._tokenizationStateStore = new Me()), + (this._tokenizationSupport = null), + this._register( + Se.RW.onDidChange((e) => { + const t = this._textModel.getLanguageIdentifier(); + -1 !== e.changedLanguages.indexOf(t.language) && + (this._resetTokenizationState(), + this._textModel.clearTokens()); + }) + ), + this._register( + this._textModel.onDidChangeRawContentFast((e) => { + e.containsEvent(1) && this._resetTokenizationState(); + }) + ), + this._register( + this._textModel.onDidChangeContentFast((e) => { + for (let t = 0, i = e.changes.length; t < i; t++) { + const i = e.changes[t], + [n] = (0, ce.QZ)(i.text); + this._tokenizationStateStore.applyEdits(i.range, n); + } + this._beginBackgroundTokenization(); + }) + ), + this._register( + this._textModel.onDidChangeAttached(() => { + this._beginBackgroundTokenization(); + }) + ), + this._register( + this._textModel.onDidChangeLanguage(() => { + this._resetTokenizationState(), this._textModel.clearTokens(); + }) + ), + this._resetTokenizationState(); + } + dispose() { + (this._isDisposed = !0), super.dispose(); + } + _resetTokenizationState() { + const [e, t] = (function (e) { + const t = e.getLanguageIdentifier(); + let i = e.isTooLargeForTokenization() + ? null + : Se.RW.get(t.language), + r = null; + if (i) + try { + r = i.getInitialState(); + } catch (e) { + (0, n.dL)(e), (i = null); + } + return [i, r]; + })(this._textModel); + (this._tokenizationSupport = e), + this._tokenizationStateStore.flush(t), + this._beginBackgroundTokenization(); + } + _beginBackgroundTokenization() { + this._textModel.isAttachedToEditor() && + this._hasLinesToTokenize() && + Le.xS(() => { + this._isDisposed || this._revalidateTokensNow(); + }); + } + _revalidateTokensNow(e = this._textModel.getLineCount()) { + const t = new ce.DA(), + i = xe.G.create(!1); + for ( + ; + this._hasLinesToTokenize() && + !(i.elapsed() > 1) && + !(this._tokenizeOneInvalidLine(t) >= e); + + ); + this._beginBackgroundTokenization(), + this._textModel.setTokens(t.tokens); + } + tokenizeViewport(e, t) { + const i = new ce.DA(); + this._tokenizeViewport(i, e, t), + this._textModel.setTokens(i.tokens); + } + reset() { + this._resetTokenizationState(), this._textModel.clearTokens(); + } + forceTokenization(e) { + const t = new ce.DA(); + this._updateTokensUntilLine(t, e), + this._textModel.setTokens(t.tokens); + } + isCheapToTokenize(e) { + if (!this._tokenizationSupport) return !0; + const t = this._tokenizationStateStore.invalidLineStartIndex + 1; + return ( + !(e > t) && (e < t || this._textModel.getLineLength(e) < 2048) + ); + } + _hasLinesToTokenize() { + return ( + !!this._tokenizationSupport && + this._tokenizationStateStore.invalidLineStartIndex < + this._textModel.getLineCount() + ); + } + _tokenizeOneInvalidLine(e) { + if (!this._hasLinesToTokenize()) + return this._textModel.getLineCount() + 1; + const t = this._tokenizationStateStore.invalidLineStartIndex + 1; + return this._updateTokensUntilLine(e, t), t; + } + _updateTokensUntilLine(e, t) { + if (!this._tokenizationSupport) return; + const i = this._textModel.getLanguageIdentifier(), + n = this._textModel.getLineCount(), + r = t - 1; + for ( + let t = this._tokenizationStateStore.invalidLineStartIndex; + t <= r; + t++ + ) { + const r = this._textModel.getLineContent(t + 1), + s = this._tokenizationStateStore.getBeginState(t), + o = Ne(i, this._tokenizationSupport, r, s); + e.add(t + 1, o.tokens), + this._tokenizationStateStore.setEndState(n, t, o.endState), + (t = this._tokenizationStateStore.invalidLineStartIndex - 1); + } + } + _tokenizeViewport(e, t, i) { + if (!this._tokenizationSupport) return; + if (i <= this._tokenizationStateStore.invalidLineStartIndex) return; + if (t <= this._tokenizationStateStore.invalidLineStartIndex) + return void this._updateTokensUntilLine(e, i); + let n = this._textModel.getLineFirstNonWhitespaceColumn(t), + r = [], + s = null; + for (let e = t - 1; n > 0 && e >= 1; e--) { + let t = this._textModel.getLineFirstNonWhitespaceColumn(e); + if (0 !== t && t < n) { + if ( + ((s = this._tokenizationStateStore.getBeginState(e - 1)), s) + ) + break; + r.push(this._textModel.getLineContent(e)), (n = t); + } + } + s || (s = this._tokenizationSupport.getInitialState()); + const o = this._textModel.getLanguageIdentifier(); + let a = s; + for (let e = r.length - 1; e >= 0; e--) + a = Ne(o, this._tokenizationSupport, r[e], a).endState; + for (let n = t; n <= i; n++) { + let t = this._textModel.getLineContent(n), + i = Ne(o, this._tokenizationSupport, t, a); + e.add(n, i.tokens), + this._tokenizationStateStore.setFakeTokens(n - 1), + (a = i.endState); + } + } + } + function Ne(e, t, i, r) { + let s = null; + if (t) + try { + s = t.tokenize2(i, r.clone(), 0); + } catch (e) { + (0, n.dL)(e); + } + return ( + s || (s = (0, ke.mh)(e.id, i, r, 0)), + Ce.A.convertToEndOffset(s.tokens, i.length), + s + ); + } + var Ee = i(97461), + Te = i(83831), + Ie = i(40764), + Oe = i(34227), + Ae = i(41264); + function Re(e, t) { + return ('string' == typeof e + ? (function (e) { + const t = new ge(); + return t.acceptChunk(e), t.finish(); + })(e) + : e + ).create(t); + } + let Pe = 0; + class Fe { + constructor(e) { + (this._source = e), (this._eos = !1); + } + read() { + if (this._eos) return null; + let e = [], + t = 0, + i = 0; + for (;;) { + let n = this._source.read(); + if (null === n) + return (this._eos = !0), 0 === t ? null : e.join(''); + if ((n.length > 0 && ((e[t++] = n), (i += n.length)), i >= 65536)) + return e.join(''); + } + } + } + const Be = () => { + throw new Error('Invalid change accessor'); + }; + class We { + constructor() { + this._searchCanceledBrand = void 0; + } + } + function Ye(e) { + return e instanceof We ? null : e; + } + We.INSTANCE = new We(); + class He extends s.JT { + constructor(e, t, i, n = null, s) { + super(), + (this._onWillDispose = this._register(new r.Q5())), + (this.onWillDispose = this._onWillDispose.event), + (this._onDidChangeDecorations = this._register(new Ze())), + (this.onDidChangeDecorations = this._onDidChangeDecorations.event), + (this._onDidChangeLanguage = this._register(new r.Q5())), + (this.onDidChangeLanguage = this._onDidChangeLanguage.event), + (this._onDidChangeLanguageConfiguration = this._register( + new r.Q5() + )), + (this.onDidChangeLanguageConfiguration = this._onDidChangeLanguageConfiguration.event), + (this._onDidChangeTokens = this._register(new r.Q5())), + (this.onDidChangeTokens = this._onDidChangeTokens.event), + (this._onDidChangeOptions = this._register(new r.Q5())), + (this.onDidChangeOptions = this._onDidChangeOptions.event), + (this._onDidChangeAttached = this._register(new r.Q5())), + (this.onDidChangeAttached = this._onDidChangeAttached.event), + (this._eventEmitter = this._register(new Je())), + Pe++, + (this.id = '$model' + Pe), + (this.isForSimpleWidget = t.isForSimpleWidget), + (this._associatedResource = + null == n ? a.o.parse('inmemory://model/' + Pe) : n), + (this._undoRedoService = s), + (this._attachedEditorCount = 0), + (this._buffer = Re(e, t.defaultEOL)), + (this._options = He.resolveOptions(this._buffer, t)); + const l = this._buffer.getLineCount(), + c = this._buffer.getValueLengthInRange( + new d.e(1, 1, l, this._buffer.getLineLength(l) + 1), + 0 + ); + t.largeFileOptimizations + ? (this._isTooLargeForTokenization = + c > He.LARGE_FILE_SIZE_THRESHOLD || + l > He.LARGE_FILE_LINE_COUNT_THRESHOLD) + : (this._isTooLargeForTokenization = !1), + (this._isTooLargeForSyncing = c > He.MODEL_SYNC_LIMIT), + (this._versionId = 1), + (this._alternativeVersionId = 1), + (this._initialUndoRedoSnapshot = null), + (this._isDisposed = !1), + (this._isDisposing = !1), + (this._languageIdentifier = i || ke.pA), + (this._languageRegistryListener = Te.zu.onDidChange((e) => { + e.languageIdentifier.id === this._languageIdentifier.id && + this._onDidChangeLanguageConfiguration.fire({}); + })), + (this._instanceId = o.PJ(Pe)), + (this._lastDecorationId = 0), + (this._decorations = Object.create(null)), + (this._decorationsTree = new je()), + (this._commandManager = new g.NL(this, s)), + (this._isUndoing = !1), + (this._isRedoing = !1), + (this._trimAutoWhitespaceLines = null), + (this._tokens = new ce.Rl()), + (this._tokens2 = new ce.cx()), + (this._tokenization = new De(this)); + } + static resolveOptions(e, t) { + if (t.detectIndentation) { + const i = m(e, t.tabSize, t.insertSpaces); + return new u.dJ({ + tabSize: i.tabSize, + indentSize: i.tabSize, + insertSpaces: i.insertSpaces, + trimAutoWhitespace: t.trimAutoWhitespace, + defaultEOL: t.defaultEOL, + }); + } + return new u.dJ({ + tabSize: t.tabSize, + indentSize: t.indentSize, + insertSpaces: t.insertSpaces, + trimAutoWhitespace: t.trimAutoWhitespace, + defaultEOL: t.defaultEOL, + }); + } + onDidChangeRawContentFast(e) { + return this._eventEmitter.fastEvent((t) => + e(t.rawContentChangedEvent) + ); + } + onDidChangeContentFast(e) { + return this._eventEmitter.fastEvent((t) => + e(t.contentChangedEvent) + ); + } + onDidChangeContent(e) { + return this._eventEmitter.slowEvent((t) => + e(t.contentChangedEvent) + ); + } + dispose() { + (this._isDisposing = !0), + this._onWillDispose.fire(), + this._languageRegistryListener.dispose(), + this._tokenization.dispose(), + (this._isDisposed = !0), + super.dispose(), + (this._isDisposing = !1); + } + _assertNotDisposed() { + if (this._isDisposed) throw new Error('Model is disposed!'); + } + _emitContentChangedEvent(e, t) { + this._isDisposing || this._eventEmitter.fire(new ye(e, t)); + } + setValue(e) { + if ((this._assertNotDisposed(), null === e)) return; + const t = Re(e, this._options.defaultEOL); + this.setValueFromTextBuffer(t); + } + _createContentChanged2(e, t, i, n, r, s, o) { + return { + changes: [{ range: e, rangeOffset: t, rangeLength: i, text: n }], + eol: this._buffer.getEOL(), + versionId: this.getVersionId(), + isUndoing: r, + isRedoing: s, + isFlush: o, + }; + } + setValueFromTextBuffer(e) { + if ((this._assertNotDisposed(), null === e)) return; + const t = this.getFullModelRange(), + i = this.getValueLengthInRange(t), + n = this.getLineCount(), + r = this.getLineMaxColumn(n); + (this._buffer = e), + this._increaseVersionId(), + this._tokens.flush(), + this._tokens2.flush(), + (this._decorations = Object.create(null)), + (this._decorationsTree = new je()), + this._commandManager.clear(), + (this._trimAutoWhitespaceLines = null), + this._emitContentChangedEvent( + new ve([new fe()], this._versionId, !1, !1), + this._createContentChanged2( + new d.e(1, 1, n, r), + 0, + i, + this.getValue(), + !1, + !1, + !0 + ) + ); + } + setEOL(e) { + this._assertNotDisposed(); + const t = 1 === e ? '\r\n' : '\n'; + if (this._buffer.getEOL() === t) return; + const i = this.getFullModelRange(), + n = this.getValueLengthInRange(i), + r = this.getLineCount(), + s = this.getLineMaxColumn(r); + this._onBeforeEOLChange(), + this._buffer.setEOL(t), + this._increaseVersionId(), + this._onAfterEOLChange(), + this._emitContentChangedEvent( + new ve([new be()], this._versionId, !1, !1), + this._createContentChanged2( + new d.e(1, 1, r, s), + 0, + n, + this.getValue(), + !1, + !1, + !1 + ) + ); + } + _onBeforeEOLChange() { + const e = this.getVersionId(), + t = this._decorationsTree.search(0, !1, !1, e); + this._ensureNodesHaveRanges(t); + } + _onAfterEOLChange() { + const e = this.getVersionId(), + t = this._decorationsTree.collectNodesPostOrder(); + for (let i = 0, n = t.length; i < n; i++) { + const n = t[i], + r = n.cachedAbsoluteStart - n.start, + s = this._buffer.getOffsetAt( + n.range.startLineNumber, + n.range.startColumn + ), + o = this._buffer.getOffsetAt( + n.range.endLineNumber, + n.range.endColumn + ); + (n.cachedAbsoluteStart = s), + (n.cachedAbsoluteEnd = o), + (n.cachedVersionId = e), + (n.start = s - r), + (n.end = o - r), + B(n); + } + } + onBeforeAttached() { + this._attachedEditorCount++, + 1 === this._attachedEditorCount && + this._onDidChangeAttached.fire(void 0); + } + onBeforeDetached() { + this._attachedEditorCount--, + 0 === this._attachedEditorCount && + this._onDidChangeAttached.fire(void 0); + } + isAttachedToEditor() { + return this._attachedEditorCount > 0; + } + getAttachedEditorCount() { + return this._attachedEditorCount; + } + isTooLargeForSyncing() { + return this._isTooLargeForSyncing; + } + isTooLargeForTokenization() { + return this._isTooLargeForTokenization; + } + isDisposed() { + return this._isDisposed; + } + isDominatedByLongLines() { + if ((this._assertNotDisposed(), this.isTooLargeForTokenization())) + return !1; + let e = 0, + t = 0; + const i = this._buffer.getLineCount(); + for (let n = 1; n <= i; n++) { + const i = this._buffer.getLineLength(n); + i >= 1e4 ? (t += i) : (e += i); + } + return t > e; + } + get uri() { + return this._associatedResource; + } + getOptions() { + return this._assertNotDisposed(), this._options; + } + getFormattingOptions() { + return { + tabSize: this._options.indentSize, + insertSpaces: this._options.insertSpaces, + }; + } + updateOptions(e) { + this._assertNotDisposed(); + let t = void 0 !== e.tabSize ? e.tabSize : this._options.tabSize, + i = + void 0 !== e.indentSize + ? e.indentSize + : this._options.indentSize, + n = + void 0 !== e.insertSpaces + ? e.insertSpaces + : this._options.insertSpaces, + r = + void 0 !== e.trimAutoWhitespace + ? e.trimAutoWhitespace + : this._options.trimAutoWhitespace, + s = new u.dJ({ + tabSize: t, + indentSize: i, + insertSpaces: n, + defaultEOL: this._options.defaultEOL, + trimAutoWhitespace: r, + }); + if (this._options.equals(s)) return; + let o = this._options.createChangeEvent(s); + (this._options = s), this._onDidChangeOptions.fire(o); + } + detectIndentation(e, t) { + this._assertNotDisposed(); + let i = m(this._buffer, t, e); + this.updateOptions({ + insertSpaces: i.insertSpaces, + tabSize: i.tabSize, + indentSize: i.tabSize, + }); + } + static _normalizeIndentationFromWhitespace(e, t, i) { + let n = 0; + for (let i = 0; i < e.length; i++) + '\t' === e.charAt(i) ? (n += t) : n++; + let r = ''; + if (!i) { + let e = Math.floor(n / t); + n %= t; + for (let t = 0; t < e; t++) r += '\t'; + } + for (let e = 0; e < n; e++) r += ' '; + return r; + } + static normalizeIndentation(e, t, i) { + let n = o.LC(e); + return ( + -1 === n && (n = e.length), + He._normalizeIndentationFromWhitespace(e.substring(0, n), t, i) + + e.substring(n) + ); + } + normalizeIndentation(e) { + return ( + this._assertNotDisposed(), + He.normalizeIndentation( + e, + this._options.indentSize, + this._options.insertSpaces + ) + ); + } + getVersionId() { + return this._assertNotDisposed(), this._versionId; + } + mightContainRTL() { + return this._buffer.mightContainRTL(); + } + mightContainUnusualLineTerminators() { + return this._buffer.mightContainUnusualLineTerminators(); + } + removeUnusualLineTerminators(e = null) { + const t = this.findMatches( + o.Qe.source, + !1, + !0, + !1, + null, + !1, + 1073741824 + ); + this._buffer.resetMightContainUnusualLineTerminators(), + this.pushEditOperations( + e, + t.map((e) => ({ range: e.range, text: null })), + () => null + ); + } + mightContainNonBasicASCII() { + return this._buffer.mightContainNonBasicASCII(); + } + getAlternativeVersionId() { + return this._assertNotDisposed(), this._alternativeVersionId; + } + getOffsetAt(e) { + this._assertNotDisposed(); + let t = this._validatePosition(e.lineNumber, e.column, 0); + return this._buffer.getOffsetAt(t.lineNumber, t.column); + } + getPositionAt(e) { + this._assertNotDisposed(); + let t = Math.min(this._buffer.getLength(), Math.max(0, e)); + return this._buffer.getPositionAt(t); + } + _increaseVersionId() { + (this._versionId = this._versionId + 1), + (this._alternativeVersionId = this._versionId); + } + _overwriteVersionId(e) { + this._versionId = e; + } + _overwriteAlternativeVersionId(e) { + this._alternativeVersionId = e; + } + _overwriteInitialUndoRedoSnapshot(e) { + this._initialUndoRedoSnapshot = e; + } + getValue(e, t = !1) { + this._assertNotDisposed(); + const i = this.getFullModelRange(), + n = this.getValueInRange(i, e); + return t ? this._buffer.getBOM() + n : n; + } + createSnapshot(e = !1) { + return new Fe(this._buffer.createSnapshot(e)); + } + getValueLength(e, t = !1) { + this._assertNotDisposed(); + const i = this.getFullModelRange(), + n = this.getValueLengthInRange(i, e); + return t ? this._buffer.getBOM().length + n : n; + } + getValueInRange(e, t = 0) { + return ( + this._assertNotDisposed(), + this._buffer.getValueInRange(this.validateRange(e), t) + ); + } + getValueLengthInRange(e, t = 0) { + return ( + this._assertNotDisposed(), + this._buffer.getValueLengthInRange(this.validateRange(e), t) + ); + } + getCharacterCountInRange(e, t = 0) { + return ( + this._assertNotDisposed(), + this._buffer.getCharacterCountInRange(this.validateRange(e), t) + ); + } + getLineCount() { + return this._assertNotDisposed(), this._buffer.getLineCount(); + } + getLineContent(e) { + if ((this._assertNotDisposed(), e < 1 || e > this.getLineCount())) + throw new Error('Illegal value for lineNumber'); + return this._buffer.getLineContent(e); + } + getLineLength(e) { + if ((this._assertNotDisposed(), e < 1 || e > this.getLineCount())) + throw new Error('Illegal value for lineNumber'); + return this._buffer.getLineLength(e); + } + getLinesContent() { + return this._assertNotDisposed(), this._buffer.getLinesContent(); + } + getEOL() { + return this._assertNotDisposed(), this._buffer.getEOL(); + } + getLineMinColumn(e) { + return this._assertNotDisposed(), 1; + } + getLineMaxColumn(e) { + if ((this._assertNotDisposed(), e < 1 || e > this.getLineCount())) + throw new Error('Illegal value for lineNumber'); + return this._buffer.getLineLength(e) + 1; + } + getLineFirstNonWhitespaceColumn(e) { + if ((this._assertNotDisposed(), e < 1 || e > this.getLineCount())) + throw new Error('Illegal value for lineNumber'); + return this._buffer.getLineFirstNonWhitespaceColumn(e); + } + getLineLastNonWhitespaceColumn(e) { + if ((this._assertNotDisposed(), e < 1 || e > this.getLineCount())) + throw new Error('Illegal value for lineNumber'); + return this._buffer.getLineLastNonWhitespaceColumn(e); + } + _validateRangeRelaxedNoAllocations(e) { + const t = this._buffer.getLineCount(), + i = e.startLineNumber, + n = e.startColumn; + let r, s; + if (i < 1) (r = 1), (s = 1); + else if (i > t) (r = t), (s = this.getLineMaxColumn(r)); + else if (((r = 0 | i), n <= 1)) s = 1; + else { + const e = this.getLineMaxColumn(r); + s = n >= e ? e : 0 | n; + } + const o = e.endLineNumber, + a = e.endColumn; + let l, c; + if (o < 1) (l = 1), (c = 1); + else if (o > t) (l = t), (c = this.getLineMaxColumn(l)); + else if (((l = 0 | o), a <= 1)) c = 1; + else { + const e = this.getLineMaxColumn(l); + c = a >= e ? e : 0 | a; + } + return i === r && + n === s && + o === l && + a === c && + e instanceof d.e && + !(e instanceof h.Y) + ? e + : new d.e(r, s, l, c); + } + _isValidPosition(e, t, i) { + if ('number' != typeof e || 'number' != typeof t) return !1; + if (isNaN(e) || isNaN(t)) return !1; + if (e < 1 || t < 1) return !1; + if ((0 | e) !== e || (0 | t) !== t) return !1; + if (e > this._buffer.getLineCount()) return !1; + if (1 === t) return !0; + if (t > this.getLineMaxColumn(e)) return !1; + if (1 === i) { + const i = this._buffer.getLineCharCode(e, t - 2); + if (o.ZG(i)) return !1; + } + return !0; + } + _validatePosition(e, t, i) { + const n = Math.floor('number' != typeof e || isNaN(e) ? 1 : e), + r = Math.floor('number' != typeof t || isNaN(t) ? 1 : t), + s = this._buffer.getLineCount(); + if (n < 1) return new c.L(1, 1); + if (n > s) return new c.L(s, this.getLineMaxColumn(s)); + if (r <= 1) return new c.L(n, 1); + const a = this.getLineMaxColumn(n); + if (r >= a) return new c.L(n, a); + if (1 === i) { + const e = this._buffer.getLineCharCode(n, r - 2); + if (o.ZG(e)) return new c.L(n, r - 1); + } + return new c.L(n, r); + } + validatePosition(e) { + return ( + this._assertNotDisposed(), + e instanceof c.L && + this._isValidPosition(e.lineNumber, e.column, 1) + ? e + : this._validatePosition(e.lineNumber, e.column, 1) + ); + } + _isValidRange(e, t) { + const i = e.startLineNumber, + n = e.startColumn, + r = e.endLineNumber, + s = e.endColumn; + if (!this._isValidPosition(i, n, 0)) return !1; + if (!this._isValidPosition(r, s, 0)) return !1; + if (1 === t) { + const e = n > 1 ? this._buffer.getLineCharCode(i, n - 2) : 0, + t = + s > 1 && s <= this._buffer.getLineLength(r) + ? this._buffer.getLineCharCode(r, s - 2) + : 0, + a = o.ZG(e), + l = o.ZG(t); + return !a && !l; + } + return !0; + } + validateRange(e) { + if ( + (this._assertNotDisposed(), + e instanceof d.e && + !(e instanceof h.Y) && + this._isValidRange(e, 1)) + ) + return e; + const t = this._validatePosition( + e.startLineNumber, + e.startColumn, + 0 + ), + i = this._validatePosition(e.endLineNumber, e.endColumn, 0), + n = t.lineNumber, + r = t.column, + s = i.lineNumber, + a = i.column; + { + const e = r > 1 ? this._buffer.getLineCharCode(n, r - 2) : 0, + t = + a > 1 && a <= this._buffer.getLineLength(s) + ? this._buffer.getLineCharCode(s, a - 2) + : 0, + i = o.ZG(e), + l = o.ZG(t); + return i || l + ? n === s && r === a + ? new d.e(n, r - 1, s, a - 1) + : i && l + ? new d.e(n, r - 1, s, a + 1) + : i + ? new d.e(n, r - 1, s, a) + : new d.e(n, r, s, a + 1) + : new d.e(n, r, s, a); + } + } + modifyPosition(e, t) { + this._assertNotDisposed(); + let i = this.getOffsetAt(e) + t; + return this.getPositionAt( + Math.min(this._buffer.getLength(), Math.max(0, i)) + ); + } + getFullModelRange() { + this._assertNotDisposed(); + const e = this.getLineCount(); + return new d.e(1, 1, e, this.getLineMaxColumn(e)); + } + findMatchesLineByLine(e, t, i, n) { + return this._buffer.findMatchesLineByLine(e, t, i, n); + } + findMatches(e, t, i, n, r, s, o = 999) { + this._assertNotDisposed(); + let a = null; + null !== t && + (Array.isArray(t) || (t = [t]), + t.every((e) => d.e.isIRange(e)) && + (a = t.map((e) => this.validateRange(e)))), + null === a && (a = [this.getFullModelRange()]), + (a = a.sort( + (e, t) => + e.startLineNumber - t.startLineNumber || + e.startColumn - t.startColumn + )); + const l = []; + let c; + if ( + (l.push( + a.reduce((e, t) => + d.e.areIntersecting(e, t) ? e.plusRange(t) : (l.push(e), t) + ) + ), + !i && e.indexOf('\n') < 0) + ) { + const t = new X.bc(e, i, n, r).parseSearchRequest(); + if (!t) return []; + c = (e) => this.findMatchesLineByLine(e, t, s, o); + } else + c = (t) => X.pM.findMatches(this, new X.bc(e, i, n, r), t, s, o); + return l.map(c).reduce((e, t) => e.concat(t), []); + } + findNextMatch(e, t, i, n, r, s) { + this._assertNotDisposed(); + const o = this.validatePosition(t); + if (!i && e.indexOf('\n') < 0) { + const t = new X.bc(e, i, n, r).parseSearchRequest(); + if (!t) return null; + const a = this.getLineCount(); + let l = new d.e( + o.lineNumber, + o.column, + a, + this.getLineMaxColumn(a) + ), + c = this.findMatchesLineByLine(l, t, s, 1); + return ( + X.pM.findNextMatch(this, new X.bc(e, i, n, r), o, s), + c.length > 0 + ? c[0] + : ((l = new d.e( + 1, + 1, + o.lineNumber, + this.getLineMaxColumn(o.lineNumber) + )), + (c = this.findMatchesLineByLine(l, t, s, 1)), + c.length > 0 ? c[0] : null) + ); + } + return X.pM.findNextMatch(this, new X.bc(e, i, n, r), o, s); + } + findPreviousMatch(e, t, i, n, r, s) { + this._assertNotDisposed(); + const o = this.validatePosition(t); + return X.pM.findPreviousMatch(this, new X.bc(e, i, n, r), o, s); + } + pushStackElement() { + this._commandManager.pushStackElement(); + } + pushEOL(e) { + if (('\n' === this.getEOL() ? 0 : 1) !== e) + try { + this._onDidChangeDecorations.beginDeferredEmit(), + this._eventEmitter.beginDeferredEmit(), + null === this._initialUndoRedoSnapshot && + (this._initialUndoRedoSnapshot = this._undoRedoService.createSnapshot( + this.uri + )), + this._commandManager.pushEOL(e); + } finally { + this._eventEmitter.endDeferredEmit(), + this._onDidChangeDecorations.endDeferredEmit(); + } + } + _validateEditOperation(e) { + return e instanceof u.Qi + ? e + : new u.Qi( + e.identifier || null, + this.validateRange(e.range), + e.text, + e.forceMoveMarkers || !1, + e.isAutoWhitespaceEdit || !1, + e._isTracked || !1 + ); + } + _validateEditOperations(e) { + const t = []; + for (let i = 0, n = e.length; i < n; i++) + t[i] = this._validateEditOperation(e[i]); + return t; + } + pushEditOperations(e, t, i) { + try { + return ( + this._onDidChangeDecorations.beginDeferredEmit(), + this._eventEmitter.beginDeferredEmit(), + this._pushEditOperations(e, this._validateEditOperations(t), i) + ); + } finally { + this._eventEmitter.endDeferredEmit(), + this._onDidChangeDecorations.endDeferredEmit(); + } + } + _pushEditOperations(e, t, i) { + if ( + this._options.trimAutoWhitespace && + this._trimAutoWhitespaceLines + ) { + let i = t.map((e) => ({ + range: this.validateRange(e.range), + text: e.text, + })), + n = !0; + if (e) + for (let t = 0, r = e.length; t < r; t++) { + let r = e[t], + s = !1; + for (let e = 0, t = i.length; e < t; e++) { + let t = i[e].range, + n = t.startLineNumber > r.endLineNumber, + o = r.startLineNumber > t.endLineNumber; + if (!n && !o) { + s = !0; + break; + } + } + if (!s) { + n = !1; + break; + } + } + if (n) + for ( + let e = 0, n = this._trimAutoWhitespaceLines.length; + e < n; + e++ + ) { + let n = this._trimAutoWhitespaceLines[e], + r = this.getLineMaxColumn(n), + s = !0; + for (let e = 0, t = i.length; e < t; e++) { + let t = i[e].range, + o = i[e].text; + if ( + !( + n < t.startLineNumber || + n > t.endLineNumber || + (n === t.startLineNumber && + t.startColumn === r && + t.isEmpty() && + o && + o.length > 0 && + '\n' === o.charAt(0)) || + (n === t.startLineNumber && + 1 === t.startColumn && + t.isEmpty() && + o && + o.length > 0 && + '\n' === o.charAt(o.length - 1)) + ) + ) { + s = !1; + break; + } + } + if (s) { + const e = new d.e(n, 1, n, r); + t.push(new u.Qi(null, e, null, !1, !1, !1)); + } + } + this._trimAutoWhitespaceLines = null; + } + return ( + null === this._initialUndoRedoSnapshot && + (this._initialUndoRedoSnapshot = this._undoRedoService.createSnapshot( + this.uri + )), + this._commandManager.pushEditOperation(e, t, i) + ); + } + _applyUndo(e, t, i, n) { + const r = e.map((e) => { + const t = this.getPositionAt(e.newPosition), + i = this.getPositionAt(e.newEnd); + return { + range: new d.e(t.lineNumber, t.column, i.lineNumber, i.column), + text: e.oldText, + }; + }); + this._applyUndoRedoEdits(r, t, !0, !1, i, n); + } + _applyRedo(e, t, i, n) { + const r = e.map((e) => { + const t = this.getPositionAt(e.oldPosition), + i = this.getPositionAt(e.oldEnd); + return { + range: new d.e(t.lineNumber, t.column, i.lineNumber, i.column), + text: e.newText, + }; + }); + this._applyUndoRedoEdits(r, t, !1, !0, i, n); + } + _applyUndoRedoEdits(e, t, i, n, r, s) { + try { + this._onDidChangeDecorations.beginDeferredEmit(), + this._eventEmitter.beginDeferredEmit(), + (this._isUndoing = i), + (this._isRedoing = n), + this.applyEdits(e, !1), + this.setEOL(t), + this._overwriteAlternativeVersionId(r); + } finally { + (this._isUndoing = !1), + (this._isRedoing = !1), + this._eventEmitter.endDeferredEmit(s), + this._onDidChangeDecorations.endDeferredEmit(); + } + } + applyEdits(e, t = !1) { + try { + this._onDidChangeDecorations.beginDeferredEmit(), + this._eventEmitter.beginDeferredEmit(); + const i = this._validateEditOperations(e); + return this._doApplyEdits(i, t); + } finally { + this._eventEmitter.endDeferredEmit(), + this._onDidChangeDecorations.endDeferredEmit(); + } + } + _doApplyEdits(e, t) { + const i = this._buffer.getLineCount(), + n = this._buffer.applyEdits( + e, + this._options.trimAutoWhitespace, + t + ), + r = this._buffer.getLineCount(), + s = n.changes; + if ( + ((this._trimAutoWhitespaceLines = + n.trimAutoWhitespaceLineNumbers), + 0 !== s.length) + ) { + let e = [], + t = i; + for (let i = 0, n = s.length; i < n; i++) { + const n = s[i], + [o, a, l] = (0, ce.QZ)(n.text); + this._tokens.acceptEdit(n.range, o, a), + this._tokens2.acceptEdit( + n.range, + o, + a, + l, + n.text.length > 0 ? n.text.charCodeAt(0) : 0 + ), + this._onDidChangeDecorations.fire(), + this._decorationsTree.acceptReplace( + n.rangeOffset, + n.rangeLength, + n.text.length, + n.forceMoveMarkers + ); + const c = n.range.startLineNumber, + d = n.range.endLineNumber, + h = d - c, + u = o, + g = Math.min(h, u), + f = u - h; + for (let i = g; i >= 0; i--) { + const n = c + i, + s = r - t - f + n; + e.push(new pe(n, this.getLineContent(s))); + } + if (g < h) { + const t = c + g; + e.push(new me(t + 1, d)); + } + if (g < u) { + const i = c + g, + n = u - g, + s = r - t - n + i + 1; + let o = []; + for (let e = 0; e < n; e++) { + let t = s + e; + o[t - s] = this.getLineContent(t); + } + e.push(new _e(i + 1, c + u, o)); + } + t += f; + } + this._increaseVersionId(), + this._emitContentChangedEvent( + new ve( + e, + this.getVersionId(), + this._isUndoing, + this._isRedoing + ), + { + changes: s, + eol: this._buffer.getEOL(), + versionId: this.getVersionId(), + isUndoing: this._isUndoing, + isRedoing: this._isRedoing, + isFlush: !1, + } + ); + } + return null === n.reverseEdits ? void 0 : n.reverseEdits; + } + undo() { + this._undoRedoService.undo(this.uri); + } + canUndo() { + return this._undoRedoService.canUndo(this.uri); + } + redo() { + this._undoRedoService.redo(this.uri); + } + canRedo() { + return this._undoRedoService.canRedo(this.uri); + } + changeDecorations(e, t = 0) { + this._assertNotDisposed(); + try { + return ( + this._onDidChangeDecorations.beginDeferredEmit(), + this._changeDecorations(t, e) + ); + } finally { + this._onDidChangeDecorations.endDeferredEmit(); + } + } + _changeDecorations(e, t) { + let i = { + addDecoration: (t, i) => + this._deltaDecorationsImpl( + e, + [], + [{ range: t, options: i }] + )[0], + changeDecoration: (e, t) => { + this._changeDecorationImpl(e, t); + }, + changeDecorationOptions: (e, t) => { + this._changeDecorationOptionsImpl(e, Ge(t)); + }, + removeDecoration: (t) => { + this._deltaDecorationsImpl(e, [t], []); + }, + deltaDecorations: (t, i) => + 0 === t.length && 0 === i.length + ? [] + : this._deltaDecorationsImpl(e, t, i), + }, + r = null; + try { + r = t(i); + } catch (e) { + (0, n.dL)(e); + } + return ( + (i.addDecoration = Be), + (i.changeDecoration = Be), + (i.changeDecorationOptions = Be), + (i.removeDecoration = Be), + (i.deltaDecorations = Be), + r + ); + } + deltaDecorations(e, t, i = 0) { + if ( + (this._assertNotDisposed(), + e || (e = []), + 0 === e.length && 0 === t.length) + ) + return []; + try { + return ( + this._onDidChangeDecorations.beginDeferredEmit(), + this._deltaDecorationsImpl(i, e, t) + ); + } finally { + this._onDidChangeDecorations.endDeferredEmit(); + } + } + _getTrackedRange(e) { + return this.getDecorationRange(e); + } + _setTrackedRange(e, t, i) { + const n = e ? this._decorations[e] : null; + if (!n) + return t + ? this._deltaDecorationsImpl( + 0, + [], + [{ range: t, options: qe[i] }] + )[0] + : null; + if (!t) + return ( + this._decorationsTree.delete(n), + delete this._decorations[n.id], + null + ); + const r = this._validateRangeRelaxedNoAllocations(t), + s = this._buffer.getOffsetAt(r.startLineNumber, r.startColumn), + o = this._buffer.getOffsetAt(r.endLineNumber, r.endColumn); + return ( + this._decorationsTree.delete(n), + n.reset(this.getVersionId(), s, o, r), + n.setOptions(qe[i]), + this._decorationsTree.insert(n), + n.id + ); + } + removeAllDecorationsWithOwnerId(e) { + if (this._isDisposed) return; + const t = this._decorationsTree.collectNodesFromOwner(e); + for (let e = 0, i = t.length; e < i; e++) { + const i = t[e]; + this._decorationsTree.delete(i), delete this._decorations[i.id]; + } + } + getDecorationOptions(e) { + const t = this._decorations[e]; + return t ? t.options : null; + } + getDecorationRange(e) { + const t = this._decorations[e]; + if (!t) return null; + const i = this.getVersionId(); + return ( + t.cachedVersionId !== i && + this._decorationsTree.resolveNode(t, i), + null === t.range && + (t.range = this._getRangeAt( + t.cachedAbsoluteStart, + t.cachedAbsoluteEnd + )), + t.range + ); + } + getLineDecorations(e, t = 0, i = !1) { + return e < 1 || e > this.getLineCount() + ? [] + : this.getLinesDecorations(e, e, t, i); + } + getLinesDecorations(e, t, i = 0, n = !1) { + let r = this.getLineCount(), + s = Math.min(r, Math.max(1, e)), + o = Math.min(r, Math.max(1, t)), + a = this.getLineMaxColumn(o); + return this._getDecorationsInRange(new d.e(s, 1, o, a), i, n); + } + getDecorationsInRange(e, t = 0, i = !1) { + let n = this.validateRange(e); + return this._getDecorationsInRange(n, t, i); + } + getOverviewRulerDecorations(e = 0, t = !1) { + const i = this.getVersionId(), + n = this._decorationsTree.search(e, t, !0, i); + return this._ensureNodesHaveRanges(n); + } + getAllDecorations(e = 0, t = !1) { + const i = this.getVersionId(), + n = this._decorationsTree.search(e, t, !1, i); + return this._ensureNodesHaveRanges(n); + } + _getDecorationsInRange(e, t, i) { + const n = this._buffer.getOffsetAt( + e.startLineNumber, + e.startColumn + ), + r = this._buffer.getOffsetAt(e.endLineNumber, e.endColumn), + s = this.getVersionId(), + o = this._decorationsTree.intervalSearch(n, r, t, i, s); + return this._ensureNodesHaveRanges(o); + } + _ensureNodesHaveRanges(e) { + for (let t = 0, i = e.length; t < i; t++) { + const i = e[t]; + null === i.range && + (i.range = this._getRangeAt( + i.cachedAbsoluteStart, + i.cachedAbsoluteEnd + )); + } + return e; + } + _getRangeAt(e, t) { + return this._buffer.getRangeAt(e, t - e); + } + _changeDecorationImpl(e, t) { + const i = this._decorations[e]; + if (!i) return; + const n = this._validateRangeRelaxedNoAllocations(t), + r = this._buffer.getOffsetAt(n.startLineNumber, n.startColumn), + s = this._buffer.getOffsetAt(n.endLineNumber, n.endColumn); + this._decorationsTree.delete(i), + i.reset(this.getVersionId(), r, s, n), + this._decorationsTree.insert(i), + this._onDidChangeDecorations.checkAffectedAndFire(i.options); + } + _changeDecorationOptionsImpl(e, t) { + const i = this._decorations[e]; + if (!i) return; + const n = !( + !i.options.overviewRuler || !i.options.overviewRuler.color + ), + r = !(!t.overviewRuler || !t.overviewRuler.color); + this._onDidChangeDecorations.checkAffectedAndFire(i.options), + this._onDidChangeDecorations.checkAffectedAndFire(t), + n !== r + ? (this._decorationsTree.delete(i), + i.setOptions(t), + this._decorationsTree.insert(i)) + : i.setOptions(t); + } + _deltaDecorationsImpl(e, t, i) { + const n = this.getVersionId(), + r = t.length; + let s = 0; + const o = i.length; + let a = 0, + l = new Array(o); + for (; s < r || a < o; ) { + let c = null; + if (s < r) { + do { + c = this._decorations[t[s++]]; + } while (!c && s < r); + c && + (this._decorationsTree.delete(c), + this._onDidChangeDecorations.checkAffectedAndFire(c.options)); + } + if (a < o) { + if (!c) { + const e = ++this._lastDecorationId, + t = `${this._instanceId};${e}`; + (c = new M(t, 0, 0)), (this._decorations[t] = c); + } + const t = i[a], + r = this._validateRangeRelaxedNoAllocations(t.range), + s = Ge(t.options), + o = this._buffer.getOffsetAt( + r.startLineNumber, + r.startColumn + ), + d = this._buffer.getOffsetAt(r.endLineNumber, r.endColumn); + (c.ownerId = e), + c.reset(n, o, d, r), + c.setOptions(s), + this._onDidChangeDecorations.checkAffectedAndFire(s), + this._decorationsTree.insert(c), + (l[a] = c.id), + a++; + } else c && delete this._decorations[c.id]; + } + return l; + } + setTokens(e) { + if (0 === e.length) return; + let t = []; + for (let i = 0, n = e.length; i < n; i++) { + const n = e[i]; + let r = 0, + s = 0, + o = !1; + for (let e = 0, t = n.tokens.length; e < t; e++) { + const t = n.startLineNumber + e; + o + ? (this._tokens.setTokens( + this._languageIdentifier.id, + t - 1, + this._buffer.getLineLength(t), + n.tokens[e], + !1 + ), + (s = t)) + : this._tokens.setTokens( + this._languageIdentifier.id, + t - 1, + this._buffer.getLineLength(t), + n.tokens[e], + !0 + ) && ((o = !0), (r = t), (s = t)); + } + o && t.push({ fromLineNumber: r, toLineNumber: s }); + } + t.length > 0 && + this._emitModelTokensChangedEvent({ + tokenizationSupportChanged: !1, + semanticTokensApplied: !1, + ranges: t, + }); + } + setSemanticTokens(e, t) { + this._tokens2.set(e, t), + this._emitModelTokensChangedEvent({ + tokenizationSupportChanged: !1, + semanticTokensApplied: null !== e, + ranges: [ + { fromLineNumber: 1, toLineNumber: this.getLineCount() }, + ], + }); + } + hasSemanticTokens() { + return this._tokens2.isComplete(); + } + setPartialSemanticTokens(e, t) { + if (this.hasSemanticTokens()) return; + const i = this._tokens2.setPartial(e, t); + this._emitModelTokensChangedEvent({ + tokenizationSupportChanged: !1, + semanticTokensApplied: !0, + ranges: [ + { + fromLineNumber: i.startLineNumber, + toLineNumber: i.endLineNumber, + }, + ], + }); + } + tokenizeViewport(e, t) { + (e = Math.max(1, e)), + (t = Math.min(this._buffer.getLineCount(), t)), + this._tokenization.tokenizeViewport(e, t); + } + clearTokens() { + this._tokens.flush(), + this._emitModelTokensChangedEvent({ + tokenizationSupportChanged: !0, + semanticTokensApplied: !1, + ranges: [ + { + fromLineNumber: 1, + toLineNumber: this._buffer.getLineCount(), + }, + ], + }); + } + _emitModelTokensChangedEvent(e) { + this._isDisposing || this._onDidChangeTokens.fire(e); + } + resetTokenization() { + this._tokenization.reset(); + } + forceTokenization(e) { + if (e < 1 || e > this.getLineCount()) + throw new Error('Illegal value for lineNumber'); + this._tokenization.forceTokenization(e); + } + isCheapToTokenize(e) { + return this._tokenization.isCheapToTokenize(e); + } + tokenizeIfCheap(e) { + this.isCheapToTokenize(e) && this.forceTokenization(e); + } + getLineTokens(e) { + if (e < 1 || e > this.getLineCount()) + throw new Error('Illegal value for lineNumber'); + return this._getLineTokens(e); + } + _getLineTokens(e) { + const t = this.getLineContent(e), + i = this._tokens.getTokens(this._languageIdentifier.id, e - 1, t); + return this._tokens2.addSemanticTokens(e, i); + } + getLanguageIdentifier() { + return this._languageIdentifier; + } + getModeId() { + return this._languageIdentifier.language; + } + setMode(e) { + if (this._languageIdentifier.id === e.id) return; + let t = { + oldLanguage: this._languageIdentifier.language, + newLanguage: e.language, + }; + (this._languageIdentifier = e), + this._onDidChangeLanguage.fire(t), + this._onDidChangeLanguageConfiguration.fire({}); + } + getLanguageIdAtPosition(e, t) { + const i = this.validatePosition(new c.L(e, t)), + n = this.getLineTokens(i.lineNumber); + return n.getLanguageId(n.findTokenIndexAtOffset(i.column - 1)); + } + getWordAtPosition(e) { + this._assertNotDisposed(); + const t = this.validatePosition(e), + i = this.getLineContent(t.lineNumber), + n = this._getLineTokens(t.lineNumber), + r = n.findTokenIndexAtOffset(t.column - 1), + [s, o] = He._findLanguageBoundaries(n, r), + a = (0, Ee.t2)( + t.column, + Te.zu.getWordDefinition(n.getLanguageId(r)), + i.substring(s, o), + s + ); + if (a && a.startColumn <= e.column && e.column <= a.endColumn) + return a; + if (r > 0 && s === t.column - 1) { + const [s, o] = He._findLanguageBoundaries(n, r - 1), + a = (0, Ee.t2)( + t.column, + Te.zu.getWordDefinition(n.getLanguageId(r - 1)), + i.substring(s, o), + s + ); + if (a && a.startColumn <= e.column && e.column <= a.endColumn) + return a; + } + return null; + } + static _findLanguageBoundaries(e, t) { + const i = e.getLanguageId(t); + let n = 0; + for (let r = t; r >= 0 && e.getLanguageId(r) === i; r--) + n = e.getStartOffset(r); + let r = e.getLineContent().length; + for ( + let n = t, s = e.getCount(); + n < s && e.getLanguageId(n) === i; + n++ + ) + r = e.getEndOffset(n); + return [n, r]; + } + getWordUntilPosition(e) { + const t = this.getWordAtPosition(e); + return t + ? { + word: t.word.substr(0, e.column - t.startColumn), + startColumn: t.startColumn, + endColumn: e.column, + } + : { word: '', startColumn: e.column, endColumn: e.column }; + } + findMatchingBracketUp(e, t) { + let i = e.toLowerCase(), + n = this.validatePosition(t), + r = this._getLineTokens(n.lineNumber), + s = r.getLanguageId(r.findTokenIndexAtOffset(n.column - 1)), + o = Te.zu.getBracketsSupport(s); + if (!o) return null; + let a = o.textIsBracket[i]; + return a ? Ye(this._findMatchingBracketUp(a, n, null)) : null; + } + matchBracket(e) { + return this._matchBracket(this.validatePosition(e)); + } + _matchBracket(e) { + const t = e.lineNumber, + i = this._getLineTokens(t), + n = i.getCount(), + r = this._buffer.getLineContent(t), + s = i.findTokenIndexAtOffset(e.column - 1); + if (s < 0) return null; + const o = Te.zu.getBracketsSupport(i.getLanguageId(s)); + if (o && !(0, Ie.Bu)(i.getStandardTokenType(s))) { + let n = Math.max(0, e.column - 1 - o.maxBracketLength); + for (let e = s - 1; e >= 0; e--) { + const t = i.getEndOffset(e); + if (t <= n) break; + (0, Ie.Bu)(i.getStandardTokenType(e)) && (n = t); + } + const a = Math.min(r.length, e.column - 1 + o.maxBracketLength); + let l = null; + for (;;) { + const i = Oe.Vr.findNextBracketInRange( + o.forwardRegex, + t, + r, + n, + a + ); + if (!i) break; + if (i.startColumn <= e.column && e.column <= i.endColumn) { + const e = r + .substring(i.startColumn - 1, i.endColumn - 1) + .toLowerCase(), + t = this._matchFoundBracket( + i, + o.textIsBracket[e], + o.textIsOpenBracket[e], + null + ); + if (t) { + if (t instanceof We) return null; + l = t; + } + } + n = i.endColumn - 1; + } + if (l) return l; + } + if (s > 0 && i.getStartOffset(s) === e.column - 1) { + const o = s - 1, + a = Te.zu.getBracketsSupport(i.getLanguageId(o)); + if (a && !(0, Ie.Bu)(i.getStandardTokenType(o))) { + const s = Math.max(0, e.column - 1 - a.maxBracketLength); + let l = Math.min(r.length, e.column - 1 + a.maxBracketLength); + for (let e = o + 1; e < n; e++) { + const t = i.getStartOffset(e); + if (t >= l) break; + (0, Ie.Bu)(i.getStandardTokenType(e)) && (l = t); + } + const c = Oe.Vr.findPrevBracketInRange( + a.reversedRegex, + t, + r, + s, + l + ); + if (c && c.startColumn <= e.column && e.column <= c.endColumn) { + const e = r + .substring(c.startColumn - 1, c.endColumn - 1) + .toLowerCase(), + t = this._matchFoundBracket( + c, + a.textIsBracket[e], + a.textIsOpenBracket[e], + null + ); + if (t) return t instanceof We ? null : t; + } + } + } + return null; + } + _matchFoundBracket(e, t, i, n) { + if (!t) return null; + const r = i + ? this._findMatchingBracketDown(t, e.getEndPosition(), n) + : this._findMatchingBracketUp(t, e.getStartPosition(), n); + return r ? (r instanceof We ? r : [e, r]) : null; + } + _findMatchingBracketUp(e, t, i) { + const n = e.languageIdentifier.id, + r = e.reversedRegex; + let s = -1, + o = 0; + const a = (t, n, a, l) => { + for (;;) { + if (i && ++o % 100 == 0 && !i()) return We.INSTANCE; + const c = Oe.Vr.findPrevBracketInRange(r, t, n, a, l); + if (!c) break; + const d = n + .substring(c.startColumn - 1, c.endColumn - 1) + .toLowerCase(); + if ((e.isOpen(d) ? s++ : e.isClose(d) && s--, 0 === s)) + return c; + l = c.startColumn - 1; + } + return null; + }; + for (let e = t.lineNumber; e >= 1; e--) { + const i = this._getLineTokens(e), + r = i.getCount(), + s = this._buffer.getLineContent(e); + let o = r - 1, + l = s.length, + c = s.length; + e === t.lineNumber && + ((o = i.findTokenIndexAtOffset(t.column - 1)), + (l = t.column - 1), + (c = t.column - 1)); + let d = !0; + for (; o >= 0; o--) { + const t = + i.getLanguageId(o) === n && + !(0, Ie.Bu)(i.getStandardTokenType(o)); + if (t) + d + ? (l = i.getStartOffset(o)) + : ((l = i.getStartOffset(o)), (c = i.getEndOffset(o))); + else if (d && l !== c) { + const t = a(e, s, l, c); + if (t) return t; + } + d = t; + } + if (d && l !== c) { + const t = a(e, s, l, c); + if (t) return t; + } + } + return null; + } + _findMatchingBracketDown(e, t, i) { + const n = e.languageIdentifier.id, + r = e.forwardRegex; + let s = 1, + o = 0; + const a = (t, n, a, l) => { + for (;;) { + if (i && ++o % 100 == 0 && !i()) return We.INSTANCE; + const c = Oe.Vr.findNextBracketInRange(r, t, n, a, l); + if (!c) break; + const d = n + .substring(c.startColumn - 1, c.endColumn - 1) + .toLowerCase(); + if ((e.isOpen(d) ? s++ : e.isClose(d) && s--, 0 === s)) + return c; + a = c.endColumn - 1; + } + return null; + }, + l = this.getLineCount(); + for (let e = t.lineNumber; e <= l; e++) { + const i = this._getLineTokens(e), + r = i.getCount(), + s = this._buffer.getLineContent(e); + let o = 0, + l = 0, + c = 0; + e === t.lineNumber && + ((o = i.findTokenIndexAtOffset(t.column - 1)), + (l = t.column - 1), + (c = t.column - 1)); + let d = !0; + for (; o < r; o++) { + const t = + i.getLanguageId(o) === n && + !(0, Ie.Bu)(i.getStandardTokenType(o)); + if (t) d || (l = i.getStartOffset(o)), (c = i.getEndOffset(o)); + else if (d && l !== c) { + const t = a(e, s, l, c); + if (t) return t; + } + d = t; + } + if (d && l !== c) { + const t = a(e, s, l, c); + if (t) return t; + } + } + return null; + } + findPrevBracket(e) { + const t = this.validatePosition(e); + let i = -1, + n = null; + for (let e = t.lineNumber; e >= 1; e--) { + const r = this._getLineTokens(e), + s = r.getCount(), + o = this._buffer.getLineContent(e); + let a = s - 1, + l = o.length, + c = o.length; + if (e === t.lineNumber) { + (a = r.findTokenIndexAtOffset(t.column - 1)), + (l = t.column - 1), + (c = t.column - 1); + const e = r.getLanguageId(a); + i !== e && ((i = e), (n = Te.zu.getBracketsSupport(i))); + } + let d = !0; + for (; a >= 0; a--) { + const t = r.getLanguageId(a); + if (i !== t) { + if (n && d && l !== c) { + const t = Oe.Vr.findPrevBracketInRange( + n.reversedRegex, + e, + o, + l, + c + ); + if (t) return this._toFoundBracket(n, t); + d = !1; + } + (i = t), (n = Te.zu.getBracketsSupport(i)); + } + const s = !!n && !(0, Ie.Bu)(r.getStandardTokenType(a)); + if (s) + d + ? (l = r.getStartOffset(a)) + : ((l = r.getStartOffset(a)), (c = r.getEndOffset(a))); + else if (n && d && l !== c) { + const t = Oe.Vr.findPrevBracketInRange( + n.reversedRegex, + e, + o, + l, + c + ); + if (t) return this._toFoundBracket(n, t); + } + d = s; + } + if (n && d && l !== c) { + const t = Oe.Vr.findPrevBracketInRange( + n.reversedRegex, + e, + o, + l, + c + ); + if (t) return this._toFoundBracket(n, t); + } + } + return null; + } + findNextBracket(e) { + const t = this.validatePosition(e), + i = this.getLineCount(); + let n = -1, + r = null; + for (let e = t.lineNumber; e <= i; e++) { + const i = this._getLineTokens(e), + s = i.getCount(), + o = this._buffer.getLineContent(e); + let a = 0, + l = 0, + c = 0; + if (e === t.lineNumber) { + (a = i.findTokenIndexAtOffset(t.column - 1)), + (l = t.column - 1), + (c = t.column - 1); + const e = i.getLanguageId(a); + n !== e && ((n = e), (r = Te.zu.getBracketsSupport(n))); + } + let d = !0; + for (; a < s; a++) { + const t = i.getLanguageId(a); + if (n !== t) { + if (r && d && l !== c) { + const t = Oe.Vr.findNextBracketInRange( + r.forwardRegex, + e, + o, + l, + c + ); + if (t) return this._toFoundBracket(r, t); + d = !1; + } + (n = t), (r = Te.zu.getBracketsSupport(n)); + } + const s = !!r && !(0, Ie.Bu)(i.getStandardTokenType(a)); + if (s) d || (l = i.getStartOffset(a)), (c = i.getEndOffset(a)); + else if (r && d && l !== c) { + const t = Oe.Vr.findNextBracketInRange( + r.forwardRegex, + e, + o, + l, + c + ); + if (t) return this._toFoundBracket(r, t); + } + d = s; + } + if (r && d && l !== c) { + const t = Oe.Vr.findNextBracketInRange( + r.forwardRegex, + e, + o, + l, + c + ); + if (t) return this._toFoundBracket(r, t); + } + } + return null; + } + findEnclosingBrackets(e, t) { + let i; + if (void 0 === t) i = null; + else { + const e = Date.now(); + i = () => Date.now() - e <= t; + } + const n = this.validatePosition(e), + r = this.getLineCount(), + s = new Map(); + let o = []; + const a = (e, t) => { + if (!s.has(e)) { + let i = []; + for (let e = 0, n = t ? t.brackets.length : 0; e < n; e++) + i[e] = 0; + s.set(e, i); + } + o = s.get(e); + }; + let l = 0; + const c = (e, t, n, r, s) => { + for (;;) { + if (i && ++l % 100 == 0 && !i()) return We.INSTANCE; + const a = Oe.Vr.findNextBracketInRange( + e.forwardRegex, + t, + n, + r, + s + ); + if (!a) break; + const c = n + .substring(a.startColumn - 1, a.endColumn - 1) + .toLowerCase(), + d = e.textIsBracket[c]; + if ( + d && + (d.isOpen(c) ? o[d.index]++ : d.isClose(c) && o[d.index]--, + -1 === o[d.index]) + ) + return this._matchFoundBracket(a, d, !1, i); + r = a.endColumn - 1; + } + return null; + }; + let d = -1, + h = null; + for (let e = n.lineNumber; e <= r; e++) { + const t = this._getLineTokens(e), + i = t.getCount(), + r = this._buffer.getLineContent(e); + let s = 0, + o = 0, + l = 0; + if (e === n.lineNumber) { + (s = t.findTokenIndexAtOffset(n.column - 1)), + (o = n.column - 1), + (l = n.column - 1); + const e = t.getLanguageId(s); + d !== e && + ((d = e), (h = Te.zu.getBracketsSupport(d)), a(d, h)); + } + let u = !0; + for (; s < i; s++) { + const i = t.getLanguageId(s); + if (d !== i) { + if (h && u && o !== l) { + const t = c(h, e, r, o, l); + if (t) return Ye(t); + u = !1; + } + (d = i), (h = Te.zu.getBracketsSupport(d)), a(d, h); + } + const n = !!h && !(0, Ie.Bu)(t.getStandardTokenType(s)); + if (n) u || (o = t.getStartOffset(s)), (l = t.getEndOffset(s)); + else if (h && u && o !== l) { + const t = c(h, e, r, o, l); + if (t) return Ye(t); + } + u = n; + } + if (h && u && o !== l) { + const t = c(h, e, r, o, l); + if (t) return Ye(t); + } + } + return null; + } + _toFoundBracket(e, t) { + if (!t) return null; + let i = this.getValueInRange(t); + i = i.toLowerCase(); + let n = e.textIsBracket[i]; + return n + ? { + range: t, + open: n.open, + close: n.close, + isOpen: e.textIsOpenBracket[i], + } + : null; + } + static computeIndentLevel(e, t) { + let i = 0, + n = 0, + r = e.length; + for (; n < r; ) { + let r = e.charCodeAt(n); + if (32 === r) i++; + else { + if (9 !== r) break; + i = i - (i % t) + t; + } + n++; + } + return n === r ? -1 : i; + } + _computeIndentLevel(e) { + return He.computeIndentLevel( + this._buffer.getLineContent(e + 1), + this._options.tabSize + ); + } + getActiveIndentGuide(e, t, i) { + this._assertNotDisposed(); + const n = this.getLineCount(); + if (e < 1 || e > n) throw new Error('Illegal value for lineNumber'); + const r = Te.zu.getFoldingRules(this._languageIdentifier.id), + s = Boolean(r && r.offSide); + let o = -2, + a = -1, + l = -2, + c = -1; + const d = (e) => { + if (-1 !== o && (-2 === o || o > e - 1)) { + (o = -1), (a = -1); + for (let t = e - 2; t >= 0; t--) { + let e = this._computeIndentLevel(t); + if (e >= 0) { + (o = t), (a = e); + break; + } + } + } + if (-2 === l) { + (l = -1), (c = -1); + for (let t = e; t < n; t++) { + let e = this._computeIndentLevel(t); + if (e >= 0) { + (l = t), (c = e); + break; + } + } + } + }; + let h = -2, + u = -1, + g = -2, + f = -1; + const p = (e) => { + if (-2 === h) { + (h = -1), (u = -1); + for (let t = e - 2; t >= 0; t--) { + let e = this._computeIndentLevel(t); + if (e >= 0) { + (h = t), (u = e); + break; + } + } + } + if (-1 !== g && (-2 === g || g < e - 1)) { + (g = -1), (f = -1); + for (let t = e; t < n; t++) { + let e = this._computeIndentLevel(t); + if (e >= 0) { + (g = t), (f = e); + break; + } + } + } + }; + let m = 0, + _ = !0, + b = 0, + v = !0, + y = 0, + w = 0; + for (let r = 0; _ || v; r++) { + const o = e - r, + g = e + r; + r > 1 && (o < 1 || o < t) && (_ = !1), + r > 1 && (g > n || g > i) && (v = !1), + r > 5e4 && ((_ = !1), (v = !1)); + let C = -1; + if (_) { + const e = this._computeIndentLevel(o - 1); + e >= 0 + ? ((l = o - 1), + (c = e), + (C = Math.ceil(e / this._options.indentSize))) + : (d(o), + (C = this._getIndentLevelForWhitespaceLine(s, a, c))); + } + let S = -1; + if (v) { + const e = this._computeIndentLevel(g - 1); + e >= 0 + ? ((h = g - 1), + (u = e), + (S = Math.ceil(e / this._options.indentSize))) + : (p(g), + (S = this._getIndentLevelForWhitespaceLine(s, u, f))); + } + if (0 !== r) { + if (1 === r) { + if (g <= n && S >= 0 && w + 1 === S) { + (_ = !1), (m = g), (b = g), (y = S); + continue; + } + if (o >= 1 && C >= 0 && C - 1 === w) { + (v = !1), (m = o), (b = o), (y = C); + continue; + } + if (((m = e), (b = e), (y = w), 0 === y)) + return { startLineNumber: m, endLineNumber: b, indent: y }; + } + _ && (C >= y ? (m = o) : (_ = !1)), + v && (S >= y ? (b = g) : (v = !1)); + } else w = C; + } + return { startLineNumber: m, endLineNumber: b, indent: y }; + } + getLinesIndentGuides(e, t) { + this._assertNotDisposed(); + const i = this.getLineCount(); + if (e < 1 || e > i) + throw new Error('Illegal value for startLineNumber'); + if (t < 1 || t > i) + throw new Error('Illegal value for endLineNumber'); + const n = Te.zu.getFoldingRules(this._languageIdentifier.id), + r = Boolean(n && n.offSide); + let s = new Array(t - e + 1), + o = -2, + a = -1, + l = -2, + c = -1; + for (let n = e; n <= t; n++) { + let t = n - e; + const d = this._computeIndentLevel(n - 1); + if (d >= 0) + (o = n - 1), + (a = d), + (s[t] = Math.ceil(d / this._options.indentSize)); + else { + if (-2 === o) { + (o = -1), (a = -1); + for (let e = n - 2; e >= 0; e--) { + let t = this._computeIndentLevel(e); + if (t >= 0) { + (o = e), (a = t); + break; + } + } + } + if (-1 !== l && (-2 === l || l < n - 1)) { + (l = -1), (c = -1); + for (let e = n; e < i; e++) { + let t = this._computeIndentLevel(e); + if (t >= 0) { + (l = e), (c = t); + break; + } + } + } + s[t] = this._getIndentLevelForWhitespaceLine(r, a, c); + } + } + return s; + } + _getIndentLevelForWhitespaceLine(e, t, i) { + return -1 === t || -1 === i + ? 0 + : t < i + ? 1 + Math.floor(t / this._options.indentSize) + : t === i || e + ? Math.ceil(i / this._options.indentSize) + : 1 + Math.floor(i / this._options.indentSize); + } + } + (He.MODEL_SYNC_LIMIT = 52428800), + (He.LARGE_FILE_SIZE_THRESHOLD = 20971520), + (He.LARGE_FILE_LINE_COUNT_THRESHOLD = 3e5), + (He.DEFAULT_CREATION_OPTIONS = { + isForSimpleWidget: !1, + tabSize: l.DB.tabSize, + indentSize: l.DB.indentSize, + insertSpaces: l.DB.insertSpaces, + detectIndentation: !1, + defaultEOL: 1, + trimAutoWhitespace: l.DB.trimAutoWhitespace, + largeFileOptimizations: l.DB.largeFileOptimizations, + }); + class je { + constructor() { + (this._decorationsTree0 = new N()), + (this._decorationsTree1 = new N()); + } + intervalSearch(e, t, i, n, r) { + const s = this._decorationsTree0.intervalSearch(e, t, i, n, r), + o = this._decorationsTree1.intervalSearch(e, t, i, n, r); + return s.concat(o); + } + search(e, t, i, n) { + if (i) return this._decorationsTree1.search(e, t, n); + { + const i = this._decorationsTree0.search(e, t, n), + r = this._decorationsTree1.search(e, t, n); + return i.concat(r); + } + } + collectNodesFromOwner(e) { + const t = this._decorationsTree0.collectNodesFromOwner(e), + i = this._decorationsTree1.collectNodesFromOwner(e); + return t.concat(i); + } + collectNodesPostOrder() { + const e = this._decorationsTree0.collectNodesPostOrder(), + t = this._decorationsTree1.collectNodesPostOrder(); + return e.concat(t); + } + insert(e) { + S(e) + ? this._decorationsTree1.insert(e) + : this._decorationsTree0.insert(e); + } + delete(e) { + S(e) + ? this._decorationsTree1.delete(e) + : this._decorationsTree0.delete(e); + } + resolveNode(e, t) { + S(e) + ? this._decorationsTree1.resolveNode(e, t) + : this._decorationsTree0.resolveNode(e, t); + } + acceptReplace(e, t, i, n) { + this._decorationsTree0.acceptReplace(e, t, i, n), + this._decorationsTree1.acceptReplace(e, t, i, n); + } + } + function Ve(e) { + return e.replace(/[^a-z0-9\-_]/gi, ' '); + } + class ze { + constructor(e) { + (this.color = e.color || ''), (this.darkColor = e.darkColor || ''); + } + } + class Ue extends ze { + constructor(e) { + super(e), + (this._resolvedColor = null), + (this.position = + 'number' == typeof e.position ? e.position : u.sh.Center); + } + getColor(e) { + return ( + this._resolvedColor || + ('light' !== e.type && this.darkColor + ? (this._resolvedColor = this._resolveColor( + this.darkColor, + e + )) + : (this._resolvedColor = this._resolveColor(this.color, e))), + this._resolvedColor + ); + } + invalidateCachedColor() { + this._resolvedColor = null; + } + _resolveColor(e, t) { + if ('string' == typeof e) return e; + let i = e ? t.getColor(e.id) : null; + return i ? i.toString() : ''; + } + } + class $e extends ze { + constructor(e) { + super(e), (this.position = e.position); + } + getColor(e) { + return ( + this._resolvedColor || + ('light' !== e.type && this.darkColor + ? (this._resolvedColor = this._resolveColor( + this.darkColor, + e + )) + : (this._resolvedColor = this._resolveColor(this.color, e))), + this._resolvedColor + ); + } + invalidateCachedColor() { + this._resolvedColor = void 0; + } + _resolveColor(e, t) { + return 'string' == typeof e ? Ae.Il.fromHex(e) : t.getColor(e.id); + } + } + class Ke { + constructor(e) { + (this.stickiness = e.stickiness || 0), + (this.zIndex = e.zIndex || 0), + (this.className = e.className ? Ve(e.className) : null), + (this.hoverMessage = e.hoverMessage || null), + (this.glyphMarginHoverMessage = + e.glyphMarginHoverMessage || null), + (this.isWholeLine = e.isWholeLine || !1), + (this.showIfCollapsed = e.showIfCollapsed || !1), + (this.collapseOnReplaceEdit = e.collapseOnReplaceEdit || !1), + (this.overviewRuler = e.overviewRuler + ? new Ue(e.overviewRuler) + : null), + (this.minimap = e.minimap ? new $e(e.minimap) : null), + (this.glyphMarginClassName = e.glyphMarginClassName + ? Ve(e.glyphMarginClassName) + : null), + (this.linesDecorationsClassName = e.linesDecorationsClassName + ? Ve(e.linesDecorationsClassName) + : null), + (this.firstLineDecorationClassName = e.firstLineDecorationClassName + ? Ve(e.firstLineDecorationClassName) + : null), + (this.marginClassName = e.marginClassName + ? Ve(e.marginClassName) + : null), + (this.inlineClassName = e.inlineClassName + ? Ve(e.inlineClassName) + : null), + (this.inlineClassNameAffectsLetterSpacing = + e.inlineClassNameAffectsLetterSpacing || !1), + (this.beforeContentClassName = e.beforeContentClassName + ? Ve(e.beforeContentClassName) + : null), + (this.afterContentClassName = e.afterContentClassName + ? Ve(e.afterContentClassName) + : null); + } + static register(e) { + return new Ke(e); + } + static createDynamic(e) { + return new Ke(e); + } + } + Ke.EMPTY = Ke.register({}); + const qe = [ + Ke.register({ stickiness: 0 }), + Ke.register({ stickiness: 1 }), + Ke.register({ stickiness: 2 }), + Ke.register({ stickiness: 3 }), + ]; + function Ge(e) { + return e instanceof Ke ? e : Ke.createDynamic(e); + } + class Ze extends s.JT { + constructor() { + super(), + (this._actual = this._register(new r.Q5())), + (this.event = this._actual.event), + (this._deferredCnt = 0), + (this._shouldFire = !1), + (this._affectsMinimap = !1), + (this._affectsOverviewRuler = !1); + } + beginDeferredEmit() { + this._deferredCnt++; + } + endDeferredEmit() { + if ( + (this._deferredCnt--, 0 === this._deferredCnt && this._shouldFire) + ) { + const e = { + affectsMinimap: this._affectsMinimap, + affectsOverviewRuler: this._affectsOverviewRuler, + }; + (this._shouldFire = !1), + (this._affectsMinimap = !1), + (this._affectsOverviewRuler = !1), + this._actual.fire(e); + } + } + checkAffectedAndFire(e) { + this._affectsMinimap || + (this._affectsMinimap = !(!e.minimap || !e.minimap.position)), + this._affectsOverviewRuler || + (this._affectsOverviewRuler = !( + !e.overviewRuler || !e.overviewRuler.color + )), + (this._shouldFire = !0); + } + fire() { + (this._affectsMinimap = !0), + (this._affectsOverviewRuler = !0), + (this._shouldFire = !0); + } + } + class Je extends s.JT { + constructor() { + super(), + (this._fastEmitter = this._register(new r.Q5())), + (this.fastEvent = this._fastEmitter.event), + (this._slowEmitter = this._register(new r.Q5())), + (this.slowEvent = this._slowEmitter.event), + (this._deferredCnt = 0), + (this._deferredEvent = null); + } + beginDeferredEmit() { + this._deferredCnt++; + } + endDeferredEmit(e = null) { + if ( + (this._deferredCnt--, + 0 === this._deferredCnt && null !== this._deferredEvent) + ) { + this._deferredEvent.rawContentChangedEvent.resultingSelection = e; + const t = this._deferredEvent; + (this._deferredEvent = null), + this._fastEmitter.fire(t), + this._slowEmitter.fire(t); + } + } + fire(e) { + this._deferredCnt > 0 + ? this._deferredEvent + ? (this._deferredEvent = this._deferredEvent.merge(e)) + : (this._deferredEvent = e) + : (this._fastEmitter.fire(e), this._slowEmitter.fire(e)); + } + } + }, + 77277: (e, t, i) => { + 'use strict'; + i.d(t, { + bc: () => l, + iE: () => d, + pM: () => u, + cM: () => g, + sz: () => f, + }); + var n = i(97295), + r = i(59410), + s = i(50187), + o = i(24314), + a = i(84973); + class l { + constructor(e, t, i, n) { + (this.searchString = e), + (this.isRegex = t), + (this.matchCase = i), + (this.wordSeparators = n); + } + parseSearchRequest() { + if ('' === this.searchString) return null; + let e; + e = this.isRegex + ? (function (e) { + if (!e || 0 === e.length) return !1; + for (let t = 0, i = e.length; t < i; t++) + if (92 === e.charCodeAt(t)) { + if ((t++, t >= i)) break; + const n = e.charCodeAt(t); + if (110 === n || 114 === n || 87 === n || 119 === n) + return !0; + } + return !1; + })(this.searchString) + : this.searchString.indexOf('\n') >= 0; + let t = null; + try { + t = n.GF(this.searchString, this.isRegex, { + matchCase: this.matchCase, + wholeWord: !1, + multiline: e, + global: !0, + unicode: !0, + }); + } catch (e) { + return null; + } + if (!t) return null; + let i = !this.isRegex && !e; + return ( + i && + this.searchString.toLowerCase() !== + this.searchString.toUpperCase() && + (i = this.matchCase), + new c( + t, + this.wordSeparators ? (0, r.u)(this.wordSeparators) : null, + i ? this.searchString : null + ) + ); + } + } + class c { + constructor(e, t, i) { + (this.regex = e), + (this.wordSeparators = t), + (this.simpleSearch = i); + } + } + function d(e, t, i) { + if (!i) return new a.tk(e, null); + let n = []; + for (let e = 0, i = t.length; e < i; e++) n[e] = t[e]; + return new a.tk(e, n); + } + class h { + constructor(e) { + let t = [], + i = 0; + for (let n = 0, r = e.length; n < r; n++) + 10 === e.charCodeAt(n) && (t[i++] = n); + this._lineFeedsOffsets = t; + } + findLineFeedCountBeforeOffset(e) { + const t = this._lineFeedsOffsets; + let i = 0, + n = t.length - 1; + if (-1 === n) return 0; + if (e <= t[0]) return 0; + for (; i < n; ) { + const r = i + (((n - i) / 2) >> 0); + t[r] >= e + ? (n = r - 1) + : t[r + 1] >= e + ? ((i = r), (n = r)) + : (i = r + 1); + } + return i + 1; + } + } + class u { + static findMatches(e, t, i, n, r) { + const s = t.parseSearchRequest(); + return s + ? s.regex.multiline + ? this._doFindMatchesMultiline( + e, + i, + new f(s.wordSeparators, s.regex), + n, + r + ) + : this._doFindMatchesLineByLine(e, i, s, n, r) + : []; + } + static _getMultilineMatchRange(e, t, i, n, r, s) { + let a, + l, + c = 0; + if ( + (n + ? ((c = n.findLineFeedCountBeforeOffset(r)), (a = t + r + c)) + : (a = t + r), + n) + ) { + let e = n.findLineFeedCountBeforeOffset(r + s.length) - c; + l = a + s.length + e; + } else l = a + s.length; + const d = e.getPositionAt(a), + h = e.getPositionAt(l); + return new o.e(d.lineNumber, d.column, h.lineNumber, h.column); + } + static _doFindMatchesMultiline(e, t, i, n, r) { + const s = e.getOffsetAt(t.getStartPosition()), + o = e.getValueInRange(t, 1), + a = '\r\n' === e.getEOL() ? new h(o) : null, + l = []; + let c, + u = 0; + for (i.reset(0); (c = i.next(o)); ) + if ( + ((l[u++] = d( + this._getMultilineMatchRange(e, s, o, a, c.index, c[0]), + c, + n + )), + u >= r) + ) + return l; + return l; + } + static _doFindMatchesLineByLine(e, t, i, n, r) { + const s = []; + let o = 0; + if (t.startLineNumber === t.endLineNumber) { + const a = e + .getLineContent(t.startLineNumber) + .substring(t.startColumn - 1, t.endColumn - 1); + return ( + (o = this._findMatchesInLine( + i, + a, + t.startLineNumber, + t.startColumn - 1, + o, + s, + n, + r + )), + s + ); + } + const a = e + .getLineContent(t.startLineNumber) + .substring(t.startColumn - 1); + o = this._findMatchesInLine( + i, + a, + t.startLineNumber, + t.startColumn - 1, + o, + s, + n, + r + ); + for ( + let a = t.startLineNumber + 1; + a < t.endLineNumber && o < r; + a++ + ) + o = this._findMatchesInLine( + i, + e.getLineContent(a), + a, + 0, + o, + s, + n, + r + ); + if (o < r) { + const a = e + .getLineContent(t.endLineNumber) + .substring(0, t.endColumn - 1); + o = this._findMatchesInLine(i, a, t.endLineNumber, 0, o, s, n, r); + } + return s; + } + static _findMatchesInLine(e, t, i, n, r, s, l, c) { + const h = e.wordSeparators; + if (!l && e.simpleSearch) { + const l = e.simpleSearch, + d = l.length, + u = t.length; + let f = -d; + for (; -1 !== (f = t.indexOf(l, f + d)); ) + if ( + (!h || g(h, t, u, f, d)) && + ((s[r++] = new a.tk( + new o.e(i, f + 1 + n, i, f + 1 + d + n), + null + )), + r >= c) + ) + return r; + return r; + } + const u = new f(e.wordSeparators, e.regex); + let p; + u.reset(0); + do { + if ( + ((p = u.next(t)), + p && + ((s[r++] = d( + new o.e( + i, + p.index + 1 + n, + i, + p.index + 1 + p[0].length + n + ), + p, + l + )), + r >= c)) + ) + return r; + } while (p); + return r; + } + static findNextMatch(e, t, i, n) { + const r = t.parseSearchRequest(); + if (!r) return null; + const s = new f(r.wordSeparators, r.regex); + return r.regex.multiline + ? this._doFindNextMatchMultiline(e, i, s, n) + : this._doFindNextMatchLineByLine(e, i, s, n); + } + static _doFindNextMatchMultiline(e, t, i, n) { + const r = new s.L(t.lineNumber, 1), + a = e.getOffsetAt(r), + l = e.getLineCount(), + c = e.getValueInRange( + new o.e(r.lineNumber, r.column, l, e.getLineMaxColumn(l)), + 1 + ), + u = '\r\n' === e.getEOL() ? new h(c) : null; + i.reset(t.column - 1); + let g = i.next(c); + return g + ? d(this._getMultilineMatchRange(e, a, c, u, g.index, g[0]), g, n) + : 1 !== t.lineNumber || 1 !== t.column + ? this._doFindNextMatchMultiline(e, new s.L(1, 1), i, n) + : null; + } + static _doFindNextMatchLineByLine(e, t, i, n) { + const r = e.getLineCount(), + s = t.lineNumber, + o = e.getLineContent(s), + a = this._findFirstMatchInLine(i, o, s, t.column, n); + if (a) return a; + for (let t = 1; t <= r; t++) { + const o = (s + t - 1) % r, + a = e.getLineContent(o + 1), + l = this._findFirstMatchInLine(i, a, o + 1, 1, n); + if (l) return l; + } + return null; + } + static _findFirstMatchInLine(e, t, i, n, r) { + e.reset(n - 1); + const s = e.next(t); + return s + ? d(new o.e(i, s.index + 1, i, s.index + 1 + s[0].length), s, r) + : null; + } + static findPreviousMatch(e, t, i, n) { + const r = t.parseSearchRequest(); + if (!r) return null; + const s = new f(r.wordSeparators, r.regex); + return r.regex.multiline + ? this._doFindPreviousMatchMultiline(e, i, s, n) + : this._doFindPreviousMatchLineByLine(e, i, s, n); + } + static _doFindPreviousMatchMultiline(e, t, i, n) { + const r = this._doFindMatchesMultiline( + e, + new o.e(1, 1, t.lineNumber, t.column), + i, + n, + 9990 + ); + if (r.length > 0) return r[r.length - 1]; + const a = e.getLineCount(); + return t.lineNumber !== a || t.column !== e.getLineMaxColumn(a) + ? this._doFindPreviousMatchMultiline( + e, + new s.L(a, e.getLineMaxColumn(a)), + i, + n + ) + : null; + } + static _doFindPreviousMatchLineByLine(e, t, i, n) { + const r = e.getLineCount(), + s = t.lineNumber, + o = e.getLineContent(s).substring(0, t.column - 1), + a = this._findLastMatchInLine(i, o, s, n); + if (a) return a; + for (let t = 1; t <= r; t++) { + const o = (r + s - t - 1) % r, + a = e.getLineContent(o + 1), + l = this._findLastMatchInLine(i, a, o + 1, n); + if (l) return l; + } + return null; + } + static _findLastMatchInLine(e, t, i, n) { + let r, + s = null; + for (e.reset(0); (r = e.next(t)); ) + s = d( + new o.e(i, r.index + 1, i, r.index + 1 + r[0].length), + r, + n + ); + return s; + } + } + function g(e, t, i, n, r) { + return ( + (function (e, t, i, n, r) { + if (0 === n) return !0; + const s = t.charCodeAt(n - 1); + if (0 !== e.get(s)) return !0; + if (13 === s || 10 === s) return !0; + if (r > 0) { + const i = t.charCodeAt(n); + if (0 !== e.get(i)) return !0; + } + return !1; + })(e, t, 0, n, r) && + (function (e, t, i, n, r) { + if (n + r === i) return !0; + const s = t.charCodeAt(n + r); + if (0 !== e.get(s)) return !0; + if (13 === s || 10 === s) return !0; + if (r > 0) { + const i = t.charCodeAt(n + r - 1); + if (0 !== e.get(i)) return !0; + } + return !1; + })(e, t, i, n, r) + ); + } + class f { + constructor(e, t) { + (this._wordSeparators = e), + (this._searchRegex = t), + (this._prevMatchStartIndex = -1), + (this._prevMatchLength = 0); + } + reset(e) { + (this._searchRegex.lastIndex = e), + (this._prevMatchStartIndex = -1), + (this._prevMatchLength = 0); + } + next(e) { + const t = e.length; + let i; + do { + if (this._prevMatchStartIndex + this._prevMatchLength === t) + return null; + if (((i = this._searchRegex.exec(e)), !i)) return null; + const r = i.index, + s = i[0].length; + if ( + r === this._prevMatchStartIndex && + s === this._prevMatchLength + ) { + if (0 === s) { + n.ZH(e, t, this._searchRegex.lastIndex) > 65535 + ? (this._searchRegex.lastIndex += 2) + : (this._searchRegex.lastIndex += 1); + continue; + } + return null; + } + if ( + ((this._prevMatchStartIndex = r), + (this._prevMatchLength = s), + !this._wordSeparators || g(this._wordSeparators, e, t, r, s)) + ) + return i; + } while (i); + return null; + } + } + }, + 58409: (e, t, i) => { + 'use strict'; + i.d(t, { + QZ: () => l, + DA: () => h, + OU: () => u, + Wz: () => f, + cx: () => _, + Rl: () => b, + }); + var n = i(9488), + r = i(78411), + s = i(50187), + o = i(24314), + a = i(43775); + function l(e) { + let t = 0, + i = 0, + n = 0, + r = 0; + for (let s = 0, o = e.length; s < o; s++) { + const a = e.charCodeAt(s); + 13 === a + ? (0 === t && (i = s), + t++, + s + 1 < o && 10 === e.charCodeAt(s + 1) + ? ((r |= 2), s++) + : (r |= 3), + (n = s + 1)) + : 10 === a && ((r |= 1), 0 === t && (i = s), t++, (n = s + 1)); + } + return 0 === t && (i = e.length), [t, i, e.length - n, r]; + } + function c(e) { + return (16384 | (e << 0) | (2 << 23)) >>> 0; + } + const d = new Uint32Array(0).buffer; + class h { + constructor() { + this.tokens = []; + } + add(e, t) { + if (this.tokens.length > 0) { + const i = this.tokens[this.tokens.length - 1]; + if (i.startLineNumber + i.tokens.length - 1 + 1 === e) + return void i.tokens.push(t); + } + this.tokens.push(new p(e, [t])); + } + } + class u { + constructor(e) { + (this._tokens = e), (this._tokenCount = e.length / 4); + } + toString(e) { + let t = []; + for (let i = 0; i < this._tokenCount; i++) + t.push( + `(${this._getDeltaLine(i) + e},${this._getStartCharacter( + i + )}-${this._getEndCharacter(i)})` + ); + return `[${t.join(',')}]`; + } + getMaxDeltaLine() { + const e = this._getTokenCount(); + return 0 === e ? -1 : this._getDeltaLine(e - 1); + } + getRange() { + const e = this._getTokenCount(); + if (0 === e) return null; + const t = this._getStartCharacter(0), + i = this._getDeltaLine(e - 1), + n = this._getEndCharacter(e - 1); + return new o.e(0, t + 1, i, n + 1); + } + _getTokenCount() { + return this._tokenCount; + } + _getDeltaLine(e) { + return this._tokens[4 * e]; + } + _getStartCharacter(e) { + return this._tokens[4 * e + 1]; + } + _getEndCharacter(e) { + return this._tokens[4 * e + 2]; + } + isEmpty() { + return 0 === this._getTokenCount(); + } + getLineTokens(e) { + let t = 0, + i = this._getTokenCount() - 1; + for (; t < i; ) { + const n = t + Math.floor((i - t) / 2), + r = this._getDeltaLine(n); + if (r < e) t = n + 1; + else { + if (!(r > e)) { + let r = n; + for (; r > t && this._getDeltaLine(r - 1) === e; ) r--; + let s = n; + for (; s < i && this._getDeltaLine(s + 1) === e; ) s++; + return new g(this._tokens.subarray(4 * r, 4 * s + 4)); + } + i = n - 1; + } + } + return this._getDeltaLine(t) === e + ? new g(this._tokens.subarray(4 * t, 4 * t + 4)) + : null; + } + clear() { + this._tokenCount = 0; + } + removeTokens(e, t, i, n) { + const r = this._tokens, + s = this._tokenCount; + let o = 0, + a = !1, + l = 0; + for (let c = 0; c < s; c++) { + const s = 4 * c, + d = r[s], + h = r[s + 1], + u = r[s + 2], + g = r[s + 3]; + if ( + (d > e || (d === e && u >= t)) && + (d < i || (d === i && h <= n)) + ) + a = !0; + else { + if ((0 === o && (l = d), a)) { + const e = 4 * o; + (r[e] = d - l), + (r[e + 1] = h), + (r[e + 2] = u), + (r[e + 3] = g); + } + o++; + } + } + return (this._tokenCount = o), l; + } + split(e, t, i, n) { + const r = this._tokens, + s = this._tokenCount; + let o = [], + a = [], + l = o, + c = 0, + d = 0; + for (let o = 0; o < s; o++) { + const s = 4 * o, + h = r[s], + u = r[s + 1], + g = r[s + 2], + f = r[s + 3]; + if (h > e || (h === e && g >= t)) { + if (h < i || (h === i && u <= n)) continue; + l !== a && ((l = a), (c = 0), (d = h)); + } + (l[c++] = h - d), (l[c++] = u), (l[c++] = g), (l[c++] = f); + } + return [new u(new Uint32Array(o)), new u(new Uint32Array(a)), d]; + } + acceptDeleteRange(e, t, i, n, r) { + const s = this._tokens, + o = this._tokenCount, + a = n - t; + let l = 0, + c = !1; + for (let d = 0; d < o; d++) { + const h = 4 * d; + let u = s[h], + g = s[h + 1], + f = s[h + 2]; + const p = s[h + 3]; + if (u < t || (u === t && f <= i)) { + l++; + continue; + } + if (u === t && g < i) u === n && f > r ? (f -= r - i) : (f = i); + else if (u === t && g === i) { + if (!(u === n && f > r)) { + c = !0; + continue; + } + f -= r - i; + } else if (u < n || (u === n && g < r)) { + if (!(u === n && f > r)) { + c = !0; + continue; + } + u === t + ? ((g = i), (f = g + (f - r))) + : ((g = 0), (f = g + (f - r))); + } else if (u > n) { + if (0 === a && !c) { + l = o; + break; + } + u -= a; + } else { + if (!(u === n && g >= r)) throw new Error('Not possible!'); + e && 0 === u && ((g += e), (f += e)), + (u -= a), + (g -= r - i), + (f -= r - i); + } + const m = 4 * l; + (s[m] = u), (s[m + 1] = g), (s[m + 2] = f), (s[m + 3] = p), l++; + } + this._tokenCount = l; + } + acceptInsertText(e, t, i, n, r, s) { + const o = + 0 === i && + 1 === n && + ((s >= 48 && s <= 57) || + (s >= 65 && s <= 90) || + (s >= 97 && s <= 122)), + a = this._tokens, + l = this._tokenCount; + for (let s = 0; s < l; s++) { + const l = 4 * s; + let c = a[l], + d = a[l + 1], + h = a[l + 2]; + if (!(c < e || (c === e && h < t))) { + if (c === e && h === t) { + if (!o) continue; + h += 1; + } else if (c === e && d < t && t < h) + 0 === i ? (h += n) : (h = t); + else { + if (c === e && d === t && o) continue; + if (c === e) + if (((c += i), 0 === i)) (d += n), (h += n); + else { + const e = h - d; + (d = r + (d - t)), (h = d + e); + } + else c += i; + } + (a[l] = c), (a[l + 1] = d), (a[l + 2] = h); + } + } + } + } + class g { + constructor(e) { + this._tokens = e; + } + getCount() { + return this._tokens.length / 4; + } + getStartCharacter(e) { + return this._tokens[4 * e + 1]; + } + getEndCharacter(e) { + return this._tokens[4 * e + 2]; + } + getMetadata(e) { + return this._tokens[4 * e + 3]; + } + } + class f { + constructor(e, t) { + (this.startLineNumber = e), + (this.tokens = t), + (this.endLineNumber = + this.startLineNumber + this.tokens.getMaxDeltaLine()); + } + toString() { + return this.tokens.toString(this.startLineNumber); + } + _updateEndLineNumber() { + this.endLineNumber = + this.startLineNumber + this.tokens.getMaxDeltaLine(); + } + isEmpty() { + return this.tokens.isEmpty(); + } + getLineTokens(e) { + return this.startLineNumber <= e && e <= this.endLineNumber + ? this.tokens.getLineTokens(e - this.startLineNumber) + : null; + } + getRange() { + const e = this.tokens.getRange(); + return e + ? new o.e( + this.startLineNumber + e.startLineNumber, + e.startColumn, + this.startLineNumber + e.endLineNumber, + e.endColumn + ) + : e; + } + removeTokens(e) { + const t = e.startLineNumber - this.startLineNumber, + i = e.endLineNumber - this.startLineNumber; + (this.startLineNumber += this.tokens.removeTokens( + t, + e.startColumn - 1, + i, + e.endColumn - 1 + )), + this._updateEndLineNumber(); + } + split(e) { + const t = e.startLineNumber - this.startLineNumber, + i = e.endLineNumber - this.startLineNumber, + [n, r, s] = this.tokens.split( + t, + e.startColumn - 1, + i, + e.endColumn - 1 + ); + return [ + new f(this.startLineNumber, n), + new f(this.startLineNumber + s, r), + ]; + } + applyEdit(e, t) { + const [i, n, r] = l(t); + this.acceptEdit(e, i, n, r, t.length > 0 ? t.charCodeAt(0) : 0); + } + acceptEdit(e, t, i, n, r) { + this._acceptDeleteRange(e), + this._acceptInsertText( + new s.L(e.startLineNumber, e.startColumn), + t, + i, + n, + r + ), + this._updateEndLineNumber(); + } + _acceptDeleteRange(e) { + if ( + e.startLineNumber === e.endLineNumber && + e.startColumn === e.endColumn + ) + return; + const t = e.startLineNumber - this.startLineNumber, + i = e.endLineNumber - this.startLineNumber; + if (i < 0) { + const e = i - t; + return void (this.startLineNumber -= e); + } + const n = this.tokens.getMaxDeltaLine(); + if (!(t >= n + 1)) { + if (t < 0 && i >= n + 1) + return (this.startLineNumber = 0), void this.tokens.clear(); + if (t < 0) { + const n = -t; + (this.startLineNumber -= n), + this.tokens.acceptDeleteRange( + e.startColumn - 1, + 0, + 0, + i, + e.endColumn - 1 + ); + } else + this.tokens.acceptDeleteRange( + 0, + t, + e.startColumn - 1, + i, + e.endColumn - 1 + ); + } + } + _acceptInsertText(e, t, i, n, r) { + if (0 === t && 0 === i) return; + const s = e.lineNumber - this.startLineNumber; + s < 0 + ? (this.startLineNumber += t) + : s >= this.tokens.getMaxDeltaLine() + 1 || + this.tokens.acceptInsertText(s, e.column - 1, t, i, n, r); + } + } + class p { + constructor(e, t) { + (this.startLineNumber = e), (this.tokens = t); + } + } + function m(e) { + return e instanceof Uint32Array ? e : new Uint32Array(e); + } + class _ { + constructor() { + (this._pieces = []), (this._isComplete = !1); + } + flush() { + (this._pieces = []), (this._isComplete = !1); + } + set(e, t) { + (this._pieces = e || []), (this._isComplete = t); + } + setPartial(e, t) { + let i = e; + if (t.length > 0) { + const n = t[0].getRange(), + r = t[t.length - 1].getRange(); + if (!n || !r) return e; + i = e.plusRange(n).plusRange(r); + } + let r = null; + for (let e = 0, t = this._pieces.length; e < t; e++) { + const n = this._pieces[e]; + if (n.endLineNumber < i.startLineNumber) continue; + if (n.startLineNumber > i.endLineNumber) { + r = r || { index: e }; + break; + } + if ((n.removeTokens(i), n.isEmpty())) { + this._pieces.splice(e, 1), e--, t--; + continue; + } + if (n.endLineNumber < i.startLineNumber) continue; + if (n.startLineNumber > i.endLineNumber) { + r = r || { index: e }; + continue; + } + const [s, o] = n.split(i); + s.isEmpty() + ? (r = r || { index: e }) + : o.isEmpty() || + (this._pieces.splice(e, 1, s, o), + e++, + t++, + (r = r || { index: e })); + } + return ( + (r = r || { index: this._pieces.length }), + t.length > 0 && (this._pieces = n.Zv(this._pieces, r.index, t)), + i + ); + } + isComplete() { + return this._isComplete; + } + addSemanticTokens(e, t) { + const i = this._pieces; + if (0 === i.length) return t; + const n = i[_._findFirstPieceWithLine(i, e)].getLineTokens(e); + if (!n) return t; + const s = t.getCount(), + o = n.getCount(); + let a = 0, + l = [], + c = 0, + d = 0; + const h = (e, t) => { + e !== d && ((d = e), (l[c++] = e), (l[c++] = t)); + }; + for (let e = 0; e < o; e++) { + const i = n.getStartCharacter(e), + r = n.getEndCharacter(e), + o = n.getMetadata(e), + l = + ((1 & o ? 2048 : 0) | + (2 & o ? 4096 : 0) | + (4 & o ? 8192 : 0) | + (8 & o ? 8372224 : 0) | + (16 & o ? 4286578688 : 0)) >>> + 0, + c = ~l >>> 0; + for (; a < s && t.getEndOffset(a) <= i; ) + h(t.getEndOffset(a), t.getMetadata(a)), a++; + for ( + a < s && t.getStartOffset(a) < i && h(i, t.getMetadata(a)); + a < s && t.getEndOffset(a) < r; + + ) + h(t.getEndOffset(a), (t.getMetadata(a) & c) | (o & l)), a++; + if (a < s) + h(r, (t.getMetadata(a) & c) | (o & l)), + t.getEndOffset(a) === r && a++; + else { + const e = Math.min(Math.max(0, a - 1), s - 1); + h(r, (t.getMetadata(e) & c) | (o & l)); + } + } + for (; a < s; ) h(t.getEndOffset(a), t.getMetadata(a)), a++; + return new r.A(new Uint32Array(l), t.getLineContent()); + } + static _findFirstPieceWithLine(e, t) { + let i = 0, + n = e.length - 1; + for (; i < n; ) { + let r = i + Math.floor((n - i) / 2); + if (e[r].endLineNumber < t) i = r + 1; + else { + if (!(e[r].startLineNumber > t)) { + for ( + ; + r > i && + e[r - 1].startLineNumber <= t && + t <= e[r - 1].endLineNumber; + + ) + r--; + return r; + } + n = r - 1; + } + } + return i; + } + acceptEdit(e, t, i, n, r) { + for (const s of this._pieces) s.acceptEdit(e, t, i, n, r); + } + } + class b { + constructor() { + (this._lineTokens = []), (this._len = 0); + } + flush() { + (this._lineTokens = []), (this._len = 0); + } + getTokens(e, t, i) { + let n = null; + if ( + (t < this._len && (n = this._lineTokens[t]), + null !== n && n !== d) + ) + return new r.A(m(n), i); + let s = new Uint32Array(2); + return (s[0] = i.length), (s[1] = c(e)), new r.A(s, i); + } + static _massageTokens(e, t, i) { + const n = i ? m(i) : null; + if (0 === t) { + let t = !1; + if ( + (n && n.length > 1 && (t = a.NX.getLanguageId(n[1]) !== e), !t) + ) + return d; + } + if (!n || 0 === n.length) { + const i = new Uint32Array(2); + return (i[0] = t), (i[1] = c(e)), i.buffer; + } + return ( + (n[n.length - 2] = t), + 0 === n.byteOffset && n.byteLength === n.buffer.byteLength + ? n.buffer + : n + ); + } + _ensureLine(e) { + for (; e >= this._len; ) + (this._lineTokens[this._len] = null), this._len++; + } + _deleteLines(e, t) { + 0 !== t && + (e + t > this._len && (t = this._len - e), + this._lineTokens.splice(e, t), + (this._len -= t)); + } + _insertLines(e, t) { + if (0 === t) return; + let i = []; + for (let e = 0; e < t; e++) i[e] = null; + (this._lineTokens = n.Zv(this._lineTokens, e, i)), (this._len += t); + } + setTokens(e, t, i, n, r) { + const s = b._massageTokens(e, i, n); + this._ensureLine(t); + const o = this._lineTokens[t]; + return (this._lineTokens[t] = s), !!r && !b._equals(o, s); + } + static _equals(e, t) { + if (!e || !t) return !e && !t; + const i = m(e), + n = m(t); + if (i.length !== n.length) return !1; + for (let e = 0, t = i.length; e < t; e++) + if (i[e] !== n[e]) return !1; + return !0; + } + acceptEdit(e, t, i) { + this._acceptDeleteRange(e), + this._acceptInsertText( + new s.L(e.startLineNumber, e.startColumn), + t, + i + ); + } + _acceptDeleteRange(e) { + const t = e.startLineNumber - 1; + if (t >= this._len) return; + if (e.startLineNumber === e.endLineNumber) { + if (e.startColumn === e.endColumn) return; + return void (this._lineTokens[t] = b._delete( + this._lineTokens[t], + e.startColumn - 1, + e.endColumn - 1 + )); + } + this._lineTokens[t] = b._deleteEnding( + this._lineTokens[t], + e.startColumn - 1 + ); + const i = e.endLineNumber - 1; + let n = null; + i < this._len && + (n = b._deleteBeginning(this._lineTokens[i], e.endColumn - 1)), + (this._lineTokens[t] = b._append(this._lineTokens[t], n)), + this._deleteLines( + e.startLineNumber, + e.endLineNumber - e.startLineNumber + ); + } + _acceptInsertText(e, t, i) { + if (0 === t && 0 === i) return; + const n = e.lineNumber - 1; + n >= this._len || + (0 !== t + ? ((this._lineTokens[n] = b._deleteEnding( + this._lineTokens[n], + e.column - 1 + )), + (this._lineTokens[n] = b._insert( + this._lineTokens[n], + e.column - 1, + i + )), + this._insertLines(e.lineNumber, t)) + : (this._lineTokens[n] = b._insert( + this._lineTokens[n], + e.column - 1, + i + ))); + } + static _deleteBeginning(e, t) { + return null === e || e === d ? e : b._delete(e, 0, t); + } + static _deleteEnding(e, t) { + if (null === e || e === d) return e; + const i = m(e), + n = i[i.length - 2]; + return b._delete(e, t, n); + } + static _delete(e, t, i) { + if (null === e || e === d || t === i) return e; + const n = m(e), + s = n.length >>> 1; + if (0 === t && n[n.length - 2] === i) return d; + const o = r.A.findIndexInTokensArray(n, t), + a = o > 0 ? n[(o - 1) << 1] : 0; + if (i < n[o << 1]) { + const r = i - t; + for (let e = o; e < s; e++) n[e << 1] -= r; + return e; + } + let l, c; + a !== t + ? ((n[o << 1] = t), (l = (o + 1) << 1), (c = t)) + : ((l = o << 1), (c = a)); + const h = i - t; + for (let e = o + 1; e < s; e++) { + const t = n[e << 1] - h; + t > c && ((n[l++] = t), (n[l++] = n[1 + (e << 1)]), (c = t)); + } + if (l === n.length) return e; + let u = new Uint32Array(l); + return u.set(n.subarray(0, l), 0), u.buffer; + } + static _append(e, t) { + if (t === d) return e; + if (e === d) return t; + if (null === e) return e; + if (null === t) return null; + const i = m(e), + n = m(t), + r = n.length >>> 1; + let s = new Uint32Array(i.length + n.length); + s.set(i, 0); + let o = i.length; + const a = i[i.length - 2]; + for (let e = 0; e < r; e++) + (s[o++] = n[e << 1] + a), (s[o++] = n[1 + (e << 1)]); + return s.buffer; + } + static _insert(e, t, i) { + if (null === e || e === d) return e; + const n = m(e), + s = n.length >>> 1; + let o = r.A.findIndexInTokensArray(n, t); + o > 0 && n[(o - 1) << 1] === t && o--; + for (let e = o; e < s; e++) n[e << 1] += i; + return e; + } + } + }, + 97461: (e, t, i) => { + 'use strict'; + i.d(t, { vu: () => n, Af: () => r, eq: () => s, t2: () => a }); + const n = '`~!@#$%^&*()-=+[{]}\\|;:\'",.<>/?', + r = (function (e = '') { + let t = '(-?\\d*\\.\\d\\w*)|([^'; + for (const i of n) e.indexOf(i) >= 0 || (t += '\\' + i); + return (t += '\\s]+)'), new RegExp(t, 'g'); + })(); + function s(e) { + let t = r; + if (e && e instanceof RegExp) + if (e.global) t = e; + else { + let i = 'g'; + e.ignoreCase && (i += 'i'), + e.multiline && (i += 'm'), + e.unicode && (i += 'u'), + (t = new RegExp(e.source, i)); + } + return (t.lastIndex = 0), t; + } + const o = { maxLen: 1e3, windowSize: 15, timeBudget: 150 }; + function a(e, t, i, n, r = o) { + if (i.length > r.maxLen) { + let s = e - r.maxLen / 2; + return ( + s < 0 ? ((n += e), (s = 0)) : (n += s), + a(e, t, (i = i.substring(s, e + r.maxLen / 2)), n, r) + ); + } + Date.now(); + const s = e - 1 - n; + let c = -1, + d = null; + for (let e = 1; ; e++) { + Date.now(), r.timeBudget; + const n = s - r.windowSize * e; + t.lastIndex = Math.max(0, n); + const o = l(t, i, s, c); + if (!o && d) break; + if (((d = o), n <= 0)) break; + c = n; + } + if (d) { + let e = { + word: d[0], + startColumn: n + 1 + d.index, + endColumn: n + 1 + d.index + d[0].length, + }; + return (t.lastIndex = 0), e; + } + return null; + } + function l(e, t, i, n) { + let r; + for (; (r = e.exec(t)); ) { + const t = r.index || 0; + if (t <= i && e.lastIndex >= i) return r; + if (n > 0 && t > n) return null; + } + return null; + } + }, + 43775: (e, t, i) => { + 'use strict'; + i.d(t, { + H9: () => P, + He: () => R, + OH: () => H, + KZ: () => x, + RN: () => I, + Ct: () => T, + Az: () => F, + MY: () => v, + vH: () => N, + vN: () => B, + K7: () => U, + wT: () => z, + vJ: () => D, + AD: () => C, + aC: () => V, + xp: () => M, + vI: () => O, + rl: () => f, + pM: () => Y, + ln: () => W, + jC: () => E, + FL: () => S, + G0: () => k, + AC: () => j, + nD: () => L, + WW: () => b, + uZ: () => y, + NX: () => p, + RW: () => $, + tA: () => A, + jr: () => _, + Sy: () => m, + vx: () => w, + }); + var n = i(70666), + r = i(24314), + s = i(4669), + o = i(5976), + a = i(14118), + l = i(88721); + function c(e, t, i, n) { + if (Array.isArray(e)) { + let r = 0; + for (const s of e) { + const e = c(s, t, i, n); + if (10 === e) return e; + e > r && (r = e); + } + return r; + } + if ('string' == typeof e) + return n ? ('*' === e ? 5 : e === i ? 10 : 0) : 0; + if (e) { + const { + language: r, + pattern: s, + scheme: o, + hasAccessToAllModels: c, + } = e; + if (!n && !c) return 0; + let d = 0; + if (o) + if (o === t.scheme) d = 10; + else { + if ('*' !== o) return 0; + d = 5; + } + if (r) + if (r === i) d = 10; + else { + if ('*' !== r) return 0; + d = Math.max(d, 5); + } + if (s) { + let e; + if ( + ((e = + 'string' == typeof s + ? s + : Object.assign(Object.assign({}, s), { + base: (0, l.Fv)(s.base), + })), + e !== t.fsPath && !(0, a.EQ)(e, t.fsPath)) + ) + return 0; + d = 10; + } + return d; + } + return 0; + } + var d = i(51200); + function h(e) { + return ( + 'string' != typeof e && + (Array.isArray(e) ? e.every(h) : !!e.exclusive) + ); + } + class u { + constructor() { + (this._clock = 0), + (this._entries = []), + (this._onDidChange = new s.Q5()); + } + get onDidChange() { + return this._onDidChange.event; + } + register(e, t) { + let i = { + selector: e, + provider: t, + _score: -1, + _time: this._clock++, + }; + return ( + this._entries.push(i), + (this._lastCandidate = void 0), + this._onDidChange.fire(this._entries.length), + (0, o.OF)(() => { + if (i) { + let e = this._entries.indexOf(i); + e >= 0 && + (this._entries.splice(e, 1), + (this._lastCandidate = void 0), + this._onDidChange.fire(this._entries.length), + (i = void 0)); + } + }) + ); + } + has(e) { + return this.all(e).length > 0; + } + all(e) { + if (!e) return []; + this._updateScores(e); + const t = []; + for (let e of this._entries) e._score > 0 && t.push(e.provider); + return t; + } + ordered(e) { + const t = []; + return this._orderedForEach(e, (e) => t.push(e.provider)), t; + } + orderedGroups(e) { + const t = []; + let i, n; + return ( + this._orderedForEach(e, (e) => { + i && n === e._score + ? i.push(e.provider) + : ((n = e._score), (i = [e.provider]), t.push(i)); + }), + t + ); + } + _orderedForEach(e, t) { + if (e) { + this._updateScores(e); + for (const e of this._entries) e._score > 0 && t(e); + } + } + _updateScores(e) { + let t = { + uri: e.uri.toString(), + language: e.getLanguageIdentifier().language, + }; + if ( + !this._lastCandidate || + this._lastCandidate.language !== t.language || + this._lastCandidate.uri !== t.uri + ) { + this._lastCandidate = t; + for (let t of this._entries) + if ( + ((t._score = c( + t.selector, + e.uri, + e.getLanguageIdentifier().language, + (0, d.p)(e) + )), + h(t.selector) && t._score > 0) + ) { + for (let e of this._entries) e._score = 0; + t._score = 1e3; + break; + } + this._entries.sort(u._compareByScoreAndTime); + } + } + static _compareByScoreAndTime(e, t) { + return e._score < t._score + ? 1 + : e._score > t._score + ? -1 + : e._time < t._time + ? 1 + : e._time > t._time + ? -1 + : 0; + } + } + var g = i(73046); + class f { + constructor(e, t) { + (this.language = e), (this.id = t); + } + } + class p { + static getLanguageId(e) { + return (255 & e) >>> 0; + } + static getTokenType(e) { + return (1792 & e) >>> 8; + } + static getFontStyle(e) { + return (14336 & e) >>> 11; + } + static getForeground(e) { + return (8372224 & e) >>> 14; + } + static getBackground(e) { + return (4286578688 & e) >>> 23; + } + static getClassNameFromMetadata(e) { + let t = 'mtk' + this.getForeground(e), + i = this.getFontStyle(e); + return ( + 1 & i && (t += ' mtki'), + 2 & i && (t += ' mtkb'), + 4 & i && (t += ' mtku'), + t + ); + } + static getInlineStyleFromMetadata(e, t) { + const i = this.getForeground(e), + n = this.getFontStyle(e); + let r = `color: ${t[i]};`; + return ( + 1 & n && (r += 'font-style: italic;'), + 2 & n && (r += 'font-weight: bold;'), + 4 & n && (r += 'text-decoration: underline;'), + r + ); + } + } + const m = (function () { + let e = Object.create(null); + return ( + (e[0] = 'symbol-method'), + (e[1] = 'symbol-function'), + (e[2] = 'symbol-constructor'), + (e[3] = 'symbol-field'), + (e[4] = 'symbol-variable'), + (e[5] = 'symbol-class'), + (e[6] = 'symbol-struct'), + (e[7] = 'symbol-interface'), + (e[8] = 'symbol-module'), + (e[9] = 'symbol-property'), + (e[10] = 'symbol-event'), + (e[11] = 'symbol-operator'), + (e[12] = 'symbol-unit'), + (e[13] = 'symbol-value'), + (e[14] = 'symbol-constant'), + (e[15] = 'symbol-enum'), + (e[16] = 'symbol-enum-member'), + (e[17] = 'symbol-keyword'), + (e[27] = 'symbol-snippet'), + (e[18] = 'symbol-text'), + (e[19] = 'symbol-color'), + (e[20] = 'symbol-file'), + (e[21] = 'symbol-reference'), + (e[22] = 'symbol-customcolor'), + (e[23] = 'symbol-folder'), + (e[24] = 'symbol-type-parameter'), + (e[25] = 'account'), + (e[26] = 'issues'), + function (t) { + const i = e[t]; + let n = i && g.fK.get(i); + return ( + n || + (console.info('No codicon found for CompletionItemKind ' + t), + (n = g.lA.symbolProperty)), + n.classNames + ); + } + ); + })(); + let _ = (function () { + let e = Object.create(null); + return ( + (e.method = 0), + (e.function = 1), + (e.constructor = 2), + (e.field = 3), + (e.variable = 4), + (e.class = 5), + (e.struct = 6), + (e.interface = 7), + (e.module = 8), + (e.property = 9), + (e.event = 10), + (e.operator = 11), + (e.unit = 12), + (e.value = 13), + (e.constant = 14), + (e.enum = 15), + (e['enum-member'] = 16), + (e.enumMember = 16), + (e.keyword = 17), + (e.snippet = 27), + (e.text = 18), + (e.color = 19), + (e.file = 20), + (e.reference = 21), + (e.customcolor = 22), + (e.folder = 23), + (e['type-parameter'] = 24), + (e.typeParameter = 24), + (e.account = 25), + (e.issue = 26), + function (t, i) { + let n = e[t]; + return void 0 !== n || i || (n = 9), n; + } + ); + })(); + var b, v, y; + function w(e) { + return ( + e && + n.o.isUri(e.uri) && + r.e.isIRange(e.range) && + (r.e.isIRange(e.originSelectionRange) || + r.e.isIRange(e.targetSelectionRange)) + ); + } + !(function (e) { + (e[(e.Invoke = 1)] = 'Invoke'), + (e[(e.TriggerCharacter = 2)] = 'TriggerCharacter'), + (e[(e.ContentChange = 3)] = 'ContentChange'); + })(b || (b = {})), + (function (e) { + (e[(e.Text = 0)] = 'Text'), + (e[(e.Read = 1)] = 'Read'), + (e[(e.Write = 2)] = 'Write'); + })(v || (v = {})), + (function (e) { + const t = new Map(); + t.set('file', 0), + t.set('module', 1), + t.set('namespace', 2), + t.set('package', 3), + t.set('class', 4), + t.set('method', 5), + t.set('property', 6), + t.set('field', 7), + t.set('constructor', 8), + t.set('enum', 9), + t.set('interface', 10), + t.set('function', 11), + t.set('variable', 12), + t.set('constant', 13), + t.set('string', 14), + t.set('number', 15), + t.set('boolean', 16), + t.set('array', 17), + t.set('object', 18), + t.set('key', 19), + t.set('null', 20), + t.set('enum-member', 21), + t.set('struct', 22), + t.set('event', 23), + t.set('operator', 24), + t.set('type-parameter', 25); + const i = new Map(); + i.set(0, 'file'), + i.set(1, 'module'), + i.set(2, 'namespace'), + i.set(3, 'package'), + i.set(4, 'class'), + i.set(5, 'method'), + i.set(6, 'property'), + i.set(7, 'field'), + i.set(8, 'constructor'), + i.set(9, 'enum'), + i.set(10, 'interface'), + i.set(11, 'function'), + i.set(12, 'variable'), + i.set(13, 'constant'), + i.set(14, 'string'), + i.set(15, 'number'), + i.set(16, 'boolean'), + i.set(17, 'array'), + i.set(18, 'object'), + i.set(19, 'key'), + i.set(20, 'null'), + i.set(21, 'enum-member'), + i.set(22, 'struct'), + i.set(23, 'event'), + i.set(24, 'operator'), + i.set(25, 'type-parameter'), + (e.fromString = function (e) { + return t.get(e); + }), + (e.toString = function (e) { + return i.get(e); + }), + (e.toCssClassName = function (e, t) { + const n = i.get(e); + let r = n && g.fK.get('symbol-' + n); + return ( + r || + (console.info('No codicon found for SymbolKind ' + e), + (r = g.lA.symbolProperty)), + `${t ? 'inline' : 'block'} ${r.classNames}` + ); + }); + })(y || (y = {})); + class C { + constructor(e) { + this.value = e; + } + } + (C.Comment = new C('comment')), + (C.Imports = new C('imports')), + (C.Region = new C('region')); + const S = new u(), + k = new u(), + x = new u(), + L = new u(), + M = new u(), + D = new u(), + N = new u(), + E = new u(), + T = new u(), + I = new u(), + O = new u(), + A = new u(), + R = new u(), + P = new u(), + F = new u(), + B = new u(), + W = new u(), + Y = new u(), + H = new u(), + j = new u(), + V = new u(), + z = new u(), + U = new u(), + $ = new (class { + constructor() { + (this._map = new Map()), + (this._promises = new Map()), + (this._onDidChange = new s.Q5()), + (this.onDidChange = this._onDidChange.event), + (this._colorMap = null); + } + fire(e) { + this._onDidChange.fire({ + changedLanguages: e, + changedColorMap: !1, + }); + } + register(e, t) { + return ( + this._map.set(e, t), + this.fire([e]), + (0, o.OF)(() => { + this._map.get(e) === t && + (this._map.delete(e), this.fire([e])); + }) + ); + } + registerPromise(e, t) { + let i = null, + n = !1; + return ( + this._promises.set( + e, + t.then((t) => { + this._promises.delete(e), + !n && t && (i = this.register(e, t)); + }) + ), + (0, o.OF)(() => { + (n = !0), i && i.dispose(); + }) + ); + } + getPromise(e) { + const t = this.get(e); + if (t) return Promise.resolve(t); + const i = this._promises.get(e); + return i ? i.then((t) => this.get(e)) : null; + } + get(e) { + return this._map.get(e) || null; + } + setColorMap(e) { + (this._colorMap = e), + this._onDidChange.fire({ + changedLanguages: Array.from(this._map.keys()), + changedColorMap: !0, + }); + } + getColorMap() { + return this._colorMap; + } + getDefaultBackground() { + return this._colorMap && this._colorMap.length > 2 + ? this._colorMap[2] + : null; + } + })(); + }, + 97354: (e, t, i) => { + 'use strict'; + var n; + i.d(t, { w: () => n, V: () => r }), + (function (e) { + (e[(e.None = 0)] = 'None'), + (e[(e.Indent = 1)] = 'Indent'), + (e[(e.IndentOutdent = 2)] = 'IndentOutdent'), + (e[(e.Outdent = 3)] = 'Outdent'); + })(n || (n = {})); + class r { + constructor(e) { + if ( + ((this.open = e.open), + (this.close = e.close), + (this._standardTokenMask = 0), + Array.isArray(e.notIn)) + ) + for (let t = 0, i = e.notIn.length; t < i; t++) + switch (e.notIn[t]) { + case 'string': + this._standardTokenMask |= 2; + break; + case 'comment': + this._standardTokenMask |= 1; + break; + case 'regex': + this._standardTokenMask |= 4; + } + } + isOK(e) { + return 0 == (this._standardTokenMask & e); + } + } + }, + 83831: (e, t, i) => { + 'use strict'; + i.d(t, { zu: () => _ }); + var n = i(4669), + r = i(5976), + s = i(97295), + o = i(97461), + a = i(97354), + l = i(40764); + class c { + constructor(e) { + if ( + (e.autoClosingPairs + ? (this._autoClosingPairs = e.autoClosingPairs.map( + (e) => new a.V(e) + )) + : e.brackets + ? (this._autoClosingPairs = e.brackets.map( + (e) => new a.V({ open: e[0], close: e[1] }) + )) + : (this._autoClosingPairs = []), + e.__electricCharacterSupport && + e.__electricCharacterSupport.docComment) + ) { + const t = e.__electricCharacterSupport.docComment; + this._autoClosingPairs.push( + new a.V({ open: t.open, close: t.close || '' }) + ); + } + (this._autoCloseBefore = + 'string' == typeof e.autoCloseBefore + ? e.autoCloseBefore + : c.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED), + (this._surroundingPairs = + e.surroundingPairs || this._autoClosingPairs); + } + getAutoClosingPairs() { + return this._autoClosingPairs; + } + getAutoCloseBeforeSet() { + return this._autoCloseBefore; + } + static shouldAutoClosePair(e, t, i) { + if (0 === t.getTokenCount()) return !0; + const n = t.findTokenIndexAtOffset(i - 2), + r = t.getStandardTokenType(n); + return e.isOK(r); + } + getSurroundingPairs() { + return this._surroundingPairs; + } + } + c.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED = ';:.,=}])> \n\t'; + var d = i(34227); + class h { + constructor(e) { + this._richEditBrackets = e; + } + getElectricCharacters() { + let e = []; + if (this._richEditBrackets) + for (const t of this._richEditBrackets.brackets) + for (const i of t.close) { + const t = i.charAt(i.length - 1); + e.push(t); + } + return (e = e.filter((e, t, i) => i.indexOf(e) === t)), e; + } + onElectricCharacter(e, t, i) { + if ( + !this._richEditBrackets || + 0 === this._richEditBrackets.brackets.length + ) + return null; + const n = t.findTokenIndexAtOffset(i - 1); + if ((0, l.Bu)(t.getStandardTokenType(n))) return null; + const r = this._richEditBrackets.reversedRegex, + s = t.getLineContent().substring(0, i - 1) + e, + o = d.Vr.findPrevBracketInRange(r, 1, s, 0, s.length); + if (!o) return null; + const a = s + .substring(o.startColumn - 1, o.endColumn - 1) + .toLowerCase(); + if (this._richEditBrackets.textIsOpenBracket[a]) return null; + const c = t.getActualLineContentBefore(o.startColumn - 1); + return /^\s*$/.test(c) ? { matchOpenBracket: a } : null; + } + } + class u { + constructor(e) { + this._indentationRules = e; + } + shouldIncrease(e) { + return !!( + this._indentationRules && + this._indentationRules.increaseIndentPattern && + this._indentationRules.increaseIndentPattern.test(e) + ); + } + shouldDecrease(e) { + return !!( + this._indentationRules && + this._indentationRules.decreaseIndentPattern && + this._indentationRules.decreaseIndentPattern.test(e) + ); + } + shouldIndentNextLine(e) { + return !!( + this._indentationRules && + this._indentationRules.indentNextLinePattern && + this._indentationRules.indentNextLinePattern.test(e) + ); + } + shouldIgnore(e) { + return !!( + this._indentationRules && + this._indentationRules.unIndentedLinePattern && + this._indentationRules.unIndentedLinePattern.test(e) + ); + } + getIndentMetadata(e) { + let t = 0; + return ( + this.shouldIncrease(e) && (t += 1), + this.shouldDecrease(e) && (t += 2), + this.shouldIndentNextLine(e) && (t += 4), + this.shouldIgnore(e) && (t += 8), + t + ); + } + } + var g = i(17301); + class f { + constructor(e) { + ((e = e || {}).brackets = e.brackets || [ + ['(', ')'], + ['{', '}'], + ['[', ']'], + ]), + (this._brackets = []), + e.brackets.forEach((e) => { + const t = f._createOpenBracketRegExp(e[0]), + i = f._createCloseBracketRegExp(e[1]); + t && + i && + this._brackets.push({ + open: e[0], + openRegExp: t, + close: e[1], + closeRegExp: i, + }); + }), + (this._regExpRules = e.onEnterRules || []); + } + onEnter(e, t, i, n) { + if (e >= 3) + for (let e = 0, r = this._regExpRules.length; e < r; e++) { + let r = this._regExpRules[e]; + if ( + [ + { reg: r.beforeText, text: i }, + { reg: r.afterText, text: n }, + { reg: r.oneLineAboveText, text: t }, + ].every((e) => !e.reg || e.reg.test(e.text)) + ) + return r.action; + } + if (e >= 2 && i.length > 0 && n.length > 0) + for (let e = 0, t = this._brackets.length; e < t; e++) { + let t = this._brackets[e]; + if (t.openRegExp.test(i) && t.closeRegExp.test(n)) + return { indentAction: a.w.IndentOutdent }; + } + if (e >= 2 && i.length > 0) + for (let e = 0, t = this._brackets.length; e < t; e++) + if (this._brackets[e].openRegExp.test(i)) + return { indentAction: a.w.Indent }; + return null; + } + static _createOpenBracketRegExp(e) { + let t = s.ec(e); + return ( + /\B/.test(t.charAt(0)) || (t = '\\b' + t), + (t += '\\s*$'), + f._safeRegExp(t) + ); + } + static _createCloseBracketRegExp(e) { + let t = s.ec(e); + return ( + /\B/.test(t.charAt(t.length - 1)) || (t += '\\b'), + (t = '^\\s*' + t), + f._safeRegExp(t) + ); + } + static _safeRegExp(e) { + try { + return new RegExp(e); + } catch (e) { + return (0, g.dL)(e), null; + } + } + } + class p { + constructor(e, t, i) { + (this._languageIdentifier = e), + (this._brackets = null), + (this._electricCharacter = null); + let n = null; + t && (n = t._conf), + (this._conf = p._mergeConf(n, i)), + (this._onEnterSupport = + this._conf.brackets || + this._conf.indentationRules || + this._conf.onEnterRules + ? new f(this._conf) + : null), + (this.comments = p._handleComments(this._conf)), + (this.characterPair = new c(this._conf)), + (this.wordDefinition = this._conf.wordPattern || o.Af), + (this.indentationRules = this._conf.indentationRules), + this._conf.indentationRules + ? (this.indentRulesSupport = new u(this._conf.indentationRules)) + : (this.indentRulesSupport = null), + (this.foldingRules = this._conf.folding || {}); + } + get brackets() { + return ( + !this._brackets && + this._conf.brackets && + (this._brackets = new d.EA( + this._languageIdentifier, + this._conf.brackets + )), + this._brackets + ); + } + get electricCharacter() { + return ( + this._electricCharacter || + (this._electricCharacter = new h(this.brackets)), + this._electricCharacter + ); + } + onEnter(e, t, i, n) { + return this._onEnterSupport + ? this._onEnterSupport.onEnter(e, t, i, n) + : null; + } + static _mergeConf(e, t) { + return { + comments: e ? t.comments || e.comments : t.comments, + brackets: e ? t.brackets || e.brackets : t.brackets, + wordPattern: e ? t.wordPattern || e.wordPattern : t.wordPattern, + indentationRules: e + ? t.indentationRules || e.indentationRules + : t.indentationRules, + onEnterRules: e + ? t.onEnterRules || e.onEnterRules + : t.onEnterRules, + autoClosingPairs: e + ? t.autoClosingPairs || e.autoClosingPairs + : t.autoClosingPairs, + surroundingPairs: e + ? t.surroundingPairs || e.surroundingPairs + : t.surroundingPairs, + autoCloseBefore: e + ? t.autoCloseBefore || e.autoCloseBefore + : t.autoCloseBefore, + folding: e ? t.folding || e.folding : t.folding, + __electricCharacterSupport: e + ? t.__electricCharacterSupport || e.__electricCharacterSupport + : t.__electricCharacterSupport, + }; + } + static _handleComments(e) { + let t = e.comments; + if (!t) return null; + let i = {}; + if ( + (t.lineComment && (i.lineCommentToken = t.lineComment), + t.blockComment) + ) { + let [e, n] = t.blockComment; + (i.blockCommentStartToken = e), (i.blockCommentEndToken = n); + } + return i; + } + } + class m { + constructor(e) { + this.languageIdentifier = e; + } + } + const _ = new (class { + constructor() { + (this._entries = new Map()), + (this._onDidChange = new n.Q5()), + (this.onDidChange = this._onDidChange.event); + } + register(e, t) { + let i = this._getRichEditSupport(e.id), + n = new p(e, i, t); + return ( + this._entries.set(e.id, n), + this._onDidChange.fire(new m(e)), + (0, r.OF)(() => { + this._entries.get(e.id) === n && + (this._entries.set(e.id, i), + this._onDidChange.fire(new m(e))); + }) + ); + } + _getRichEditSupport(e) { + return this._entries.get(e); + } + getIndentationRules(e) { + const t = this._entries.get(e); + return (t && t.indentationRules) || null; + } + _getElectricCharacterSupport(e) { + let t = this._getRichEditSupport(e); + return (t && t.electricCharacter) || null; + } + getElectricCharacters(e) { + let t = this._getElectricCharacterSupport(e); + return t ? t.getElectricCharacters() : []; + } + onElectricCharacter(e, t, i) { + let n = (0, l.wH)(t, i - 1), + r = this._getElectricCharacterSupport(n.languageId); + return r + ? r.onElectricCharacter(e, n, i - n.firstCharOffset) + : null; + } + getComments(e) { + let t = this._getRichEditSupport(e); + return (t && t.comments) || null; + } + _getCharacterPairSupport(e) { + let t = this._getRichEditSupport(e); + return (t && t.characterPair) || null; + } + getAutoClosingPairs(e) { + let t = this._getCharacterPairSupport(e); + return t ? t.getAutoClosingPairs() : []; + } + getAutoCloseBeforeSet(e) { + let t = this._getCharacterPairSupport(e); + return t + ? t.getAutoCloseBeforeSet() + : c.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED; + } + getSurroundingPairs(e) { + let t = this._getCharacterPairSupport(e); + return t ? t.getSurroundingPairs() : []; + } + shouldAutoClosePair(e, t, i) { + const n = (0, l.wH)(t, i - 1); + return c.shouldAutoClosePair(e, n, i - n.firstCharOffset); + } + getWordDefinition(e) { + let t = this._getRichEditSupport(e); + return t ? (0, o.eq)(t.wordDefinition || null) : (0, o.eq)(null); + } + getFoldingRules(e) { + let t = this._getRichEditSupport(e); + return t ? t.foldingRules : {}; + } + getIndentRulesSupport(e) { + let t = this._getRichEditSupport(e); + return (t && t.indentRulesSupport) || null; + } + getPrecedingValidLine(e, t, i) { + let n = e.getLanguageIdAtPosition(t, 0); + if (t > 1) { + let r, + s = -1; + for (r = t - 1; r >= 1; r--) { + if (e.getLanguageIdAtPosition(r, 0) !== n) return s; + let t = e.getLineContent(r); + if (!i.shouldIgnore(t) && !/^\s+$/.test(t) && '' !== t) + return r; + s = r; + } + } + return -1; + } + getInheritIndentForLine(e, t, i, n = !0) { + if (e < 4) return null; + const r = this.getIndentRulesSupport(t.getLanguageIdentifier().id); + if (!r) return null; + if (i <= 1) return { indentation: '', action: null }; + const o = this.getPrecedingValidLine(t, i, r); + if (o < 0) return null; + if (o < 1) return { indentation: '', action: null }; + const l = t.getLineContent(o); + if (r.shouldIncrease(l) || r.shouldIndentNextLine(l)) + return { indentation: s.V8(l), action: a.w.Indent, line: o }; + if (r.shouldDecrease(l)) + return { indentation: s.V8(l), action: null, line: o }; + { + if (1 === o) + return { + indentation: s.V8(t.getLineContent(o)), + action: null, + line: o, + }; + const e = o - 1, + i = r.getIndentMetadata(t.getLineContent(e)); + if (!(3 & i) && 4 & i) { + let i = 0; + for (let n = e - 1; n > 0; n--) + if (!r.shouldIndentNextLine(t.getLineContent(n))) { + i = n; + break; + } + return { + indentation: s.V8(t.getLineContent(i + 1)), + action: null, + line: i + 1, + }; + } + if (n) + return { + indentation: s.V8(t.getLineContent(o)), + action: null, + line: o, + }; + for (let e = o; e > 0; e--) { + const i = t.getLineContent(e); + if (r.shouldIncrease(i)) + return { indentation: s.V8(i), action: a.w.Indent, line: e }; + if (r.shouldIndentNextLine(i)) { + let i = 0; + for (let n = e - 1; n > 0; n--) + if (!r.shouldIndentNextLine(t.getLineContent(e))) { + i = n; + break; + } + return { + indentation: s.V8(t.getLineContent(i + 1)), + action: null, + line: i + 1, + }; + } + if (r.shouldDecrease(i)) + return { indentation: s.V8(i), action: null, line: e }; + } + return { + indentation: s.V8(t.getLineContent(1)), + action: null, + line: 1, + }; + } + } + getGoodIndentForLine(e, t, i, n, r) { + if (e < 4) return null; + const o = this._getRichEditSupport(i); + if (!o) return null; + const l = this.getIndentRulesSupport(i); + if (!l) return null; + const c = this.getInheritIndentForLine(e, t, n), + d = t.getLineContent(n); + if (c) { + const i = c.line; + if (void 0 !== i) { + const n = o.onEnter(e, '', t.getLineContent(i), ''); + if (n) { + let e = s.V8(t.getLineContent(i)); + return ( + n.removeText && + (e = e.substring(0, e.length - n.removeText)), + n.indentAction === a.w.Indent || + n.indentAction === a.w.IndentOutdent + ? (e = r.shiftIndent(e)) + : n.indentAction === a.w.Outdent && + (e = r.unshiftIndent(e)), + l.shouldDecrease(d) && (e = r.unshiftIndent(e)), + n.appendText && (e += n.appendText), + s.V8(e) + ); + } + } + return l.shouldDecrease(d) + ? c.action === a.w.Indent + ? c.indentation + : r.unshiftIndent(c.indentation) + : c.action === a.w.Indent + ? r.shiftIndent(c.indentation) + : c.indentation; + } + return null; + } + getIndentForEnter(e, t, i, n) { + if (e < 4) return null; + t.forceTokenization(i.startLineNumber); + const r = t.getLineTokens(i.startLineNumber), + o = (0, l.wH)(r, i.startColumn - 1), + c = o.getLineContent(); + let d, + h, + u = !1; + o.firstCharOffset > 0 && r.getLanguageId(0) !== o.languageId + ? ((u = !0), + (d = c.substr(0, i.startColumn - 1 - o.firstCharOffset))) + : (d = r.getLineContent().substring(0, i.startColumn - 1)), + (h = i.isEmpty() + ? c.substr(i.startColumn - 1 - o.firstCharOffset) + : this.getScopedLineTokens(t, i.endLineNumber, i.endColumn) + .getLineContent() + .substr(i.endColumn - 1 - o.firstCharOffset)); + const g = this.getIndentRulesSupport(o.languageId); + if (!g) return null; + const f = d, + p = s.V8(d), + m = { + getLineTokens: (e) => t.getLineTokens(e), + getLanguageIdentifier: () => t.getLanguageIdentifier(), + getLanguageIdAtPosition: (e, i) => + t.getLanguageIdAtPosition(e, i), + getLineContent: (e) => + e === i.startLineNumber ? f : t.getLineContent(e), + }, + _ = s.V8(r.getLineContent()), + b = this.getInheritIndentForLine(e, m, i.startLineNumber + 1); + if (!b) { + const e = u ? _ : p; + return { beforeEnter: e, afterEnter: e }; + } + let v = u ? _ : b.indentation; + return ( + b.action === a.w.Indent && (v = n.shiftIndent(v)), + g.shouldDecrease(h) && (v = n.unshiftIndent(v)), + { beforeEnter: u ? _ : p, afterEnter: v } + ); + } + getIndentActionForType(e, t, i, n, r) { + if (e < 4) return null; + const s = this.getScopedLineTokens( + t, + i.startLineNumber, + i.startColumn + ), + o = this.getIndentRulesSupport(s.languageId); + if (!o) return null; + const l = s.getLineContent(), + c = l.substr(0, i.startColumn - 1 - s.firstCharOffset); + let d; + if ( + ((d = i.isEmpty() + ? l.substr(i.startColumn - 1 - s.firstCharOffset) + : this.getScopedLineTokens(t, i.endLineNumber, i.endColumn) + .getLineContent() + .substr(i.endColumn - 1 - s.firstCharOffset)), + !o.shouldDecrease(c + d) && o.shouldDecrease(c + n + d)) + ) { + const n = this.getInheritIndentForLine( + e, + t, + i.startLineNumber, + !1 + ); + if (!n) return null; + let s = n.indentation; + return n.action !== a.w.Indent && (s = r.unshiftIndent(s)), s; + } + return null; + } + getIndentMetadata(e, t) { + const i = this.getIndentRulesSupport(e.getLanguageIdentifier().id); + return i + ? t < 1 || t > e.getLineCount() + ? null + : i.getIndentMetadata(e.getLineContent(t)) + : null; + } + getEnterAction(e, t, i) { + const n = this.getScopedLineTokens( + t, + i.startLineNumber, + i.startColumn + ), + r = this._getRichEditSupport(n.languageId); + if (!r) return null; + const s = n.getLineContent(), + o = s.substr(0, i.startColumn - 1 - n.firstCharOffset); + let l; + l = i.isEmpty() + ? s.substr(i.startColumn - 1 - n.firstCharOffset) + : this.getScopedLineTokens(t, i.endLineNumber, i.endColumn) + .getLineContent() + .substr(i.endColumn - 1 - n.firstCharOffset); + let c = ''; + if (i.startLineNumber > 1 && 0 === n.firstCharOffset) { + const e = this.getScopedLineTokens(t, i.startLineNumber - 1); + e.languageId === n.languageId && (c = e.getLineContent()); + } + const d = r.onEnter(e, c, o, l); + if (!d) return null; + const h = d.indentAction; + let u = d.appendText; + const g = d.removeText || 0; + u || (u = h === a.w.Indent || h === a.w.IndentOutdent ? '\t' : ''); + let f = this.getIndentationAtPosition( + t, + i.startLineNumber, + i.startColumn + ); + return ( + g && (f = f.substring(0, f.length - g)), + { indentAction: h, appendText: u, removeText: g, indentation: f } + ); + } + getIndentationAtPosition(e, t, i) { + const n = e.getLineContent(t); + let r = s.V8(n); + return r.length > i - 1 && (r = r.substring(0, i - 1)), r; + } + getScopedLineTokens(e, t, i) { + e.forceTokenization(t); + const n = e.getLineTokens(t), + r = void 0 === i ? e.getLineMaxColumn(t) - 1 : i - 1; + return (0, l.wH)(n, r); + } + getBracketsSupport(e) { + const t = this._getRichEditSupport(e); + return (t && t.brackets) || null; + } + })(); + }, + 71144: (e, t, i) => { + 'use strict'; + i.d(t, { dQ: () => l, XT: () => c, Tb: () => d }); + var n = i(63580), + r = i(4669), + s = i(43775), + o = i(83831), + a = i(89872); + const l = new (class { + constructor() { + (this._onDidChangeLanguages = new r.Q5()), + (this.onDidChangeLanguages = this._onDidChangeLanguages.event), + (this._languages = []), + (this._dynamicLanguages = []); + } + registerLanguage(e) { + return ( + this._languages.push(e), + this._onDidChangeLanguages.fire(void 0), + { + dispose: () => { + for (let t = 0, i = this._languages.length; t < i; t++) + if (this._languages[t] === e) + return void this._languages.splice(t, 1); + }, + } + ); + } + getLanguages() { + return [].concat(this._languages).concat(this._dynamicLanguages); + } + })(); + a.B.add('editor.modesRegistry', l); + const c = 'plaintext', + d = new s.rl(c, 1); + l.registerLanguage({ + id: c, + extensions: ['.txt'], + aliases: [n.N('plainText.alias', 'Plain Text'), 'text'], + mimetypes: ['text/plain'], + }), + o.zu.register(d, { + brackets: [ + ['(', ')'], + ['[', ']'], + ['{', '}'], + ], + surroundingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '<', close: '>' }, + { open: '"', close: '"' }, + { open: "'", close: "'" }, + { open: '`', close: '`' }, + ], + folding: { offSide: !0 }, + }); + }, + 28111: (e, t, i) => { + 'use strict'; + i.d(t, { + nO: () => s, + TG: () => o, + pA: () => a, + Ri: () => l, + mh: () => c, + }); + var n = i(85600), + r = i(43775); + const s = new (class { + clone() { + return this; + } + equals(e) { + return this === e; + } + })(), + o = 'vs.editor.nullMode', + a = new r.rl(o, 0); + function l(e, t, i, r) { + return new n.hG([new n.WU(r, '', e)], i); + } + function c(e, t, i, r) { + let o = new Uint32Array(2); + return ( + (o[0] = r), + (o[1] = (16384 | (e << 0) | (2 << 23)) >>> 0), + new n.Hi(o, null === i ? s : i) + ); + } + }, + 40764: (e, t, i) => { + 'use strict'; + function n(e, t) { + let i = e.getCount(), + n = e.findTokenIndexAtOffset(t), + s = e.getLanguageId(n), + o = n; + for (; o + 1 < i && e.getLanguageId(o + 1) === s; ) o++; + let a = n; + for (; a > 0 && e.getLanguageId(a - 1) === s; ) a--; + return new r(e, s, a, o + 1, e.getStartOffset(a), e.getEndOffset(o)); + } + i.d(t, { wH: () => n, Bu: () => s }); + class r { + constructor(e, t, i, n, r, s) { + (this._actual = e), + (this.languageId = t), + (this._firstTokenIndex = i), + (this._lastTokenIndex = n), + (this.firstCharOffset = r), + (this._lastCharOffset = s); + } + getLineContent() { + return this._actual + .getLineContent() + .substring(this.firstCharOffset, this._lastCharOffset); + } + getActualLineContentBefore(e) { + return this._actual + .getLineContent() + .substring(0, this.firstCharOffset + e); + } + getTokenCount() { + return this._lastTokenIndex - this._firstTokenIndex; + } + findTokenIndexAtOffset(e) { + return ( + this._actual.findTokenIndexAtOffset(e + this.firstCharOffset) - + this._firstTokenIndex + ); + } + getStandardTokenType(e) { + return this._actual.getStandardTokenType(e + this._firstTokenIndex); + } + } + function s(e) { + return 0 != (7 & e); + } + }, + 34227: (e, t, i) => { + 'use strict'; + i.d(t, { EA: () => a, Vr: () => f }); + var n = i(97295), + r = i(50072), + s = i(24314); + class o { + constructor(e, t, i, n, r, s) { + (this.languageIdentifier = e), + (this.index = t), + (this.open = i), + (this.close = n), + (this.forwardRegex = r), + (this.reversedRegex = s), + (this._openSet = o._toSet(this.open)), + (this._closeSet = o._toSet(this.close)); + } + isOpen(e) { + return this._openSet.has(e); + } + isClose(e) { + return this._closeSet.has(e); + } + static _toSet(e) { + const t = new Set(); + for (const i of e) t.add(i); + return t; + } + } + class a { + constructor(e, t) { + const i = (function (e) { + const t = e.length; + e = e.map((e) => [e[0].toLowerCase(), e[1].toLowerCase()]); + const i = []; + for (let e = 0; e < t; e++) i[e] = e; + const n = (e, t) => { + const [i, n] = e, + [r, s] = t; + return i === r || i === s || n === r || n === s; + }, + r = (e, n) => { + const r = Math.min(e, n), + s = Math.max(e, n); + for (let e = 0; e < t; e++) i[e] === s && (i[e] = r); + }; + for (let s = 0; s < t; s++) { + const o = e[s]; + for (let a = s + 1; a < t; a++) n(o, e[a]) && r(i[s], i[a]); + } + const s = []; + for (let n = 0; n < t; n++) { + let r = [], + o = []; + for (let s = 0; s < t; s++) + if (i[s] === n) { + const [t, i] = e[s]; + r.push(t), o.push(i); + } + r.length > 0 && s.push({ open: r, close: o }); + } + return s; + })(t); + (this.brackets = i.map( + (t, n) => + new o( + e, + n, + t.open, + t.close, + (function (e, t, i, n) { + let r = []; + (r = r.concat(e)), (r = r.concat(t)); + for (let e = 0, t = r.length; e < t; e++) l(r[e], i, n, r); + return (r = d(r)), r.sort(c), r.reverse(), u(r); + })(t.open, t.close, i, n), + (function (e, t, i, n) { + let r = []; + (r = r.concat(e)), (r = r.concat(t)); + for (let e = 0, t = r.length; e < t; e++) l(r[e], i, n, r); + return (r = d(r)), r.sort(c), r.reverse(), u(r.map(g)); + })(t.open, t.close, i, n) + ) + )), + (this.forwardRegex = (function (e) { + let t = []; + for (const i of e) { + for (const e of i.open) t.push(e); + for (const e of i.close) t.push(e); + } + return (t = d(t)), u(t); + })(this.brackets)), + (this.reversedRegex = (function (e) { + let t = []; + for (const i of e) { + for (const e of i.open) t.push(e); + for (const e of i.close) t.push(e); + } + return (t = d(t)), u(t.map(g)); + })(this.brackets)), + (this.textIsBracket = {}), + (this.textIsOpenBracket = {}), + (this.maxBracketLength = 0); + for (const e of this.brackets) { + for (const t of e.open) + (this.textIsBracket[t] = e), + (this.textIsOpenBracket[t] = !0), + (this.maxBracketLength = Math.max( + this.maxBracketLength, + t.length + )); + for (const t of e.close) + (this.textIsBracket[t] = e), + (this.textIsOpenBracket[t] = !1), + (this.maxBracketLength = Math.max( + this.maxBracketLength, + t.length + )); + } + } + } + function l(e, t, i, n) { + for (let r = 0, s = t.length; r < s; r++) { + if (r === i) continue; + const s = t[r]; + for (const t of s.open) t.indexOf(e) >= 0 && n.push(t); + for (const t of s.close) t.indexOf(e) >= 0 && n.push(t); + } + } + function c(e, t) { + return e.length - t.length; + } + function d(e) { + if (e.length <= 1) return e; + const t = [], + i = new Set(); + for (const n of e) i.has(n) || (t.push(n), i.add(n)); + return t; + } + function h(e) { + const t = /^[\w ]+$/.test(e); + return (e = n.ec(e)), t ? `\\b${e}\\b` : e; + } + function u(e) { + let t = `(${e.map(h).join(')|(')})`; + return n.GF(t, !0); + } + const g = (function () { + let e = null, + t = null; + return function (i) { + return ( + e !== i && + ((e = i), + (t = (function (e) { + if (r.lZ) { + const t = new Uint16Array(e.length); + let i = 0; + for (let n = e.length - 1; n >= 0; n--) + t[i++] = e.charCodeAt(n); + return r.oe().decode(t); + } + { + let t = [], + i = 0; + for (let n = e.length - 1; n >= 0; n--) + t[i++] = e.charAt(n); + return t.join(''); + } + })(e))), + t + ); + }; + })(); + class f { + static _findPrevBracketInText(e, t, i, n) { + let r = i.match(e); + if (!r) return null; + let o = i.length - (r.index || 0), + a = r[0].length, + l = n + o; + return new s.e(t, l - a + 1, t, l + 1); + } + static findPrevBracketInRange(e, t, i, n, r) { + const s = g(i).substring(i.length - r, i.length - n); + return this._findPrevBracketInText(e, t, s, n); + } + static findNextBracketInText(e, t, i, n) { + let r = i.match(e); + if (!r) return null; + let o = r.index || 0, + a = r[0].length; + if (0 === a) return null; + let l = n + o; + return new s.e(t, l + 1, t, l + 1 + a); + } + static findNextBracketInRange(e, t, i, n, r) { + const s = i.substring(n, r); + return this.findNextBracketInText(e, t, s, n); + } + } + }, + 55713: (e, t, i) => { + 'use strict'; + i.d(t, { C: () => a, F: () => l }); + var n = i(97295), + r = i(78411), + s = i(28111); + const o = { + getInitialState: () => s.nO, + tokenize2: (e, t, i) => (0, s.mh)(0, e, t, i), + }; + function a(e, t = o) { + return (function (e, t) { + let i = '<div class="monaco-tokenized-source">', + s = e.split(/\r\n|\r|\n/), + o = t.getInitialState(); + for (let e = 0, a = s.length; e < a; e++) { + let a = s[e]; + e > 0 && (i += '<br/>'); + let l = t.tokenize2(a, o, 0); + r.A.convertToEndOffset(l.tokens, a.length); + let c = new r.A(l.tokens, a).inflate(), + d = 0; + for (let e = 0, t = c.getCount(); e < t; e++) { + const t = c.getClassName(e), + r = c.getEndOffset(e); + (i += `<span class="${t}">${n.YU(a.substring(d, r))}</span>`), + (d = r); + } + o = l.endState; + } + return (i += '</div>'), i; + })(e, t || o); + } + function l(e, t, i, n, r, s, o) { + let a = '<div>', + l = n, + c = 0; + for (let d = 0, h = t.getCount(); d < h; d++) { + const h = t.getEndOffset(d); + if (h <= n) continue; + let u = ''; + for (; l < h && l < r; l++) { + const t = e.charCodeAt(l); + switch (t) { + case 9: + let e = s - ((l + c) % s); + for (c += e - 1; e > 0; ) (u += o ? ' ' : ' '), e--; + break; + case 60: + u += '<'; + break; + case 62: + u += '>'; + break; + case 38: + u += '&'; + break; + case 0: + u += '�'; + break; + case 65279: + case 8232: + case 8233: + case 133: + u += '�'; + break; + case 13: + u += '​'; + break; + case 32: + u += o ? ' ' : ' '; + break; + default: + u += String.fromCharCode(t); + } + } + if ( + ((a += `<span style="${t.getInlineStyle(d, i)}">${u}</span>`), + h > r || l >= r) + ) + break; + } + return (a += '</div>'), a; + } + }, + 90469: (e, t, i) => { + 'use strict'; + i.d(t, { p: () => n }); + const n = (0, i(72065).yh)('editorWorkerService'); + }, + 26479: (e, t, i) => { + 'use strict'; + i.d(t, { i: () => n }); + const n = (0, i(72065).yh)('markerDecorationsService'); + }, + 71531: (e, t, i) => { + 'use strict'; + i.d(t, { h: () => n }); + const n = (0, i(72065).yh)('modeService'); + }, + 51200: (e, t, i) => { + 'use strict'; + i.d(t, { q: () => n, p: () => r }); + const n = (0, i(72065).yh)('modelService'); + function r(e) { + return !e.isTooLargeForSyncing() && !e.isForSimpleWidget; + } + }, + 32334: (e, t, i) => { + 'use strict'; + i.d(t, { BR: () => x, e3: () => L, tw: () => M }); + var n = i(4669), + r = i(5976), + s = i(1432), + o = i(17301), + a = i(64141), + l = i(3411), + c = i(43775), + d = i(71144), + h = i(33187), + u = i(33108), + g = i(15393), + f = i(71050), + p = i(97781), + m = i(43557), + _ = i(64862), + b = i(89954), + v = i(95215), + y = i(65072), + w = function (e, t) { + return function (i, n) { + t(i, n, e); + }; + }; + function C(e) { + return e.toString(); + } + class S { + constructor(e, t, i) { + (this._modelEventListeners = new r.SL()), + (this.model = e), + (this._languageSelection = null), + (this._languageSelectionListener = null), + this._modelEventListeners.add(e.onWillDispose(() => t(e))), + this._modelEventListeners.add( + e.onDidChangeLanguage((t) => i(e, t)) + ); + } + _disposeLanguageSelection() { + this._languageSelectionListener && + (this._languageSelectionListener.dispose(), + (this._languageSelectionListener = null)), + this._languageSelection && + (this._languageSelection.dispose(), + (this._languageSelection = null)); + } + dispose() { + this._modelEventListeners.dispose(), + this._disposeLanguageSelection(); + } + setLanguage(e) { + this._disposeLanguageSelection(), + (this._languageSelection = e), + (this._languageSelectionListener = this._languageSelection.onDidChange( + () => this.model.setMode(e.languageIdentifier) + )), + this.model.setMode(e.languageIdentifier); + } + } + const k = s.IJ || s.dz ? 1 : 2; + let x = class e extends r.JT { + constructor(e, t, i, r, s) { + super(), + (this._configurationService = e), + (this._resourcePropertiesService = t), + (this._themeService = i), + (this._logService = r), + (this._undoRedoService = s), + (this._onModelAdded = this._register(new n.Q5())), + (this.onModelAdded = this._onModelAdded.event), + (this._onModelRemoved = this._register(new n.Q5())), + (this.onModelRemoved = this._onModelRemoved.event), + (this._onModelModeChanged = this._register(new n.Q5())), + (this.onModelModeChanged = this._onModelModeChanged.event), + (this._modelCreationOptionsByLanguageAndResource = Object.create( + null + )), + (this._models = {}), + (this._disposedModels = new Map()), + (this._disposedModelsHeapSize = 0), + (this._semanticStyling = this._register( + new N(this._themeService, this._logService) + )), + this._register( + this._configurationService.onDidChangeConfiguration(() => + this._updateModelOptions() + ) + ), + this._updateModelOptions(), + this._register( + new D( + this, + this._themeService, + this._configurationService, + this._semanticStyling + ) + ); + } + static _readModelOptions(e, t) { + let i = a.DB.tabSize; + if (e.editor && void 0 !== e.editor.tabSize) { + const t = parseInt(e.editor.tabSize, 10); + isNaN(t) || (i = t), i < 1 && (i = 1); + } + let n = i; + if ( + e.editor && + void 0 !== e.editor.indentSize && + 'tabSize' !== e.editor.indentSize + ) { + const t = parseInt(e.editor.indentSize, 10); + isNaN(t) || (n = t), n < 1 && (n = 1); + } + let r = a.DB.insertSpaces; + e.editor && + void 0 !== e.editor.insertSpaces && + (r = + 'false' !== e.editor.insertSpaces && + Boolean(e.editor.insertSpaces)); + let s = k; + const o = e.eol; + '\r\n' === o ? (s = 2) : '\n' === o && (s = 1); + let l = a.DB.trimAutoWhitespace; + e.editor && + void 0 !== e.editor.trimAutoWhitespace && + (l = + 'false' !== e.editor.trimAutoWhitespace && + Boolean(e.editor.trimAutoWhitespace)); + let c = a.DB.detectIndentation; + e.editor && + void 0 !== e.editor.detectIndentation && + (c = + 'false' !== e.editor.detectIndentation && + Boolean(e.editor.detectIndentation)); + let d = a.DB.largeFileOptimizations; + return ( + e.editor && + void 0 !== e.editor.largeFileOptimizations && + (d = + 'false' !== e.editor.largeFileOptimizations && + Boolean(e.editor.largeFileOptimizations)), + { + isForSimpleWidget: t, + tabSize: i, + indentSize: n, + insertSpaces: r, + detectIndentation: c, + defaultEOL: s, + trimAutoWhitespace: l, + largeFileOptimizations: d, + } + ); + } + _getEOL(e, t) { + if (e) return this._resourcePropertiesService.getEOL(e, t); + const i = this._configurationService.getValue('files.eol', { + overrideIdentifier: t, + }); + return i && 'auto' !== i + ? i + : 3 === s.OS || 2 === s.OS + ? '\n' + : '\r\n'; + } + getCreationOptions(t, i, n) { + let r = this._modelCreationOptionsByLanguageAndResource[t + i]; + if (!r) { + const s = this._configurationService.getValue('editor', { + overrideIdentifier: t, + resource: i, + }), + o = this._getEOL(i, t); + (r = e._readModelOptions({ editor: s, eol: o }, n)), + (this._modelCreationOptionsByLanguageAndResource[t + i] = r); + } + return r; + } + _updateModelOptions() { + const t = this._modelCreationOptionsByLanguageAndResource; + this._modelCreationOptionsByLanguageAndResource = Object.create( + null + ); + const i = Object.keys(this._models); + for (let n = 0, r = i.length; n < r; n++) { + const r = i[n], + s = this._models[r], + o = s.model.getLanguageIdentifier().language, + a = s.model.uri, + l = t[o + a], + c = this.getCreationOptions(o, a, s.model.isForSimpleWidget); + e._setModelOptionsForModel(s.model, c, l); + } + } + static _setModelOptionsForModel(e, t, i) { + i && + i.defaultEOL !== t.defaultEOL && + 1 === e.getLineCount() && + e.setEOL(1 === t.defaultEOL ? 0 : 1), + (i && + i.detectIndentation === t.detectIndentation && + i.insertSpaces === t.insertSpaces && + i.tabSize === t.tabSize && + i.indentSize === t.indentSize && + i.trimAutoWhitespace === t.trimAutoWhitespace) || + (t.detectIndentation + ? (e.detectIndentation(t.insertSpaces, t.tabSize), + e.updateOptions({ + trimAutoWhitespace: t.trimAutoWhitespace, + })) + : e.updateOptions({ + insertSpaces: t.insertSpaces, + tabSize: t.tabSize, + indentSize: t.indentSize, + trimAutoWhitespace: t.trimAutoWhitespace, + })); + } + _removeDisposedModel(e) { + const t = this._disposedModels.get(C(e)); + return ( + t && (this._disposedModelsHeapSize -= t.heapSize), + this._disposedModels.delete(C(e)), + t + ); + } + _createModelData(e, t, i, n) { + const r = this.getCreationOptions(t.language, i, n), + s = new l.yO(e, r, t, i, this._undoRedoService); + if (i && this._disposedModels.has(C(i))) { + const e = this._removeDisposedModel(i), + t = this._undoRedoService.getElements(i), + n = + (function (e) { + const t = new b.yP(), + i = e.createSnapshot(); + let n; + for (; (n = i.read()); ) t.update(n); + return t.digest(); + })(s) === e.sha1; + if (n || e.sharesUndoRedoStack) { + for (const e of t.past) + (0, v.e9)(e) && e.matchesResource(i) && e.setModel(s); + for (const e of t.future) + (0, v.e9)(e) && e.matchesResource(i) && e.setModel(s); + this._undoRedoService.setElementsValidFlag( + i, + !0, + (e) => (0, v.e9)(e) && e.matchesResource(i) + ), + n && + (s._overwriteVersionId(e.versionId), + s._overwriteAlternativeVersionId(e.alternativeVersionId), + s._overwriteInitialUndoRedoSnapshot( + e.initialUndoRedoSnapshot + )); + } else + null !== e.initialUndoRedoSnapshot && + this._undoRedoService.restoreSnapshot( + e.initialUndoRedoSnapshot + ); + } + const o = C(s.uri); + if (this._models[o]) + throw new Error( + 'ModelService: Cannot add model because it already exists!' + ); + const a = new S( + s, + (e) => this._onWillDispose(e), + (e, t) => this._onDidChangeLanguage(e, t) + ); + return (this._models[o] = a), a; + } + createModel(e, t, i, n = !1) { + let r; + return ( + t + ? ((r = this._createModelData(e, t.languageIdentifier, i, n)), + this.setMode(r.model, t)) + : (r = this._createModelData(e, d.Tb, i, n)), + this._onModelAdded.fire(r.model), + r.model + ); + } + setMode(e, t) { + if (!t) return; + const i = this._models[C(e.uri)]; + i && i.setLanguage(t); + } + getModels() { + const e = [], + t = Object.keys(this._models); + for (let i = 0, n = t.length; i < n; i++) { + const n = t[i]; + e.push(this._models[n].model); + } + return e; + } + getModel(e) { + const t = C(e), + i = this._models[t]; + return i ? i.model : null; + } + getSemanticTokensProviderStyling(e) { + return this._semanticStyling.get(e); + } + _onWillDispose(e) { + const t = C(e.uri), + i = this._models[t]; + delete this._models[t], + i.dispose(), + delete this._modelCreationOptionsByLanguageAndResource[ + e.getLanguageIdentifier().language + e.uri + ], + this._onModelRemoved.fire(e); + } + _onDidChangeLanguage(t, i) { + const n = i.oldLanguage, + r = t.getLanguageIdentifier().language, + s = this.getCreationOptions(n, t.uri, t.isForSimpleWidget), + o = this.getCreationOptions(r, t.uri, t.isForSimpleWidget); + e._setModelOptionsForModel(t, o, s), + this._onModelModeChanged.fire({ model: t, oldModeId: n }); + } + }; + x = (function (e, t, i, n) { + var r, + s = arguments.length, + o = + s < 3 + ? t + : null === n + ? (n = Object.getOwnPropertyDescriptor(t, i)) + : n; + if ( + 'object' == typeof Reflect && + 'function' == typeof Reflect.decorate + ) + o = Reflect.decorate(e, t, i, n); + else + for (var a = e.length - 1; a >= 0; a--) + (r = e[a]) && + (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); + return s > 3 && o && Object.defineProperty(t, i, o), o; + })([w(0, u.Ui), w(1, h.y), w(2, p.XE), w(3, m.VZ), w(4, _.t)], x); + const L = 'editor.semanticHighlighting'; + function M(e, t, i) { + var n; + const r = + null === + (n = i.getValue(L, { + overrideIdentifier: e.getLanguageIdentifier().language, + resource: e.uri, + })) || void 0 === n + ? void 0 + : n.enabled; + return 'boolean' == typeof r + ? r + : t.getColorTheme().semanticHighlighting; + } + class D extends r.JT { + constructor(e, t, i, n) { + super(), + (this._watchers = Object.create(null)), + (this._semanticStyling = n); + const r = (e) => { + this._watchers[e.uri.toString()] = new T( + e, + t, + this._semanticStyling + ); + }, + s = (e, t) => { + t.dispose(), delete this._watchers[e.uri.toString()]; + }, + o = () => { + for (let n of e.getModels()) { + const e = this._watchers[n.uri.toString()]; + M(n, t, i) ? e || r(n) : e && s(n, e); + } + }; + this._register( + e.onModelAdded((e) => { + M(e, t, i) && r(e); + }) + ), + this._register( + e.onModelRemoved((e) => { + const t = this._watchers[e.uri.toString()]; + t && s(e, t); + }) + ), + this._register( + i.onDidChangeConfiguration((e) => { + e.affectsConfiguration(L) && o(); + }) + ), + this._register(t.onDidColorThemeChange(o)); + } + } + class N extends r.JT { + constructor(e, t) { + super(), + (this._themeService = e), + (this._logService = t), + (this._caches = new WeakMap()), + this._register( + this._themeService.onDidColorThemeChange(() => { + this._caches = new WeakMap(); + }) + ); + } + get(e) { + return ( + this._caches.has(e) || + this._caches.set( + e, + new y.$(e.getLegend(), this._themeService, this._logService) + ), + this._caches.get(e) + ); + } + } + class E { + constructor(e, t, i) { + (this._provider = e), (this.resultId = t), (this.data = i); + } + dispose() { + this._provider.releaseDocumentSemanticTokens(this.resultId); + } + } + class T extends r.JT { + constructor(e, t, i) { + super(), + (this._isDisposed = !1), + (this._model = e), + (this._semanticStyling = i), + (this._fetchDocumentSemanticTokens = this._register( + new g.pY(() => this._fetchDocumentSemanticTokensNow(), 300) + )), + (this._currentDocumentResponse = null), + (this._currentDocumentRequestCancellationTokenSource = null), + (this._documentProvidersChangeListeners = []), + this._register( + this._model.onDidChangeContent(() => { + this._fetchDocumentSemanticTokens.isScheduled() || + this._fetchDocumentSemanticTokens.schedule(); + }) + ); + const n = () => { + (0, r.B9)(this._documentProvidersChangeListeners), + (this._documentProvidersChangeListeners = []); + for (const t of c.wT.all(e)) + 'function' == typeof t.onDidChange && + this._documentProvidersChangeListeners.push( + t.onDidChange(() => + this._fetchDocumentSemanticTokens.schedule(0) + ) + ); + }; + n(), + this._register( + c.wT.onDidChange(() => { + n(), this._fetchDocumentSemanticTokens.schedule(); + }) + ), + this._register( + t.onDidColorThemeChange((e) => { + this._setDocumentSemanticTokens(null, null, null, []), + this._fetchDocumentSemanticTokens.schedule(); + }) + ), + this._fetchDocumentSemanticTokens.schedule(0); + } + dispose() { + this._currentDocumentResponse && + (this._currentDocumentResponse.dispose(), + (this._currentDocumentResponse = null)), + this._currentDocumentRequestCancellationTokenSource && + (this._currentDocumentRequestCancellationTokenSource.cancel(), + (this._currentDocumentRequestCancellationTokenSource = null)), + this._setDocumentSemanticTokens(null, null, null, []), + (this._isDisposed = !0), + super.dispose(); + } + _fetchDocumentSemanticTokensNow() { + if (this._currentDocumentRequestCancellationTokenSource) return; + const e = this._getSemanticColoringProvider(); + if (!e) return; + this._currentDocumentRequestCancellationTokenSource = new f.A(); + const t = [], + i = this._model.onDidChangeContent((e) => { + t.push(e); + }), + n = this._semanticStyling.get(e), + r = + (this._currentDocumentResponse && + this._currentDocumentResponse.resultId) || + null; + Promise.resolve( + e.provideDocumentSemanticTokens( + this._model, + r, + this._currentDocumentRequestCancellationTokenSource.token + ) + ).then( + (r) => { + (this._currentDocumentRequestCancellationTokenSource = null), + i.dispose(), + this._setDocumentSemanticTokens(e, r || null, n, t); + }, + (e) => { + (e && + 'string' == typeof e.message && + -1 !== e.message.indexOf('busy')) || + o.dL(e), + (this._currentDocumentRequestCancellationTokenSource = null), + i.dispose(), + t.length > 0 && + (this._fetchDocumentSemanticTokens.isScheduled() || + this._fetchDocumentSemanticTokens.schedule()); + } + ); + } + static _isSemanticTokens(e) { + return e && !!e.data; + } + static _isSemanticTokensEdits(e) { + return e && Array.isArray(e.edits); + } + static _copy(e, t, i, n, r) { + for (let s = 0; s < r; s++) i[n + s] = e[t + s]; + } + _setDocumentSemanticTokens(e, t, i, n) { + const r = this._currentDocumentResponse; + if ( + (this._currentDocumentResponse && + (this._currentDocumentResponse.dispose(), + (this._currentDocumentResponse = null)), + this._isDisposed) + ) + e && t && e.releaseDocumentSemanticTokens(t.resultId); + else if (e && i) + if (t) { + if (T._isSemanticTokensEdits(t)) { + if (!r) return void this._model.setSemanticTokens(null, !0); + if (0 === t.edits.length) + t = { resultId: t.resultId, data: r.data }; + else { + let e = 0; + for (const i of t.edits) + e += (i.data ? i.data.length : 0) - i.deleteCount; + const i = r.data, + n = new Uint32Array(i.length + e); + let s = i.length, + o = n.length; + for (let e = t.edits.length - 1; e >= 0; e--) { + const r = t.edits[e], + a = s - (r.start + r.deleteCount); + a > 0 && (T._copy(i, s - a, n, o - a, a), (o -= a)), + r.data && + (T._copy( + r.data, + 0, + n, + o - r.data.length, + r.data.length + ), + (o -= r.data.length)), + (s = r.start); + } + s > 0 && T._copy(i, 0, n, 0, s), + (t = { resultId: t.resultId, data: n }); + } + } + if (T._isSemanticTokens(t)) { + this._currentDocumentResponse = new E(e, t.resultId, t.data); + const r = (0, y.h)(t, i, this._model.getLanguageIdentifier()); + if (n.length > 0) { + for (const e of n) + for (const t of r) + for (const i of e.changes) t.applyEdit(i.range, i.text); + this._fetchDocumentSemanticTokens.isScheduled() || + this._fetchDocumentSemanticTokens.schedule(); + } + this._model.setSemanticTokens(r, !0); + } else this._model.setSemanticTokens(null, !0); + } else this._model.setSemanticTokens(null, !0); + else this._model.setSemanticTokens(null, !1); + } + _getSemanticColoringProvider() { + const e = c.wT.ordered(this._model); + return e.length > 0 ? e[0] : null; + } + } + }, + 88216: (e, t, i) => { + 'use strict'; + i.d(t, { S: () => n }); + const n = (0, i(72065).yh)('textModelService'); + }, + 65072: (e, t, i) => { + 'use strict'; + i.d(t, { $: () => o, h: () => a }); + var n = i(43775), + r = i(43557), + s = i(58409); + class o { + constructor(e, t, i) { + (this._legend = e), + (this._themeService = t), + (this._logService = i), + (this._hashTable = new c()); + } + getMetadata(e, t, i) { + const s = this._hashTable.get(e, t, i.id); + let o; + if (s) + (o = s.metadata), + this._logService.getLevel() === r.in.Trace && + this._logService.trace( + `SemanticTokensProviderStyling [CACHED] ${e} / ${t}: foreground ${n.NX.getForeground( + o + )}, fontStyle ${n.NX.getFontStyle(o).toString(2)}` + ); + else { + let s = this._legend.tokenTypes[e]; + const a = []; + if (s) { + let e = t; + for ( + let t = 0; + e > 0 && t < this._legend.tokenModifiers.length; + t++ + ) + 1 & e && a.push(this._legend.tokenModifiers[t]), (e >>= 1); + e > 0 && + this._logService.getLevel() === r.in.Trace && + (this._logService.trace( + `SemanticTokensProviderStyling: unknown token modifier index: ${t.toString( + 2 + )} for legend: ${JSON.stringify( + this._legend.tokenModifiers + )}` + ), + a.push('not-in-legend')); + const n = this._themeService + .getColorTheme() + .getTokenStyleMetadata(s, a, i.language); + void 0 === n + ? (o = 2147483647) + : ((o = 0), + void 0 !== n.italic && + (o |= 1 | ((n.italic ? 1 : 0) << 11)), + void 0 !== n.bold && (o |= 2 | ((n.bold ? 2 : 0) << 11)), + void 0 !== n.underline && + (o |= 4 | ((n.underline ? 4 : 0) << 11)), + n.foreground && (o |= 8 | (n.foreground << 14)), + 0 === o && (o = 2147483647)); + } else + this._logService.getLevel() === r.in.Trace && + this._logService.trace( + `SemanticTokensProviderStyling: unknown token type index: ${e} for legend: ${JSON.stringify( + this._legend.tokenTypes + )}` + ), + (o = 2147483647), + (s = 'not-in-legend'); + this._hashTable.add(e, t, i.id, o), + this._logService.getLevel() === r.in.Trace && + this._logService.trace( + `SemanticTokensProviderStyling ${e} (${s}) / ${t} (${a.join( + ' ' + )}): foreground ${n.NX.getForeground( + o + )}, fontStyle ${n.NX.getFontStyle(o).toString(2)}` + ); + } + return o; + } + } + function a(e, t, i) { + const n = e.data, + r = (e.data.length / 5) | 0, + o = Math.max(Math.ceil(r / 1024), 400), + a = []; + let l = 0, + c = 1, + d = 0; + for (; l < r; ) { + const e = l; + let h = Math.min(e + o, r); + if (h < r) { + let t = h; + for (; t - 1 > e && 0 === n[5 * t]; ) t--; + if (t - 1 === e) { + let e = h; + for (; e + 1 < r && 0 === n[5 * e]; ) e++; + h = e; + } else h = t; + } + let u = new Uint32Array(4 * (h - e)), + g = 0, + f = 0; + for (; l < h; ) { + const e = 5 * l, + r = n[e], + s = n[e + 1], + o = c + r, + a = 0 === r ? d + s : s, + h = n[e + 2], + p = n[e + 3], + m = n[e + 4], + _ = t.getMetadata(p, m, i); + 2147483647 !== _ && + (0 === f && (f = o), + (u[g] = o - f), + (u[g + 1] = a), + (u[g + 2] = a + h), + (u[g + 3] = _), + (g += 4)), + (c = o), + (d = a), + l++; + } + g !== u.length && (u = u.subarray(0, g)); + const p = new s.Wz(f, new s.OU(u)); + a.push(p); + } + return a; + } + class l { + constructor(e, t, i, n) { + (this.tokenTypeIndex = e), + (this.tokenModifierSet = t), + (this.languageId = i), + (this.metadata = n), + (this.next = null); + } + } + class c { + constructor() { + (this._elementsCount = 0), + (this._currentLengthIndex = 0), + (this._currentLength = c._SIZES[this._currentLengthIndex]), + (this._growCount = Math.round( + this._currentLengthIndex + 1 < c._SIZES.length + ? (2 / 3) * this._currentLength + : 0 + )), + (this._elements = []), + c._nullOutEntries(this._elements, this._currentLength); + } + static _nullOutEntries(e, t) { + for (let i = 0; i < t; i++) e[i] = null; + } + _hash2(e, t) { + return ((e << 5) - e + t) | 0; + } + _hashFunc(e, t, i) { + return this._hash2(this._hash2(e, t), i) % this._currentLength; + } + get(e, t, i) { + const n = this._hashFunc(e, t, i); + let r = this._elements[n]; + for (; r; ) { + if ( + r.tokenTypeIndex === e && + r.tokenModifierSet === t && + r.languageId === i + ) + return r; + r = r.next; + } + return null; + } + add(e, t, i, n) { + if ( + (this._elementsCount++, + 0 !== this._growCount && this._elementsCount >= this._growCount) + ) { + const e = this._elements; + this._currentLengthIndex++, + (this._currentLength = c._SIZES[this._currentLengthIndex]), + (this._growCount = Math.round( + this._currentLengthIndex + 1 < c._SIZES.length + ? (2 / 3) * this._currentLength + : 0 + )), + (this._elements = []), + c._nullOutEntries(this._elements, this._currentLength); + for (const t of e) { + let e = t; + for (; e; ) { + const t = e.next; + (e.next = null), this._add(e), (e = t); + } + } + } + this._add(new l(e, t, i, n)); + } + _add(e) { + const t = this._hashFunc( + e.tokenTypeIndex, + e.tokenModifierSet, + e.languageId + ); + (e.next = this._elements[t]), (this._elements[t] = e); + } + } + c._SIZES = [ + 3, + 7, + 13, + 31, + 61, + 127, + 251, + 509, + 1021, + 2039, + 4093, + 8191, + 16381, + 32749, + 65521, + 131071, + 262139, + 524287, + 1048573, + 2097143, + ]; + }, + 33187: (e, t, i) => { + 'use strict'; + i.d(t, { V: () => r, y: () => s }); + var n = i(72065); + const r = (0, n.yh)('textResourceConfigurationService'), + s = (0, n.yh)('textResourcePropertiesService'); + }, + 20913: (e, t, i) => { + 'use strict'; + i.d(t, { + Oe: () => n, + ug: () => r, + qq: () => s, + ld: () => o, + UX: () => a, + aq: () => l, + B8: () => c, + xi: () => d, + UL: () => h, + }); + var n, + r, + s, + o, + a, + l, + c, + d, + h, + u = i(63580); + !(function (e) { + (e.noSelection = u.N('noSelection', 'No selection')), + (e.singleSelectionRange = u.N( + 'singleSelectionRange', + 'Line {0}, Column {1} ({2} selected)' + )), + (e.singleSelection = u.N( + 'singleSelection', + 'Line {0}, Column {1}' + )), + (e.multiSelectionRange = u.N( + 'multiSelectionRange', + '{0} selections ({1} characters selected)' + )), + (e.multiSelection = u.N('multiSelection', '{0} selections')), + (e.emergencyConfOn = u.N( + 'emergencyConfOn', + "Now changing the setting `accessibilitySupport` to 'on'." + )), + (e.openingDocs = u.N( + 'openingDocs', + 'Now opening the Editor Accessibility documentation page.' + )), + (e.readonlyDiffEditor = u.N( + 'readonlyDiffEditor', + ' in a read-only pane of a diff editor.' + )), + (e.editableDiffEditor = u.N( + 'editableDiffEditor', + ' in a pane of a diff editor.' + )), + (e.readonlyEditor = u.N( + 'readonlyEditor', + ' in a read-only code editor' + )), + (e.editableEditor = u.N('editableEditor', ' in a code editor')), + (e.changeConfigToOnMac = u.N( + 'changeConfigToOnMac', + 'To configure the editor to be optimized for usage with a Screen Reader press Command+E now.' + )), + (e.changeConfigToOnWinLinux = u.N( + 'changeConfigToOnWinLinux', + 'To configure the editor to be optimized for usage with a Screen Reader press Control+E now.' + )), + (e.auto_on = u.N( + 'auto_on', + 'The editor is configured to be optimized for usage with a Screen Reader.' + )), + (e.auto_off = u.N( + 'auto_off', + 'The editor is configured to never be optimized for usage with a Screen Reader, which is not the case at this time.' + )), + (e.tabFocusModeOnMsg = u.N( + 'tabFocusModeOnMsg', + 'Pressing Tab in the current editor will move focus to the next focusable element. Toggle this behavior by pressing {0}.' + )), + (e.tabFocusModeOnMsgNoKb = u.N( + 'tabFocusModeOnMsgNoKb', + 'Pressing Tab in the current editor will move focus to the next focusable element. The command {0} is currently not triggerable by a keybinding.' + )), + (e.tabFocusModeOffMsg = u.N( + 'tabFocusModeOffMsg', + 'Pressing Tab in the current editor will insert the tab character. Toggle this behavior by pressing {0}.' + )), + (e.tabFocusModeOffMsgNoKb = u.N( + 'tabFocusModeOffMsgNoKb', + 'Pressing Tab in the current editor will insert the tab character. The command {0} is currently not triggerable by a keybinding.' + )), + (e.openDocMac = u.N( + 'openDocMac', + 'Press Command+H now to open a browser window with more information related to editor accessibility.' + )), + (e.openDocWinLinux = u.N( + 'openDocWinLinux', + 'Press Control+H now to open a browser window with more information related to editor accessibility.' + )), + (e.outroMsg = u.N( + 'outroMsg', + 'You can dismiss this tooltip and return to the editor by pressing Escape or Shift+Escape.' + )), + (e.showAccessibilityHelpAction = u.N( + 'showAccessibilityHelpAction', + 'Show Accessibility Help' + )); + })(n || (n = {})), + (function (e) { + e.inspectTokensAction = u.N( + 'inspectTokens', + 'Developer: Inspect Tokens' + ); + })(r || (r = {})), + (function (e) { + e.gotoLineActionLabel = u.N( + 'gotoLineActionLabel', + 'Go to Line/Column...' + ); + })(s || (s = {})), + (function (e) { + e.helpQuickAccessActionLabel = u.N( + 'helpQuickAccess', + 'Show all Quick Access Providers' + ); + })(o || (o = {})), + (function (e) { + (e.quickCommandActionLabel = u.N( + 'quickCommandActionLabel', + 'Command Palette' + )), + (e.quickCommandHelp = u.N( + 'quickCommandActionHelp', + 'Show And Run Commands' + )); + })(a || (a = {})), + (function (e) { + (e.quickOutlineActionLabel = u.N( + 'quickOutlineActionLabel', + 'Go to Symbol...' + )), + (e.quickOutlineByCategoryActionLabel = u.N( + 'quickOutlineByCategoryActionLabel', + 'Go to Symbol by Category...' + )); + })(l || (l = {})), + (function (e) { + (e.editorViewAccessibleLabel = u.N( + 'editorViewAccessibleLabel', + 'Editor content' + )), + (e.accessibilityHelpMessage = u.N( + 'accessibilityHelpMessage', + 'Press Alt+F1 for Accessibility Options.' + )); + })(c || (c = {})), + (function (e) { + e.toggleHighContrast = u.N( + 'toggleHighContrast', + 'Toggle High Contrast Theme' + ); + })(d || (d = {})), + (function (e) { + e.bulkEditServiceSummary = u.N( + 'bulkEditServiceSummary', + 'Made {0} edits in {1} files' + ); + })(h || (h = {})); + }, + 27869: (e, t, i) => { + 'use strict'; + i.d(t, { + Kh: () => a, + Mm: () => l, + n0: () => g, + fY: () => f, + tR: () => m, + Ym: () => _, + hw: () => b, + DD: () => y, + zk: () => w, + Yp: () => C, + TC: () => S, + Dl: () => k, + zw: () => x, + e_: () => L, + kp: () => D, + zu: () => N, + m9: () => T, + lK: () => I, + Re: () => O, + eS: () => A, + }); + var n = i(63580), + r = i(41264), + s = i(73910), + o = i(97781); + const a = (0, s.P6)( + 'editor.lineHighlightBackground', + { dark: null, light: null, hc: null }, + n.N( + 'lineHighlight', + 'Background color for the highlight of line at the cursor position.' + ) + ), + l = (0, s.P6)( + 'editor.lineHighlightBorder', + { dark: '#282828', light: '#eeeeee', hc: '#f38518' }, + n.N( + 'lineHighlightBorderBox', + 'Background color for the border around the line at the cursor position.' + ) + ), + c = (0, s.P6)( + 'editor.rangeHighlightBackground', + { dark: '#ffffff0b', light: '#fdff0033', hc: null }, + n.N( + 'rangeHighlight', + 'Background color of highlighted ranges, like by quick open and find features. The color must not be opaque so as not to hide underlying decorations.' + ), + !0 + ), + d = (0, s.P6)( + 'editor.rangeHighlightBorder', + { dark: null, light: null, hc: s.xL }, + n.N( + 'rangeHighlightBorder', + 'Background color of the border around highlighted ranges.' + ), + !0 + ), + h = (0, s.P6)( + 'editor.symbolHighlightBackground', + { dark: s.MU, light: s.MU, hc: null }, + n.N( + 'symbolHighlight', + 'Background color of highlighted symbol, like for go to definition or go next/previous symbol. The color must not be opaque so as not to hide underlying decorations.' + ), + !0 + ), + u = (0, s.P6)( + 'editor.symbolHighlightBorder', + { dark: null, light: null, hc: s.xL }, + n.N( + 'symbolHighlightBorder', + 'Background color of the border around highlighted symbols.' + ), + !0 + ), + g = (0, s.P6)( + 'editorCursor.foreground', + { dark: '#AEAFAD', light: r.Il.black, hc: r.Il.white }, + n.N('caret', 'Color of the editor cursor.') + ), + f = (0, s.P6)( + 'editorCursor.background', + null, + n.N( + 'editorCursorBackground', + 'The background color of the editor cursor. Allows customizing the color of a character overlapped by a block cursor.' + ) + ), + p = (0, s.P6)( + 'editorWhitespace.foreground', + { dark: '#e3e4e229', light: '#33333333', hc: '#e3e4e229' }, + n.N( + 'editorWhitespaces', + 'Color of whitespace characters in the editor.' + ) + ), + m = (0, s.P6)( + 'editorIndentGuide.background', + { dark: p, light: p, hc: p }, + n.N('editorIndentGuides', 'Color of the editor indentation guides.') + ), + _ = (0, s.P6)( + 'editorIndentGuide.activeBackground', + { dark: p, light: p, hc: p }, + n.N( + 'editorActiveIndentGuide', + 'Color of the active editor indentation guides.' + ) + ), + b = (0, s.P6)( + 'editorLineNumber.foreground', + { dark: '#858585', light: '#237893', hc: r.Il.white }, + n.N('editorLineNumbers', 'Color of editor line numbers.') + ), + v = (0, s.P6)( + 'editorActiveLineNumber.foreground', + { dark: '#c6c6c6', light: '#0B216F', hc: s.xL }, + n.N('editorActiveLineNumber', 'Color of editor active line number'), + !1, + n.N( + 'deprecatedEditorActiveLineNumber', + "Id is deprecated. Use 'editorLineNumber.activeForeground' instead." + ) + ), + y = (0, s.P6)( + 'editorLineNumber.activeForeground', + { dark: v, light: v, hc: v }, + n.N('editorActiveLineNumber', 'Color of editor active line number') + ), + w = (0, s.P6)( + 'editorRuler.foreground', + { dark: '#5A5A5A', light: r.Il.lightgrey, hc: r.Il.white }, + n.N('editorRuler', 'Color of the editor rulers.') + ), + C = (0, s.P6)( + 'editorCodeLens.foreground', + { dark: '#999999', light: '#999999', hc: '#999999' }, + n.N( + 'editorCodeLensForeground', + 'Foreground color of editor CodeLens' + ) + ), + S = (0, s.P6)( + 'editorBracketMatch.background', + { dark: '#0064001a', light: '#0064001a', hc: '#0064001a' }, + n.N( + 'editorBracketMatchBackground', + 'Background color behind matching brackets' + ) + ), + k = (0, s.P6)( + 'editorBracketMatch.border', + { dark: '#888', light: '#B9B9B9', hc: s.lR }, + n.N('editorBracketMatchBorder', 'Color for matching brackets boxes') + ), + x = (0, s.P6)( + 'editorOverviewRuler.border', + { dark: '#7f7f7f4d', light: '#7f7f7f4d', hc: '#7f7f7f4d' }, + n.N( + 'editorOverviewRulerBorder', + 'Color of the overview ruler border.' + ) + ), + L = (0, s.P6)( + 'editorOverviewRuler.background', + null, + n.N( + 'editorOverviewRulerBackground', + 'Background color of the editor overview ruler. Only used when the minimap is enabled and placed on the right side of the editor.' + ) + ), + M = (0, s.P6)( + 'editorGutter.background', + { dark: s.cv, light: s.cv, hc: s.cv }, + n.N( + 'editorGutter', + 'Background color of the editor gutter. The gutter contains the glyph margins and the line numbers.' + ) + ), + D = (0, s.P6)( + 'editorUnnecessaryCode.border', + { + dark: null, + light: null, + hc: r.Il.fromHex('#fff').transparent(0.8), + }, + n.N( + 'unnecessaryCodeBorder', + 'Border color of unnecessary (unused) source code in the editor.' + ) + ), + N = (0, s.P6)( + 'editorUnnecessaryCode.opacity', + { + dark: r.Il.fromHex('#000a'), + light: r.Il.fromHex('#0007'), + hc: null, + }, + n.N( + 'unnecessaryCodeOpacity', + 'Opacity of unnecessary (unused) source code in the editor. For example, "#000000c0" will render the code with 75% opacity. For high contrast themes, use the \'editorUnnecessaryCode.border\' theme color to underline unnecessary code instead of fading it out.' + ) + ), + E = new r.Il(new r.VS(0, 122, 204, 0.6)), + T = (0, s.P6)( + 'editorOverviewRuler.rangeHighlightForeground', + { dark: E, light: E, hc: E }, + n.N( + 'overviewRulerRangeHighlight', + 'Overview ruler marker color for range highlights. The color must not be opaque so as not to hide underlying decorations.' + ), + !0 + ), + I = (0, s.P6)( + 'editorOverviewRuler.errorForeground', + { + dark: new r.Il(new r.VS(255, 18, 18, 0.7)), + light: new r.Il(new r.VS(255, 18, 18, 0.7)), + hc: new r.Il(new r.VS(255, 50, 50, 1)), + }, + n.N('overviewRuleError', 'Overview ruler marker color for errors.') + ), + O = (0, s.P6)( + 'editorOverviewRuler.warningForeground', + { dark: s.uo, light: s.uo, hc: s.pW }, + n.N( + 'overviewRuleWarning', + 'Overview ruler marker color for warnings.' + ) + ), + A = (0, s.P6)( + 'editorOverviewRuler.infoForeground', + { dark: s.c6, light: s.c6, hc: s.T8 }, + n.N('overviewRuleInfo', 'Overview ruler marker color for infos.') + ); + (0, o.Ic)((e, t) => { + const i = e.getColor(s.cv); + i && + t.addRule( + `.monaco-editor, .monaco-editor-background, .monaco-editor .inputarea.ime-input { background-color: ${i}; }` + ); + const n = e.getColor(s.NO); + n && + t.addRule( + `.monaco-editor, .monaco-editor .inputarea.ime-input { color: ${n}; }` + ); + const r = e.getColor(M); + r && t.addRule(`.monaco-editor .margin { background-color: ${r}; }`); + const o = e.getColor(c); + o && + t.addRule( + `.monaco-editor .rangeHighlight { background-color: ${o}; }` + ); + const a = e.getColor(d); + a && + t.addRule( + `.monaco-editor .rangeHighlight { border: 1px ${ + 'hc' === e.type ? 'dotted' : 'solid' + } ${a}; }` + ); + const l = e.getColor(h); + l && + t.addRule( + `.monaco-editor .symbolHighlight { background-color: ${l}; }` + ); + const g = e.getColor(u); + g && + t.addRule( + `.monaco-editor .symbolHighlight { border: 1px ${ + 'hc' === e.type ? 'dotted' : 'solid' + } ${g}; }` + ); + const f = e.getColor(p); + f && + (t.addRule(`.monaco-editor .mtkw { color: ${f} !important; }`), + t.addRule(`.monaco-editor .mtkz { color: ${f} !important; }`)); + }); + }, + 92003: (e, t, i) => { + 'use strict'; + i.d(t, { EY: () => r, Tj: () => s }); + class n { + constructor(e, t, i) { + (this.from = 0 | e), (this.to = 0 | t), (this.colorId = 0 | i); + } + static compare(e, t) { + return e.colorId === t.colorId + ? e.from === t.from + ? e.to - t.to + : e.from - t.from + : e.colorId - t.colorId; + } + } + class r { + constructor(e, t, i) { + (this.startLineNumber = e), + (this.endLineNumber = t), + (this.color = i), + (this._colorZone = null); + } + static compare(e, t) { + return e.color === t.color + ? e.startLineNumber === t.startLineNumber + ? e.endLineNumber - t.endLineNumber + : e.startLineNumber - t.startLineNumber + : e.color < t.color + ? -1 + : 1; + } + setColorZone(e) { + this._colorZone = e; + } + getColorZones() { + return this._colorZone; + } + } + class s { + constructor(e) { + (this._getVerticalOffsetForLine = e), + (this._zones = []), + (this._colorZonesInvalid = !1), + (this._lineHeight = 0), + (this._domWidth = 0), + (this._domHeight = 0), + (this._outerHeight = 0), + (this._pixelRatio = 1), + (this._lastAssignedId = 0), + (this._color2Id = Object.create(null)), + (this._id2Color = []); + } + getId2Color() { + return this._id2Color; + } + setZones(e) { + (this._zones = e), this._zones.sort(r.compare); + } + setLineHeight(e) { + return ( + this._lineHeight !== e && + ((this._lineHeight = e), (this._colorZonesInvalid = !0), !0) + ); + } + setPixelRatio(e) { + (this._pixelRatio = e), (this._colorZonesInvalid = !0); + } + getDOMWidth() { + return this._domWidth; + } + getCanvasWidth() { + return this._domWidth * this._pixelRatio; + } + setDOMWidth(e) { + return ( + this._domWidth !== e && + ((this._domWidth = e), (this._colorZonesInvalid = !0), !0) + ); + } + getDOMHeight() { + return this._domHeight; + } + getCanvasHeight() { + return this._domHeight * this._pixelRatio; + } + setDOMHeight(e) { + return ( + this._domHeight !== e && + ((this._domHeight = e), (this._colorZonesInvalid = !0), !0) + ); + } + getOuterHeight() { + return this._outerHeight; + } + setOuterHeight(e) { + return ( + this._outerHeight !== e && + ((this._outerHeight = e), (this._colorZonesInvalid = !0), !0) + ); + } + resolveColorZones() { + const e = this._colorZonesInvalid, + t = Math.floor(this._lineHeight), + i = Math.floor(this.getCanvasHeight()), + r = i / Math.floor(this._outerHeight), + s = Math.floor((4 * this._pixelRatio) / 2); + let o = []; + for (let a = 0, l = this._zones.length; a < l; a++) { + const l = this._zones[a]; + if (!e) { + const e = l.getColorZones(); + if (e) { + o.push(e); + continue; + } + } + const c = Math.floor( + r * this._getVerticalOffsetForLine(l.startLineNumber) + ), + d = Math.floor( + r * (this._getVerticalOffsetForLine(l.endLineNumber) + t) + ); + let h = Math.floor((c + d) / 2), + u = d - h; + u < s && (u = s), h - u < 0 && (h = u), h + u > i && (h = i - u); + const g = l.color; + let f = this._color2Id[g]; + f || + ((f = ++this._lastAssignedId), + (this._color2Id[g] = f), + (this._id2Color[f] = g)); + const p = new n(h - u, h + u, f); + l.setColorZone(p), o.push(p); + } + return (this._colorZonesInvalid = !1), o.sort(n.compare), o; + } + } + }, + 92550: (e, t, i) => { + 'use strict'; + i.d(t, { Kp: () => r, k: () => a }); + var n = i(97295); + class r { + constructor(e, t, i, n) { + (this.startColumn = e), + (this.endColumn = t), + (this.className = i), + (this.type = n); + } + static _equals(e, t) { + return ( + e.startColumn === t.startColumn && + e.endColumn === t.endColumn && + e.className === t.className && + e.type === t.type + ); + } + static equalsArr(e, t) { + const i = e.length; + if (i !== t.length) return !1; + for (let n = 0; n < i; n++) if (!r._equals(e[n], t[n])) return !1; + return !0; + } + static filter(e, t, i, n) { + if (0 === e.length) return []; + let s = [], + o = 0; + for (let a = 0, l = e.length; a < l; a++) { + const l = e[a], + c = l.range; + if (c.endLineNumber < t || c.startLineNumber > t) continue; + if (c.isEmpty() && (0 === l.type || 3 === l.type)) continue; + const d = c.startLineNumber === t ? c.startColumn : i, + h = c.endLineNumber === t ? c.endColumn : n; + s[o++] = new r(d, h, l.inlineClassName, l.type); + } + return s; + } + static _typeCompare(e, t) { + const i = [2, 0, 1, 3]; + return i[e] - i[t]; + } + static compare(e, t) { + if (e.startColumn === t.startColumn) { + if (e.endColumn === t.endColumn) { + const i = r._typeCompare(e.type, t.type); + return 0 === i + ? e.className < t.className + ? -1 + : e.className > t.className + ? 1 + : 0 + : i; + } + return e.endColumn - t.endColumn; + } + return e.startColumn - t.startColumn; + } + } + class s { + constructor(e, t, i, n) { + (this.startOffset = e), + (this.endOffset = t), + (this.className = i), + (this.metadata = n); + } + } + class o { + constructor() { + (this.stopOffsets = []), + (this.classNames = []), + (this.metadata = []), + (this.count = 0); + } + static _metadata(e) { + let t = 0; + for (let i = 0, n = e.length; i < n; i++) t |= e[i]; + return t; + } + consumeLowerThan(e, t, i) { + for (; this.count > 0 && this.stopOffsets[0] < e; ) { + let e = 0; + for ( + ; + e + 1 < this.count && + this.stopOffsets[e] === this.stopOffsets[e + 1]; + + ) + e++; + i.push( + new s( + t, + this.stopOffsets[e], + this.classNames.join(' '), + o._metadata(this.metadata) + ) + ), + (t = this.stopOffsets[e] + 1), + this.stopOffsets.splice(0, e + 1), + this.classNames.splice(0, e + 1), + this.metadata.splice(0, e + 1), + (this.count -= e + 1); + } + return ( + this.count > 0 && + t < e && + (i.push( + new s( + t, + e - 1, + this.classNames.join(' '), + o._metadata(this.metadata) + ) + ), + (t = e)), + t + ); + } + insert(e, t, i) { + if (0 === this.count || this.stopOffsets[this.count - 1] <= e) + this.stopOffsets.push(e), + this.classNames.push(t), + this.metadata.push(i); + else + for (let n = 0; n < this.count; n++) + if (this.stopOffsets[n] >= e) { + this.stopOffsets.splice(n, 0, e), + this.classNames.splice(n, 0, t), + this.metadata.splice(n, 0, i); + break; + } + this.count++; + } + } + class a { + static normalize(e, t) { + if (0 === t.length) return []; + let i = []; + const r = new o(); + let s = 0; + for (let o = 0, a = t.length; o < a; o++) { + const a = t[o]; + let l = a.startColumn, + c = a.endColumn; + const d = a.className, + h = 1 === a.type ? 2 : 2 === a.type ? 4 : 0; + if (l > 1) { + const t = e.charCodeAt(l - 2); + n.ZG(t) && l--; + } + if (c > 1) { + const t = e.charCodeAt(c - 2); + n.ZG(t) && c--; + } + const u = l - 1, + g = c - 2; + (s = r.consumeLowerThan(u, s, i)), + 0 === r.count && (s = u), + r.insert(g, d, h); + } + return r.consumeLowerThan(1073741824, s, i), i; + } + } + }, + 77736: (e, t, i) => { + 'use strict'; + i.d(t, { + zG: () => a, + IJ: () => l, + fH: () => c, + d1: () => h, + tF: () => g, + }); + var n = i(97295), + r = i(50072), + s = i(92550); + class o { + constructor(e, t, i) { + (this.endIndex = e), (this.type = t), (this.metadata = i); + } + isWhitespace() { + return !!(1 & this.metadata); + } + } + class a { + constructor(e, t) { + (this.startOffset = e), (this.endOffset = t); + } + equals(e) { + return ( + this.startOffset === e.startOffset && + this.endOffset === e.endOffset + ); + } + } + class l { + constructor(e, t, i, n, r, s, o, a, l, c, d, h, u, g, f, p, m, _, b) { + (this.useMonospaceOptimizations = e), + (this.canUseHalfwidthRightwardsArrow = t), + (this.lineContent = i), + (this.continuesWithWrappedLine = n), + (this.isBasicASCII = r), + (this.containsRTL = s), + (this.fauxIndentLength = o), + (this.lineTokens = a), + (this.lineDecorations = l), + (this.tabSize = c), + (this.startVisibleColumn = d), + (this.spaceWidth = h), + (this.stopRenderingLineAfter = f), + (this.renderWhitespace = + 'all' === p + ? 4 + : 'boundary' === p + ? 1 + : 'selection' === p + ? 2 + : 'trailing' === p + ? 3 + : 0), + (this.renderControlCharacters = m), + (this.fontLigatures = _), + (this.selectionsOnLine = + b && + b.sort((e, t) => (e.startOffset < t.startOffset ? -1 : 1))), + Math.abs(g - h) < Math.abs(u - h) + ? ((this.renderSpaceWidth = g), + (this.renderSpaceCharCode = 11825)) + : ((this.renderSpaceWidth = u), + (this.renderSpaceCharCode = 183)); + } + sameSelection(e) { + if (null === this.selectionsOnLine) return null === e; + if (null === e) return !1; + if (e.length !== this.selectionsOnLine.length) return !1; + for (let t = 0; t < this.selectionsOnLine.length; t++) + if (!this.selectionsOnLine[t].equals(e[t])) return !1; + return !0; + } + equals(e) { + return ( + this.useMonospaceOptimizations === e.useMonospaceOptimizations && + this.canUseHalfwidthRightwardsArrow === + e.canUseHalfwidthRightwardsArrow && + this.lineContent === e.lineContent && + this.continuesWithWrappedLine === e.continuesWithWrappedLine && + this.isBasicASCII === e.isBasicASCII && + this.containsRTL === e.containsRTL && + this.fauxIndentLength === e.fauxIndentLength && + this.tabSize === e.tabSize && + this.startVisibleColumn === e.startVisibleColumn && + this.spaceWidth === e.spaceWidth && + this.renderSpaceWidth === e.renderSpaceWidth && + this.renderSpaceCharCode === e.renderSpaceCharCode && + this.stopRenderingLineAfter === e.stopRenderingLineAfter && + this.renderWhitespace === e.renderWhitespace && + this.renderControlCharacters === e.renderControlCharacters && + this.fontLigatures === e.fontLigatures && + s.Kp.equalsArr(this.lineDecorations, e.lineDecorations) && + this.lineTokens.equals(e.lineTokens) && + this.sameSelection(e.selectionsOnLine) + ); + } + } + class c { + constructor(e, t) { + (this.length = e), + (this._data = new Uint32Array(this.length)), + (this._absoluteOffsets = new Uint32Array(this.length)); + } + static getPartIndex(e) { + return (4294901760 & e) >>> 16; + } + static getCharIndex(e) { + return (65535 & e) >>> 0; + } + setPartData(e, t, i, n) { + let r = ((t << 16) | (i << 0)) >>> 0; + (this._data[e] = r), (this._absoluteOffsets[e] = n + i); + } + getAbsoluteOffsets() { + return this._absoluteOffsets; + } + charOffsetToPartData(e) { + return 0 === this.length + ? 0 + : e < 0 + ? this._data[0] + : e >= this.length + ? this._data[this.length - 1] + : this._data[e]; + } + partDataToCharOffset(e, t, i) { + if (0 === this.length) return 0; + let n = ((e << 16) | (i << 0)) >>> 0, + r = 0, + s = this.length - 1; + for (; r + 1 < s; ) { + let e = (r + s) >>> 1, + t = this._data[e]; + if (t === n) return e; + t > n ? (s = e) : (r = e); + } + if (r === s) return r; + let o = this._data[r], + a = this._data[s]; + if (o === n) return r; + if (a === n) return s; + let l, + d = c.getPartIndex(o), + h = c.getCharIndex(o); + return ( + (l = d !== c.getPartIndex(a) ? t : c.getCharIndex(a)), + i - h <= l - i ? r : s + ); + } + } + class d { + constructor(e, t, i) { + (this.characterMapping = e), + (this.containsRTL = t), + (this.containsForeignElements = i); + } + } + function h(e, t) { + if (0 === e.lineContent.length) { + let i = 0, + n = '<span><span></span></span>'; + if (e.lineDecorations.length > 0) { + const t = [], + r = []; + for (let n = 0, s = e.lineDecorations.length; n < s; n++) { + const s = e.lineDecorations[n]; + 1 === s.type && + (t.push(e.lineDecorations[n].className), (i |= 1)), + 2 === s.type && + (r.push(e.lineDecorations[n].className), (i |= 2)); + } + 0 !== i && + (n = `<span>${ + t.length > 0 ? `<span class="${t.join(' ')}"></span>` : '' + }${ + r.length > 0 ? `<span class="${r.join(' ')}"></span>` : '' + }</span>`); + } + return t.appendASCIIString(n), new d(new c(0, 0), !1, i); + } + return (function (e, t) { + const i = e.fontIsMonospace, + r = e.canUseHalfwidthRightwardsArrow, + s = e.containsForeignElements, + o = e.lineContent, + a = e.len, + l = e.isOverflowing, + h = e.parts, + u = e.fauxIndentLength, + g = e.tabSize, + f = e.startVisibleColumn, + p = e.containsRTL, + m = e.spaceWidth, + _ = e.renderSpaceCharCode, + b = e.renderWhitespace, + v = e.renderControlCharacters, + y = new c(a + 1, h.length); + let w = 0, + C = f, + S = 0, + k = 0, + x = 0, + L = 0; + p + ? t.appendASCIIString('<span dir="ltr">') + : t.appendASCIIString('<span>'); + for (let e = 0, a = h.length; e < a; e++) { + L += x; + const a = h[e], + l = a.endIndex, + c = a.type, + d = 0 !== b && a.isWhitespace(), + f = d && !i && ('mtkw' === c || !s), + p = w === l && 4 === a.metadata; + if ( + ((S = 0), + t.appendASCIIString('<span class="'), + t.appendASCIIString(f ? 'mtkz' : c), + t.appendASCII(34), + d) + ) { + let i = 0; + { + let e = w, + t = C; + for (; e < l; e++) { + const n = 0 | (9 === o.charCodeAt(e) ? g - (t % g) : 1); + (i += n), e >= u && (t += n); + } + } + for ( + f && + (t.appendASCIIString(' style="width:'), + t.appendASCIIString(String(m * i)), + t.appendASCIIString('px"')), + t.appendASCII(62); + w < l; + w++ + ) { + let i; + if ( + (y.setPartData(w, e - k, S, L), + (k = 0), + 9 === o.charCodeAt(w)) + ) { + (i = (g - (C % g)) | 0), + !r || i > 1 ? t.write1(8594) : t.write1(65515); + for (let e = 2; e <= i; e++) t.write1(160); + } else (i = 1), t.write1(_); + (S += i), w >= u && (C += i); + } + x = i; + } else { + let i = 0; + for (t.appendASCII(62); w < l; w++) { + y.setPartData(w, e - k, S, L), (k = 0); + const r = o.charCodeAt(w); + let s = 1, + a = 1; + switch (r) { + case 9: + (s = g - (C % g)), (a = s); + for (let e = 1; e <= s; e++) t.write1(160); + break; + case 32: + t.write1(160); + break; + case 60: + t.appendASCIIString('<'); + break; + case 62: + t.appendASCIIString('>'); + break; + case 38: + t.appendASCIIString('&'); + break; + case 0: + t.appendASCIIString('�'); + break; + case 65279: + case 8232: + case 8233: + case 133: + t.write1(65533); + break; + default: + n.K7(r) && a++, + v && r < 32 ? t.write1(9216 + r) : t.write1(r); + } + (S += s), (i += s), w >= u && (C += a); + } + x = i; + } + p ? k++ : (k = 0), t.appendASCIIString('</span>'); + } + return ( + y.setPartData(a, h.length - 1, S, L), + l && t.appendASCIIString('<span>…</span>'), + t.appendASCIIString('</span>'), + new d(y, p, s) + ); + })( + (function (e) { + const t = e.lineContent; + let i, r; + -1 !== e.stopRenderingLineAfter && + e.stopRenderingLineAfter < t.length + ? ((i = !0), (r = e.stopRenderingLineAfter)) + : ((i = !1), (r = t.length)); + let a = (function (e, t, i) { + let n = [], + r = 0; + t > 0 && (n[r++] = new o(t, '', 0)); + for (let s = 0, a = e.getCount(); s < a; s++) { + const a = e.getEndOffset(s); + if (a <= t) continue; + const l = e.getClassName(s); + if (a >= i) { + n[r++] = new o(i, l, 0); + break; + } + n[r++] = new o(a, l, 0); + } + return n; + })(e.lineTokens, e.fauxIndentLength, r); + (4 === e.renderWhitespace || + 1 === e.renderWhitespace || + (2 === e.renderWhitespace && e.selectionsOnLine) || + 3 === e.renderWhitespace) && + (a = (function (e, t, i, r) { + const s = e.continuesWithWrappedLine, + a = e.fauxIndentLength, + l = e.tabSize, + c = e.startVisibleColumn, + d = e.useMonospaceOptimizations, + h = e.selectionsOnLine, + u = 1 === e.renderWhitespace, + g = 3 === e.renderWhitespace, + f = e.renderSpaceWidth !== e.spaceWidth; + let p = [], + m = 0, + _ = 0, + b = r[_].type, + v = r[_].endIndex; + const y = r.length; + let w, + C = !1, + S = n.LC(t); + -1 === S ? ((C = !0), (S = i), (w = i)) : (w = n.ow(t)); + let k = !1, + x = 0, + L = h && h[x], + M = c % l; + for (let e = a; e < i; e++) { + const s = t.charCodeAt(e); + let c; + if ( + (L && e >= L.endOffset && (x++, (L = h && h[x])), + e < S || e > w) + ) + c = !0; + else if (9 === s) c = !0; + else if (32 === s) + if (u) + if (k) c = !0; + else { + const n = e + 1 < i ? t.charCodeAt(e + 1) : 0; + c = 32 === n || 9 === n; + } + else c = !0; + else c = !1; + if ( + (c && + h && + (c = !!L && L.startOffset <= e && L.endOffset > e), + c && g && (c = C || e > w), + k) + ) { + if (!c || (!d && M >= l)) { + if (f) + for ( + let t = (m > 0 ? p[m - 1].endIndex : a) + 1; + t <= e; + t++ + ) + p[m++] = new o(t, 'mtkw', 1); + else p[m++] = new o(e, 'mtkw', 1); + M %= l; + } + } else + (e === v || (c && e > a)) && + ((p[m++] = new o(e, b, 0)), (M %= l)); + for ( + 9 === s ? (M = l) : n.K7(s) ? (M += 2) : M++, k = c; + e === v; + + ) + _++, _ < y && ((b = r[_].type), (v = r[_].endIndex)); + } + let D = !1; + if (k) + if (s && u) { + let e = i > 0 ? t.charCodeAt(i - 1) : 0, + n = i > 1 ? t.charCodeAt(i - 2) : 0; + (32 === e && 32 !== n && 9 !== n) || (D = !0); + } else D = !0; + if (D) + if (f) + for ( + let e = (m > 0 ? p[m - 1].endIndex : a) + 1; + e <= i; + e++ + ) + p[m++] = new o(e, 'mtkw', 1); + else p[m++] = new o(i, 'mtkw', 1); + else p[m++] = new o(i, b, 0); + return p; + })(e, t, r, a)); + let l = 0; + if (e.lineDecorations.length > 0) { + for (let t = 0, i = e.lineDecorations.length; t < i; t++) { + const i = e.lineDecorations[t]; + 3 === i.type || 1 === i.type + ? (l |= 1) + : 2 === i.type && (l |= 2); + } + a = (function (e, t, i, n) { + n.sort(s.Kp.compare); + const r = s.k.normalize(e, n), + a = r.length; + let l = 0, + c = [], + d = 0, + h = 0; + for (let e = 0, t = i.length; e < t; e++) { + const t = i[e], + n = t.endIndex, + s = t.type, + u = t.metadata; + for (; l < a && r[l].startOffset < n; ) { + const e = r[l]; + if ( + (e.startOffset > h && + ((h = e.startOffset), (c[d++] = new o(h, s, u))), + !(e.endOffset + 1 <= n)) + ) { + (h = n), + (c[d++] = new o( + h, + s + ' ' + e.className, + u | e.metadata + )); + break; + } + (h = e.endOffset + 1), + (c[d++] = new o( + h, + s + ' ' + e.className, + u | e.metadata + )), + l++; + } + n > h && ((h = n), (c[d++] = new o(h, s, u))); + } + const u = i[i.length - 1].endIndex; + if (l < a && r[l].startOffset === u) { + let e = [], + t = 0; + for (; l < a && r[l].startOffset === u; ) + e.push(r[l].className), (t |= r[l].metadata), l++; + c[d++] = new o(h, e.join(' '), t); + } + return c; + })(t, 0, a, e.lineDecorations); + } + return ( + e.containsRTL || + (a = (function (e, t, i) { + let n = 0, + r = [], + s = 0; + if (i) + for (let i = 0, a = t.length; i < a; i++) { + const a = t[i], + l = a.endIndex; + if (n + 50 < l) { + const t = a.type, + i = a.metadata; + let c = -1, + d = n; + for (let a = n; a < l; a++) + 32 === e.charCodeAt(a) && (c = a), + -1 !== c && + a - d >= 50 && + ((r[s++] = new o(c + 1, t, i)), + (d = c + 1), + (c = -1)); + d !== l && (r[s++] = new o(l, t, i)); + } else r[s++] = a; + n = l; + } + else + for (let e = 0, i = t.length; e < i; e++) { + const i = t[e], + a = i.endIndex; + let l = a - n; + if (l > 50) { + const e = i.type, + t = i.metadata, + c = Math.ceil(l / 50); + for (let i = 1; i < c; i++) { + let a = n + 50 * i; + r[s++] = new o(a, e, t); + } + r[s++] = new o(a, e, t); + } else r[s++] = i; + n = a; + } + return r; + })(t, a, !e.isBasicASCII || e.fontLigatures)), + new f( + e.useMonospaceOptimizations, + e.canUseHalfwidthRightwardsArrow, + t, + r, + i, + a, + l, + e.fauxIndentLength, + e.tabSize, + e.startVisibleColumn, + e.containsRTL, + e.spaceWidth, + e.renderSpaceCharCode, + e.renderWhitespace, + e.renderControlCharacters + ) + ); + })(e), + t + ); + } + class u { + constructor(e, t, i, n) { + (this.characterMapping = e), + (this.html = t), + (this.containsRTL = i), + (this.containsForeignElements = n); + } + } + function g(e) { + let t = (0, r.l$)(1e4), + i = h(e, t); + return new u( + i.characterMapping, + t.build(), + i.containsRTL, + i.containsForeignElements + ); + } + class f { + constructor(e, t, i, n, r, s, o, a, l, c, d, h, u, g, f) { + (this.fontIsMonospace = e), + (this.canUseHalfwidthRightwardsArrow = t), + (this.lineContent = i), + (this.len = n), + (this.isOverflowing = r), + (this.parts = s), + (this.containsForeignElements = o), + (this.fauxIndentLength = a), + (this.tabSize = l), + (this.startVisibleColumn = c), + (this.containsRTL = d), + (this.spaceWidth = h), + (this.renderSpaceCharCode = u), + (this.renderWhitespace = g), + (this.renderControlCharacters = f); + } + } + }, + 3544: (e, t, i) => { + 'use strict'; + i.d(t, { T: () => r, o: () => s }); + var n = i(85427); + class r { + constructor(e, t) { + (this.index = e), (this.remainder = t); + } + } + class s { + constructor(e) { + (this.values = e), + (this.prefixSum = new Uint32Array(e.length)), + (this.prefixSumValidIndex = new Int32Array(1)), + (this.prefixSumValidIndex[0] = -1); + } + insertValues(e, t) { + e = (0, n.A)(e); + const i = this.values, + r = this.prefixSum, + s = t.length; + return ( + 0 !== s && + ((this.values = new Uint32Array(i.length + s)), + this.values.set(i.subarray(0, e), 0), + this.values.set(i.subarray(e), e + s), + this.values.set(t, e), + e - 1 < this.prefixSumValidIndex[0] && + (this.prefixSumValidIndex[0] = e - 1), + (this.prefixSum = new Uint32Array(this.values.length)), + this.prefixSumValidIndex[0] >= 0 && + this.prefixSum.set( + r.subarray(0, this.prefixSumValidIndex[0] + 1) + ), + !0) + ); + } + changeValue(e, t) { + return ( + (e = (0, n.A)(e)), + (t = (0, n.A)(t)), + this.values[e] !== t && + ((this.values[e] = t), + e - 1 < this.prefixSumValidIndex[0] && + (this.prefixSumValidIndex[0] = e - 1), + !0) + ); + } + removeValues(e, t) { + (e = (0, n.A)(e)), (t = (0, n.A)(t)); + const i = this.values, + r = this.prefixSum; + if (e >= i.length) return !1; + let s = i.length - e; + return ( + t >= s && (t = s), + 0 !== t && + ((this.values = new Uint32Array(i.length - t)), + this.values.set(i.subarray(0, e), 0), + this.values.set(i.subarray(e + t), e), + (this.prefixSum = new Uint32Array(this.values.length)), + e - 1 < this.prefixSumValidIndex[0] && + (this.prefixSumValidIndex[0] = e - 1), + this.prefixSumValidIndex[0] >= 0 && + this.prefixSum.set( + r.subarray(0, this.prefixSumValidIndex[0] + 1) + ), + !0) + ); + } + getTotalValue() { + return 0 === this.values.length + ? 0 + : this._getAccumulatedValue(this.values.length - 1); + } + getAccumulatedValue(e) { + return e < 0 + ? 0 + : ((e = (0, n.A)(e)), this._getAccumulatedValue(e)); + } + _getAccumulatedValue(e) { + if (e <= this.prefixSumValidIndex[0]) return this.prefixSum[e]; + let t = this.prefixSumValidIndex[0] + 1; + 0 === t && ((this.prefixSum[0] = this.values[0]), t++), + e >= this.values.length && (e = this.values.length - 1); + for (let i = t; i <= e; i++) + this.prefixSum[i] = this.prefixSum[i - 1] + this.values[i]; + return ( + (this.prefixSumValidIndex[0] = Math.max( + this.prefixSumValidIndex[0], + e + )), + this.prefixSum[e] + ); + } + getIndexOf(e) { + (e = Math.floor(e)), this.getTotalValue(); + let t = 0, + i = this.values.length - 1, + n = 0, + s = 0, + o = 0; + for (; t <= i; ) + if ( + ((n = (t + (i - t) / 2) | 0), + (s = this.prefixSum[n]), + (o = s - this.values[n]), + e < o) + ) + i = n - 1; + else { + if (!(e >= s)) break; + t = n + 1; + } + return new r(n, e - o); + } + } + }, + 13824: (e, t, i) => { + 'use strict'; + i.d(t, { + l_: () => r, + ud: () => s, + IP: () => o, + wA: () => a, + $t: () => l, + $l: () => c, + }); + var n = i(97295); + class r { + constructor(e, t, i, n) { + (this.top = 0 | e), + (this.left = 0 | t), + (this.width = 0 | i), + (this.height = 0 | n); + } + } + class s { + constructor(e, t) { + (this.tabSize = e), (this.data = t); + } + } + class o { + constructor(e, t, i, n, r, s) { + (this.content = e), + (this.continuesWithWrappedLine = t), + (this.minColumn = i), + (this.maxColumn = n), + (this.startVisibleColumn = r), + (this.tokens = s); + } + } + class a { + constructor(e, t, i, n, r, s, o, l, c, d) { + (this.minColumn = e), + (this.maxColumn = t), + (this.content = i), + (this.continuesWithWrappedLine = n), + (this.isBasicASCII = a.isBasicASCII(i, s)), + (this.containsRTL = a.containsRTL(i, this.isBasicASCII, r)), + (this.tokens = o), + (this.inlineDecorations = l), + (this.tabSize = c), + (this.startVisibleColumn = d); + } + static isBasicASCII(e, t) { + return !t || n.$i(e); + } + static containsRTL(e, t, i) { + return !(t || !i) && n.Ut(e); + } + } + class l { + constructor(e, t, i) { + (this.range = e), (this.inlineClassName = t), (this.type = i); + } + } + class c { + constructor(e, t) { + (this.range = e), (this.options = t); + } + } + }, + 17355: (e, t, i) => { + 'use strict'; + i.r(t), i.d(t, { SelectionAnchorSet: () => u }); + var n = i(16830), + r = i(63580), + s = i(29102), + o = i(3860), + a = i(22258), + l = i(38819), + c = i(59365), + d = i(85152), + h = function (e, t, i, n) { + return new (i || (i = Promise))(function (r, s) { + function o(e) { + try { + l(n.next(e)); + } catch (e) { + s(e); + } + } + function a(e) { + try { + l(n.throw(e)); + } catch (e) { + s(e); + } + } + function l(e) { + var t; + e.done + ? r(e.value) + : ((t = e.value), + t instanceof i + ? t + : new i(function (e) { + e(t); + })).then(o, a); + } + l((n = n.apply(e, t || [])).next()); + }); + }; + const u = new l.uy('selectionAnchorSet', !1); + let g = class e { + constructor(e, t) { + (this.editor = e), + (this.selectionAnchorSetContextKey = u.bindTo(t)), + (this.modelChangeListener = e.onDidChangeModel(() => + this.selectionAnchorSetContextKey.reset() + )); + } + static get(t) { + return t.getContribution(e.ID); + } + setSelectionAnchor() { + if (this.editor.hasModel()) { + const e = this.editor.getPosition(), + t = this.decorationId ? [this.decorationId] : [], + i = this.editor.deltaDecorations(t, [ + { + range: o.Y.fromPositions(e, e), + options: { + stickiness: 1, + hoverMessage: new c.W5().appendText( + (0, r.N)('selectionAnchor', 'Selection Anchor') + ), + className: 'selection-anchor', + }, + }, + ]); + (this.decorationId = i[0]), + this.selectionAnchorSetContextKey.set(!!this.decorationId), + (0, d.Z9)( + (0, r.N)( + 'anchorSet', + 'Anchor set at {0}:{1}', + e.lineNumber, + e.column + ) + ); + } + } + goToSelectionAnchor() { + if (this.editor.hasModel() && this.decorationId) { + const e = this.editor + .getModel() + .getDecorationRange(this.decorationId); + e && this.editor.setPosition(e.getStartPosition()); + } + } + selectFromAnchorToCursor() { + if (this.editor.hasModel() && this.decorationId) { + const e = this.editor + .getModel() + .getDecorationRange(this.decorationId); + if (e) { + const t = this.editor.getPosition(); + this.editor.setSelection( + o.Y.fromPositions(e.getStartPosition(), t) + ), + this.cancelSelectionAnchor(); + } + } + } + cancelSelectionAnchor() { + this.decorationId && + (this.editor.deltaDecorations([this.decorationId], []), + (this.decorationId = void 0), + this.selectionAnchorSetContextKey.set(!1)); + } + dispose() { + this.cancelSelectionAnchor(), this.modelChangeListener.dispose(); + } + }; + var f, p; + (g.ID = 'editor.contrib.selectionAnchorController'), + (g = (function (e, t, i, n) { + var r, + s = arguments.length, + o = + s < 3 + ? t + : null === n + ? (n = Object.getOwnPropertyDescriptor(t, i)) + : n; + if ( + 'object' == typeof Reflect && + 'function' == typeof Reflect.decorate + ) + o = Reflect.decorate(e, t, i, n); + else + for (var a = e.length - 1; a >= 0; a--) + (r = e[a]) && + (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); + return s > 3 && o && Object.defineProperty(t, i, o), o; + })( + [ + ((f = 1), + (p = l.i6), + function (e, t) { + p(e, t, f); + }), + ], + g + )); + class m extends n.R6 { + constructor() { + super({ + id: 'editor.action.setSelectionAnchor', + label: (0, r.N)('setSelectionAnchor', 'Set Selection Anchor'), + alias: 'Set Selection Anchor', + precondition: void 0, + kbOpts: { + kbExpr: s.u.editorTextFocus, + primary: (0, a.gx)(2089, 2080), + weight: 100, + }, + }); + } + run(e, t) { + return h(this, void 0, void 0, function* () { + g.get(t).setSelectionAnchor(); + }); + } + } + class _ extends n.R6 { + constructor() { + super({ + id: 'editor.action.goToSelectionAnchor', + label: (0, r.N)('goToSelectionAnchor', 'Go to Selection Anchor'), + alias: 'Go to Selection Anchor', + precondition: u, + }); + } + run(e, t) { + return h(this, void 0, void 0, function* () { + g.get(t).goToSelectionAnchor(); + }); + } + } + class b extends n.R6 { + constructor() { + super({ + id: 'editor.action.selectFromAnchorToCursor', + label: (0, r.N)( + 'selectFromAnchorToCursor', + 'Select from Anchor to Cursor' + ), + alias: 'Select from Anchor to Cursor', + precondition: u, + kbOpts: { + kbExpr: s.u.editorTextFocus, + primary: (0, a.gx)(2089, 2089), + weight: 100, + }, + }); + } + run(e, t) { + return h(this, void 0, void 0, function* () { + g.get(t).selectFromAnchorToCursor(); + }); + } + } + class v extends n.R6 { + constructor() { + super({ + id: 'editor.action.cancelSelectionAnchor', + label: (0, r.N)( + 'cancelSelectionAnchor', + 'Cancel Selection Anchor' + ), + alias: 'Cancel Selection Anchor', + precondition: u, + kbOpts: { kbExpr: s.u.editorTextFocus, primary: 9, weight: 100 }, + }); + } + run(e, t) { + return h(this, void 0, void 0, function* () { + g.get(t).cancelSelectionAnchor(); + }); + } + } + (0, n._K)(g.ID, g), + (0, n.Qr)(m), + (0, n.Qr)(_), + (0, n.Qr)(b), + (0, n.Qr)(v); + }, + 17084: (e, t, i) => { + 'use strict'; + i.r(t), i.d(t, { BracketMatchingController: () => w }); + var n = i(63580), + r = i(15393), + s = i(5976), + o = i(16830), + a = i(50187), + l = i(24314), + c = i(3860), + d = i(29102), + h = i(84973), + u = i(3411), + g = i(27869), + f = i(73910), + p = i(97781), + m = i(84144); + const _ = (0, f.P6)( + 'editorOverviewRuler.bracketMatchForeground', + { dark: '#A0A0A0', light: '#A0A0A0', hc: '#A0A0A0' }, + n.N( + 'overviewRulerBracketMatchForeground', + 'Overview ruler marker color for matching brackets.' + ) + ); + class b extends o.R6 { + constructor() { + super({ + id: 'editor.action.jumpToBracket', + label: n.N('smartSelect.jumpBracket', 'Go to Bracket'), + alias: 'Go to Bracket', + precondition: void 0, + kbOpts: { + kbExpr: d.u.editorTextFocus, + primary: 3160, + weight: 100, + }, + }); + } + run(e, t) { + let i = w.get(t); + i && i.jumpToBracket(); + } + } + class v extends o.R6 { + constructor() { + super({ + id: 'editor.action.selectToBracket', + label: n.N('smartSelect.selectToBracket', 'Select to Bracket'), + alias: 'Select to Bracket', + precondition: void 0, + description: { + description: 'Select to Bracket', + args: [ + { + name: 'args', + schema: { + type: 'object', + properties: { + selectBrackets: { type: 'boolean', default: !0 }, + }, + }, + }, + ], + }, + }); + } + run(e, t, i) { + const n = w.get(t); + if (!n) return; + let r = !0; + i && !1 === i.selectBrackets && (r = !1), n.selectToBracket(r); + } + } + class y { + constructor(e, t, i) { + (this.position = e), (this.brackets = t), (this.options = i); + } + } + class w extends s.JT { + constructor(e) { + super(), + (this._editor = e), + (this._lastBracketsData = []), + (this._lastVersionId = 0), + (this._decorations = []), + (this._updateBracketsSoon = this._register( + new r.pY(() => this._updateBrackets(), 50) + )), + (this._matchBrackets = this._editor.getOption(55)), + this._updateBracketsSoon.schedule(), + this._register( + e.onDidChangeCursorPosition((e) => { + 'never' !== this._matchBrackets && + this._updateBracketsSoon.schedule(); + }) + ), + this._register( + e.onDidChangeModelContent((e) => { + this._updateBracketsSoon.schedule(); + }) + ), + this._register( + e.onDidChangeModel((e) => { + (this._lastBracketsData = []), + (this._decorations = []), + this._updateBracketsSoon.schedule(); + }) + ), + this._register( + e.onDidChangeModelLanguageConfiguration((e) => { + (this._lastBracketsData = []), + this._updateBracketsSoon.schedule(); + }) + ), + this._register( + e.onDidChangeConfiguration((e) => { + e.hasChanged(55) && + ((this._matchBrackets = this._editor.getOption(55)), + (this._decorations = this._editor.deltaDecorations( + this._decorations, + [] + )), + (this._lastBracketsData = []), + (this._lastVersionId = 0), + this._updateBracketsSoon.schedule()); + }) + ); + } + static get(e) { + return e.getContribution(w.ID); + } + jumpToBracket() { + if (!this._editor.hasModel()) return; + const e = this._editor.getModel(), + t = this._editor.getSelections().map((t) => { + const i = t.getStartPosition(), + n = e.matchBracket(i); + let r = null; + if (n) + n[0].containsPosition(i) + ? (r = n[1].getStartPosition()) + : n[1].containsPosition(i) && (r = n[0].getStartPosition()); + else { + const t = e.findEnclosingBrackets(i); + if (t) r = t[0].getStartPosition(); + else { + const t = e.findNextBracket(i); + t && t.range && (r = t.range.getStartPosition()); + } + } + return r + ? new c.Y(r.lineNumber, r.column, r.lineNumber, r.column) + : new c.Y(i.lineNumber, i.column, i.lineNumber, i.column); + }); + this._editor.setSelections(t), this._editor.revealRange(t[0]); + } + selectToBracket(e) { + if (!this._editor.hasModel()) return; + const t = this._editor.getModel(), + i = []; + this._editor.getSelections().forEach((n) => { + const r = n.getStartPosition(); + let s = t.matchBracket(r); + if (!s && ((s = t.findEnclosingBrackets(r)), !s)) { + const e = t.findNextBracket(r); + e && + e.range && + (s = t.matchBracket(e.range.getStartPosition())); + } + let o = null, + a = null; + if (s) { + s.sort(l.e.compareRangesUsingStarts); + const [t, i] = s; + (o = e ? t.getStartPosition() : t.getEndPosition()), + (a = e ? i.getEndPosition() : i.getStartPosition()); + } + o && + a && + i.push(new c.Y(o.lineNumber, o.column, a.lineNumber, a.column)); + }), + i.length > 0 && + (this._editor.setSelections(i), this._editor.revealRange(i[0])); + } + _updateBrackets() { + if ('never' === this._matchBrackets) return; + this._recomputeBrackets(); + let e = [], + t = 0; + for (const i of this._lastBracketsData) { + let n = i.brackets; + n && + ((e[t++] = { range: n[0], options: i.options }), + (e[t++] = { range: n[1], options: i.options })); + } + this._decorations = this._editor.deltaDecorations( + this._decorations, + e + ); + } + _recomputeBrackets() { + if (!this._editor.hasModel()) + return ( + (this._lastBracketsData = []), void (this._lastVersionId = 0) + ); + const e = this._editor.getSelections(); + if (e.length > 100) + return ( + (this._lastBracketsData = []), void (this._lastVersionId = 0) + ); + const t = this._editor.getModel(), + i = t.getVersionId(); + let n = []; + this._lastVersionId === i && (n = this._lastBracketsData); + let r = [], + s = 0; + for (let t = 0, i = e.length; t < i; t++) { + let i = e[t]; + i.isEmpty() && (r[s++] = i.getStartPosition()); + } + r.length > 1 && r.sort(a.L.compare); + let o = [], + l = 0, + c = 0, + d = n.length; + for (let e = 0, i = r.length; e < i; e++) { + let i = r[e]; + for (; c < d && n[c].position.isBefore(i); ) c++; + if (c < d && n[c].position.equals(i)) o[l++] = n[c]; + else { + let e = t.matchBracket(i), + n = w._DECORATION_OPTIONS_WITH_OVERVIEW_RULER; + e || + 'always' !== this._matchBrackets || + ((e = t.findEnclosingBrackets(i, 20)), + (n = w._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER)), + (o[l++] = new y(i, e, n)); + } + } + (this._lastBracketsData = o), (this._lastVersionId = i); + } + } + (w.ID = 'editor.contrib.bracketMatchingController'), + (w._DECORATION_OPTIONS_WITH_OVERVIEW_RULER = u.qx.register({ + stickiness: 1, + className: 'bracket-match', + overviewRuler: { color: (0, p.EN)(_), position: h.sh.Center }, + })), + (w._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER = u.qx.register({ + stickiness: 1, + className: 'bracket-match', + })), + (0, o._K)(w.ID, w), + (0, o.Qr)(v), + (0, o.Qr)(b), + (0, p.Ic)((e, t) => { + const i = e.getColor(g.TC); + i && + t.addRule( + `.monaco-editor .bracket-match { background-color: ${i}; }` + ); + const n = e.getColor(g.Dl); + n && + t.addRule( + `.monaco-editor .bracket-match { border: 1px solid ${n}; }` + ); + }), + m.BH.appendMenuItem(m.eH.MenubarGoMenu, { + group: '5_infile_nav', + command: { + id: 'editor.action.jumpToBracket', + title: n.N( + { key: 'miGoToBracket', comment: ['&& denotes a mnemonic'] }, + 'Go to &&Bracket' + ), + }, + order: 2, + }); + }, + 84594: (e, t, i) => { + 'use strict'; + i.r(t); + var n = i(63580), + r = i(16830), + s = i(29102), + o = i(24314), + a = i(3860); + class l { + constructor(e, t) { + (this._selection = e), (this._isMovingLeft = t); + } + getEditOperations(e, t) { + if ( + this._selection.startLineNumber !== + this._selection.endLineNumber || + this._selection.isEmpty() + ) + return; + const i = this._selection.startLineNumber, + n = this._selection.startColumn, + r = this._selection.endColumn; + if ( + (!this._isMovingLeft || 1 !== n) && + (this._isMovingLeft || r !== e.getLineMaxColumn(i)) + ) + if (this._isMovingLeft) { + const s = new o.e(i, n - 1, i, n), + a = e.getValueInRange(s); + t.addEditOperation(s, null), + t.addEditOperation(new o.e(i, r, i, r), a); + } else { + const s = new o.e(i, r, i, r + 1), + a = e.getValueInRange(s); + t.addEditOperation(s, null), + t.addEditOperation(new o.e(i, n, i, n), a); + } + } + computeCursorState(e, t) { + return this._isMovingLeft + ? new a.Y( + this._selection.startLineNumber, + this._selection.startColumn - 1, + this._selection.endLineNumber, + this._selection.endColumn - 1 + ) + : new a.Y( + this._selection.startLineNumber, + this._selection.startColumn + 1, + this._selection.endLineNumber, + this._selection.endColumn + 1 + ); + } + } + class c extends r.R6 { + constructor(e, t) { + super(t), (this.left = e); + } + run(e, t) { + if (!t.hasModel()) return; + let i = [], + n = t.getSelections(); + for (const e of n) i.push(new l(e, this.left)); + t.pushUndoStop(), t.executeCommands(this.id, i), t.pushUndoStop(); + } + } + (0, r.Qr)( + class extends c { + constructor() { + super(!0, { + id: 'editor.action.moveCarretLeftAction', + label: n.N('caret.moveLeft', 'Move Selected Text Left'), + alias: 'Move Selected Text Left', + precondition: s.u.writable, + }); + } + } + ), + (0, r.Qr)( + class extends c { + constructor() { + super(!1, { + id: 'editor.action.moveCarretRightAction', + label: n.N('caret.moveRight', 'Move Selected Text Right'), + alias: 'Move Selected Text Right', + precondition: s.u.writable, + }); + } + } + ); + }, + 77847: (e, t, i) => { + 'use strict'; + i.r(t); + var n = i(63580), + r = i(16830), + s = i(61329), + o = i(24314), + a = i(29102), + l = i(88784); + class c extends r.R6 { + constructor() { + super({ + id: 'editor.action.transposeLetters', + label: n.N('transposeLetters.label', 'Transpose Letters'), + alias: 'Transpose Letters', + precondition: a.u.writable, + kbOpts: { + kbExpr: a.u.textInputFocus, + primary: 0, + mac: { primary: 306 }, + weight: 100, + }, + }); + } + run(e, t) { + if (!t.hasModel()) return; + let i = t.getModel(), + n = [], + r = t.getSelections(); + for (let e of r) { + if (!e.isEmpty()) continue; + let t = e.startLineNumber, + r = e.startColumn, + a = i.getLineMaxColumn(t); + if (1 === t && (1 === r || (2 === r && 2 === a))) continue; + let c = + r === a + ? e.getPosition() + : l.o.rightPosition( + i, + e.getPosition().lineNumber, + e.getPosition().column + ), + d = l.o.leftPosition(i, c.lineNumber, c.column), + h = l.o.leftPosition(i, d.lineNumber, d.column), + u = i.getValueInRange(o.e.fromPositions(h, d)), + g = i.getValueInRange(o.e.fromPositions(d, c)), + f = o.e.fromPositions(h, c); + n.push(new s.T4(f, g + u)); + } + n.length > 0 && + (t.pushUndoStop(), + t.executeCommands(this.id, n), + t.pushUndoStop()); + } + } + (0, r.Qr)(c); + }, + 62015: (e, t, i) => { + 'use strict'; + i.r(t), + i.d(t, { + CutAction: () => b, + CopyAction: () => v, + PasteAction: () => y, + }); + var n = i(63580), + r = i(16268), + s = i(1432), + o = i(35715), + a = i(16830), + l = i(11640), + c = i(29102), + d = i(84144), + h = i(84972); + const u = '9_cutcopypaste', + g = s.tY || document.queryCommandSupported('cut'), + f = s.tY || document.queryCommandSupported('copy'), + p = f && !r.un, + m = !r.vU || document.queryCommandSupported('paste'); + function _(e) { + return e.register(), e; + } + const b = g + ? _( + new a.AJ({ + id: 'editor.action.clipboardCutAction', + precondition: void 0, + kbOpts: s.tY + ? { + primary: 2102, + win: { primary: 2102, secondary: [1044] }, + weight: 100, + } + : void 0, + menuOpts: [ + { + menuId: d.eH.MenubarEditMenu, + group: '2_ccp', + title: n.N( + { key: 'miCut', comment: ['&& denotes a mnemonic'] }, + 'Cu&&t' + ), + order: 1, + }, + { + menuId: d.eH.EditorContext, + group: u, + title: n.N('actions.clipboard.cutLabel', 'Cut'), + when: c.u.writable, + order: 1, + }, + { + menuId: d.eH.CommandPalette, + group: '', + title: n.N('actions.clipboard.cutLabel', 'Cut'), + order: 1, + }, + ], + }) + ) + : void 0, + v = f + ? _( + new a.AJ({ + id: 'editor.action.clipboardCopyAction', + precondition: void 0, + kbOpts: s.tY + ? { + primary: 2081, + win: { primary: 2081, secondary: [2067] }, + weight: 100, + } + : void 0, + menuOpts: [ + { + menuId: d.eH.MenubarEditMenu, + group: '2_ccp', + title: n.N( + { key: 'miCopy', comment: ['&& denotes a mnemonic'] }, + '&&Copy' + ), + order: 2, + }, + { + menuId: d.eH.EditorContext, + group: u, + title: n.N('actions.clipboard.copyLabel', 'Copy'), + order: 2, + }, + { + menuId: d.eH.CommandPalette, + group: '', + title: n.N('actions.clipboard.copyLabel', 'Copy'), + order: 1, + }, + ], + }) + ) + : void 0, + y = m + ? _( + new a.AJ({ + id: 'editor.action.clipboardPasteAction', + precondition: void 0, + kbOpts: s.tY + ? { + primary: 2100, + win: { primary: 2100, secondary: [1043] }, + linux: { primary: 2100, secondary: [1043] }, + weight: 100, + } + : void 0, + menuOpts: [ + { + menuId: d.eH.MenubarEditMenu, + group: '2_ccp', + title: n.N( + { key: 'miPaste', comment: ['&& denotes a mnemonic'] }, + '&&Paste' + ), + order: 3, + }, + { + menuId: d.eH.EditorContext, + group: u, + title: n.N('actions.clipboard.pasteLabel', 'Paste'), + when: c.u.writable, + order: 3, + }, + { + menuId: d.eH.CommandPalette, + group: '', + title: n.N('actions.clipboard.pasteLabel', 'Paste'), + order: 1, + }, + ], + }) + ) + : void 0; + class w extends a.R6 { + constructor() { + super({ + id: 'editor.action.clipboardCopyWithSyntaxHighlightingAction', + label: n.N( + 'actions.clipboard.copyWithSyntaxHighlightingLabel', + 'Copy With Syntax Highlighting' + ), + alias: 'Copy With Syntax Highlighting', + precondition: void 0, + kbOpts: { kbExpr: c.u.textInputFocus, primary: 0, weight: 100 }, + }); + } + run(e, t) { + t.hasModel() && + ((!t.getOption(26) && t.getSelection().isEmpty()) || + ((o.RA.forceCopyWithSyntaxHighlighting = !0), + t.focus(), + document.execCommand('copy'), + (o.RA.forceCopyWithSyntaxHighlighting = !1))); + } + } + function C(e, t) { + e && + (e.addImplementation(1e4, (e, i) => { + const n = e.get(l.$).getFocusedCodeEditor(); + if (n && n.hasTextFocus()) { + const e = n.getOption(26), + i = n.getSelection(); + return (i && i.isEmpty() && !e) || document.execCommand(t), !0; + } + return !1; + }), + e.addImplementation(0, (e, i) => (document.execCommand(t), !0))); + } + C(b, 'cut'), + C(v, 'copy'), + y && + (y.addImplementation(1e4, (e, t) => { + const i = e.get(l.$), + n = e.get(h.p), + r = i.getFocusedCodeEditor(); + return ( + !(!r || !r.hasTextFocus()) && + !( + !document.execCommand('paste') && + s.$L && + ((a = void 0), + (c = void 0), + (d = void 0), + (u = function* () { + const e = yield n.readText(); + if ('' !== e) { + const t = o.Nl.INSTANCE.get(e); + let i = !1, + n = null, + s = null; + t && + ((i = r.getOption(26) && !!t.isFromEmptySelection), + (n = + void 0 !== t.multicursorText + ? t.multicursorText + : null), + (s = t.mode)), + r.trigger('keyboard', 'paste', { + text: e, + pasteOnNewLine: i, + multicursorText: n, + mode: s, + }); + } + }), + new (d || (d = Promise))(function (e, t) { + function i(e) { + try { + r(u.next(e)); + } catch (e) { + t(e); + } + } + function n(e) { + try { + r(u.throw(e)); + } catch (e) { + t(e); + } + } + function r(t) { + var r; + t.done + ? e(t.value) + : ((r = t.value), + r instanceof d + ? r + : new d(function (e) { + e(r); + })).then(i, n); + } + r((u = u.apply(a, c || [])).next()); + }), + 0) + ) + ); + var a, c, d, u; + }), + y.addImplementation( + 0, + (e, t) => (document.execCommand('paste'), !0) + )), + p && (0, a.Qr)(w); + }, + 31907: (e, t, i) => { + 'use strict'; + i.d(t, { + RB: () => _, + Bb: () => b, + MN: () => v, + uH: () => y, + TM: () => w, + aI: () => k, + }); + var n = i(9488), + r = i(71050), + s = i(17301), + o = i(5976), + a = i(70666), + l = i(39925), + c = i(16830), + d = i(24314), + h = i(3860), + u = i(43775), + g = i(51200), + f = i(89532), + p = i(90535), + m = function (e, t, i, n) { + return new (i || (i = Promise))(function (r, s) { + function o(e) { + try { + l(n.next(e)); + } catch (e) { + s(e); + } + } + function a(e) { + try { + l(n.throw(e)); + } catch (e) { + s(e); + } + } + function l(e) { + var t; + e.done + ? r(e.value) + : ((t = e.value), + t instanceof i + ? t + : new i(function (e) { + e(t); + })).then(o, a); + } + l((n = n.apply(e, t || [])).next()); + }); + }; + const _ = 'editor.action.codeAction', + b = 'editor.action.refactor', + v = 'editor.action.sourceAction', + y = 'editor.action.organizeImports', + w = 'editor.action.fixAll'; + class C extends o.JT { + constructor(e, t, i) { + super(), + (this.documentation = t), + this._register(i), + (this.allActions = (0, n.qt)([...e], C.codeActionsComparator)), + (this.validActions = this.allActions.filter((e) => !e.disabled)); + } + static codeActionsComparator(e, t) { + return e.isPreferred && !t.isPreferred + ? -1 + : !e.isPreferred && t.isPreferred + ? 1 + : (0, n.Of)(e.diagnostics) + ? (0, n.Of)(t.diagnostics) + ? e.diagnostics[0].message.localeCompare( + t.diagnostics[0].message + ) + : -1 + : (0, n.Of)(t.diagnostics) + ? 1 + : 0; + } + get hasAutoFix() { + return this.validActions.some( + (e) => + !!e.kind && + f.yN.QuickFix.contains(new f.yN(e.kind)) && + !!e.isPreferred + ); + } + } + const S = { actions: [], documentation: void 0 }; + function k(e, t, i, r, a) { + var c; + const d = i.filter || {}, + h = { + only: null === (c = d.include) || void 0 === c ? void 0 : c.value, + trigger: i.type, + }, + g = new l.YQ(e, a), + p = (function (e, t) { + return u.H9.all(e).filter( + (e) => + !e.providedCodeActionKinds || + e.providedCodeActionKinds.some((e) => + (0, f.EU)(t, new f.yN(e)) + ) + ); + })(e, d), + _ = new o.SL(), + b = p.map((i) => + m(this, void 0, void 0, function* () { + try { + r.report(i); + const n = yield i.provideCodeActions(e, t, h, g.token); + if ((n && _.add(n), g.token.isCancellationRequested)) + return S; + const s = ((null == n ? void 0 : n.actions) || []).filter( + (e) => e && (0, f.Yl)(d, e) + ); + return { + actions: s, + documentation: (function (e, t, i) { + if (!e.documentation) return; + const n = e.documentation.map((e) => ({ + kind: new f.yN(e.kind), + command: e.command, + })); + if (i) { + let e; + for (const t of n) + t.kind.contains(i) && + (e ? e.kind.contains(t.kind) && (e = t) : (e = t)); + if (e) return null == e ? void 0 : e.command; + } + for (const e of t) + if (e.kind) + for (const t of n) + if (t.kind.contains(new f.yN(e.kind))) + return t.command; + })(i, s, d.include), + }; + } catch (e) { + if ((0, s.VV)(e)) throw e; + return (0, s.Cp)(e), S; + } + }) + ), + v = u.H9.onDidChange(() => { + const t = u.H9.all(e); + (0, n.fS)(t, p) || g.cancel(); + }); + return Promise.all(b) + .then((e) => { + const t = (0, n.xH)(e.map((e) => e.actions)), + i = (0, n.kX)(e.map((e) => e.documentation)); + return new C(t, i, _); + }) + .finally(() => { + v.dispose(), g.dispose(); + }); + } + (0, c._h)('_executeCodeActionProvider', function (e, t) { + return m(this, void 0, void 0, function* () { + const { resource: i, rangeOrSelection: n, kind: o } = t; + if (!(i instanceof a.o)) throw (0, s.b1)(); + const l = e.get(g.q).getModel(i); + if (!l) throw (0, s.b1)(); + const c = h.Y.isISelection(n) + ? h.Y.liftSelection(n) + : d.e.isIRange(n) + ? l.validateRange(n) + : void 0; + if (!c) throw (0, s.b1)(); + const u = yield k( + l, + c, + { + type: 2, + filter: { + includeSourceActions: !0, + include: o && o.value ? new f.yN(o.value) : void 0, + }, + }, + p.E.None, + r.T.None + ); + return setTimeout(() => u.dispose(), 100), u.validActions; + }); + }); + }, + 23674: (e, t, i) => { + 'use strict'; + i.d(t, { + S5: () => de, + dW: () => se, + Hv: () => ce, + o$: () => le, + E7: () => re, + pY: () => te, + Eb: () => oe, + VQ: () => ae, + }); + class n { + constructor(e) { + (this.executor = e), (this._didRun = !1); + } + getValue() { + if (!this._didRun) + try { + this._value = this.executor(); + } catch (e) { + this._error = e; + } finally { + this._didRun = !0; + } + if (this._error) throw this._error; + return this._value; + } + get rawValue() { + return this._value; + } + } + var r = i(5976), + s = i(97295), + o = i(16830), + a = i(66007), + l = i(29102), + c = i(31907), + d = i(17301), + h = i(82276), + u = i(72065), + g = i(65321), + f = i(74741), + p = i(50187), + m = i(43775), + _ = i(89532), + b = i(5606), + v = i(91847), + y = function (e, t) { + return function (i, n) { + t(i, n, e); + }; + }; + class w extends f.aU { + constructor(e, t) { + super( + e.command ? e.command.id : e.title, + e.title, + void 0, + !e.disabled, + t + ), + (this.action = e); + } + } + let C = class extends r.JT { + constructor(e, t, i, n) { + super(), + (this._editor = e), + (this._delegate = t), + (this._contextMenuService = i), + (this._visible = !1), + (this._showingActions = this._register(new r.XK())), + (this._keybindingResolver = new S({ + getKeybindings: () => n.getKeybindings(), + })); + } + get isVisible() { + return this._visible; + } + show(e, t, i, n) { + return ( + (r = this), + (s = void 0), + (a = function* () { + const r = n.includeDisabledActions + ? t.allActions + : t.validActions; + if (!r.length) return void (this._visible = !1); + if (!this._editor.getDomNode()) + throw ((this._visible = !1), (0, d.F0)()); + (this._visible = !0), (this._showingActions.value = t); + const s = this.getMenuActions(e, r, t.documentation), + o = p.L.isIPosition(i) + ? this._toCoords(i) + : i || { x: 0, y: 0 }, + a = this._keybindingResolver.getResolver(); + this._contextMenuService.showContextMenu({ + domForShadowRoot: this._editor.getDomNode(), + getAnchor: () => o, + getActions: () => s, + onHide: () => { + (this._visible = !1), this._editor.focus(); + }, + autoSelectFirstItem: !0, + getKeyBinding: (e) => (e instanceof w ? a(e.action) : void 0), + }); + }), + new ((o = void 0) || (o = Promise))(function (e, t) { + function i(e) { + try { + l(a.next(e)); + } catch (e) { + t(e); + } + } + function n(e) { + try { + l(a.throw(e)); + } catch (e) { + t(e); + } + } + function l(t) { + var r; + t.done + ? e(t.value) + : ((r = t.value), + r instanceof o + ? r + : new o(function (e) { + e(r); + })).then(i, n); + } + l((a = a.apply(r, s || [])).next()); + }) + ); + var r, s, o, a; + } + getMenuActions(e, t, i) { + var n, r; + const s = (e) => + new w(e, () => this._delegate.onSelectCodeAction(e)), + o = t.map(s), + a = [...i], + l = this._editor.getModel(); + if (l && o.length) + for (const i of m.H9.all(l)) + i._getAdditionalMenuItems && + a.push( + ...i._getAdditionalMenuItems( + { + trigger: e.type, + only: + null === + (r = + null === (n = e.filter) || void 0 === n + ? void 0 + : n.include) || void 0 === r + ? void 0 + : r.value, + }, + t + ) + ); + return ( + a.length && + o.push( + new f.Z0(), + ...a.map((e) => s({ title: e.title, command: e })) + ), + o + ); + } + _toCoords(e) { + if (!this._editor.hasModel()) return { x: 0, y: 0 }; + this._editor.revealPosition(e, 1), this._editor.render(); + const t = this._editor.getScrolledVisiblePosition(e), + i = (0, g.i)(this._editor.getDomNode()); + return { x: i.left + t.left, y: i.top + t.top + t.height }; + } + }; + C = (function (e, t, i, n) { + var r, + s = arguments.length, + o = + s < 3 + ? t + : null === n + ? (n = Object.getOwnPropertyDescriptor(t, i)) + : n; + if ( + 'object' == typeof Reflect && + 'function' == typeof Reflect.decorate + ) + o = Reflect.decorate(e, t, i, n); + else + for (var a = e.length - 1; a >= 0; a--) + (r = e[a]) && + (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); + return s > 3 && o && Object.defineProperty(t, i, o), o; + })([y(2, b.i), y(3, v.d)], C); + class S { + constructor(e) { + this._keybindingProvider = e; + } + getResolver() { + const e = new n(() => + this._keybindingProvider + .getKeybindings() + .filter((e) => S.codeActionCommands.indexOf(e.command) >= 0) + .filter((e) => e.resolvedKeybinding) + .map((e) => { + let t = e.commandArgs; + return ( + e.command === c.uH + ? (t = { kind: _.yN.SourceOrganizeImports.value }) + : e.command === c.TM && + (t = { kind: _.yN.SourceFixAll.value }), + Object.assign( + { resolvedKeybinding: e.resolvedKeybinding }, + _.wZ.fromUser(t, { kind: _.yN.None, apply: 'never' }) + ) + ); + }) + ); + return (t) => { + if (t.kind) { + const i = this.bestKeybindingForCodeAction(t, e.getValue()); + return null == i ? void 0 : i.resolvedKeybinding; + } + }; + } + bestKeybindingForCodeAction(e, t) { + if (!e.kind) return; + const i = new _.yN(e.kind); + return t + .filter((e) => e.kind.contains(i)) + .filter((t) => !t.preferred || e.isPreferred) + .reduceRight( + (e, t) => (e ? (e.kind.contains(t.kind) ? t : e) : t), + void 0 + ); + } + } + S.codeActionCommands = [c.Bb, c.RB, c.MN, c.uH, c.TM]; + var k, + x = i(57974), + L = i(4669), + M = i(3411), + D = i(63580), + N = i(97781), + E = i(73910), + T = i(10553), + I = i(73046); + !(function (e) { + (e.Hidden = { type: 0 }), + (e.Showing = class { + constructor(e, t, i, n) { + (this.actions = e), + (this.trigger = t), + (this.editorPosition = i), + (this.widgetPosition = n), + (this.type = 1); + } + }); + })(k || (k = {})); + let O = class e extends r.JT { + constructor(e, t, i, n) { + super(), + (this._editor = e), + (this._quickFixActionId = t), + (this._preferredFixActionId = i), + (this._keybindingService = n), + (this._onClick = this._register(new L.Q5())), + (this.onClick = this._onClick.event), + (this._state = k.Hidden), + (this._domNode = document.createElement('div')), + (this._domNode.className = I.lA.lightBulb.classNames), + this._editor.addContentWidget(this), + this._register( + this._editor.onDidChangeModelContent((e) => { + const t = this._editor.getModel(); + (1 !== this.state.type || + !t || + this.state.editorPosition.lineNumber >= t.getLineCount()) && + this.hide(); + }) + ), + T.o.ignoreTarget(this._domNode), + this._register( + g.Gw(this._domNode, (e) => { + if (1 !== this.state.type) return; + this._editor.focus(), e.preventDefault(); + const { top: t, height: i } = g.i(this._domNode), + n = this._editor.getOption(51); + let r = Math.floor(n / 3); + null !== this.state.widgetPosition.position && + this.state.widgetPosition.position.lineNumber < + this.state.editorPosition.lineNumber && + (r += n), + this._onClick.fire({ + x: e.posx, + y: t + i + r, + actions: this.state.actions, + trigger: this.state.trigger, + }); + }) + ), + this._register( + g.nm(this._domNode, 'mouseenter', (e) => { + if (1 != (1 & e.buttons)) return; + this.hide(); + const t = new x.Z(); + t.startMonitoring( + e.target, + e.buttons, + x.e, + () => {}, + () => { + t.dispose(); + } + ); + }) + ), + this._register( + this._editor.onDidChangeConfiguration((e) => { + e.hasChanged(49) && + !this._editor.getOption(49).enabled && + this.hide(); + }) + ), + this._updateLightBulbTitleAndIcon(), + this._register( + this._keybindingService.onDidUpdateKeybindings( + this._updateLightBulbTitleAndIcon, + this + ) + ); + } + dispose() { + super.dispose(), this._editor.removeContentWidget(this); + } + getId() { + return 'LightBulbWidget'; + } + getDomNode() { + return this._domNode; + } + getPosition() { + return 1 === this._state.type ? this._state.widgetPosition : null; + } + update(t, i, n) { + if (t.validActions.length <= 0) return this.hide(); + const r = this._editor.getOptions(); + if (!r.get(49).enabled) return this.hide(); + const s = this._editor.getModel(); + if (!s) return this.hide(); + const { lineNumber: o, column: a } = s.validatePosition(n), + l = s.getOptions().tabSize, + c = r.get(36), + d = s.getLineContent(o), + h = M.yO.computeIndentLevel(d, l), + u = (e) => + e > 2 && + this._editor.getTopForLineNumber(e) === + this._editor.getTopForLineNumber(e - 1); + let g = o; + if (!(c.spaceWidth * h > 22)) + if (o > 1 && !u(o - 1)) g -= 1; + else if (u(o + 1)) { + if (a * c.spaceWidth < 22) return this.hide(); + } else g += 1; + (this.state = new k.Showing(t, i, n, { + position: { lineNumber: g, column: 1 }, + preference: e._posPref, + })), + this._editor.layoutContentWidget(this); + } + hide() { + (this.state = k.Hidden), this._editor.layoutContentWidget(this); + } + get state() { + return this._state; + } + set state(e) { + (this._state = e), this._updateLightBulbTitleAndIcon(); + } + _updateLightBulbTitleAndIcon() { + if (1 === this.state.type && this.state.actions.hasAutoFix) { + g.GK(this._domNode, I.lA.lightBulb.classNames), + g.PT(this._domNode, I.lA.lightbulbAutofix.classNames); + const e = this._keybindingService.lookupKeybinding( + this._preferredFixActionId + ); + if (e) + return void (this.title = D.N( + 'prefferedQuickFixWithKb', + 'Show Fixes. Preferred Fix Available ({0})', + e.getLabel() + )); + } + g.GK(this._domNode, I.lA.lightbulbAutofix.classNames), + g.PT(this._domNode, I.lA.lightBulb.classNames); + const e = this._keybindingService.lookupKeybinding( + this._quickFixActionId + ); + this.title = e + ? D.N('quickFixWithKb', 'Show Fixes ({0})', e.getLabel()) + : D.N('quickFix', 'Show Fixes'); + } + set title(e) { + this._domNode.title = e; + } + }; + var A, R; + (O._posPref = [0]), + (O = (function (e, t, i, n) { + var r, + s = arguments.length, + o = + s < 3 + ? t + : null === n + ? (n = Object.getOwnPropertyDescriptor(t, i)) + : n; + if ( + 'object' == typeof Reflect && + 'function' == typeof Reflect.decorate + ) + o = Reflect.decorate(e, t, i, n); + else + for (var a = e.length - 1; a >= 0; a--) + (r = e[a]) && + (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); + return s > 3 && o && Object.defineProperty(t, i, o), o; + })( + [ + ((A = 3), + (R = v.d), + function (e, t) { + R(e, t, A); + }), + ], + O + )), + (0, N.Ic)((e, t) => { + const i = e.getColor(E.Fu); + i && + t.addRule( + `\n\t\t.monaco-editor .contentWidgets ${I.lA.lightBulb.cssSelector} {\n\t\t\tcolor: ${i};\n\t\t}` + ); + const n = e.getColor(E.sK); + n && + t.addRule( + `\n\t\t.monaco-editor .contentWidgets ${I.lA.lightbulbAutofix.cssSelector} {\n\t\t\tcolor: ${n};\n\t\t}` + ); + }); + var P = function (e, t, i, n) { + return new (i || (i = Promise))(function (r, s) { + function o(e) { + try { + l(n.next(e)); + } catch (e) { + s(e); + } + } + function a(e) { + try { + l(n.throw(e)); + } catch (e) { + s(e); + } + } + function l(e) { + var t; + e.done + ? r(e.value) + : ((t = e.value), + t instanceof i + ? t + : new i(function (e) { + e(t); + })).then(o, a); + } + l((n = n.apply(e, t || [])).next()); + }); + }; + let F = class extends r.JT { + constructor(e, t, i, s, o) { + super(), + (this._editor = e), + (this.delegate = s), + (this._activeCodeActions = this._register(new r.XK())), + (this._codeActionWidget = new n(() => + this._register( + o.createInstance(C, this._editor, { + onSelectCodeAction: (e) => + P(this, void 0, void 0, function* () { + this.delegate.applyCodeAction(e, !0); + }), + }) + ) + )), + (this._lightBulbWidget = new n(() => { + const e = this._register( + o.createInstance(O, this._editor, t, i) + ); + return ( + this._register( + e.onClick((e) => + this.showCodeActionList(e.trigger, e.actions, e, { + includeDisabledActions: !1, + }) + ) + ), + e + ); + })); + } + update(e) { + var t, i, n; + return P(this, void 0, void 0, function* () { + if (1 !== e.type) + return void ( + null === (t = this._lightBulbWidget.rawValue) || + void 0 === t || + t.hide() + ); + let r; + try { + r = yield e.actions; + } catch (e) { + return void (0, d.dL)(e); + } + if ( + (this._lightBulbWidget + .getValue() + .update(r, e.trigger, e.position), + 2 === e.trigger.type) + ) { + if ( + null === (i = e.trigger.filter) || void 0 === i + ? void 0 + : i.include + ) { + const t = this.tryGetValidActionToApply(e.trigger, r); + if (t) { + try { + yield this.delegate.applyCodeAction(t, !1); + } finally { + r.dispose(); + } + return; + } + if (e.trigger.context) { + const t = this.getInvalidActionThatWouldHaveBeenApplied( + e.trigger, + r + ); + if (t && t.disabled) + return ( + h.O.get(this._editor).showMessage( + t.disabled, + e.trigger.context.position + ), + void r.dispose() + ); + } + } + const t = !!(null === (n = e.trigger.filter) || void 0 === n + ? void 0 + : n.include); + if ( + e.trigger.context && + (!r.allActions.length || (!t && !r.validActions.length)) + ) + return ( + h.O.get(this._editor).showMessage( + e.trigger.context.notAvailableMessage, + e.trigger.context.position + ), + (this._activeCodeActions.value = r), + void r.dispose() + ); + (this._activeCodeActions.value = r), + this._codeActionWidget + .getValue() + .show(e.trigger, r, e.position, { + includeDisabledActions: t, + }); + } else this._codeActionWidget.getValue().isVisible ? r.dispose() : (this._activeCodeActions.value = r); + }); + } + getInvalidActionThatWouldHaveBeenApplied(e, t) { + if (t.allActions.length) + return ('first' === e.autoApply && 0 === t.validActions.length) || + ('ifSingle' === e.autoApply && 1 === t.allActions.length) + ? t.allActions.find((e) => e.disabled) + : void 0; + } + tryGetValidActionToApply(e, t) { + if (t.validActions.length) + return ('first' === e.autoApply && t.validActions.length > 0) || + ('ifSingle' === e.autoApply && 1 === t.validActions.length) + ? t.validActions[0] + : void 0; + } + showCodeActionList(e, t, i, n) { + return P(this, void 0, void 0, function* () { + this._codeActionWidget.getValue().show(e, t, i, n); + }); + } + }; + F = (function (e, t, i, n) { + var r, + s = arguments.length, + o = + s < 3 + ? t + : null === n + ? (n = Object.getOwnPropertyDescriptor(t, i)) + : n; + if ( + 'object' == typeof Reflect && + 'function' == typeof Reflect.decorate + ) + o = Reflect.decorate(e, t, i, n); + else + for (var a = e.length - 1; a >= 0; a--) + (r = e[a]) && + (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); + return s > 3 && o && Object.defineProperty(t, i, o), o; + })( + [ + (function (e, t) { + return function (i, n) { + t(i, n, e); + }; + })(4, u.TG), + ], + F + ); + var B = i(94565), + W = i(38819), + Y = i(98674), + H = i(59422), + j = i(90535), + V = i(10829), + z = i(15393), + U = i(24314), + $ = i(95935); + const K = new W.uy('supportedCodeAction', ''); + class q extends r.JT { + constructor(e, t, i, n = 250) { + super(), + (this._editor = e), + (this._markerService = t), + (this._signalChange = i), + (this._delay = n), + (this._autoTriggerTimer = this._register(new z._F())), + this._register( + this._markerService.onMarkerChanged((e) => + this._onMarkerChanges(e) + ) + ), + this._register( + this._editor.onDidChangeCursorPosition(() => + this._onCursorChange() + ) + ); + } + trigger(e) { + const t = this._getRangeOfSelectionUnlessWhitespaceEnclosed(e); + return this._createEventAndSignalChange(e, t); + } + _onMarkerChanges(e) { + const t = this._editor.getModel(); + t && + e.some((e) => (0, $.Xy)(e, t.uri)) && + this._autoTriggerTimer.cancelAndSet(() => { + this.trigger({ type: 1 }); + }, this._delay); + } + _onCursorChange() { + this._autoTriggerTimer.cancelAndSet(() => { + this.trigger({ type: 1 }); + }, this._delay); + } + _getRangeOfMarker(e) { + const t = this._editor.getModel(); + if (t) + for (const i of this._markerService.read({ resource: t.uri })) { + const n = t.validateRange(i); + if (U.e.intersectRanges(n, e)) return U.e.lift(n); + } + } + _getRangeOfSelectionUnlessWhitespaceEnclosed(e) { + if (!this._editor.hasModel()) return; + const t = this._editor.getModel(), + i = this._editor.getSelection(); + if (i.isEmpty() && 1 === e.type) { + const { lineNumber: e, column: n } = i.getPosition(), + r = t.getLineContent(e); + if (0 === r.length) return; + if (1 === n) { + if (/\s/.test(r[0])) return; + } else if (n === t.getLineMaxColumn(e)) { + if (/\s/.test(r[r.length - 1])) return; + } else if (/\s/.test(r[n - 2]) && /\s/.test(r[n - 1])) return; + } + return i; + } + _createEventAndSignalChange(e, t) { + const i = this._editor.getModel(); + if (!t || !i) return void this._signalChange(void 0); + const n = this._getRangeOfMarker(t), + r = n ? n.getStartPosition() : t.getStartPosition(), + s = { trigger: e, selection: t, position: r }; + return this._signalChange(s), s; + } + } + var G; + !(function (e) { + (e.Empty = { type: 0 }), + (e.Triggered = class { + constructor(e, t, i, n) { + (this.trigger = e), + (this.rangeOrSelection = t), + (this.position = i), + (this.actions = n), + (this.type = 1); + } + }); + })(G || (G = {})); + class Z extends r.JT { + constructor(e, t, i, n) { + super(), + (this._editor = e), + (this._markerService = t), + (this._progressService = n), + (this._codeActionOracle = this._register(new r.XK())), + (this._state = G.Empty), + (this._onDidChangeState = this._register(new L.Q5())), + (this.onDidChangeState = this._onDidChangeState.event), + (this._supportedCodeActions = K.bindTo(i)), + this._register( + this._editor.onDidChangeModel(() => this._update()) + ), + this._register( + this._editor.onDidChangeModelLanguage(() => this._update()) + ), + this._register(m.H9.onDidChange(() => this._update())), + this._update(); + } + dispose() { + super.dispose(), this.setState(G.Empty, !0); + } + _update() { + (this._codeActionOracle.value = void 0), this.setState(G.Empty); + const e = this._editor.getModel(); + if (e && m.H9.has(e) && !this._editor.getOption(72)) { + const t = []; + for (const i of m.H9.all(e)) + Array.isArray(i.providedCodeActionKinds) && + t.push(...i.providedCodeActionKinds); + this._supportedCodeActions.set(t.join(' ')), + (this._codeActionOracle.value = new q( + this._editor, + this._markerService, + (t) => { + var i; + if (!t) return void this.setState(G.Empty); + const n = (0, z.PG)((i) => + (0, c.aI)(e, t.selection, t.trigger, j.E.None, i) + ); + 2 === t.trigger.type && + (null === (i = this._progressService) || + void 0 === i || + i.showWhile(n, 250)), + this.setState( + new G.Triggered(t.trigger, t.selection, t.position, n) + ); + }, + void 0 + )), + this._codeActionOracle.value.trigger({ type: 1 }); + } else this._supportedCodeActions.reset(); + } + trigger(e) { + this._codeActionOracle.value && + this._codeActionOracle.value.trigger(e); + } + setState(e, t) { + e !== this._state && + (1 === this._state.type && this._state.actions.cancel(), + (this._state = e), + t || this._onDidChangeState.fire(e)); + } + } + var J = function (e, t) { + return function (i, n) { + t(i, n, e); + }; + }, + Q = function (e, t, i, n) { + return new (i || (i = Promise))(function (r, s) { + function o(e) { + try { + l(n.next(e)); + } catch (e) { + s(e); + } + } + function a(e) { + try { + l(n.throw(e)); + } catch (e) { + s(e); + } + } + function l(e) { + var t; + e.done + ? r(e.value) + : ((t = e.value), + t instanceof i + ? t + : new i(function (e) { + e(t); + })).then(o, a); + } + l((n = n.apply(e, t || [])).next()); + }); + }; + function X(e) { + return W.Ao.regex( + K.keys()[0], + new RegExp('(\\s|^)' + (0, s.ec)(e.value) + '\\b') + ); + } + const ee = { + type: 'object', + defaultSnippets: [{ body: { kind: '' } }], + properties: { + kind: { + type: 'string', + description: D.N( + 'args.schema.kind', + 'Kind of the code action to run.' + ), + }, + apply: { + type: 'string', + description: D.N( + 'args.schema.apply', + 'Controls when the returned actions are applied.' + ), + default: 'ifSingle', + enum: ['first', 'ifSingle', 'never'], + enumDescriptions: [ + D.N( + 'args.schema.apply.first', + 'Always apply the first returned code action.' + ), + D.N( + 'args.schema.apply.ifSingle', + 'Apply the first returned code action if it is the only one.' + ), + D.N( + 'args.schema.apply.never', + 'Do not apply the returned code actions.' + ), + ], + }, + preferred: { + type: 'boolean', + default: !1, + description: D.N( + 'args.schema.preferred', + 'Controls if only preferred code actions should be returned.' + ), + }, + }, + }; + let te = class e extends r.JT { + constructor(e, t, i, r, s) { + super(), + (this._instantiationService = s), + (this._editor = e), + (this._model = this._register(new Z(this._editor, t, i, r))), + this._register( + this._model.onDidChangeState((e) => this.update(e)) + ), + (this._ui = new n(() => + this._register( + new F( + e, + re.Id, + de.Id, + { + applyCodeAction: (e, t) => + Q(this, void 0, void 0, function* () { + try { + yield this._applyCodeAction(e); + } finally { + t && this._trigger({ type: 1, filter: {} }); + } + }), + }, + this._instantiationService + ) + ) + )); + } + static get(t) { + return t.getContribution(e.ID); + } + update(e) { + this._ui.getValue().update(e); + } + showCodeActions(e, t, i) { + return this._ui + .getValue() + .showCodeActionList(e, t, i, { includeDisabledActions: !1 }); + } + manualTriggerAtCurrentPosition(e, t, i) { + if (!this._editor.hasModel()) return; + h.O.get(this._editor).closeMessage(); + const n = this._editor.getPosition(); + this._trigger({ + type: 2, + filter: t, + autoApply: i, + context: { notAvailableMessage: e, position: n }, + }); + } + _trigger(e) { + return this._model.trigger(e); + } + _applyCodeAction(e) { + return this._instantiationService.invokeFunction( + ie, + e, + this._editor + ); + } + }; + function ie(e, t, i) { + return Q(this, void 0, void 0, function* () { + const n = e.get(a.vu), + r = e.get(B.H), + s = e.get(V.b), + o = e.get(H.lT); + if ( + (s.publicLog2('codeAction.applyCodeAction', { + codeActionTitle: t.title, + codeActionKind: t.kind, + codeActionIsPreferred: !!t.isPreferred, + }), + t.edit && + (yield n.apply(a.fo.convert(t.edit), { + editor: i, + label: t.title, + })), + t.command) + ) + try { + yield r.executeCommand( + t.command.id, + ...(t.command.arguments || []) + ); + } catch (e) { + const t = (function (e) { + return 'string' == typeof e + ? e + : e instanceof Error && 'string' == typeof e.message + ? e.message + : void 0; + })(e); + o.error( + 'string' == typeof t + ? t + : D.N( + 'applyCodeActionFailed', + 'An unknown error occurred while applying the code action' + ) + ); + } + }); + } + function ne(e, t, i, n) { + if (e.hasModel()) { + const r = te.get(e); + r && r.manualTriggerAtCurrentPosition(t, i, n); + } + } + (te.ID = 'editor.contrib.quickFixController'), + (te = (function (e, t, i, n) { + var r, + s = arguments.length, + o = + s < 3 + ? t + : null === n + ? (n = Object.getOwnPropertyDescriptor(t, i)) + : n; + if ( + 'object' == typeof Reflect && + 'function' == typeof Reflect.decorate + ) + o = Reflect.decorate(e, t, i, n); + else + for (var a = e.length - 1; a >= 0; a--) + (r = e[a]) && + (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); + return s > 3 && o && Object.defineProperty(t, i, o), o; + })([J(1, Y.lT), J(2, W.i6), J(3, j.e), J(4, u.TG)], te)); + class re extends o.R6 { + constructor() { + super({ + id: re.Id, + label: D.N('quickfix.trigger.label', 'Quick Fix...'), + alias: 'Quick Fix...', + precondition: W.Ao.and(l.u.writable, l.u.hasCodeActionsProvider), + kbOpts: { + kbExpr: l.u.editorTextFocus, + primary: 2132, + weight: 100, + }, + }); + } + run(e, t) { + return ne( + t, + D.N( + 'editor.action.quickFix.noneMessage', + 'No code actions available' + ), + void 0, + void 0 + ); + } + } + re.Id = 'editor.action.quickFix'; + class se extends o._l { + constructor() { + super({ + id: c.RB, + precondition: W.Ao.and(l.u.writable, l.u.hasCodeActionsProvider), + description: { + description: 'Trigger a code action', + args: [{ name: 'args', schema: ee }], + }, + }); + } + runEditorCommand(e, t, i) { + const n = _.wZ.fromUser(i, { kind: _.yN.Empty, apply: 'ifSingle' }); + return ne( + t, + 'string' == typeof (null == i ? void 0 : i.kind) + ? n.preferred + ? D.N( + 'editor.action.codeAction.noneMessage.preferred.kind', + "No preferred code actions for '{0}' available", + i.kind + ) + : D.N( + 'editor.action.codeAction.noneMessage.kind', + "No code actions for '{0}' available", + i.kind + ) + : n.preferred + ? D.N( + 'editor.action.codeAction.noneMessage.preferred', + 'No preferred code actions available' + ) + : D.N( + 'editor.action.codeAction.noneMessage', + 'No code actions available' + ), + { + include: n.kind, + includeSourceActions: !0, + onlyIncludePreferredActions: n.preferred, + }, + n.apply + ); + } + } + class oe extends o.R6 { + constructor() { + super({ + id: c.Bb, + label: D.N('refactor.label', 'Refactor...'), + alias: 'Refactor...', + precondition: W.Ao.and(l.u.writable, l.u.hasCodeActionsProvider), + kbOpts: { + kbExpr: l.u.editorTextFocus, + primary: 3120, + mac: { primary: 1328 }, + weight: 100, + }, + contextMenuOpts: { + group: '1_modification', + order: 2, + when: W.Ao.and(l.u.writable, X(_.yN.Refactor)), + }, + description: { + description: 'Refactor...', + args: [{ name: 'args', schema: ee }], + }, + }); + } + run(e, t, i) { + const n = _.wZ.fromUser(i, { kind: _.yN.Refactor, apply: 'never' }); + return ne( + t, + 'string' == typeof (null == i ? void 0 : i.kind) + ? n.preferred + ? D.N( + 'editor.action.refactor.noneMessage.preferred.kind', + "No preferred refactorings for '{0}' available", + i.kind + ) + : D.N( + 'editor.action.refactor.noneMessage.kind', + "No refactorings for '{0}' available", + i.kind + ) + : n.preferred + ? D.N( + 'editor.action.refactor.noneMessage.preferred', + 'No preferred refactorings available' + ) + : D.N( + 'editor.action.refactor.noneMessage', + 'No refactorings available' + ), + { + include: _.yN.Refactor.contains(n.kind) ? n.kind : _.yN.None, + onlyIncludePreferredActions: n.preferred, + }, + n.apply + ); + } + } + class ae extends o.R6 { + constructor() { + super({ + id: c.MN, + label: D.N('source.label', 'Source Action...'), + alias: 'Source Action...', + precondition: W.Ao.and(l.u.writable, l.u.hasCodeActionsProvider), + contextMenuOpts: { + group: '1_modification', + order: 2.1, + when: W.Ao.and(l.u.writable, X(_.yN.Source)), + }, + description: { + description: 'Source Action...', + args: [{ name: 'args', schema: ee }], + }, + }); + } + run(e, t, i) { + const n = _.wZ.fromUser(i, { kind: _.yN.Source, apply: 'never' }); + return ne( + t, + 'string' == typeof (null == i ? void 0 : i.kind) + ? n.preferred + ? D.N( + 'editor.action.source.noneMessage.preferred.kind', + "No preferred source actions for '{0}' available", + i.kind + ) + : D.N( + 'editor.action.source.noneMessage.kind', + "No source actions for '{0}' available", + i.kind + ) + : n.preferred + ? D.N( + 'editor.action.source.noneMessage.preferred', + 'No preferred source actions available' + ) + : D.N( + 'editor.action.source.noneMessage', + 'No source actions available' + ), + { + include: _.yN.Source.contains(n.kind) ? n.kind : _.yN.None, + includeSourceActions: !0, + onlyIncludePreferredActions: n.preferred, + }, + n.apply + ); + } + } + class le extends o.R6 { + constructor() { + super({ + id: c.uH, + label: D.N('organizeImports.label', 'Organize Imports'), + alias: 'Organize Imports', + precondition: W.Ao.and( + l.u.writable, + X(_.yN.SourceOrganizeImports) + ), + kbOpts: { + kbExpr: l.u.editorTextFocus, + primary: 1581, + weight: 100, + }, + }); + } + run(e, t) { + return ne( + t, + D.N( + 'editor.action.organize.noneMessage', + 'No organize imports action available' + ), + { include: _.yN.SourceOrganizeImports, includeSourceActions: !0 }, + 'ifSingle' + ); + } + } + class ce extends o.R6 { + constructor() { + super({ + id: c.TM, + label: D.N('fixAll.label', 'Fix All'), + alias: 'Fix All', + precondition: W.Ao.and(l.u.writable, X(_.yN.SourceFixAll)), + }); + } + run(e, t) { + return ne( + t, + D.N('fixAll.noneMessage', 'No fix all action available'), + { include: _.yN.SourceFixAll, includeSourceActions: !0 }, + 'ifSingle' + ); + } + } + class de extends o.R6 { + constructor() { + super({ + id: de.Id, + label: D.N('autoFix.label', 'Auto Fix...'), + alias: 'Auto Fix...', + precondition: W.Ao.and(l.u.writable, X(_.yN.QuickFix)), + kbOpts: { + kbExpr: l.u.editorTextFocus, + primary: 1620, + mac: { primary: 2644 }, + weight: 100, + }, + }); + } + run(e, t) { + return ne( + t, + D.N( + 'editor.action.autoFix.noneMessage', + 'No auto fixes available' + ), + { include: _.yN.QuickFix, onlyIncludePreferredActions: !0 }, + 'ifSingle' + ); + } + } + de.Id = 'editor.action.autoFix'; + }, + 9093: (e, t, i) => { + 'use strict'; + i.r(t); + var n = i(16830), + r = i(23674); + (0, n._K)(r.pY.ID, r.pY), + (0, n.Qr)(r.E7), + (0, n.Qr)(r.Eb), + (0, n.Qr)(r.VQ), + (0, n.Qr)(r.o$), + (0, n.Qr)(r.S5), + (0, n.Qr)(r.Hv), + (0, n.fK)(new r.dW()); + }, + 89532: (e, t, i) => { + 'use strict'; + i.d(t, { yN: () => r, EU: () => s, Yl: () => o, wZ: () => l }); + var n = i(97295); + class r { + constructor(e) { + this.value = e; + } + equals(e) { + return this.value === e.value; + } + contains(e) { + return ( + this.equals(e) || + '' === this.value || + (0, n.Ny)(e.value, this.value + r.sep) + ); + } + intersects(e) { + return this.contains(e) || e.contains(this); + } + append(e) { + return new r(this.value + r.sep + e); + } + } + function s(e, t) { + return !( + (e.include && !e.include.intersects(t)) || + (e.excludes && e.excludes.some((i) => a(t, i, e.include))) || + (!e.includeSourceActions && r.Source.contains(t)) + ); + } + function o(e, t) { + const i = t.kind ? new r(t.kind) : void 0; + return !( + !(!e.include || (i && e.include.contains(i))) || + (e.excludes && i && e.excludes.some((t) => a(i, t, e.include))) || + (!e.includeSourceActions && i && r.Source.contains(i)) || + (e.onlyIncludePreferredActions && !t.isPreferred) + ); + } + function a(e, t, i) { + return !(!t.contains(e) || (i && t.contains(i))); + } + (r.sep = '.'), + (r.None = new r('@@none@@')), + (r.Empty = new r('')), + (r.QuickFix = new r('quickfix')), + (r.Refactor = new r('refactor')), + (r.Source = new r('source')), + (r.SourceOrganizeImports = r.Source.append('organizeImports')), + (r.SourceFixAll = r.Source.append('fixAll')); + class l { + constructor(e, t, i) { + (this.kind = e), (this.apply = t), (this.preferred = i); + } + static fromUser(e, t) { + return e && 'object' == typeof e + ? new l( + l.getKindFromUser(e, t.kind), + l.getApplyFromUser(e, t.apply), + l.getPreferredUser(e) + ) + : new l(t.kind, t.apply, !1); + } + static getApplyFromUser(e, t) { + switch ('string' == typeof e.apply ? e.apply.toLowerCase() : '') { + case 'first': + return 'first'; + case 'never': + return 'never'; + case 'ifsingle': + return 'ifSingle'; + default: + return t; + } + } + static getKindFromUser(e, t) { + return 'string' == typeof e.kind ? new r(e.kind) : t; + } + static getPreferredUser(e) { + return 'boolean' == typeof e.preferred && e.preferred; + } + } + }, + 53832: (e, t, i) => { + 'use strict'; + i.r(t), i.d(t, { CodeLensContribution: () => z }); + var n = i(15393), + r = i(17301), + s = i(5976), + o = i(39925), + a = i(16830), + l = i(43775), + c = i(9488), + d = i(71050), + h = i(70666), + u = i(51200); + class g { + constructor() { + (this.lenses = []), (this._disposables = new s.SL()); + } + dispose() { + this._disposables.dispose(); + } + add(e, t) { + this._disposables.add(e); + for (const i of e.lenses) + this.lenses.push({ symbol: i, provider: t }); + } + } + function f(e, t) { + const i = l.He.ordered(e), + n = new Map(), + s = new g(), + o = i.map( + (i, o) => ( + n.set(i, o), + Promise.resolve(i.provideCodeLenses(e, t)) + .then((e) => e && s.add(e, i)) + .catch(r.Cp) + ) + ); + return Promise.all(o).then( + () => ( + (s.lenses = (0, c.qt)(s.lenses, (e, t) => + e.symbol.range.startLineNumber < t.symbol.range.startLineNumber + ? -1 + : e.symbol.range.startLineNumber > + t.symbol.range.startLineNumber + ? 1 + : n.get(e.provider) < n.get(t.provider) + ? -1 + : n.get(e.provider) > n.get(t.provider) + ? 1 + : e.symbol.range.startColumn < t.symbol.range.startColumn + ? -1 + : e.symbol.range.startColumn > t.symbol.range.startColumn + ? 1 + : 0 + )), + s + ) + ); + } + (0, a._h)('_executeCodeLensProvider', function (e, t) { + let { resource: i, itemResolveCount: n } = t; + if (!(i instanceof h.o)) throw (0, r.b1)(); + const o = e.get(u.q).getModel(i); + if (!o) throw (0, r.b1)(); + const a = [], + l = new s.SL(); + return f(o, d.T.None) + .then((e) => { + l.add(e); + let t = []; + for (const i of e.lenses) + void 0 === n || Boolean(i.symbol.command) + ? a.push(i.symbol) + : n-- > 0 && + i.provider.resolveCodeLens && + t.push( + Promise.resolve( + i.provider.resolveCodeLens(o, i.symbol, d.T.None) + ).then((e) => a.push(e || i.symbol)) + ); + return Promise.all(t); + }) + .then(() => a) + .finally(() => { + setTimeout(() => l.dispose(), 100); + }); + }); + var p = i(73046), + m = i(97295), + _ = i(24314), + b = i(3411), + v = i(27869), + y = i(73910), + w = i(97781); + class C { + constructor(e, t) { + (this.afterLineNumber = e), + (this._onHeight = t), + (this.heightInLines = 1), + (this.suppressMouseDown = !0), + (this.domNode = document.createElement('div')); + } + onComputedHeight(e) { + void 0 === this._lastHeight + ? (this._lastHeight = e) + : this._lastHeight !== e && + ((this._lastHeight = e), this._onHeight()); + } + } + class S { + constructor(e, t, i) { + (this.allowEditorOverflow = !1), + (this.suppressMouseDown = !0), + (this._commands = new Map()), + (this._isEmpty = !0), + (this._editor = e), + (this._id = 'codelens.widget-' + S._idPool++), + this.updatePosition(i), + (this._domNode = document.createElement('span')), + (this._domNode.className = `codelens-decoration ${t}`); + } + withCommands(e, t) { + this._commands.clear(); + let i = '', + n = !1; + for (let t = 0; t < e.length; t++) { + const r = e[t]; + if (r && ((n = !0), r.command)) { + const n = (0, p.Mi)((0, m.YU)(r.command.title)); + r.command.id + ? ((i += `<a id=${t}>${n}</a>`), + this._commands.set(String(t), r.command)) + : (i += `<span>${n}</span>`), + t + 1 < e.length && (i += '<span> | </span>'); + } + } + n + ? (i || (i = ' '), + (this._domNode.innerHTML = i), + this._isEmpty && t && this._domNode.classList.add('fadein'), + (this._isEmpty = !1)) + : (this._domNode.innerHTML = '<span>no commands</span>'); + } + getCommand(e) { + return e.parentElement === this._domNode + ? this._commands.get(e.id) + : void 0; + } + getId() { + return this._id; + } + getDomNode() { + return this._domNode; + } + updatePosition(e) { + const t = this._editor + .getModel() + .getLineFirstNonWhitespaceColumn(e); + this._widgetPosition = { + position: { lineNumber: e, column: t }, + preference: [1], + }; + } + getPosition() { + return this._widgetPosition || null; + } + } + S._idPool = 0; + class k { + constructor() { + (this._removeDecorations = []), + (this._addDecorations = []), + (this._addDecorationsCallbacks = []); + } + addDecoration(e, t) { + this._addDecorations.push(e), this._addDecorationsCallbacks.push(t); + } + removeDecoration(e) { + this._removeDecorations.push(e); + } + commit(e) { + let t = e.deltaDecorations( + this._removeDecorations, + this._addDecorations + ); + for (let e = 0, i = t.length; e < i; e++) + this._addDecorationsCallbacks[e](t[e]); + } + } + class x { + constructor(e, t, i, n, r, s) { + let o; + (this._isDisposed = !1), + (this._editor = t), + (this._className = i), + (this._data = e), + (this._decorationIds = []); + let a = []; + this._data.forEach((e, t) => { + e.symbol.command && a.push(e.symbol), + n.addDecoration( + { range: e.symbol.range, options: b.qx.EMPTY }, + (e) => (this._decorationIds[t] = e) + ), + (o = o + ? _.e.plusRange(o, e.symbol.range) + : _.e.lift(e.symbol.range)); + }), + (this._viewZone = new C(o.startLineNumber - 1, s)), + (this._viewZoneId = r.addZone(this._viewZone)), + a.length > 0 && + (this._createContentWidgetIfNecessary(), + this._contentWidget.withCommands(a, !1)); + } + _createContentWidgetIfNecessary() { + this._contentWidget || + ((this._contentWidget = new S( + this._editor, + this._className, + this._viewZone.afterLineNumber + 1 + )), + this._editor.addContentWidget(this._contentWidget)); + } + dispose(e, t) { + this._decorationIds.forEach(e.removeDecoration, e), + (this._decorationIds = []), + t && t.removeZone(this._viewZoneId), + this._contentWidget && + (this._editor.removeContentWidget(this._contentWidget), + (this._contentWidget = void 0)), + (this._isDisposed = !0); + } + isDisposed() { + return this._isDisposed; + } + isValid() { + return this._decorationIds.some((e, t) => { + const i = this._editor.getModel().getDecorationRange(e), + n = this._data[t].symbol; + return !(!i || _.e.isEmpty(n.range) !== i.isEmpty()); + }); + } + updateCodeLensSymbols(e, t) { + this._decorationIds.forEach(t.removeDecoration, t), + (this._decorationIds = []), + (this._data = e), + this._data.forEach((e, i) => { + t.addDecoration( + { range: e.symbol.range, options: b.qx.EMPTY }, + (e) => (this._decorationIds[i] = e) + ); + }); + } + computeIfNecessary(e) { + if ( + !this._viewZone.domNode.hasAttribute('monaco-visible-view-zone') + ) + return null; + for (let t = 0; t < this._decorationIds.length; t++) { + const i = e.getDecorationRange(this._decorationIds[t]); + i && (this._data[t].symbol.range = i); + } + return this._data; + } + updateCommands(e) { + this._createContentWidgetIfNecessary(), + this._contentWidget.withCommands(e, !0); + for (let t = 0; t < this._data.length; t++) { + const i = e[t]; + if (i) { + const { symbol: e } = this._data[t]; + e.command = i.command || e.command; + } + } + } + getCommand(e) { + var t; + return null === (t = this._contentWidget) || void 0 === t + ? void 0 + : t.getCommand(e); + } + getLineNumber() { + const e = this._editor + .getModel() + .getDecorationRange(this._decorationIds[0]); + return e ? e.startLineNumber : -1; + } + update(e) { + if (this.isValid()) { + const t = this._editor + .getModel() + .getDecorationRange(this._decorationIds[0]); + t && + ((this._viewZone.afterLineNumber = t.startLineNumber - 1), + e.layoutZone(this._viewZoneId), + this._contentWidget && + (this._contentWidget.updatePosition(t.startLineNumber), + this._editor.layoutContentWidget(this._contentWidget))); + } + } + getItems() { + return this._data; + } + } + (0, w.Ic)((e, t) => { + const i = e.getColor(v.Yp); + i && + (t.addRule(`.monaco-editor .codelens-decoration { color: ${i}; }`), + t.addRule( + `.monaco-editor .codelens-decoration .codicon { color: ${i}; }` + )); + const n = e.getColor(y._Y); + n && + (t.addRule( + `.monaco-editor .codelens-decoration > a:hover { color: ${n} !important; }` + ), + t.addRule( + `.monaco-editor .codelens-decoration > a:hover .codicon { color: ${n} !important; }` + )); + }); + var L = i(94565), + M = i(59422), + D = i(72065), + N = i(65026), + E = i(43702), + T = i(52365), + I = i(88289); + const O = (0, D.yh)('ICodeLensCache'); + class A { + constructor(e, t) { + (this.lineCount = e), (this.data = t); + } + } + let R = class { + constructor(e) { + (this._fakeProvider = new (class { + provideCodeLenses() { + throw new Error('not supported'); + } + })()), + (this._cache = new E.z6(20, 0.75)), + (0, n.To)(() => e.remove('codelens/cache', 1)); + const t = 'codelens/cache2', + i = e.get(t, 1, '{}'); + this._deserialize(i), + (0, I.I)(e.onWillSaveState)((i) => { + i.reason === T.fk.SHUTDOWN && e.store(t, this._serialize(), 1); + }); + } + put(e, t) { + const i = t.lenses.map((e) => { + var t; + return { + range: e.symbol.range, + command: e.symbol.command && { + id: '', + title: + null === (t = e.symbol.command) || void 0 === t + ? void 0 + : t.title, + }, + }; + }), + n = new g(); + n.add({ lenses: i, dispose: () => {} }, this._fakeProvider); + const r = new A(e.getLineCount(), n); + this._cache.set(e.uri.toString(), r); + } + get(e) { + const t = this._cache.get(e.uri.toString()); + return t && t.lineCount === e.getLineCount() ? t.data : void 0; + } + delete(e) { + this._cache.delete(e.uri.toString()); + } + _serialize() { + const e = Object.create(null); + for (const [t, i] of this._cache) { + const n = new Set(); + for (const e of i.data.lenses) + n.add(e.symbol.range.startLineNumber); + e[t] = { lineCount: i.lineCount, lines: [...n.values()] }; + } + return JSON.stringify(e); + } + _deserialize(e) { + try { + const t = JSON.parse(e); + for (const e in t) { + const i = t[e], + n = []; + for (const e of i.lines) + n.push({ range: new _.e(e, 1, e, 11) }); + const r = new g(); + r.add({ lenses: n, dispose() {} }, this._fakeProvider), + this._cache.set(e, new A(i.lineCount, r)); + } + } catch (e) {} + } + }; + var P, F; + (R = (function (e, t, i, n) { + var r, + s = arguments.length, + o = + s < 3 + ? t + : null === n + ? (n = Object.getOwnPropertyDescriptor(t, i)) + : n; + if ( + 'object' == typeof Reflect && + 'function' == typeof Reflect.decorate + ) + o = Reflect.decorate(e, t, i, n); + else + for (var a = e.length - 1; a >= 0; a--) + (r = e[a]) && + (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); + return s > 3 && o && Object.defineProperty(t, i, o), o; + })( + [ + ((P = 0), + (F = T.Uy), + function (e, t) { + F(e, t, P); + }), + ], + R + )), + (0, N.z)(O, R); + var B = i(65321), + W = i(89954), + Y = i(41157), + H = i(63580), + j = i(29102), + V = function (e, t) { + return function (i, n) { + t(i, n, e); + }; + }; + let z = class { + constructor(e, t, i, n) { + (this._editor = e), + (this._commandService = t), + (this._notificationService = i), + (this._codeLensCache = n), + (this._globalToDispose = new s.SL()), + (this._localToDispose = new s.SL()), + (this._lenses = []), + (this._oldCodeLensModels = new s.SL()), + (this._modelChangeCounter = 0), + (this._isEnabled = this._editor.getOption(11)), + this._globalToDispose.add( + this._editor.onDidChangeModel(() => this._onModelChange()) + ), + this._globalToDispose.add( + this._editor.onDidChangeModelLanguage(() => + this._onModelChange() + ) + ), + this._globalToDispose.add( + this._editor.onDidChangeConfiguration(() => { + const e = this._isEnabled; + (this._isEnabled = this._editor.getOption(11)), + e !== this._isEnabled && this._onModelChange(); + }) + ), + this._globalToDispose.add( + l.He.onDidChange(this._onModelChange, this) + ), + this._globalToDispose.add( + this._editor.onDidChangeConfiguration((e) => { + e.hasChanged(36) && this._updateLensStyle(); + }) + ), + this._onModelChange(), + (this._styleClassName = + '_' + (0, W.vp)(this._editor.getId()).toString(16)), + (this._styleElement = B.dS( + B.OO(this._editor.getContainerDomNode()) + ? this._editor.getContainerDomNode() + : void 0 + )), + this._updateLensStyle(); + } + dispose() { + this._localDispose(), + this._globalToDispose.dispose(), + this._oldCodeLensModels.dispose(), + (0, s.B9)(this._currentCodeLensModel); + } + _updateLensStyle() { + const e = this._editor.getOptions(), + t = e.get(36), + i = e.get(51), + n = Math.round(1.1 * i), + r = Math.round(0.9 * t.fontSize), + s = `\n\t\t.monaco-editor .codelens-decoration.${ + this._styleClassName + } { height: ${n}px; line-height: ${i}px; font-size: ${r}px; padding-right: ${Math.round( + 0.45 * t.fontSize + )}px;}\n\t\t.monaco-editor .codelens-decoration.${ + this._styleClassName + } > a > .codicon { line-height: ${i}px; font-size: ${r}px; }\n\t\t`; + this._styleElement.textContent = s; + } + _localDispose() { + this._currentFindCodeLensSymbolsPromise && + (this._currentFindCodeLensSymbolsPromise.cancel(), + (this._currentFindCodeLensSymbolsPromise = void 0), + this._modelChangeCounter++), + this._currentResolveCodeLensSymbolsPromise && + (this._currentResolveCodeLensSymbolsPromise.cancel(), + (this._currentResolveCodeLensSymbolsPromise = void 0)), + this._localToDispose.clear(), + this._oldCodeLensModels.clear(), + (0, s.B9)(this._currentCodeLensModel); + } + _onModelChange() { + this._localDispose(); + const e = this._editor.getModel(); + if (!e) return; + if (!this._isEnabled) return; + const t = this._codeLensCache.get(e); + if ((t && this._renderCodeLensSymbols(t), !l.He.has(e))) + return void ( + t && + this._localToDispose.add( + (0, n.Vg)(() => { + const i = this._codeLensCache.get(e); + t === i && + (this._codeLensCache.delete(e), this._onModelChange()); + }, 3e4) + ) + ); + for (const t of l.He.all(e)) + if ('function' == typeof t.onDidChange) { + let e = t.onDidChange(() => a.schedule()); + this._localToDispose.add(e); + } + const i = (this._detectVisibleLenses = new n.pY( + () => this._onViewportChanged(), + 250 + )), + a = new n.pY(() => { + const t = ++this._modelChangeCounter; + this._currentFindCodeLensSymbolsPromise && + this._currentFindCodeLensSymbolsPromise.cancel(), + (this._currentFindCodeLensSymbolsPromise = (0, n.PG)((t) => + f(e, t) + )), + this._currentFindCodeLensSymbolsPromise.then((n) => { + t === this._modelChangeCounter && + (this._currentCodeLensModel && + this._oldCodeLensModels.add(this._currentCodeLensModel), + (this._currentCodeLensModel = n), + this._codeLensCache.put(e, n), + this._renderCodeLensSymbols(n), + i.schedule()); + }, r.dL); + }, 250); + this._localToDispose.add(a), + this._localToDispose.add(i), + this._localToDispose.add( + this._editor.onDidChangeModelContent(() => { + this._editor.changeDecorations((e) => { + this._editor.changeViewZones((t) => { + let i = [], + n = -1; + this._lenses.forEach((e) => { + e.isValid() && n !== e.getLineNumber() + ? (e.update(t), (n = e.getLineNumber())) + : i.push(e); + }); + let r = new k(); + i.forEach((e) => { + e.dispose(r, t), + this._lenses.splice(this._lenses.indexOf(e), 1); + }), + r.commit(e); + }); + }), + i.schedule(), + a.schedule(); + }) + ), + this._localToDispose.add( + this._editor.onDidScrollChange((e) => { + e.scrollTopChanged && this._lenses.length > 0 && i.schedule(); + }) + ), + this._localToDispose.add( + this._editor.onDidLayoutChange(() => { + i.schedule(); + }) + ), + this._localToDispose.add( + (0, s.OF)(() => { + if (this._editor.getModel()) { + const e = o.ZF.capture(this._editor); + this._editor.changeDecorations((e) => { + this._editor.changeViewZones((t) => { + this._disposeAllLenses(e, t); + }); + }), + e.restore(this._editor); + } else this._disposeAllLenses(void 0, void 0); + }) + ), + this._localToDispose.add( + this._editor.onMouseUp((e) => { + if (9 !== e.target.type) return; + let t = e.target.element; + if ( + ('SPAN' === (null == t ? void 0 : t.tagName) && + (t = t.parentElement), + 'A' === (null == t ? void 0 : t.tagName)) + ) + for (const e of this._lenses) { + let i = e.getCommand(t); + if (i) { + this._commandService + .executeCommand(i.id, ...(i.arguments || [])) + .catch((e) => this._notificationService.error(e)); + break; + } + } + }) + ), + a.schedule(); + } + _disposeAllLenses(e, t) { + const i = new k(); + for (const e of this._lenses) e.dispose(i, t); + e && i.commit(e), (this._lenses = []); + } + _renderCodeLensSymbols(e) { + if (!this._editor.hasModel()) return; + let t, + i = this._editor.getModel().getLineCount(), + n = []; + for (let r of e.lenses) { + let e = r.symbol.range.startLineNumber; + e < 1 || + e > i || + (t && t[t.length - 1].symbol.range.startLineNumber === e + ? t.push(r) + : ((t = [r]), n.push(t))); + } + const r = o.ZF.capture(this._editor); + this._editor.changeDecorations((e) => { + this._editor.changeViewZones((t) => { + const i = new k(); + let r = 0, + s = 0; + for (; s < n.length && r < this._lenses.length; ) { + let e = n[s][0].symbol.range.startLineNumber, + o = this._lenses[r].getLineNumber(); + o < e + ? (this._lenses[r].dispose(i, t), this._lenses.splice(r, 1)) + : o === e + ? (this._lenses[r].updateCodeLensSymbols(n[s], i), s++, r++) + : (this._lenses.splice( + r, + 0, + new x( + n[s], + this._editor, + this._styleClassName, + i, + t, + () => + this._detectVisibleLenses && + this._detectVisibleLenses.schedule() + ) + ), + r++, + s++); + } + for (; r < this._lenses.length; ) + this._lenses[r].dispose(i, t), this._lenses.splice(r, 1); + for (; s < n.length; ) + this._lenses.push( + new x( + n[s], + this._editor, + this._styleClassName, + i, + t, + () => + this._detectVisibleLenses && + this._detectVisibleLenses.schedule() + ) + ), + s++; + i.commit(e); + }); + }), + r.restore(this._editor); + } + _onViewportChanged() { + this._currentResolveCodeLensSymbolsPromise && + (this._currentResolveCodeLensSymbolsPromise.cancel(), + (this._currentResolveCodeLensSymbolsPromise = void 0)); + const e = this._editor.getModel(); + if (!e) return; + const t = [], + i = []; + if ( + (this._lenses.forEach((n) => { + const r = n.computeIfNecessary(e); + r && (t.push(r), i.push(n)); + }), + 0 === t.length) + ) + return; + const s = (0, n.PG)((n) => { + const s = t.map((t, s) => { + const o = new Array(t.length), + a = t.map((t, i) => + t.symbol.command || + 'function' != typeof t.provider.resolveCodeLens + ? ((o[i] = t.symbol), Promise.resolve(void 0)) + : Promise.resolve( + t.provider.resolveCodeLens(e, t.symbol, n) + ).then((e) => { + o[i] = e; + }, r.Cp) + ); + return Promise.all(a).then(() => { + n.isCancellationRequested || + i[s].isDisposed() || + i[s].updateCommands(o); + }); + }); + return Promise.all(s); + }); + (this._currentResolveCodeLensSymbolsPromise = s), + this._currentResolveCodeLensSymbolsPromise.then( + () => { + this._currentCodeLensModel && + this._codeLensCache.put(e, this._currentCodeLensModel), + this._oldCodeLensModels.clear(), + s === this._currentResolveCodeLensSymbolsPromise && + (this._currentResolveCodeLensSymbolsPromise = void 0); + }, + (e) => { + (0, r.dL)(e), + s === this._currentResolveCodeLensSymbolsPromise && + (this._currentResolveCodeLensSymbolsPromise = void 0); + } + ); + } + getLenses() { + return this._lenses; + } + }; + (z.ID = 'css.editor.codeLens'), + (z = (function (e, t, i, n) { + var r, + s = arguments.length, + o = + s < 3 + ? t + : null === n + ? (n = Object.getOwnPropertyDescriptor(t, i)) + : n; + if ( + 'object' == typeof Reflect && + 'function' == typeof Reflect.decorate + ) + o = Reflect.decorate(e, t, i, n); + else + for (var a = e.length - 1; a >= 0; a--) + (r = e[a]) && + (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); + return s > 3 && o && Object.defineProperty(t, i, o), o; + })([V(1, L.H), V(2, M.lT), V(3, O)], z)), + (0, a._K)(z.ID, z), + (0, a.Qr)( + class extends a.R6 { + constructor() { + super({ + id: 'codelens.showLensesInCurrentLine', + precondition: j.u.hasCodeLensProvider, + label: (0, H.N)( + 'showLensOnLine', + 'Show CodeLens Commands For Current Line' + ), + alias: 'Show CodeLens Commands For Current Line', + }); + } + run(e, t) { + return ( + (i = this), + (n = void 0), + (s = function* () { + if (!t.hasModel()) return; + const i = e.get(Y.eJ), + n = e.get(L.H), + r = e.get(M.lT), + s = t.getSelection().positionLineNumber, + o = t.getContribution(z.ID), + a = []; + for (let e of o.getLenses()) + if (e.getLineNumber() === s) + for (let t of e.getItems()) { + const { command: e } = t.symbol; + e && a.push({ label: e.title, command: e }); + } + if (0 === a.length) return; + const l = yield i.pick(a, { canPickMany: !1 }); + if (l) + try { + yield n.executeCommand( + l.command.id, + ...(l.command.arguments || []) + ); + } catch (e) { + r.error(e); + } + }), + new ((r = void 0) || (r = Promise))(function (e, t) { + function o(e) { + try { + l(s.next(e)); + } catch (e) { + t(e); + } + } + function a(e) { + try { + l(s.throw(e)); + } catch (e) { + t(e); + } + } + function l(t) { + var i; + t.done + ? e(t.value) + : ((i = t.value), + i instanceof r + ? i + : new r(function (e) { + e(i); + })).then(o, a); + } + l((s = s.apply(i, n || [])).next()); + }) + ); + var i, n, r, s; + } + } + ); + }, + 83308: (e, t, i) => { + 'use strict'; + i.d(t, { E: () => d, R: () => h }); + var n = i(71050), + r = i(17301), + s = i(70666), + o = i(16830), + a = i(24314), + l = i(43775), + c = i(51200); + function d(e, t) { + const i = [], + n = l.OH.ordered(e) + .reverse() + .map((n) => + Promise.resolve(n.provideDocumentColors(e, t)).then((e) => { + if (Array.isArray(e)) + for (let t of e) i.push({ colorInfo: t, provider: n }); + }) + ); + return Promise.all(n).then(() => i); + } + function h(e, t, i, n) { + return Promise.resolve(i.provideColorPresentations(e, t, n)); + } + (0, o._h)('_executeDocumentColorProvider', function (e, t) { + const { resource: i } = t; + if (!(i instanceof s.o)) throw (0, r.b1)(); + const o = e.get(c.q).getModel(i); + if (!o) throw (0, r.b1)(); + const a = [], + d = l.OH.ordered(o) + .reverse() + .map((e) => + Promise.resolve(e.provideDocumentColors(o, n.T.None)).then( + (e) => { + if (Array.isArray(e)) + for (let t of e) + a.push({ + range: t.range, + color: [ + t.color.red, + t.color.green, + t.color.blue, + t.color.alpha, + ], + }); + } + ) + ); + return Promise.all(d).then(() => a); + }), + (0, o._h)('_executeColorPresentationProvider', function (e, t) { + const { resource: i, color: o, range: d } = t; + if ( + !( + i instanceof s.o && + Array.isArray(o) && + 4 === o.length && + a.e.isIRange(d) + ) + ) + throw (0, r.b1)(); + const [h, u, g, f] = o, + p = e.get(c.q).getModel(i); + if (!p) throw (0, r.b1)(); + const m = { + range: d, + color: { red: h, green: u, blue: g, alpha: f }, + }, + _ = [], + b = l.OH.ordered(p) + .reverse() + .map((e) => + Promise.resolve( + e.provideColorPresentations(p, m, n.T.None) + ).then((e) => { + Array.isArray(e) && _.push(...e); + }) + ); + return Promise.all(b).then(() => _); + }); + }, + 64494: (e, t, i) => { + 'use strict'; + i.r(t), i.d(t, { ColorDetector: () => m }); + var n = i(15393), + r = i(41264), + s = i(17301), + o = i(89954), + a = i(5976), + l = i(16830), + c = i(11640), + d = i(24314), + h = i(3411), + u = i(43775), + g = i(83308), + f = i(33108), + p = function (e, t) { + return function (i, n) { + t(i, n, e); + }; + }; + let m = class e extends a.JT { + constructor(e, t, i) { + super(), + (this._editor = e), + (this._codeEditorService = t), + (this._configurationService = i), + (this._localToDispose = this._register(new a.SL())), + (this._decorationsIds = []), + (this._colorDatas = new Map()), + (this._colorDecoratorIds = []), + (this._decorationsTypes = new Set()), + this._register( + e.onDidChangeModel((e) => { + (this._isEnabled = this.isEnabled()), this.onModelChanged(); + }) + ), + this._register( + e.onDidChangeModelLanguage((e) => this.onModelChanged()) + ), + this._register(u.OH.onDidChange((e) => this.onModelChanged())), + this._register( + e.onDidChangeConfiguration((e) => { + let t = this._isEnabled; + (this._isEnabled = this.isEnabled()), + t !== this._isEnabled && + (this._isEnabled + ? this.onModelChanged() + : this.removeAllDecorations()); + }) + ), + (this._timeoutTimer = null), + (this._computePromise = null), + (this._isEnabled = this.isEnabled()), + this.onModelChanged(); + } + isEnabled() { + const e = this._editor.getModel(); + if (!e) return !1; + const t = e.getLanguageIdentifier(), + i = this._configurationService.getValue(t.language); + if (i) { + const e = i.colorDecorators; + if (e && void 0 !== e.enable && !e.enable) return e.enable; + } + return this._editor.getOption(12); + } + static get(e) { + return e.getContribution(this.ID); + } + dispose() { + this.stop(), this.removeAllDecorations(), super.dispose(); + } + onModelChanged() { + if ((this.stop(), !this._isEnabled)) return; + const t = this._editor.getModel(); + t && + u.OH.has(t) && + (this._localToDispose.add( + this._editor.onDidChangeModelContent((t) => { + this._timeoutTimer || + ((this._timeoutTimer = new n._F()), + this._timeoutTimer.cancelAndSet(() => { + (this._timeoutTimer = null), this.beginCompute(); + }, e.RECOMPUTE_TIME)); + }) + ), + this.beginCompute()); + } + beginCompute() { + (this._computePromise = (0, n.PG)((e) => { + const t = this._editor.getModel(); + return t ? (0, g.E)(t, e) : Promise.resolve([]); + })), + this._computePromise.then((e) => { + this.updateDecorations(e), + this.updateColorDecorators(e), + (this._computePromise = null); + }, s.dL); + } + stop() { + this._timeoutTimer && + (this._timeoutTimer.cancel(), (this._timeoutTimer = null)), + this._computePromise && + (this._computePromise.cancel(), (this._computePromise = null)), + this._localToDispose.clear(); + } + updateDecorations(e) { + const t = e.map((e) => ({ + range: { + startLineNumber: e.colorInfo.range.startLineNumber, + startColumn: e.colorInfo.range.startColumn, + endLineNumber: e.colorInfo.range.endLineNumber, + endColumn: e.colorInfo.range.endColumn, + }, + options: h.qx.EMPTY, + })); + (this._decorationsIds = this._editor.deltaDecorations( + this._decorationsIds, + t + )), + (this._colorDatas = new Map()), + this._decorationsIds.forEach((t, i) => + this._colorDatas.set(t, e[i]) + ); + } + updateColorDecorators(e) { + let t = [], + i = {}; + for (let n = 0; n < e.length && t.length < 500; n++) { + const { red: s, green: a, blue: l, alpha: c } = e[ + n + ].colorInfo.color, + d = new r.VS( + Math.round(255 * s), + Math.round(255 * a), + Math.round(255 * l), + c + ); + let h = (0, o.vp)(`rgba(${d.r},${d.g},${d.b},${d.a})`).toString( + 16 + ), + u = `rgba(${d.r}, ${d.g}, ${d.b}, ${d.a})`, + g = 'colorBox-' + h; + this._decorationsTypes.has(g) || + i[g] || + this._codeEditorService.registerDecorationType( + g, + { + before: { + contentText: ' ', + border: 'solid 0.1em #000', + margin: '0.1em 0.2em 0 0.2em', + width: '0.8em', + height: '0.8em', + backgroundColor: u, + }, + dark: { before: { border: 'solid 0.1em #eee' } }, + }, + void 0, + this._editor + ), + (i[g] = !0), + t.push({ + range: { + startLineNumber: e[n].colorInfo.range.startLineNumber, + startColumn: e[n].colorInfo.range.startColumn, + endLineNumber: e[n].colorInfo.range.endLineNumber, + endColumn: e[n].colorInfo.range.endColumn, + }, + options: this._codeEditorService.resolveDecorationOptions( + g, + !0 + ), + }); + } + this._decorationsTypes.forEach((e) => { + i[e] || this._codeEditorService.removeDecorationType(e); + }), + (this._colorDecoratorIds = this._editor.deltaDecorations( + this._colorDecoratorIds, + t + )); + } + removeAllDecorations() { + (this._decorationsIds = this._editor.deltaDecorations( + this._decorationsIds, + [] + )), + (this._colorDecoratorIds = this._editor.deltaDecorations( + this._colorDecoratorIds, + [] + )), + this._decorationsTypes.forEach((e) => { + this._codeEditorService.removeDecorationType(e); + }); + } + getColorData(e) { + const t = this._editor.getModel(); + if (!t) return null; + const i = t + .getDecorationsInRange(d.e.fromPositions(e, e)) + .filter((e) => this._colorDatas.has(e.id)); + return 0 === i.length ? null : this._colorDatas.get(i[0].id); + } + }; + (m.ID = 'editor.contrib.colorDetector'), + (m.RECOMPUTE_TIME = 1e3), + (m = (function (e, t, i, n) { + var r, + s = arguments.length, + o = + s < 3 + ? t + : null === n + ? (n = Object.getOwnPropertyDescriptor(t, i)) + : n; + if ( + 'object' == typeof Reflect && + 'function' == typeof Reflect.decorate + ) + o = Reflect.decorate(e, t, i, n); + else + for (var a = e.length - 1; a >= 0; a--) + (r = e[a]) && + (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); + return s > 3 && o && Object.defineProperty(t, i, o), o; + })([p(1, c.$), p(2, f.Ui)], m)), + (0, l._K)(m.ID, m); + }, + 89098: (e, t, i) => { + 'use strict'; + i.r(t); + var n = i(63580), + r = i(22258), + s = i(16830), + o = i(29102), + a = i(69386), + l = i(50187), + c = i(24314), + d = i(3860), + h = i(83831); + class u { + constructor(e, t) { + (this._selection = e), + (this._insertSpace = t), + (this._usedEndToken = null); + } + static _haystackHasNeedleAtOffset(e, t, i) { + if (i < 0) return !1; + const n = t.length; + if (i + n > e.length) return !1; + for (let r = 0; r < n; r++) { + const n = e.charCodeAt(i + r), + s = t.charCodeAt(r); + if ( + n !== s && + !( + (n >= 65 && n <= 90 && n + 32 === s) || + (s >= 65 && s <= 90 && s + 32 === n) + ) + ) + return !1; + } + return !0; + } + _createOperationsForBlockComment(e, t, i, n, r, s) { + const o = e.startLineNumber, + a = e.startColumn, + l = e.endLineNumber, + d = e.endColumn, + h = r.getLineContent(o), + g = r.getLineContent(l); + let f, + p = h.lastIndexOf(t, a - 1 + t.length), + m = g.indexOf(i, d - 1 - i.length); + if (-1 !== p && -1 !== m) + if (o === l) + h.substring(p + t.length, m).indexOf(i) >= 0 && + ((p = -1), (m = -1)); + else { + const e = h.substring(p + t.length), + n = g.substring(0, m); + (e.indexOf(i) >= 0 || n.indexOf(i) >= 0) && + ((p = -1), (m = -1)); + } + -1 !== p && -1 !== m + ? (n && + p + t.length < h.length && + 32 === h.charCodeAt(p + t.length) && + (t += ' '), + n && + m > 0 && + 32 === g.charCodeAt(m - 1) && + ((i = ' ' + i), (m -= 1)), + (f = u._createRemoveBlockCommentOperations( + new c.e(o, p + t.length + 1, l, m + 1), + t, + i + ))) + : ((f = u._createAddBlockCommentOperations( + e, + t, + i, + this._insertSpace + )), + (this._usedEndToken = 1 === f.length ? i : null)); + for (const e of f) s.addTrackedEditOperation(e.range, e.text); + } + static _createRemoveBlockCommentOperations(e, t, i) { + let n = []; + return ( + c.e.isEmpty(e) + ? n.push( + a.h.delete( + new c.e( + e.startLineNumber, + e.startColumn - t.length, + e.endLineNumber, + e.endColumn + i.length + ) + ) + ) + : (n.push( + a.h.delete( + new c.e( + e.startLineNumber, + e.startColumn - t.length, + e.startLineNumber, + e.startColumn + ) + ) + ), + n.push( + a.h.delete( + new c.e( + e.endLineNumber, + e.endColumn, + e.endLineNumber, + e.endColumn + i.length + ) + ) + )), + n + ); + } + static _createAddBlockCommentOperations(e, t, i, n) { + let r = []; + return ( + c.e.isEmpty(e) + ? r.push( + a.h.replace( + new c.e( + e.startLineNumber, + e.startColumn, + e.endLineNumber, + e.endColumn + ), + t + ' ' + i + ) + ) + : (r.push( + a.h.insert( + new l.L(e.startLineNumber, e.startColumn), + t + (n ? ' ' : '') + ) + ), + r.push( + a.h.insert( + new l.L(e.endLineNumber, e.endColumn), + (n ? ' ' : '') + i + ) + )), + r + ); + } + getEditOperations(e, t) { + const i = this._selection.startLineNumber, + n = this._selection.startColumn; + e.tokenizeIfCheap(i); + const r = e.getLanguageIdAtPosition(i, n), + s = h.zu.getComments(r); + s && + s.blockCommentStartToken && + s.blockCommentEndToken && + this._createOperationsForBlockComment( + this._selection, + s.blockCommentStartToken, + s.blockCommentEndToken, + this._insertSpace, + e, + t + ); + } + computeCursorState(e, t) { + const i = t.getInverseEditOperations(); + if (2 === i.length) { + const e = i[0], + t = i[1]; + return new d.Y( + e.range.endLineNumber, + e.range.endColumn, + t.range.startLineNumber, + t.range.startColumn + ); + } + { + const e = i[0].range, + t = this._usedEndToken ? -this._usedEndToken.length - 1 : 0; + return new d.Y( + e.endLineNumber, + e.endColumn + t, + e.endLineNumber, + e.endColumn + t + ); + } + } + } + var g = i(97295); + class f { + constructor(e, t, i, n, r) { + (this._selection = e), + (this._tabSize = t), + (this._type = i), + (this._insertSpace = n), + (this._selectionId = null), + (this._deltaColumn = 0), + (this._moveEndPositionDown = !1), + (this._ignoreEmptyLines = r); + } + static _gatherPreflightCommentStrings(e, t, i) { + e.tokenizeIfCheap(t); + const n = e.getLanguageIdAtPosition(t, 1), + r = h.zu.getComments(n), + s = r ? r.lineCommentToken : null; + if (!s) return null; + let o = []; + for (let e = 0, n = i - t + 1; e < n; e++) + o[e] = { + ignore: !1, + commentStr: s, + commentStrOffset: 0, + commentStrLength: s.length, + }; + return o; + } + static _analyzeLines(e, t, i, n, r, s) { + let o, + a = !0; + o = 0 === e || 1 !== e; + for (let l = 0, c = n.length; l < c; l++) { + const c = n[l], + d = r + l, + h = i.getLineContent(d), + f = g.LC(h); + if (-1 !== f) { + if ( + ((a = !1), + (c.ignore = !1), + (c.commentStrOffset = f), + o && + !u._haystackHasNeedleAtOffset(h, c.commentStr, f) && + (0 === e ? (o = !1) : 1 === e || (c.ignore = !0)), + o && t) + ) { + const e = f + c.commentStrLength; + e < h.length && + 32 === h.charCodeAt(e) && + (c.commentStrLength += 1); + } + } else (c.ignore = s), (c.commentStrOffset = h.length); + } + if (0 === e && a) { + o = !1; + for (let e = 0, t = n.length; e < t; e++) n[e].ignore = !1; + } + return { supported: !0, shouldRemoveComments: o, lines: n }; + } + static _gatherPreflightData(e, t, i, n, r, s) { + const o = f._gatherPreflightCommentStrings(i, n, r); + return null === o + ? { supported: !1 } + : f._analyzeLines(e, t, i, o, n, s); + } + _executeLineComments(e, t, i, n) { + let r; + i.shouldRemoveComments + ? (r = f._createRemoveLineCommentsOperations( + i.lines, + n.startLineNumber + )) + : (f._normalizeInsertionPoint( + e, + i.lines, + n.startLineNumber, + this._tabSize + ), + (r = this._createAddLineCommentsOperations( + i.lines, + n.startLineNumber + ))); + const s = new l.L(n.positionLineNumber, n.positionColumn); + for (let i = 0, n = r.length; i < n; i++) + t.addEditOperation(r[i].range, r[i].text), + c.e.isEmpty(r[i].range) && + c.e.getStartPosition(r[i].range).equals(s) && + e.getLineContent(s.lineNumber).length + 1 === s.column && + (this._deltaColumn = (r[i].text || '').length); + this._selectionId = t.trackSelection(n); + } + _attemptRemoveBlockComment(e, t, i, n) { + let r = t.startLineNumber, + s = t.endLineNumber, + o = + n.length + + Math.max( + e.getLineFirstNonWhitespaceColumn(t.startLineNumber), + t.startColumn + ), + a = e.getLineContent(r).lastIndexOf(i, o - 1), + l = e.getLineContent(s).indexOf(n, t.endColumn - 1 - i.length); + return ( + -1 !== a && + -1 === l && + ((l = e.getLineContent(r).indexOf(n, a + i.length)), (s = r)), + -1 === a && + -1 !== l && + ((a = e.getLineContent(s).lastIndexOf(i, l)), (r = s)), + !t.isEmpty() || + (-1 !== a && -1 !== l) || + ((a = e.getLineContent(r).indexOf(i)), + -1 !== a && (l = e.getLineContent(r).indexOf(n, a + i.length))), + -1 !== a && + 32 === e.getLineContent(r).charCodeAt(a + i.length) && + (i += ' '), + -1 !== l && + 32 === e.getLineContent(s).charCodeAt(l - 1) && + ((n = ' ' + n), (l -= 1)), + -1 !== a && -1 !== l + ? u._createRemoveBlockCommentOperations( + new c.e(r, a + i.length + 1, s, l + 1), + i, + n + ) + : null + ); + } + _executeBlockComment(e, t, i) { + e.tokenizeIfCheap(i.startLineNumber); + let n = e.getLanguageIdAtPosition(i.startLineNumber, 1), + r = h.zu.getComments(n); + if (!r || !r.blockCommentStartToken || !r.blockCommentEndToken) + return; + const s = r.blockCommentStartToken, + o = r.blockCommentEndToken; + let a = this._attemptRemoveBlockComment(e, i, s, o); + if (!a) { + if (i.isEmpty()) { + const t = e.getLineContent(i.startLineNumber); + let n = g.LC(t); + -1 === n && (n = t.length), + (a = u._createAddBlockCommentOperations( + new c.e( + i.startLineNumber, + n + 1, + i.startLineNumber, + t.length + 1 + ), + s, + o, + this._insertSpace + )); + } else + a = u._createAddBlockCommentOperations( + new c.e( + i.startLineNumber, + e.getLineFirstNonWhitespaceColumn(i.startLineNumber), + i.endLineNumber, + e.getLineMaxColumn(i.endLineNumber) + ), + s, + o, + this._insertSpace + ); + 1 === a.length && (this._deltaColumn = s.length + 1); + } + this._selectionId = t.trackSelection(i); + for (const e of a) t.addEditOperation(e.range, e.text); + } + getEditOperations(e, t) { + let i = this._selection; + (this._moveEndPositionDown = !1), + i.startLineNumber < i.endLineNumber && + 1 === i.endColumn && + ((this._moveEndPositionDown = !0), + (i = i.setEndPosition( + i.endLineNumber - 1, + e.getLineMaxColumn(i.endLineNumber - 1) + ))); + const n = f._gatherPreflightData( + this._type, + this._insertSpace, + e, + i.startLineNumber, + i.endLineNumber, + this._ignoreEmptyLines + ); + return n.supported + ? this._executeLineComments(e, t, n, i) + : this._executeBlockComment(e, t, i); + } + computeCursorState(e, t) { + let i = t.getTrackedSelection(this._selectionId); + return ( + this._moveEndPositionDown && + (i = i.setEndPosition(i.endLineNumber + 1, 1)), + new d.Y( + i.selectionStartLineNumber, + i.selectionStartColumn + this._deltaColumn, + i.positionLineNumber, + i.positionColumn + this._deltaColumn + ) + ); + } + static _createRemoveLineCommentsOperations(e, t) { + let i = []; + for (let n = 0, r = e.length; n < r; n++) { + const r = e[n]; + r.ignore || + i.push( + a.h.delete( + new c.e( + t + n, + r.commentStrOffset + 1, + t + n, + r.commentStrOffset + r.commentStrLength + 1 + ) + ) + ); + } + return i; + } + _createAddLineCommentsOperations(e, t) { + let i = []; + const n = this._insertSpace ? ' ' : ''; + for (let r = 0, s = e.length; r < s; r++) { + const s = e[r]; + s.ignore || + i.push( + a.h.insert( + new l.L(t + r, s.commentStrOffset + 1), + s.commentStr + n + ) + ); + } + return i; + } + static nextVisibleColumn(e, t, i, n) { + return i ? e + (t - (e % t)) : e + n; + } + static _normalizeInsertionPoint(e, t, i, n) { + let r, + s, + o = 1073741824; + for (let r = 0, s = t.length; r < s; r++) { + if (t[r].ignore) continue; + const s = e.getLineContent(i + r); + let a = 0; + for (let e = 0, i = t[r].commentStrOffset; a < o && e < i; e++) + a = f.nextVisibleColumn(a, n, 9 === s.charCodeAt(e), 1); + a < o && (o = a); + } + o = Math.floor(o / n) * n; + for (let a = 0, l = t.length; a < l; a++) { + if (t[a].ignore) continue; + const l = e.getLineContent(i + a); + let c = 0; + for (r = 0, s = t[a].commentStrOffset; c < o && r < s; r++) + c = f.nextVisibleColumn(c, n, 9 === l.charCodeAt(r), 1); + t[a].commentStrOffset = c > o ? r - 1 : r; + } + } + } + var p = i(84144); + class m extends s.R6 { + constructor(e, t) { + super(t), (this._type = e); + } + run(e, t) { + if (!t.hasModel()) return; + const i = t.getModel(), + n = [], + r = t.getSelections(), + s = i.getOptions(), + o = t.getOption(14); + for (const e of r) + n.push( + new f( + e, + s.tabSize, + this._type, + o.insertSpace, + o.ignoreEmptyLines + ) + ); + t.pushUndoStop(), t.executeCommands(this.id, n), t.pushUndoStop(); + } + } + class _ extends s.R6 { + constructor() { + super({ + id: 'editor.action.blockComment', + label: n.N('comment.block', 'Toggle Block Comment'), + alias: 'Toggle Block Comment', + precondition: o.u.writable, + kbOpts: { + kbExpr: o.u.editorTextFocus, + primary: 1567, + linux: { primary: 3103 }, + weight: 100, + }, + menuOpts: { + menuId: p.eH.MenubarEditMenu, + group: '5_insert', + title: n.N( + { + key: 'miToggleBlockComment', + comment: ['&& denotes a mnemonic'], + }, + 'Toggle &&Block Comment' + ), + order: 2, + }, + }); + } + run(e, t) { + if (!t.hasModel()) return; + const i = t.getOption(14), + n = [], + r = t.getSelections(); + for (const e of r) n.push(new u(e, i.insertSpace)); + t.pushUndoStop(), t.executeCommands(this.id, n), t.pushUndoStop(); + } + } + (0, s.Qr)( + class extends m { + constructor() { + super(0, { + id: 'editor.action.commentLine', + label: n.N('comment.line', 'Toggle Line Comment'), + alias: 'Toggle Line Comment', + precondition: o.u.writable, + kbOpts: { + kbExpr: o.u.editorTextFocus, + primary: 2133, + weight: 100, + }, + menuOpts: { + menuId: p.eH.MenubarEditMenu, + group: '5_insert', + title: n.N( + { + key: 'miToggleLineComment', + comment: ['&& denotes a mnemonic'], + }, + '&&Toggle Line Comment' + ), + order: 1, + }, + }); + } + } + ), + (0, s.Qr)( + class extends m { + constructor() { + super(1, { + id: 'editor.action.addCommentLine', + label: n.N('comment.line.add', 'Add Line Comment'), + alias: 'Add Line Comment', + precondition: o.u.writable, + kbOpts: { + kbExpr: o.u.editorTextFocus, + primary: (0, r.gx)(2089, 2081), + weight: 100, + }, + }); + } + } + ), + (0, s.Qr)( + class extends m { + constructor() { + super(2, { + id: 'editor.action.removeCommentLine', + label: n.N('comment.line.remove', 'Remove Line Comment'), + alias: 'Remove Line Comment', + precondition: o.u.writable, + kbOpts: { + kbExpr: o.u.editorTextFocus, + primary: (0, r.gx)(2089, 2099), + weight: 100, + }, + }); + } + } + ), + (0, s.Qr)(_); + }, + 76522: (e, t, i) => { + 'use strict'; + i.r(t), i.d(t, { ContextMenuController: () => p }); + var n = i(63580), + r = i(65321), + s = i(74741), + o = i(5976), + a = i(16830), + l = i(29102), + c = i(84144), + d = i(38819), + h = i(5606), + u = i(91847), + g = i(76033), + f = function (e, t) { + return function (i, n) { + t(i, n, e); + }; + }; + let p = class e { + constructor(e, t, i, n, s, a) { + (this._contextMenuService = t), + (this._contextViewService = i), + (this._contextKeyService = n), + (this._keybindingService = s), + (this._menuService = a), + (this._toDispose = new o.SL()), + (this._contextMenuIsBeingShownCount = 0), + (this._editor = e), + this._toDispose.add( + this._editor.onContextMenu((e) => this._onContextMenu(e)) + ), + this._toDispose.add( + this._editor.onMouseWheel((e) => { + if (this._contextMenuIsBeingShownCount > 0) { + const t = this._contextViewService.getContextViewElement(), + i = e.srcElement; + (i.shadowRoot && r.Ay(t) === i.shadowRoot) || + this._contextViewService.hideContextView(); + } + }) + ), + this._toDispose.add( + this._editor.onKeyDown((e) => { + 58 === e.keyCode && + (e.preventDefault(), + e.stopPropagation(), + this.showContextMenu()); + }) + ); + } + static get(t) { + return t.getContribution(e.ID); + } + _onContextMenu(e) { + if (!this._editor.hasModel()) return; + if (!this._editor.getOption(15)) + return ( + this._editor.focus(), + void ( + e.target.position && + !this._editor + .getSelection() + .containsPosition(e.target.position) && + this._editor.setPosition(e.target.position) + ) + ); + if (12 === e.target.type) return; + if ( + (e.event.preventDefault(), + 6 !== e.target.type && 7 !== e.target.type && 1 !== e.target.type) + ) + return; + if ((this._editor.focus(), e.target.position)) { + let t = !1; + for (const i of this._editor.getSelections()) + if (i.containsPosition(e.target.position)) { + t = !0; + break; + } + t || this._editor.setPosition(e.target.position); + } + let t = null; + 1 !== e.target.type && + (t = { + x: e.event.posx - 1, + width: 2, + y: e.event.posy - 1, + height: 2, + }), + this.showContextMenu(t); + } + showContextMenu(e) { + if (!this._editor.getOption(15)) return; + if (!this._editor.hasModel()) return; + if (!this._contextMenuService) return void this._editor.focus(); + const t = this._getMenuActions( + this._editor.getModel(), + c.eH.EditorContext + ); + t.length > 0 && this._doShowContextMenu(t, e); + } + _getMenuActions(e, t) { + const i = [], + n = this._menuService.createMenu(t, this._contextKeyService), + r = n.getActions({ arg: e.uri }); + n.dispose(); + for (let t of r) { + const [, n] = t; + let r = 0; + for (const t of n) + if (t instanceof c.NZ) { + const n = this._getMenuActions(e, t.item.submenu); + n.length > 0 && (i.push(new s.wY(t.id, t.label, n)), r++); + } else i.push(t), r++; + r && i.push(new s.Z0()); + } + return i.length && i.pop(), i; + } + _doShowContextMenu(e, t = null) { + if (!this._editor.hasModel()) return; + const i = this._editor.getOption(46); + if ((this._editor.updateOptions({ hover: { enabled: !1 } }), !t)) { + this._editor.revealPosition(this._editor.getPosition(), 1), + this._editor.render(); + const e = this._editor.getScrolledVisiblePosition( + this._editor.getPosition() + ), + i = r.i(this._editor.getDomNode()), + n = i.left + e.left, + s = i.top + e.top + e.height; + t = { x: n, y: s }; + } + this._contextMenuIsBeingShownCount++, + this._contextMenuService.showContextMenu({ + domForShadowRoot: this._editor.getDomNode(), + getAnchor: () => t, + getActions: () => e, + getActionViewItem: (e) => { + const t = this._keybindingFor(e); + if (t) + return new g.g(e, e, { + label: !0, + keybinding: t.getLabel(), + isMenu: !0, + }); + const i = e; + return 'function' == typeof i.getActionViewItem + ? i.getActionViewItem() + : new g.g(e, e, { icon: !0, label: !0, isMenu: !0 }); + }, + getKeyBinding: (e) => this._keybindingFor(e), + onHide: (e) => { + this._contextMenuIsBeingShownCount--, + this._editor.focus(), + this._editor.updateOptions({ hover: i }); + }, + }); + } + _keybindingFor(e) { + return this._keybindingService.lookupKeybinding(e.id); + } + dispose() { + this._contextMenuIsBeingShownCount > 0 && + this._contextViewService.hideContextView(), + this._toDispose.dispose(); + } + }; + (p.ID = 'editor.contrib.contextmenu'), + (p = (function (e, t, i, n) { + var r, + s = arguments.length, + o = + s < 3 + ? t + : null === n + ? (n = Object.getOwnPropertyDescriptor(t, i)) + : n; + if ( + 'object' == typeof Reflect && + 'function' == typeof Reflect.decorate + ) + o = Reflect.decorate(e, t, i, n); + else + for (var a = e.length - 1; a >= 0; a--) + (r = e[a]) && + (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); + return s > 3 && o && Object.defineProperty(t, i, o), o; + })([f(1, h.i), f(2, h.u), f(3, d.i6), f(4, u.d), f(5, c.co)], p)); + class m extends a.R6 { + constructor() { + super({ + id: 'editor.action.showContextMenu', + label: n.N( + 'action.showContextMenu.label', + 'Show Editor Context Menu' + ), + alias: 'Show Editor Context Menu', + precondition: void 0, + kbOpts: { + kbExpr: l.u.textInputFocus, + primary: 1092, + weight: 100, + }, + }); + } + run(e, t) { + p.get(t).showContextMenu(); + } + } + (0, a._K)(p.ID, p), (0, a.Qr)(m); + }, + 42834: (e, t, i) => { + 'use strict'; + i.r(t), + i.d(t, { + CursorUndoRedoController: () => c, + CursorUndo: () => d, + CursorRedo: () => h, + }); + var n = i(63580), + r = i(5976), + s = i(16830), + o = i(29102); + class a { + constructor(e) { + this.selections = e; + } + equals(e) { + const t = this.selections.length; + if (t !== e.selections.length) return !1; + for (let i = 0; i < t; i++) + if (!this.selections[i].equalsSelection(e.selections[i])) + return !1; + return !0; + } + } + class l { + constructor(e, t, i) { + (this.cursorState = e), (this.scrollTop = t), (this.scrollLeft = i); + } + } + class c extends r.JT { + constructor(e) { + super(), + (this._editor = e), + (this._isCursorUndoRedo = !1), + (this._undoStack = []), + (this._redoStack = []), + this._register( + e.onDidChangeModel((e) => { + (this._undoStack = []), (this._redoStack = []); + }) + ), + this._register( + e.onDidChangeModelContent((e) => { + (this._undoStack = []), (this._redoStack = []); + }) + ), + this._register( + e.onDidChangeCursorSelection((t) => { + if (this._isCursorUndoRedo) return; + if (!t.oldSelections) return; + if (t.oldModelVersionId !== t.modelVersionId) return; + const i = new a(t.oldSelections); + (this._undoStack.length > 0 && + this._undoStack[ + this._undoStack.length - 1 + ].cursorState.equals(i)) || + (this._undoStack.push( + new l(i, e.getScrollTop(), e.getScrollLeft()) + ), + (this._redoStack = []), + this._undoStack.length > 50 && this._undoStack.shift()); + }) + ); + } + static get(e) { + return e.getContribution(c.ID); + } + cursorUndo() { + this._editor.hasModel() && + 0 !== this._undoStack.length && + (this._redoStack.push( + new l( + new a(this._editor.getSelections()), + this._editor.getScrollTop(), + this._editor.getScrollLeft() + ) + ), + this._applyState(this._undoStack.pop())); + } + cursorRedo() { + this._editor.hasModel() && + 0 !== this._redoStack.length && + (this._undoStack.push( + new l( + new a(this._editor.getSelections()), + this._editor.getScrollTop(), + this._editor.getScrollLeft() + ) + ), + this._applyState(this._redoStack.pop())); + } + _applyState(e) { + (this._isCursorUndoRedo = !0), + this._editor.setSelections(e.cursorState.selections), + this._editor.setScrollPosition({ + scrollTop: e.scrollTop, + scrollLeft: e.scrollLeft, + }), + (this._isCursorUndoRedo = !1); + } + } + c.ID = 'editor.contrib.cursorUndoRedoController'; + class d extends s.R6 { + constructor() { + super({ + id: 'cursorUndo', + label: n.N('cursor.undo', 'Cursor Undo'), + alias: 'Cursor Undo', + precondition: void 0, + kbOpts: { + kbExpr: o.u.textInputFocus, + primary: 2099, + weight: 100, + }, + }); + } + run(e, t, i) { + c.get(t).cursorUndo(); + } + } + class h extends s.R6 { + constructor() { + super({ + id: 'cursorRedo', + label: n.N('cursor.redo', 'Cursor Redo'), + alias: 'Cursor Redo', + precondition: void 0, + }); + } + run(e, t, i) { + c.get(t).cursorRedo(); + } + } + (0, s._K)(c.ID, c), (0, s.Qr)(d), (0, s.Qr)(h); + }, + 7441: (e, t, i) => { + 'use strict'; + i.r(t), i.d(t, { DragAndDropController: () => u }); + var n = i(5976), + r = i(1432), + s = i(16830), + o = i(50187), + a = i(24314), + l = i(3860); + class c { + constructor(e, t, i) { + (this.selection = e), + (this.targetPosition = t), + (this.copy = i), + (this.targetSelection = null); + } + getEditOperations(e, t) { + let i = e.getValueInRange(this.selection); + this.copy || t.addEditOperation(this.selection, null), + t.addEditOperation( + new a.e( + this.targetPosition.lineNumber, + this.targetPosition.column, + this.targetPosition.lineNumber, + this.targetPosition.column + ), + i + ), + !this.selection.containsPosition(this.targetPosition) || + (this.copy && + (this.selection.getEndPosition().equals(this.targetPosition) || + this.selection + .getStartPosition() + .equals(this.targetPosition))) + ? this.copy + ? (this.targetSelection = new l.Y( + this.targetPosition.lineNumber, + this.targetPosition.column, + this.selection.endLineNumber - + this.selection.startLineNumber + + this.targetPosition.lineNumber, + this.selection.startLineNumber === + this.selection.endLineNumber + ? this.targetPosition.column + + this.selection.endColumn - + this.selection.startColumn + : this.selection.endColumn + )) + : this.targetPosition.lineNumber > + this.selection.endLineNumber + ? (this.targetSelection = new l.Y( + this.targetPosition.lineNumber - + this.selection.endLineNumber + + this.selection.startLineNumber, + this.targetPosition.column, + this.targetPosition.lineNumber, + this.selection.startLineNumber === + this.selection.endLineNumber + ? this.targetPosition.column + + this.selection.endColumn - + this.selection.startColumn + : this.selection.endColumn + )) + : this.targetPosition.lineNumber < + this.selection.endLineNumber + ? (this.targetSelection = new l.Y( + this.targetPosition.lineNumber, + this.targetPosition.column, + this.targetPosition.lineNumber + + this.selection.endLineNumber - + this.selection.startLineNumber, + this.selection.startLineNumber === + this.selection.endLineNumber + ? this.targetPosition.column + + this.selection.endColumn - + this.selection.startColumn + : this.selection.endColumn + )) + : this.selection.endColumn <= this.targetPosition.column + ? (this.targetSelection = new l.Y( + this.targetPosition.lineNumber - + this.selection.endLineNumber + + this.selection.startLineNumber, + (this.selection.startLineNumber, + this.selection.endLineNumber, + this.targetPosition.column - + this.selection.endColumn + + this.selection.startColumn), + this.targetPosition.lineNumber, + this.selection.startLineNumber === + this.selection.endLineNumber + ? this.targetPosition.column + : this.selection.endColumn + )) + : (this.targetSelection = new l.Y( + this.targetPosition.lineNumber - + this.selection.endLineNumber + + this.selection.startLineNumber, + this.targetPosition.column, + this.targetPosition.lineNumber, + this.targetPosition.column + + this.selection.endColumn - + this.selection.startColumn + )) + : (this.targetSelection = this.selection); + } + computeCursorState(e, t) { + return this.targetSelection; + } + } + var d = i(3411); + function h(e) { + return r.dz ? e.altKey : e.ctrlKey; + } + class u extends n.JT { + constructor(e) { + super(), + (this._editor = e), + this._register( + this._editor.onMouseDown((e) => this._onEditorMouseDown(e)) + ), + this._register( + this._editor.onMouseUp((e) => this._onEditorMouseUp(e)) + ), + this._register( + this._editor.onMouseDrag((e) => this._onEditorMouseDrag(e)) + ), + this._register( + this._editor.onMouseDrop((e) => this._onEditorMouseDrop(e)) + ), + this._register( + this._editor.onKeyDown((e) => this.onEditorKeyDown(e)) + ), + this._register( + this._editor.onKeyUp((e) => this.onEditorKeyUp(e)) + ), + this._register( + this._editor.onDidBlurEditorWidget(() => this.onEditorBlur()) + ), + this._register( + this._editor.onDidBlurEditorText(() => this.onEditorBlur()) + ), + (this._dndDecorationIds = []), + (this._mouseDown = !1), + (this._modifierPressed = !1), + (this._dragSelection = null); + } + onEditorBlur() { + this._removeDecoration(), + (this._dragSelection = null), + (this._mouseDown = !1), + (this._modifierPressed = !1); + } + onEditorKeyDown(e) { + this._editor.getOption(25) && + !this._editor.getOption(13) && + (h(e) && (this._modifierPressed = !0), + this._mouseDown && + h(e) && + this._editor.updateOptions({ mouseStyle: 'copy' })); + } + onEditorKeyUp(e) { + this._editor.getOption(25) && + !this._editor.getOption(13) && + (h(e) && (this._modifierPressed = !1), + this._mouseDown && + e.keyCode === u.TRIGGER_KEY_VALUE && + this._editor.updateOptions({ mouseStyle: 'default' })); + } + _onEditorMouseDown(e) { + this._mouseDown = !0; + } + _onEditorMouseUp(e) { + (this._mouseDown = !1), + this._editor.updateOptions({ mouseStyle: 'text' }); + } + _onEditorMouseDrag(e) { + let t = e.target; + if (null === this._dragSelection) { + let e = (this._editor.getSelections() || []).filter( + (e) => t.position && e.containsPosition(t.position) + ); + if (1 !== e.length) return; + this._dragSelection = e[0]; + } + h(e.event) + ? this._editor.updateOptions({ mouseStyle: 'copy' }) + : this._editor.updateOptions({ mouseStyle: 'default' }), + t.position && + (this._dragSelection.containsPosition(t.position) + ? this._removeDecoration() + : this.showAt(t.position)); + } + _onEditorMouseDrop(e) { + if ( + e.target && + (this._hitContent(e.target) || this._hitMargin(e.target)) && + e.target.position + ) { + let t = new o.L( + e.target.position.lineNumber, + e.target.position.column + ); + if (null === this._dragSelection) { + let i = null; + if (e.event.shiftKey) { + let e = this._editor.getSelection(); + if (e) { + const { + selectionStartLineNumber: n, + selectionStartColumn: r, + } = e; + i = [new l.Y(n, r, t.lineNumber, t.column)]; + } + } else + i = (this._editor.getSelections() || []).map((e) => + e.containsPosition(t) + ? new l.Y(t.lineNumber, t.column, t.lineNumber, t.column) + : e + ); + this._editor.setSelections(i || [], 'mouse'); + } else + (!this._dragSelection.containsPosition(t) || + ((h(e.event) || this._modifierPressed) && + (this._dragSelection.getEndPosition().equals(t) || + this._dragSelection.getStartPosition().equals(t)))) && + (this._editor.pushUndoStop(), + this._editor.executeCommand( + u.ID, + new c( + this._dragSelection, + t, + h(e.event) || this._modifierPressed + ) + ), + this._editor.pushUndoStop()); + } + this._editor.updateOptions({ mouseStyle: 'text' }), + this._removeDecoration(), + (this._dragSelection = null), + (this._mouseDown = !1); + } + showAt(e) { + let t = [ + { + range: new a.e(e.lineNumber, e.column, e.lineNumber, e.column), + options: u._DECORATION_OPTIONS, + }, + ]; + (this._dndDecorationIds = this._editor.deltaDecorations( + this._dndDecorationIds, + t + )), + this._editor.revealPosition(e, 1); + } + _removeDecoration() { + this._dndDecorationIds = this._editor.deltaDecorations( + this._dndDecorationIds, + [] + ); + } + _hitContent(e) { + return 6 === e.type || 7 === e.type; + } + _hitMargin(e) { + return 2 === e.type || 3 === e.type || 4 === e.type; + } + dispose() { + this._removeDecoration(), + (this._dragSelection = null), + (this._mouseDown = !1), + (this._modifierPressed = !1), + super.dispose(); + } + } + (u.ID = 'editor.contrib.dragAndDrop'), + (u.TRIGGER_KEY_VALUE = r.dz ? 6 : 5), + (u._DECORATION_OPTIONS = d.qx.register({ className: 'dnd-target' })), + (0, s._K)(u.ID, u); + }, + 86895: (e, t, i) => { + 'use strict'; + i.d(t, { sT: () => h, C3: () => g }); + var n = i(9488), + r = i(71050), + s = i(17301), + o = i(43702), + a = i(43775), + l = i(53725), + c = i(59870); + class d { + remove() { + this.parent && this.parent.children.delete(this.id); + } + static findId(e, t) { + let i; + 'string' == typeof e + ? (i = `${t.id}/${e}`) + : ((i = `${t.id}/${e.name}`), + void 0 !== t.children.get(i) && + (i = `${t.id}/${e.name}_${e.range.startLineNumber}_${e.range.startColumn}`)); + let n = i; + for (let e = 0; void 0 !== t.children.get(n); e++) n = `${i}_${e}`; + return n; + } + static empty(e) { + return 0 === e.children.size; + } + } + class h extends d { + constructor(e, t, i) { + super(), + (this.id = e), + (this.parent = t), + (this.symbol = i), + (this.children = new Map()); + } + } + class u extends d { + constructor(e, t, i, n) { + super(), + (this.id = e), + (this.parent = t), + (this.label = i), + (this.order = n), + (this.children = new Map()); + } + } + class g extends d { + constructor(e) { + super(), + (this.uri = e), + (this.id = 'root'), + (this.parent = void 0), + (this._groups = new Map()), + (this.children = new Map()), + (this.id = 'root'), + (this.parent = void 0); + } + static create(e, t) { + let i = this._keys.for(e, !0), + n = g._requests.get(i); + if (!n) { + let t = new r.A(); + (n = { + promiseCnt: 0, + source: t, + promise: g._create(e, t.token), + model: void 0, + }), + g._requests.set(i, n); + const s = Date.now(); + n.promise.then(() => { + let t = this._keys.for(e, !1), + i = this._requestDurations.get(t); + i || ((i = new c.n()), this._requestDurations.set(t, i)), + i.update(Date.now() - s); + }); + } + return n.model + ? Promise.resolve(n.model) + : ((n.promiseCnt += 1), + t.onCancellationRequested(() => { + 0 == --n.promiseCnt && + (n.source.cancel(), g._requests.delete(i)); + }), + new Promise((e, t) => { + n.promise.then( + (t) => { + (n.model = t), e(t); + }, + (e) => { + g._requests.delete(i), t(e); + } + ); + })); + } + static _create(e, t) { + const i = new r.A(t), + o = new g(e.uri), + l = a.vJ.ordered(e), + c = l.map((t, n) => { + var r; + let a = d.findId(`provider_${n}`, o), + l = new u( + a, + o, + null !== (r = t.displayName) && void 0 !== r + ? r + : 'Unknown Outline Provider', + n + ); + return Promise.resolve(t.provideDocumentSymbols(e, i.token)) + .then( + (e) => { + for (const t of e || []) g._makeOutlineElement(t, l); + return l; + }, + (e) => ((0, s.Cp)(e), l) + ) + .then((e) => { + d.empty(e) ? e.remove() : o._groups.set(a, e); + }); + }), + h = a.vJ.onDidChange(() => { + const t = a.vJ.ordered(e); + (0, n.fS)(t, l) || i.cancel(); + }); + return Promise.all(c) + .then(() => + i.token.isCancellationRequested && !t.isCancellationRequested + ? g._create(e, t) + : o._compact() + ) + .finally(() => { + h.dispose(); + }); + } + static _makeOutlineElement(e, t) { + let i = d.findId(e, t), + n = new h(i, t, e); + if (e.children) + for (const t of e.children) g._makeOutlineElement(t, n); + t.children.set(n.id, n); + } + _compact() { + let e = 0; + for (const [t, i] of this._groups) + 0 === i.children.size ? this._groups.delete(t) : (e += 1); + if (1 !== e) this.children = this._groups; + else { + let e = l.$.first(this._groups.values()); + for (let [, t] of e.children) + (t.parent = this), this.children.set(t.id, t); + } + return this; + } + } + (g._requestDurations = new o.z6(50, 0.7)), + (g._requests = new o.z6(9, 0.75)), + (g._keys = new (class { + constructor() { + (this._counter = 1), (this._data = new WeakMap()); + } + for(e, t) { + return `${e.id}/${t ? e.getVersionId() : ''}/${this._hash( + a.vJ.all(e) + )}`; + } + _hash(e) { + let t = ''; + for (const i of e) { + let e = this._data.get(i); + void 0 === e && ((e = this._counter++), this._data.set(i, e)), + (t += e); + } + return t; + } + })()); + }, + 93391: (e, t, i) => { + 'use strict'; + i.r(t), + i.d(t, { + CommonFindController: () => bt, + EditorStartFindAction: () => Tt, + EditorStartFindReplaceAction: () => It, + FindController: () => vt, + MatchFindAction: () => Ct, + NextMatchFindAction: () => St, + NextMatchFindAction2: () => kt, + NextSelectionMatchFindAction: () => Dt, + PreviousMatchFindAction: () => xt, + PreviousMatchFindAction2: () => Lt, + PreviousSelectionMatchFindAction: () => Nt, + SelectionMatchFindAction: () => Mt, + StartFindAction: () => yt, + StartFindReplaceAction: () => Et, + StartFindWithSelectionAction: () => wt, + getSelectionSearchString: () => _t, + }); + var n = i(63580), + r = i(15393), + s = i(5976), + o = i(97295), + a = i(16830), + l = i(29102), + c = i(61329), + d = i(50187), + h = i(24314), + u = i(3860), + g = i(77277), + f = i(84973), + p = i(3411), + m = i(73910), + _ = i(97781); + class b { + constructor(e) { + (this._editor = e), + (this._decorations = []), + (this._overviewRulerApproximateDecorations = []), + (this._findScopeDecorationIds = []), + (this._rangeHighlightDecorationId = null), + (this._highlightedDecorationId = null), + (this._startPosition = this._editor.getPosition()); + } + dispose() { + this._editor.deltaDecorations(this._allDecorations(), []), + (this._decorations = []), + (this._overviewRulerApproximateDecorations = []), + (this._findScopeDecorationIds = []), + (this._rangeHighlightDecorationId = null), + (this._highlightedDecorationId = null); + } + reset() { + (this._decorations = []), + (this._overviewRulerApproximateDecorations = []), + (this._findScopeDecorationIds = []), + (this._rangeHighlightDecorationId = null), + (this._highlightedDecorationId = null); + } + getCount() { + return this._decorations.length; + } + getFindScope() { + return this._findScopeDecorationIds[0] + ? this._editor + .getModel() + .getDecorationRange(this._findScopeDecorationIds[0]) + : null; + } + getFindScopes() { + if (this._findScopeDecorationIds.length) { + const e = this._findScopeDecorationIds + .map((e) => this._editor.getModel().getDecorationRange(e)) + .filter((e) => !!e); + if (e.length) return e; + } + return null; + } + getStartPosition() { + return this._startPosition; + } + setStartPosition(e) { + (this._startPosition = e), this.setCurrentFindMatch(null); + } + _getDecorationIndex(e) { + const t = this._decorations.indexOf(e); + return t >= 0 ? t + 1 : 1; + } + getCurrentMatchesPosition(e) { + let t = this._editor.getModel().getDecorationsInRange(e); + for (const e of t) { + const t = e.options; + if ( + t === b._FIND_MATCH_DECORATION || + t === b._CURRENT_FIND_MATCH_DECORATION + ) + return this._getDecorationIndex(e.id); + } + return 0; + } + setCurrentFindMatch(e) { + let t = null, + i = 0; + if (e) + for (let n = 0, r = this._decorations.length; n < r; n++) { + let r = this._editor + .getModel() + .getDecorationRange(this._decorations[n]); + if (e.equalsRange(r)) { + (t = this._decorations[n]), (i = n + 1); + break; + } + } + return ( + (null === this._highlightedDecorationId && null === t) || + this._editor.changeDecorations((e) => { + if ( + (null !== this._highlightedDecorationId && + (e.changeDecorationOptions( + this._highlightedDecorationId, + b._FIND_MATCH_DECORATION + ), + (this._highlightedDecorationId = null)), + null !== t && + ((this._highlightedDecorationId = t), + e.changeDecorationOptions( + this._highlightedDecorationId, + b._CURRENT_FIND_MATCH_DECORATION + )), + null !== this._rangeHighlightDecorationId && + (e.removeDecoration(this._rangeHighlightDecorationId), + (this._rangeHighlightDecorationId = null)), + null !== t) + ) { + let i = this._editor.getModel().getDecorationRange(t); + if ( + i.startLineNumber !== i.endLineNumber && + 1 === i.endColumn + ) { + let e = i.endLineNumber - 1, + t = this._editor.getModel().getLineMaxColumn(e); + i = new h.e(i.startLineNumber, i.startColumn, e, t); + } + this._rangeHighlightDecorationId = e.addDecoration( + i, + b._RANGE_HIGHLIGHT_DECORATION + ); + } + }), + i + ); + } + set(e, t) { + this._editor.changeDecorations((i) => { + let n = b._FIND_MATCH_DECORATION, + r = []; + if (e.length > 1e3) { + n = b._FIND_MATCH_NO_OVERVIEW_DECORATION; + const t = this._editor.getModel().getLineCount(), + i = this._editor.getLayoutInfo().height / t, + s = Math.max(2, Math.ceil(3 / i)); + let o = e[0].range.startLineNumber, + a = e[0].range.endLineNumber; + for (let t = 1, i = e.length; t < i; t++) { + const i = e[t].range; + a + s >= i.startLineNumber + ? i.endLineNumber > a && (a = i.endLineNumber) + : (r.push({ + range: new h.e(o, 1, a, 1), + options: b._FIND_MATCH_ONLY_OVERVIEW_DECORATION, + }), + (o = i.startLineNumber), + (a = i.endLineNumber)); + } + r.push({ + range: new h.e(o, 1, a, 1), + options: b._FIND_MATCH_ONLY_OVERVIEW_DECORATION, + }); + } + let s = new Array(e.length); + for (let t = 0, i = e.length; t < i; t++) + s[t] = { range: e[t].range, options: n }; + (this._decorations = i.deltaDecorations(this._decorations, s)), + (this._overviewRulerApproximateDecorations = i.deltaDecorations( + this._overviewRulerApproximateDecorations, + r + )), + this._rangeHighlightDecorationId && + (i.removeDecoration(this._rangeHighlightDecorationId), + (this._rangeHighlightDecorationId = null)), + this._findScopeDecorationIds.length && + (this._findScopeDecorationIds.forEach((e) => + i.removeDecoration(e) + ), + (this._findScopeDecorationIds = [])), + (null == t ? void 0 : t.length) && + (this._findScopeDecorationIds = t.map((e) => + i.addDecoration(e, b._FIND_SCOPE_DECORATION) + )); + }); + } + matchBeforePosition(e) { + if (0 === this._decorations.length) return null; + for (let t = this._decorations.length - 1; t >= 0; t--) { + let i = this._decorations[t], + n = this._editor.getModel().getDecorationRange(i); + if (n && !(n.endLineNumber > e.lineNumber)) { + if (n.endLineNumber < e.lineNumber) return n; + if (!(n.endColumn > e.column)) return n; + } + } + return this._editor + .getModel() + .getDecorationRange( + this._decorations[this._decorations.length - 1] + ); + } + matchAfterPosition(e) { + if (0 === this._decorations.length) return null; + for (let t = 0, i = this._decorations.length; t < i; t++) { + let i = this._decorations[t], + n = this._editor.getModel().getDecorationRange(i); + if (n && !(n.startLineNumber < e.lineNumber)) { + if (n.startLineNumber > e.lineNumber) return n; + if (!(n.startColumn < e.column)) return n; + } + } + return this._editor + .getModel() + .getDecorationRange(this._decorations[0]); + } + _allDecorations() { + let e = []; + return ( + (e = e.concat(this._decorations)), + (e = e.concat(this._overviewRulerApproximateDecorations)), + this._findScopeDecorationIds.length && + e.push(...this._findScopeDecorationIds), + this._rangeHighlightDecorationId && + e.push(this._rangeHighlightDecorationId), + e + ); + } + } + (b._CURRENT_FIND_MATCH_DECORATION = p.qx.register({ + stickiness: 1, + zIndex: 13, + className: 'currentFindMatch', + showIfCollapsed: !0, + overviewRuler: { color: (0, _.EN)(m.Fm), position: f.sh.Center }, + minimap: { color: (0, _.EN)(m.KT), position: f.F5.Inline }, + })), + (b._FIND_MATCH_DECORATION = p.qx.register({ + stickiness: 1, + className: 'findMatch', + showIfCollapsed: !0, + overviewRuler: { color: (0, _.EN)(m.Fm), position: f.sh.Center }, + minimap: { color: (0, _.EN)(m.KT), position: f.F5.Inline }, + })), + (b._FIND_MATCH_NO_OVERVIEW_DECORATION = p.qx.register({ + stickiness: 1, + className: 'findMatch', + showIfCollapsed: !0, + })), + (b._FIND_MATCH_ONLY_OVERVIEW_DECORATION = p.qx.register({ + stickiness: 1, + overviewRuler: { color: (0, _.EN)(m.Fm), position: f.sh.Center }, + })), + (b._RANGE_HIGHLIGHT_DECORATION = p.qx.register({ + stickiness: 1, + className: 'rangeHighlight', + isWholeLine: !0, + })), + (b._FIND_SCOPE_DECORATION = p.qx.register({ + className: 'findScope', + isWholeLine: !0, + })); + class v { + constructor(e, t, i) { + (this._editorSelection = e), + (this._ranges = t), + (this._replaceStrings = i), + (this._trackedEditorSelectionId = null); + } + getEditOperations(e, t) { + if (this._ranges.length > 0) { + let e = []; + for (let t = 0; t < this._ranges.length; t++) + e.push({ + range: this._ranges[t], + text: this._replaceStrings[t], + }); + e.sort((e, t) => h.e.compareRangesUsingStarts(e.range, t.range)); + let i = [], + n = e[0]; + for (let t = 1; t < e.length; t++) + n.range.endLineNumber === e[t].range.startLineNumber && + n.range.endColumn === e[t].range.startColumn + ? ((n.range = n.range.plusRange(e[t].range)), + (n.text = n.text + e[t].text)) + : (i.push(n), (n = e[t])); + i.push(n); + for (const e of i) t.addEditOperation(e.range, e.text); + } + this._trackedEditorSelectionId = t.trackSelection( + this._editorSelection + ); + } + computeCursorState(e, t) { + return t.getTrackedSelection(this._trackedEditorSelectionId); + } + } + function y(e, t) { + if (e && '' !== e[0]) { + const i = w(e, t, '-'), + n = w(e, t, '_'); + return i && !n + ? C(e, t, '-') + : !i && n + ? C(e, t, '_') + : e[0].toUpperCase() === e[0] + ? t.toUpperCase() + : e[0].toLowerCase() === e[0] + ? t.toLowerCase() + : o.Kw(e[0][0]) && t.length > 0 + ? t[0].toUpperCase() + t.substr(1) + : t; + } + return t; + } + function w(e, t, i) { + return ( + -1 !== e[0].indexOf(i) && + -1 !== t.indexOf(i) && + e[0].split(i).length === t.split(i).length + ); + } + function C(e, t, i) { + const n = t.split(i), + r = e[0].split(i); + let s = ''; + return ( + n.forEach((e, t) => { + s += y([r[t]], e) + i; + }), + s.slice(0, -1) + ); + } + class S { + constructor(e) { + (this.staticValue = e), (this.kind = 0); + } + } + class k { + constructor(e) { + (this.pieces = e), (this.kind = 1); + } + } + class x { + constructor(e) { + e && 0 !== e.length + ? 1 === e.length && null !== e[0].staticValue + ? (this._state = new S(e[0].staticValue)) + : (this._state = new k(e)) + : (this._state = new S('')); + } + static fromStaticValue(e) { + return new x([L.staticValue(e)]); + } + get hasReplacementPatterns() { + return 1 === this._state.kind; + } + buildReplaceString(e, t) { + if (0 === this._state.kind) + return t + ? y(e, this._state.staticValue) + : this._state.staticValue; + let i = ''; + for (let t = 0, n = this._state.pieces.length; t < n; t++) { + let n = this._state.pieces[t]; + if (null !== n.staticValue) { + i += n.staticValue; + continue; + } + let r = x._substitute(n.matchIndex, e); + if (null !== n.caseOps && n.caseOps.length > 0) { + let e = [], + t = n.caseOps.length, + i = 0; + for (let s = 0, o = r.length; s < o; s++) { + if (i >= t) { + e.push(r.slice(s)); + break; + } + switch (n.caseOps[i]) { + case 'U': + e.push(r[s].toUpperCase()); + break; + case 'u': + e.push(r[s].toUpperCase()), i++; + break; + case 'L': + e.push(r[s].toLowerCase()); + break; + case 'l': + e.push(r[s].toLowerCase()), i++; + break; + default: + e.push(r[s]); + } + } + r = e.join(''); + } + i += r; + } + return i; + } + static _substitute(e, t) { + if (null === t) return ''; + if (0 === e) return t[0]; + let i = ''; + for (; e > 0; ) { + if (e < t.length) return (t[e] || '') + i; + (i = String(e % 10) + i), (e = Math.floor(e / 10)); + } + return '$' + i; + } + } + class L { + constructor(e, t, i) { + (this.staticValue = e), + (this.matchIndex = t), + i && 0 !== i.length + ? (this.caseOps = i.slice(0)) + : (this.caseOps = null); + } + static staticValue(e) { + return new L(e, -1, null); + } + static caseOps(e, t) { + return new L(null, e, t); + } + } + class M { + constructor(e) { + (this._source = e), + (this._lastCharIndex = 0), + (this._result = []), + (this._resultLen = 0), + (this._currentStaticPiece = ''); + } + emitUnchanged(e) { + this._emitStatic(this._source.substring(this._lastCharIndex, e)), + (this._lastCharIndex = e); + } + emitStatic(e, t) { + this._emitStatic(e), (this._lastCharIndex = t); + } + _emitStatic(e) { + 0 !== e.length && (this._currentStaticPiece += e); + } + emitMatchIndex(e, t, i) { + 0 !== this._currentStaticPiece.length && + ((this._result[this._resultLen++] = L.staticValue( + this._currentStaticPiece + )), + (this._currentStaticPiece = '')), + (this._result[this._resultLen++] = L.caseOps(e, i)), + (this._lastCharIndex = t); + } + finalize() { + return ( + this.emitUnchanged(this._source.length), + 0 !== this._currentStaticPiece.length && + ((this._result[this._resultLen++] = L.staticValue( + this._currentStaticPiece + )), + (this._currentStaticPiece = '')), + new x(this._result) + ); + } + } + var D = i(38819), + N = i(9488); + const E = new D.uy('findWidgetVisible', !1), + T = new D.uy('findInputFocussed', !1), + I = new D.uy('replaceInputFocussed', !1), + O = { primary: 545, mac: { primary: 2593 } }, + A = { primary: 565, mac: { primary: 2613 } }, + R = { primary: 560, mac: { primary: 2608 } }, + P = { primary: 554, mac: { primary: 2602 } }, + F = 'editor.action.nextMatchFindAction', + B = 'editor.action.previousMatchFindAction', + W = 'closeFindWidget', + Y = 'toggleFindCaseSensitive', + H = 'toggleFindWholeWord', + j = 'toggleFindRegex', + V = 'toggleFindInSelection', + z = 'editor.action.replaceOne', + U = 'editor.action.replaceAll', + $ = 19999; + class K { + constructor(e, t) { + (this._toDispose = new s.SL()), + (this._editor = e), + (this._state = t), + (this._isDisposed = !1), + (this._startSearchingTimer = new r._F()), + (this._decorations = new b(e)), + this._toDispose.add(this._decorations), + (this._updateDecorationsScheduler = new r.pY( + () => this.research(!1), + 100 + )), + this._toDispose.add(this._updateDecorationsScheduler), + this._toDispose.add( + this._editor.onDidChangeCursorPosition((e) => { + (3 !== e.reason && 5 !== e.reason && 6 !== e.reason) || + this._decorations.setStartPosition( + this._editor.getPosition() + ); + }) + ), + (this._ignoreModelContentChanged = !1), + this._toDispose.add( + this._editor.onDidChangeModelContent((e) => { + this._ignoreModelContentChanged || + (e.isFlush && this._decorations.reset(), + this._decorations.setStartPosition( + this._editor.getPosition() + ), + this._updateDecorationsScheduler.schedule()); + }) + ), + this._toDispose.add( + this._state.onFindReplaceStateChange((e) => + this._onStateChanged(e) + ) + ), + this.research(!1, this._state.searchScope); + } + dispose() { + (this._isDisposed = !0), + (0, s.B9)(this._startSearchingTimer), + this._toDispose.dispose(); + } + _onStateChanged(e) { + !this._isDisposed && + this._editor.hasModel() && + (e.searchString || + e.isReplaceRevealed || + e.isRegex || + e.wholeWord || + e.matchCase || + e.searchScope) && + (this._editor.getModel().isTooLargeForSyncing() + ? (this._startSearchingTimer.cancel(), + this._startSearchingTimer.setIfNotSet(() => { + e.searchScope + ? this.research(e.moveCursor, this._state.searchScope) + : this.research(e.moveCursor); + }, 240)) + : e.searchScope + ? this.research(e.moveCursor, this._state.searchScope) + : this.research(e.moveCursor)); + } + static _getSearchRange(e, t) { + return t || e.getFullModelRange(); + } + research(e, t) { + let i = null; + void 0 !== t + ? null !== t && (i = Array.isArray(t) ? t : [t]) + : (i = this._decorations.getFindScopes()), + null !== i && + (i = i.map((e) => { + if (e.startLineNumber !== e.endLineNumber) { + let t = e.endLineNumber; + return ( + 1 === e.endColumn && (t -= 1), + new h.e( + e.startLineNumber, + 1, + t, + this._editor.getModel().getLineMaxColumn(t) + ) + ); + } + return e; + })); + let n = this._findMatches(i, !1, $); + this._decorations.set(n, i); + const r = this._editor.getSelection(); + let s = this._decorations.getCurrentMatchesPosition(r); + if (0 === s && n.length > 0) { + const e = (0, N.lG)( + n.map((e) => e.range), + (e) => h.e.compareRangesUsingStarts(e, r) >= 0 + ); + s = e > 0 ? e - 1 + 1 : s; + } + this._state.changeMatchInfo( + s, + this._decorations.getCount(), + void 0 + ), + e && + this._editor.getOption(29).cursorMoveOnType && + this._moveToNextMatch(this._decorations.getStartPosition()); + } + _hasMatches() { + return this._state.matchesCount > 0; + } + _cannotFind() { + if (!this._hasMatches()) { + let e = this._decorations.getFindScope(); + return ( + e && this._editor.revealRangeInCenterIfOutsideViewport(e, 0), !0 + ); + } + return !1; + } + _setCurrentFindMatch(e) { + let t = this._decorations.setCurrentFindMatch(e); + this._state.changeMatchInfo(t, this._decorations.getCount(), e), + this._editor.setSelection(e), + this._editor.revealRangeInCenterIfOutsideViewport(e, 0); + } + _prevSearchPosition(e) { + let t = + this._state.isRegex && + (this._state.searchString.indexOf('^') >= 0 || + this._state.searchString.indexOf('$') >= 0), + { lineNumber: i, column: n } = e, + r = this._editor.getModel(); + return ( + t || 1 === n + ? (1 === i ? (i = r.getLineCount()) : i--, + (n = r.getLineMaxColumn(i))) + : n--, + new d.L(i, n) + ); + } + _moveToPrevMatch(e, t = !1) { + if (!this._state.canNavigateBack()) { + const t = this._decorations.matchAfterPosition(e); + return void (t && this._setCurrentFindMatch(t)); + } + if (this._decorations.getCount() < $) { + let t = this._decorations.matchBeforePosition(e); + return ( + t && + t.isEmpty() && + t.getStartPosition().equals(e) && + ((e = this._prevSearchPosition(e)), + (t = this._decorations.matchBeforePosition(e))), + void (t && this._setCurrentFindMatch(t)) + ); + } + if (this._cannotFind()) return; + let i = this._decorations.getFindScope(), + n = K._getSearchRange(this._editor.getModel(), i); + n.getEndPosition().isBefore(e) && (e = n.getEndPosition()), + e.isBefore(n.getStartPosition()) && (e = n.getEndPosition()); + let { lineNumber: r, column: s } = e, + o = this._editor.getModel(), + a = new d.L(r, s), + l = o.findPreviousMatch( + this._state.searchString, + a, + this._state.isRegex, + this._state.matchCase, + this._state.wholeWord ? this._editor.getOption(105) : null, + !1 + ); + return ( + l && + l.range.isEmpty() && + l.range.getStartPosition().equals(a) && + ((a = this._prevSearchPosition(a)), + (l = o.findPreviousMatch( + this._state.searchString, + a, + this._state.isRegex, + this._state.matchCase, + this._state.wholeWord ? this._editor.getOption(105) : null, + !1 + ))), + l + ? t || n.containsRange(l.range) + ? void this._setCurrentFindMatch(l.range) + : this._moveToPrevMatch(l.range.getStartPosition(), !0) + : void 0 + ); + } + moveToPrevMatch() { + this._moveToPrevMatch( + this._editor.getSelection().getStartPosition() + ); + } + _nextSearchPosition(e) { + let t = + this._state.isRegex && + (this._state.searchString.indexOf('^') >= 0 || + this._state.searchString.indexOf('$') >= 0), + { lineNumber: i, column: n } = e, + r = this._editor.getModel(); + return ( + t || n === r.getLineMaxColumn(i) + ? (i === r.getLineCount() ? (i = 1) : i++, (n = 1)) + : n++, + new d.L(i, n) + ); + } + _moveToNextMatch(e) { + if (!this._state.canNavigateForward()) { + const t = this._decorations.matchBeforePosition(e); + return void (t && this._setCurrentFindMatch(t)); + } + if (this._decorations.getCount() < $) { + let t = this._decorations.matchAfterPosition(e); + return ( + t && + t.isEmpty() && + t.getStartPosition().equals(e) && + ((e = this._nextSearchPosition(e)), + (t = this._decorations.matchAfterPosition(e))), + void (t && this._setCurrentFindMatch(t)) + ); + } + let t = this._getNextMatch(e, !1, !0); + t && this._setCurrentFindMatch(t.range); + } + _getNextMatch(e, t, i, n = !1) { + if (this._cannotFind()) return null; + let r = this._decorations.getFindScope(), + s = K._getSearchRange(this._editor.getModel(), r); + s.getEndPosition().isBefore(e) && (e = s.getStartPosition()), + e.isBefore(s.getStartPosition()) && (e = s.getStartPosition()); + let { lineNumber: o, column: a } = e, + l = this._editor.getModel(), + c = new d.L(o, a), + h = l.findNextMatch( + this._state.searchString, + c, + this._state.isRegex, + this._state.matchCase, + this._state.wholeWord ? this._editor.getOption(105) : null, + t + ); + return ( + i && + h && + h.range.isEmpty() && + h.range.getStartPosition().equals(c) && + ((c = this._nextSearchPosition(c)), + (h = l.findNextMatch( + this._state.searchString, + c, + this._state.isRegex, + this._state.matchCase, + this._state.wholeWord ? this._editor.getOption(105) : null, + t + ))), + h + ? n || s.containsRange(h.range) + ? h + : this._getNextMatch(h.range.getEndPosition(), t, i, !0) + : null + ); + } + moveToNextMatch() { + this._moveToNextMatch(this._editor.getSelection().getEndPosition()); + } + _getReplacePattern() { + return this._state.isRegex + ? (function (e) { + if (!e || 0 === e.length) return new x(null); + let t = [], + i = new M(e); + for (let n = 0, r = e.length; n < r; n++) { + let s = e.charCodeAt(n); + if (92 !== s) { + if (36 === s) { + if ((n++, n >= r)) break; + let s = e.charCodeAt(n); + if (36 === s) { + i.emitUnchanged(n - 1), i.emitStatic('$', n + 1); + continue; + } + if (48 === s || 38 === s) { + i.emitUnchanged(n - 1), + i.emitMatchIndex(0, n + 1, t), + (t.length = 0); + continue; + } + if (49 <= s && s <= 57) { + let o = s - 48; + if (n + 1 < r) { + let r = e.charCodeAt(n + 1); + if (48 <= r && r <= 57) { + n++, + (o = 10 * o + (r - 48)), + i.emitUnchanged(n - 2), + i.emitMatchIndex(o, n + 1, t), + (t.length = 0); + continue; + } + } + i.emitUnchanged(n - 1), + i.emitMatchIndex(o, n + 1, t), + (t.length = 0); + continue; + } + } + } else { + if ((n++, n >= r)) break; + let s = e.charCodeAt(n); + switch (s) { + case 92: + i.emitUnchanged(n - 1), i.emitStatic('\\', n + 1); + break; + case 110: + i.emitUnchanged(n - 1), i.emitStatic('\n', n + 1); + break; + case 116: + i.emitUnchanged(n - 1), i.emitStatic('\t', n + 1); + break; + case 117: + case 85: + case 108: + case 76: + i.emitUnchanged(n - 1), + i.emitStatic('', n + 1), + t.push(String.fromCharCode(s)); + } + } + } + return i.finalize(); + })(this._state.replaceString) + : x.fromStaticValue(this._state.replaceString); + } + replace() { + if (!this._hasMatches()) return; + let e = this._getReplacePattern(), + t = this._editor.getSelection(), + i = this._getNextMatch(t.getStartPosition(), !0, !1); + if (i) + if (t.equalsRange(i.range)) { + let n = e.buildReplaceString( + i.matches, + this._state.preserveCase + ), + r = new c.T4(t, n); + this._executeEditorCommand('replace', r), + this._decorations.setStartPosition( + new d.L(t.startLineNumber, t.startColumn + n.length) + ), + this.research(!0); + } else + this._decorations.setStartPosition(this._editor.getPosition()), + this._setCurrentFindMatch(i.range); + } + _findMatches(e, t, i) { + const n = (e || [null]).map((e) => + K._getSearchRange(this._editor.getModel(), e) + ); + return this._editor + .getModel() + .findMatches( + this._state.searchString, + n, + this._state.isRegex, + this._state.matchCase, + this._state.wholeWord ? this._editor.getOption(105) : null, + t, + i + ); + } + replaceAll() { + if (!this._hasMatches()) return; + const e = this._decorations.getFindScopes(); + null === e && this._state.matchesCount >= $ + ? this._largeReplaceAll() + : this._regularReplaceAll(e), + this.research(!1); + } + _largeReplaceAll() { + const e = new g.bc( + this._state.searchString, + this._state.isRegex, + this._state.matchCase, + this._state.wholeWord ? this._editor.getOption(105) : null + ).parseSearchRequest(); + if (!e) return; + let t = e.regex; + if (!t.multiline) { + let e = 'mu'; + t.ignoreCase && (e += 'i'), + t.global && (e += 'g'), + (t = new RegExp(t.source, e)); + } + const i = this._editor.getModel(), + n = i.getValue(1), + r = i.getFullModelRange(), + s = this._getReplacePattern(); + let o; + const a = this._state.preserveCase; + o = + s.hasReplacementPatterns || a + ? n.replace(t, function () { + return s.buildReplaceString(arguments, a); + }) + : n.replace(t, s.buildReplaceString(null, a)); + let l = new c.hP(r, o, this._editor.getSelection()); + this._executeEditorCommand('replaceAll', l); + } + _regularReplaceAll(e) { + const t = this._getReplacePattern(); + let i = this._findMatches( + e, + t.hasReplacementPatterns || this._state.preserveCase, + 1073741824 + ), + n = []; + for (let e = 0, r = i.length; e < r; e++) + n[e] = t.buildReplaceString( + i[e].matches, + this._state.preserveCase + ); + let r = new v( + this._editor.getSelection(), + i.map((e) => e.range), + n + ); + this._executeEditorCommand('replaceAll', r); + } + selectAllMatches() { + if (!this._hasMatches()) return; + let e = this._decorations.getFindScopes(), + t = this._findMatches(e, !1, 1073741824).map( + (e) => + new u.Y( + e.range.startLineNumber, + e.range.startColumn, + e.range.endLineNumber, + e.range.endColumn + ) + ), + i = this._editor.getSelection(); + for (let e = 0, n = t.length; e < n; e++) + if (t[e].equalsRange(i)) { + t = [i].concat(t.slice(0, e)).concat(t.slice(e + 1)); + break; + } + this._editor.setSelections(t); + } + _executeEditorCommand(e, t) { + try { + (this._ignoreModelContentChanged = !0), + this._editor.pushUndoStop(), + this._editor.executeCommand(e, t), + this._editor.pushUndoStop(); + } finally { + this._ignoreModelContentChanged = !1; + } + } + } + var q = i(65321), + G = i(93794), + Z = i(41264), + J = i(4669); + const Q = { + inputActiveOptionBorder: Z.Il.fromHex('#007ACC00'), + inputActiveOptionForeground: Z.Il.fromHex('#FFFFFF'), + inputActiveOptionBackground: Z.Il.fromHex('#0E639C50'), + }; + class X extends G.$ { + constructor(e) { + super(), + (this._onChange = this._register(new J.Q5())), + (this.onChange = this._onChange.event), + (this._onKeyDown = this._register(new J.Q5())), + (this.onKeyDown = this._onKeyDown.event), + (this._opts = Object.assign(Object.assign({}, Q), e)), + (this._checked = this._opts.isChecked); + const t = ['monaco-custom-checkbox']; + this._opts.icon + ? t.push(this._opts.icon.classNames) + : t.push('codicon'), + this._opts.actionClassName && t.push(this._opts.actionClassName), + t.push(this._checked ? 'checked' : 'unchecked'), + (this.domNode = document.createElement('div')), + (this.domNode.title = this._opts.title), + (this.domNode.className = t.join(' ')), + (this.domNode.tabIndex = 0), + this.domNode.setAttribute('role', 'checkbox'), + this.domNode.setAttribute('aria-checked', String(this._checked)), + this.domNode.setAttribute('aria-label', this._opts.title), + this.applyStyles(), + this.onclick(this.domNode, (e) => { + (this.checked = !this._checked), + this._onChange.fire(!1), + e.preventDefault(); + }), + this.ignoreGesture(this.domNode), + this.onkeydown(this.domNode, (e) => { + if (10 === e.keyCode || 3 === e.keyCode) + return ( + (this.checked = !this._checked), + this._onChange.fire(!0), + void e.preventDefault() + ); + this._onKeyDown.fire(e); + }); + } + get enabled() { + return 'true' !== this.domNode.getAttribute('aria-disabled'); + } + focus() { + this.domNode.focus(); + } + get checked() { + return this._checked; + } + set checked(e) { + (this._checked = e), + this.domNode.setAttribute('aria-checked', String(this._checked)), + this._checked + ? this.domNode.classList.add('checked') + : this.domNode.classList.remove('checked'), + this.applyStyles(); + } + width() { + return 22; + } + style(e) { + e.inputActiveOptionBorder && + (this._opts.inputActiveOptionBorder = e.inputActiveOptionBorder), + e.inputActiveOptionForeground && + (this._opts.inputActiveOptionForeground = + e.inputActiveOptionForeground), + e.inputActiveOptionBackground && + (this._opts.inputActiveOptionBackground = + e.inputActiveOptionBackground), + this.applyStyles(); + } + applyStyles() { + this.domNode && + ((this.domNode.style.borderColor = + this._checked && this._opts.inputActiveOptionBorder + ? this._opts.inputActiveOptionBorder.toString() + : 'transparent'), + (this.domNode.style.color = + this._checked && this._opts.inputActiveOptionForeground + ? this._opts.inputActiveOptionForeground.toString() + : 'inherit'), + (this.domNode.style.backgroundColor = + this._checked && this._opts.inputActiveOptionBackground + ? this._opts.inputActiveOptionBackground.toString() + : 'transparent')); + } + enable() { + (this.domNode.tabIndex = 0), + this.domNode.setAttribute('aria-disabled', String(!1)); + } + disable() { + q.eJ(this.domNode), + this.domNode.setAttribute('aria-disabled', String(!0)); + } + } + var ee = i(73046); + const te = n.N('caseDescription', 'Match Case'), + ie = n.N('wordsDescription', 'Match Whole Word'), + ne = n.N('regexDescription', 'Use Regular Expression'); + class re extends X { + constructor(e) { + super({ + icon: ee.lA.caseSensitive, + title: te + e.appendTitle, + isChecked: e.isChecked, + inputActiveOptionBorder: e.inputActiveOptionBorder, + inputActiveOptionForeground: e.inputActiveOptionForeground, + inputActiveOptionBackground: e.inputActiveOptionBackground, + }); + } + } + class se extends X { + constructor(e) { + super({ + icon: ee.lA.wholeWord, + title: ie + e.appendTitle, + isChecked: e.isChecked, + inputActiveOptionBorder: e.inputActiveOptionBorder, + inputActiveOptionForeground: e.inputActiveOptionForeground, + inputActiveOptionBackground: e.inputActiveOptionBackground, + }); + } + } + class oe extends X { + constructor(e) { + super({ + icon: ee.lA.regex, + title: ne + e.appendTitle, + isChecked: e.isChecked, + inputActiveOptionBorder: e.inputActiveOptionBorder, + inputActiveOptionForeground: e.inputActiveOptionForeground, + inputActiveOptionBackground: e.inputActiveOptionBackground, + }); + } + } + class ae extends G.$ { + constructor(e, t, i, n) { + super(), + (this._hideSoon = this._register( + new r.pY(() => this._hide(), 2e3) + )), + (this._isVisible = !1), + (this._editor = e), + (this._state = t), + (this._keybindingService = i), + (this._domNode = document.createElement('div')), + (this._domNode.className = 'findOptionsWidget'), + (this._domNode.style.display = 'none'), + (this._domNode.style.top = '10px'), + this._domNode.setAttribute('role', 'presentation'), + this._domNode.setAttribute('aria-hidden', 'true'); + const s = n.getColorTheme().getColor(m.PR), + o = n.getColorTheme().getColor(m.Pv), + a = n.getColorTheme().getColor(m.XE); + (this.caseSensitive = this._register( + new re({ + appendTitle: this._keybindingLabelFor(Y), + isChecked: this._state.matchCase, + inputActiveOptionBorder: s, + inputActiveOptionForeground: o, + inputActiveOptionBackground: a, + }) + )), + this._domNode.appendChild(this.caseSensitive.domNode), + this._register( + this.caseSensitive.onChange(() => { + this._state.change( + { matchCase: this.caseSensitive.checked }, + !1 + ); + }) + ), + (this.wholeWords = this._register( + new se({ + appendTitle: this._keybindingLabelFor(H), + isChecked: this._state.wholeWord, + inputActiveOptionBorder: s, + inputActiveOptionForeground: o, + inputActiveOptionBackground: a, + }) + )), + this._domNode.appendChild(this.wholeWords.domNode), + this._register( + this.wholeWords.onChange(() => { + this._state.change( + { wholeWord: this.wholeWords.checked }, + !1 + ); + }) + ), + (this.regex = this._register( + new oe({ + appendTitle: this._keybindingLabelFor(j), + isChecked: this._state.isRegex, + inputActiveOptionBorder: s, + inputActiveOptionForeground: o, + inputActiveOptionBackground: a, + }) + )), + this._domNode.appendChild(this.regex.domNode), + this._register( + this.regex.onChange(() => { + this._state.change({ isRegex: this.regex.checked }, !1); + }) + ), + this._editor.addOverlayWidget(this), + this._register( + this._state.onFindReplaceStateChange((e) => { + let t = !1; + e.isRegex && + ((this.regex.checked = this._state.isRegex), (t = !0)), + e.wholeWord && + ((this.wholeWords.checked = this._state.wholeWord), + (t = !0)), + e.matchCase && + ((this.caseSensitive.checked = this._state.matchCase), + (t = !0)), + !this._state.isRevealed && t && this._revealTemporarily(); + }) + ), + this._register(q.j_(this._domNode, (e) => this._onMouseOut())), + this._register( + q.nm(this._domNode, 'mouseover', (e) => this._onMouseOver()) + ), + this._applyTheme(n.getColorTheme()), + this._register( + n.onDidColorThemeChange(this._applyTheme.bind(this)) + ); + } + _keybindingLabelFor(e) { + let t = this._keybindingService.lookupKeybinding(e); + return t ? ` (${t.getLabel()})` : ''; + } + dispose() { + this._editor.removeOverlayWidget(this), super.dispose(); + } + getId() { + return ae.ID; + } + getDomNode() { + return this._domNode; + } + getPosition() { + return { preference: 0 }; + } + highlightFindOptions() { + this._revealTemporarily(); + } + _revealTemporarily() { + this._show(), this._hideSoon.schedule(); + } + _onMouseOut() { + this._hideSoon.schedule(); + } + _onMouseOver() { + this._hideSoon.cancel(); + } + _show() { + this._isVisible || + ((this._isVisible = !0), (this._domNode.style.display = 'block')); + } + _hide() { + this._isVisible && + ((this._isVisible = !1), (this._domNode.style.display = 'none')); + } + _applyTheme(e) { + let t = { + inputActiveOptionBorder: e.getColor(m.PR), + inputActiveOptionForeground: e.getColor(m.Pv), + inputActiveOptionBackground: e.getColor(m.XE), + }; + this.caseSensitive.style(t), + this.wholeWords.style(t), + this.regex.style(t); + } + } + function le(e, t) { + return 1 === e || (2 !== e && t); + } + (ae.ID = 'editor.contrib.findOptionsWidget'), + (0, _.Ic)((e, t) => { + const i = e.getColor(m.D0); + i && + t.addRule( + `.monaco-editor .findOptionsWidget { background-color: ${i}; }` + ); + const n = e.getColor(m.Hf); + n && + t.addRule(`.monaco-editor .findOptionsWidget { color: ${n}; }`); + const r = e.getColor(m.rh); + r && + t.addRule( + `.monaco-editor .findOptionsWidget { box-shadow: 0 2px 8px ${r}; }` + ); + const s = e.getColor(m.lR); + s && + t.addRule( + `.monaco-editor .findOptionsWidget { border: 2px solid ${s}; }` + ); + }); + class ce extends s.JT { + constructor() { + super(), + (this._onFindReplaceStateChange = this._register(new J.Q5())), + (this.onFindReplaceStateChange = this._onFindReplaceStateChange.event), + (this._searchString = ''), + (this._replaceString = ''), + (this._isRevealed = !1), + (this._isReplaceRevealed = !1), + (this._isRegex = !1), + (this._isRegexOverride = 0), + (this._wholeWord = !1), + (this._wholeWordOverride = 0), + (this._matchCase = !1), + (this._matchCaseOverride = 0), + (this._preserveCase = !1), + (this._preserveCaseOverride = 0), + (this._searchScope = null), + (this._matchesPosition = 0), + (this._matchesCount = 0), + (this._currentMatch = null), + (this._loop = !0); + } + get searchString() { + return this._searchString; + } + get replaceString() { + return this._replaceString; + } + get isRevealed() { + return this._isRevealed; + } + get isReplaceRevealed() { + return this._isReplaceRevealed; + } + get isRegex() { + return le(this._isRegexOverride, this._isRegex); + } + get wholeWord() { + return le(this._wholeWordOverride, this._wholeWord); + } + get matchCase() { + return le(this._matchCaseOverride, this._matchCase); + } + get preserveCase() { + return le(this._preserveCaseOverride, this._preserveCase); + } + get actualIsRegex() { + return this._isRegex; + } + get actualWholeWord() { + return this._wholeWord; + } + get actualMatchCase() { + return this._matchCase; + } + get actualPreserveCase() { + return this._preserveCase; + } + get searchScope() { + return this._searchScope; + } + get matchesPosition() { + return this._matchesPosition; + } + get matchesCount() { + return this._matchesCount; + } + get currentMatch() { + return this._currentMatch; + } + changeMatchInfo(e, t, i) { + let n = { + moveCursor: !1, + updateHistory: !1, + searchString: !1, + replaceString: !1, + isRevealed: !1, + isReplaceRevealed: !1, + isRegex: !1, + wholeWord: !1, + matchCase: !1, + preserveCase: !1, + searchScope: !1, + matchesPosition: !1, + matchesCount: !1, + currentMatch: !1, + loop: !1, + }, + r = !1; + 0 === t && (e = 0), + e > t && (e = t), + this._matchesPosition !== e && + ((this._matchesPosition = e), + (n.matchesPosition = !0), + (r = !0)), + this._matchesCount !== t && + ((this._matchesCount = t), (n.matchesCount = !0), (r = !0)), + void 0 !== i && + (h.e.equalsRange(this._currentMatch, i) || + ((this._currentMatch = i), (n.currentMatch = !0), (r = !0))), + r && this._onFindReplaceStateChange.fire(n); + } + change(e, t, i = !0) { + var n; + let r = { + moveCursor: t, + updateHistory: i, + searchString: !1, + replaceString: !1, + isRevealed: !1, + isReplaceRevealed: !1, + isRegex: !1, + wholeWord: !1, + matchCase: !1, + preserveCase: !1, + searchScope: !1, + matchesPosition: !1, + matchesCount: !1, + currentMatch: !1, + loop: !1, + }, + s = !1; + const o = this.isRegex, + a = this.wholeWord, + l = this.matchCase, + c = this.preserveCase; + void 0 !== e.searchString && + this._searchString !== e.searchString && + ((this._searchString = e.searchString), + (r.searchString = !0), + (s = !0)), + void 0 !== e.replaceString && + this._replaceString !== e.replaceString && + ((this._replaceString = e.replaceString), + (r.replaceString = !0), + (s = !0)), + void 0 !== e.isRevealed && + this._isRevealed !== e.isRevealed && + ((this._isRevealed = e.isRevealed), + (r.isRevealed = !0), + (s = !0)), + void 0 !== e.isReplaceRevealed && + this._isReplaceRevealed !== e.isReplaceRevealed && + ((this._isReplaceRevealed = e.isReplaceRevealed), + (r.isReplaceRevealed = !0), + (s = !0)), + void 0 !== e.isRegex && (this._isRegex = e.isRegex), + void 0 !== e.wholeWord && (this._wholeWord = e.wholeWord), + void 0 !== e.matchCase && (this._matchCase = e.matchCase), + void 0 !== e.preserveCase && + (this._preserveCase = e.preserveCase), + void 0 !== e.searchScope && + ((null === (n = e.searchScope) || void 0 === n + ? void 0 + : n.every((e) => { + var t; + return null === (t = this._searchScope) || void 0 === t + ? void 0 + : t.some((t) => !h.e.equalsRange(t, e)); + })) || + ((this._searchScope = e.searchScope), + (r.searchScope = !0), + (s = !0))), + void 0 !== e.loop && + this._loop !== e.loop && + ((this._loop = e.loop), (r.loop = !0), (s = !0)), + (this._isRegexOverride = + void 0 !== e.isRegexOverride ? e.isRegexOverride : 0), + (this._wholeWordOverride = + void 0 !== e.wholeWordOverride ? e.wholeWordOverride : 0), + (this._matchCaseOverride = + void 0 !== e.matchCaseOverride ? e.matchCaseOverride : 0), + (this._preserveCaseOverride = + void 0 !== e.preserveCaseOverride ? e.preserveCaseOverride : 0), + o !== this.isRegex && ((s = !0), (r.isRegex = !0)), + a !== this.wholeWord && ((s = !0), (r.wholeWord = !0)), + l !== this.matchCase && ((s = !0), (r.matchCase = !0)), + c !== this.preserveCase && ((s = !0), (r.preserveCase = !0)), + s && this._onFindReplaceStateChange.fire(r); + } + canNavigateBack() { + return this.canNavigateInLoop() || 1 !== this.matchesPosition; + } + canNavigateForward() { + return ( + this.canNavigateInLoop() || + this.matchesPosition < this.matchesCount + ); + } + canNavigateInLoop() { + return this._loop || this.matchesCount >= $; + } + } + var de = i(85152), + he = i(73098), + ue = i(17301), + ge = i(1432), + fe = i(77927); + const pe = n.N('defaultLabel', 'input'); + class me extends G.$ { + constructor(e, t, i, n) { + super(), + (this._showOptionButtons = i), + (this.fixFocusOnOptionClickEnabled = !0), + (this._onDidOptionChange = this._register(new J.Q5())), + (this.onDidOptionChange = this._onDidOptionChange.event), + (this._onKeyDown = this._register(new J.Q5())), + (this.onKeyDown = this._onKeyDown.event), + (this._onMouseDown = this._register(new J.Q5())), + (this.onMouseDown = this._onMouseDown.event), + (this._onInput = this._register(new J.Q5())), + (this._onKeyUp = this._register(new J.Q5())), + (this._onCaseSensitiveKeyDown = this._register(new J.Q5())), + (this.onCaseSensitiveKeyDown = this._onCaseSensitiveKeyDown.event), + (this._onRegexKeyDown = this._register(new J.Q5())), + (this.onRegexKeyDown = this._onRegexKeyDown.event), + (this._lastHighlightFindOptions = 0), + (this.contextViewProvider = t), + (this.placeholder = n.placeholder || ''), + (this.validation = n.validation), + (this.label = n.label || pe), + (this.inputActiveOptionBorder = n.inputActiveOptionBorder), + (this.inputActiveOptionForeground = + n.inputActiveOptionForeground), + (this.inputActiveOptionBackground = + n.inputActiveOptionBackground), + (this.inputBackground = n.inputBackground), + (this.inputForeground = n.inputForeground), + (this.inputBorder = n.inputBorder), + (this.inputValidationInfoBorder = n.inputValidationInfoBorder), + (this.inputValidationInfoBackground = + n.inputValidationInfoBackground), + (this.inputValidationInfoForeground = + n.inputValidationInfoForeground), + (this.inputValidationWarningBorder = + n.inputValidationWarningBorder), + (this.inputValidationWarningBackground = + n.inputValidationWarningBackground), + (this.inputValidationWarningForeground = + n.inputValidationWarningForeground), + (this.inputValidationErrorBorder = n.inputValidationErrorBorder), + (this.inputValidationErrorBackground = + n.inputValidationErrorBackground), + (this.inputValidationErrorForeground = + n.inputValidationErrorForeground); + const r = n.appendCaseSensitiveLabel || '', + s = n.appendWholeWordsLabel || '', + o = n.appendRegexLabel || '', + a = n.history || [], + l = !!n.flexibleHeight, + c = !!n.flexibleWidth, + d = n.flexibleMaxHeight; + (this.domNode = document.createElement('div')), + q.cn(this.domNode, 'monaco-findInput'), + (this.inputBox = this._register( + new fe.p(this.domNode, this.contextViewProvider, { + placeholder: this.placeholder || '', + ariaLabel: this.label || '', + validationOptions: { validation: this.validation }, + inputBackground: this.inputBackground, + inputForeground: this.inputForeground, + inputBorder: this.inputBorder, + inputValidationInfoBackground: this + .inputValidationInfoBackground, + inputValidationInfoForeground: this + .inputValidationInfoForeground, + inputValidationInfoBorder: this.inputValidationInfoBorder, + inputValidationWarningBackground: this + .inputValidationWarningBackground, + inputValidationWarningForeground: this + .inputValidationWarningForeground, + inputValidationWarningBorder: this + .inputValidationWarningBorder, + inputValidationErrorBackground: this + .inputValidationErrorBackground, + inputValidationErrorForeground: this + .inputValidationErrorForeground, + inputValidationErrorBorder: this.inputValidationErrorBorder, + history: a, + flexibleHeight: l, + flexibleWidth: c, + flexibleMaxHeight: d, + }) + )), + (this.regex = this._register( + new oe({ + appendTitle: o, + isChecked: !1, + inputActiveOptionBorder: this.inputActiveOptionBorder, + inputActiveOptionForeground: this.inputActiveOptionForeground, + inputActiveOptionBackground: this.inputActiveOptionBackground, + }) + )), + this._register( + this.regex.onChange((e) => { + this._onDidOptionChange.fire(e), + !e && + this.fixFocusOnOptionClickEnabled && + this.inputBox.focus(), + this.validate(); + }) + ), + this._register( + this.regex.onKeyDown((e) => { + this._onRegexKeyDown.fire(e); + }) + ), + (this.wholeWords = this._register( + new se({ + appendTitle: s, + isChecked: !1, + inputActiveOptionBorder: this.inputActiveOptionBorder, + inputActiveOptionForeground: this.inputActiveOptionForeground, + inputActiveOptionBackground: this.inputActiveOptionBackground, + }) + )), + this._register( + this.wholeWords.onChange((e) => { + this._onDidOptionChange.fire(e), + !e && + this.fixFocusOnOptionClickEnabled && + this.inputBox.focus(), + this.validate(); + }) + ), + (this.caseSensitive = this._register( + new re({ + appendTitle: r, + isChecked: !1, + inputActiveOptionBorder: this.inputActiveOptionBorder, + inputActiveOptionForeground: this.inputActiveOptionForeground, + inputActiveOptionBackground: this.inputActiveOptionBackground, + }) + )), + this._register( + this.caseSensitive.onChange((e) => { + this._onDidOptionChange.fire(e), + !e && + this.fixFocusOnOptionClickEnabled && + this.inputBox.focus(), + this.validate(); + }) + ), + this._register( + this.caseSensitive.onKeyDown((e) => { + this._onCaseSensitiveKeyDown.fire(e); + }) + ), + this._showOptionButtons && + (this.inputBox.paddingRight = + this.caseSensitive.width() + + this.wholeWords.width() + + this.regex.width()); + let h = [ + this.caseSensitive.domNode, + this.wholeWords.domNode, + this.regex.domNode, + ]; + this.onkeydown(this.domNode, (e) => { + if (e.equals(15) || e.equals(17) || e.equals(9)) { + let t = h.indexOf(document.activeElement); + if (t >= 0) { + let i = -1; + e.equals(17) + ? (i = (t + 1) % h.length) + : e.equals(15) && (i = 0 === t ? h.length - 1 : t - 1), + e.equals(9) ? h[t].blur() : i >= 0 && h[i].focus(), + q.zB.stop(e, !0); + } + } + }); + let u = document.createElement('div'); + (u.className = 'controls'), + (u.style.display = this._showOptionButtons ? 'block' : 'none'), + u.appendChild(this.caseSensitive.domNode), + u.appendChild(this.wholeWords.domNode), + u.appendChild(this.regex.domNode), + this.domNode.appendChild(u), + e && e.appendChild(this.domNode), + this.onkeydown(this.inputBox.inputElement, (e) => + this._onKeyDown.fire(e) + ), + this.onkeyup(this.inputBox.inputElement, (e) => + this._onKeyUp.fire(e) + ), + this.oninput(this.inputBox.inputElement, (e) => + this._onInput.fire() + ), + this.onmousedown(this.inputBox.inputElement, (e) => + this._onMouseDown.fire(e) + ); + } + enable() { + q.IV(this.domNode, 'disabled'), + this.inputBox.enable(), + this.regex.enable(), + this.wholeWords.enable(), + this.caseSensitive.enable(); + } + disable() { + q.cn(this.domNode, 'disabled'), + this.inputBox.disable(), + this.regex.disable(), + this.wholeWords.disable(), + this.caseSensitive.disable(); + } + setFocusInputOnOptionClick(e) { + this.fixFocusOnOptionClickEnabled = e; + } + setEnabled(e) { + e ? this.enable() : this.disable(); + } + getValue() { + return this.inputBox.value; + } + setValue(e) { + this.inputBox.value !== e && (this.inputBox.value = e); + } + style(e) { + (this.inputActiveOptionBorder = e.inputActiveOptionBorder), + (this.inputActiveOptionForeground = + e.inputActiveOptionForeground), + (this.inputActiveOptionBackground = + e.inputActiveOptionBackground), + (this.inputBackground = e.inputBackground), + (this.inputForeground = e.inputForeground), + (this.inputBorder = e.inputBorder), + (this.inputValidationInfoBackground = + e.inputValidationInfoBackground), + (this.inputValidationInfoForeground = + e.inputValidationInfoForeground), + (this.inputValidationInfoBorder = e.inputValidationInfoBorder), + (this.inputValidationWarningBackground = + e.inputValidationWarningBackground), + (this.inputValidationWarningForeground = + e.inputValidationWarningForeground), + (this.inputValidationWarningBorder = + e.inputValidationWarningBorder), + (this.inputValidationErrorBackground = + e.inputValidationErrorBackground), + (this.inputValidationErrorForeground = + e.inputValidationErrorForeground), + (this.inputValidationErrorBorder = e.inputValidationErrorBorder), + this.applyStyles(); + } + applyStyles() { + if (this.domNode) { + const e = { + inputActiveOptionBorder: this.inputActiveOptionBorder, + inputActiveOptionForeground: this.inputActiveOptionForeground, + inputActiveOptionBackground: this.inputActiveOptionBackground, + }; + this.regex.style(e), + this.wholeWords.style(e), + this.caseSensitive.style(e); + const t = { + inputBackground: this.inputBackground, + inputForeground: this.inputForeground, + inputBorder: this.inputBorder, + inputValidationInfoBackground: this + .inputValidationInfoBackground, + inputValidationInfoForeground: this + .inputValidationInfoForeground, + inputValidationInfoBorder: this.inputValidationInfoBorder, + inputValidationWarningBackground: this + .inputValidationWarningBackground, + inputValidationWarningForeground: this + .inputValidationWarningForeground, + inputValidationWarningBorder: this.inputValidationWarningBorder, + inputValidationErrorBackground: this + .inputValidationErrorBackground, + inputValidationErrorForeground: this + .inputValidationErrorForeground, + inputValidationErrorBorder: this.inputValidationErrorBorder, + }; + this.inputBox.style(t); + } + } + select() { + this.inputBox.select(); + } + focus() { + this.inputBox.focus(); + } + getCaseSensitive() { + return this.caseSensitive.checked; + } + setCaseSensitive(e) { + this.caseSensitive.checked = e; + } + getWholeWords() { + return this.wholeWords.checked; + } + setWholeWords(e) { + this.wholeWords.checked = e; + } + getRegex() { + return this.regex.checked; + } + setRegex(e) { + (this.regex.checked = e), this.validate(); + } + focusOnCaseSensitive() { + this.caseSensitive.focus(); + } + highlightFindOptions() { + q.IV(this.domNode, 'highlight-' + this._lastHighlightFindOptions), + (this._lastHighlightFindOptions = + 1 - this._lastHighlightFindOptions), + q.cn(this.domNode, 'highlight-' + this._lastHighlightFindOptions); + } + validate() { + this.inputBox.validate(); + } + clearMessage() { + this.inputBox.hideMessage(); + } + } + var _e = i(49989); + const be = n.N('defaultLabel', 'input'), + ve = n.N('label.preserveCaseCheckbox', 'Preserve Case'); + class ye extends X { + constructor(e) { + super({ + icon: ee.lA.preserveCase, + title: ve + e.appendTitle, + isChecked: e.isChecked, + inputActiveOptionBorder: e.inputActiveOptionBorder, + inputActiveOptionForeground: e.inputActiveOptionForeground, + inputActiveOptionBackground: e.inputActiveOptionBackground, + }); + } + } + class we extends G.$ { + constructor(e, t, i, n) { + super(), + (this._showOptionButtons = i), + (this.fixFocusOnOptionClickEnabled = !0), + (this.cachedOptionsWidth = 0), + (this._onDidOptionChange = this._register(new J.Q5())), + (this.onDidOptionChange = this._onDidOptionChange.event), + (this._onKeyDown = this._register(new J.Q5())), + (this.onKeyDown = this._onKeyDown.event), + (this._onMouseDown = this._register(new J.Q5())), + (this._onInput = this._register(new J.Q5())), + (this._onKeyUp = this._register(new J.Q5())), + (this._onPreserveCaseKeyDown = this._register(new J.Q5())), + (this.onPreserveCaseKeyDown = this._onPreserveCaseKeyDown.event), + (this.contextViewProvider = t), + (this.placeholder = n.placeholder || ''), + (this.validation = n.validation), + (this.label = n.label || be), + (this.inputActiveOptionBorder = n.inputActiveOptionBorder), + (this.inputActiveOptionForeground = + n.inputActiveOptionForeground), + (this.inputActiveOptionBackground = + n.inputActiveOptionBackground), + (this.inputBackground = n.inputBackground), + (this.inputForeground = n.inputForeground), + (this.inputBorder = n.inputBorder), + (this.inputValidationInfoBorder = n.inputValidationInfoBorder), + (this.inputValidationInfoBackground = + n.inputValidationInfoBackground), + (this.inputValidationInfoForeground = + n.inputValidationInfoForeground), + (this.inputValidationWarningBorder = + n.inputValidationWarningBorder), + (this.inputValidationWarningBackground = + n.inputValidationWarningBackground), + (this.inputValidationWarningForeground = + n.inputValidationWarningForeground), + (this.inputValidationErrorBorder = n.inputValidationErrorBorder), + (this.inputValidationErrorBackground = + n.inputValidationErrorBackground), + (this.inputValidationErrorForeground = + n.inputValidationErrorForeground); + const r = n.history || [], + s = !!n.flexibleHeight, + o = !!n.flexibleWidth, + a = n.flexibleMaxHeight; + (this.domNode = document.createElement('div')), + q.cn(this.domNode, 'monaco-findInput'), + (this.inputBox = this._register( + new fe.p(this.domNode, this.contextViewProvider, { + ariaLabel: this.label || '', + placeholder: this.placeholder || '', + validationOptions: { validation: this.validation }, + inputBackground: this.inputBackground, + inputForeground: this.inputForeground, + inputBorder: this.inputBorder, + inputValidationInfoBackground: this + .inputValidationInfoBackground, + inputValidationInfoForeground: this + .inputValidationInfoForeground, + inputValidationInfoBorder: this.inputValidationInfoBorder, + inputValidationWarningBackground: this + .inputValidationWarningBackground, + inputValidationWarningForeground: this + .inputValidationWarningForeground, + inputValidationWarningBorder: this + .inputValidationWarningBorder, + inputValidationErrorBackground: this + .inputValidationErrorBackground, + inputValidationErrorForeground: this + .inputValidationErrorForeground, + inputValidationErrorBorder: this.inputValidationErrorBorder, + history: r, + flexibleHeight: s, + flexibleWidth: o, + flexibleMaxHeight: a, + }) + )), + (this.preserveCase = this._register( + new ye({ + appendTitle: '', + isChecked: !1, + inputActiveOptionBorder: this.inputActiveOptionBorder, + inputActiveOptionForeground: this.inputActiveOptionForeground, + inputActiveOptionBackground: this.inputActiveOptionBackground, + }) + )), + this._register( + this.preserveCase.onChange((e) => { + this._onDidOptionChange.fire(e), + !e && + this.fixFocusOnOptionClickEnabled && + this.inputBox.focus(), + this.validate(); + }) + ), + this._register( + this.preserveCase.onKeyDown((e) => { + this._onPreserveCaseKeyDown.fire(e); + }) + ), + this._showOptionButtons + ? (this.cachedOptionsWidth = this.preserveCase.width()) + : (this.cachedOptionsWidth = 0); + let l = [this.preserveCase.domNode]; + this.onkeydown(this.domNode, (e) => { + if (e.equals(15) || e.equals(17) || e.equals(9)) { + let t = l.indexOf(document.activeElement); + if (t >= 0) { + let i = -1; + e.equals(17) + ? (i = (t + 1) % l.length) + : e.equals(15) && (i = 0 === t ? l.length - 1 : t - 1), + e.equals(9) ? l[t].blur() : i >= 0 && l[i].focus(), + q.zB.stop(e, !0); + } + } + }); + let c = document.createElement('div'); + (c.className = 'controls'), + (c.style.display = this._showOptionButtons ? 'block' : 'none'), + c.appendChild(this.preserveCase.domNode), + this.domNode.appendChild(c), + e && e.appendChild(this.domNode), + this.onkeydown(this.inputBox.inputElement, (e) => + this._onKeyDown.fire(e) + ), + this.onkeyup(this.inputBox.inputElement, (e) => + this._onKeyUp.fire(e) + ), + this.oninput(this.inputBox.inputElement, (e) => + this._onInput.fire() + ), + this.onmousedown(this.inputBox.inputElement, (e) => + this._onMouseDown.fire(e) + ); + } + enable() { + q.IV(this.domNode, 'disabled'), + this.inputBox.enable(), + this.preserveCase.enable(); + } + disable() { + q.cn(this.domNode, 'disabled'), + this.inputBox.disable(), + this.preserveCase.disable(); + } + setEnabled(e) { + e ? this.enable() : this.disable(); + } + style(e) { + (this.inputActiveOptionBorder = e.inputActiveOptionBorder), + (this.inputActiveOptionForeground = + e.inputActiveOptionForeground), + (this.inputActiveOptionBackground = + e.inputActiveOptionBackground), + (this.inputBackground = e.inputBackground), + (this.inputForeground = e.inputForeground), + (this.inputBorder = e.inputBorder), + (this.inputValidationInfoBackground = + e.inputValidationInfoBackground), + (this.inputValidationInfoForeground = + e.inputValidationInfoForeground), + (this.inputValidationInfoBorder = e.inputValidationInfoBorder), + (this.inputValidationWarningBackground = + e.inputValidationWarningBackground), + (this.inputValidationWarningForeground = + e.inputValidationWarningForeground), + (this.inputValidationWarningBorder = + e.inputValidationWarningBorder), + (this.inputValidationErrorBackground = + e.inputValidationErrorBackground), + (this.inputValidationErrorForeground = + e.inputValidationErrorForeground), + (this.inputValidationErrorBorder = e.inputValidationErrorBorder), + this.applyStyles(); + } + applyStyles() { + if (this.domNode) { + const e = { + inputActiveOptionBorder: this.inputActiveOptionBorder, + inputActiveOptionForeground: this.inputActiveOptionForeground, + inputActiveOptionBackground: this.inputActiveOptionBackground, + }; + this.preserveCase.style(e); + const t = { + inputBackground: this.inputBackground, + inputForeground: this.inputForeground, + inputBorder: this.inputBorder, + inputValidationInfoBackground: this + .inputValidationInfoBackground, + inputValidationInfoForeground: this + .inputValidationInfoForeground, + inputValidationInfoBorder: this.inputValidationInfoBorder, + inputValidationWarningBackground: this + .inputValidationWarningBackground, + inputValidationWarningForeground: this + .inputValidationWarningForeground, + inputValidationWarningBorder: this.inputValidationWarningBorder, + inputValidationErrorBackground: this + .inputValidationErrorBackground, + inputValidationErrorForeground: this + .inputValidationErrorForeground, + inputValidationErrorBorder: this.inputValidationErrorBorder, + }; + this.inputBox.style(t); + } + } + select() { + this.inputBox.select(); + } + focus() { + this.inputBox.focus(); + } + getPreserveCase() { + return this.preserveCase.checked; + } + setPreserveCase(e) { + this.preserveCase.checked = e; + } + focusOnPreserve() { + this.preserveCase.focus(); + } + validate() { + this.inputBox && this.inputBox.validate(); + } + set width(e) { + (this.inputBox.paddingRight = this.cachedOptionsWidth), + (this.inputBox.width = e), + (this.domNode.style.width = e + 'px'); + } + dispose() { + super.dispose(); + } + } + var Ce = function (e, t, i, n) { + var r, + s = arguments.length, + o = + s < 3 + ? t + : null === n + ? (n = Object.getOwnPropertyDescriptor(t, i)) + : n; + if ( + 'object' == typeof Reflect && + 'function' == typeof Reflect.decorate + ) + o = Reflect.decorate(e, t, i, n); + else + for (var a = e.length - 1; a >= 0; a--) + (r = e[a]) && + (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); + return s > 3 && o && Object.defineProperty(t, i, o), o; + }, + Se = function (e, t) { + return function (i, n) { + t(i, n, e); + }; + }; + const ke = 'historyNavigationWidget', + xe = 'historyNavigationEnabled'; + function Le(e, t) { + return e.getContext(document.activeElement).getValue(t); + } + function Me(e, t) { + const i = (function (e, t) { + return e.createScoped(t.target); + })(e, t); + return ( + (function (e, t, i) { + new D.uy('historyNavigationWidget', t).bindTo(e); + })(i, t), + { + scopedContextKeyService: i, + historyNavigationEnablement: new D.uy(xe, !0).bindTo(i), + } + ); + } + let De = class extends me { + constructor(e, t, i, n, r = !1) { + super(e, t, r, i), + this._register( + Me(n, { + target: this.inputBox.element, + historyNavigator: this.inputBox, + }).scopedContextKeyService + ); + } + }; + De = Ce([Se(3, D.i6)], De); + let Ne = class extends we { + constructor(e, t, i, n, r = !1) { + super(e, t, r, i), + this._register( + Me(n, { + target: this.inputBox.element, + historyNavigator: this.inputBox, + }).scopedContextKeyService + ); + } + }; + (Ne = Ce([Se(3, D.i6)], Ne)), + _e.W.registerCommandAndKeybindingRule({ + id: 'history.showPrevious', + weight: 200, + when: D.Ao.and(D.Ao.has(ke), D.Ao.equals(xe, !0)), + primary: 16, + secondary: [528], + handler: (e, t) => { + const i = Le(e.get(D.i6), ke); + i && i.historyNavigator.showPreviousValue(); + }, + }), + _e.W.registerCommandAndKeybindingRule({ + id: 'history.showNext', + weight: 200, + when: D.Ao.and(D.Ao.has(ke), D.Ao.equals(xe, !0)), + primary: 18, + secondary: [530], + handler: (e, t) => { + const i = Le(e.get(D.i6), ke); + i && i.historyNavigator.showNextValue(); + }, + }); + const Ee = (0, ee.q5)('find-selection', ee.lA.selection), + Te = (0, ee.q5)('find-collapsed', ee.lA.chevronRight), + Ie = (0, ee.q5)('find-expanded', ee.lA.chevronDown), + Oe = (0, ee.q5)('find-close', ee.lA.close), + Ae = (0, ee.q5)('find-replace', ee.lA.replace), + Re = (0, ee.q5)('find-replace-all', ee.lA.replaceAll), + Pe = (0, ee.q5)('find-previous-match', ee.lA.arrowUp), + Fe = (0, ee.q5)('find-next-match', ee.lA.arrowDown), + Be = n.N('label.find', 'Find'), + We = n.N('placeholder.find', 'Find'), + Ye = n.N('label.previousMatchButton', 'Previous match'), + He = n.N('label.nextMatchButton', 'Next match'), + je = n.N('label.toggleSelectionFind', 'Find in selection'), + Ve = n.N('label.closeButton', 'Close'), + ze = n.N('label.replace', 'Replace'), + Ue = n.N('placeholder.replace', 'Replace'), + $e = n.N('label.replaceButton', 'Replace'), + Ke = n.N('label.replaceAllButton', 'Replace All'), + qe = n.N('label.toggleReplaceButton', 'Toggle Replace mode'), + Ge = n.N( + 'title.matchesCountLimit', + 'Only the first {0} results are highlighted, but all find operations work on the entire text.', + $ + ), + Ze = n.N('label.matchesLocation', '{0} of {1}'), + Je = n.N('label.noResults', 'No results'), + Qe = 419; + let Xe = 69; + const et = 'ctrlEnterReplaceAll.windows.donotask', + tt = ge.dz ? 256 : 2048; + class it { + constructor(e) { + (this.afterLineNumber = e), + (this.heightInPx = 33), + (this.suppressMouseDown = !1), + (this.domNode = document.createElement('div')), + (this.domNode.className = 'dock-find-viewzone'); + } + } + function nt(e, t, i) { + const n = !!t.match(/\n/); + i && n && i.selectionStart > 0 && e.stopPropagation(); + } + function rt(e, t, i) { + const n = !!t.match(/\n/); + i && n && i.selectionEnd < i.value.length && e.stopPropagation(); + } + class st extends G.$ { + constructor(e, t, i, n, o, a, l, c, d, h) { + super(), + (this._cachedHeight = null), + (this._codeEditor = e), + (this._controller = t), + (this._state = i), + (this._contextViewProvider = n), + (this._keybindingService = o), + (this._contextKeyService = a), + (this._storageService = c), + (this._notificationService = d), + h.registerStorageKey({ key: et, version: 1 }), + (this._ctrlEnterReplaceAllWarningPrompted = !!c.getBoolean( + et, + 0 + )), + (this._isVisible = !1), + (this._isReplaceVisible = !1), + (this._ignoreChangeEvent = !1), + (this._updateHistoryDelayer = new r.vp(500)), + this._register( + (0, s.OF)(() => this._updateHistoryDelayer.cancel()) + ), + this._register( + this._state.onFindReplaceStateChange((e) => + this._onStateChanged(e) + ) + ), + this._buildDomNode(), + this._updateButtons(), + this._tryUpdateWidgetWidth(), + this._findInput.inputBox.layout(), + this._register( + this._codeEditor.onDidChangeConfiguration((e) => { + if ( + (e.hasChanged(72) && + (this._codeEditor.getOption(72) && + this._state.change({ isReplaceRevealed: !1 }, !1), + this._updateButtons()), + e.hasChanged(117) && this._tryUpdateWidgetWidth(), + e.hasChanged(2) && this.updateAccessibilitySupport(), + e.hasChanged(29)) + ) { + const e = this._codeEditor.getOption(29).addExtraSpaceOnTop; + e && + !this._viewZone && + ((this._viewZone = new it(0)), this._showViewZone()), + !e && this._viewZone && this._removeViewZone(); + } + }) + ), + this.updateAccessibilitySupport(), + this._register( + this._codeEditor.onDidChangeCursorSelection(() => { + this._isVisible && this._updateToggleSelectionFindButton(); + }) + ), + this._register( + this._codeEditor.onDidFocusEditorWidget(() => { + return ( + (e = this), + (t = void 0), + (n = function* () { + if (this._isVisible) { + let e = yield this._controller.getGlobalBufferTerm(); + e && + e !== this._state.searchString && + (this._state.change({ searchString: e }, !0), + this._findInput.select()); + } + }), + new ((i = void 0) || (i = Promise))(function (r, s) { + function o(e) { + try { + l(n.next(e)); + } catch (e) { + s(e); + } + } + function a(e) { + try { + l(n.throw(e)); + } catch (e) { + s(e); + } + } + function l(e) { + var t; + e.done + ? r(e.value) + : ((t = e.value), + t instanceof i + ? t + : new i(function (e) { + e(t); + })).then(o, a); + } + l((n = n.apply(e, t || [])).next()); + }) + ); + var e, t, i, n; + }) + ), + (this._findInputFocused = T.bindTo(a)), + (this._findFocusTracker = this._register( + q.go(this._findInput.inputBox.inputElement) + )), + this._register( + this._findFocusTracker.onDidFocus(() => { + this._findInputFocused.set(!0), this._updateSearchScope(); + }) + ), + this._register( + this._findFocusTracker.onDidBlur(() => { + this._findInputFocused.set(!1); + }) + ), + (this._replaceInputFocused = I.bindTo(a)), + (this._replaceFocusTracker = this._register( + q.go(this._replaceInput.inputBox.inputElement) + )), + this._register( + this._replaceFocusTracker.onDidFocus(() => { + this._replaceInputFocused.set(!0), this._updateSearchScope(); + }) + ), + this._register( + this._replaceFocusTracker.onDidBlur(() => { + this._replaceInputFocused.set(!1); + }) + ), + this._codeEditor.addOverlayWidget(this), + this._codeEditor.getOption(29).addExtraSpaceOnTop && + (this._viewZone = new it(0)), + this._applyTheme(l.getColorTheme()), + this._register( + l.onDidColorThemeChange(this._applyTheme.bind(this)) + ), + this._register( + this._codeEditor.onDidChangeModel(() => { + this._isVisible && (this._viewZoneId = void 0); + }) + ), + this._register( + this._codeEditor.onDidScrollChange((e) => { + e.scrollTopChanged + ? this._layoutViewZone() + : setTimeout(() => { + this._layoutViewZone(); + }, 0); + }) + ); + } + getId() { + return st.ID; + } + getDomNode() { + return this._domNode; + } + getPosition() { + return this._isVisible ? { preference: 0 } : null; + } + _onStateChanged(e) { + if (e.searchString) { + try { + (this._ignoreChangeEvent = !0), + this._findInput.setValue(this._state.searchString); + } finally { + this._ignoreChangeEvent = !1; + } + this._updateButtons(); + } + if ( + (e.replaceString && + (this._replaceInput.inputBox.value = this._state.replaceString), + e.isRevealed && + (this._state.isRevealed ? this._reveal() : this._hide(!0)), + e.isReplaceRevealed && + (this._state.isReplaceRevealed + ? this._codeEditor.getOption(72) || + this._isReplaceVisible || + ((this._isReplaceVisible = !0), + (this._replaceInput.width = q.w(this._findInput.domNode)), + this._updateButtons(), + this._replaceInput.inputBox.layout()) + : this._isReplaceVisible && + ((this._isReplaceVisible = !1), this._updateButtons())), + (e.isRevealed || e.isReplaceRevealed) && + (this._state.isRevealed || this._state.isReplaceRevealed) && + this._tryUpdateHeight() && + this._showViewZone(), + e.isRegex && this._findInput.setRegex(this._state.isRegex), + e.wholeWord && + this._findInput.setWholeWords(this._state.wholeWord), + e.matchCase && + this._findInput.setCaseSensitive(this._state.matchCase), + e.searchScope && + (this._state.searchScope + ? (this._toggleSelectionFind.checked = !0) + : (this._toggleSelectionFind.checked = !1), + this._updateToggleSelectionFindButton()), + e.searchString || e.matchesCount || e.matchesPosition) + ) { + let e = + this._state.searchString.length > 0 && + 0 === this._state.matchesCount; + q.og(this._domNode, 'no-results', e), + this._updateMatchesCount(), + this._updateButtons(); + } + (e.searchString || e.currentMatch) && this._layoutViewZone(), + e.updateHistory && this._delayedUpdateHistory(), + e.loop && this._updateButtons(); + } + _delayedUpdateHistory() { + this._updateHistoryDelayer.trigger(this._updateHistory.bind(this)); + } + _updateHistory() { + this._state.searchString && this._findInput.inputBox.addToHistory(), + this._state.replaceString && + this._replaceInput.inputBox.addToHistory(); + } + _updateMatchesCount() { + let e; + if ( + ((this._matchesCount.style.minWidth = Xe + 'px'), + this._state.matchesCount >= $ + ? (this._matchesCount.title = Ge) + : (this._matchesCount.title = ''), + this._matchesCount.firstChild && + this._matchesCount.removeChild(this._matchesCount.firstChild), + this._state.matchesCount > 0) + ) { + let t = String(this._state.matchesCount); + this._state.matchesCount >= $ && (t += '+'); + let i = String(this._state.matchesPosition); + '0' === i && (i = '?'), (e = o.WU(Ze, i, t)); + } else e = Je; + this._matchesCount.appendChild(document.createTextNode(e)), + (0, de.Z9)( + this._getAriaLabel( + e, + this._state.currentMatch, + this._state.searchString + ) + ), + (Xe = Math.max(Xe, this._matchesCount.clientWidth)); + } + _getAriaLabel(e, t, i) { + if (e === Je) + return '' === i + ? n.N('ariaSearchNoResultEmpty', '{0} found', e) + : n.N('ariaSearchNoResult', "{0} found for '{1}'", e, i); + if (t) { + const r = n.N( + 'ariaSearchNoResultWithLineNum', + "{0} found for '{1}', at {2}", + e, + i, + t.startLineNumber + ':' + t.startColumn + ), + s = this._codeEditor.getModel(); + return s && + t.startLineNumber <= s.getLineCount() && + t.startLineNumber >= 1 + ? `${s.getLineContent(t.startLineNumber)}, ${r}` + : r; + } + return n.N( + 'ariaSearchNoResultWithLineNumNoCurrentMatch', + "{0} found for '{1}'", + e, + i + ); + } + _updateToggleSelectionFindButton() { + let e = this._codeEditor.getSelection(), + t = + !!e && + (e.startLineNumber !== e.endLineNumber || + e.startColumn !== e.endColumn), + i = this._toggleSelectionFind.checked; + this._isVisible && (i || t) + ? this._toggleSelectionFind.enable() + : this._toggleSelectionFind.disable(); + } + _updateButtons() { + this._findInput.setEnabled(this._isVisible), + this._replaceInput.setEnabled( + this._isVisible && this._isReplaceVisible + ), + this._updateToggleSelectionFindButton(), + this._closeBtn.setEnabled(this._isVisible); + let e = this._state.searchString.length > 0, + t = !!this._state.matchesCount; + this._prevBtn.setEnabled( + this._isVisible && e && t && this._state.canNavigateBack() + ), + this._nextBtn.setEnabled( + this._isVisible && e && t && this._state.canNavigateForward() + ), + this._replaceBtn.setEnabled( + this._isVisible && this._isReplaceVisible && e + ), + this._replaceAllBtn.setEnabled( + this._isVisible && this._isReplaceVisible && e + ), + q.og(this._domNode, 'replaceToggled', this._isReplaceVisible), + this._toggleReplaceBtn.setExpanded(this._isReplaceVisible); + let i = !this._codeEditor.getOption(72); + this._toggleReplaceBtn.setEnabled(this._isVisible && i); + } + _reveal() { + if (!this._isVisible) { + this._isVisible = !0; + const e = this._codeEditor.getSelection(); + switch (this._codeEditor.getOption(29).autoFindInSelection) { + case 'always': + this._toggleSelectionFind.checked = !0; + break; + case 'never': + this._toggleSelectionFind.checked = !1; + break; + case 'multiline': + const t = !!e && e.startLineNumber !== e.endLineNumber; + this._toggleSelectionFind.checked = t; + } + this._tryUpdateWidgetWidth(), + this._updateButtons(), + setTimeout(() => { + q.cn(this._domNode, 'visible'), + this._domNode.setAttribute('aria-hidden', 'false'); + }, 0), + setTimeout(() => { + this._findInput.validate(); + }, 200), + this._codeEditor.layoutOverlayWidget(this); + let t = !0; + if ( + this._codeEditor.getOption(29).seedSearchStringFromSelection && + e + ) { + const i = this._codeEditor.getDomNode(); + if (i) { + const n = q.i(i), + r = this._codeEditor.getScrolledVisiblePosition( + e.getStartPosition() + ), + s = n.left + (r ? r.left : 0), + o = r ? r.top : 0; + if (this._viewZone && o < this._viewZone.heightInPx) { + e.endLineNumber > e.startLineNumber && (t = !1); + const i = q.xQ(this._domNode).left; + s > i && (t = !1); + const r = this._codeEditor.getScrolledVisiblePosition( + e.getEndPosition() + ); + n.left + (r ? r.left : 0) > i && (t = !1); + } + } + } + this._showViewZone(t); + } + } + _hide(e) { + this._isVisible && + ((this._isVisible = !1), + this._updateButtons(), + q.IV(this._domNode, 'visible'), + this._domNode.setAttribute('aria-hidden', 'true'), + this._findInput.clearMessage(), + e && this._codeEditor.focus(), + this._codeEditor.layoutOverlayWidget(this), + this._removeViewZone()); + } + _layoutViewZone() { + if (!this._codeEditor.getOption(29).addExtraSpaceOnTop) + return void this._removeViewZone(); + if (!this._isVisible) return; + const e = this._viewZone; + void 0 === this._viewZoneId && + e && + this._codeEditor.changeViewZones((t) => { + (e.heightInPx = this._getHeight()), + (this._viewZoneId = t.addZone(e)), + this._codeEditor.setScrollTop( + this._codeEditor.getScrollTop() + e.heightInPx + ); + }); + } + _showViewZone(e = !0) { + if (!this._isVisible) return; + if (!this._codeEditor.getOption(29).addExtraSpaceOnTop) return; + void 0 === this._viewZone && (this._viewZone = new it(0)); + const t = this._viewZone; + this._codeEditor.changeViewZones((i) => { + if (void 0 !== this._viewZoneId) { + const n = this._getHeight(); + if (n === t.heightInPx) return; + let r = n - t.heightInPx; + return ( + (t.heightInPx = n), + i.layoutZone(this._viewZoneId), + void ( + e && + this._codeEditor.setScrollTop( + this._codeEditor.getScrollTop() + r + ) + ) + ); + } + { + let n = this._getHeight(); + if (((n -= this._codeEditor.getOption(66).top), n <= 0)) return; + (t.heightInPx = n), + (this._viewZoneId = i.addZone(t)), + e && + this._codeEditor.setScrollTop( + this._codeEditor.getScrollTop() + n + ); + } + }); + } + _removeViewZone() { + this._codeEditor.changeViewZones((e) => { + void 0 !== this._viewZoneId && + (e.removeZone(this._viewZoneId), + (this._viewZoneId = void 0), + this._viewZone && + (this._codeEditor.setScrollTop( + this._codeEditor.getScrollTop() - this._viewZone.heightInPx + ), + (this._viewZone = void 0))); + }); + } + _applyTheme(e) { + let t = { + inputActiveOptionBorder: e.getColor(m.PR), + inputActiveOptionBackground: e.getColor(m.XE), + inputActiveOptionForeground: e.getColor(m.Pv), + inputBackground: e.getColor(m.sE), + inputForeground: e.getColor(m.zJ), + inputBorder: e.getColor(m.dt), + inputValidationInfoBackground: e.getColor(m._l), + inputValidationInfoForeground: e.getColor(m.YI), + inputValidationInfoBorder: e.getColor(m.EP), + inputValidationWarningBackground: e.getColor(m.RV), + inputValidationWarningForeground: e.getColor(m.SU), + inputValidationWarningBorder: e.getColor(m.C3), + inputValidationErrorBackground: e.getColor(m.p), + inputValidationErrorForeground: e.getColor(m._t), + inputValidationErrorBorder: e.getColor(m.OZ), + }; + this._findInput.style(t), + this._replaceInput.style(t), + this._toggleSelectionFind.style(t); + } + _tryUpdateWidgetWidth() { + if (!this._isVisible) return; + if (!q.Uw(this._domNode)) return; + const e = this._codeEditor.getLayoutInfo(); + if (e.contentWidth <= 0) + return void q.cn(this._domNode, 'hiddenEditor'); + q.pv(this._domNode, 'hiddenEditor') && + q.IV(this._domNode, 'hiddenEditor'); + const t = e.width, + i = e.minimap.minimapWidth; + let n = !1, + r = !1, + s = !1; + if (this._resized && q.w(this._domNode) > Qe) + return ( + (this._domNode.style.maxWidth = t - 28 - i - 15 + 'px'), + void (this._replaceInput.width = q.w(this._findInput.domNode)) + ); + if ( + (447 + i >= t && (r = !0), + 447 + i - Xe >= t && (s = !0), + 447 + i - Xe >= t + 50 && (n = !0), + q.og(this._domNode, 'collapsed-find-widget', n), + q.og(this._domNode, 'narrow-find-widget', s), + q.og(this._domNode, 'reduced-find-widget', r), + s || n || (this._domNode.style.maxWidth = t - 28 - i - 15 + 'px'), + this._resized) + ) { + this._findInput.inputBox.layout(); + let e = this._findInput.inputBox.element.clientWidth; + e > 0 && (this._replaceInput.width = e); + } else + this._isReplaceVisible && + (this._replaceInput.width = q.w(this._findInput.domNode)); + } + _getHeight() { + let e = 0; + return ( + (e += 4), + (e += this._findInput.inputBox.height + 2), + this._isReplaceVisible && + ((e += 4), (e += this._replaceInput.inputBox.height + 2)), + (e += 4), + e + ); + } + _tryUpdateHeight() { + const e = this._getHeight(); + return ( + (null === this._cachedHeight || this._cachedHeight !== e) && + ((this._cachedHeight = e), + (this._domNode.style.height = `${e}px`), + !0) + ); + } + focusFindInput() { + this._findInput.select(), this._findInput.focus(); + } + focusReplaceInput() { + this._replaceInput.select(), this._replaceInput.focus(); + } + highlightFindOptions() { + this._findInput.highlightFindOptions(); + } + _updateSearchScope() { + if ( + this._codeEditor.hasModel() && + this._toggleSelectionFind.checked + ) { + let e = this._codeEditor.getSelections(); + e + .map((e) => { + 1 === e.endColumn && + e.endLineNumber > e.startLineNumber && + (e = e.setEndPosition( + e.endLineNumber - 1, + this._codeEditor + .getModel() + .getLineMaxColumn(e.endLineNumber - 1) + )); + const t = this._state.currentMatch; + return e.startLineNumber === e.endLineNumber || + h.e.equalsRange(e, t) + ? null + : e; + }) + .filter((e) => !!e), + e.length && this._state.change({ searchScope: e }, !0); + } + } + _onFindInputMouseDown(e) { + e.middleButton && e.stopPropagation(); + } + _onFindInputKeyDown(e) { + return e.equals(3 | tt) + ? (this._findInput.inputBox.insertAtCursor('\n'), + void e.preventDefault()) + : e.equals(2) + ? (this._isReplaceVisible + ? this._replaceInput.focus() + : this._findInput.focusOnCaseSensitive(), + void e.preventDefault()) + : e.equals(2066) + ? (this._codeEditor.focus(), void e.preventDefault()) + : e.equals(16) + ? nt( + e, + this._findInput.getValue(), + this._findInput.domNode.querySelector('textarea') + ) + : e.equals(18) + ? rt( + e, + this._findInput.getValue(), + this._findInput.domNode.querySelector('textarea') + ) + : void 0; + } + _onReplaceInputKeyDown(e) { + return e.equals(3 | tt) + ? (ge.ED && + ge.tY && + !this._ctrlEnterReplaceAllWarningPrompted && + (this._notificationService.info( + n.N( + 'ctrlEnter.keybindingChanged', + 'Ctrl+Enter now inserts line break instead of replacing all. You can modify the keybinding for editor.action.replaceAll to override this behavior.' + ) + ), + (this._ctrlEnterReplaceAllWarningPrompted = !0), + this._storageService.store(et, !0, 0)), + this._replaceInput.inputBox.insertAtCursor('\n'), + void e.preventDefault()) + : e.equals(2) + ? (this._findInput.focusOnCaseSensitive(), + void e.preventDefault()) + : e.equals(1026) + ? (this._findInput.focus(), void e.preventDefault()) + : e.equals(2066) + ? (this._codeEditor.focus(), void e.preventDefault()) + : e.equals(16) + ? nt( + e, + this._replaceInput.inputBox.value, + this._replaceInput.inputBox.element.querySelector('textarea') + ) + : e.equals(18) + ? rt( + e, + this._replaceInput.inputBox.value, + this._replaceInput.inputBox.element.querySelector('textarea') + ) + : void 0; + } + getVerticalSashLeft(e) { + return 0; + } + _keybindingLabelFor(e) { + let t = this._keybindingService.lookupKeybinding(e); + return t ? ` (${t.getLabel()})` : ''; + } + _buildDomNode() { + (this._findInput = this._register( + new De( + null, + this._contextViewProvider, + { + width: 221, + label: Be, + placeholder: We, + appendCaseSensitiveLabel: this._keybindingLabelFor(Y), + appendWholeWordsLabel: this._keybindingLabelFor(H), + appendRegexLabel: this._keybindingLabelFor(j), + validation: (e) => { + if (0 === e.length || !this._findInput.getRegex()) + return null; + try { + return new RegExp(e, 'gu'), null; + } catch (e) { + return { content: e.message }; + } + }, + flexibleHeight: !0, + flexibleWidth: !0, + flexibleMaxHeight: 118, + }, + this._contextKeyService, + !0 + ) + )), + this._findInput.setRegex(!!this._state.isRegex), + this._findInput.setCaseSensitive(!!this._state.matchCase), + this._findInput.setWholeWords(!!this._state.wholeWord), + this._register( + this._findInput.onKeyDown((e) => this._onFindInputKeyDown(e)) + ), + this._register( + this._findInput.inputBox.onDidChange(() => { + this._ignoreChangeEvent || + this._state.change( + { searchString: this._findInput.getValue() }, + !0 + ); + }) + ), + this._register( + this._findInput.onDidOptionChange(() => { + this._state.change( + { + isRegex: this._findInput.getRegex(), + wholeWord: this._findInput.getWholeWords(), + matchCase: this._findInput.getCaseSensitive(), + }, + !0 + ); + }) + ), + this._register( + this._findInput.onCaseSensitiveKeyDown((e) => { + e.equals(1026) && + this._isReplaceVisible && + (this._replaceInput.focus(), e.preventDefault()); + }) + ), + this._register( + this._findInput.onRegexKeyDown((e) => { + e.equals(2) && + this._isReplaceVisible && + (this._replaceInput.focusOnPreserve(), e.preventDefault()); + }) + ), + this._register( + this._findInput.inputBox.onDidHeightChange((e) => { + this._tryUpdateHeight() && this._showViewZone(); + }) + ), + ge.IJ && + this._register( + this._findInput.onMouseDown((e) => + this._onFindInputMouseDown(e) + ) + ), + (this._matchesCount = document.createElement('div')), + (this._matchesCount.className = 'matchesCount'), + this._updateMatchesCount(), + (this._prevBtn = this._register( + new ot({ + label: Ye + this._keybindingLabelFor(B), + className: Pe.classNames, + onTrigger: () => { + this._codeEditor + .getAction(B) + .run() + .then(void 0, ue.dL); + }, + }) + )), + (this._nextBtn = this._register( + new ot({ + label: He + this._keybindingLabelFor(F), + className: Fe.classNames, + onTrigger: () => { + this._codeEditor + .getAction(F) + .run() + .then(void 0, ue.dL); + }, + }) + )); + let e = document.createElement('div'); + (e.className = 'find-part'), e.appendChild(this._findInput.domNode); + const t = document.createElement('div'); + (t.className = 'find-actions'), + e.appendChild(t), + t.appendChild(this._matchesCount), + t.appendChild(this._prevBtn.domNode), + t.appendChild(this._nextBtn.domNode), + (this._toggleSelectionFind = this._register( + new X({ + icon: Ee, + title: je + this._keybindingLabelFor(V), + isChecked: !1, + }) + )), + this._register( + this._toggleSelectionFind.onChange(() => { + if (this._toggleSelectionFind.checked) { + if (this._codeEditor.hasModel()) { + let e = this._codeEditor.getSelections(); + e + .map( + (e) => ( + 1 === e.endColumn && + e.endLineNumber > e.startLineNumber && + (e = e.setEndPosition( + e.endLineNumber - 1, + this._codeEditor + .getModel() + .getLineMaxColumn(e.endLineNumber - 1) + )), + e.isEmpty() ? null : e + ) + ) + .filter((e) => !!e), + e.length && this._state.change({ searchScope: e }, !0); + } + } else this._state.change({ searchScope: null }, !0); + }) + ), + t.appendChild(this._toggleSelectionFind.domNode), + (this._closeBtn = this._register( + new ot({ + label: Ve + this._keybindingLabelFor(W), + className: Oe.classNames, + onTrigger: () => { + this._state.change( + { isRevealed: !1, searchScope: null }, + !1 + ); + }, + onKeyDown: (e) => { + e.equals(2) && + this._isReplaceVisible && + (this._replaceBtn.isEnabled() + ? this._replaceBtn.focus() + : this._codeEditor.focus(), + e.preventDefault()); + }, + }) + )), + t.appendChild(this._closeBtn.domNode), + (this._replaceInput = this._register( + new Ne( + null, + void 0, + { + label: ze, + placeholder: Ue, + history: [], + flexibleHeight: !0, + flexibleWidth: !0, + flexibleMaxHeight: 118, + }, + this._contextKeyService, + !0 + ) + )), + this._replaceInput.setPreserveCase(!!this._state.preserveCase), + this._register( + this._replaceInput.onKeyDown((e) => + this._onReplaceInputKeyDown(e) + ) + ), + this._register( + this._replaceInput.inputBox.onDidChange(() => { + this._state.change( + { replaceString: this._replaceInput.inputBox.value }, + !1 + ); + }) + ), + this._register( + this._replaceInput.inputBox.onDidHeightChange((e) => { + this._isReplaceVisible && + this._tryUpdateHeight() && + this._showViewZone(); + }) + ), + this._register( + this._replaceInput.onDidOptionChange(() => { + this._state.change( + { preserveCase: this._replaceInput.getPreserveCase() }, + !0 + ); + }) + ), + this._register( + this._replaceInput.onPreserveCaseKeyDown((e) => { + e.equals(2) && + (this._prevBtn.isEnabled() + ? this._prevBtn.focus() + : this._nextBtn.isEnabled() + ? this._nextBtn.focus() + : this._toggleSelectionFind.enabled + ? this._toggleSelectionFind.focus() + : this._closeBtn.isEnabled() && this._closeBtn.focus(), + e.preventDefault()); + }) + ), + (this._replaceBtn = this._register( + new ot({ + label: $e + this._keybindingLabelFor(z), + className: Ae.classNames, + onTrigger: () => { + this._controller.replace(); + }, + onKeyDown: (e) => { + e.equals(1026) && + (this._closeBtn.focus(), e.preventDefault()); + }, + }) + )), + (this._replaceAllBtn = this._register( + new ot({ + label: Ke + this._keybindingLabelFor(U), + className: Re.classNames, + onTrigger: () => { + this._controller.replaceAll(); + }, + }) + )); + let i = document.createElement('div'); + (i.className = 'replace-part'), + i.appendChild(this._replaceInput.domNode); + const n = document.createElement('div'); + (n.className = 'replace-actions'), + i.appendChild(n), + n.appendChild(this._replaceBtn.domNode), + n.appendChild(this._replaceAllBtn.domNode), + (this._toggleReplaceBtn = this._register( + new ot({ + label: qe, + className: 'codicon toggle left', + onTrigger: () => { + this._state.change( + { isReplaceRevealed: !this._isReplaceVisible }, + !1 + ), + this._isReplaceVisible && + ((this._replaceInput.width = q.w( + this._findInput.domNode + )), + this._replaceInput.inputBox.layout()), + this._showViewZone(); + }, + }) + )), + this._toggleReplaceBtn.setExpanded(this._isReplaceVisible), + (this._domNode = document.createElement('div')), + (this._domNode.className = 'editor-widget find-widget'), + this._domNode.setAttribute('aria-hidden', 'true'), + (this._domNode.style.width = '419px'), + this._domNode.appendChild(this._toggleReplaceBtn.domNode), + this._domNode.appendChild(e), + this._domNode.appendChild(i), + (this._resizeSash = new he.g(this._domNode, this, { + orientation: 0, + size: 2, + })), + (this._resized = !1); + let r = Qe; + this._register( + this._resizeSash.onDidStart(() => { + r = q.w(this._domNode); + }) + ), + this._register( + this._resizeSash.onDidChange((e) => { + this._resized = !0; + let t = r + e.startX - e.currentX; + t < Qe || + t > (parseFloat(q.Dx(this._domNode).maxWidth) || 0) || + ((this._domNode.style.width = `${t}px`), + this._isReplaceVisible && + (this._replaceInput.width = q.w(this._findInput.domNode)), + this._findInput.inputBox.layout(), + this._tryUpdateHeight()); + }) + ), + this._register( + this._resizeSash.onDidReset(() => { + const e = q.w(this._domNode); + if (e < Qe) return; + let t = Qe; + if (!this._resized || e === Qe) { + const e = this._codeEditor.getLayoutInfo(); + (t = e.width - 28 - e.minimap.minimapWidth - 15), + (this._resized = !0); + } + (this._domNode.style.width = `${t}px`), + this._isReplaceVisible && + (this._replaceInput.width = q.w(this._findInput.domNode)), + this._findInput.inputBox.layout(); + }) + ); + } + updateAccessibilitySupport() { + const e = this._codeEditor.getOption(2); + this._findInput.setFocusInputOnOptionClick(2 !== e); + } + } + st.ID = 'editor.contrib.findWidget'; + class ot extends G.$ { + constructor(e) { + super(), + (this._opts = e), + (this._domNode = document.createElement('div')), + (this._domNode.title = this._opts.label), + (this._domNode.tabIndex = 0), + (this._domNode.className = 'button ' + this._opts.className), + this._domNode.setAttribute('role', 'button'), + this._domNode.setAttribute('aria-label', this._opts.label), + this.onclick(this._domNode, (e) => { + this._opts.onTrigger(), e.preventDefault(); + }), + this.onkeydown(this._domNode, (e) => { + if (e.equals(10) || e.equals(3)) + return this._opts.onTrigger(), void e.preventDefault(); + this._opts.onKeyDown && this._opts.onKeyDown(e); + }); + } + get domNode() { + return this._domNode; + } + isEnabled() { + return this._domNode.tabIndex >= 0; + } + focus() { + this._domNode.focus(); + } + setEnabled(e) { + q.og(this._domNode, 'disabled', !e), + this._domNode.setAttribute('aria-disabled', String(!e)), + (this._domNode.tabIndex = e ? 0 : -1); + } + setExpanded(e) { + this._domNode.setAttribute('aria-expanded', String(!!e)), + e + ? (q.GK(this._domNode, Te.classNames), + q.PT(this._domNode, Ie.classNames)) + : (q.GK(this._domNode, Ie.classNames), + q.PT(this._domNode, Te.classNames)); + } + } + (0, _.Ic)((e, t) => { + const i = (e, i) => { + i && t.addRule(`.monaco-editor ${e} { background-color: ${i}; }`); + }; + i('.findMatch', e.getColor(m.MU)), + i('.currentFindMatch', e.getColor(m.ny)), + i('.findScope', e.getColor(m.jU)), + i('.find-widget', e.getColor(m.D0)); + const n = e.getColor(m.rh); + n && + t.addRule( + `.monaco-editor .find-widget { box-shadow: 0 2px 8px ${n}; }` + ); + const r = e.getColor(m.Ei); + r && + t.addRule( + `.monaco-editor .findMatch { border: 1px ${ + 'hc' === e.type ? 'dotted' : 'solid' + } ${r}; box-sizing: border-box; }` + ); + const s = e.getColor(m.pn); + s && + t.addRule( + `.monaco-editor .currentFindMatch { border: 2px solid ${s}; padding: 1px; box-sizing: border-box; }` + ); + const o = e.getColor(m.gk); + o && + t.addRule( + `.monaco-editor .findScope { border: 1px ${ + 'hc' === e.type ? 'dashed' : 'solid' + } ${o}; }` + ); + const a = e.getColor(m.lR); + a && + t.addRule( + `.monaco-editor .find-widget { border: 1px solid ${a}; }` + ); + const l = e.getColor(m.Hf); + l && t.addRule(`.monaco-editor .find-widget { color: ${l}; }`); + const c = e.getColor(m.Id); + c && + t.addRule( + `.monaco-editor .find-widget.no-results .matchesCount { color: ${c}; }` + ); + const d = e.getColor(m.Ng); + if (d) + t.addRule( + `.monaco-editor .find-widget .monaco-sash { background-color: ${d}; }` + ); + else { + const i = e.getColor(m.D1); + i && + t.addRule( + `.monaco-editor .find-widget .monaco-sash { background-color: ${i}; }` + ); + } + const h = e.getColor(m.R8); + h && + t.addRule( + `.monaco-editor .find-widget .monaco-inputbox.synthetic-focus { outline-color: ${h}; }` + ); + }); + var at = i(84144), + lt = i(84972), + ct = i(5606), + dt = i(91847), + ht = i(52365), + ut = i(59422), + gt = i(37280), + ft = function (e, t, i, n) { + var r, + s = arguments.length, + o = + s < 3 + ? t + : null === n + ? (n = Object.getOwnPropertyDescriptor(t, i)) + : n; + if ( + 'object' == typeof Reflect && + 'function' == typeof Reflect.decorate + ) + o = Reflect.decorate(e, t, i, n); + else + for (var a = e.length - 1; a >= 0; a--) + (r = e[a]) && + (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); + return s > 3 && o && Object.defineProperty(t, i, o), o; + }, + pt = function (e, t) { + return function (i, n) { + t(i, n, e); + }; + }, + mt = function (e, t, i, n) { + return new (i || (i = Promise))(function (r, s) { + function o(e) { + try { + l(n.next(e)); + } catch (e) { + s(e); + } + } + function a(e) { + try { + l(n.throw(e)); + } catch (e) { + s(e); + } + } + function l(e) { + var t; + e.done + ? r(e.value) + : ((t = e.value), + t instanceof i + ? t + : new i(function (e) { + e(t); + })).then(o, a); + } + l((n = n.apply(e, t || [])).next()); + }); + }; + function _t(e) { + if (!e.hasModel()) return null; + const t = e.getSelection(); + if (t.startLineNumber === t.endLineNumber) + if (t.isEmpty()) { + const i = e.getConfiguredWordAtPosition(t.getStartPosition()); + if (i) return i.word; + } else if (e.getModel().getValueLengthInRange(t) < 524288) + return e.getModel().getValueInRange(t); + return null; + } + let bt = class e extends s.JT { + constructor(e, t, i, n) { + super(), + (this._editor = e), + (this._findWidgetVisible = E.bindTo(t)), + (this._contextKeyService = t), + (this._storageService = i), + (this._clipboardService = n), + (this._updateHistoryDelayer = new r.vp(500)), + (this._state = this._register(new ce())), + this.loadQueryState(), + this._register( + this._state.onFindReplaceStateChange((e) => + this._onStateChanged(e) + ) + ), + (this._model = null), + this._register( + this._editor.onDidChangeModel(() => { + let e = this._editor.getModel() && this._state.isRevealed; + this.disposeModel(), + this._state.change( + { + searchScope: null, + matchCase: this._storageService.getBoolean( + 'editor.matchCase', + 1, + !1 + ), + wholeWord: this._storageService.getBoolean( + 'editor.wholeWord', + 1, + !1 + ), + isRegex: this._storageService.getBoolean( + 'editor.isRegex', + 1, + !1 + ), + preserveCase: this._storageService.getBoolean( + 'editor.preserveCase', + 1, + !1 + ), + }, + !1 + ), + e && + this._start({ + forceRevealReplace: !1, + seedSearchStringFromSelection: !1, + seedSearchStringFromGlobalClipboard: !1, + shouldFocus: 0, + shouldAnimate: !1, + updateSearchScope: !1, + loop: this._editor.getOption(29).loop, + }); + }) + ); + } + static get(t) { + return t.getContribution(e.ID); + } + dispose() { + this.disposeModel(), super.dispose(); + } + disposeModel() { + this._model && (this._model.dispose(), (this._model = null)); + } + _onStateChanged(e) { + this.saveQueryState(e), + e.isRevealed && + (this._state.isRevealed + ? this._findWidgetVisible.set(!0) + : (this._findWidgetVisible.reset(), this.disposeModel())), + e.searchString && + this.setGlobalBufferTerm(this._state.searchString); + } + saveQueryState(e) { + e.isRegex && + this._storageService.store( + 'editor.isRegex', + this._state.actualIsRegex, + 1 + ), + e.wholeWord && + this._storageService.store( + 'editor.wholeWord', + this._state.actualWholeWord, + 1 + ), + e.matchCase && + this._storageService.store( + 'editor.matchCase', + this._state.actualMatchCase, + 1 + ), + e.preserveCase && + this._storageService.store( + 'editor.preserveCase', + this._state.actualPreserveCase, + 1 + ); + } + loadQueryState() { + this._state.change( + { + matchCase: this._storageService.getBoolean( + 'editor.matchCase', + 1, + this._state.matchCase + ), + wholeWord: this._storageService.getBoolean( + 'editor.wholeWord', + 1, + this._state.wholeWord + ), + isRegex: this._storageService.getBoolean( + 'editor.isRegex', + 1, + this._state.isRegex + ), + preserveCase: this._storageService.getBoolean( + 'editor.preserveCase', + 1, + this._state.preserveCase + ), + }, + !1 + ); + } + isFindInputFocused() { + return !!T.getValue(this._contextKeyService); + } + getState() { + return this._state; + } + closeFindWidget() { + this._state.change({ isRevealed: !1, searchScope: null }, !1), + this._editor.focus(); + } + toggleCaseSensitive() { + this._state.change({ matchCase: !this._state.matchCase }, !1), + this._state.isRevealed || this.highlightFindOptions(); + } + toggleWholeWords() { + this._state.change({ wholeWord: !this._state.wholeWord }, !1), + this._state.isRevealed || this.highlightFindOptions(); + } + toggleRegex() { + this._state.change({ isRegex: !this._state.isRegex }, !1), + this._state.isRevealed || this.highlightFindOptions(); + } + toggleSearchScope() { + if (this._state.searchScope) + this._state.change({ searchScope: null }, !0); + else if (this._editor.hasModel()) { + let e = this._editor.getSelections(); + e + .map( + (e) => ( + 1 === e.endColumn && + e.endLineNumber > e.startLineNumber && + (e = e.setEndPosition( + e.endLineNumber - 1, + this._editor + .getModel() + .getLineMaxColumn(e.endLineNumber - 1) + )), + e.isEmpty() ? null : e + ) + ) + .filter((e) => !!e), + e.length && this._state.change({ searchScope: e }, !0); + } + } + setSearchString(e) { + this._state.isRegex && (e = o.ec(e)), + this._state.change({ searchString: e }, !1); + } + highlightFindOptions() {} + _start(e) { + return mt(this, void 0, void 0, function* () { + if ((this.disposeModel(), !this._editor.hasModel())) return; + let t = { isRevealed: !0 }; + if (e.seedSearchStringFromSelection) { + let e = _t(this._editor); + e && + (this._state.isRegex + ? (t.searchString = o.ec(e)) + : (t.searchString = e)); + } + if (!t.searchString && e.seedSearchStringFromGlobalClipboard) { + let e = yield this.getGlobalBufferTerm(); + if (!this._editor.hasModel()) return; + e && (t.searchString = e); + } + if ( + (e.forceRevealReplace + ? (t.isReplaceRevealed = !0) + : this._findWidgetVisible.get() || (t.isReplaceRevealed = !1), + e.updateSearchScope) + ) { + let e = this._editor.getSelections(); + e.some((e) => !e.isEmpty()) && (t.searchScope = e); + } + (t.loop = e.loop), + this._state.change(t, !1), + this._model || (this._model = new K(this._editor, this._state)); + }); + } + start(e) { + return this._start(e); + } + moveToNextMatch() { + return !!this._model && (this._model.moveToNextMatch(), !0); + } + moveToPrevMatch() { + return !!this._model && (this._model.moveToPrevMatch(), !0); + } + replace() { + return !!this._model && (this._model.replace(), !0); + } + replaceAll() { + return !!this._model && (this._model.replaceAll(), !0); + } + selectAllMatches() { + return ( + !!this._model && + (this._model.selectAllMatches(), this._editor.focus(), !0) + ); + } + getGlobalBufferTerm() { + return mt(this, void 0, void 0, function* () { + return this._editor.getOption(29).globalFindClipboard && + this._editor.hasModel() && + !this._editor.getModel().isTooLargeForSyncing() + ? this._clipboardService.readFindText() + : ''; + }); + } + setGlobalBufferTerm(e) { + this._editor.getOption(29).globalFindClipboard && + this._editor.hasModel() && + !this._editor.getModel().isTooLargeForSyncing() && + this._clipboardService.writeFindText(e); + } + }; + (bt.ID = 'editor.contrib.findController'), + (bt = ft([pt(1, D.i6), pt(2, ht.Uy), pt(3, lt.p)], bt)); + let vt = class extends bt { + constructor(e, t, i, n, r, s, o, a, l) { + super(e, i, o, l), + (this._contextViewService = t), + (this._keybindingService = n), + (this._themeService = r), + (this._notificationService = s), + (this._storageKeysSyncRegistryService = a), + (this._widget = null), + (this._findOptionsWidget = null); + } + _start(e) { + const t = Object.create(null, { + _start: { get: () => super._start }, + }); + return mt(this, void 0, void 0, function* () { + this._widget || this._createFindWidget(); + const i = this._editor.getSelection(); + let n = !1; + switch (this._editor.getOption(29).autoFindInSelection) { + case 'always': + n = !0; + break; + case 'never': + n = !1; + break; + case 'multiline': + n = !!i && i.startLineNumber !== i.endLineNumber; + } + (e.updateSearchScope = n), + yield t._start.call(this, e), + this._widget && + (2 === e.shouldFocus + ? this._widget.focusReplaceInput() + : 1 === e.shouldFocus && this._widget.focusFindInput()); + }); + } + highlightFindOptions() { + this._widget || this._createFindWidget(), + this._state.isRevealed + ? this._widget.highlightFindOptions() + : this._findOptionsWidget.highlightFindOptions(); + } + _createFindWidget() { + (this._widget = this._register( + new st( + this._editor, + this, + this._state, + this._contextViewService, + this._keybindingService, + this._contextKeyService, + this._themeService, + this._storageService, + this._notificationService, + this._storageKeysSyncRegistryService + ) + )), + (this._findOptionsWidget = this._register( + new ae( + this._editor, + this._state, + this._keybindingService, + this._themeService + ) + )); + } + }; + vt = ft( + [ + pt(1, ct.u), + pt(2, D.i6), + pt(3, dt.d), + pt(4, _.XE), + pt(5, ut.lT), + pt(6, ht.Uy), + pt(7, gt.u), + pt(8, lt.p), + ], + vt + ); + class yt extends a.jY { + constructor() { + super({ + id: 'actions.find', + label: n.N('startFindAction', 'Find'), + alias: 'Find', + precondition: void 0, + kbOpts: { kbExpr: null, primary: 2084, weight: 100 }, + menuOpts: { + menuId: at.eH.MenubarEditMenu, + group: '3_find', + title: n.N( + { key: 'miFind', comment: ['&& denotes a mnemonic'] }, + '&&Find' + ), + order: 1, + }, + }); + } + run(e, t) { + return mt(this, void 0, void 0, function* () { + let e = bt.get(t); + e && + (yield e.start({ + forceRevealReplace: !1, + seedSearchStringFromSelection: t.getOption(29) + .seedSearchStringFromSelection, + seedSearchStringFromGlobalClipboard: t.getOption(29) + .globalFindClipboard, + shouldFocus: 1, + shouldAnimate: !0, + updateSearchScope: !1, + loop: t.getOption(29).loop, + })); + }); + } + } + class wt extends a.R6 { + constructor() { + super({ + id: 'actions.findWithSelection', + label: n.N('startFindWithSelectionAction', 'Find With Selection'), + alias: 'Find With Selection', + precondition: void 0, + kbOpts: { + kbExpr: null, + primary: 0, + mac: { primary: 2083 }, + weight: 100, + }, + }); + } + run(e, t) { + return mt(this, void 0, void 0, function* () { + let e = bt.get(t); + e && + (yield e.start({ + forceRevealReplace: !1, + seedSearchStringFromSelection: !0, + seedSearchStringFromGlobalClipboard: !1, + shouldFocus: 0, + shouldAnimate: !0, + updateSearchScope: !1, + loop: t.getOption(29).loop, + }), + e.setGlobalBufferTerm(e.getState().searchString)); + }); + } + } + class Ct extends a.R6 { + run(e, t) { + return mt(this, void 0, void 0, function* () { + let e = bt.get(t); + e && + !this._run(e) && + (yield e.start({ + forceRevealReplace: !1, + seedSearchStringFromSelection: + 0 === e.getState().searchString.length && + t.getOption(29).seedSearchStringFromSelection, + seedSearchStringFromGlobalClipboard: !0, + shouldFocus: 0, + shouldAnimate: !0, + updateSearchScope: !1, + loop: t.getOption(29).loop, + }), + this._run(e)); + }); + } + } + class St extends Ct { + constructor() { + super({ + id: F, + label: n.N('findNextMatchAction', 'Find Next'), + alias: 'Find Next', + precondition: void 0, + kbOpts: { + kbExpr: l.u.focus, + primary: 61, + mac: { primary: 2085, secondary: [61] }, + weight: 100, + }, + }); + } + _run(e) { + return e.moveToNextMatch(); + } + } + class kt extends Ct { + constructor() { + super({ + id: F, + label: n.N('findNextMatchAction', 'Find Next'), + alias: 'Find Next', + precondition: void 0, + kbOpts: { + kbExpr: D.Ao.and(l.u.focus, T), + primary: 3, + weight: 100, + }, + }); + } + _run(e) { + return e.moveToNextMatch(); + } + } + class xt extends Ct { + constructor() { + super({ + id: B, + label: n.N('findPreviousMatchAction', 'Find Previous'), + alias: 'Find Previous', + precondition: void 0, + kbOpts: { + kbExpr: l.u.focus, + primary: 1085, + mac: { primary: 3109, secondary: [1085] }, + weight: 100, + }, + }); + } + _run(e) { + return e.moveToPrevMatch(); + } + } + class Lt extends Ct { + constructor() { + super({ + id: B, + label: n.N('findPreviousMatchAction', 'Find Previous'), + alias: 'Find Previous', + precondition: void 0, + kbOpts: { + kbExpr: D.Ao.and(l.u.focus, T), + primary: 1027, + weight: 100, + }, + }); + } + _run(e) { + return e.moveToPrevMatch(); + } + } + class Mt extends a.R6 { + run(e, t) { + return mt(this, void 0, void 0, function* () { + let e = bt.get(t); + if (!e) return; + let i = _t(t); + i && e.setSearchString(i), + this._run(e) || + (yield e.start({ + forceRevealReplace: !1, + seedSearchStringFromSelection: t.getOption(29) + .seedSearchStringFromSelection, + seedSearchStringFromGlobalClipboard: !1, + shouldFocus: 0, + shouldAnimate: !0, + updateSearchScope: !1, + loop: t.getOption(29).loop, + }), + this._run(e)); + }); + } + } + class Dt extends Mt { + constructor() { + super({ + id: 'editor.action.nextSelectionMatchFindAction', + label: n.N('nextSelectionMatchFindAction', 'Find Next Selection'), + alias: 'Find Next Selection', + precondition: void 0, + kbOpts: { kbExpr: l.u.focus, primary: 2109, weight: 100 }, + }); + } + _run(e) { + return e.moveToNextMatch(); + } + } + class Nt extends Mt { + constructor() { + super({ + id: 'editor.action.previousSelectionMatchFindAction', + label: n.N( + 'previousSelectionMatchFindAction', + 'Find Previous Selection' + ), + alias: 'Find Previous Selection', + precondition: void 0, + kbOpts: { kbExpr: l.u.focus, primary: 3133, weight: 100 }, + }); + } + _run(e) { + return e.moveToPrevMatch(); + } + } + class Et extends a.jY { + constructor() { + super({ + id: 'editor.action.startFindReplaceAction', + label: n.N('startReplace', 'Replace'), + alias: 'Replace', + precondition: void 0, + kbOpts: { + kbExpr: null, + primary: 2086, + mac: { primary: 2596 }, + weight: 100, + }, + menuOpts: { + menuId: at.eH.MenubarEditMenu, + group: '3_find', + title: n.N( + { key: 'miReplace', comment: ['&& denotes a mnemonic'] }, + '&&Replace' + ), + order: 2, + }, + }); + } + run(e, t) { + return mt(this, void 0, void 0, function* () { + if (!t.hasModel() || t.getOption(72)) return; + let e = bt.get(t), + i = t.getSelection(), + n = e.isFindInputFocused(), + r = + !i.isEmpty() && + i.startLineNumber === i.endLineNumber && + t.getOption(29).seedSearchStringFromSelection && + !n, + s = n || r ? 2 : 1; + e && + (yield e.start({ + forceRevealReplace: !0, + seedSearchStringFromSelection: r, + seedSearchStringFromGlobalClipboard: t.getOption(29) + .seedSearchStringFromSelection, + shouldFocus: s, + shouldAnimate: !0, + updateSearchScope: !1, + loop: t.getOption(29).loop, + })); + }); + } + } + (0, a._K)(bt.ID, vt); + const Tt = new yt(); + (0, a.rn)(Tt), + (0, a.Qr)(wt), + (0, a.Qr)(St), + (0, a.Qr)(kt), + (0, a.Qr)(xt), + (0, a.Qr)(Lt), + (0, a.Qr)(Dt), + (0, a.Qr)(Nt); + const It = new Et(); + (0, a.rn)(It); + const Ot = a._l.bindToContribution(bt.get); + (0, a.fK)( + new Ot({ + id: W, + precondition: E, + handler: (e) => e.closeFindWidget(), + kbOpts: { + weight: 105, + kbExpr: l.u.focus, + primary: 9, + secondary: [1033], + }, + }) + ), + (0, a.fK)( + new Ot({ + id: Y, + precondition: void 0, + handler: (e) => e.toggleCaseSensitive(), + kbOpts: { + weight: 105, + kbExpr: l.u.focus, + primary: O.primary, + mac: O.mac, + win: O.win, + linux: O.linux, + }, + }) + ), + (0, a.fK)( + new Ot({ + id: H, + precondition: void 0, + handler: (e) => e.toggleWholeWords(), + kbOpts: { + weight: 105, + kbExpr: l.u.focus, + primary: A.primary, + mac: A.mac, + win: A.win, + linux: A.linux, + }, + }) + ), + (0, a.fK)( + new Ot({ + id: j, + precondition: void 0, + handler: (e) => e.toggleRegex(), + kbOpts: { + weight: 105, + kbExpr: l.u.focus, + primary: R.primary, + mac: R.mac, + win: R.win, + linux: R.linux, + }, + }) + ), + (0, a.fK)( + new Ot({ + id: V, + precondition: void 0, + handler: (e) => e.toggleSearchScope(), + kbOpts: { + weight: 105, + kbExpr: l.u.focus, + primary: P.primary, + mac: P.mac, + win: P.win, + linux: P.linux, + }, + }) + ), + (0, a.fK)( + new Ot({ + id: z, + precondition: E, + handler: (e) => e.replace(), + kbOpts: { weight: 105, kbExpr: l.u.focus, primary: 3094 }, + }) + ), + (0, a.fK)( + new Ot({ + id: z, + precondition: E, + handler: (e) => e.replace(), + kbOpts: { + weight: 105, + kbExpr: D.Ao.and(l.u.focus, I), + primary: 3, + }, + }) + ), + (0, a.fK)( + new Ot({ + id: U, + precondition: E, + handler: (e) => e.replaceAll(), + kbOpts: { weight: 105, kbExpr: l.u.focus, primary: 2563 }, + }) + ), + (0, a.fK)( + new Ot({ + id: U, + precondition: E, + handler: (e) => e.replaceAll(), + kbOpts: { + weight: 105, + kbExpr: D.Ao.and(l.u.focus, I), + primary: void 0, + mac: { primary: 2051 }, + }, + }) + ), + (0, a.fK)( + new Ot({ + id: 'editor.action.selectAllMatches', + precondition: E, + handler: (e) => e.selectAllMatches(), + kbOpts: { weight: 105, kbExpr: l.u.focus, primary: 515 }, + }) + ); + }, + 62943: (e, t, i) => { + 'use strict'; + i.r(t), + i.d(t, { + FoldingController: () => $, + editorFoldForeground: () => X, + foldBackgroundBackground: () => Q, + }); + var n = i(63580), + r = i(98401), + s = i(97295), + o = i(15393), + a = i(22258), + l = i(5976), + c = i(16830), + d = i(4669); + const h = 16777215, + u = 4278190080; + class g { + constructor(e, t, i) { + if (e.length !== t.length || e.length > 65535) + throw new Error('invalid startIndexes or endIndexes size'); + (this._startIndexes = e), + (this._endIndexes = t), + (this._collapseStates = new Uint32Array( + Math.ceil(e.length / 32) + )), + (this._types = i), + (this._parentsComputed = !1); + } + ensureParentIndices() { + if (!this._parentsComputed) { + this._parentsComputed = !0; + let e = [], + t = (t, i) => { + let n = e[e.length - 1]; + return ( + this.getStartLineNumber(n) <= t && + this.getEndLineNumber(n) >= i + ); + }; + for (let i = 0, n = this._startIndexes.length; i < n; i++) { + let n = this._startIndexes[i], + r = this._endIndexes[i]; + if (n > h || r > h) + throw new Error( + 'startLineNumber or endLineNumber must not exceed 16777215' + ); + for (; e.length > 0 && !t(n, r); ) e.pop(); + let s = e.length > 0 ? e[e.length - 1] : -1; + e.push(i), + (this._startIndexes[i] = n + ((255 & s) << 24)), + (this._endIndexes[i] = r + ((65280 & s) << 16)); + } + } + } + get length() { + return this._startIndexes.length; + } + getStartLineNumber(e) { + return this._startIndexes[e] & h; + } + getEndLineNumber(e) { + return this._endIndexes[e] & h; + } + getType(e) { + return this._types ? this._types[e] : void 0; + } + hasTypes() { + return !!this._types; + } + isCollapsed(e) { + let t = (e / 32) | 0, + i = e % 32; + return 0 != (this._collapseStates[t] & (1 << i)); + } + setCollapsed(e, t) { + let i = (e / 32) | 0, + n = e % 32, + r = this._collapseStates[i]; + this._collapseStates[i] = t ? r | (1 << n) : r & ~(1 << n); + } + toRegion(e) { + return new f(this, e); + } + getParentIndex(e) { + this.ensureParentIndices(); + let t = + ((this._startIndexes[e] & u) >>> 24) + + ((this._endIndexes[e] & u) >>> 16); + return 65535 === t ? -1 : t; + } + contains(e, t) { + return ( + this.getStartLineNumber(e) <= t && this.getEndLineNumber(e) >= t + ); + } + findIndex(e) { + let t = 0, + i = this._startIndexes.length; + if (0 === i) return -1; + for (; t < i; ) { + let n = Math.floor((t + i) / 2); + e < this.getStartLineNumber(n) ? (i = n) : (t = n + 1); + } + return t - 1; + } + findRange(e) { + let t = this.findIndex(e); + if (t >= 0) { + if (this.getEndLineNumber(t) >= e) return t; + for (t = this.getParentIndex(t); -1 !== t; ) { + if (this.contains(t, e)) return t; + t = this.getParentIndex(t); + } + } + return -1; + } + toString() { + let e = []; + for (let t = 0; t < this.length; t++) + e[t] = `[${ + this.isCollapsed(t) ? '+' : '-' + }] ${this.getStartLineNumber(t)}/${this.getEndLineNumber(t)}`; + return e.join(', '); + } + } + class f { + constructor(e, t) { + (this.ranges = e), (this.index = t); + } + get startLineNumber() { + return this.ranges.getStartLineNumber(this.index); + } + get endLineNumber() { + return this.ranges.getEndLineNumber(this.index); + } + get regionIndex() { + return this.index; + } + get parentIndex() { + return this.ranges.getParentIndex(this.index); + } + get isCollapsed() { + return this.ranges.isCollapsed(this.index); + } + containedBy(e) { + return ( + e.startLineNumber <= this.startLineNumber && + e.endLineNumber >= this.endLineNumber + ); + } + containsLine(e) { + return this.startLineNumber <= e && e <= this.endLineNumber; + } + } + class p { + constructor(e, t) { + (this._updateEventEmitter = new d.Q5()), + (this.onDidChange = this._updateEventEmitter.event), + (this._textModel = e), + (this._decorationProvider = t), + (this._regions = new g(new Uint32Array(0), new Uint32Array(0))), + (this._editorDecorationIds = []), + (this._isInitialized = !1); + } + get regions() { + return this._regions; + } + get textModel() { + return this._textModel; + } + get isInitialized() { + return this._isInitialized; + } + toggleCollapseState(e) { + if (!e.length) return; + e = e.sort((e, t) => e.regionIndex - t.regionIndex); + const t = {}; + this._decorationProvider.changeDecorations((i) => { + let n = 0, + r = -1, + s = -1; + const o = (e) => { + for (; n < e; ) { + const e = this._regions.getEndLineNumber(n), + t = this._regions.isCollapsed(n); + e <= r && + i.changeDecorationOptions( + this._editorDecorationIds[n], + this._decorationProvider.getDecorationOption(t, e <= s) + ), + t && e > s && (s = e), + n++; + } + }; + for (let i of e) { + let e = i.regionIndex, + n = this._editorDecorationIds[e]; + if (n && !t[n]) { + (t[n] = !0), o(e); + let i = !this._regions.isCollapsed(e); + this._regions.setCollapsed(e, i), + (r = Math.max(r, this._regions.getEndLineNumber(e))); + } + } + o(this._regions.length); + }), + this._updateEventEmitter.fire({ + model: this, + collapseStateChanged: e, + }); + } + update(e, t = []) { + let i = [], + n = -1, + r = (r, s) => { + const o = e.getStartLineNumber(r), + a = e.getEndLineNumber(r); + s && + ((e, i) => { + for (let n of t) if (e < n && n <= i) return !0; + return !1; + })(o, a) && + (s = !1), + e.setCollapsed(r, s); + const l = this._textModel.getLineMaxColumn(o), + c = { + startLineNumber: o, + startColumn: l, + endLineNumber: o, + endColumn: l, + }; + i.push({ + range: c, + options: this._decorationProvider.getDecorationOption( + s, + a <= n + ), + }), + s && a > n && (n = a); + }, + s = 0, + o = () => { + for (; s < this._regions.length; ) { + let e = this._regions.isCollapsed(s); + if ((s++, e)) return s - 1; + } + return -1; + }, + a = 0, + l = o(); + for (; -1 !== l && a < e.length; ) { + let t = this._textModel.getDecorationRange( + this._editorDecorationIds[l] + ); + if (t) { + let i = t.startLineNumber; + if (this._textModel.getLineMaxColumn(i) === t.startColumn) + for (; a < e.length; ) { + let t = e.getStartLineNumber(a); + if (!(i >= t)) break; + r(a, i === t), a++; + } + } + l = o(); + } + for (; a < e.length; ) r(a, !1), a++; + (this._editorDecorationIds = this._decorationProvider.deltaDecorations( + this._editorDecorationIds, + i + )), + (this._regions = e), + (this._isInitialized = !0), + this._updateEventEmitter.fire({ model: this }); + } + getMemento() { + let e = []; + for (let t = 0; t < this._regions.length; t++) + if (this._regions.isCollapsed(t)) { + let i = this._textModel.getDecorationRange( + this._editorDecorationIds[t] + ); + if (i) { + let n = i.startLineNumber, + r = + i.endLineNumber + + this._regions.getEndLineNumber(t) - + this._regions.getStartLineNumber(t); + e.push({ startLineNumber: n, endLineNumber: r }); + } + } + if (e.length > 0) return e; + } + applyMemento(e) { + if (!Array.isArray(e)) return; + let t = []; + for (let i of e) { + let e = this.getRegionAtLine(i.startLineNumber); + e && !e.isCollapsed && t.push(e); + } + this.toggleCollapseState(t); + } + dispose() { + this._decorationProvider.deltaDecorations( + this._editorDecorationIds, + [] + ); + } + getAllRegionsAtLine(e, t) { + let i = []; + if (this._regions) { + let n = this._regions.findRange(e), + r = 1; + for (; n >= 0; ) { + let e = this._regions.toRegion(n); + (t && !t(e, r)) || i.push(e), r++, (n = e.parentIndex); + } + } + return i; + } + getRegionAtLine(e) { + if (this._regions) { + let t = this._regions.findRange(e); + if (t >= 0) return this._regions.toRegion(t); + } + return null; + } + getRegionsInside(e, t) { + let i = [], + n = e ? e.regionIndex + 1 : 0, + r = e ? e.endLineNumber : Number.MAX_VALUE; + if (t && 2 === t.length) { + const e = []; + for (let s = n, o = this._regions.length; s < o; s++) { + let n = this._regions.toRegion(s); + if (!(this._regions.getStartLineNumber(s) < r)) break; + for (; e.length > 0 && !n.containedBy(e[e.length - 1]); ) + e.pop(); + e.push(n), t(n, e.length) && i.push(n); + } + } else + for (let e = n, s = this._regions.length; e < s; e++) { + let n = this._regions.toRegion(e); + if (!(this._regions.getStartLineNumber(e) < r)) break; + (t && !t(n)) || i.push(n); + } + return i; + } + } + function m(e, t, i = Number.MAX_VALUE, n) { + let r = []; + if (n && n.length > 0) + for (let s of n) { + let n = e.getRegionAtLine(s); + if (n && (n.isCollapsed !== t && r.push(n), i > 1)) { + let s = e.getRegionsInside( + n, + (e, n) => e.isCollapsed !== t && n < i + ); + r.push(...s); + } + } + else { + let n = e.getRegionsInside( + null, + (e, n) => e.isCollapsed !== t && n < i + ); + r.push(...n); + } + e.toggleCollapseState(r); + } + function _(e, t, i, n) { + let r = []; + for (let s of n) { + let n = e.getAllRegionsAtLine( + s, + (e, n) => e.isCollapsed !== t && n <= i + ); + r.push(...n); + } + e.toggleCollapseState(r); + } + function b(e, t, i) { + let n = e.textModel, + r = e.regions, + s = []; + for (let e = r.length - 1; e >= 0; e--) + if (i !== r.isCollapsed(e)) { + let i = r.getStartLineNumber(e); + t.test(n.getLineContent(i)) && s.push(r.toRegion(e)); + } + e.toggleCollapseState(s); + } + function v(e, t, i) { + let n = e.regions, + r = []; + for (let e = n.length - 1; e >= 0; e--) + i !== n.isCollapsed(e) && + t === n.getType(e) && + r.push(n.toRegion(e)); + e.toggleCollapseState(r); + } + var y = i(3411), + w = i(73046); + const C = (0, w.q5)('folding-expanded', w.lA.chevronDown), + S = (0, w.q5)('folding-collapsed', w.lA.chevronRight); + class k { + constructor(e) { + (this.editor = e), + (this.autoHideFoldingControls = !0), + (this.showFoldingHighlights = !0); + } + getDecorationOption(e, t) { + return t + ? k.HIDDEN_RANGE_DECORATION + : e + ? this.showFoldingHighlights + ? k.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION + : k.COLLAPSED_VISUAL_DECORATION + : this.autoHideFoldingControls + ? k.EXPANDED_AUTO_HIDE_VISUAL_DECORATION + : k.EXPANDED_VISUAL_DECORATION; + } + deltaDecorations(e, t) { + return this.editor.deltaDecorations(e, t); + } + changeDecorations(e) { + return this.editor.changeDecorations(e); + } + } + (k.COLLAPSED_VISUAL_DECORATION = y.qx.register({ + stickiness: 1, + afterContentClassName: 'inline-folded', + isWholeLine: !0, + firstLineDecorationClassName: S.classNames, + })), + (k.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION = y.qx.register({ + stickiness: 1, + afterContentClassName: 'inline-folded', + className: 'folded-background', + isWholeLine: !0, + firstLineDecorationClassName: S.classNames, + })), + (k.EXPANDED_AUTO_HIDE_VISUAL_DECORATION = y.qx.register({ + stickiness: 1, + isWholeLine: !0, + firstLineDecorationClassName: C.classNames, + })), + (k.EXPANDED_VISUAL_DECORATION = y.qx.register({ + stickiness: 1, + isWholeLine: !0, + firstLineDecorationClassName: 'alwaysShowFoldIcons ' + C.classNames, + })), + (k.HIDDEN_RANGE_DECORATION = y.qx.register({ stickiness: 1 })); + var x = i(29102), + L = i(24314), + M = i(9488); + class D { + constructor(e) { + (this._updateEventEmitter = new d.Q5()), + (this._foldingModel = e), + (this._foldingModelListener = e.onDidChange((e) => + this.updateHiddenRanges() + )), + (this._hiddenRanges = []), + e.regions.length && this.updateHiddenRanges(); + } + get onDidChange() { + return this._updateEventEmitter.event; + } + get hiddenRanges() { + return this._hiddenRanges; + } + updateHiddenRanges() { + let e = !1, + t = [], + i = 0, + n = 0, + r = Number.MAX_VALUE, + s = -1, + o = this._foldingModel.regions; + for (; i < o.length; i++) { + if (!o.isCollapsed(i)) continue; + let a = o.getStartLineNumber(i) + 1, + l = o.getEndLineNumber(i); + (r <= a && l <= s) || + (!e && + n < this._hiddenRanges.length && + this._hiddenRanges[n].startLineNumber === a && + this._hiddenRanges[n].endLineNumber === l + ? (t.push(this._hiddenRanges[n]), n++) + : ((e = !0), t.push(new L.e(a, 1, l, 1))), + (r = a), + (s = l)); + } + (e || n < this._hiddenRanges.length) && this.applyHiddenRanges(t); + } + applyMemento(e) { + if (!Array.isArray(e) || 0 === e.length) return !1; + let t = []; + for (let i of e) { + if (!i.startLineNumber || !i.endLineNumber) return !1; + t.push(new L.e(i.startLineNumber + 1, 1, i.endLineNumber, 1)); + } + return this.applyHiddenRanges(t), !0; + } + getMemento() { + return this._hiddenRanges.map((e) => ({ + startLineNumber: e.startLineNumber - 1, + endLineNumber: e.endLineNumber, + })); + } + applyHiddenRanges(e) { + (this._hiddenRanges = e), this._updateEventEmitter.fire(e); + } + hasRanges() { + return this._hiddenRanges.length > 0; + } + isHidden(e) { + return null !== N(this._hiddenRanges, e); + } + adjustSelections(e) { + let t = !1, + i = this._foldingModel.textModel, + n = null, + r = (e) => ( + (n && + (function (e, t) { + return e >= t.startLineNumber && e <= t.endLineNumber; + })(e, n)) || + (n = N(this._hiddenRanges, e)), + n ? n.startLineNumber - 1 : null + ); + for (let n = 0, s = e.length; n < s; n++) { + let s = e[n], + o = r(s.startLineNumber); + o && + ((s = s.setStartPosition(o, i.getLineMaxColumn(o))), (t = !0)); + let a = r(s.endLineNumber); + a && ((s = s.setEndPosition(a, i.getLineMaxColumn(a))), (t = !0)), + (e[n] = s); + } + return t; + } + dispose() { + this.hiddenRanges.length > 0 && + ((this._hiddenRanges = []), + this._updateEventEmitter.fire(this._hiddenRanges)), + this._foldingModelListener && + (this._foldingModelListener.dispose(), + (this._foldingModelListener = null)); + } + } + function N(e, t) { + let i = (0, M.lG)(e, (e) => t < e.startLineNumber) - 1; + return i >= 0 && e[i].endLineNumber >= t ? e[i] : null; + } + var E = i(83831); + class T { + constructor(e) { + (this.editorModel = e), (this.id = 'indent'); + } + dispose() {} + compute(e) { + let t = E.zu.getFoldingRules( + this.editorModel.getLanguageIdentifier().id + ), + i = t && !!t.offSide, + n = t && t.markers; + return Promise.resolve( + (function (e, t, i, n = 5e3) { + const r = e.getOptions().tabSize; + let s, + o = new I(n); + i && + (s = new RegExp(`(${i.start.source})|(?:${i.end.source})`)); + let a = [], + l = e.getLineCount() + 1; + a.push({ indent: -1, endAbove: l, line: l }); + for (let i = e.getLineCount(); i > 0; i--) { + let n, + l = e.getLineContent(i), + c = y.yO.computeIndentLevel(l, r), + d = a[a.length - 1]; + if (-1 !== c) { + if (s && (n = l.match(s))) { + if (!n[1]) { + a.push({ indent: -2, endAbove: i, line: i }); + continue; + } + { + let e = a.length - 1; + for (; e > 0 && -2 !== a[e].indent; ) e--; + if (e > 0) { + (a.length = e + 1), + (d = a[e]), + o.insertFirst(i, d.line, c), + (d.line = i), + (d.indent = c), + (d.endAbove = i); + continue; + } + } + } + if (d.indent > c) { + do { + a.pop(), (d = a[a.length - 1]); + } while (d.indent > c); + let e = d.endAbove - 1; + e - i >= 1 && o.insertFirst(i, e, c); + } + d.indent === c + ? (d.endAbove = i) + : a.push({ indent: c, endAbove: i, line: i }); + } else t && (d.endAbove = i); + } + return o.toIndentRanges(e); + })(this.editorModel, i, n) + ); + } + } + class I { + constructor(e) { + (this._startIndexes = []), + (this._endIndexes = []), + (this._indentOccurrences = []), + (this._length = 0), + (this._foldingRangesLimit = e); + } + insertFirst(e, t, i) { + if (e > h || t > h) return; + let n = this._length; + (this._startIndexes[n] = e), + (this._endIndexes[n] = t), + this._length++, + i < 1e3 && + (this._indentOccurrences[i] = + (this._indentOccurrences[i] || 0) + 1); + } + toIndentRanges(e) { + if (this._length <= this._foldingRangesLimit) { + let e = new Uint32Array(this._length), + t = new Uint32Array(this._length); + for (let i = this._length - 1, n = 0; i >= 0; i--, n++) + (e[n] = this._startIndexes[i]), (t[n] = this._endIndexes[i]); + return new g(e, t); + } + { + let t = 0, + i = this._indentOccurrences.length; + for (let e = 0; e < this._indentOccurrences.length; e++) { + let n = this._indentOccurrences[e]; + if (n) { + if (n + t > this._foldingRangesLimit) { + i = e; + break; + } + t += n; + } + } + const n = e.getOptions().tabSize; + let r = new Uint32Array(this._foldingRangesLimit), + s = new Uint32Array(this._foldingRangesLimit); + for (let o = this._length - 1, a = 0; o >= 0; o--) { + let l = this._startIndexes[o], + c = e.getLineContent(l), + d = y.yO.computeIndentLevel(c, n); + (d < i || (d === i && t++ < this._foldingRangesLimit)) && + ((r[a] = l), (s[a] = this._endIndexes[o]), a++); + } + return new g(r, s); + } + } + } + var O = i(43775), + A = i(17301); + const R = {}, + P = 'syntax'; + class F { + constructor(e, t, i = 5e3) { + (this.editorModel = e), + (this.providers = t), + (this.limit = i), + (this.id = P); + } + compute(e) { + return (function (e, t, i) { + let n = null, + r = e.map((e, r) => + Promise.resolve(e.provideFoldingRanges(t, R, i)).then((e) => { + if (!i.isCancellationRequested && Array.isArray(e)) { + Array.isArray(n) || (n = []); + let i = t.getLineCount(); + for (let t of e) + t.start > 0 && + t.end > t.start && + t.end <= i && + n.push({ + start: t.start, + end: t.end, + rank: r, + kind: t.kind, + }); + } + }, A.Cp) + ); + return Promise.all(r).then((e) => n); + })(this.providers, this.editorModel, e).then((e) => + e ? W(e, this.limit) : null + ); + } + dispose() {} + } + class B { + constructor(e) { + (this._startIndexes = []), + (this._endIndexes = []), + (this._nestingLevels = []), + (this._nestingLevelCounts = []), + (this._types = []), + (this._length = 0), + (this._foldingRangesLimit = e); + } + add(e, t, i, n) { + if (e > h || t > h) return; + let r = this._length; + (this._startIndexes[r] = e), + (this._endIndexes[r] = t), + (this._nestingLevels[r] = n), + (this._types[r] = i), + this._length++, + n < 30 && + (this._nestingLevelCounts[n] = + (this._nestingLevelCounts[n] || 0) + 1); + } + toIndentRanges() { + if (this._length <= this._foldingRangesLimit) { + let e = new Uint32Array(this._length), + t = new Uint32Array(this._length); + for (let i = 0; i < this._length; i++) + (e[i] = this._startIndexes[i]), (t[i] = this._endIndexes[i]); + return new g(e, t, this._types); + } + { + let e = 0, + t = this._nestingLevelCounts.length; + for (let i = 0; i < this._nestingLevelCounts.length; i++) { + let n = this._nestingLevelCounts[i]; + if (n) { + if (n + e > this._foldingRangesLimit) { + t = i; + break; + } + e += n; + } + } + let i = new Uint32Array(this._foldingRangesLimit), + n = new Uint32Array(this._foldingRangesLimit), + r = []; + for (let s = 0, o = 0; s < this._length; s++) { + let a = this._nestingLevels[s]; + (a < t || (a === t && e++ < this._foldingRangesLimit)) && + ((i[o] = this._startIndexes[s]), + (n[o] = this._endIndexes[s]), + (r[o] = this._types[s]), + o++); + } + return new g(i, n, r); + } + } + } + function W(e, t) { + let i, + n = e.sort((e, t) => { + let i = e.start - t.start; + return 0 === i && (i = e.rank - t.rank), i; + }), + r = new B(t), + s = []; + for (let e of n) + if (i) { + if (e.start > i.start) + if (e.end <= i.end) + s.push(i), + (i = e), + r.add(e.start, e.end, e.kind && e.kind.value, s.length); + else { + if (e.start > i.end) { + do { + i = s.pop(); + } while (i && e.start > i.end); + i && s.push(i), (i = e); + } + r.add(e.start, e.end, e.kind && e.kind.value, s.length); + } + } else + (i = e), r.add(e.start, e.end, e.kind && e.kind.value, s.length); + return r.toIndentRanges(); + } + const Y = 'init'; + class H { + constructor(e, t, i, n) { + if (((this.editorModel = e), (this.id = Y), t.length)) { + let r = (t) => ({ + range: { + startLineNumber: t.startLineNumber, + startColumn: 0, + endLineNumber: t.endLineNumber, + endColumn: e.getLineLength(t.endLineNumber), + }, + options: { stickiness: 1 }, + }); + (this.decorationIds = e.deltaDecorations([], t.map(r))), + (this.timeout = setTimeout(i, n)); + } + } + dispose() { + this.decorationIds && + (this.editorModel.deltaDecorations(this.decorationIds, []), + (this.decorationIds = void 0)), + 'number' == typeof this.timeout && + (clearTimeout(this.timeout), (this.timeout = void 0)); + } + compute(e) { + let t = []; + if (this.decorationIds) + for (let e of this.decorationIds) { + let i = this.editorModel.getDecorationRange(e); + i && + t.push({ + start: i.startLineNumber, + end: i.endLineNumber, + rank: 1, + }); + } + return Promise.resolve(W(t, Number.MAX_VALUE)); + } + } + var j = i(38819), + V = i(97781), + z = i(73910); + const U = new j.uy('foldingEnabled', !1); + let $ = class e extends l.JT { + constructor(e, t) { + super(), + (this.contextKeyService = t), + (this.localToDispose = this._register(new l.SL())), + (this.editor = e); + const i = this.editor.getOptions(); + (this._isEnabled = i.get(31)), + (this._useFoldingProviders = 'indentation' !== i.get(32)), + (this._unfoldOnClickAfterEndOfLine = i.get(34)), + (this.foldingModel = null), + (this.hiddenRangeModel = null), + (this.rangeProvider = null), + (this.foldingRegionPromise = null), + (this.foldingStateMemento = null), + (this.foldingModelPromise = null), + (this.updateScheduler = null), + (this.cursorChangedScheduler = null), + (this.mouseDownInfo = null), + (this.foldingDecorationProvider = new k(e)), + (this.foldingDecorationProvider.autoHideFoldingControls = + 'mouseover' === i.get(91)), + (this.foldingDecorationProvider.showFoldingHighlights = i.get( + 33 + )), + (this.foldingEnabled = U.bindTo(this.contextKeyService)), + this.foldingEnabled.set(this._isEnabled), + this._register( + this.editor.onDidChangeModel(() => this.onModelChanged()) + ), + this._register( + this.editor.onDidChangeConfiguration((e) => { + if ( + (e.hasChanged(31) && + ((this._isEnabled = this.editor.getOptions().get(31)), + this.foldingEnabled.set(this._isEnabled), + this.onModelChanged()), + e.hasChanged(91) || e.hasChanged(33)) + ) { + const e = this.editor.getOptions(); + (this.foldingDecorationProvider.autoHideFoldingControls = + 'mouseover' === e.get(91)), + (this.foldingDecorationProvider.showFoldingHighlights = e.get( + 33 + )), + this.onModelContentChanged(); + } + e.hasChanged(32) && + ((this._useFoldingProviders = + 'indentation' !== this.editor.getOptions().get(32)), + this.onFoldingStrategyChanged()), + e.hasChanged(34) && + (this._unfoldOnClickAfterEndOfLine = this.editor + .getOptions() + .get(34)); + }) + ), + this.onModelChanged(); + } + static get(t) { + return t.getContribution(e.ID); + } + saveViewState() { + let e = this.editor.getModel(); + if (!e || !this._isEnabled || e.isTooLargeForTokenization()) + return {}; + if (this.foldingModel) { + let t = this.foldingModel.isInitialized + ? this.foldingModel.getMemento() + : this.hiddenRangeModel.getMemento(), + i = this.rangeProvider ? this.rangeProvider.id : void 0; + return { + collapsedRegions: t, + lineCount: e.getLineCount(), + provider: i, + }; + } + } + restoreViewState(e) { + let t = this.editor.getModel(); + if ( + !t || + !this._isEnabled || + t.isTooLargeForTokenization() || + !this.hiddenRangeModel + ) + return; + if (!e || !e.collapsedRegions || e.lineCount !== t.getLineCount()) + return; + (e.provider !== P && e.provider !== Y) || + (this.foldingStateMemento = e); + const i = e.collapsedRegions; + if (this.hiddenRangeModel.applyMemento(i)) { + const e = this.getFoldingModel(); + e && + e + .then((e) => { + e && e.applyMemento(i); + }) + .then(void 0, A.dL); + } + } + onModelChanged() { + this.localToDispose.clear(); + let e = this.editor.getModel(); + this._isEnabled && + e && + !e.isTooLargeForTokenization() && + ((this.foldingModel = new p(e, this.foldingDecorationProvider)), + this.localToDispose.add(this.foldingModel), + (this.hiddenRangeModel = new D(this.foldingModel)), + this.localToDispose.add(this.hiddenRangeModel), + this.localToDispose.add( + this.hiddenRangeModel.onDidChange((e) => + this.onHiddenRangesChanges(e) + ) + ), + (this.updateScheduler = new o.vp(200)), + (this.cursorChangedScheduler = new o.pY( + () => this.revealCursor(), + 200 + )), + this.localToDispose.add(this.cursorChangedScheduler), + this.localToDispose.add( + O.aC.onDidChange(() => this.onFoldingStrategyChanged()) + ), + this.localToDispose.add( + this.editor.onDidChangeModelLanguageConfiguration(() => + this.onFoldingStrategyChanged() + ) + ), + this.localToDispose.add( + this.editor.onDidChangeModelContent(() => + this.onModelContentChanged() + ) + ), + this.localToDispose.add( + this.editor.onDidChangeCursorPosition(() => + this.onCursorPositionChanged() + ) + ), + this.localToDispose.add( + this.editor.onMouseDown((e) => this.onEditorMouseDown(e)) + ), + this.localToDispose.add( + this.editor.onMouseUp((e) => this.onEditorMouseUp(e)) + ), + this.localToDispose.add({ + dispose: () => { + this.foldingRegionPromise && + (this.foldingRegionPromise.cancel(), + (this.foldingRegionPromise = null)), + this.updateScheduler && this.updateScheduler.cancel(), + (this.updateScheduler = null), + (this.foldingModel = null), + (this.foldingModelPromise = null), + (this.hiddenRangeModel = null), + (this.cursorChangedScheduler = null), + (this.foldingStateMemento = null), + this.rangeProvider && this.rangeProvider.dispose(), + (this.rangeProvider = null); + }, + }), + this.onModelContentChanged()); + } + onFoldingStrategyChanged() { + this.rangeProvider && this.rangeProvider.dispose(), + (this.rangeProvider = null), + this.onModelContentChanged(); + } + getRangeProvider(e) { + if (this.rangeProvider) return this.rangeProvider; + if ( + ((this.rangeProvider = new T(e)), + this._useFoldingProviders && this.foldingModel) + ) { + let t = O.aC.ordered(this.foldingModel.textModel); + if ( + 0 === t.length && + this.foldingStateMemento && + this.foldingStateMemento.collapsedRegions + ) + return (this.rangeProvider = new H( + e, + this.foldingStateMemento.collapsedRegions, + () => { + (this.foldingStateMemento = null), + this.onFoldingStrategyChanged(); + }, + 3e4 + )); + t.length > 0 && (this.rangeProvider = new F(e, t)); + } + return (this.foldingStateMemento = null), this.rangeProvider; + } + getFoldingModel() { + return this.foldingModelPromise; + } + onModelContentChanged() { + this.updateScheduler && + (this.foldingRegionPromise && + (this.foldingRegionPromise.cancel(), + (this.foldingRegionPromise = null)), + (this.foldingModelPromise = this.updateScheduler + .trigger(() => { + const e = this.foldingModel; + if (!e) return null; + let t = (this.foldingRegionPromise = (0, o.PG)((t) => + this.getRangeProvider(e.textModel).compute(t) + )); + return t.then((i) => { + if (i && t === this.foldingRegionPromise) { + let t = this.editor.getSelections(), + n = t ? t.map((e) => e.startLineNumber) : []; + e.update(i, n); + } + return e; + }); + }) + .then(void 0, (e) => ((0, A.dL)(e), null)))); + } + onHiddenRangesChanges(e) { + if (this.hiddenRangeModel && e.length) { + let e = this.editor.getSelections(); + e && + this.hiddenRangeModel.adjustSelections(e) && + this.editor.setSelections(e); + } + this.editor.setHiddenAreas(e); + } + onCursorPositionChanged() { + this.hiddenRangeModel && + this.hiddenRangeModel.hasRanges() && + this.cursorChangedScheduler.schedule(); + } + revealCursor() { + const e = this.getFoldingModel(); + e && + e + .then((e) => { + if (e) { + let t = this.editor.getSelections(); + if (t && t.length > 0) { + let i = []; + for (let n of t) { + let t = n.selectionStartLineNumber; + this.hiddenRangeModel && + this.hiddenRangeModel.isHidden(t) && + i.push( + ...e.getAllRegionsAtLine( + t, + (e) => e.isCollapsed && t > e.startLineNumber + ) + ); + } + i.length && + (e.toggleCollapseState(i), + this.reveal(t[0].getPosition())); + } + } + }) + .then(void 0, A.dL); + } + onEditorMouseDown(e) { + if ( + ((this.mouseDownInfo = null), + !this.hiddenRangeModel || !e.target || !e.target.range) + ) + return; + if (!e.event.leftButton && !e.event.middleButton) return; + const t = e.target.range; + let i = !1; + switch (e.target.type) { + case 4: + const n = e.target.detail, + r = e.target.element.offsetLeft; + if (n.offsetX - r < 5) return; + i = !0; + break; + case 7: + if ( + this._unfoldOnClickAfterEndOfLine && + this.hiddenRangeModel.hasRanges() && + !e.target.detail.isAfterLines + ) + break; + return; + case 6: + if (this.hiddenRangeModel.hasRanges()) { + let e = this.editor.getModel(); + if ( + e && + t.startColumn === e.getLineMaxColumn(t.startLineNumber) + ) + break; + } + return; + default: + return; + } + this.mouseDownInfo = { + lineNumber: t.startLineNumber, + iconClicked: i, + }; + } + onEditorMouseUp(e) { + const t = this.getFoldingModel(); + if (!t || !this.mouseDownInfo || !e.target) return; + let i = this.mouseDownInfo.lineNumber, + n = this.mouseDownInfo.iconClicked, + r = e.target.range; + if (r && r.startLineNumber === i) { + if (n) { + if (4 !== e.target.type) return; + } else { + let e = this.editor.getModel(); + if (!e || r.startColumn !== e.getLineMaxColumn(i)) return; + } + t.then((t) => { + if (t) { + let r = t.getRegionAtLine(i); + if (r && r.startLineNumber === i) { + let s = r.isCollapsed; + if (n || s) { + let n = [], + o = e.event.middleButton || e.event.shiftKey; + if (o) + for (const e of t.getRegionsInside(r)) + e.isCollapsed === s && n.push(e); + (!s && o && 0 !== n.length) || n.push(r), + t.toggleCollapseState(n), + this.reveal({ lineNumber: i, column: 1 }); + } + } + } + }).then(void 0, A.dL); + } + } + reveal(e) { + this.editor.revealPositionInCenterIfOutsideViewport(e, 0); + } + }; + var K, q; + ($.ID = 'editor.contrib.folding'), + ($ = (function (e, t, i, n) { + var r, + s = arguments.length, + o = + s < 3 + ? t + : null === n + ? (n = Object.getOwnPropertyDescriptor(t, i)) + : n; + if ( + 'object' == typeof Reflect && + 'function' == typeof Reflect.decorate + ) + o = Reflect.decorate(e, t, i, n); + else + for (var a = e.length - 1; a >= 0; a--) + (r = e[a]) && + (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); + return s > 3 && o && Object.defineProperty(t, i, o), o; + })( + [ + ((K = 1), + (q = j.i6), + function (e, t) { + q(e, t, K); + }), + ], + $ + )); + class G extends c.R6 { + runEditorCommand(e, t, i) { + let n = $.get(t); + if (!n) return; + let r = n.getFoldingModel(); + return r + ? (this.reportTelemetry(e, t), + r.then((e) => { + if (e) { + this.invoke(n, e, t, i); + const r = t.getSelection(); + r && n.reveal(r.getStartPosition()); + } + })) + : void 0; + } + getSelectedLines(e) { + let t = e.getSelections(); + return t ? t.map((e) => e.startLineNumber) : []; + } + getLineNumbers(e, t) { + return e && e.selectionLines + ? e.selectionLines.map((e) => e + 1) + : this.getSelectedLines(t); + } + run(e, t) {} + } + function Z(e) { + if (!r.o8(e)) { + if (!r.Kn(e)) return !1; + const t = e; + if (!r.o8(t.levels) && !r.hj(t.levels)) return !1; + if (!r.o8(t.direction) && !r.HD(t.direction)) return !1; + if ( + !( + r.o8(t.selectionLines) || + (r.kJ(t.selectionLines) && t.selectionLines.every(r.hj)) + ) + ) + return !1; + } + return !0; + } + class J extends G { + getFoldingLevel() { + return parseInt(this.id.substr(J.ID_PREFIX.length)); + } + invoke(e, t, i) { + !(function (e, t, i, n) { + let r = e.getRegionsInside( + null, + (e, i) => + i === t && + true !== e.isCollapsed && + !n.some((t) => e.containsLine(t)) + ); + e.toggleCollapseState(r); + })(t, this.getFoldingLevel(), 0, this.getSelectedLines(i)); + } + } + (J.ID_PREFIX = 'editor.foldLevel'), + (J.ID = (e) => J.ID_PREFIX + e), + (0, c._K)($.ID, $), + (0, c.Qr)( + class extends G { + constructor() { + super({ + id: 'editor.unfold', + label: n.N('unfoldAction.label', 'Unfold'), + alias: 'Unfold', + precondition: U, + kbOpts: { + kbExpr: x.u.editorTextFocus, + primary: 3161, + mac: { primary: 2649 }, + weight: 100, + }, + description: { + description: 'Unfold the content in the editor', + args: [ + { + name: 'Unfold editor argument', + description: + "Property-value pairs that can be passed through this argument:\n\t\t\t\t\t\t* 'levels': Number of levels to unfold. If not set, defaults to 1.\n\t\t\t\t\t\t* 'direction': If 'up', unfold given number of levels up otherwise unfolds down.\n\t\t\t\t\t\t* 'selectionLines': The start lines (0-based) of the editor selections to apply the unfold action to. If not set, the active selection(s) will be used.\n\t\t\t\t\t\t", + constraint: Z, + schema: { + type: 'object', + properties: { + levels: { type: 'number', default: 1 }, + direction: { + type: 'string', + enum: ['up', 'down'], + default: 'down', + }, + selectionLines: { + type: 'array', + items: { type: 'number' }, + }, + }, + }, + }, + ], + }, + }); + } + invoke(e, t, i, n) { + let r = (n && n.levels) || 1, + s = this.getLineNumbers(n, i); + n && 'up' === n.direction ? _(t, !1, r, s) : m(t, !1, r, s); + } + } + ), + (0, c.Qr)( + class extends G { + constructor() { + super({ + id: 'editor.unfoldRecursively', + label: n.N( + 'unFoldRecursivelyAction.label', + 'Unfold Recursively' + ), + alias: 'Unfold Recursively', + precondition: U, + kbOpts: { + kbExpr: x.u.editorTextFocus, + primary: (0, a.gx)(2089, 2137), + weight: 100, + }, + }); + } + invoke(e, t, i, n) { + m(t, !1, Number.MAX_VALUE, this.getSelectedLines(i)); + } + } + ), + (0, c.Qr)( + class extends G { + constructor() { + super({ + id: 'editor.fold', + label: n.N('foldAction.label', 'Fold'), + alias: 'Fold', + precondition: U, + kbOpts: { + kbExpr: x.u.editorTextFocus, + primary: 3159, + mac: { primary: 2647 }, + weight: 100, + }, + description: { + description: 'Fold the content in the editor', + args: [ + { + name: 'Fold editor argument', + description: + "Property-value pairs that can be passed through this argument:\n\t\t\t\t\t\t\t* 'levels': Number of levels to fold.\n\t\t\t\t\t\t\t* 'direction': If 'up', folds given number of levels up otherwise folds down.\n\t\t\t\t\t\t\t* 'selectionLines': The start lines (0-based) of the editor selections to apply the fold action to. If not set, the active selection(s) will be used.\n\t\t\t\t\t\t\tIf no levels or direction is set, folds the region at the locations or if already collapsed, the first uncollapsed parent instead.\n\t\t\t\t\t\t", + constraint: Z, + schema: { + type: 'object', + properties: { + levels: { type: 'number' }, + direction: { type: 'string', enum: ['up', 'down'] }, + selectionLines: { + type: 'array', + items: { type: 'number' }, + }, + }, + }, + }, + ], + }, + }); + } + invoke(e, t, i, n) { + let r = this.getLineNumbers(n, i); + const s = n && n.levels, + o = n && n.direction; + 'number' != typeof s && 'string' != typeof o + ? (function (e, t, i) { + let n = []; + for (let t of i) { + let i = e.getAllRegionsAtLine( + t, + (e) => true !== e.isCollapsed + ); + i.length > 0 && n.push(i[0]); + } + e.toggleCollapseState(n); + })(t, 0, r) + : 'up' === o + ? _(t, !0, s || 1, r) + : m(t, !0, s || 1, r); + } + } + ), + (0, c.Qr)( + class extends G { + constructor() { + super({ + id: 'editor.foldRecursively', + label: n.N('foldRecursivelyAction.label', 'Fold Recursively'), + alias: 'Fold Recursively', + precondition: U, + kbOpts: { + kbExpr: x.u.editorTextFocus, + primary: (0, a.gx)(2089, 2135), + weight: 100, + }, + }); + } + invoke(e, t, i) { + let n = this.getSelectedLines(i); + m(t, !0, Number.MAX_VALUE, n); + } + } + ), + (0, c.Qr)( + class extends G { + constructor() { + super({ + id: 'editor.foldAll', + label: n.N('foldAllAction.label', 'Fold All'), + alias: 'Fold All', + precondition: U, + kbOpts: { + kbExpr: x.u.editorTextFocus, + primary: (0, a.gx)(2089, 2069), + weight: 100, + }, + }); + } + invoke(e, t, i) { + m(t, !0); + } + } + ), + (0, c.Qr)( + class extends G { + constructor() { + super({ + id: 'editor.unfoldAll', + label: n.N('unfoldAllAction.label', 'Unfold All'), + alias: 'Unfold All', + precondition: U, + kbOpts: { + kbExpr: x.u.editorTextFocus, + primary: (0, a.gx)(2089, 2088), + weight: 100, + }, + }); + } + invoke(e, t, i) { + m(t, !1); + } + } + ), + (0, c.Qr)( + class extends G { + constructor() { + super({ + id: 'editor.foldAllBlockComments', + label: n.N( + 'foldAllBlockComments.label', + 'Fold All Block Comments' + ), + alias: 'Fold All Block Comments', + precondition: U, + kbOpts: { + kbExpr: x.u.editorTextFocus, + primary: (0, a.gx)(2089, 2133), + weight: 100, + }, + }); + } + invoke(e, t, i) { + if (t.regions.hasTypes()) v(t, O.AD.Comment.value, !0); + else { + const e = i.getModel(); + if (!e) return; + let n = E.zu.getComments(e.getLanguageIdentifier().id); + n && + n.blockCommentStartToken && + b( + t, + new RegExp('^\\s*' + (0, s.ec)(n.blockCommentStartToken)), + !0 + ); + } + } + } + ), + (0, c.Qr)( + class extends G { + constructor() { + super({ + id: 'editor.foldAllMarkerRegions', + label: n.N('foldAllMarkerRegions.label', 'Fold All Regions'), + alias: 'Fold All Regions', + precondition: U, + kbOpts: { + kbExpr: x.u.editorTextFocus, + primary: (0, a.gx)(2089, 2077), + weight: 100, + }, + }); + } + invoke(e, t, i) { + if (t.regions.hasTypes()) v(t, O.AD.Region.value, !0); + else { + const e = i.getModel(); + if (!e) return; + let n = E.zu.getFoldingRules(e.getLanguageIdentifier().id); + n && + n.markers && + n.markers.start && + b(t, new RegExp(n.markers.start), !0); + } + } + } + ), + (0, c.Qr)( + class extends G { + constructor() { + super({ + id: 'editor.unfoldAllMarkerRegions', + label: n.N( + 'unfoldAllMarkerRegions.label', + 'Unfold All Regions' + ), + alias: 'Unfold All Regions', + precondition: U, + kbOpts: { + kbExpr: x.u.editorTextFocus, + primary: (0, a.gx)(2089, 2078), + weight: 100, + }, + }); + } + invoke(e, t, i) { + if (t.regions.hasTypes()) v(t, O.AD.Region.value, !1); + else { + const e = i.getModel(); + if (!e) return; + let n = E.zu.getFoldingRules(e.getLanguageIdentifier().id); + n && + n.markers && + n.markers.start && + b(t, new RegExp(n.markers.start), !1); + } + } + } + ), + (0, c.Qr)( + class extends G { + constructor() { + super({ + id: 'editor.toggleFold', + label: n.N('toggleFoldAction.label', 'Toggle Fold'), + alias: 'Toggle Fold', + precondition: U, + kbOpts: { + kbExpr: x.u.editorTextFocus, + primary: (0, a.gx)(2089, 2090), + weight: 100, + }, + }); + } + invoke(e, t, i) { + !(function (e, t, i) { + let n = []; + for (let t of i) { + let i = e.getRegionAtLine(t); + if (i) { + i.isCollapsed; + n.push(i), 0; + } + } + e.toggleCollapseState(n); + })(t, 0, this.getSelectedLines(i)); + } + } + ); + for (let e = 1; e <= 7; e++) + (0, c.QG)( + new J({ + id: J.ID(e), + label: n.N('foldLevelAction.label', 'Fold Level {0}', e), + alias: `Fold Level ${e}`, + precondition: U, + kbOpts: { + kbExpr: x.u.editorTextFocus, + primary: (0, a.gx)(2089, 2048 | (21 + e)), + weight: 100, + }, + }) + ); + const Q = (0, z.P6)( + 'editor.foldBackground', + { + light: (0, z.Zn)(z.hE, 0.3), + dark: (0, z.Zn)(z.hE, 0.3), + hc: null, + }, + n.N( + 'foldBackgroundBackground', + 'Background color behind folded ranges. The color must not be opaque so as not to hide underlying decorations.' + ), + !0 + ), + X = (0, z.P6)( + 'editorGutter.foldingControlForeground', + { dark: z.XZ, light: z.XZ, hc: z.XZ }, + n.N( + 'editorGutter.foldingControlForeground', + 'Color of the folding control in the editor gutter.' + ) + ); + (0, V.Ic)((e, t) => { + const i = e.getColor(Q); + i && + t.addRule( + `.monaco-editor .folded-background { background-color: ${i}; }` + ); + const n = e.getColor(X); + n && + t.addRule( + `\n\t\t.monaco-editor .cldr${C.cssSelector},\n\t\t.monaco-editor .cldr${S.cssSelector} {\n\t\t\tcolor: ${n} !important;\n\t\t}\n\t\t` + ); + }); + }, + 23111: (e, t, i) => { + 'use strict'; + i.r(t); + var n = i(63580), + r = i(16830), + s = i(82334); + class o extends r.R6 { + constructor() { + super({ + id: 'editor.action.fontZoomIn', + label: n.N('EditorFontZoomIn.label', 'Editor Font Zoom In'), + alias: 'Editor Font Zoom In', + precondition: void 0, + }); + } + run(e, t) { + s.C.setZoomLevel(s.C.getZoomLevel() + 1); + } + } + class a extends r.R6 { + constructor() { + super({ + id: 'editor.action.fontZoomOut', + label: n.N('EditorFontZoomOut.label', 'Editor Font Zoom Out'), + alias: 'Editor Font Zoom Out', + precondition: void 0, + }); + } + run(e, t) { + s.C.setZoomLevel(s.C.getZoomLevel() - 1); + } + } + class l extends r.R6 { + constructor() { + super({ + id: 'editor.action.fontZoomReset', + label: n.N('EditorFontZoomReset.label', 'Editor Font Zoom Reset'), + alias: 'Editor Font Zoom Reset', + precondition: void 0, + }); + } + run(e, t) { + s.C.setZoomLevel(0); + } + } + (0, r.Qr)(o), (0, r.Qr)(a), (0, r.Qr)(l); + }, + 76798: (e, t, i) => { + 'use strict'; + i.r(t); + var n = i(9488), + r = i(71050), + s = i(22258), + o = i(5976), + a = i(16830), + l = i(11640), + c = i(44906), + d = i(24314), + h = i(29102), + u = i(43775), + g = i(90469), + f = i(85152), + p = i(17301), + m = i(70666), + _ = i(39925), + b = i(65520), + v = i(50187), + y = i(3860), + w = i(51200), + C = i(69386); + class S { + static _handleEolEdits(e, t) { + let i, + n = []; + for (let e of t) + 'number' == typeof e.eol && (i = e.eol), + e.range && 'string' == typeof e.text && n.push(e); + return ( + 'number' == typeof i && e.hasModel() && e.getModel().pushEOL(i), n + ); + } + static _isFullModelReplaceEdit(e, t) { + if (!e.hasModel()) return !1; + const i = e.getModel(), + n = i.validateRange(t.range); + return i.getFullModelRange().equalsRange(n); + } + static execute(e, t, i) { + i && e.pushUndoStop(); + const n = S._handleEolEdits(e, t); + 1 === n.length && S._isFullModelReplaceEdit(e, n[0]) + ? e.executeEdits( + 'formatEditsCommand', + n.map((e) => C.h.replace(d.e.lift(e.range), e.text)) + ) + : e.executeEdits( + 'formatEditsCommand', + n.map((e) => C.h.replaceMove(d.e.lift(e.range), e.text)) + ), + i && e.pushUndoStop(); + } + } + var k = i(63580); + class x { + constructor(e) { + (this.value = e), (this._lower = e.toLowerCase()); + } + static toKey(e) { + return 'string' == typeof e ? e.toLowerCase() : e._lower; + } + } + var L = i(72065), + M = i(91741), + D = i(94565), + N = i(98401), + E = i(53725), + T = function (e, t, i, n) { + return new (i || (i = Promise))(function (r, s) { + function o(e) { + try { + l(n.next(e)); + } catch (e) { + s(e); + } + } + function a(e) { + try { + l(n.throw(e)); + } catch (e) { + s(e); + } + } + function l(e) { + var t; + e.done + ? r(e.value) + : ((t = e.value), + t instanceof i + ? t + : new i(function (e) { + e(t); + })).then(o, a); + } + l((n = n.apply(e, t || [])).next()); + }); + }; + function I(e) { + if (!(e = e.filter((e) => e.range)).length) return; + let { range: t } = e[0]; + for (let i = 1; i < e.length; i++) t = d.e.plusRange(t, e[i].range); + const { startLineNumber: i, endLineNumber: n } = t; + i === n + ? 1 === e.length + ? (0, f.Z9)( + k.N('hint11', 'Made 1 formatting edit on line {0}', i) + ) + : (0, f.Z9)( + k.N( + 'hintn1', + 'Made {0} formatting edits on line {1}', + e.length, + i + ) + ) + : 1 === e.length + ? (0, f.Z9)( + k.N( + 'hint1n', + 'Made 1 formatting edit between lines {0} and {1}', + i, + n + ) + ) + : (0, f.Z9)( + k.N( + 'hintnn', + 'Made {0} formatting edits between lines {1} and {2}', + e.length, + i, + n + ) + ); + } + function O(e) { + const t = [], + i = new Set(), + n = u.Az.ordered(e); + for (const e of n) + t.push(e), e.extensionId && i.add(x.toKey(e.extensionId)); + const r = u.vN.ordered(e); + for (const e of r) { + if (e.extensionId) { + if (i.has(x.toKey(e.extensionId))) continue; + i.add(x.toKey(e.extensionId)); + } + t.push({ + displayName: e.displayName, + extensionId: e.extensionId, + provideDocumentFormattingEdits: (t, i, n) => + e.provideDocumentRangeFormattingEdits( + t, + t.getFullModelRange(), + i, + n + ), + }); + } + return t; + } + class A { + static select(e, t, i) { + return T(this, void 0, void 0, function* () { + if (0 === e.length) return; + const n = E.$.first(A._selectors); + return n ? yield n(e, t, i) : e[0]; + }); + } + } + function R(e, t, i, n, r, s) { + return T(this, void 0, void 0, function* () { + const o = e.get(L.TG), + a = (0, b.CL)(t) ? t.getModel() : t, + l = u.vN.ordered(a), + c = yield A.select(l, a, n); + c && (r.report(c), yield o.invokeFunction(P, c, t, i, s)); + }); + } + function P(e, t, i, r, s) { + return T(this, void 0, void 0, function* () { + const o = e.get(g.p); + let a, l; + (0, b.CL)(i) + ? ((a = i.getModel()), (l = new _.Dl(i, 5, void 0, s))) + : ((a = i), (l = new _.YQ(i, s))); + let c = [], + h = 0; + for (let e of (0, n._2)(r).sort(d.e.compareRangesUsingStarts)) + h > 0 && d.e.areIntersectingOrTouching(c[h - 1], e) + ? (c[h - 1] = d.e.fromPositions( + c[h - 1].getStartPosition(), + e.getEndPosition() + )) + : (h = c.push(e)); + const u = []; + for (let e of c) + try { + const i = yield t.provideDocumentRangeFormattingEdits( + a, + e, + a.getFormattingOptions(), + l.token + ), + n = yield o.computeMoreMinimalEdits(a.uri, i); + if ((n && u.push(...n), l.token.isCancellationRequested)) + return !0; + } finally { + l.dispose(); + } + if (0 === u.length) return !1; + if ((0, b.CL)(i)) + S.execute(i, u, !0), + I(u), + i.revealPositionInCenterIfOutsideViewport(i.getPosition(), 1); + else { + const [{ range: e }] = u, + t = new y.Y( + e.startLineNumber, + e.startColumn, + e.endLineNumber, + e.endColumn + ); + a.pushEditOperations( + [t], + u.map((e) => ({ + text: e.text, + range: d.e.lift(e.range), + forceMoveMarkers: !0, + })), + (e) => { + for (const { range: i } of e) + if (d.e.areIntersectingOrTouching(i, t)) + return [ + new y.Y( + i.startLineNumber, + i.startColumn, + i.endLineNumber, + i.endColumn + ), + ]; + return null; + } + ); + } + return !0; + }); + } + function F(e, t, i, n, r) { + return T(this, void 0, void 0, function* () { + const s = e.get(L.TG), + o = (0, b.CL)(t) ? t.getModel() : t, + a = O(o), + l = yield A.select(a, o, i); + l && (n.report(l), yield s.invokeFunction(B, l, t, i, r)); + }); + } + function B(e, t, i, n, r) { + return T(this, void 0, void 0, function* () { + const s = e.get(g.p); + let o, a, l; + (0, b.CL)(i) + ? ((o = i.getModel()), (a = new _.Dl(i, 5, void 0, r))) + : ((o = i), (a = new _.YQ(i, r))); + try { + const e = yield t.provideDocumentFormattingEdits( + o, + o.getFormattingOptions(), + a.token + ); + if ( + ((l = yield s.computeMoreMinimalEdits(o.uri, e)), + a.token.isCancellationRequested) + ) + return !0; + } finally { + a.dispose(); + } + if (!l || 0 === l.length) return !1; + if ((0, b.CL)(i)) + S.execute(i, l, 2 !== n), + 2 !== n && + (I(l), + i.revealPositionInCenterIfOutsideViewport( + i.getPosition(), + 1 + )); + else { + const [{ range: e }] = l, + t = new y.Y( + e.startLineNumber, + e.startColumn, + e.endLineNumber, + e.endColumn + ); + o.pushEditOperations( + [t], + l.map((e) => ({ + text: e.text, + range: d.e.lift(e.range), + forceMoveMarkers: !0, + })), + (e) => { + for (const { range: i } of e) + if (d.e.areIntersectingOrTouching(i, t)) + return [ + new y.Y( + i.startLineNumber, + i.startColumn, + i.endLineNumber, + i.endColumn + ), + ]; + return null; + } + ); + } + return !0; + }); + } + function W(e, t, i, n, s) { + const o = u.ln.ordered(t); + return 0 === o.length || + o[0].autoFormatTriggerCharacters.indexOf(n) < 0 + ? Promise.resolve(void 0) + : Promise.resolve( + o[0].provideOnTypeFormattingEdits(t, i, n, s, r.T.None) + ) + .catch(p.Cp) + .then((i) => e.computeMoreMinimalEdits(t.uri, i)); + } + (A._selectors = new M.S()), + D.P.registerCommand( + '_executeFormatRangeProvider', + function (e, ...t) { + const [i, s, o] = t; + (0, N.p_)(m.o.isUri(i)), (0, N.p_)(d.e.isIRange(s)); + const a = e.get(w.q).getModel(i); + if (!a) throw (0, p.b1)('resource'); + return (function (e, t, i, r, s) { + return T(this, void 0, void 0, function* () { + const o = u.vN.ordered(t); + for (const a of o) { + let o = yield Promise.resolve( + a.provideDocumentRangeFormattingEdits(t, i, r, s) + ).catch(p.Cp); + if ((0, n.Of)(o)) + return yield e.computeMoreMinimalEdits(t.uri, o); + } + }); + })(e.get(g.p), a, d.e.lift(s), o, r.T.None); + } + ), + D.P.registerCommand( + '_executeFormatDocumentProvider', + function (e, ...t) { + const [i, s] = t; + (0, N.p_)(m.o.isUri(i)); + const o = e.get(w.q).getModel(i); + if (!o) throw (0, p.b1)('resource'); + return (function (e, t, i, r) { + return T(this, void 0, void 0, function* () { + const s = O(t); + for (const o of s) { + let s = yield Promise.resolve( + o.provideDocumentFormattingEdits(t, i, r) + ).catch(p.Cp); + if ((0, n.Of)(s)) + return yield e.computeMoreMinimalEdits(t.uri, s); + } + }); + })(e.get(g.p), o, s, r.T.None); + } + ), + D.P.registerCommand( + '_executeFormatOnTypeProvider', + function (e, ...t) { + const [i, n, r, s] = t; + (0, N.p_)(m.o.isUri(i)), + (0, N.p_)(v.L.isIPosition(n)), + (0, N.p_)('string' == typeof r); + const o = e.get(w.q).getModel(i); + if (!o) throw (0, p.b1)('resource'); + return W(e.get(g.p), o, v.L.lift(n), r, s); + } + ); + var Y = i(38819), + H = i(90535), + j = function (e, t, i, n) { + var r, + s = arguments.length, + o = + s < 3 + ? t + : null === n + ? (n = Object.getOwnPropertyDescriptor(t, i)) + : n; + if ( + 'object' == typeof Reflect && + 'function' == typeof Reflect.decorate + ) + o = Reflect.decorate(e, t, i, n); + else + for (var a = e.length - 1; a >= 0; a--) + (r = e[a]) && + (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); + return s > 3 && o && Object.defineProperty(t, i, o), o; + }, + V = function (e, t) { + return function (i, n) { + t(i, n, e); + }; + }, + z = function (e, t, i, n) { + return new (i || (i = Promise))(function (r, s) { + function o(e) { + try { + l(n.next(e)); + } catch (e) { + s(e); + } + } + function a(e) { + try { + l(n.throw(e)); + } catch (e) { + s(e); + } + } + function l(e) { + var t; + e.done + ? r(e.value) + : ((t = e.value), + t instanceof i + ? t + : new i(function (e) { + e(t); + })).then(o, a); + } + l((n = n.apply(e, t || [])).next()); + }); + }; + let U = class { + constructor(e, t) { + (this._workerService = t), + (this._callOnDispose = new o.SL()), + (this._callOnModel = new o.SL()), + (this._editor = e), + this._callOnDispose.add( + e.onDidChangeConfiguration(() => this._update()) + ), + this._callOnDispose.add(e.onDidChangeModel(() => this._update())), + this._callOnDispose.add( + e.onDidChangeModelLanguage(() => this._update()) + ), + this._callOnDispose.add(u.ln.onDidChange(this._update, this)); + } + dispose() { + this._callOnDispose.dispose(), this._callOnModel.dispose(); + } + _update() { + if ((this._callOnModel.clear(), !this._editor.getOption(41))) + return; + if (!this._editor.hasModel()) return; + const e = this._editor.getModel(), + [t] = u.ln.ordered(e); + if (!t || !t.autoFormatTriggerCharacters) return; + let i = new c.q(); + for (let e of t.autoFormatTriggerCharacters) i.add(e.charCodeAt(0)); + this._callOnModel.add( + this._editor.onDidType((e) => { + let t = e.charCodeAt(e.length - 1); + i.has(t) && this._trigger(String.fromCharCode(t)); + }) + ); + } + _trigger(e) { + if (!this._editor.hasModel()) return; + if (this._editor.getSelections().length > 1) return; + const t = this._editor.getModel(), + i = this._editor.getPosition(); + let r = !1; + const s = this._editor.onDidChangeModelContent((e) => { + if (e.isFlush) return (r = !0), void s.dispose(); + for (let t = 0, n = e.changes.length; t < n; t++) + if (e.changes[t].range.endLineNumber <= i.lineNumber) + return (r = !0), void s.dispose(); + }); + W(this._workerService, t, i, e, t.getFormattingOptions()).then( + (e) => { + s.dispose(), + r || ((0, n.Of)(e) && (S.execute(this._editor, e, !0), I(e))); + }, + (e) => { + throw (s.dispose(), e); + } + ); + } + }; + (U.ID = 'editor.contrib.autoFormat'), (U = j([V(1, g.p)], U)); + let $ = class { + constructor(e, t) { + (this.editor = e), + (this._instantiationService = t), + (this._callOnDispose = new o.SL()), + (this._callOnModel = new o.SL()), + this._callOnDispose.add( + e.onDidChangeConfiguration(() => this._update()) + ), + this._callOnDispose.add(e.onDidChangeModel(() => this._update())), + this._callOnDispose.add( + e.onDidChangeModelLanguage(() => this._update()) + ), + this._callOnDispose.add(u.vN.onDidChange(this._update, this)); + } + dispose() { + this._callOnDispose.dispose(), this._callOnModel.dispose(); + } + _update() { + this._callOnModel.clear(), + this.editor.getOption(40) && + this.editor.hasModel() && + u.vN.has(this.editor.getModel()) && + this._callOnModel.add( + this.editor.onDidPaste(({ range: e }) => this._trigger(e)) + ); + } + _trigger(e) { + this.editor.hasModel() && + (this.editor.getSelections().length > 1 || + this._instantiationService + .invokeFunction(R, this.editor, e, 2, H.E.None, r.T.None) + .catch(p.dL)); + } + }; + ($.ID = 'editor.contrib.formatOnPaste'), ($ = j([V(1, L.TG)], $)); + class K extends a.R6 { + constructor() { + super({ + id: 'editor.action.formatDocument', + label: k.N('formatDocument.label', 'Format Document'), + alias: 'Format Document', + precondition: Y.Ao.and( + h.u.notInCompositeEditor, + h.u.writable, + h.u.hasDocumentFormattingProvider + ), + kbOpts: { + kbExpr: Y.Ao.and( + h.u.editorTextFocus, + h.u.hasDocumentFormattingProvider + ), + primary: 1572, + linux: { primary: 3111 }, + weight: 100, + }, + contextMenuOpts: { + when: h.u.hasDocumentFormattingProvider, + group: '1_modification', + order: 1.3, + }, + }); + } + run(e, t) { + return z(this, void 0, void 0, function* () { + if (t.hasModel()) { + const i = e.get(L.TG), + n = e.get(H.e); + yield n.showWhile( + i.invokeFunction(F, t, 1, H.E.None, r.T.None), + 250 + ); + } + }); + } + } + class q extends a.R6 { + constructor() { + super({ + id: 'editor.action.formatSelection', + label: k.N('formatSelection.label', 'Format Selection'), + alias: 'Format Selection', + precondition: Y.Ao.and( + h.u.writable, + h.u.hasDocumentSelectionFormattingProvider + ), + kbOpts: { + kbExpr: Y.Ao.and( + h.u.editorTextFocus, + h.u.hasDocumentSelectionFormattingProvider + ), + primary: (0, s.gx)(2089, 2084), + weight: 100, + }, + contextMenuOpts: { + when: Y.Ao.and( + h.u.hasDocumentSelectionFormattingProvider, + h.u.hasNonEmptySelection + ), + group: '1_modification', + order: 1.31, + }, + }); + } + run(e, t) { + return z(this, void 0, void 0, function* () { + if (!t.hasModel()) return; + const i = e.get(L.TG), + n = t.getModel(), + s = t + .getSelections() + .map((e) => + e.isEmpty() + ? new d.e( + e.startLineNumber, + 1, + e.startLineNumber, + n.getLineMaxColumn(e.startLineNumber) + ) + : e + ), + o = e.get(H.e); + yield o.showWhile( + i.invokeFunction(R, t, s, 1, H.E.None, r.T.None), + 250 + ); + }); + } + } + (0, a._K)(U.ID, U), + (0, a._K)($.ID, $), + (0, a.Qr)(K), + (0, a.Qr)(q), + D.P.registerCommand('editor.action.format', (e) => + z(void 0, void 0, void 0, function* () { + const t = e.get(l.$).getFocusedCodeEditor(); + if (!t || !t.hasModel()) return; + const i = e.get(D.H); + t.getSelection().isEmpty() + ? yield i.executeCommand('editor.action.formatDocument') + : yield i.executeCommand('editor.action.formatSelection'); + }) + ); + }, + 42698: (e, t, i) => { + 'use strict'; + i.r(t), + i.d(t, { MarkerController: () => J, NextMarkerAction: () => X }); + var n, + r = i(63580), + s = i(5976), + o = i(38819), + a = i(50187), + l = i(24314), + c = i(16830), + d = i(29102), + h = i(65321), + u = i(98674), + g = i(73910), + f = i(97781), + p = i(41264), + m = i(9802), + _ = i(68843), + b = i(9488), + v = i(4669), + y = i(22043), + w = i(95935), + C = i(14603), + S = i(73046); + !(function (e) { + e.className = function (e) { + switch (e) { + case C.Z.Ignore: + return 'severity-ignore ' + S.lA.info.classNames; + case C.Z.Info: + return S.lA.info.classNames; + case C.Z.Warning: + return S.lA.warning.classNames; + case C.Z.Error: + return S.lA.error.classNames; + default: + return ''; + } + }; + })(n || (n = {})), + (0, f.Ic)((e, t) => { + const i = e.getColor(g.Jp); + if (i) { + const e = S.lA.error.cssSelector; + t.addRule( + `\n\t\t\t.monaco-editor .zone-widget ${e},\n\t\t\t.markers-panel .marker-icon${e},\n\t\t\t.extensions-viewlet > .extensions ${e} {\n\t\t\t\tcolor: ${i};\n\t\t\t}\n\t\t` + ); + } + const n = e.getColor(g.BO); + if (n) { + const e = S.lA.warning.cssSelector; + t.addRule( + `\n\t\t\t.monaco-editor .zone-widget ${e},\n\t\t\t.markers-panel .marker-icon${e},\n\t\t\t.extensions-viewlet > .extensions ${e},\n\t\t\t.extension-editor ${e} {\n\t\t\t\tcolor: ${n};\n\t\t\t}\n\t\t` + ); + } + const r = e.getColor(g.OL); + if (r) { + const e = S.lA.info.cssSelector; + t.addRule( + `\n\t\t\t.monaco-editor .zone-widget ${e},\n\t\t\t.markers-panel .marker-icon${e},\n\t\t\t.extensions-viewlet > .extensions ${e},\n\t\t\t.extension-editor ${e} {\n\t\t\t\tcolor: ${r};\n\t\t\t}\n\t\t` + ); + } + }); + var k = i(50988), + x = i(84144), + L = i(58335), + M = i(72065), + D = function (e, t) { + return function (i, n) { + t(i, n, e); + }; + }; + class N { + constructor(e, t, i, n) { + (this._openerService = n), + (this._lines = 0), + (this._longestLineLength = 0), + (this._relatedDiagnostics = new WeakMap()), + (this._disposables = new s.SL()), + (this._editor = t); + const r = document.createElement('div'); + (r.className = 'descriptioncontainer'), + (this._messageBlock = document.createElement('div')), + h.cn(this._messageBlock, 'message'), + this._messageBlock.setAttribute('aria-live', 'assertive'), + this._messageBlock.setAttribute('role', 'alert'), + r.appendChild(this._messageBlock), + (this._relatedBlock = document.createElement('div')), + r.appendChild(this._relatedBlock), + this._disposables.add( + h.mu(this._relatedBlock, 'click', (e) => { + e.preventDefault(); + const t = this._relatedDiagnostics.get(e.target); + t && i(t); + }) + ), + (this._scrollable = new m.NB(r, { + horizontal: 1, + vertical: 1, + useShadows: !1, + horizontalScrollbarSize: 3, + verticalScrollbarSize: 3, + })), + e.appendChild(this._scrollable.getDomNode()), + this._disposables.add( + this._scrollable.onScroll((e) => { + (r.style.left = `-${e.scrollLeft}px`), + (r.style.top = `-${e.scrollTop}px`); + }) + ), + this._disposables.add(this._scrollable); + } + dispose() { + (0, s.B9)(this._disposables); + } + update(e) { + const { source: t, message: i, relatedInformation: n, code: r } = e; + let s = ((null == t ? void 0 : t.length) || 0) + '()'.length; + r && (s += 'string' == typeof r ? r.length : r.value.length); + const o = i.split(/\r\n|\r|\n/g); + (this._lines = o.length), (this._longestLineLength = 0); + for (const e of o) + this._longestLineLength = Math.max( + e.length + s, + this._longestLineLength + ); + h.PO(this._messageBlock), + this._messageBlock.setAttribute( + 'aria-label', + this.getAriaLabel(e) + ), + this._editor.applyFontInfo(this._messageBlock); + let a = this._messageBlock; + for (const e of o) + (a = document.createElement('div')), + (a.innerText = e), + '' === e && + (a.style.height = this._messageBlock.style.lineHeight), + this._messageBlock.appendChild(a); + if (t || r) { + const e = document.createElement('span'); + if ((h.cn(e, 'details'), a.appendChild(e), t)) { + const i = document.createElement('span'); + (i.innerText = t), h.cn(i, 'source'), e.appendChild(i); + } + if (r) + if ('string' == typeof r) { + const t = document.createElement('span'); + (t.innerText = `(${r})`), h.cn(t, 'code'), e.appendChild(t); + } else + (this._codeLink = h.$('a.code-link')), + this._codeLink.setAttribute( + 'href', + `${r.target.toString()}` + ), + (this._codeLink.onclick = (e) => { + this._openerService.open(r.target), + e.preventDefault(), + e.stopPropagation(); + }), + (h.R3(this._codeLink, h.$('span')).innerText = r.value), + e.appendChild(this._codeLink); + } + if ( + (h.PO(this._relatedBlock), + this._editor.applyFontInfo(this._relatedBlock), + (0, b.Of)(n)) + ) { + const e = this._relatedBlock.appendChild( + document.createElement('div') + ); + (e.style.paddingTop = `${Math.floor( + 0.66 * this._editor.getOption(51) + )}px`), + (this._lines += 1); + for (const t of n) { + let i = document.createElement('div'), + n = document.createElement('a'); + h.cn(n, 'filename'), + (n.innerText = `${(0, _.pP)(t.resource)}(${ + t.startLineNumber + }, ${t.startColumn}): `), + (n.title = (0, _.kz)(t.resource, void 0)), + this._relatedDiagnostics.set(n, t); + let r = document.createElement('span'); + (r.innerText = t.message), + i.appendChild(n), + i.appendChild(r), + (this._lines += 1), + e.appendChild(i); + } + } + const l = this._editor.getOption(36), + c = Math.ceil( + l.typicalFullwidthCharacterWidth * + this._longestLineLength * + 0.75 + ), + d = l.lineHeight * this._lines; + this._scrollable.setScrollDimensions({ + scrollWidth: c, + scrollHeight: d, + }); + } + layout(e, t) { + (this._scrollable.getDomNode().style.height = `${e}px`), + (this._scrollable.getDomNode().style.width = `${t}px`), + this._scrollable.setScrollDimensions({ width: t, height: e }); + } + getHeightInLines() { + return Math.min(17, this._lines); + } + getAriaLabel(e) { + let t = ''; + switch (e.severity) { + case u.ZL.Error: + t = r.N('Error', 'Error'); + break; + case u.ZL.Warning: + t = r.N('Warning', 'Warning'); + break; + case u.ZL.Info: + t = r.N('Info', 'Info'); + break; + case u.ZL.Hint: + t = r.N('Hint', 'Hint'); + } + let i = r.N( + 'marker aria', + '{0} at {1}. ', + t, + e.startLineNumber + ':' + e.startColumn + ); + const n = this._editor.getModel(); + return ( + n && + e.startLineNumber <= n.getLineCount() && + e.startLineNumber >= 1 && + (i = `${n.getLineContent(e.startLineNumber)}, ${i}`), + i + ); + } + } + let E = class e extends y.vk { + constructor(e, t, i, n, r, o) { + super(e, { showArrow: !0, showFrame: !0, isAccessible: !0 }, r), + (this._themeService = t), + (this._openerService = i), + (this._menuService = n), + (this._contextKeyService = o), + (this._callOnDispose = new s.SL()), + (this._onDidSelectRelatedInformation = new v.Q5()), + (this.onDidSelectRelatedInformation = this._onDidSelectRelatedInformation.event), + (this._severity = u.ZL.Warning), + (this._backgroundColor = p.Il.white), + this._applyTheme(t.getColorTheme()), + this._callOnDispose.add( + t.onDidColorThemeChange(this._applyTheme.bind(this)) + ), + this.create(); + } + _applyTheme(e) { + this._backgroundColor = e.getColor(F); + let t = A; + this._severity === u.ZL.Warning + ? (t = R) + : this._severity === u.ZL.Info && (t = P); + const i = e.getColor(t); + this.style({ + arrowColor: i, + frameColor: i, + headerBackgroundColor: this._backgroundColor, + primaryHeadingColor: e.getColor(y.IH), + secondaryHeadingColor: e.getColor(y.R7), + }); + } + _applyStyles() { + this._parentContainer && + (this._parentContainer.style.backgroundColor = this + ._backgroundColor + ? this._backgroundColor.toString() + : ''), + super._applyStyles(); + } + dispose() { + this._callOnDispose.dispose(), super.dispose(); + } + _fillHead(t) { + super._fillHead(t), + this._disposables.add( + this._actionbarWidget.actionRunner.onDidBeforeRun((e) => + this.editor.focus() + ) + ); + const i = [], + n = this._menuService.createMenu( + e.TitleMenu, + this._contextKeyService + ); + (0, L.vr)(n, void 0, i), + this._actionbarWidget.push(i, { label: !1, icon: !0, index: 0 }), + n.dispose(); + } + _fillTitleIcon(e) { + this._icon = h.R3(e, h.$('')); + } + _getActionBarOptions() { + return Object.assign( + Object.assign({}, super._getActionBarOptions()), + { orientation: 0 } + ); + } + _fillBody(e) { + (this._parentContainer = e), + h.cn(e, 'marker-widget'), + (this._parentContainer.tabIndex = 0), + this._parentContainer.setAttribute('role', 'tooltip'), + (this._container = document.createElement('div')), + e.appendChild(this._container), + (this._message = new N( + this._container, + this.editor, + (e) => this._onDidSelectRelatedInformation.fire(e), + this._openerService + )), + this._disposables.add(this._message); + } + show() { + throw new Error('call showAtMarker'); + } + showAtMarker(e, t, i) { + this._container.classList.remove('stale'), + this._message.update(e), + (this._severity = e.severity), + this._applyTheme(this._themeService.getColorTheme()); + let s = l.e.lift(e); + const o = this.editor.getPosition(); + let a = o && s.containsPosition(o) ? o : s.getStartPosition(); + super.show(a, this.computeRequiredHeight()); + const c = this.editor.getModel(); + if (c) { + const e = + i > 1 + ? r.N('problems', '{0} of {1} problems', t, i) + : r.N('change', '{0} of {1} problem', t, i); + this.setTitle((0, w.EZ)(c.uri), e); + } + (this._icon.className = `codicon ${n.className( + u.ZL.toSeverity(this._severity) + )}`), + this.editor.revealPositionNearTop(a, 0), + this.editor.focus(); + } + updateMarker(e) { + this._container.classList.remove('stale'), this._message.update(e); + } + showStale() { + this._container.classList.add('stale'), this._relayout(); + } + _doLayoutBody(e, t) { + super._doLayoutBody(e, t), + (this._heightInPixel = e), + this._message.layout(e, t), + (this._container.style.height = `${e}px`); + } + _onWidth(e) { + this._message.layout(this._heightInPixel, e); + } + _relayout() { + super._relayout(this.computeRequiredHeight()); + } + computeRequiredHeight() { + return 3 + this._message.getHeightInLines(); + } + }; + (E.TitleMenu = new x.eH('gotoErrorTitleMenu')), + (E = (function (e, t, i, n) { + var r, + s = arguments.length, + o = + s < 3 + ? t + : null === n + ? (n = Object.getOwnPropertyDescriptor(t, i)) + : n; + if ( + 'object' == typeof Reflect && + 'function' == typeof Reflect.decorate + ) + o = Reflect.decorate(e, t, i, n); + else + for (var a = e.length - 1; a >= 0; a--) + (r = e[a]) && + (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); + return s > 3 && o && Object.defineProperty(t, i, o), o; + })([D(1, f.XE), D(2, k.v4), D(3, x.co), D(4, M.TG), D(5, o.i6)], E)); + let T = (0, g.kw)(g.lX, g.b6), + I = (0, g.kw)(g.uo, g.pW), + O = (0, g.kw)(g.c6, g.T8); + const A = (0, g.P6)( + 'editorMarkerNavigationError.background', + { dark: T, light: T, hc: T }, + r.N( + 'editorMarkerNavigationError', + 'Editor marker navigation widget error color.' + ) + ), + R = (0, g.P6)( + 'editorMarkerNavigationWarning.background', + { dark: I, light: I, hc: I }, + r.N( + 'editorMarkerNavigationWarning', + 'Editor marker navigation widget warning color.' + ) + ), + P = (0, g.P6)( + 'editorMarkerNavigationInfo.background', + { dark: O, light: O, hc: O }, + r.N( + 'editorMarkerNavigationInfo', + 'Editor marker navigation widget info color.' + ) + ), + F = (0, g.P6)( + 'editorMarkerNavigation.background', + { dark: '#2D2D30', light: p.Il.white, hc: '#0C141F' }, + r.N( + 'editorMarkerNavigationBackground', + 'Editor marker navigation widget background.' + ) + ); + (0, f.Ic)((e, t) => { + const i = e.getColor(g.ur); + i && + (t.addRule(`.monaco-editor .marker-widget a { color: ${i}; }`), + t.addRule( + `.monaco-editor .marker-widget a.code-link span:hover { color: ${i}; }` + )); + }); + var B = i(11640), + W = i(70666), + Y = i(97295), + H = i(65026), + j = i(91741), + V = function (e, t, i, n) { + var r, + s = arguments.length, + o = + s < 3 + ? t + : null === n + ? (n = Object.getOwnPropertyDescriptor(t, i)) + : n; + if ( + 'object' == typeof Reflect && + 'function' == typeof Reflect.decorate + ) + o = Reflect.decorate(e, t, i, n); + else + for (var a = e.length - 1; a >= 0; a--) + (r = e[a]) && + (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); + return s > 3 && o && Object.defineProperty(t, i, o), o; + }, + z = function (e, t) { + return function (i, n) { + t(i, n, e); + }; + }; + class U { + constructor(e, t, i) { + (this.marker = e), (this.index = t), (this.total = i); + } + } + let $ = class e { + constructor(t, i) { + (this._markerService = i), + (this._onDidChange = new v.Q5()), + (this.onDidChange = this._onDidChange.event), + (this._dispoables = new s.SL()), + (this._markers = []), + (this._nextIdx = -1), + W.o.isUri(t) + ? (this._resourceFilter = (e) => e.toString() === t.toString()) + : t && (this._resourceFilter = t); + const n = () => { + (this._markers = this._markerService.read({ + resource: W.o.isUri(t) ? t : void 0, + severities: u.ZL.Error | u.ZL.Warning | u.ZL.Info, + })), + 'function' == typeof t && + (this._markers = this._markers.filter((e) => + this._resourceFilter(e.resource) + )), + this._markers.sort(e._compareMarker); + }; + n(), + this._dispoables.add( + i.onMarkerChanged((e) => { + (this._resourceFilter && + !e.some((e) => this._resourceFilter(e))) || + (n(), (this._nextIdx = -1), this._onDidChange.fire()); + }) + ); + } + dispose() { + this._dispoables.dispose(), this._onDidChange.dispose(); + } + matches(e) { + return ( + (!this._resourceFilter && !e) || + (!(!this._resourceFilter || !e) && this._resourceFilter(e)) + ); + } + get selected() { + const e = this._markers[this._nextIdx]; + return e && new U(e, this._nextIdx + 1, this._markers.length); + } + _initIdx(e, t, i) { + let n = !1, + r = this._markers.findIndex( + (t) => t.resource.toString() === e.uri.toString() + ); + r < 0 && + ((r = (0, b.ry)(this._markers, { resource: e.uri }, (e, t) => + (0, Y.qu)(e.resource.toString(), t.resource.toString()) + )), + r < 0 && (r = ~r)); + for (let i = r; i < this._markers.length; i++) { + let r = l.e.lift(this._markers[i]); + if (r.isEmpty()) { + const t = e.getWordAtPosition(r.getStartPosition()); + t && + (r = new l.e( + r.startLineNumber, + t.startColumn, + r.startLineNumber, + t.endColumn + )); + } + if ( + t && + (r.containsPosition(t) || + t.isBeforeOrEqual(r.getStartPosition())) + ) { + (this._nextIdx = i), (n = !0); + break; + } + if (this._markers[i].resource.toString() !== e.uri.toString()) + break; + } + n || (this._nextIdx = i ? 0 : this._markers.length - 1), + this._nextIdx < 0 && (this._nextIdx = this._markers.length - 1); + } + resetIndex() { + this._nextIdx = -1; + } + move(e, t, i) { + if (0 === this._markers.length) return !1; + let n = this._nextIdx; + return ( + -1 === this._nextIdx + ? this._initIdx(t, i, e) + : e + ? (this._nextIdx = (this._nextIdx + 1) % this._markers.length) + : e || + (this._nextIdx = + (this._nextIdx - 1 + this._markers.length) % + this._markers.length), + n !== this._nextIdx + ); + } + find(e, t) { + let i = this._markers.findIndex( + (t) => t.resource.toString() === e.toString() + ); + if (!(i < 0)) + for (; i < this._markers.length; i++) + if (l.e.containsPosition(this._markers[i], t)) + return new U(this._markers[i], i + 1, this._markers.length); + } + static _compareMarker(e, t) { + let i = (0, Y.qu)(e.resource.toString(), t.resource.toString()); + return ( + 0 === i && (i = u.ZL.compare(e.severity, t.severity)), + 0 === i && (i = l.e.compareRangesUsingStarts(e, t)), + i + ); + } + }; + $ = V([z(1, u.lT)], $); + const K = (0, M.yh)('IMarkerNavigationService'); + let q = class { + constructor(e) { + (this._markerService = e), (this._provider = new j.S()); + } + getMarkerList(e) { + for (let t of this._provider) { + const i = t.getMarkerList(e); + if (i) return i; + } + return new $(e, this._markerService); + } + }; + (q = V([z(0, u.lT)], q)), (0, H.z)(K, q, !0); + var G = function (e, t) { + return function (i, n) { + t(i, n, e); + }; + }, + Z = function (e, t, i, n) { + return new (i || (i = Promise))(function (r, s) { + function o(e) { + try { + l(n.next(e)); + } catch (e) { + s(e); + } + } + function a(e) { + try { + l(n.throw(e)); + } catch (e) { + s(e); + } + } + function l(e) { + var t; + e.done + ? r(e.value) + : ((t = e.value), + t instanceof i + ? t + : new i(function (e) { + e(t); + })).then(o, a); + } + l((n = n.apply(e, t || [])).next()); + }); + }; + let J = class e { + constructor(e, t, i, n, r) { + (this._markerNavigationService = t), + (this._contextKeyService = i), + (this._editorService = n), + (this._instantiationService = r), + (this._sessionDispoables = new s.SL()), + (this._editor = e), + (this._widgetVisible = te.bindTo(this._contextKeyService)); + } + static get(t) { + return t.getContribution(e.ID); + } + dispose() { + this._cleanUp(), this._sessionDispoables.dispose(); + } + _cleanUp() { + this._widgetVisible.reset(), + this._sessionDispoables.clear(), + (this._widget = void 0), + (this._model = void 0); + } + _getOrCreateModel(e) { + if (this._model && this._model.matches(e)) return this._model; + let t = !1; + return ( + this._model && ((t = !0), this._cleanUp()), + (this._model = this._markerNavigationService.getMarkerList(e)), + t && + this._model.move( + !0, + this._editor.getModel(), + this._editor.getPosition() + ), + (this._widget = this._instantiationService.createInstance( + E, + this._editor + )), + this._widget.onDidClose( + () => this.close(), + this, + this._sessionDispoables + ), + this._widgetVisible.set(!0), + this._sessionDispoables.add(this._model), + this._sessionDispoables.add(this._widget), + this._sessionDispoables.add( + this._editor.onDidChangeCursorPosition((e) => { + var t, i, n; + ((null === (t = this._model) || void 0 === t + ? void 0 + : t.selected) && + l.e.containsPosition( + null === (i = this._model) || void 0 === i + ? void 0 + : i.selected.marker, + e.position + )) || + null === (n = this._model) || + void 0 === n || + n.resetIndex(); + }) + ), + this._sessionDispoables.add( + this._model.onDidChange(() => { + if (!this._widget || !this._widget.position || !this._model) + return; + const e = this._model.find( + this._editor.getModel().uri, + this._widget.position + ); + e + ? this._widget.updateMarker(e.marker) + : this._widget.showStale(); + }) + ), + this._sessionDispoables.add( + this._widget.onDidSelectRelatedInformation((e) => { + this._editorService.openCodeEditor( + { + resource: e.resource, + options: { + pinned: !0, + revealIfOpened: !0, + selection: l.e.lift(e).collapseToStart(), + }, + }, + this._editor + ), + this.close(!1); + }) + ), + this._sessionDispoables.add( + this._editor.onDidChangeModel(() => this._cleanUp()) + ), + this._model + ); + } + close(e = !0) { + this._cleanUp(), e && this._editor.focus(); + } + showAtMarker(e) { + if (this._editor.hasModel()) { + const t = this._getOrCreateModel(this._editor.getModel().uri); + t.resetIndex(), + t.move( + !0, + this._editor.getModel(), + new a.L(e.startLineNumber, e.startColumn) + ), + t.selected && + this._widget.showAtMarker( + t.selected.marker, + t.selected.index, + t.selected.total + ); + } + } + nagivate(t, i) { + return Z(this, void 0, void 0, function* () { + if (this._editor.hasModel()) { + const n = this._getOrCreateModel( + i ? void 0 : this._editor.getModel().uri + ); + if ( + (n.move( + t, + this._editor.getModel(), + this._editor.getPosition() + ), + !n.selected) + ) + return; + if ( + n.selected.marker.resource.toString() !== + this._editor.getModel().uri.toString() + ) { + this._cleanUp(); + const r = yield this._editorService.openCodeEditor( + { + resource: n.selected.marker.resource, + options: { + pinned: !1, + revealIfOpened: !0, + selectionRevealType: 2, + selection: n.selected.marker, + }, + }, + this._editor + ); + r && (e.get(r).close(), e.get(r).nagivate(t, i)); + } else + this._widget.showAtMarker( + n.selected.marker, + n.selected.index, + n.selected.total + ); + } + }); + } + }; + (J.ID = 'editor.contrib.markerController'), + (J = (function (e, t, i, n) { + var r, + s = arguments.length, + o = + s < 3 + ? t + : null === n + ? (n = Object.getOwnPropertyDescriptor(t, i)) + : n; + if ( + 'object' == typeof Reflect && + 'function' == typeof Reflect.decorate + ) + o = Reflect.decorate(e, t, i, n); + else + for (var a = e.length - 1; a >= 0; a--) + (r = e[a]) && + (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); + return s > 3 && o && Object.defineProperty(t, i, o), o; + })([G(1, K), G(2, o.i6), G(3, B.$), G(4, M.TG)], J)); + class Q extends c.R6 { + constructor(e, t, i) { + super(i), (this._next = e), (this._multiFile = t); + } + run(e, t) { + return Z(this, void 0, void 0, function* () { + t.hasModel() && J.get(t).nagivate(this._next, this._multiFile); + }); + } + } + class X extends Q { + constructor() { + super(!0, !1, { + id: X.ID, + label: X.LABEL, + alias: 'Go to Next Problem (Error, Warning, Info)', + precondition: void 0, + kbOpts: { kbExpr: d.u.focus, primary: 578, weight: 100 }, + menuOpts: { + menuId: E.TitleMenu, + title: X.LABEL, + icon: (0, S.q5)('marker-navigation-next', S.lA.chevronDown), + group: 'navigation', + order: 1, + }, + }); + } + } + (X.ID = 'editor.action.marker.next'), + (X.LABEL = r.N( + 'markerAction.next.label', + 'Go to Next Problem (Error, Warning, Info)' + )); + class ee extends Q { + constructor() { + super(!1, !1, { + id: ee.ID, + label: ee.LABEL, + alias: 'Go to Previous Problem (Error, Warning, Info)', + precondition: void 0, + kbOpts: { kbExpr: d.u.focus, primary: 1602, weight: 100 }, + menuOpts: { + menuId: E.TitleMenu, + title: X.LABEL, + icon: (0, S.q5)('marker-navigation-previous', S.lA.chevronUp), + group: 'navigation', + order: 2, + }, + }); + } + } + (ee.ID = 'editor.action.marker.prev'), + (ee.LABEL = r.N( + 'markerAction.previous.label', + 'Go to Previous Problem (Error, Warning, Info)' + )), + (0, c._K)(J.ID, J), + (0, c.Qr)(X), + (0, c.Qr)(ee), + (0, c.Qr)( + class extends Q { + constructor() { + super(!0, !0, { + id: 'editor.action.marker.nextInFiles', + label: r.N( + 'markerAction.nextInFiles.label', + 'Go to Next Problem in Files (Error, Warning, Info)' + ), + alias: 'Go to Next Problem in Files (Error, Warning, Info)', + precondition: void 0, + kbOpts: { kbExpr: d.u.focus, primary: 66, weight: 100 }, + menuOpts: { + menuId: x.eH.MenubarGoMenu, + title: r.N( + { + key: 'miGotoNextProblem', + comment: ['&& denotes a mnemonic'], + }, + 'Next &&Problem' + ), + group: '6_problem_nav', + order: 1, + }, + }); + } + } + ), + (0, c.Qr)( + class extends Q { + constructor() { + super(!1, !0, { + id: 'editor.action.marker.prevInFiles', + label: r.N( + 'markerAction.previousInFiles.label', + 'Go to Previous Problem in Files (Error, Warning, Info)' + ), + alias: + 'Go to Previous Problem in Files (Error, Warning, Info)', + precondition: void 0, + kbOpts: { kbExpr: d.u.focus, primary: 1090, weight: 100 }, + menuOpts: { + menuId: x.eH.MenubarGoMenu, + title: r.N( + { + key: 'miGotoPreviousProblem', + comment: ['&& denotes a mnemonic'], + }, + 'Previous &&Problem' + ), + group: '6_problem_nav', + order: 2, + }, + }); + } + } + ); + const te = new o.uy('markersNavigationVisible', !1), + ie = c._l.bindToContribution(J.get); + (0, c.fK)( + new ie({ + id: 'closeMarkersNavigation', + precondition: te, + handler: (e) => e.close(), + kbOpts: { + weight: 150, + kbExpr: d.u.focus, + primary: 9, + secondary: [1033], + }, + }) + ); + }, + 92729: (e, t, i) => { + 'use strict'; + i.r(t), i.d(t, { DefinitionAction: () => X }); + var n = i(85152), + r = i(15393), + s = i(22258), + o = i(1432), + a = i(65520), + l = i(16830), + c = i(11640), + d = i(50187), + h = i(24314), + u = i(29102), + g = i(43775), + f = i(82276), + p = i(22043), + m = i(19192), + _ = i(71455), + b = i(63580), + v = i(84144), + y = i(38819), + w = i(59422), + C = i(90535), + S = i(91691), + k = i(94565), + x = i(39925), + L = i(72065), + M = i(65026), + D = i(49989), + N = i(5976), + E = i(4669), + T = i(91847), + I = i(95935), + O = function (e, t, i, n) { + var r, + s = arguments.length, + o = + s < 3 + ? t + : null === n + ? (n = Object.getOwnPropertyDescriptor(t, i)) + : n; + if ( + 'object' == typeof Reflect && + 'function' == typeof Reflect.decorate + ) + o = Reflect.decorate(e, t, i, n); + else + for (var a = e.length - 1; a >= 0; a--) + (r = e[a]) && + (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); + return s > 3 && o && Object.defineProperty(t, i, o), o; + }, + A = function (e, t) { + return function (i, n) { + t(i, n, e); + }; + }; + const R = new y.uy('hasSymbols', !1), + P = (0, L.yh)('ISymbolNavigationService'); + let F = class { + constructor(e, t, i, n) { + (this._editorService = t), + (this._notificationService = i), + (this._keybindingService = n), + (this._currentModel = void 0), + (this._currentIdx = -1), + (this._ignoreEditorChange = !1), + (this._ctxHasSymbols = R.bindTo(e)); + } + reset() { + this._ctxHasSymbols.reset(), + (0, N.B9)(this._currentState), + (0, N.B9)(this._currentMessage), + (this._currentModel = void 0), + (this._currentIdx = -1); + } + put(e) { + const t = e.parent.parent; + if (t.references.length <= 1) return void this.reset(); + (this._currentModel = t), + (this._currentIdx = t.references.indexOf(e)), + this._ctxHasSymbols.set(!0), + this._showMessage(); + const i = new B(this._editorService), + n = i.onDidChange((e) => { + if (this._ignoreEditorChange) return; + const i = this._editorService.getActiveCodeEditor(); + if (!i) return; + const n = i.getModel(), + r = i.getPosition(); + if (!n || !r) return; + let s = !1, + o = !1; + for (const e of t.references) + if ((0, I.Xy)(e.uri, n.uri)) + (s = !0), (o = o || h.e.containsPosition(e.range, r)); + else if (s) break; + (s && o) || this.reset(); + }); + this._currentState = (0, N.F8)(i, n); + } + revealNext(e) { + if (!this._currentModel) return Promise.resolve(); + (this._currentIdx += 1), + (this._currentIdx %= this._currentModel.references.length); + const t = this._currentModel.references[this._currentIdx]; + return ( + this._showMessage(), + (this._ignoreEditorChange = !0), + this._editorService + .openCodeEditor( + { + resource: t.uri, + options: { + selection: h.e.collapseToStart(t.range), + selectionRevealType: 3, + }, + }, + e + ) + .finally(() => { + this._ignoreEditorChange = !1; + }) + ); + } + _showMessage() { + (0, N.B9)(this._currentMessage); + const e = this._keybindingService.lookupKeybinding( + 'editor.gotoNextSymbolFromResult' + ), + t = e + ? (0, b.N)( + 'location.kb', + 'Symbol {0} of {1}, {2} for next', + this._currentIdx + 1, + this._currentModel.references.length, + e.getLabel() + ) + : (0, b.N)( + 'location', + 'Symbol {0} of {1}', + this._currentIdx + 1, + this._currentModel.references.length + ); + this._currentMessage = this._notificationService.status(t); + } + }; + (F = O([A(0, y.i6), A(1, c.$), A(2, w.lT), A(3, T.d)], F)), + (0, M.z)(P, F, !0), + (0, l.fK)( + new (class extends l._l { + constructor() { + super({ + id: 'editor.gotoNextSymbolFromResult', + precondition: R, + kbOpts: { weight: 100, primary: 70 }, + }); + } + runEditorCommand(e, t) { + return e.get(P).revealNext(t); + } + })() + ), + D.W.registerCommandAndKeybindingRule({ + id: 'editor.gotoNextSymbolFromResult.cancel', + weight: 100, + when: R, + primary: 9, + handler(e) { + e.get(P).reset(); + }, + }); + let B = class { + constructor(e) { + (this._listener = new Map()), + (this._disposables = new N.SL()), + (this._onDidChange = new E.Q5()), + (this.onDidChange = this._onDidChange.event), + this._disposables.add( + e.onCodeEditorRemove(this._onDidRemoveEditor, this) + ), + this._disposables.add( + e.onCodeEditorAdd(this._onDidAddEditor, this) + ), + e.listCodeEditors().forEach(this._onDidAddEditor, this); + } + dispose() { + this._disposables.dispose(), + this._onDidChange.dispose(), + (0, N.B9)(this._listener.values()); + } + _onDidAddEditor(e) { + this._listener.set( + e, + (0, N.F8)( + e.onDidChangeCursorPosition((t) => + this._onDidChange.fire({ editor: e }) + ), + e.onDidChangeModelContent((t) => + this._onDidChange.fire({ editor: e }) + ) + ) + ); + } + _onDidRemoveEditor(e) { + (0, N.B9)(this._listener.get(e)), this._listener.delete(e); + } + }; + B = O([A(0, c.$)], B); + var W, + Y, + H, + j, + V, + z, + U, + $, + K = i(16268), + q = i(70666), + G = i(98401), + Z = i(84527), + J = function (e, t, i, n) { + return new (i || (i = Promise))(function (r, s) { + function o(e) { + try { + l(n.next(e)); + } catch (e) { + s(e); + } + } + function a(e) { + try { + l(n.throw(e)); + } catch (e) { + s(e); + } + } + function l(e) { + var t; + e.done + ? r(e.value) + : ((t = e.value), + t instanceof i + ? t + : new i(function (e) { + e(t); + })).then(o, a); + } + l((n = n.apply(e, t || [])).next()); + }); + }; + v.BH.appendMenuItem(v.eH.EditorContext, { + submenu: v.eH.EditorContextPeek, + title: b.N('peek.submenu', 'Peek'), + group: 'navigation', + order: 100, + }); + class Q extends l.R6 { + constructor(e, t) { + super(t), (this._configuration = e); + } + run(e, t) { + if (!t.hasModel()) return Promise.resolve(void 0); + const i = e.get(w.lT), + s = e.get(c.$), + o = e.get(C.e), + a = e.get(P), + l = t.getModel(), + d = t.getPosition(), + h = new x.Dl(t, 5), + u = (0, r.eP)(this._getLocationModel(l, d, h.token), h.token) + .then( + (e) => + J(this, void 0, void 0, function* () { + if (!e || h.token.isCancellationRequested) return; + let i; + if (((0, n.Z9)(e.ariaMessage), e.referenceAt(l.uri, d))) { + const e = this._getAlternativeCommand(t); + e !== this.id && (i = t.getAction(e)); + } + const r = e.references.length; + if (0 === r) { + if (!this._configuration.muteMessage) { + const e = l.getWordAtPosition(d); + f.O.get(t).showMessage( + this._getNoResultFoundMessage(e), + d + ); + } + } else { + if (1 !== r || !i) return this._onResult(s, a, t, e); + i.run(); + } + }), + (e) => { + i.error(e); + } + ) + .finally(() => { + h.dispose(); + }); + return o.showWhile(u, 250), u; + } + _onResult(e, t, i, n) { + return J(this, void 0, void 0, function* () { + const r = this._getGoToPreference(i); + if ( + i instanceof Z.H || + !( + this._configuration.openInPeek || + ('peek' === r && n.references.length > 1) + ) + ) { + const s = n.firstReference(), + o = n.references.length > 1 && 'gotoAndPeek' === r, + a = yield this._openReference( + i, + e, + s, + this._configuration.openToSide, + !o + ); + o && a ? this._openInPeek(a, n) : n.dispose(), + 'goto' === r && t.put(s); + } else this._openInPeek(i, n); + }); + } + _openReference(e, t, i, n, r) { + return J(this, void 0, void 0, function* () { + let s; + (0, g.vx)(i) && (s = i.targetSelectionRange), s || (s = i.range); + const o = yield t.openCodeEditor( + { + resource: i.uri, + options: { + selection: h.e.collapseToStart(s), + selectionRevealType: 3, + }, + }, + e, + n + ); + if (o) { + if (r) { + const e = o.getModel(), + t = o.deltaDecorations( + [], + [{ range: s, options: { className: 'symbolHighlight' } }] + ); + setTimeout(() => { + o.getModel() === e && o.deltaDecorations(t, []); + }, 350); + } + return o; + } + }); + } + _openInPeek(e, t) { + let i = m.J.get(e); + i && e.hasModel() + ? i.toggleWidget( + e.getSelection(), + (0, r.PG)((e) => Promise.resolve(t)), + this._configuration.openInPeek + ) + : t.dispose(); + } + } + class X extends Q { + _getLocationModel(e, t, i) { + return J(this, void 0, void 0, function* () { + return new _.oQ( + yield (0, S.nD)(e, t, i), + b.N('def.title', 'Definitions') + ); + }); + } + _getNoResultFoundMessage(e) { + return e && e.word + ? b.N('noResultWord', "No definition found for '{0}'", e.word) + : b.N('generic.noResults', 'No definition found'); + } + _getAlternativeCommand(e) { + return e.getOption(43).alternativeDefinitionCommand; + } + _getGoToPreference(e) { + return e.getOption(43).multipleDefinitions; + } + } + const ee = o.$L && !K.$W ? 2118 : 70; + (0, l.Qr)( + (((W = class e extends X { + constructor() { + super( + { openToSide: !1, openInPeek: !1, muteMessage: !1 }, + { + id: e.id, + label: b.N('actions.goToDecl.label', 'Go to Definition'), + alias: 'Go to Definition', + precondition: y.Ao.and( + u.u.hasDefinitionProvider, + u.u.isInWalkThroughSnippet.toNegated() + ), + kbOpts: { + kbExpr: u.u.editorTextFocus, + primary: ee, + weight: 100, + }, + contextMenuOpts: { group: 'navigation', order: 1.1 }, + menuOpts: { + menuId: v.eH.MenubarGoMenu, + group: '4_symbol_nav', + order: 2, + title: b.N( + { + key: 'miGotoDefinition', + comment: ['&& denotes a mnemonic'], + }, + 'Go to &&Definition' + ), + }, + } + ), + k.P.registerCommandAlias('editor.action.goToDeclaration', e.id); + } + }).id = 'editor.action.revealDefinition'), + W) + ), + (0, l.Qr)( + (((Y = class e extends X { + constructor() { + super( + { openToSide: !0, openInPeek: !1, muteMessage: !1 }, + { + id: e.id, + label: b.N( + 'actions.goToDeclToSide.label', + 'Open Definition to the Side' + ), + alias: 'Open Definition to the Side', + precondition: y.Ao.and( + u.u.hasDefinitionProvider, + u.u.isInWalkThroughSnippet.toNegated() + ), + kbOpts: { + kbExpr: u.u.editorTextFocus, + primary: (0, s.gx)(2089, ee), + weight: 100, + }, + } + ), + k.P.registerCommandAlias( + 'editor.action.openDeclarationToTheSide', + e.id + ); + } + }).id = 'editor.action.revealDefinitionAside'), + Y) + ), + (0, l.Qr)( + (((H = class e extends X { + constructor() { + super( + { openToSide: !1, openInPeek: !0, muteMessage: !1 }, + { + id: e.id, + label: b.N('actions.previewDecl.label', 'Peek Definition'), + alias: 'Peek Definition', + precondition: y.Ao.and( + u.u.hasDefinitionProvider, + p.Jy.notInPeekEditor, + u.u.isInWalkThroughSnippet.toNegated() + ), + kbOpts: { + kbExpr: u.u.editorTextFocus, + primary: 582, + linux: { primary: 3140 }, + weight: 100, + }, + contextMenuOpts: { + menuId: v.eH.EditorContextPeek, + group: 'peek', + order: 2, + }, + } + ), + k.P.registerCommandAlias( + 'editor.action.previewDeclaration', + e.id + ); + } + }).id = 'editor.action.peekDefinition'), + H) + ); + class te extends Q { + _getLocationModel(e, t, i) { + return J(this, void 0, void 0, function* () { + return new _.oQ( + yield (0, S.zq)(e, t, i), + b.N('decl.title', 'Declarations') + ); + }); + } + _getNoResultFoundMessage(e) { + return e && e.word + ? b.N( + 'decl.noResultWord', + "No declaration found for '{0}'", + e.word + ) + : b.N('decl.generic.noResults', 'No declaration found'); + } + _getAlternativeCommand(e) { + return e.getOption(43).alternativeDeclarationCommand; + } + _getGoToPreference(e) { + return e.getOption(43).multipleDeclarations; + } + } + (0, l.Qr)( + (((j = class e extends te { + constructor() { + super( + { openToSide: !1, openInPeek: !1, muteMessage: !1 }, + { + id: e.id, + label: b.N( + 'actions.goToDeclaration.label', + 'Go to Declaration' + ), + alias: 'Go to Declaration', + precondition: y.Ao.and( + u.u.hasDeclarationProvider, + u.u.isInWalkThroughSnippet.toNegated() + ), + contextMenuOpts: { group: 'navigation', order: 1.3 }, + menuOpts: { + menuId: v.eH.MenubarGoMenu, + group: '4_symbol_nav', + order: 3, + title: b.N( + { + key: 'miGotoDeclaration', + comment: ['&& denotes a mnemonic'], + }, + 'Go to &&Declaration' + ), + }, + } + ); + } + _getNoResultFoundMessage(e) { + return e && e.word + ? b.N( + 'decl.noResultWord', + "No declaration found for '{0}'", + e.word + ) + : b.N('decl.generic.noResults', 'No declaration found'); + } + }).id = 'editor.action.revealDeclaration'), + j) + ), + (0, l.Qr)( + class extends te { + constructor() { + super( + { openToSide: !1, openInPeek: !0, muteMessage: !1 }, + { + id: 'editor.action.peekDeclaration', + label: b.N('actions.peekDecl.label', 'Peek Declaration'), + alias: 'Peek Declaration', + precondition: y.Ao.and( + u.u.hasDeclarationProvider, + p.Jy.notInPeekEditor, + u.u.isInWalkThroughSnippet.toNegated() + ), + contextMenuOpts: { + menuId: v.eH.EditorContextPeek, + group: 'peek', + order: 3, + }, + } + ); + } + } + ); + class ie extends Q { + _getLocationModel(e, t, i) { + return J(this, void 0, void 0, function* () { + return new _.oQ( + yield (0, S.L3)(e, t, i), + b.N('typedef.title', 'Type Definitions') + ); + }); + } + _getNoResultFoundMessage(e) { + return e && e.word + ? b.N( + 'goToTypeDefinition.noResultWord', + "No type definition found for '{0}'", + e.word + ) + : b.N( + 'goToTypeDefinition.generic.noResults', + 'No type definition found' + ); + } + _getAlternativeCommand(e) { + return e.getOption(43).alternativeTypeDefinitionCommand; + } + _getGoToPreference(e) { + return e.getOption(43).multipleTypeDefinitions; + } + } + (0, l.Qr)( + (((V = class e extends ie { + constructor() { + super( + { openToSide: !1, openInPeek: !1, muteMessage: !1 }, + { + id: e.ID, + label: b.N( + 'actions.goToTypeDefinition.label', + 'Go to Type Definition' + ), + alias: 'Go to Type Definition', + precondition: y.Ao.and( + u.u.hasTypeDefinitionProvider, + u.u.isInWalkThroughSnippet.toNegated() + ), + kbOpts: { + kbExpr: u.u.editorTextFocus, + primary: 0, + weight: 100, + }, + contextMenuOpts: { group: 'navigation', order: 1.4 }, + menuOpts: { + menuId: v.eH.MenubarGoMenu, + group: '4_symbol_nav', + order: 3, + title: b.N( + { + key: 'miGotoTypeDefinition', + comment: ['&& denotes a mnemonic'], + }, + 'Go to &&Type Definition' + ), + }, + } + ); + } + }).ID = 'editor.action.goToTypeDefinition'), + V) + ), + (0, l.Qr)( + (((z = class e extends ie { + constructor() { + super( + { openToSide: !1, openInPeek: !0, muteMessage: !1 }, + { + id: e.ID, + label: b.N( + 'actions.peekTypeDefinition.label', + 'Peek Type Definition' + ), + alias: 'Peek Type Definition', + precondition: y.Ao.and( + u.u.hasTypeDefinitionProvider, + p.Jy.notInPeekEditor, + u.u.isInWalkThroughSnippet.toNegated() + ), + contextMenuOpts: { + menuId: v.eH.EditorContextPeek, + group: 'peek', + order: 4, + }, + } + ); + } + }).ID = 'editor.action.peekTypeDefinition'), + z) + ); + class ne extends Q { + _getLocationModel(e, t, i) { + return J(this, void 0, void 0, function* () { + return new _.oQ( + yield (0, S.f4)(e, t, i), + b.N('impl.title', 'Implementations') + ); + }); + } + _getNoResultFoundMessage(e) { + return e && e.word + ? b.N( + 'goToImplementation.noResultWord', + "No implementation found for '{0}'", + e.word + ) + : b.N( + 'goToImplementation.generic.noResults', + 'No implementation found' + ); + } + _getAlternativeCommand(e) { + return e.getOption(43).alternativeImplementationCommand; + } + _getGoToPreference(e) { + return e.getOption(43).multipleImplementations; + } + } + (0, l.Qr)( + (((U = class e extends ne { + constructor() { + super( + { openToSide: !1, openInPeek: !1, muteMessage: !1 }, + { + id: e.ID, + label: b.N( + 'actions.goToImplementation.label', + 'Go to Implementations' + ), + alias: 'Go to Implementations', + precondition: y.Ao.and( + u.u.hasImplementationProvider, + u.u.isInWalkThroughSnippet.toNegated() + ), + kbOpts: { + kbExpr: u.u.editorTextFocus, + primary: 2118, + weight: 100, + }, + menuOpts: { + menuId: v.eH.MenubarGoMenu, + group: '4_symbol_nav', + order: 4, + title: b.N( + { + key: 'miGotoImplementation', + comment: ['&& denotes a mnemonic'], + }, + 'Go to &&Implementations' + ), + }, + contextMenuOpts: { group: 'navigation', order: 1.45 }, + } + ); + } + }).ID = 'editor.action.goToImplementation'), + U) + ), + (0, l.Qr)( + ((($ = class e extends ne { + constructor() { + super( + { openToSide: !1, openInPeek: !0, muteMessage: !1 }, + { + id: e.ID, + label: b.N( + 'actions.peekImplementation.label', + 'Peek Implementations' + ), + alias: 'Peek Implementations', + precondition: y.Ao.and( + u.u.hasImplementationProvider, + p.Jy.notInPeekEditor, + u.u.isInWalkThroughSnippet.toNegated() + ), + kbOpts: { + kbExpr: u.u.editorTextFocus, + primary: 3142, + weight: 100, + }, + contextMenuOpts: { + menuId: v.eH.EditorContextPeek, + group: 'peek', + order: 5, + }, + } + ); + } + }).ID = 'editor.action.peekImplementation'), + $) + ); + class re extends Q { + _getNoResultFoundMessage(e) { + return e + ? b.N('references.no', "No references found for '{0}'", e.word) + : b.N('references.noGeneric', 'No references found'); + } + _getAlternativeCommand(e) { + return e.getOption(43).alternativeReferenceCommand; + } + _getGoToPreference(e) { + return e.getOption(43).multipleReferences; + } + } + (0, l.Qr)( + class extends re { + constructor() { + super( + { openToSide: !1, openInPeek: !1, muteMessage: !1 }, + { + id: 'editor.action.goToReferences', + label: b.N('goToReferences.label', 'Go to References'), + alias: 'Go to References', + precondition: y.Ao.and( + u.u.hasReferenceProvider, + p.Jy.notInPeekEditor, + u.u.isInWalkThroughSnippet.toNegated() + ), + kbOpts: { + kbExpr: u.u.editorTextFocus, + primary: 1094, + weight: 100, + }, + contextMenuOpts: { group: 'navigation', order: 1.45 }, + menuOpts: { + menuId: v.eH.MenubarGoMenu, + group: '4_symbol_nav', + order: 5, + title: b.N( + { + key: 'miGotoReference', + comment: ['&& denotes a mnemonic'], + }, + 'Go to &&References' + ), + }, + } + ); + } + _getLocationModel(e, t, i) { + return J(this, void 0, void 0, function* () { + return new _.oQ( + yield (0, S.aA)(e, t, !0, i), + b.N('ref.title', 'References') + ); + }); + } + } + ), + (0, l.Qr)( + class extends re { + constructor() { + super( + { openToSide: !1, openInPeek: !0, muteMessage: !1 }, + { + id: 'editor.action.referenceSearch.trigger', + label: b.N('references.action.label', 'Peek References'), + alias: 'Peek References', + precondition: y.Ao.and( + u.u.hasReferenceProvider, + p.Jy.notInPeekEditor, + u.u.isInWalkThroughSnippet.toNegated() + ), + contextMenuOpts: { + menuId: v.eH.EditorContextPeek, + group: 'peek', + order: 6, + }, + } + ); + } + _getLocationModel(e, t, i) { + return J(this, void 0, void 0, function* () { + return new _.oQ( + yield (0, S.aA)(e, t, !1, i), + b.N('ref.title', 'References') + ); + }); + } + } + ); + class se extends Q { + constructor(e, t, i) { + super(e, { + id: 'editor.action.goToLocation', + label: b.N('label.generic', 'Go To Any Symbol'), + alias: 'Go To Any Symbol', + precondition: y.Ao.and( + p.Jy.notInPeekEditor, + u.u.isInWalkThroughSnippet.toNegated() + ), + }), + (this._references = t), + (this._gotoMultipleBehaviour = i); + } + _getLocationModel(e, t, i) { + return J(this, void 0, void 0, function* () { + return new _.oQ( + this._references, + b.N('generic.title', 'Locations') + ); + }); + } + _getNoResultFoundMessage(e) { + return ( + (e && b.N('generic.noResult', "No results for '{0}'", e.word)) || + '' + ); + } + _getGoToPreference(e) { + var t; + return null !== (t = this._gotoMultipleBehaviour) && void 0 !== t + ? t + : e.getOption(43).multipleReferences; + } + _getAlternativeCommand() { + return ''; + } + } + k.P.registerCommand({ + id: 'editor.action.goToLocations', + description: { + description: 'Go to locations from a position in a file', + args: [ + { + name: 'uri', + description: 'The text document in which to start', + constraint: q.o, + }, + { + name: 'position', + description: 'The position at which to start', + constraint: d.L.isIPosition, + }, + { + name: 'locations', + description: 'An array of locations.', + constraint: Array, + }, + { + name: 'multiple', + description: + 'Define what to do when having multiple results, either `peek`, `gotoAndPeek`, or `goto', + }, + { + name: 'noResultsMessage', + description: + 'Human readable message that shows when locations is empty.', + }, + ], + }, + handler: (e, t, i, n, r, s, o) => + J(void 0, void 0, void 0, function* () { + (0, G.p_)(q.o.isUri(t)), + (0, G.p_)(d.L.isIPosition(i)), + (0, G.p_)(Array.isArray(n)), + (0, G.p_)(void 0 === r || 'string' == typeof r), + (0, G.p_)(void 0 === o || 'boolean' == typeof o); + const l = e.get(c.$), + h = yield l.openCodeEditor( + { resource: t }, + l.getFocusedCodeEditor() + ); + if ((0, a.CL)(h)) + return ( + h.setPosition(i), + h.revealPositionInCenterIfOutsideViewport(i, 0), + h.invokeWithinContext((e) => { + const t = new (class extends se { + _getNoResultFoundMessage(e) { + return s || super._getNoResultFoundMessage(e); + } + })( + { + muteMessage: !Boolean(s), + openInPeek: Boolean(o), + openToSide: !1, + }, + n, + r + ); + e.get(L.TG).invokeFunction(t.run.bind(t), h); + }) + ); + }), + }), + k.P.registerCommand({ + id: 'editor.action.peekLocations', + description: { + description: 'Peek locations from a position in a file', + args: [ + { + name: 'uri', + description: 'The text document in which to start', + constraint: q.o, + }, + { + name: 'position', + description: 'The position at which to start', + constraint: d.L.isIPosition, + }, + { + name: 'locations', + description: 'An array of locations.', + constraint: Array, + }, + { + name: 'multiple', + description: + 'Define what to do when having multiple results, either `peek`, `gotoAndPeek`, or `goto', + }, + ], + }, + handler: (e, t, i, n, r) => + J(void 0, void 0, void 0, function* () { + e.get(k.H).executeCommand( + 'editor.action.goToLocations', + t, + i, + n, + r, + void 0, + !0 + ); + }), + }), + k.P.registerCommand({ + id: 'editor.action.findReferences', + handler: (e, t, i) => { + (0, G.p_)(q.o.isUri(t)), (0, G.p_)(d.L.isIPosition(i)); + const n = e.get(c.$); + return n + .openCodeEditor({ resource: t }, n.getFocusedCodeEditor()) + .then((e) => { + if (!(0, a.CL)(e) || !e.hasModel()) return; + const t = m.J.get(e); + if (!t) return; + const n = (0, r.PG)((t) => + (0, S.aA)(e.getModel(), d.L.lift(i), !1, t).then( + (e) => new _.oQ(e, b.N('ref.title', 'References')) + ) + ), + s = new h.e(i.lineNumber, i.column, i.lineNumber, i.column); + return Promise.resolve(t.toggleWidget(s, n, !1)); + }); + }, + }), + k.P.registerCommandAlias( + 'editor.action.showReferences', + 'editor.action.peekLocations' + ); + }, + 91691: (e, t, i) => { + 'use strict'; + i.d(t, { + nD: () => l, + zq: () => c, + f4: () => d, + L3: () => h, + aA: () => u, + }); + var n = i(71050), + r = i(17301), + s = i(16830), + o = i(43775); + function a(e, t, i, n) { + const s = i.ordered(e).map((i) => + Promise.resolve(n(i, e, t)).then(void 0, (e) => { + (0, r.Cp)(e); + }) + ); + return Promise.all(s).then((e) => { + const t = []; + for (let i of e) Array.isArray(i) ? t.push(...i) : i && t.push(i); + return t; + }); + } + function l(e, t, i) { + return a(e, t, o.Ct, (e, t, n) => e.provideDefinition(t, n, i)); + } + function c(e, t, i) { + return a(e, t, o.RN, (e, t, n) => e.provideDeclaration(t, n, i)); + } + function d(e, t, i) { + return a(e, t, o.vI, (e, t, n) => e.provideImplementation(t, n, i)); + } + function h(e, t, i) { + return a(e, t, o.tA, (e, t, n) => e.provideTypeDefinition(t, n, i)); + } + function u(e, t, i, n) { + return a(e, t, o.FL, (e, t, r) => { + return ( + (s = this), + (o = void 0), + (l = function* () { + const s = yield e.provideReferences( + t, + r, + { includeDeclaration: !0 }, + n + ); + if (!i || !s || 2 !== s.length) return s; + const o = yield e.provideReferences( + t, + r, + { includeDeclaration: !1 }, + n + ); + return o && 1 === o.length ? o : s; + }), + new ((a = void 0) || (a = Promise))(function (e, t) { + function i(e) { + try { + r(l.next(e)); + } catch (e) { + t(e); + } + } + function n(e) { + try { + r(l.throw(e)); + } catch (e) { + t(e); + } + } + function r(t) { + var r; + t.done + ? e(t.value) + : ((r = t.value), + r instanceof a + ? r + : new a(function (e) { + e(r); + })).then(i, n); + } + r((l = l.apply(s, o || [])).next()); + }) + ); + var s, o, a, l; + }); + } + (0, s.sb)('_executeDefinitionProvider', (e, t) => l(e, t, n.T.None)), + (0, s.sb)('_executeDeclarationProvider', (e, t) => c(e, t, n.T.None)), + (0, s.sb)('_executeImplementationProvider', (e, t) => + d(e, t, n.T.None) + ), + (0, s.sb)('_executeTypeDefinitionProvider', (e, t) => + h(e, t, n.T.None) + ), + (0, s.sb)('_executeReferenceProvider', (e, t) => + u(e, t, !1, n.T.None) + ); + }, + 69241: (e, t, i) => { + 'use strict'; + i.d(t, { yN: () => h }); + var n = i(5976), + r = i(4669), + s = i(1432); + function o(e, t) { + return !!e[t]; + } + class a { + constructor(e, t) { + (this.target = e.target), + (this.hasTriggerModifier = o(e.event, t.triggerModifier)), + (this.hasSideBySideModifier = o( + e.event, + t.triggerSideBySideModifier + )), + (this.isNoneOrSingleMouseDown = e.event.detail <= 1); + } + } + class l { + constructor(e, t) { + (this.keyCodeIsTriggerKey = e.keyCode === t.triggerKey), + (this.keyCodeIsSideBySideKey = + e.keyCode === t.triggerSideBySideKey), + (this.hasTriggerModifier = o(e, t.triggerModifier)); + } + } + class c { + constructor(e, t, i, n) { + (this.triggerKey = e), + (this.triggerModifier = t), + (this.triggerSideBySideKey = i), + (this.triggerSideBySideModifier = n); + } + equals(e) { + return ( + this.triggerKey === e.triggerKey && + this.triggerModifier === e.triggerModifier && + this.triggerSideBySideKey === e.triggerSideBySideKey && + this.triggerSideBySideModifier === e.triggerSideBySideModifier + ); + } + } + function d(e) { + return 'altKey' === e + ? s.dz + ? new c(57, 'metaKey', 6, 'altKey') + : new c(5, 'ctrlKey', 6, 'altKey') + : s.dz + ? new c(6, 'altKey', 57, 'metaKey') + : new c(6, 'altKey', 5, 'ctrlKey'); + } + class h extends n.JT { + constructor(e) { + super(), + (this._onMouseMoveOrRelevantKeyDown = this._register(new r.Q5())), + (this.onMouseMoveOrRelevantKeyDown = this._onMouseMoveOrRelevantKeyDown.event), + (this._onExecute = this._register(new r.Q5())), + (this.onExecute = this._onExecute.event), + (this._onCancel = this._register(new r.Q5())), + (this.onCancel = this._onCancel.event), + (this._editor = e), + (this._opts = d(this._editor.getOption(61))), + (this._lastMouseMoveEvent = null), + (this._hasTriggerKeyOnMouseDown = !1), + (this._lineNumberOnMouseDown = 0), + this._register( + this._editor.onDidChangeConfiguration((e) => { + if (e.hasChanged(61)) { + const e = d(this._editor.getOption(61)); + if (this._opts.equals(e)) return; + (this._opts = e), + (this._lastMouseMoveEvent = null), + (this._hasTriggerKeyOnMouseDown = !1), + (this._lineNumberOnMouseDown = 0), + this._onCancel.fire(); + } + }) + ), + this._register( + this._editor.onMouseMove((e) => + this._onEditorMouseMove(new a(e, this._opts)) + ) + ), + this._register( + this._editor.onMouseDown((e) => + this._onEditorMouseDown(new a(e, this._opts)) + ) + ), + this._register( + this._editor.onMouseUp((e) => + this._onEditorMouseUp(new a(e, this._opts)) + ) + ), + this._register( + this._editor.onKeyDown((e) => + this._onEditorKeyDown(new l(e, this._opts)) + ) + ), + this._register( + this._editor.onKeyUp((e) => + this._onEditorKeyUp(new l(e, this._opts)) + ) + ), + this._register( + this._editor.onMouseDrag(() => this._resetHandler()) + ), + this._register( + this._editor.onDidChangeCursorSelection((e) => + this._onDidChangeCursorSelection(e) + ) + ), + this._register( + this._editor.onDidChangeModel((e) => this._resetHandler()) + ), + this._register( + this._editor.onDidChangeModelContent(() => this._resetHandler()) + ), + this._register( + this._editor.onDidScrollChange((e) => { + (e.scrollTopChanged || e.scrollLeftChanged) && + this._resetHandler(); + }) + ); + } + _onDidChangeCursorSelection(e) { + e.selection && + e.selection.startColumn !== e.selection.endColumn && + this._resetHandler(); + } + _onEditorMouseMove(e) { + (this._lastMouseMoveEvent = e), + this._onMouseMoveOrRelevantKeyDown.fire([e, null]); + } + _onEditorMouseDown(e) { + (this._hasTriggerKeyOnMouseDown = e.hasTriggerModifier), + (this._lineNumberOnMouseDown = e.target.position + ? e.target.position.lineNumber + : 0); + } + _onEditorMouseUp(e) { + const t = e.target.position ? e.target.position.lineNumber : 0; + this._hasTriggerKeyOnMouseDown && + this._lineNumberOnMouseDown && + this._lineNumberOnMouseDown === t && + this._onExecute.fire(e); + } + _onEditorKeyDown(e) { + this._lastMouseMoveEvent && + (e.keyCodeIsTriggerKey || + (e.keyCodeIsSideBySideKey && e.hasTriggerModifier)) + ? this._onMouseMoveOrRelevantKeyDown.fire([ + this._lastMouseMoveEvent, + e, + ]) + : e.hasTriggerModifier && this._onCancel.fire(); + } + _onEditorKeyUp(e) { + e.keyCodeIsTriggerKey && this._onCancel.fire(); + } + _resetHandler() { + (this._lastMouseMoveEvent = null), + (this._hasTriggerKeyOnMouseDown = !1), + this._onCancel.fire(); + } + } + }, + 10365: (e, t, i) => { + 'use strict'; + i.r(t), i.d(t, { GotoDefinitionAtPositionEditorContribution: () => k }); + var n = i(63580), + r = i(15393), + s = i(17301), + o = i(59365), + a = i(71531), + l = i(24314), + c = i(43775), + d = i(16830), + h = i(91691), + u = i(5976), + g = i(88216), + f = i(97781), + p = i(73910), + m = i(39925), + _ = i(92729), + b = i(69241), + v = i(50187), + y = i(98401), + w = i(22043), + C = i(38819), + S = function (e, t) { + return function (i, n) { + t(i, n, e); + }; + }; + let k = class e { + constructor(e, t, i) { + (this.textModelResolverService = t), + (this.modeService = i), + (this.toUnhook = new u.SL()), + (this.toUnhookForKeyboard = new u.SL()), + (this.linkDecorations = []), + (this.currentWordAtPosition = null), + (this.previousPromise = null), + (this.editor = e); + let n = new b.yN(e); + this.toUnhook.add(n), + this.toUnhook.add( + n.onMouseMoveOrRelevantKeyDown(([e, t]) => { + this.startFindDefinitionFromMouse(e, (0, y.f6)(t)); + }) + ), + this.toUnhook.add( + n.onExecute((e) => { + this.isEnabled(e) && + this.gotoDefinition( + e.target.position, + e.hasSideBySideModifier + ).then( + () => { + this.removeLinkDecorations(); + }, + (e) => { + this.removeLinkDecorations(), (0, s.dL)(e); + } + ); + }) + ), + this.toUnhook.add( + n.onCancel(() => { + this.removeLinkDecorations(), + (this.currentWordAtPosition = null); + }) + ); + } + static get(t) { + return t.getContribution(e.ID); + } + startFindDefinitionFromCursor(e) { + return this.startFindDefinition(e).then(() => { + this.toUnhookForKeyboard.add( + this.editor.onDidChangeCursorPosition(() => { + (this.currentWordAtPosition = null), + this.removeLinkDecorations(), + this.toUnhookForKeyboard.clear(); + }) + ), + this.toUnhookForKeyboard.add( + this.editor.onKeyDown((e) => { + e && + ((this.currentWordAtPosition = null), + this.removeLinkDecorations(), + this.toUnhookForKeyboard.clear()); + }) + ); + }); + } + startFindDefinitionFromMouse(e, t) { + if (9 === e.target.type && this.linkDecorations.length > 0) return; + if (!this.editor.hasModel() || !this.isEnabled(e, t)) + return ( + (this.currentWordAtPosition = null), + void this.removeLinkDecorations() + ); + const i = e.target.position; + this.startFindDefinition(i); + } + startFindDefinition(e) { + var t; + this.toUnhookForKeyboard.clear(); + const i = e + ? null === (t = this.editor.getModel()) || void 0 === t + ? void 0 + : t.getWordAtPosition(e) + : null; + if (!i) + return ( + (this.currentWordAtPosition = null), + this.removeLinkDecorations(), + Promise.resolve(0) + ); + if ( + this.currentWordAtPosition && + this.currentWordAtPosition.startColumn === i.startColumn && + this.currentWordAtPosition.endColumn === i.endColumn && + this.currentWordAtPosition.word === i.word + ) + return Promise.resolve(0); + this.currentWordAtPosition = i; + let a = new m.yy(this.editor, 15); + return ( + this.previousPromise && + (this.previousPromise.cancel(), (this.previousPromise = null)), + (this.previousPromise = (0, r.PG)((t) => + this.findDefinition(e, t) + )), + this.previousPromise + .then((t) => { + if (t && t.length && a.validate(this.editor)) + if (t.length > 1) + this.addDecoration( + new l.e( + e.lineNumber, + i.startColumn, + e.lineNumber, + i.endColumn + ), + new o.W5().appendText( + n.N( + 'multipleResults', + 'Click to show {0} definitions.', + t.length + ) + ) + ); + else { + let n = t[0]; + if (!n.uri) return; + this.textModelResolverService + .createModelReference(n.uri) + .then((t) => { + if (!t.object || !t.object.textEditorModel) + return void t.dispose(); + const { + object: { textEditorModel: r }, + } = t, + { startLineNumber: s } = n.range; + if (s < 1 || s > r.getLineCount()) + return void t.dispose(); + const a = this.getPreviewValue(r, s, n); + let c; + c = n.originSelectionRange + ? l.e.lift(n.originSelectionRange) + : new l.e( + e.lineNumber, + i.startColumn, + e.lineNumber, + i.endColumn + ); + const d = this.modeService.getModeIdByFilepathOrFirstLine( + r.uri + ); + this.addDecoration( + c, + new o.W5().appendCodeblock(d || '', a) + ), + t.dispose(); + }); + } + else this.removeLinkDecorations(); + }) + .then(void 0, s.dL) + ); + } + getPreviewValue(t, i, n) { + let r = n.targetSelectionRange + ? n.range + : this.getPreviewRangeBasedOnBrackets(t, i); + return ( + r.endLineNumber - r.startLineNumber >= + e.MAX_SOURCE_PREVIEW_LINES && + (r = this.getPreviewRangeBasedOnIndentation(t, i)), + this.stripIndentationFromPreviewRange(t, i, r) + ); + } + stripIndentationFromPreviewRange(e, t, i) { + let n = e.getLineFirstNonWhitespaceColumn(t); + for (let r = t + 1; r < i.endLineNumber; r++) { + const t = e.getLineFirstNonWhitespaceColumn(r); + n = Math.min(n, t); + } + return e + .getValueInRange(i) + .replace(new RegExp(`^\\s{${n - 1}}`, 'gm'), '') + .trim(); + } + getPreviewRangeBasedOnIndentation(t, i) { + const n = t.getLineFirstNonWhitespaceColumn(i), + r = Math.min(t.getLineCount(), i + e.MAX_SOURCE_PREVIEW_LINES); + let s = i + 1; + for (; s < r && n !== t.getLineFirstNonWhitespaceColumn(s); s++); + return new l.e(i, 1, s + 1, 1); + } + getPreviewRangeBasedOnBrackets(t, i) { + const n = Math.min( + t.getLineCount(), + i + e.MAX_SOURCE_PREVIEW_LINES + ), + r = []; + let s = !0, + o = t.findNextBracket(new v.L(i, 1)); + for (; null !== o; ) { + if (0 === r.length) r.push(o); + else { + const e = r[r.length - 1]; + if ( + (e.open[0] === o.open[0] && e.isOpen && !o.isOpen + ? r.pop() + : r.push(o), + 0 === r.length) + ) { + if (!s) return new l.e(i, 1, o.range.endLineNumber + 1, 1); + s = !1; + } + } + const e = t.getLineMaxColumn(i); + let a = o.range.endLineNumber, + c = o.range.endColumn; + if ((e === o.range.endColumn && (a++, (c = 1)), a > n)) + return new l.e(i, 1, n + 1, 1); + o = t.findNextBracket(new v.L(a, c)); + } + return new l.e(i, 1, n + 1, 1); + } + addDecoration(e, t) { + const i = { + range: e, + options: { + inlineClassName: 'goto-definition-link', + hoverMessage: t, + }, + }; + this.linkDecorations = this.editor.deltaDecorations( + this.linkDecorations, + [i] + ); + } + removeLinkDecorations() { + this.linkDecorations.length > 0 && + (this.linkDecorations = this.editor.deltaDecorations( + this.linkDecorations, + [] + )); + } + isEnabled(e, t) { + return ( + this.editor.hasModel() && + e.isNoneOrSingleMouseDown && + 6 === e.target.type && + (e.hasTriggerModifier || (!!t && t.keyCodeIsTriggerKey)) && + c.Ct.has(this.editor.getModel()) + ); + } + findDefinition(e, t) { + const i = this.editor.getModel(); + return i ? (0, h.nD)(i, e, t) : Promise.resolve(null); + } + gotoDefinition(e, t) { + return ( + this.editor.setPosition(e), + this.editor.invokeWithinContext((e) => { + const i = + !t && this.editor.getOption(69) && !this.isInPeekEditor(e); + return new _.DefinitionAction( + { openToSide: t, openInPeek: i, muteMessage: !0 }, + { alias: '', label: '', id: '', precondition: void 0 } + ).run(e, this.editor); + }) + ); + } + isInPeekEditor(e) { + const t = e.get(C.i6); + return w.Jy.inPeekEditor.getValue(t); + } + dispose() { + this.toUnhook.dispose(); + } + }; + (k.ID = 'editor.contrib.gotodefinitionatposition'), + (k.MAX_SOURCE_PREVIEW_LINES = 8), + (k = (function (e, t, i, n) { + var r, + s = arguments.length, + o = + s < 3 + ? t + : null === n + ? (n = Object.getOwnPropertyDescriptor(t, i)) + : n; + if ( + 'object' == typeof Reflect && + 'function' == typeof Reflect.decorate + ) + o = Reflect.decorate(e, t, i, n); + else + for (var a = e.length - 1; a >= 0; a--) + (r = e[a]) && + (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); + return s > 3 && o && Object.defineProperty(t, i, o), o; + })([S(1, g.S), S(2, a.h)], k)), + (0, d._K)(k.ID, k), + (0, f.Ic)((e, t) => { + const i = e.getColor(p._Y); + i && + t.addRule( + `.monaco-editor .goto-definition-link { color: ${i} !important; }` + ); + }); + }, + 19192: (e, t, i) => { + 'use strict'; + i.d(t, { J: () => _e }); + var n = i(63580), + r = i(17301), + s = i(5976), + o = i(11640), + a = i(72065), + l = i(38819), + c = i(33108), + d = i(52365), + h = i(71455), + u = i(65321), + g = i(41264), + f = i(4669), + p = i(66663), + m = i(95935), + _ = i(84527), + b = i(24314), + v = i(3411), + y = i(88216), + w = i(59834), + C = i(67488), + S = i(44349), + k = i(97781), + x = i(88810), + L = i(68843), + M = i(91847), + D = i(75392), + N = i(34650), + E = function (e, t, i, n) { + var r, + s = arguments.length, + o = + s < 3 + ? t + : null === n + ? (n = Object.getOwnPropertyDescriptor(t, i)) + : n; + if ( + 'object' == typeof Reflect && + 'function' == typeof Reflect.decorate + ) + o = Reflect.decorate(e, t, i, n); + else + for (var a = e.length - 1; a >= 0; a--) + (r = e[a]) && + (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); + return s > 3 && o && Object.defineProperty(t, i, o), o; + }, + T = function (e, t) { + return function (i, n) { + t(i, n, e); + }; + }; + let I = class { + constructor(e) { + this._resolverService = e; + } + hasChildren(e) { + return e instanceof h.oQ || e instanceof h.F2; + } + getChildren(e) { + if (e instanceof h.oQ) return e.groups; + if (e instanceof h.F2) + return e.resolve(this._resolverService).then((e) => e.children); + throw new Error('bad tree'); + } + }; + I = E([T(0, y.S)], I); + class O { + getHeight() { + return 23; + } + getTemplateId(e) { + return e instanceof h.F2 ? F.id : W.id; + } + } + let A = class { + constructor(e) { + this._keybindingService = e; + } + getKeyboardNavigationLabel(e) { + var t; + if (e instanceof h.WX) { + const i = + null === (t = e.parent.getPreview(e)) || void 0 === t + ? void 0 + : t.preview(e.range); + if (i) return i.value; + } + return (0, m.EZ)(e.uri); + } + }; + A = E([T(0, M.d)], A); + class R { + getId(e) { + return e instanceof h.WX ? e.id : e.uri; + } + } + let P = class extends s.JT { + constructor(e, t, i) { + super(), (this._uriLabel = t); + const n = document.createElement('div'); + n.classList.add('reference-file'), + (this.file = this._register( + new w.g(n, { supportHighlights: !0 }) + )), + (this.badge = new C.Z(u.R3(n, u.$('.count')))), + this._register((0, x.WZ)(this.badge, i)), + e.appendChild(n); + } + set(e, t) { + let i = (0, m.XX)(e.uri); + this.file.setLabel( + (0, L.pP)(e.uri), + this._uriLabel.getUriLabel(i, { relative: !0 }), + { title: this._uriLabel.getUriLabel(e.uri), matches: t } + ); + const r = e.children.length; + this.badge.setCount(r), + r > 1 + ? this.badge.setTitleFormat( + (0, n.N)('referencesCount', '{0} references', r) + ) + : this.badge.setTitleFormat( + (0, n.N)('referenceCount', '{0} reference', r) + ); + } + }; + P = E([T(1, S.e), T(2, k.XE)], P); + let F = class e { + constructor(t) { + (this._instantiationService = t), (this.templateId = e.id); + } + renderTemplate(e) { + return this._instantiationService.createInstance(P, e); + } + renderElement(e, t, i) { + i.set(e.element, (0, D.mB)(e.filterData)); + } + disposeTemplate(e) { + e.dispose(); + } + }; + (F.id = 'FileReferencesRenderer'), (F = E([T(0, a.TG)], F)); + class B { + constructor(e) { + this.label = new N.q(e, !1); + } + set(e, t) { + var i; + const n = + null === (i = e.parent.getPreview(e)) || void 0 === i + ? void 0 + : i.preview(e.range); + if (n && n.value) { + const { value: e, highlight: i } = n; + t && !D.CL.isDefault(t) + ? (this.label.element.classList.toggle('referenceMatch', !1), + this.label.set(e, (0, D.mB)(t))) + : (this.label.element.classList.toggle('referenceMatch', !0), + this.label.set(e, [i])); + } else + this.label.set( + `${(0, m.EZ)(e.uri)}:${e.range.startLineNumber + 1}:${ + e.range.startColumn + 1 + }` + ); + } + } + class W { + constructor() { + this.templateId = W.id; + } + renderTemplate(e) { + return new B(e); + } + renderElement(e, t, i) { + i.set(e.element, e.filterData); + } + disposeTemplate() {} + } + W.id = 'OneReferenceRenderer'; + class Y { + getWidgetAriaLabel() { + return (0, n.N)('treeAriaLabel', 'References'); + } + getAriaLabel(e) { + return e.ariaMessage; + } + } + var H = i(58664), + j = i(73910), + V = i(22043), + z = i(98401), + U = i(59870), + $ = i(9488), + K = i(73098), + q = i(4850); + const G = { separatorBorder: g.Il.transparent }; + class Z { + constructor(e, t, i, n) { + (this.container = e), + (this.view = t), + (this.disposable = n), + (this._cachedVisibleSize = void 0), + 'number' == typeof i + ? ((this._size = i), + (this._cachedVisibleSize = void 0), + u.cn(e, 'visible')) + : ((this._size = 0), + (this._cachedVisibleSize = i.cachedVisibleSize)); + } + set size(e) { + this._size = e; + } + get size() { + return this._size; + } + get visible() { + return void 0 === this._cachedVisibleSize; + } + setVisible(e, t) { + e !== this.visible && + (e + ? ((this.size = (0, U.u)( + this._cachedVisibleSize, + this.viewMinimumSize, + this.viewMaximumSize + )), + (this._cachedVisibleSize = void 0)) + : ((this._cachedVisibleSize = + 'number' == typeof t ? t : this.size), + (this.size = 0)), + u.og(this.container, 'visible', e), + this.view.setVisible && this.view.setVisible(e)); + } + get minimumSize() { + return this.visible ? this.view.minimumSize : 0; + } + get viewMinimumSize() { + return this.view.minimumSize; + } + get maximumSize() { + return this.visible ? this.view.maximumSize : 0; + } + get viewMaximumSize() { + return this.view.maximumSize; + } + get priority() { + return this.view.priority; + } + get snap() { + return !!this.view.snap; + } + set enabled(e) { + this.container.style.pointerEvents = e ? '' : 'none'; + } + layout(e, t) { + this.layoutContainer(e), this.view.layout(this.size, e, t); + } + dispose() { + return this.disposable.dispose(), this.view; + } + } + class J extends Z { + layoutContainer(e) { + (this.container.style.top = `${e}px`), + (this.container.style.height = `${this.size}px`); + } + } + class Q extends Z { + layoutContainer(e) { + (this.container.style.left = `${e}px`), + (this.container.style.width = `${this.size}px`); + } + } + var X, ee; + !(function (e) { + (e[(e.Idle = 0)] = 'Idle'), (e[(e.Busy = 1)] = 'Busy'); + })(X || (X = {})), + (function (e) { + (e.Distribute = { type: 'distribute' }), + (e.Split = function (e) { + return { type: 'split', index: e }; + }), + (e.Invisible = function (e) { + return { type: 'invisible', cachedVisibleSize: e }; + }); + })(ee || (ee = {})); + class te extends s.JT { + constructor(e, t = {}) { + super(), + (this.size = 0), + (this.contentSize = 0), + (this.proportions = void 0), + (this.viewItems = []), + (this.sashItems = []), + (this.state = X.Idle), + (this._onDidSashChange = this._register(new f.Q5())), + (this.onDidSashChange = this._onDidSashChange.event), + (this._onDidSashReset = this._register(new f.Q5())), + (this._startSnappingEnabled = !0), + (this._endSnappingEnabled = !0), + (this.orientation = z.o8(t.orientation) ? 0 : t.orientation), + (this.inverseAltBehavior = !!t.inverseAltBehavior), + (this.proportionalLayout = + !!z.o8(t.proportionalLayout) || !!t.proportionalLayout), + (this.el = document.createElement('div')), + u.cn(this.el, 'monaco-split-view2'), + u.cn(this.el, 0 === this.orientation ? 'vertical' : 'horizontal'), + e.appendChild(this.el), + (this.sashContainer = u.R3(this.el, u.$('.sash-container'))), + (this.viewContainer = u.R3( + this.el, + u.$('.split-view-container') + )), + this.style(t.styles || G), + t.descriptor && + ((this.size = t.descriptor.size), + t.descriptor.views.forEach((e, t) => { + const i = + z.o8(e.visible) || e.visible + ? e.size + : { type: 'invisible', cachedVisibleSize: e.size }, + n = e.view; + this.doAddView(n, i, t, !0); + }), + (this.contentSize = this.viewItems.reduce( + (e, t) => e + t.size, + 0 + )), + this.saveProportions()); + } + get orthogonalStartSash() { + return this._orthogonalStartSash; + } + set orthogonalStartSash(e) { + for (const t of this.sashItems) t.sash.orthogonalStartSash = e; + this._orthogonalStartSash = e; + } + get orthogonalEndSash() { + return this._orthogonalEndSash; + } + set orthogonalEndSash(e) { + for (const t of this.sashItems) t.sash.orthogonalEndSash = e; + this._orthogonalEndSash = e; + } + get startSnappingEnabled() { + return this._startSnappingEnabled; + } + set startSnappingEnabled(e) { + this._startSnappingEnabled !== e && + ((this._startSnappingEnabled = e), this.updateSashEnablement()); + } + get endSnappingEnabled() { + return this._endSnappingEnabled; + } + set endSnappingEnabled(e) { + this._endSnappingEnabled !== e && + ((this._endSnappingEnabled = e), this.updateSashEnablement()); + } + style(e) { + e.separatorBorder.isTransparent() + ? (u.IV(this.el, 'separator-border'), + this.el.style.removeProperty('--separator-border')) + : (u.cn(this.el, 'separator-border'), + this.el.style.setProperty( + '--separator-border', + e.separatorBorder.toString() + )); + } + addView(e, t, i = this.viewItems.length, n) { + this.doAddView(e, t, i, n); + } + layout(e, t) { + const i = Math.max(this.size, this.contentSize); + if (((this.size = e), (this.layoutContext = t), this.proportions)) + for (let t = 0; t < this.viewItems.length; t++) { + const i = this.viewItems[t]; + i.size = (0, U.u)( + Math.round(this.proportions[t] * e), + i.minimumSize, + i.maximumSize + ); + } + else { + const t = (0, $.w6)(this.viewItems.length), + n = t.filter((e) => 1 === this.viewItems[e].priority), + r = t.filter((e) => 2 === this.viewItems[e].priority); + this.resize(this.viewItems.length - 1, e - i, void 0, n, r); + } + this.distributeEmptySpace(), this.layoutViews(); + } + saveProportions() { + this.proportionalLayout && + this.contentSize > 0 && + (this.proportions = this.viewItems.map( + (e) => e.size / this.contentSize + )); + } + onSashStart({ sash: e, start: t, alt: i }) { + for (const e of this.viewItems) e.enabled = !1; + const n = (0, $.Zr)(this.sashItems, (t) => t.sash === e), + r = (0, s.F8)( + (0, q.j)( + document.body, + 'keydown' + )((e) => o(this.sashDragState.current, e.altKey)), + (0, q.j)( + document.body, + 'keyup' + )(() => o(this.sashDragState.current, !1)) + ), + o = (e, t) => { + const i = this.viewItems.map((e) => e.size); + let s, + o, + a = Number.NEGATIVE_INFINITY, + l = Number.POSITIVE_INFINITY; + if ((this.inverseAltBehavior && (t = !t), t)) + if (n === this.sashItems.length - 1) { + const e = this.viewItems[n]; + (a = (e.minimumSize - e.size) / 2), + (l = (e.maximumSize - e.size) / 2); + } else { + const e = this.viewItems[n + 1]; + (a = (e.size - e.maximumSize) / 2), + (l = (e.size - e.minimumSize) / 2); + } + if (!t) { + const e = (0, $.w6)(n, -1), + t = (0, $.w6)(n + 1, this.viewItems.length), + r = e.reduce( + (e, t) => e + (this.viewItems[t].minimumSize - i[t]), + 0 + ), + a = e.reduce( + (e, t) => e + (this.viewItems[t].viewMaximumSize - i[t]), + 0 + ), + l = + 0 === t.length + ? Number.POSITIVE_INFINITY + : t.reduce( + (e, t) => + e + (i[t] - this.viewItems[t].minimumSize), + 0 + ), + c = + 0 === t.length + ? Number.NEGATIVE_INFINITY + : t.reduce( + (e, t) => + e + (i[t] - this.viewItems[t].viewMaximumSize), + 0 + ), + d = Math.max(r, c), + h = Math.min(l, a), + u = this.findFirstSnapIndex(e), + g = this.findFirstSnapIndex(t); + if ('number' == typeof u) { + const e = this.viewItems[u], + t = Math.floor(e.viewMinimumSize / 2); + s = { + index: u, + limitDelta: e.visible ? d - t : d + t, + size: e.size, + }; + } + if ('number' == typeof g) { + const e = this.viewItems[g], + t = Math.floor(e.viewMinimumSize / 2); + o = { + index: g, + limitDelta: e.visible ? h + t : h - t, + size: e.size, + }; + } + } + this.sashDragState = { + start: e, + current: e, + index: n, + sizes: i, + minDelta: a, + maxDelta: l, + alt: t, + snapBefore: s, + snapAfter: o, + disposable: r, + }; + }; + o(t, i); + } + onSashChange({ current: e }) { + const { + index: t, + start: i, + sizes: n, + alt: r, + minDelta: s, + maxDelta: o, + snapBefore: a, + snapAfter: l, + } = this.sashDragState; + this.sashDragState.current = e; + const c = e - i, + d = this.resize(t, c, n, void 0, void 0, s, o, a, l); + if (r) { + const e = t === this.sashItems.length - 1, + i = this.viewItems.map((e) => e.size), + n = e ? t : t + 1, + r = this.viewItems[n], + s = r.size - r.maximumSize, + o = r.size - r.minimumSize, + a = e ? t - 1 : t + 1; + this.resize(a, -d, i, void 0, void 0, s, o); + } + this.distributeEmptySpace(), this.layoutViews(); + } + onSashEnd(e) { + this._onDidSashChange.fire(e), + this.sashDragState.disposable.dispose(), + this.saveProportions(); + for (const e of this.viewItems) e.enabled = !0; + } + onViewChange(e, t) { + const i = this.viewItems.indexOf(e); + i < 0 || + i >= this.viewItems.length || + ((t = 'number' == typeof t ? t : e.size), + (t = (0, U.u)(t, e.minimumSize, e.maximumSize)), + this.inverseAltBehavior && i > 0 + ? (this.resize(i - 1, Math.floor((e.size - t) / 2)), + this.distributeEmptySpace(), + this.layoutViews()) + : ((e.size = t), this.relayout([i], void 0))); + } + resizeView(e, t) { + if (this.state !== X.Idle) throw new Error('Cant modify splitview'); + if (((this.state = X.Busy), e < 0 || e >= this.viewItems.length)) + return; + const i = (0, $.w6)(this.viewItems.length).filter((t) => t !== e), + n = [...i.filter((e) => 1 === this.viewItems[e].priority), e], + r = i.filter((e) => 2 === this.viewItems[e].priority), + s = this.viewItems[e]; + (t = Math.round(t)), + (t = (0, U.u)( + t, + s.minimumSize, + Math.min(s.maximumSize, this.size) + )), + (s.size = t), + this.relayout(n, r), + (this.state = X.Idle); + } + distributeViewSizes() { + const e = []; + let t = 0; + for (const i of this.viewItems) + i.maximumSize - i.minimumSize > 0 && (e.push(i), (t += i.size)); + const i = Math.floor(t / e.length); + for (const t of e) + t.size = (0, U.u)(i, t.minimumSize, t.maximumSize); + const n = (0, $.w6)(this.viewItems.length), + r = n.filter((e) => 1 === this.viewItems[e].priority), + s = n.filter((e) => 2 === this.viewItems[e].priority); + this.relayout(r, s); + } + getViewSize(e) { + return e < 0 || e >= this.viewItems.length + ? -1 + : this.viewItems[e].size; + } + doAddView(e, t, i = this.viewItems.length, n) { + if (this.state !== X.Idle) throw new Error('Cant modify splitview'); + this.state = X.Busy; + const r = u.$('.split-view-view'); + i === this.viewItems.length + ? this.viewContainer.appendChild(r) + : this.viewContainer.insertBefore( + r, + this.viewContainer.children.item(i) + ); + const o = e.onDidChange((e) => this.onViewChange(d, e)), + a = (0, s.OF)(() => this.viewContainer.removeChild(r)), + l = (0, s.F8)(o, a); + let c; + c = + 'number' == typeof t + ? t + : 'split' === t.type + ? this.getViewSize(t.index) / 2 + : 'invisible' === t.type + ? { cachedVisibleSize: t.cachedVisibleSize } + : e.minimumSize; + const d = + 0 === this.orientation ? new J(r, e, c, l) : new Q(r, e, c, l); + if ((this.viewItems.splice(i, 0, d), this.viewItems.length > 1)) { + const e = + 0 === this.orientation + ? new K.g( + this.sashContainer, + { + getHorizontalSashTop: (e) => this.getSashPosition(e), + }, + { + orientation: 1, + orthogonalStartSash: this.orthogonalStartSash, + orthogonalEndSash: this.orthogonalEndSash, + } + ) + : new K.g( + this.sashContainer, + { getVerticalSashLeft: (e) => this.getSashPosition(e) }, + { + orientation: 0, + orthogonalStartSash: this.orthogonalStartSash, + orthogonalEndSash: this.orthogonalEndSash, + } + ), + t = + 0 === this.orientation + ? (t) => ({ + sash: e, + start: t.startY, + current: t.currentY, + alt: t.altKey, + }) + : (t) => ({ + sash: e, + start: t.startX, + current: t.currentX, + alt: t.altKey, + }), + n = f.ju.map(e.onDidStart, t)(this.onSashStart, this), + r = f.ju.map(e.onDidChange, t)(this.onSashChange, this), + o = f.ju.map(e.onDidEnd, () => + (0, $.Zr)(this.sashItems, (t) => t.sash === e) + )(this.onSashEnd, this), + a = e.onDidReset(() => { + const t = (0, $.Zr)(this.sashItems, (t) => t.sash === e), + i = (0, $.w6)(t, -1), + n = (0, $.w6)(t + 1, this.viewItems.length), + r = this.findFirstSnapIndex(i), + s = this.findFirstSnapIndex(n); + ('number' != typeof r || this.viewItems[r].visible) && + ('number' != typeof s || this.viewItems[s].visible) && + this._onDidSashReset.fire(t); + }), + l = (0, s.F8)(n, r, o, a, e), + c = { sash: e, disposable: l }; + this.sashItems.splice(i - 1, 0, c); + } + let h; + r.appendChild(e.element), + 'number' != typeof t && 'split' === t.type && (h = [t.index]), + n || this.relayout([i], h), + (this.state = X.Idle), + n || + 'number' == typeof t || + 'distribute' !== t.type || + this.distributeViewSizes(); + } + relayout(e, t) { + const i = this.viewItems.reduce((e, t) => e + t.size, 0); + this.resize(this.viewItems.length - 1, this.size - i, void 0, e, t), + this.distributeEmptySpace(), + this.layoutViews(), + this.saveProportions(); + } + resize( + e, + t, + i = this.viewItems.map((e) => e.size), + n, + r, + s = Number.NEGATIVE_INFINITY, + o = Number.POSITIVE_INFINITY, + a, + l + ) { + if (e < 0 || e >= this.viewItems.length) return 0; + const c = (0, $.w6)(e, -1), + d = (0, $.w6)(e + 1, this.viewItems.length); + if (r) for (const e of r) (0, $.zI)(c, e), (0, $.zI)(d, e); + if (n) for (const e of n) (0, $.al)(c, e), (0, $.al)(d, e); + const h = c.map((e) => this.viewItems[e]), + u = c.map((e) => i[e]), + g = d.map((e) => this.viewItems[e]), + f = d.map((e) => i[e]), + p = c.reduce( + (e, t) => e + (this.viewItems[t].minimumSize - i[t]), + 0 + ), + m = c.reduce( + (e, t) => e + (this.viewItems[t].maximumSize - i[t]), + 0 + ), + _ = + 0 === d.length + ? Number.POSITIVE_INFINITY + : d.reduce( + (e, t) => e + (i[t] - this.viewItems[t].minimumSize), + 0 + ), + b = + 0 === d.length + ? Number.NEGATIVE_INFINITY + : d.reduce( + (e, t) => e + (i[t] - this.viewItems[t].maximumSize), + 0 + ), + v = Math.max(p, b, s), + y = Math.min(_, m, o); + let w = !1; + if (a) { + const e = this.viewItems[a.index], + i = t >= a.limitDelta; + (w = i !== e.visible), e.setVisible(i, a.size); + } + if (!w && l) { + const e = this.viewItems[l.index], + i = t < l.limitDelta; + (w = i !== e.visible), e.setVisible(i, l.size); + } + if (w) return this.resize(e, t, i, n, r, s, o); + for (let e = 0, i = (t = (0, U.u)(t, v, y)); e < h.length; e++) { + const t = h[e], + n = (0, U.u)(u[e] + i, t.minimumSize, t.maximumSize); + (i -= n - u[e]), (t.size = n); + } + for (let e = 0, i = t; e < g.length; e++) { + const t = g[e], + n = (0, U.u)(f[e] - i, t.minimumSize, t.maximumSize); + (i += n - f[e]), (t.size = n); + } + return t; + } + distributeEmptySpace(e) { + const t = this.viewItems.reduce((e, t) => e + t.size, 0); + let i = this.size - t; + const n = (0, $.w6)(this.viewItems.length - 1, -1), + r = n.filter((e) => 1 === this.viewItems[e].priority), + s = n.filter((e) => 2 === this.viewItems[e].priority); + for (const e of s) (0, $.zI)(n, e); + for (const e of r) (0, $.al)(n, e); + 'number' == typeof e && (0, $.al)(n, e); + for (let e = 0; 0 !== i && e < n.length; e++) { + const t = this.viewItems[n[e]], + r = (0, U.u)(t.size + i, t.minimumSize, t.maximumSize); + (i -= r - t.size), (t.size = r); + } + } + layoutViews() { + this.contentSize = this.viewItems.reduce((e, t) => e + t.size, 0); + let e = 0; + for (const t of this.viewItems) + t.layout(e, this.layoutContext), (e += t.size); + this.sashItems.forEach((e) => e.sash.layout()), + this.updateSashEnablement(); + } + updateSashEnablement() { + let e = !1; + const t = this.viewItems.map( + (t) => (e = t.size - t.minimumSize > 0 || e) + ); + e = !1; + const i = this.viewItems.map( + (t) => (e = t.maximumSize - t.size > 0 || e) + ), + n = [...this.viewItems].reverse(); + e = !1; + const r = n + .map((t) => (e = t.size - t.minimumSize > 0 || e)) + .reverse(); + e = !1; + const s = n + .map((t) => (e = t.maximumSize - t.size > 0 || e)) + .reverse(); + let o = 0; + for (let e = 0; e < this.sashItems.length; e++) { + const { sash: n } = this.sashItems[e]; + o += this.viewItems[e].size; + const a = !(t[e] && s[e + 1]), + l = !(i[e] && r[e + 1]); + if (a && l) { + const i = (0, $.w6)(e, -1), + s = (0, $.w6)(e + 1, this.viewItems.length), + a = this.findFirstSnapIndex(i), + l = this.findFirstSnapIndex(s), + c = 'number' == typeof a && !this.viewItems[a].visible, + d = 'number' == typeof l && !this.viewItems[l].visible; + c && r[e] && (o > 0 || this.startSnappingEnabled) + ? (n.state = 1) + : d && + t[e] && + (o < this.contentSize || this.endSnappingEnabled) + ? (n.state = 2) + : (n.state = 0); + } else n.state = a && !l ? 1 : !a && l ? 2 : 3; + } + } + getSashPosition(e) { + let t = 0; + for (let i = 0; i < this.sashItems.length; i++) + if (((t += this.viewItems[i].size), this.sashItems[i].sash === e)) + return t; + return 0; + } + findFirstSnapIndex(e) { + for (const t of e) { + const e = this.viewItems[t]; + if (e.visible && e.snap) return t; + } + for (const t of e) { + const e = this.viewItems[t]; + if (e.visible && e.maximumSize - e.minimumSize > 0) return; + if (!e.visible && e.snap) return t; + } + } + dispose() { + super.dispose(), + this.viewItems.forEach((e) => e.dispose()), + (this.viewItems = []), + this.sashItems.forEach((e) => e.disposable.dispose()), + (this.sashItems = []); + } + } + var ie = i(64862), + ne = function (e, t) { + return function (i, n) { + t(i, n, e); + }; + }, + re = function (e, t, i, n) { + return new (i || (i = Promise))(function (r, s) { + function o(e) { + try { + l(n.next(e)); + } catch (e) { + s(e); + } + } + function a(e) { + try { + l(n.throw(e)); + } catch (e) { + s(e); + } + } + function l(e) { + var t; + e.done + ? r(e.value) + : ((t = e.value), + t instanceof i + ? t + : new i(function (e) { + e(t); + })).then(o, a); + } + l((n = n.apply(e, t || [])).next()); + }); + }; + class se { + constructor(e, t) { + (this._editor = e), + (this._model = t), + (this._decorations = new Map()), + (this._decorationIgnoreSet = new Set()), + (this._callOnDispose = new s.SL()), + (this._callOnModelChange = new s.SL()), + this._callOnDispose.add( + this._editor.onDidChangeModel(() => this._onModelChanged()) + ), + this._onModelChanged(); + } + dispose() { + this._callOnModelChange.dispose(), + this._callOnDispose.dispose(), + this.removeDecorations(); + } + _onModelChanged() { + this._callOnModelChange.clear(); + const e = this._editor.getModel(); + if (e) + for (let t of this._model.references) + if (t.uri.toString() === e.uri.toString()) + return void this._addDecorations(t.parent); + } + _addDecorations(e) { + if (!this._editor.hasModel()) return; + this._callOnModelChange.add( + this._editor + .getModel() + .onDidChangeDecorations(() => this._onDecorationChanged()) + ); + const t = [], + i = []; + for (let n = 0, r = e.children.length; n < r; n++) { + let r = e.children[n]; + this._decorationIgnoreSet.has(r.id) || + (r.uri.toString() === this._editor.getModel().uri.toString() && + (t.push({ range: r.range, options: se.DecorationOptions }), + i.push(n))); + } + const n = this._editor.deltaDecorations([], t); + for (let t = 0; t < n.length; t++) + this._decorations.set(n[t], e.children[i[t]]); + } + _onDecorationChanged() { + const e = [], + t = this._editor.getModel(); + if (t) { + for (let [i, n] of this._decorations) { + const r = t.getDecorationRange(i); + if (!r) continue; + let s = !1; + b.e.equalsRange(r, n.range) || + ((b.e.spansMultipleLines(r) || + n.range.endColumn - n.range.startColumn != + r.endColumn - r.startColumn) && + (s = !0), + s + ? (this._decorationIgnoreSet.add(n.id), e.push(i)) + : (n.range = r)); + } + for (let t = 0, i = e.length; t < i; t++) + this._decorations.delete(e[t]); + this._editor.deltaDecorations(e, []); + } + } + removeDecorations() { + this._editor.deltaDecorations([...this._decorations.keys()], []), + this._decorations.clear(); + } + } + se.DecorationOptions = v.qx.register({ + stickiness: 1, + className: 'reference-decoration', + }); + class oe extends H.ls {} + let ae = class extends V.vk { + constructor(e, t, i, n, r, o, a, l, c, d) { + super( + e, + { + showFrame: !1, + showArrow: !0, + isResizeable: !0, + isAccessible: !0, + }, + o + ), + (this._defaultTreeKeyboardSupport = t), + (this.layoutData = i), + (this._textModelResolverService = r), + (this._instantiationService = o), + (this._peekViewService = a), + (this._uriLabel = l), + (this._undoRedoService = c), + (this._keybindingService = d), + (this._disposeOnNewModel = new s.SL()), + (this._callOnDispose = new s.SL()), + (this._onDidSelectReference = new f.Q5()), + (this.onDidSelectReference = this._onDidSelectReference.event), + (this._dim = { height: 0, width: 0 }), + this._applyTheme(n.getColorTheme()), + this._callOnDispose.add( + n.onDidColorThemeChange(this._applyTheme.bind(this)) + ), + this._peekViewService.addExclusiveWidget(e, this), + this.create(); + } + dispose() { + this.setModel(void 0), + this._callOnDispose.dispose(), + this._disposeOnNewModel.dispose(), + (0, s.B9)(this._preview), + (0, s.B9)(this._previewNotAvailableMessage), + (0, s.B9)(this._tree), + (0, s.B9)(this._previewModelReference), + this._splitView.dispose(), + super.dispose(); + } + _applyTheme(e) { + const t = e.getColor(V.SC) || g.Il.transparent; + this.style({ + arrowColor: t, + frameColor: t, + headerBackgroundColor: e.getColor(V.KY) || g.Il.transparent, + primaryHeadingColor: e.getColor(V.IH), + secondaryHeadingColor: e.getColor(V.R7), + }); + } + show(e) { + this.editor.revealRangeInCenterIfOutsideViewport(e, 0), + super.show(e, this.layoutData.heightInLines || 18); + } + focusOnReferenceTree() { + this._tree.domFocus(); + } + focusOnPreviewEditor() { + this._preview.focus(); + } + isPreviewEditorFocused() { + return this._preview.hasTextFocus(); + } + _onTitleClick(e) { + this._preview && + this._preview.getModel() && + this._onDidSelectReference.fire({ + element: this._getFocusedReference(), + kind: e.ctrlKey || e.metaKey || e.altKey ? 'side' : 'open', + source: 'title', + }); + } + _fillBody(e) { + this.setCssClass('reference-zone-widget'), + (this._messageContainer = u.R3(e, u.$('div.messages'))), + u.Cp(this._messageContainer), + (this._splitView = new te(e, { orientation: 1 })), + (this._previewContainer = u.R3(e, u.$('div.preview.inline'))), + (this._preview = this._instantiationService.createInstance( + _.H, + this._previewContainer, + { + scrollBeyondLastLine: !1, + scrollbar: { + verticalScrollbarSize: 14, + horizontal: 'auto', + useShadows: !0, + verticalHasArrows: !1, + horizontalHasArrows: !1, + alwaysConsumeMouseWheel: !1, + }, + overviewRulerLanes: 2, + fixedOverflowWidgets: !0, + minimap: { enabled: !1 }, + }, + this.editor + )), + u.Cp(this._previewContainer), + (this._previewNotAvailableMessage = new v.yO( + n.N('missingPreviewMessage', 'no preview available'), + v.yO.DEFAULT_CREATION_OPTIONS, + null, + null, + this._undoRedoService + )), + (this._treeContainer = u.R3(e, u.$('div.ref-tree.inline'))); + const t = { + keyboardSupport: this._defaultTreeKeyboardSupport, + accessibilityProvider: new Y(), + keyboardNavigationLabelProvider: this._instantiationService.createInstance( + A + ), + identityProvider: new R(), + openOnSingleClick: !0, + openOnFocus: !0, + overrideStyles: { listBackground: V.M8 }, + }; + this._defaultTreeKeyboardSupport && + this._callOnDispose.add( + u.mu( + this._treeContainer, + 'keydown', + (e) => { + e.equals(9) && + (this._keybindingService.dispatchEvent(e, e.target), + e.stopPropagation()); + }, + !0 + ) + ), + (this._tree = this._instantiationService.createInstance( + oe, + 'ReferencesWidget', + this._treeContainer, + new O(), + [ + this._instantiationService.createInstance(F), + this._instantiationService.createInstance(W), + ], + this._instantiationService.createInstance(I), + t + )), + this._splitView.addView( + { + onDidChange: f.ju.None, + element: this._previewContainer, + minimumSize: 200, + maximumSize: Number.MAX_VALUE, + layout: (e) => { + this._preview.layout({ + height: this._dim.height, + width: e, + }); + }, + }, + ee.Distribute + ), + this._splitView.addView( + { + onDidChange: f.ju.None, + element: this._treeContainer, + minimumSize: 100, + maximumSize: Number.MAX_VALUE, + layout: (e) => { + (this._treeContainer.style.height = `${this._dim.height}px`), + (this._treeContainer.style.width = `${e}px`), + this._tree.layout(this._dim.height, e); + }, + }, + ee.Distribute + ), + this._disposables.add( + this._splitView.onDidSashChange(() => { + this._dim.width && + (this.layoutData.ratio = + this._splitView.getViewSize(0) / this._dim.width); + }, void 0) + ); + let i = (e, t) => { + e instanceof h.WX && + ('show' === t && this._revealReference(e, !1), + this._onDidSelectReference.fire({ + element: e, + kind: t, + source: 'tree', + })); + }; + this._tree.onDidOpen((e) => { + e.sideBySide + ? i(e.element, 'side') + : e.editorOptions.pinned + ? i(e.element, 'goto') + : i(e.element, 'show'); + }), + u.Cp(this._treeContainer); + } + _onWidth(e) { + this._dim && this._doLayoutBody(this._dim.height, e); + } + _doLayoutBody(e, t) { + super._doLayoutBody(e, t), + (this._dim = { height: e, width: t }), + (this.layoutData.heightInLines = this._viewZone + ? this._viewZone.heightInLines + : this.layoutData.heightInLines), + this._splitView.layout(t), + this._splitView.resizeView(0, t * this.layoutData.ratio); + } + setSelection(e) { + return this._revealReference(e, !0).then(() => { + this._model && + (this._tree.setSelection([e]), this._tree.setFocus([e])); + }); + } + setModel(e) { + return ( + this._disposeOnNewModel.clear(), + (this._model = e), + this._model ? this._onNewModel() : Promise.resolve() + ); + } + _onNewModel() { + return this._model + ? this._model.isEmpty + ? (this.setTitle(''), + (this._messageContainer.innerText = n.N( + 'noResults', + 'No results' + )), + u.$Z(this._messageContainer), + Promise.resolve(void 0)) + : (u.Cp(this._messageContainer), + (this._decorationsManager = new se( + this._preview, + this._model + )), + this._disposeOnNewModel.add(this._decorationsManager), + this._disposeOnNewModel.add( + this._model.onDidChangeReferenceRange((e) => + this._tree.rerender(e) + ) + ), + this._disposeOnNewModel.add( + this._preview.onMouseDown((e) => { + const { event: t, target: i } = e; + if (2 !== t.detail) return; + const n = this._getFocusedReference(); + n && + this._onDidSelectReference.fire({ + element: { uri: n.uri, range: i.range }, + kind: + t.ctrlKey || t.metaKey || t.altKey + ? 'side' + : 'open', + source: 'editor', + }); + }) + ), + this.container.classList.add('results-loaded'), + u.$Z(this._treeContainer), + u.$Z(this._previewContainer), + this._splitView.layout(this._dim.width), + this.focusOnReferenceTree(), + this._tree.setInput( + 1 === this._model.groups.length + ? this._model.groups[0] + : this._model + )) + : Promise.resolve(void 0); + } + _getFocusedReference() { + const [e] = this._tree.getFocus(); + return e instanceof h.WX + ? e + : e instanceof h.F2 && e.children.length > 0 + ? e.children[0] + : void 0; + } + revealReference(e) { + return re(this, void 0, void 0, function* () { + yield this._revealReference(e, !1), + this._onDidSelectReference.fire({ + element: e, + kind: 'goto', + source: 'tree', + }); + }); + } + _revealReference(e, t) { + return re(this, void 0, void 0, function* () { + if (this._revealedReference === e) return; + (this._revealedReference = e), + e.uri.scheme !== p.l.inMemory + ? this.setTitle( + (0, m.Hx)(e.uri), + this._uriLabel.getUriLabel((0, m.XX)(e.uri)) + ) + : this.setTitle(n.N('peekView.alternateTitle', 'References')); + const i = this._textModelResolverService.createModelReference( + e.uri + ); + this._tree.getInput() === e.parent || + (t && this._tree.reveal(e.parent), + yield this._tree.expand(e.parent)), + this._tree.reveal(e); + const r = yield i; + if (!this._model) return void r.dispose(); + (0, s.B9)(this._previewModelReference); + const o = r.object; + if (o) { + const t = + this._preview.getModel() === o.textEditorModel ? 0 : 1, + i = b.e.lift(e.range).collapseToStart(); + (this._previewModelReference = r), + this._preview.setModel(o.textEditorModel), + this._preview.setSelection(i), + this._preview.revealRangeInCenter(i, t); + } else this._preview.setModel(this._previewNotAvailableMessage), r.dispose(); + }); + } + }; + (ae = (function (e, t, i, n) { + var r, + s = arguments.length, + o = + s < 3 + ? t + : null === n + ? (n = Object.getOwnPropertyDescriptor(t, i)) + : n; + if ( + 'object' == typeof Reflect && + 'function' == typeof Reflect.decorate + ) + o = Reflect.decorate(e, t, i, n); + else + for (var a = e.length - 1; a >= 0; a--) + (r = e[a]) && + (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); + return s > 3 && o && Object.defineProperty(t, i, o), o; + })( + [ + ne(3, k.XE), + ne(4, y.S), + ne(5, a.TG), + ne(6, V.Fw), + ne(7, S.e), + ne(8, ie.t), + ne(9, M.d), + ], + ae + )), + (0, k.Ic)((e, t) => { + const i = e.getColor(V.F8); + i && + t.addRule( + `.monaco-editor .reference-zone-widget .ref-tree .referenceMatch .highlight { background-color: ${i}; }` + ); + const n = e.getColor(V.WL); + n && + t.addRule( + `.monaco-editor .reference-zone-widget .preview .reference-decoration { background-color: ${n}; }` + ); + const r = e.getColor(V.xH); + r && + t.addRule( + `.monaco-editor .reference-zone-widget .preview .reference-decoration { border: 2px solid ${r}; box-sizing: border-box; }` + ); + const s = e.getColor(j.xL); + s && + t.addRule( + `.monaco-editor .reference-zone-widget .ref-tree .referenceMatch .highlight { border: 1px dotted ${s}; box-sizing: border-box; }` + ); + const o = e.getColor(V.M8); + o && + t.addRule( + `.monaco-editor .reference-zone-widget .ref-tree { background-color: ${o}; }` + ); + const a = e.getColor(V.xk); + a && + t.addRule( + `.monaco-editor .reference-zone-widget .ref-tree { color: ${a}; }` + ); + const l = e.getColor(V.a7); + l && + t.addRule( + `.monaco-editor .reference-zone-widget .ref-tree .reference-file { color: ${l}; }` + ); + const c = e.getColor(V.Zj); + c && + t.addRule( + `.monaco-editor .reference-zone-widget .ref-tree .monaco-list:focus .monaco-list-rows > .monaco-list-row.selected:not(.highlighted) { background-color: ${c}; }` + ); + const d = e.getColor(V.IY); + d && + t.addRule( + `.monaco-editor .reference-zone-widget .ref-tree .monaco-list:focus .monaco-list-rows > .monaco-list-row.selected:not(.highlighted) { color: ${d} !important; }` + ); + const h = e.getColor(V.RX); + h && + t.addRule( + `.monaco-editor .reference-zone-widget .preview .monaco-editor .monaco-editor-background,.monaco-editor .reference-zone-widget .preview .monaco-editor .inputarea.ime-input {\tbackground-color: ${h};}` + ); + const u = e.getColor(V.sH); + u && + t.addRule( + `.monaco-editor .reference-zone-widget .preview .monaco-editor .margin {\tbackground-color: ${u};}` + ); + }); + var le = i(50187), + ce = i(59422), + de = i(15393), + he = i(49989), + ue = i(22258), + ge = i(94565), + fe = function (e, t) { + return function (i, n) { + t(i, n, e); + }; + }, + pe = function (e, t, i, n) { + return new (i || (i = Promise))(function (r, s) { + function o(e) { + try { + l(n.next(e)); + } catch (e) { + s(e); + } + } + function a(e) { + try { + l(n.throw(e)); + } catch (e) { + s(e); + } + } + function l(e) { + var t; + e.done + ? r(e.value) + : ((t = e.value), + t instanceof i + ? t + : new i(function (e) { + e(t); + })).then(o, a); + } + l((n = n.apply(e, t || [])).next()); + }); + }; + const me = new l.uy('referenceSearchVisible', !1); + let _e = class e { + constructor(e, t, i, n, r, o, a, l) { + (this._defaultTreeKeyboardSupport = e), + (this._editor = t), + (this._editorService = n), + (this._notificationService = r), + (this._instantiationService = o), + (this._storageService = a), + (this._configurationService = l), + (this._disposables = new s.SL()), + (this._requestIdPool = 0), + (this._ignoreModelChangeEvent = !1), + (this._referenceSearchVisible = me.bindTo(i)); + } + static get(t) { + return t.getContribution(e.ID); + } + dispose() { + this._referenceSearchVisible.reset(), + this._disposables.dispose(), + (0, s.B9)(this._widget), + (0, s.B9)(this._model), + (this._widget = void 0), + (this._model = void 0); + } + toggleWidget(e, t, i) { + let r; + if ( + (this._widget && (r = this._widget.position), + this.closeWidget(), + r && e.containsPosition(r)) + ) + return; + (this._peekMode = i), + this._referenceSearchVisible.set(!0), + this._disposables.add( + this._editor.onDidChangeModelLanguage(() => { + this.closeWidget(); + }) + ), + this._disposables.add( + this._editor.onDidChangeModel(() => { + this._ignoreModelChangeEvent || this.closeWidget(); + }) + ); + const s = 'peekViewLayout', + o = class { + constructor() { + (this.ratio = 0.7), (this.heightInLines = 18); + } + static fromJSON(e) { + let t, i; + try { + const n = JSON.parse(e); + (t = n.ratio), (i = n.heightInLines); + } catch (e) {} + return { ratio: t || 0.7, heightInLines: i || 18 }; + } + }.fromJSON(this._storageService.get(s, 0, '{}')); + (this._widget = this._instantiationService.createInstance( + ae, + this._editor, + this._defaultTreeKeyboardSupport, + o + )), + this._widget.setTitle(n.N('labelLoading', 'Loading...')), + this._widget.show(e), + this._disposables.add( + this._widget.onDidClose(() => { + t.cancel(), + this._widget && + (this._storageService.store( + s, + JSON.stringify(this._widget.layoutData), + 0 + ), + (this._widget = void 0)), + this.closeWidget(); + }) + ), + this._disposables.add( + this._widget.onDidSelectReference((e) => { + let { element: t, kind: n } = e; + if (t) + switch (n) { + case 'open': + ('editor' === e.source && + this._configurationService.getValue( + 'editor.stablePeek' + )) || + this.openReference(t, !1); + break; + case 'side': + this.openReference(t, !0); + break; + case 'goto': + i ? this._gotoReference(t) : this.openReference(t, !1); + } + }) + ); + const a = ++this._requestIdPool; + t.then( + (t) => { + if (a === this._requestIdPool && this._widget) + return ( + this._model && this._model.dispose(), + (this._model = t), + this._widget.setModel(this._model).then(() => { + if ( + this._widget && + this._model && + this._editor.hasModel() + ) { + this._model.isEmpty + ? this._widget.setMetaTitle('') + : this._widget.setMetaTitle( + n.N( + 'metaTitle.N', + '{0} ({1})', + this._model.title, + this._model.references.length + ) + ); + let t = this._editor.getModel().uri, + i = new le.L(e.startLineNumber, e.startColumn), + r = this._model.nearestReference(t, i); + if (r) + return this._widget.setSelection(r).then(() => { + this._widget && + 'editor' === this._editor.getOption(68) && + this._widget.focusOnPreviewEditor(); + }); + } + }) + ); + }, + (e) => { + this._notificationService.error(e); + } + ); + } + changeFocusBetweenPreviewAndReferences() { + this._widget && + (this._widget.isPreviewEditorFocused() + ? this._widget.focusOnReferenceTree() + : this._widget.focusOnPreviewEditor()); + } + goToNextOrPreviousReference(e) { + return pe(this, void 0, void 0, function* () { + if (!this._editor.hasModel() || !this._model || !this._widget) + return; + const t = this._widget.position; + if (!t) return; + const i = this._model.nearestReference( + this._editor.getModel().uri, + t + ); + if (!i) return; + const n = this._model.nextOrPreviousReference(i, e), + r = this._editor.hasTextFocus(), + s = this._widget.isPreviewEditorFocused(); + yield this._widget.setSelection(n), + yield this._gotoReference(n), + r + ? this._editor.focus() + : this._widget && s && this._widget.focusOnPreviewEditor(); + }); + } + revealReference(e) { + return pe(this, void 0, void 0, function* () { + this._editor.hasModel() && + this._model && + this._widget && + (yield this._widget.revealReference(e)); + }); + } + closeWidget(e = !0) { + (0, s.B9)(this._widget), + (0, s.B9)(this._model), + this._referenceSearchVisible.reset(), + this._disposables.clear(), + (this._widget = void 0), + (this._model = void 0), + e && this._editor.focus(), + (this._requestIdPool += 1); + } + _gotoReference(t) { + this._widget && this._widget.hide(), + (this._ignoreModelChangeEvent = !0); + const i = b.e.lift(t.range).collapseToStart(); + return this._editorService + .openCodeEditor( + { resource: t.uri, options: { selection: i } }, + this._editor + ) + .then( + (t) => { + var n; + if (((this._ignoreModelChangeEvent = !1), t && this._widget)) + if (this._editor === t) + this._widget.show(i), this._widget.focusOnReferenceTree(); + else { + const r = e.get(t), + s = this._model.clone(); + this.closeWidget(), + t.focus(), + r.toggleWidget( + i, + (0, de.PG)((e) => Promise.resolve(s)), + null !== (n = this._peekMode) && void 0 !== n && n + ); + } + else this.closeWidget(); + }, + (e) => { + (this._ignoreModelChangeEvent = !1), (0, r.dL)(e); + } + ); + } + openReference(e, t) { + t || this.closeWidget(); + const { uri: i, range: n } = e; + this._editorService.openCodeEditor( + { resource: i, options: { selection: n } }, + this._editor, + t + ); + } + }; + function be(e, t) { + const i = (0, V.rc)(e); + if (!i) return; + let n = _e.get(i); + n && t(n); + } + (_e.ID = 'editor.contrib.referencesController'), + (_e = (function (e, t, i, n) { + var r, + s = arguments.length, + o = + s < 3 + ? t + : null === n + ? (n = Object.getOwnPropertyDescriptor(t, i)) + : n; + if ( + 'object' == typeof Reflect && + 'function' == typeof Reflect.decorate + ) + o = Reflect.decorate(e, t, i, n); + else + for (var a = e.length - 1; a >= 0; a--) + (r = e[a]) && + (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); + return s > 3 && o && Object.defineProperty(t, i, o), o; + })( + [ + fe(2, l.i6), + fe(3, o.$), + fe(4, ce.lT), + fe(5, a.TG), + fe(6, d.Uy), + fe(7, c.Ui), + ], + _e + )), + he.W.registerCommandAndKeybindingRule({ + id: 'togglePeekWidgetFocus', + weight: 100, + primary: (0, ue.gx)(2089, 60), + when: l.Ao.or(me, V.Jy.inPeekEditor), + handler(e) { + be(e, (e) => { + e.changeFocusBetweenPreviewAndReferences(); + }); + }, + }), + he.W.registerCommandAndKeybindingRule({ + id: 'goToNextReference', + weight: 90, + primary: 62, + secondary: [70], + when: l.Ao.or(me, V.Jy.inPeekEditor), + handler(e) { + be(e, (e) => { + e.goToNextOrPreviousReference(!0); + }); + }, + }), + he.W.registerCommandAndKeybindingRule({ + id: 'goToPreviousReference', + weight: 90, + primary: 1086, + secondary: [1094], + when: l.Ao.or(me, V.Jy.inPeekEditor), + handler(e) { + be(e, (e) => { + e.goToNextOrPreviousReference(!1); + }); + }, + }), + ge.P.registerCommandAlias( + 'goToNextReferenceFromEmbeddedEditor', + 'goToNextReference' + ), + ge.P.registerCommandAlias( + 'goToPreviousReferenceFromEmbeddedEditor', + 'goToPreviousReference' + ), + ge.P.registerCommandAlias( + 'closeReferenceSearchEditor', + 'closeReferenceSearch' + ), + ge.P.registerCommand('closeReferenceSearch', (e) => + be(e, (e) => e.closeWidget()) + ), + he.W.registerKeybindingRule({ + id: 'closeReferenceSearch', + weight: -1, + primary: 9, + secondary: [1033], + when: l.Ao.and( + V.Jy.inPeekEditor, + l.Ao.not('config.editor.stablePeek') + ), + }), + he.W.registerKeybindingRule({ + id: 'closeReferenceSearch', + weight: 250, + primary: 9, + secondary: [1033], + when: l.Ao.and(me, l.Ao.not('config.editor.stablePeek')), + }), + he.W.registerCommandAndKeybindingRule({ + id: 'revealReference', + weight: 200, + primary: 3, + mac: { primary: 3, secondary: [2066] }, + when: l.Ao.and(me, H.CQ), + handler(e) { + var t; + const i = + null === (t = e.get(H.Lw).lastFocusedList) || void 0 === t + ? void 0 + : t.getFocus(); + Array.isArray(i) && + i[0] instanceof h.WX && + be(e, (e) => e.revealReference(i[0])); + }, + }), + he.W.registerCommandAndKeybindingRule({ + id: 'openReferenceToSide', + weight: 100, + primary: 2051, + mac: { primary: 259 }, + when: l.Ao.and(me, H.CQ), + handler(e) { + var t; + const i = + null === (t = e.get(H.Lw).lastFocusedList) || void 0 === t + ? void 0 + : t.getFocus(); + Array.isArray(i) && + i[0] instanceof h.WX && + be(e, (e) => e.openReference(i[0], !0)); + }, + }), + ge.P.registerCommand('openReference', (e) => { + var t; + const i = + null === (t = e.get(H.Lw).lastFocusedList) || void 0 === t + ? void 0 + : t.getFocus(); + Array.isArray(i) && + i[0] instanceof h.WX && + be(e, (e) => e.openReference(i[0], !1)); + }); + }, + 71455: (e, t, i) => { + 'use strict'; + i.d(t, { WX: () => u, F2: () => f, oQ: () => p }); + var n = i(63580), + r = i(4669), + s = i(95935), + o = i(5976), + a = i(97295), + l = i(44742), + c = i(24314), + d = i(43702), + h = i(17301); + class u { + constructor(e, t, i, n, r) { + (this.isProviderFirst = e), + (this.parent = t), + (this.uri = i), + (this._range = n), + (this._rangeCallback = r), + (this.id = l.a.nextId()); + } + get range() { + return this._range; + } + set range(e) { + (this._range = e), this._rangeCallback(this); + } + get ariaMessage() { + return (0, n.N)( + 'aria.oneReference', + 'symbol in {0} on line {1} at column {2}', + (0, s.EZ)(this.uri), + this.range.startLineNumber, + this.range.startColumn + ); + } + } + class g { + constructor(e) { + this._modelReference = e; + } + dispose() { + this._modelReference.dispose(); + } + preview(e, t = 8) { + const i = this._modelReference.object.textEditorModel; + if (!i) return; + const { + startLineNumber: n, + startColumn: r, + endLineNumber: s, + endColumn: o, + } = e, + a = i.getWordUntilPosition({ lineNumber: n, column: r - t }), + l = new c.e(n, a.startColumn, n, r), + d = new c.e(s, o, s, 1073741824), + h = i.getValueInRange(l).replace(/^\s+/, ''), + u = i.getValueInRange(e); + return { + value: h + u + i.getValueInRange(d).replace(/\s+$/, ''), + highlight: { start: h.length, end: h.length + u.length }, + }; + } + } + class f { + constructor(e, t) { + (this.parent = e), + (this.uri = t), + (this.children = []), + (this._previews = new d.Y9()); + } + dispose() { + (0, o.B9)(this._previews.values()), this._previews.clear(); + } + getPreview(e) { + return this._previews.get(e.uri); + } + get ariaMessage() { + const e = this.children.length; + return 1 === e + ? (0, n.N)( + 'aria.fileReferences.1', + '1 symbol in {0}, full path {1}', + (0, s.EZ)(this.uri), + this.uri.fsPath + ) + : (0, n.N)( + 'aria.fileReferences.N', + '{0} symbols in {1}, full path {2}', + e, + (0, s.EZ)(this.uri), + this.uri.fsPath + ); + } + resolve(e) { + return ( + (t = this), + (i = void 0), + (r = function* () { + if (0 !== this._previews.size) return this; + for (let t of this.children) + if (!this._previews.has(t.uri)) + try { + const i = yield e.createModelReference(t.uri); + this._previews.set(t.uri, new g(i)); + } catch (e) { + (0, h.dL)(e); + } + return this; + }), + new ((n = void 0) || (n = Promise))(function (e, s) { + function o(e) { + try { + l(r.next(e)); + } catch (e) { + s(e); + } + } + function a(e) { + try { + l(r.throw(e)); + } catch (e) { + s(e); + } + } + function l(t) { + var i; + t.done + ? e(t.value) + : ((i = t.value), + i instanceof n + ? i + : new n(function (e) { + e(i); + })).then(o, a); + } + l((r = r.apply(t, i || [])).next()); + }) + ); + var t, i, n, r; + } + } + class p { + constructor(e, t) { + (this._disposables = new o.SL()), + (this.groups = []), + (this.references = []), + (this._onDidChangeReferenceRange = new r.Q5()), + (this.onDidChangeReferenceRange = this._onDidChangeReferenceRange.event), + (this._links = e), + (this._title = t); + const [i] = e; + let n; + e.sort(p._compareReferences); + for (let t of e) + if ( + ((n && s.SF.isEqual(n.uri, t.uri, !0)) || + ((n = new f(this, t.uri)), this.groups.push(n)), + 0 === n.children.length || + 0 !== + p._compareReferences(t, n.children[n.children.length - 1])) + ) { + const e = new u( + i === t, + n, + t.uri, + t.targetSelectionRange || t.range, + (e) => this._onDidChangeReferenceRange.fire(e) + ); + this.references.push(e), n.children.push(e); + } + } + dispose() { + (0, o.B9)(this.groups), + this._disposables.dispose(), + this._onDidChangeReferenceRange.dispose(), + (this.groups.length = 0); + } + clone() { + return new p(this._links, this._title); + } + get title() { + return this._title; + } + get isEmpty() { + return 0 === this.groups.length; + } + get ariaMessage() { + return this.isEmpty + ? (0, n.N)('aria.result.0', 'No results found') + : 1 === this.references.length + ? (0, n.N)( + 'aria.result.1', + 'Found 1 symbol in {0}', + this.references[0].uri.fsPath + ) + : 1 === this.groups.length + ? (0, n.N)( + 'aria.result.n1', + 'Found {0} symbols in {1}', + this.references.length, + this.groups[0].uri.fsPath + ) + : (0, n.N)( + 'aria.result.nm', + 'Found {0} symbols in {1} files', + this.references.length, + this.groups.length + ); + } + nextOrPreviousReference(e, t) { + let { parent: i } = e, + n = i.children.indexOf(e), + r = i.children.length, + s = i.parent.groups.length; + return 1 === s || (t && n + 1 < r) || (!t && n > 0) + ? ((n = t ? (n + 1) % r : (n + r - 1) % r), i.children[n]) + : ((n = i.parent.groups.indexOf(i)), + t + ? ((n = (n + 1) % s), i.parent.groups[n].children[0]) + : ((n = (n + s - 1) % s), + i.parent.groups[n].children[ + i.parent.groups[n].children.length - 1 + ])); + } + nearestReference(e, t) { + const i = this.references + .map((i, n) => ({ + idx: n, + prefixLen: a.Mh(i.uri.toString(), e.toString()), + offsetDist: + 100 * Math.abs(i.range.startLineNumber - t.lineNumber) + + Math.abs(i.range.startColumn - t.column), + })) + .sort((e, t) => + e.prefixLen > t.prefixLen + ? -1 + : e.prefixLen < t.prefixLen + ? 1 + : e.offsetDist < t.offsetDist + ? -1 + : e.offsetDist > t.offsetDist + ? 1 + : 0 + )[0]; + if (i) return this.references[i.idx]; + } + referenceAt(e, t) { + for (const i of this.references) + if ( + i.uri.toString() === e.toString() && + c.e.containsPosition(i.range, t) + ) + return i; + } + firstReference() { + for (const e of this.references) if (e.isProviderFirst) return e; + return this.references[0]; + } + static _compareReferences(e, t) { + return ( + s.SF.compare(e.uri, t.uri) || + c.e.compareRangesUsingStarts(e.range, t.range) + ); + } + } + }, + 25217: (e, t, i) => { + 'use strict'; + i.r(t), i.d(t, { ModesHoverController: () => ue }); + var n = i(63580), + r = i(22258), + s = i(5976), + o = i(16830), + a = i(24314), + l = i(29102), + c = i(71531), + d = i(65321), + h = i(71050), + u = i(41264), + g = i(59365), + f = i(50187), + p = i(3411), + m = i(43775), + _ = i(83308), + b = i(64494), + v = i(4669); + class y { + constructor(e, t, i) { + (this.presentationIndex = i), + (this._onColorFlushed = new v.Q5()), + (this.onColorFlushed = this._onColorFlushed.event), + (this._onDidChangeColor = new v.Q5()), + (this.onDidChangeColor = this._onDidChangeColor.event), + (this._onDidChangePresentation = new v.Q5()), + (this.onDidChangePresentation = this._onDidChangePresentation.event), + (this.originalColor = e), + (this._color = e), + (this._colorPresentations = t); + } + get color() { + return this._color; + } + set color(e) { + this._color.equals(e) || + ((this._color = e), this._onDidChangeColor.fire(e)); + } + get presentation() { + return this.colorPresentations[this.presentationIndex]; + } + get colorPresentations() { + return this._colorPresentations; + } + set colorPresentations(e) { + (this._colorPresentations = e), + this.presentationIndex > e.length - 1 && + (this.presentationIndex = 0), + this._onDidChangePresentation.fire(this.presentation); + } + selectNextColorPresentation() { + (this.presentationIndex = + (this.presentationIndex + 1) % this.colorPresentations.length), + this.flushColor(), + this._onDidChangePresentation.fire(this.presentation); + } + guessColorPresentation(e, t) { + for (let e = 0; e < this.colorPresentations.length; e++) + if (t.toLowerCase() === this.colorPresentations[e].label) { + (this.presentationIndex = e), + this._onDidChangePresentation.fire(this.presentation); + break; + } + } + flushColor() { + this._onColorFlushed.fire(this._color); + } + } + var w = i(16268), + C = i(57974), + S = i(93794), + k = i(73910), + x = i(97781); + const L = d.$; + class M extends s.JT { + constructor(e, t, i) { + super(), + (this.model = t), + (this.domNode = L('.colorpicker-header')), + d.R3(e, this.domNode), + (this.pickedColorNode = d.R3(this.domNode, L('.picked-color'))); + const n = d.R3(this.domNode, L('.original-color')); + (n.style.backgroundColor = + u.Il.Format.CSS.format(this.model.originalColor) || ''), + (this.backgroundColor = + i.getColorTheme().getColor(k.yJ) || u.Il.white), + this._register( + (0, x.Ic)((e, t) => { + this.backgroundColor = e.getColor(k.yJ) || u.Il.white; + }) + ), + this._register( + d.nm(this.pickedColorNode, d.tw.CLICK, () => + this.model.selectNextColorPresentation() + ) + ), + this._register( + d.nm(n, d.tw.CLICK, () => { + (this.model.color = this.model.originalColor), + this.model.flushColor(); + }) + ), + this._register(t.onDidChangeColor(this.onDidChangeColor, this)), + this._register( + t.onDidChangePresentation(this.onDidChangePresentation, this) + ), + (this.pickedColorNode.style.backgroundColor = + u.Il.Format.CSS.format(t.color) || ''), + d.og( + this.pickedColorNode, + 'light', + t.color.rgba.a < 0.5 + ? this.backgroundColor.isLighter() + : t.color.isLighter() + ); + } + onDidChangeColor(e) { + (this.pickedColorNode.style.backgroundColor = + u.Il.Format.CSS.format(e) || ''), + d.og( + this.pickedColorNode, + 'light', + e.rgba.a < 0.5 + ? this.backgroundColor.isLighter() + : e.isLighter() + ), + this.onDidChangePresentation(); + } + onDidChangePresentation() { + this.pickedColorNode.textContent = this.model.presentation + ? this.model.presentation.label + : ''; + } + } + class D extends s.JT { + constructor(e, t, i) { + super(), + (this.model = t), + (this.pixelRatio = i), + (this.domNode = L('.colorpicker-body')), + d.R3(e, this.domNode), + (this.saturationBox = new N( + this.domNode, + this.model, + this.pixelRatio + )), + this._register(this.saturationBox), + this._register( + this.saturationBox.onDidChange( + this.onDidSaturationValueChange, + this + ) + ), + this._register( + this.saturationBox.onColorFlushed(this.flushColor, this) + ), + (this.opacityStrip = new T(this.domNode, this.model)), + this._register(this.opacityStrip), + this._register( + this.opacityStrip.onDidChange(this.onDidOpacityChange, this) + ), + this._register( + this.opacityStrip.onColorFlushed(this.flushColor, this) + ), + (this.hueStrip = new I(this.domNode, this.model)), + this._register(this.hueStrip), + this._register( + this.hueStrip.onDidChange(this.onDidHueChange, this) + ), + this._register( + this.hueStrip.onColorFlushed(this.flushColor, this) + ); + } + flushColor() { + this.model.flushColor(); + } + onDidSaturationValueChange({ s: e, v: t }) { + const i = this.model.color.hsva; + this.model.color = new u.Il(new u.tx(i.h, e, t, i.a)); + } + onDidOpacityChange(e) { + const t = this.model.color.hsva; + this.model.color = new u.Il(new u.tx(t.h, t.s, t.v, e)); + } + onDidHueChange(e) { + const t = this.model.color.hsva, + i = 360 * (1 - e); + this.model.color = new u.Il( + new u.tx(360 === i ? 0 : i, t.s, t.v, t.a) + ); + } + layout() { + this.saturationBox.layout(), + this.opacityStrip.layout(), + this.hueStrip.layout(); + } + } + class N extends s.JT { + constructor(e, t, i) { + super(), + (this.model = t), + (this.pixelRatio = i), + (this._onDidChange = new v.Q5()), + (this.onDidChange = this._onDidChange.event), + (this._onColorFlushed = new v.Q5()), + (this.onColorFlushed = this._onColorFlushed.event), + (this.domNode = L('.saturation-wrap')), + d.R3(e, this.domNode), + (this.canvas = document.createElement('canvas')), + (this.canvas.className = 'saturation-box'), + d.R3(this.domNode, this.canvas), + (this.selection = L('.saturation-selection')), + d.R3(this.domNode, this.selection), + this.layout(), + this._register(d.Lo(this.domNode, (e) => this.onMouseDown(e))), + this._register( + this.model.onDidChangeColor(this.onDidChangeColor, this) + ), + (this.monitor = null); + } + onMouseDown(e) { + this.monitor = this._register(new C.Z()); + const t = d.i(this.domNode); + e.target !== this.selection && + this.onDidChangePosition(e.offsetX, e.offsetY), + this.monitor.startMonitoring( + e.target, + e.buttons, + C.e, + (e) => + this.onDidChangePosition(e.posx - t.left, e.posy - t.top), + () => null + ); + const i = d.qV( + document, + () => { + this._onColorFlushed.fire(), + i.dispose(), + this.monitor && + (this.monitor.stopMonitoring(!0), (this.monitor = null)); + }, + !0 + ); + } + onDidChangePosition(e, t) { + const i = Math.max(0, Math.min(1, e / this.width)), + n = Math.max(0, Math.min(1, 1 - t / this.height)); + this.paintSelection(i, n), this._onDidChange.fire({ s: i, v: n }); + } + layout() { + (this.width = this.domNode.offsetWidth), + (this.height = this.domNode.offsetHeight), + (this.canvas.width = this.width * this.pixelRatio), + (this.canvas.height = this.height * this.pixelRatio), + this.paint(); + const e = this.model.color.hsva; + this.paintSelection(e.s, e.v); + } + paint() { + const e = this.model.color.hsva, + t = new u.Il(new u.tx(e.h, 1, 1, 1)), + i = this.canvas.getContext('2d'), + n = i.createLinearGradient(0, 0, this.canvas.width, 0); + n.addColorStop(0, 'rgba(255, 255, 255, 1)'), + n.addColorStop(0.5, 'rgba(255, 255, 255, 0.5)'), + n.addColorStop(1, 'rgba(255, 255, 255, 0)'); + const r = i.createLinearGradient(0, 0, 0, this.canvas.height); + r.addColorStop(0, 'rgba(0, 0, 0, 0)'), + r.addColorStop(1, 'rgba(0, 0, 0, 1)'), + i.rect(0, 0, this.canvas.width, this.canvas.height), + (i.fillStyle = u.Il.Format.CSS.format(t)), + i.fill(), + (i.fillStyle = n), + i.fill(), + (i.fillStyle = r), + i.fill(); + } + paintSelection(e, t) { + (this.selection.style.left = e * this.width + 'px'), + (this.selection.style.top = this.height - t * this.height + 'px'); + } + onDidChangeColor() { + (this.monitor && this.monitor.isMonitoring()) || this.paint(); + } + } + class E extends s.JT { + constructor(e, t) { + super(), + (this.model = t), + (this._onDidChange = new v.Q5()), + (this.onDidChange = this._onDidChange.event), + (this._onColorFlushed = new v.Q5()), + (this.onColorFlushed = this._onColorFlushed.event), + (this.domNode = d.R3(e, L('.strip'))), + (this.overlay = d.R3(this.domNode, L('.overlay'))), + (this.slider = d.R3(this.domNode, L('.slider'))), + (this.slider.style.top = '0px'), + this._register(d.Lo(this.domNode, (e) => this.onMouseDown(e))), + this.layout(); + } + layout() { + this.height = this.domNode.offsetHeight - this.slider.offsetHeight; + const e = this.getValue(this.model.color); + this.updateSliderPosition(e); + } + onMouseDown(e) { + const t = this._register(new C.Z()), + i = d.i(this.domNode); + d.cn(this.domNode, 'grabbing'), + e.target !== this.slider && this.onDidChangeTop(e.offsetY), + t.startMonitoring( + e.target, + e.buttons, + C.e, + (e) => this.onDidChangeTop(e.posy - i.top), + () => null + ); + const n = d.qV( + document, + () => { + this._onColorFlushed.fire(), + n.dispose(), + t.stopMonitoring(!0), + d.IV(this.domNode, 'grabbing'); + }, + !0 + ); + } + onDidChangeTop(e) { + const t = Math.max(0, Math.min(1, 1 - e / this.height)); + this.updateSliderPosition(t), this._onDidChange.fire(t); + } + updateSliderPosition(e) { + this.slider.style.top = (1 - e) * this.height + 'px'; + } + } + class T extends E { + constructor(e, t) { + super(e, t), + d.cn(this.domNode, 'opacity-strip'), + this._register(t.onDidChangeColor(this.onDidChangeColor, this)), + this.onDidChangeColor(this.model.color); + } + onDidChangeColor(e) { + const { r: t, g: i, b: n } = e.rgba, + r = new u.Il(new u.VS(t, i, n, 1)), + s = new u.Il(new u.VS(t, i, n, 0)); + this.overlay.style.background = `linear-gradient(to bottom, ${r} 0%, ${s} 100%)`; + } + getValue(e) { + return e.hsva.a; + } + } + class I extends E { + constructor(e, t) { + super(e, t), d.cn(this.domNode, 'hue-strip'); + } + getValue(e) { + return 1 - e.hsva.h / 360; + } + } + class O extends S.$ { + constructor(e, t, i, n) { + super(), + (this.model = t), + (this.pixelRatio = i), + this._register((0, w.fX)(() => this.layout())); + const r = L('.colorpicker-widget'); + e.appendChild(r); + const s = new M(r, this.model, n); + (this.body = new D(r, this.model, this.pixelRatio)), + this._register(s), + this._register(this.body); + } + layout() { + this.body.layout(); + } + } + var A = i(9488), + R = i(17301); + function P(e, t, i) { + const n = m.xp.ordered(e).map((n) => + Promise.resolve(n.provideHover(e, t, i)).then( + (e) => + e && + (function (e) { + const t = void 0 !== e.range, + i = + void 0 !== e.contents && + e.contents && + e.contents.length > 0; + return t && i; + })(e) + ? e + : void 0, + (e) => { + (0, R.Cp)(e); + } + ) + ); + return Promise.all(n).then(A.kX); + } + (0, o.sb)('_executeHoverProvider', (e, t) => P(e, t, h.T.None)); + var F = i(15393); + class B { + constructor(e, t, i, n, r) { + (this._computer = e), + (this._state = 0), + (this._hoverTime = r), + (this._firstWaitScheduler = new F.pY( + () => this._triggerAsyncComputation(), + 0 + )), + (this._secondWaitScheduler = new F.pY( + () => this._triggerSyncComputation(), + 0 + )), + (this._loadingMessageScheduler = new F.pY( + () => this._showLoadingMessage(), + 0 + )), + (this._asyncComputationPromise = null), + (this._asyncComputationPromiseDone = !1), + (this._completeCallback = t), + (this._errorCallback = i), + (this._progressCallback = n); + } + setHoverTime(e) { + this._hoverTime = e; + } + _firstWaitTime() { + return this._hoverTime / 2; + } + _secondWaitTime() { + return this._hoverTime / 2; + } + _loadingMessageTime() { + return 3 * this._hoverTime; + } + _triggerAsyncComputation() { + (this._state = 2), + this._secondWaitScheduler.schedule(this._secondWaitTime()), + this._computer.computeAsync + ? ((this._asyncComputationPromiseDone = !1), + (this._asyncComputationPromise = (0, F.PG)((e) => + this._computer.computeAsync(e) + )), + this._asyncComputationPromise.then( + (e) => { + (this._asyncComputationPromiseDone = !0), + this._withAsyncResult(e); + }, + (e) => this._onError(e) + )) + : (this._asyncComputationPromiseDone = !0); + } + _triggerSyncComputation() { + this._computer.computeSync && + this._computer.onResult(this._computer.computeSync(), !0), + this._asyncComputationPromiseDone + ? ((this._state = 0), + this._onComplete(this._computer.getResult())) + : ((this._state = 3), + this._onProgress(this._computer.getResult())); + } + _showLoadingMessage() { + 3 === this._state && + this._onProgress(this._computer.getResultWithLoadingMessage()); + } + _withAsyncResult(e) { + e && this._computer.onResult(e, !1), + 3 === this._state && + ((this._state = 0), + this._onComplete(this._computer.getResult())); + } + _onComplete(e) { + this._completeCallback(e); + } + _onError(e) { + this._errorCallback ? this._errorCallback(e) : (0, R.dL)(e); + } + _onProgress(e) { + this._progressCallback(e); + } + start(e) { + if (0 === e) + 0 === this._state && + ((this._state = 1), + this._firstWaitScheduler.schedule(this._firstWaitTime()), + this._loadingMessageScheduler.schedule( + this._loadingMessageTime() + )); + else + switch (this._state) { + case 0: + this._triggerAsyncComputation(), + this._secondWaitScheduler.cancel(), + this._triggerSyncComputation(); + break; + case 2: + this._secondWaitScheduler.cancel(), + this._triggerSyncComputation(); + } + } + cancel() { + this._loadingMessageScheduler.cancel(), + 1 === this._state && this._firstWaitScheduler.cancel(), + 2 === this._state && + (this._secondWaitScheduler.cancel(), + this._asyncComputationPromise && + (this._asyncComputationPromise.cancel(), + (this._asyncComputationPromise = null))), + 3 === this._state && + this._asyncComputationPromise && + (this._asyncComputationPromise.cancel(), + (this._asyncComputationPromise = null)), + (this._state = 0); + } + } + var W = i(9802); + const Y = d.$; + class H extends s.JT { + constructor() { + super(), + (this.containerDomNode = document.createElement('div')), + (this.containerDomNode.className = 'monaco-hover'), + (this.containerDomNode.tabIndex = 0), + this.containerDomNode.setAttribute('role', 'tooltip'), + (this.contentsDomNode = document.createElement('div')), + (this.contentsDomNode.className = 'monaco-hover-content'), + (this._scrollbar = this._register( + new W.s$(this.contentsDomNode, {}) + )), + this.containerDomNode.appendChild(this._scrollbar.getDomNode()); + } + onContentsChanged() { + this._scrollbar.scanDomNode(); + } + } + class j extends S.$ { + constructor(e, t, i, n) { + super(), + (this._hoverVisibleKey = i), + (this._keybindingService = n), + (this.allowEditorOverflow = !0), + (this._hover = this._register(new H())), + (this._id = e), + (this._editor = t), + (this._isVisible = !1), + (this._stoleFocus = !1), + this.onkeydown(this._hover.containerDomNode, (e) => { + e.equals(9) && this.hide(); + }), + this._register( + this._editor.onDidChangeConfiguration((e) => { + e.hasChanged(36) && this.updateFont(); + }) + ), + this._editor.onDidLayoutChange((e) => this.layout()), + this.layout(), + this._editor.addContentWidget(this), + (this._showAtPosition = null), + (this._showAtRange = null), + (this._stoleFocus = !1); + } + get isVisible() { + return this._isVisible; + } + set isVisible(e) { + (this._isVisible = e), + d.og(this._hover.containerDomNode, 'hidden', !this._isVisible); + } + getId() { + return this._id; + } + getDomNode() { + return this._hover.containerDomNode; + } + showAt(e, t, i) { + (this._showAtPosition = e), + (this._showAtRange = t), + this._hoverVisibleKey.set(!0), + (this.isVisible = !0), + this._editor.layoutContentWidget(this), + this._editor.render(), + (this._stoleFocus = i), + i && this._hover.containerDomNode.focus(); + } + hide() { + this.isVisible && + (setTimeout(() => { + this.isVisible || this._hoverVisibleKey.set(!1); + }, 0), + (this.isVisible = !1), + this._editor.layoutContentWidget(this), + this._stoleFocus && this._editor.focus()); + } + getPosition() { + return this.isVisible + ? { + position: this._showAtPosition, + range: this._showAtRange, + preference: [1, 2], + } + : null; + } + dispose() { + this._editor.removeContentWidget(this), super.dispose(); + } + updateFont() { + Array.prototype.slice + .call(this._hover.contentsDomNode.getElementsByClassName('code')) + .forEach((e) => this._editor.applyFontInfo(e)); + } + updateContents(e) { + (this._hover.contentsDomNode.textContent = ''), + this._hover.contentsDomNode.appendChild(e), + this.updateFont(), + this._editor.layoutContentWidget(this), + this._hover.onContentsChanged(); + } + _renderAction(e, t) { + const i = this._keybindingService.lookupKeybinding(t.commandId); + return (function (e, t, i) { + const n = d.R3(e, Y('div.action-container')), + r = d.R3(n, Y('a.action')); + return ( + r.setAttribute('href', '#'), + r.setAttribute('role', 'button'), + t.iconClass && d.R3(r, Y(`span.icon.${t.iconClass}`)), + (d.R3(r, Y('span')).textContent = i + ? `${t.label} (${i})` + : t.label), + d.nm(n, d.tw.CLICK, (e) => { + e.stopPropagation(), e.preventDefault(), t.run(n); + }) + ); + })(e, t, i ? i.getLabel() : null); + } + layout() { + const e = Math.max(this._editor.getLayoutInfo().height / 4, 250), + { fontSize: t, lineHeight: i } = this._editor.getOption(36); + (this._hover.contentsDomNode.style.fontSize = `${t}px`), + (this._hover.contentsDomNode.style.lineHeight = `${i}px`), + (this._hover.contentsDomNode.style.maxHeight = `${e}px`), + (this._hover.contentsDomNode.style.maxWidth = `${Math.max( + 0.66 * this._editor.getLayoutInfo().width, + 500 + )}px`); + } + } + class V extends S.$ { + constructor(e, t) { + super(), + (this._id = e), + (this._editor = t), + (this._isVisible = !1), + (this._domNode = document.createElement('div')), + (this._domNode.className = 'monaco-hover hidden'), + this._domNode.setAttribute('aria-hidden', 'true'), + this._domNode.setAttribute('role', 'tooltip'), + (this._showAtLineNumber = -1), + this._register( + this._editor.onDidChangeConfiguration((e) => { + e.hasChanged(36) && this.updateFont(); + }) + ), + this._editor.addOverlayWidget(this); + } + get isVisible() { + return this._isVisible; + } + set isVisible(e) { + (this._isVisible = e), + d.og(this._domNode, 'hidden', !this._isVisible); + } + getId() { + return this._id; + } + getDomNode() { + return this._domNode; + } + showAt(e) { + (this._showAtLineNumber = e), + this.isVisible || (this.isVisible = !0); + const t = this._editor.getLayoutInfo(), + i = this._editor.getTopForLineNumber(this._showAtLineNumber), + n = this._editor.getScrollTop(), + r = this._editor.getOption(51), + s = i - n - (this._domNode.clientHeight - r) / 2; + (this._domNode.style.left = `${ + t.glyphMarginLeft + t.glyphMarginWidth + }px`), + (this._domNode.style.top = `${Math.max(Math.round(s), 0)}px`); + } + hide() { + this.isVisible && (this.isVisible = !1); + } + getPosition() { + return null; + } + dispose() { + this._editor.removeOverlayWidget(this), super.dispose(); + } + updateFont() { + [ + ...Array.prototype.slice.call( + this._domNode.getElementsByTagName('code') + ), + ...Array.prototype.slice.call( + this._domNode.getElementsByClassName('code') + ), + ].forEach((e) => this._editor.applyFontInfo(e)); + } + updateContents(e) { + (this._domNode.textContent = ''), + this._domNode.appendChild(e), + this.updateFont(); + } + } + var z = i(53335), + U = i(98674), + $ = i(95935), + K = i(50988), + q = i(42698), + G = i(31907), + Z = i(23674), + J = i(89532), + Q = i(90535); + const X = d.$; + class ee { + constructor(e, t, i) { + (this.range = e), (this.color = t), (this.provider = i); + } + } + class te { + constructor(e, t) { + (this.range = e), (this.marker = t); + } + } + class ie { + constructor(e, t) { + (this._markerDecorationsService = t), + (this._editor = e), + (this._result = []); + } + setRange(e) { + (this._range = e), (this._result = []); + } + clearResult() { + this._result = []; + } + computeAsync(e) { + if (!this._editor.hasModel() || !this._range) + return Promise.resolve([]); + const t = this._editor.getModel(); + return m.xp.has(t) + ? P( + t, + new f.L(this._range.startLineNumber, this._range.startColumn), + e + ) + : Promise.resolve([]); + } + computeSync() { + if (!this._editor.hasModel() || !this._range) return []; + const e = this._editor.getModel(), + t = this._range.startLineNumber; + if (t > this._editor.getModel().getLineCount()) return []; + const i = b.ColorDetector.get(this._editor), + n = e.getLineMaxColumn(t), + r = this._editor.getLineDecorations(t); + let s = !1; + const o = this._range, + l = r.map((r) => { + const l = + r.range.startLineNumber === t ? r.range.startColumn : 1, + c = r.range.endLineNumber === t ? r.range.endColumn : n; + if (l > o.startColumn || o.endColumn > c) return null; + const d = new a.e(o.startLineNumber, l, o.startLineNumber, c), + h = this._markerDecorationsService.getMarker(e, r); + if (h) return new te(d, h); + const u = i.getColorData(r.range.getStartPosition()); + if (!s && u) { + s = !0; + const { color: e, range: t } = u.colorInfo; + return new ee(t, e, u.provider); + } + return (0, g.CP)(r.options.hoverMessage) + ? null + : { + contents: r.options.hoverMessage + ? (0, A._2)(r.options.hoverMessage) + : [], + range: d, + }; + }); + return (0, A.kX)(l); + } + onResult(e, t) { + this._result = t + ? e.concat( + this._result.sort((e, t) => + e instanceof ee ? -1 : t instanceof ee ? 1 : 0 + ) + ) + : this._result.concat(e); + } + getResult() { + return this._result.slice(0); + } + getResultWithLoadingMessage() { + return this._result.slice(0).concat([this._getLoadingMessage()]); + } + _getLoadingMessage() { + return { + range: this._range, + contents: [ + new g.W5().appendText( + n.N('modesContentHover.loading', 'Loading...') + ), + ], + }; + } + } + const ne = { type: 2, filter: { include: J.yN.QuickFix } }; + class re extends j { + constructor(e, t, i, n, r, o, a = K.SW) { + super(re.ID, e, t, n), + (this._themeService = r), + (this._modeService = o), + (this._openerService = a), + (this.renderDisposable = this._register(new s.XK())), + (this._messages = []), + (this._lastRange = null), + (this._computer = new ie(this._editor, i)), + (this._highlightDecorations = []), + (this._isChangingDecorations = !1), + (this._shouldFocus = !1), + (this._colorPicker = null), + (this._hoverOperation = new B( + this._computer, + (e) => this._withResult(e, !0), + null, + (e) => this._withResult(e, !1), + this._editor.getOption(46).delay + )), + this._register( + d.mu(this.getDomNode(), d.tw.FOCUS, () => { + this._colorPicker && + d.cn(this.getDomNode(), 'colorpicker-hover'); + }) + ), + this._register( + d.mu(this.getDomNode(), d.tw.BLUR, () => { + d.IV(this.getDomNode(), 'colorpicker-hover'); + }) + ), + this._register( + e.onDidChangeConfiguration((e) => { + this._hoverOperation.setHoverTime( + this._editor.getOption(46).delay + ); + }) + ), + this._register( + m.RW.onDidChange((e) => { + this.isVisible && + this._lastRange && + this._messages.length > 0 && + ((this._hover.contentsDomNode.textContent = ''), + this._renderMessages(this._lastRange, this._messages)); + }) + ); + } + dispose() { + this._hoverOperation.cancel(), super.dispose(); + } + onModelDecorationsChanged() { + this._isChangingDecorations || + (this.isVisible && + (this._hoverOperation.cancel(), + this._computer.clearResult(), + this._colorPicker || this._hoverOperation.start(0))); + } + startShowingAt(e, t, i) { + if (!this._lastRange || !this._lastRange.equalsRange(e)) { + if ((this._hoverOperation.cancel(), this.isVisible)) + if ( + this._showAtPosition && + this._showAtPosition.lineNumber === e.startLineNumber + ) { + let t = []; + for (let i = 0, n = this._messages.length; i < n; i++) { + const n = this._messages[i], + r = n.range; + r && + r.startColumn <= e.startColumn && + r.endColumn >= e.endColumn && + t.push(n); + } + if (t.length > 0) { + if ( + (function (e, t) { + if ((!e && t) || (e && !t) || e.length !== t.length) + return !1; + for (let i = 0; i < e.length; i++) { + const n = e[i], + r = t[i]; + if (n instanceof te && r instanceof te) + return ( + U.H0.makeKey(n.marker) === U.H0.makeKey(r.marker) + ); + if (n instanceof ee || r instanceof ee) return !1; + if (n instanceof te || r instanceof te) return !1; + if (!(0, g.W6)(n.contents, r.contents)) return !1; + } + return !0; + })(t, this._messages) + ) + return; + this._renderMessages(e, t); + } else this.hide(); + } else this.hide(); + (this._lastRange = e), + this._computer.setRange(e), + (this._shouldFocus = i), + this._hoverOperation.start(t); + } + } + hide() { + (this._lastRange = null), + this._hoverOperation.cancel(), + super.hide(), + (this._isChangingDecorations = !0), + (this._highlightDecorations = this._editor.deltaDecorations( + this._highlightDecorations, + [] + )), + (this._isChangingDecorations = !1), + this.renderDisposable.clear(), + (this._colorPicker = null); + } + isColorPickerVisible() { + return !!this._colorPicker; + } + _withResult(e, t) { + (this._messages = e), + this._lastRange && this._messages.length > 0 + ? this._renderMessages(this._lastRange, this._messages) + : t && this.hide(); + } + _renderMessages(e, t) { + this.renderDisposable.dispose(), (this._colorPicker = null); + let i = 1073741824, + n = t[0].range ? a.e.lift(t[0].range) : null, + r = document.createDocumentFragment(), + o = !0, + l = !1; + const c = new s.SL(), + p = []; + if ( + (t.forEach((e) => { + if (e.range) + if ( + ((i = Math.min(i, e.range.startColumn)), + (n = n ? a.e.plusRange(n, e.range) : a.e.lift(e.range)), + e instanceof ee) + ) { + l = !0; + const { red: t, green: i, blue: n, alpha: o } = e.color, + d = new u.VS( + Math.round(255 * t), + Math.round(255 * i), + Math.round(255 * n), + o + ), + g = new u.Il(d); + if (!this._editor.hasModel()) return; + const f = this._editor.getModel(); + let p = new a.e( + e.range.startLineNumber, + e.range.startColumn, + e.range.endLineNumber, + e.range.endColumn + ), + m = { range: e.range, color: e.color }; + const b = new y(g, [], 0), + v = new O( + r, + b, + this._editor.getOption(115), + this._themeService + ); + (0, _.R)(f, m, e.provider, h.T.None).then((t) => { + if ( + ((b.colorPresentations = t || []), + !this._editor.hasModel()) + ) + return; + const i = this._editor + .getModel() + .getValueInRange(e.range); + b.guessColorPresentation(g, i); + const n = () => { + let e, t; + b.presentation.textEdit + ? ((e = [b.presentation.textEdit]), + (t = new a.e( + b.presentation.textEdit.range.startLineNumber, + b.presentation.textEdit.range.startColumn, + b.presentation.textEdit.range.endLineNumber, + b.presentation.textEdit.range.endColumn + )), + (t = t.setEndPosition( + t.endLineNumber, + t.startColumn + + b.presentation.textEdit.text.length + ))) + : ((e = [ + { + identifier: null, + range: p, + text: b.presentation.label, + forceMoveMarkers: !1, + }, + ]), + (t = p.setEndPosition( + p.endLineNumber, + p.startColumn + b.presentation.label.length + ))), + this._editor.pushUndoStop(), + this._editor.executeEdits('colorpicker', e), + b.presentation.additionalTextEdits && + ((e = [...b.presentation.additionalTextEdits]), + this._editor.executeEdits('colorpicker', e), + this.hide()), + this._editor.pushUndoStop(), + (p = t); + }, + o = (t) => + (0, _.R)( + f, + { + range: p, + color: { + red: t.rgba.r / 255, + green: t.rgba.g / 255, + blue: t.rgba.b / 255, + alpha: t.rgba.a, + }, + }, + e.provider, + h.T.None + ).then((e) => { + b.colorPresentations = e || []; + }), + l = b.onColorFlushed((e) => { + o(e).then(n); + }), + d = b.onDidChangeColor(o); + (this._colorPicker = v), + this.showAt(p.getStartPosition(), p, this._shouldFocus), + this.updateContents(r), + this._colorPicker.layout(), + (this.renderDisposable.value = (0, s.F8)(l, d, v, c)); + }); + } else + e instanceof te + ? (p.push(e), (o = !1)) + : e.contents + .filter((e) => !(0, g.CP)(e)) + .forEach((e) => { + const t = X('div.hover-row.markdown-hover'), + i = d.R3(t, X('div.hover-contents')), + n = c.add( + new z.$( + this._editor, + this._modeService, + this._openerService + ) + ); + c.add( + n.onDidRenderCodeBlock(() => { + (i.className = + 'hover-contents code-hover-contents'), + this._hover.onContentsChanged(); + }) + ); + const s = c.add(n.render(e)); + i.appendChild(s.element), + r.appendChild(t), + (o = !1); + }); + }), + p.length) + ) { + p.forEach((e) => r.appendChild(this.renderMarkerHover(e))); + const e = + 1 === p.length + ? p[0] + : p.sort((e, t) => + U.ZL.compare(e.marker.severity, t.marker.severity) + )[0]; + r.appendChild(this.renderMarkerStatusbar(e)); + } + l || + o || + (this.showAt(new f.L(e.startLineNumber, i), n, this._shouldFocus), + this.updateContents(r)), + (this._isChangingDecorations = !0), + (this._highlightDecorations = this._editor.deltaDecorations( + this._highlightDecorations, + n ? [{ range: n, options: re._DECORATION_OPTIONS }] : [] + )), + (this._isChangingDecorations = !1); + } + renderMarkerHover(e) { + const t = X('div.hover-row'), + i = d.R3(t, X('div.marker.hover-contents')), + { + source: n, + message: r, + code: s, + relatedInformation: o, + } = e.marker; + this._editor.applyFontInfo(i); + const a = d.R3(i, X('span')); + if (((a.style.whiteSpace = 'pre-wrap'), (a.innerText = r), n || s)) + if (s && 'string' != typeof s) { + const e = X('span'); + n && (d.R3(e, X('span')).innerText = n), + (this._codeLink = d.R3(e, X('a.code-link'))), + this._codeLink.setAttribute('href', s.target.toString()), + (this._codeLink.onclick = (e) => { + this._openerService.open(s.target), + e.preventDefault(), + e.stopPropagation(); + }), + (d.R3(this._codeLink, X('span')).innerText = s.value); + const t = d.R3(i, e); + (t.style.opacity = '0.6'), (t.style.paddingLeft = '6px'); + } else { + const e = d.R3(i, X('span')); + (e.style.opacity = '0.6'), + (e.style.paddingLeft = '6px'), + (e.innerText = n && s ? `${n}(${s})` : n || `(${s})`); + } + if ((0, A.Of)(o)) + for (const { + message: e, + resource: t, + startLineNumber: n, + startColumn: r, + } of o) { + const s = d.R3(i, X('div')); + s.style.marginTop = '8px'; + const o = d.R3(s, X('a')); + (o.innerText = `${(0, $.EZ)(t)}(${n}, ${r}): `), + (o.style.cursor = 'pointer'), + (o.onclick = (e) => { + e.stopPropagation(), + e.preventDefault(), + this._openerService && + this._openerService + .open(t.with({ fragment: `${n},${r}` }), { + fromUserGesture: !0, + }) + .catch(R.dL); + }); + const a = d.R3(s, X('span')); + (a.innerText = e), this._editor.applyFontInfo(a); + } + return t; + } + renderMarkerStatusbar(e) { + const t = X('div.hover-row.status-bar'), + i = new s.SL(), + r = d.R3(t, X('div.actions')); + if ( + ((e.marker.severity !== U.ZL.Error && + e.marker.severity !== U.ZL.Warning && + e.marker.severity !== U.ZL.Info) || + i.add( + this._renderAction(r, { + label: n.N('peek problem', 'Peek Problem'), + commandId: q.NextMarkerAction.ID, + run: () => { + this.hide(), + q.MarkerController.get(this._editor).showAtMarker( + e.marker + ), + this._editor.focus(); + }, + }) + ), + !this._editor.getOption(72)) + ) { + const t = d.R3(r, X('div')); + (t.style.opacity = '0'), + (t.style.transition = 'opacity 0.2s'), + setTimeout(() => (t.style.opacity = '1'), 200), + (t.textContent = n.N( + 'checkingForQuickFixes', + 'Checking for quick fixes...' + )), + i.add((0, s.OF)(() => t.remove())); + const o = this.getCodeActions(e.marker); + i.add((0, s.OF)(() => o.cancel())), + o.then((e) => { + if ( + ((t.style.transition = ''), + (t.style.opacity = '1'), + !e.validActions.length) + ) + return ( + e.dispose(), + void (t.textContent = n.N( + 'noQuickFixes', + 'No quick fixes available' + )) + ); + t.remove(); + let o = !1; + i.add( + (0, s.OF)(() => { + o || e.dispose(); + }) + ), + i.add( + this._renderAction(r, { + label: n.N('quick fixes', 'Quick Fix...'), + commandId: Z.E7.Id, + run: (t) => { + o = !0; + const i = Z.pY.get(this._editor), + n = d.i(t); + this.hide(), + i.showCodeActions(ne, e, { + x: n.left + 6, + y: n.top + n.height + 6, + }); + }, + }) + ); + }); + } + return (this.renderDisposable.value = i), t; + } + getCodeActions(e) { + return (0, F.PG)((t) => + (0, G.aI)( + this._editor.getModel(), + new a.e( + e.startLineNumber, + e.startColumn, + e.endLineNumber, + e.endColumn + ), + ne, + Q.E.None, + t + ) + ); + } + } + (re.ID = 'editor.contrib.modesContentHoverWidget'), + (re._DECORATION_OPTIONS = p.qx.register({ + className: 'hoverHighlight', + })), + (0, x.Ic)((e, t) => { + const i = e.getColor(k.ur); + i && + t.addRule( + `.monaco-hover .hover-contents a.code-link span:hover { color: ${i}; }` + ); + }); + class se { + constructor(e) { + (this._editor = e), (this._lineNumber = -1), (this._result = []); + } + setLineNumber(e) { + (this._lineNumber = e), (this._result = []); + } + clearResult() { + this._result = []; + } + computeSync() { + const e = (e) => ({ value: e }), + t = this._editor.getLineDecorations(this._lineNumber), + i = []; + if (!t) return i; + for (const n of t) { + if (!n.options.glyphMarginClassName) continue; + const t = n.options.glyphMarginHoverMessage; + t && !(0, g.CP)(t) && i.push(...(0, A._2)(t).map(e)); + } + return i; + } + onResult(e, t) { + this._result = this._result.concat(e); + } + getResult() { + return this._result; + } + getResultWithLoadingMessage() { + return this.getResult(); + } + } + class oe extends V { + constructor(e, t, i = K.SW) { + super(oe.ID, e), + (this._renderDisposeables = this._register(new s.SL())), + (this._messages = []), + (this._lastLineNumber = -1), + (this._markdownRenderer = this._register( + new z.$(this._editor, t, i) + )), + (this._computer = new se(this._editor)), + (this._hoverOperation = new B( + this._computer, + (e) => this._withResult(e), + void 0, + (e) => this._withResult(e), + 300 + )); + } + dispose() { + this._hoverOperation.cancel(), super.dispose(); + } + onModelDecorationsChanged() { + this.isVisible && + (this._hoverOperation.cancel(), + this._computer.clearResult(), + this._hoverOperation.start(0)); + } + startShowingAt(e) { + this._lastLineNumber !== e && + (this._hoverOperation.cancel(), + this.hide(), + (this._lastLineNumber = e), + this._computer.setLineNumber(e), + this._hoverOperation.start(0)); + } + hide() { + (this._lastLineNumber = -1), + this._hoverOperation.cancel(), + super.hide(); + } + _withResult(e) { + (this._messages = e), + this._messages.length > 0 + ? this._renderMessages(this._lastLineNumber, this._messages) + : this.hide(); + } + _renderMessages(e, t) { + this._renderDisposeables.clear(); + const i = document.createDocumentFragment(); + for (const e of t) { + const t = this._markdownRenderer.render(e.value); + this._renderDisposeables.add(t), + i.appendChild((0, d.$)('div.hover-row', void 0, t.element)); + } + this.updateContents(i), this.showAt(e); + } + } + oe.ID = 'editor.contrib.modesGlyphHoverWidget'; + var ae = i(26479), + le = i(91847), + ce = i(10365), + de = i(38819), + he = function (e, t) { + return function (i, n) { + t(i, n, e); + }; + }; + let ue = class e { + constructor(e, t, i, n, r, o, a) { + (this._editor = e), + (this._openerService = t), + (this._modeService = i), + (this._markerDecorationsService = n), + (this._keybindingService = r), + (this._themeService = o), + (this._toUnhook = new s.SL()), + (this._contentWidget = new s.XK()), + (this._glyphWidget = new s.XK()), + (this._isMouseDown = !1), + (this._hoverClicked = !1), + this._hookEvents(), + (this._didChangeConfigurationHandler = this._editor.onDidChangeConfiguration( + (e) => { + e.hasChanged(46) && + (this._hideWidgets(), + this._unhookEvents(), + this._hookEvents()); + } + )), + (this._hoverVisibleKey = l.u.hoverVisible.bindTo(a)); + } + get contentWidget() { + return ( + this._contentWidget.value || this._createHoverWidgets(), + this._contentWidget.value + ); + } + get glyphWidget() { + return ( + this._glyphWidget.value || this._createHoverWidgets(), + this._glyphWidget.value + ); + } + static get(t) { + return t.getContribution(e.ID); + } + _hookEvents() { + const e = () => this._hideWidgets(), + t = this._editor.getOption(46); + (this._isHoverEnabled = t.enabled), + (this._isHoverSticky = t.sticky), + this._isHoverEnabled + ? (this._toUnhook.add( + this._editor.onMouseDown((e) => this._onEditorMouseDown(e)) + ), + this._toUnhook.add( + this._editor.onMouseUp((e) => this._onEditorMouseUp(e)) + ), + this._toUnhook.add( + this._editor.onMouseMove((e) => this._onEditorMouseMove(e)) + ), + this._toUnhook.add( + this._editor.onKeyDown((e) => this._onKeyDown(e)) + ), + this._toUnhook.add( + this._editor.onDidChangeModelDecorations(() => + this._onModelDecorationsChanged() + ) + )) + : (this._toUnhook.add(this._editor.onMouseMove(e)), + this._toUnhook.add( + this._editor.onKeyDown((e) => this._onKeyDown(e)) + )), + this._toUnhook.add(this._editor.onMouseLeave(e)), + this._toUnhook.add(this._editor.onDidChangeModel(e)), + this._toUnhook.add( + this._editor.onDidScrollChange((e) => + this._onEditorScrollChanged(e) + ) + ); + } + _unhookEvents() { + this._toUnhook.clear(); + } + _onModelDecorationsChanged() { + this.contentWidget.onModelDecorationsChanged(), + this.glyphWidget.onModelDecorationsChanged(); + } + _onEditorScrollChanged(e) { + (e.scrollTopChanged || e.scrollLeftChanged) && this._hideWidgets(); + } + _onEditorMouseDown(e) { + this._isMouseDown = !0; + const t = e.target.type; + 9 !== t || e.target.detail !== re.ID + ? (12 === t && e.target.detail === oe.ID) || + (12 !== t && + e.target.detail !== oe.ID && + (this._hoverClicked = !1), + this._hideWidgets()) + : (this._hoverClicked = !0); + } + _onEditorMouseUp(e) { + this._isMouseDown = !1; + } + _onEditorMouseMove(e) { + let t = e.target.type; + if ( + !( + (this._isMouseDown && + this._hoverClicked && + this.contentWidget.isColorPickerVisible()) || + (this._isHoverSticky && 9 === t && e.target.detail === re.ID) || + (this._isHoverSticky && 12 === t && e.target.detail === oe.ID) + ) + ) { + if (7 === t) { + const i = + this._editor.getOption(36).typicalHalfwidthCharacterWidth / + 2, + n = e.target.detail; + n && + !n.isAfterLines && + 'number' == typeof n.horizontalDistanceToText && + n.horizontalDistanceToText < i && + (t = 6); + } + 6 === t + ? (this.glyphWidget.hide(), + this._isHoverEnabled && + e.target.range && + this.contentWidget.startShowingAt(e.target.range, 0, !1)) + : 2 === t + ? (this.contentWidget.hide(), + this._isHoverEnabled && + e.target.position && + this.glyphWidget.startShowingAt( + e.target.position.lineNumber + )) + : this._hideWidgets(); + } + } + _onKeyDown(e) { + 5 !== e.keyCode && + 6 !== e.keyCode && + 57 !== e.keyCode && + 4 !== e.keyCode && + this._hideWidgets(); + } + _hideWidgets() { + !this._glyphWidget.value || + !this._contentWidget.value || + (this._isMouseDown && + this._hoverClicked && + this._contentWidget.value.isColorPickerVisible()) || + (this._glyphWidget.value.hide(), + this._contentWidget.value.hide()); + } + _createHoverWidgets() { + (this._contentWidget.value = new re( + this._editor, + this._hoverVisibleKey, + this._markerDecorationsService, + this._keybindingService, + this._themeService, + this._modeService, + this._openerService + )), + (this._glyphWidget.value = new oe( + this._editor, + this._modeService, + this._openerService + )); + } + showContentHover(e, t, i) { + this.contentWidget.startShowingAt(e, t, i); + } + dispose() { + this._unhookEvents(), + this._toUnhook.dispose(), + this._didChangeConfigurationHandler.dispose(), + this._glyphWidget.dispose(), + this._contentWidget.dispose(); + } + }; + (ue.ID = 'editor.contrib.hover'), + (ue = (function (e, t, i, n) { + var r, + s = arguments.length, + o = + s < 3 + ? t + : null === n + ? (n = Object.getOwnPropertyDescriptor(t, i)) + : n; + if ( + 'object' == typeof Reflect && + 'function' == typeof Reflect.decorate + ) + o = Reflect.decorate(e, t, i, n); + else + for (var a = e.length - 1; a >= 0; a--) + (r = e[a]) && + (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); + return s > 3 && o && Object.defineProperty(t, i, o), o; + })( + [ + he(1, K.v4), + he(2, c.h), + he(3, ae.i), + he(4, le.d), + he(5, x.XE), + he(6, de.i6), + ], + ue + )); + class ge extends o.R6 { + constructor() { + super({ + id: 'editor.action.showHover', + label: n.N( + { + key: 'showHover', + comment: [ + 'Label for action that will trigger the showing of a hover in the editor.', + 'This allows for users to show the hover without using the mouse.', + ], + }, + 'Show Hover' + ), + alias: 'Show Hover', + precondition: void 0, + kbOpts: { + kbExpr: l.u.editorTextFocus, + primary: (0, r.gx)(2089, 2087), + weight: 100, + }, + }); + } + run(e, t) { + if (!t.hasModel()) return; + let i = ue.get(t); + if (!i) return; + const n = t.getPosition(), + r = new a.e(n.lineNumber, n.column, n.lineNumber, n.column), + s = 2 === t.getOption(2); + i.showContentHover(r, 1, s); + } + } + class fe extends o.R6 { + constructor() { + super({ + id: 'editor.action.showDefinitionPreviewHover', + label: n.N( + { + key: 'showDefinitionPreviewHover', + comment: [ + 'Label for action that will trigger the showing of definition preview hover in the editor.', + 'This allows for users to show the definition preview hover without using the mouse.', + ], + }, + 'Show Definition Preview Hover' + ), + alias: 'Show Definition Preview Hover', + precondition: void 0, + }); + } + run(e, t) { + let i = ue.get(t); + if (!i) return; + const n = t.getPosition(); + if (!n) return; + const r = new a.e(n.lineNumber, n.column, n.lineNumber, n.column), + s = ce.GotoDefinitionAtPositionEditorContribution.get( + t + ).startFindDefinitionFromCursor(n); + s + ? s.then(() => { + i.showContentHover(r, 1, !0); + }) + : i.showContentHover(r, 1, !0); + } + } + (0, o._K)(ue.ID, ue), + (0, o.Qr)(ge), + (0, o.Qr)(fe), + (0, x.Ic)((e, t) => { + const i = e.getColor(k.pt); + i && + t.addRule( + `.monaco-editor .hoverHighlight { background-color: ${i}; }` + ); + const n = e.getColor(k.yJ); + n && + t.addRule( + `.monaco-editor .monaco-hover { background-color: ${n}; }` + ); + const r = e.getColor(k.CN); + r && + (t.addRule( + `.monaco-editor .monaco-hover { border: 1px solid ${r}; }` + ), + t.addRule( + `.monaco-editor .monaco-hover .hover-row:not(:first-child):not(:empty) { border-top: 1px solid ${r.transparent( + 0.5 + )}; }` + ), + t.addRule( + `.monaco-editor .monaco-hover hr { border-top: 1px solid ${r.transparent( + 0.5 + )}; }` + ), + t.addRule( + `.monaco-editor .monaco-hover hr { border-bottom: 0px solid ${r.transparent( + 0.5 + )}; }` + )); + const s = e.getColor(k.ur); + s && t.addRule(`.monaco-editor .monaco-hover a { color: ${s}; }`); + const o = e.getColor(k.Sb); + o && t.addRule(`.monaco-editor .monaco-hover { color: ${o}; }`); + const a = e.getColor(k.Lo); + a && + t.addRule( + `.monaco-editor .monaco-hover .hover-row .actions { background-color: ${a}; }` + ); + const l = e.getColor(k.Sw); + l && + t.addRule( + `.monaco-editor .monaco-hover code { background-color: ${l}; }` + ); + }); + }, + 83554: (e, t, i) => { + 'use strict'; + i.r(t); + var n = i(63580), + r = i(24314), + s = i(3860), + o = i(29102), + a = i(16830), + l = i(90469); + class c { + constructor(e, t, i) { + (this._editRange = e), + (this._originalSelection = t), + (this._text = i); + } + getEditOperations(e, t) { + t.addTrackedEditOperation(this._editRange, this._text); + } + computeCursorState(e, t) { + const i = t.getInverseEditOperations()[0].range; + return this._originalSelection.isEmpty() + ? new s.Y( + i.endLineNumber, + Math.min(this._originalSelection.positionColumn, i.endColumn), + i.endLineNumber, + Math.min(this._originalSelection.positionColumn, i.endColumn) + ) + : new s.Y( + i.endLineNumber, + i.endColumn - this._text.length, + i.endLineNumber, + i.endColumn + ); + } + } + var d = i(39925), + h = i(97781), + u = i(27869), + g = i(3411), + f = i(15393), + p = i(17301); + let m = class e { + constructor(e, t) { + (this.decorationIds = []), + (this.editor = e), + (this.editorWorkerService = t); + } + static get(t) { + return t.getContribution(e.ID); + } + dispose() {} + run(t, i) { + this.currentRequest && this.currentRequest.cancel(); + const n = this.editor.getSelection(), + o = this.editor.getModel(); + if (!o || !n) return; + let a = n; + if (a.startLineNumber !== a.endLineNumber) return; + const l = new d.yy(this.editor, 5), + h = o.uri; + return this.editorWorkerService.canNavigateValueSet(h) + ? ((this.currentRequest = (0, f.PG)((e) => + this.editorWorkerService.navigateValueSet(h, a, i) + )), + this.currentRequest + .then((i) => { + if (!i || !i.range || !i.value) return; + if (!l.validate(this.editor)) return; + let n = r.e.lift(i.range), + o = i.range, + d = i.value.length - (a.endColumn - a.startColumn); + (o = { + startLineNumber: o.startLineNumber, + startColumn: o.startColumn, + endLineNumber: o.endLineNumber, + endColumn: o.startColumn + i.value.length, + }), + d > 1 && + (a = new s.Y( + a.startLineNumber, + a.startColumn, + a.endLineNumber, + a.endColumn + d - 1 + )); + const h = new c(n, a, i.value); + this.editor.pushUndoStop(), + this.editor.executeCommand(t, h), + this.editor.pushUndoStop(), + (this.decorationIds = this.editor.deltaDecorations( + this.decorationIds, + [{ range: o, options: e.DECORATION }] + )), + this.decorationRemover && this.decorationRemover.cancel(), + (this.decorationRemover = (0, f.Vs)(350)), + this.decorationRemover + .then( + () => + (this.decorationIds = this.editor.deltaDecorations( + this.decorationIds, + [] + )) + ) + .catch(p.dL); + }) + .catch(p.dL)) + : Promise.resolve(void 0); + } + }; + var _, b; + (m.ID = 'editor.contrib.inPlaceReplaceController'), + (m.DECORATION = g.qx.register({ className: 'valueSetReplacement' })), + (m = (function (e, t, i, n) { + var r, + s = arguments.length, + o = + s < 3 + ? t + : null === n + ? (n = Object.getOwnPropertyDescriptor(t, i)) + : n; + if ( + 'object' == typeof Reflect && + 'function' == typeof Reflect.decorate + ) + o = Reflect.decorate(e, t, i, n); + else + for (var a = e.length - 1; a >= 0; a--) + (r = e[a]) && + (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); + return s > 3 && o && Object.defineProperty(t, i, o), o; + })( + [ + ((_ = 1), + (b = l.p), + function (e, t) { + b(e, t, _); + }), + ], + m + )); + class v extends a.R6 { + constructor() { + super({ + id: 'editor.action.inPlaceReplace.up', + label: n.N( + 'InPlaceReplaceAction.previous.label', + 'Replace with Previous Value' + ), + alias: 'Replace with Previous Value', + precondition: o.u.writable, + kbOpts: { + kbExpr: o.u.editorTextFocus, + primary: 3154, + weight: 100, + }, + }); + } + run(e, t) { + const i = m.get(t); + return i ? i.run(this.id, !0) : Promise.resolve(void 0); + } + } + class y extends a.R6 { + constructor() { + super({ + id: 'editor.action.inPlaceReplace.down', + label: n.N( + 'InPlaceReplaceAction.next.label', + 'Replace with Next Value' + ), + alias: 'Replace with Next Value', + precondition: o.u.writable, + kbOpts: { + kbExpr: o.u.editorTextFocus, + primary: 3156, + weight: 100, + }, + }); + } + run(e, t) { + const i = m.get(t); + return i ? i.run(this.id, !1) : Promise.resolve(void 0); + } + } + (0, a._K)(m.ID, m), + (0, a.Qr)(v), + (0, a.Qr)(y), + (0, h.Ic)((e, t) => { + const i = e.getColor(u.Dl); + i && + t.addRule( + `.monaco-editor.vs .valueSetReplacement { outline: solid 2px ${i}; }` + ); + }); + }, + 51491: (e, t, i) => { + 'use strict'; + function n(e, t) { + let i = 0; + for (let n = 0; n < e.length; n++) + '\t' === e.charAt(n) ? (i += t) : i++; + return i; + } + function r(e, t, i) { + e = e < 0 ? 0 : e; + let n = ''; + if (!i) { + let i = Math.floor(e / t); + e %= t; + for (let e = 0; e < i; e++) n += '\t'; + } + for (let t = 0; t < e; t++) n += ' '; + return n; + } + i.d(t, { Y: () => n, J: () => r }); + }, + 80638: (e, t, i) => { + 'use strict'; + i.r(t), + i.d(t, { + getReindentEditOperations: () => _, + IndentationToSpacesAction: () => b, + IndentationToTabsAction: () => v, + ChangeIndentationSizeAction: () => y, + IndentUsingTabs: () => w, + IndentUsingSpaces: () => C, + DetectIndentation: () => S, + ReindentLinesAction: () => k, + ReindentSelectedLinesAction: () => x, + AutoIndentOnPasteCommand: () => L, + AutoIndentOnPaste: () => M, + IndentationToSpacesCommand: () => N, + IndentationToTabsCommand: () => E, + }); + var n = i(63580), + r = i(5976), + s = i(97295), + o = i(16830), + a = i(10291), + l = i(69386), + c = i(24314), + d = i(3860), + h = i(29102), + u = i(3411), + g = i(83831), + f = i(51200), + p = i(51491), + m = i(41157); + function _(e, t, i, n) { + if (1 === e.getLineCount() && 1 === e.getLineMaxColumn(1)) return []; + let r = g.zu.getIndentationRules(e.getLanguageIdentifier().id); + if (!r) return []; + for ( + i = Math.min(i, e.getLineCount()); + t <= i && r.unIndentedLinePattern; + + ) { + let i = e.getLineContent(t); + if (!r.unIndentedLinePattern.test(i)) break; + t++; + } + if (t > i - 1) return []; + const { tabSize: o, indentSize: c, insertSpaces: h } = e.getOptions(), + f = (e, t) => ( + (t = t || 1), a.U.shiftIndent(e, e.length + t, o, c, h) + ), + p = (e, t) => ( + (t = t || 1), a.U.unshiftIndent(e, e.length + t, o, c, h) + ); + let m, + _ = [], + b = e.getLineContent(t), + v = b; + if (null != n) { + m = n; + let e = s.V8(b); + (v = m + b.substring(e.length)), + r.decreaseIndentPattern && + r.decreaseIndentPattern.test(v) && + ((m = p(m)), (v = m + b.substring(e.length))), + b !== v && + _.push( + l.h.replace( + new d.Y(t, 1, t, e.length + 1), + u.yO.normalizeIndentation(m, c, h) + ) + ); + } else m = s.V8(b); + let y = m; + r.increaseIndentPattern && r.increaseIndentPattern.test(v) + ? ((y = f(y)), (m = f(m))) + : r.indentNextLinePattern && + r.indentNextLinePattern.test(v) && + (y = f(y)); + for (let n = ++t; n <= i; n++) { + let t = e.getLineContent(n), + i = s.V8(t), + o = y + t.substring(i.length); + r.decreaseIndentPattern && + r.decreaseIndentPattern.test(o) && + ((y = p(y)), (m = p(m))), + i !== y && + _.push( + l.h.replace( + new d.Y(n, 1, n, i.length + 1), + u.yO.normalizeIndentation(y, c, h) + ) + ), + (r.unIndentedLinePattern && r.unIndentedLinePattern.test(t)) || + (r.increaseIndentPattern && r.increaseIndentPattern.test(o) + ? ((m = f(m)), (y = m)) + : (y = + r.indentNextLinePattern && r.indentNextLinePattern.test(o) + ? f(y) + : m)); + } + return _; + } + class b extends o.R6 { + constructor() { + super({ + id: b.ID, + label: n.N( + 'indentationToSpaces', + 'Convert Indentation to Spaces' + ), + alias: 'Convert Indentation to Spaces', + precondition: h.u.writable, + }); + } + run(e, t) { + let i = t.getModel(); + if (!i) return; + let n = i.getOptions(), + r = t.getSelection(); + if (!r) return; + const s = new N(r, n.tabSize); + t.pushUndoStop(), + t.executeCommands(this.id, [s]), + t.pushUndoStop(), + i.updateOptions({ insertSpaces: !0 }); + } + } + b.ID = 'editor.action.indentationToSpaces'; + class v extends o.R6 { + constructor() { + super({ + id: v.ID, + label: n.N('indentationToTabs', 'Convert Indentation to Tabs'), + alias: 'Convert Indentation to Tabs', + precondition: h.u.writable, + }); + } + run(e, t) { + let i = t.getModel(); + if (!i) return; + let n = i.getOptions(), + r = t.getSelection(); + if (!r) return; + const s = new E(r, n.tabSize); + t.pushUndoStop(), + t.executeCommands(this.id, [s]), + t.pushUndoStop(), + i.updateOptions({ insertSpaces: !1 }); + } + } + v.ID = 'editor.action.indentationToTabs'; + class y extends o.R6 { + constructor(e, t) { + super(t), (this.insertSpaces = e); + } + run(e, t) { + const i = e.get(m.eJ), + r = e.get(f.q); + let s = t.getModel(); + if (!s) return; + let o = r.getCreationOptions( + s.getLanguageIdentifier().language, + s.uri, + s.isForSimpleWidget + ); + const a = [1, 2, 3, 4, 5, 6, 7, 8].map((e) => ({ + id: e.toString(), + label: e.toString(), + description: + e === o.tabSize + ? n.N('configuredTabSize', 'Configured Tab Size') + : void 0, + })), + l = Math.min(s.getOptions().tabSize - 1, 7); + setTimeout(() => { + i.pick(a, { + placeHolder: n.N( + { + key: 'selectTabWidth', + comment: ['Tab corresponds to the tab key'], + }, + 'Select Tab Size for Current File' + ), + activeItem: a[l], + }).then((e) => { + e && + s && + !s.isDisposed() && + s.updateOptions({ + tabSize: parseInt(e.label, 10), + insertSpaces: this.insertSpaces, + }); + }); + }, 50); + } + } + class w extends y { + constructor() { + super(!1, { + id: w.ID, + label: n.N('indentUsingTabs', 'Indent Using Tabs'), + alias: 'Indent Using Tabs', + precondition: void 0, + }); + } + } + w.ID = 'editor.action.indentUsingTabs'; + class C extends y { + constructor() { + super(!0, { + id: C.ID, + label: n.N('indentUsingSpaces', 'Indent Using Spaces'), + alias: 'Indent Using Spaces', + precondition: void 0, + }); + } + } + C.ID = 'editor.action.indentUsingSpaces'; + class S extends o.R6 { + constructor() { + super({ + id: S.ID, + label: n.N( + 'detectIndentation', + 'Detect Indentation from Content' + ), + alias: 'Detect Indentation from Content', + precondition: void 0, + }); + } + run(e, t) { + const i = e.get(f.q); + let n = t.getModel(); + if (!n) return; + let r = i.getCreationOptions( + n.getLanguageIdentifier().language, + n.uri, + n.isForSimpleWidget + ); + n.detectIndentation(r.insertSpaces, r.tabSize); + } + } + S.ID = 'editor.action.detectIndentation'; + class k extends o.R6 { + constructor() { + super({ + id: 'editor.action.reindentlines', + label: n.N('editor.reindentlines', 'Reindent Lines'), + alias: 'Reindent Lines', + precondition: h.u.writable, + }); + } + run(e, t) { + let i = t.getModel(); + if (!i) return; + let n = _(i, 1, i.getLineCount()); + n.length > 0 && + (t.pushUndoStop(), t.executeEdits(this.id, n), t.pushUndoStop()); + } + } + class x extends o.R6 { + constructor() { + super({ + id: 'editor.action.reindentselectedlines', + label: n.N( + 'editor.reindentselectedlines', + 'Reindent Selected Lines' + ), + alias: 'Reindent Selected Lines', + precondition: h.u.writable, + }); + } + run(e, t) { + let i = t.getModel(); + if (!i) return; + let n = t.getSelections(); + if (null === n) return; + let r = []; + for (let e of n) { + let t = e.startLineNumber, + n = e.endLineNumber; + if ((t !== n && 1 === e.endColumn && n--, 1 === t)) { + if (t === n) continue; + } else t--; + let s = _(i, t, n); + r.push(...s); + } + r.length > 0 && + (t.pushUndoStop(), t.executeEdits(this.id, r), t.pushUndoStop()); + } + } + class L { + constructor(e, t) { + (this._initialSelection = t), + (this._edits = []), + (this._selectionId = null); + for (let t of e) + t.range && 'string' == typeof t.text && this._edits.push(t); + } + getEditOperations(e, t) { + for (let e of this._edits) + t.addEditOperation(c.e.lift(e.range), e.text); + let i = !1; + Array.isArray(this._edits) && + 1 === this._edits.length && + this._initialSelection.isEmpty() && + (this._edits[0].range.startColumn === + this._initialSelection.endColumn && + this._edits[0].range.startLineNumber === + this._initialSelection.endLineNumber + ? ((i = !0), + (this._selectionId = t.trackSelection( + this._initialSelection, + !0 + ))) + : this._edits[0].range.endColumn === + this._initialSelection.startColumn && + this._edits[0].range.endLineNumber === + this._initialSelection.startLineNumber && + ((i = !0), + (this._selectionId = t.trackSelection( + this._initialSelection, + !1 + )))), + i || + (this._selectionId = t.trackSelection(this._initialSelection)); + } + computeCursorState(e, t) { + return t.getTrackedSelection(this._selectionId); + } + } + class M { + constructor(e) { + (this.callOnDispose = new r.SL()), + (this.callOnModel = new r.SL()), + (this.editor = e), + this.callOnDispose.add( + e.onDidChangeConfiguration(() => this.update()) + ), + this.callOnDispose.add(e.onDidChangeModel(() => this.update())), + this.callOnDispose.add( + e.onDidChangeModelLanguage(() => this.update()) + ); + } + update() { + this.callOnModel.clear(), + this.editor.getOption(8) < 4 || + this.editor.getOption(40) || + (this.editor.hasModel() && + this.callOnModel.add( + this.editor.onDidPaste(({ range: e }) => { + this.trigger(e); + }) + )); + } + trigger(e) { + let t = this.editor.getSelections(); + if (null === t || t.length > 1) return; + const i = this.editor.getModel(); + if (!i) return; + if (!i.isCheapToTokenize(e.getStartPosition().lineNumber)) return; + const n = this.editor.getOption(8), + { tabSize: r, indentSize: o, insertSpaces: l } = i.getOptions(); + this.editor.pushUndoStop(); + let d = [], + h = { + shiftIndent: (e) => a.U.shiftIndent(e, e.length + 1, r, o, l), + unshiftIndent: (e) => + a.U.unshiftIndent(e, e.length + 1, r, o, l), + }, + u = e.startLineNumber; + for (; u <= e.endLineNumber && this.shouldIgnoreLine(i, u); ) u++; + if (u > e.endLineNumber) return; + let f = i.getLineContent(u); + if (!/\S/.test(f.substring(0, e.startColumn - 1))) { + let e = g.zu.getGoodIndentForLine( + n, + i, + i.getLanguageIdentifier().id, + u, + h + ); + if (null !== e) { + let t = s.V8(f), + n = p.Y(e, r); + if (n !== p.Y(t, r)) { + let e = p.J(n, r, l); + d.push({ range: new c.e(u, 1, u, t.length + 1), text: e }), + (f = e + f.substr(t.length)); + } else { + let e = g.zu.getIndentMetadata(i, u); + if (0 === e || 8 === e) return; + } + } + } + const m = u; + for (; u < e.endLineNumber && !/\S/.test(i.getLineContent(u + 1)); ) + u++; + if (u !== e.endLineNumber) { + let t = { + getLineTokens: (e) => i.getLineTokens(e), + getLanguageIdentifier: () => i.getLanguageIdentifier(), + getLanguageIdAtPosition: (e, t) => + i.getLanguageIdAtPosition(e, t), + getLineContent: (e) => (e === m ? f : i.getLineContent(e)), + }, + o = g.zu.getGoodIndentForLine( + n, + t, + i.getLanguageIdentifier().id, + u + 1, + h + ); + if (null !== o) { + let t = p.Y(o, r), + n = p.Y(s.V8(i.getLineContent(u + 1)), r); + if (t !== n) { + let o = t - n; + for (let t = u + 1; t <= e.endLineNumber; t++) { + let e = i.getLineContent(t), + n = s.V8(e), + a = p.Y(n, r) + o, + h = p.J(a, r, l); + h !== n && + d.push({ + range: new c.e(t, 1, t, n.length + 1), + text: h, + }); + } + } + } + } + let _ = new L(d, this.editor.getSelection()); + this.editor.executeCommand('autoIndentOnPaste', _), + this.editor.pushUndoStop(); + } + shouldIgnoreLine(e, t) { + e.forceTokenization(t); + let i = e.getLineFirstNonWhitespaceColumn(t); + if (0 === i) return !0; + let n = e.getLineTokens(t); + if (n.getCount() > 0) { + let e = n.findTokenIndexAtOffset(i); + if (e >= 0 && 1 === n.getStandardTokenType(e)) return !0; + } + return !1; + } + dispose() { + this.callOnDispose.dispose(), this.callOnModel.dispose(); + } + } + function D(e, t, i, n) { + if (1 === e.getLineCount() && 1 === e.getLineMaxColumn(1)) return; + let r = ''; + for (let e = 0; e < i; e++) r += ' '; + let s = new RegExp(r, 'gi'); + for (let i = 1, o = e.getLineCount(); i <= o; i++) { + let o = e.getLineFirstNonWhitespaceColumn(i); + if ((0 === o && (o = e.getLineMaxColumn(i)), 1 === o)) continue; + const a = new c.e(i, 1, i, o), + l = e.getValueInRange(a), + d = n ? l.replace(/\t/gi, r) : l.replace(s, '\t'); + t.addEditOperation(a, d); + } + } + M.ID = 'editor.contrib.autoIndentOnPaste'; + class N { + constructor(e, t) { + (this.selection = e), (this.tabSize = t), (this.selectionId = null); + } + getEditOperations(e, t) { + (this.selectionId = t.trackSelection(this.selection)), + D(e, t, this.tabSize, !0); + } + computeCursorState(e, t) { + return t.getTrackedSelection(this.selectionId); + } + } + class E { + constructor(e, t) { + (this.selection = e), (this.tabSize = t), (this.selectionId = null); + } + getEditOperations(e, t) { + (this.selectionId = t.trackSelection(this.selection)), + D(e, t, this.tabSize, !1); + } + computeCursorState(e, t) { + return t.getTrackedSelection(this.selectionId); + } + } + (0, o._K)(M.ID, M), + (0, o.Qr)(b), + (0, o.Qr)(v), + (0, o.Qr)(w), + (0, o.Qr)(C), + (0, o.Qr)(S), + (0, o.Qr)(k), + (0, o.Qr)(x); + }, + 42408: (e, t, i) => { + 'use strict'; + i.r(t), + i.d(t, { + AbstractCaseAction: () => j, + AbstractDeleteAllToBoundaryAction: () => F, + AbstractSortLinesAction: () => D, + DeleteAllLeftAction: () => B, + DeleteAllRightAction: () => W, + DeleteLinesAction: () => I, + DuplicateSelectionAction: () => L, + IndentLinesAction: () => O, + InsertLineAfterAction: () => P, + InsertLineBeforeAction: () => R, + JoinLinesAction: () => Y, + LowerCaseAction: () => z, + SortLinesAscendingAction: () => N, + SortLinesDescendingAction: () => E, + TitleCaseAction: () => U, + TransposeAction: () => H, + TrimTrailingWhitespaceAction: () => T, + UpperCaseAction: () => V, + }); + var n = i(63580), + r = i(22258), + s = i(18728), + o = i(16830), + a = i(61329), + l = i(97295), + c = i(69386), + d = i(24314); + class h { + constructor(e, t) { + (this._selection = e), + (this._cursors = t), + (this._selectionId = null); + } + getEditOperations(e, t) { + let i = (function (e, t) { + t.sort((e, t) => + e.lineNumber === t.lineNumber + ? e.column - t.column + : e.lineNumber - t.lineNumber + ); + for (let e = t.length - 2; e >= 0; e--) + t[e].lineNumber === t[e + 1].lineNumber && t.splice(e, 1); + let i = [], + n = 0, + r = 0, + s = t.length; + for (let o = 1, a = e.getLineCount(); o <= a; o++) { + let a = e.getLineContent(o), + h = a.length + 1, + u = 0; + if ( + r < s && + t[r].lineNumber === o && + ((u = t[r].column), r++, u === h) + ) + continue; + if (0 === a.length) continue; + let g = l.ow(a), + f = 0; + if (-1 === g) f = 1; + else { + if (g === a.length - 1) continue; + f = g + 2; + } + (f = Math.max(u, f)), + (i[n++] = c.h.delete(new d.e(o, f, o, h))); + } + return i; + })(e, this._cursors); + for (let e = 0, n = i.length; e < n; e++) { + let n = i[e]; + t.addEditOperation(n.range, n.text); + } + this._selectionId = t.trackSelection(this._selection); + } + computeCursorState(e, t) { + return t.getTrackedSelection(this._selectionId); + } + } + var u = i(23582), + g = i(50187), + f = i(3860), + p = i(29102); + class m { + constructor(e, t) { + (this._selection = e), + (this._isCopyingDown = t), + (this._selectionDirection = 0), + (this._selectionId = null), + (this._startLineNumberDelta = 0), + (this._endLineNumberDelta = 0); + } + getEditOperations(e, t) { + let i = this._selection; + (this._startLineNumberDelta = 0), + (this._endLineNumberDelta = 0), + i.startLineNumber < i.endLineNumber && + 1 === i.endColumn && + ((this._endLineNumberDelta = 1), + (i = i.setEndPosition( + i.endLineNumber - 1, + e.getLineMaxColumn(i.endLineNumber - 1) + ))); + let n = []; + for (let t = i.startLineNumber; t <= i.endLineNumber; t++) + n.push(e.getLineContent(t)); + const r = n.join('\n'); + '' === r && + this._isCopyingDown && + (this._startLineNumberDelta++, this._endLineNumberDelta++), + this._isCopyingDown + ? t.addEditOperation( + new d.e(i.startLineNumber, 1, i.startLineNumber, 1), + r + '\n' + ) + : t.addEditOperation( + new d.e( + i.endLineNumber, + e.getLineMaxColumn(i.endLineNumber), + i.endLineNumber, + e.getLineMaxColumn(i.endLineNumber) + ), + '\n' + r + ), + (this._selectionId = t.trackSelection(i)), + (this._selectionDirection = this._selection.getDirection()); + } + computeCursorState(e, t) { + let i = t.getTrackedSelection(this._selectionId); + if ( + 0 !== this._startLineNumberDelta || + 0 !== this._endLineNumberDelta + ) { + let e = i.startLineNumber, + t = i.startColumn, + n = i.endLineNumber, + r = i.endColumn; + 0 !== this._startLineNumberDelta && + ((e += this._startLineNumberDelta), (t = 1)), + 0 !== this._endLineNumberDelta && + ((n += this._endLineNumberDelta), (r = 1)), + (i = f.Y.createWithDirection( + e, + t, + n, + r, + this._selectionDirection + )); + } + return i; + } + } + var _ = i(10291), + b = i(97354), + v = i(83831), + y = i(51491); + class w { + constructor(e, t, i) { + (this._selection = e), + (this._isMovingDown = t), + (this._autoIndent = i), + (this._selectionId = null), + (this._moveEndLineSelectionShrink = !1); + } + getEditOperations(e, t) { + let i = e.getLineCount(); + if (this._isMovingDown && this._selection.endLineNumber === i) + return void (this._selectionId = t.trackSelection( + this._selection + )); + if (!this._isMovingDown && 1 === this._selection.startLineNumber) + return void (this._selectionId = t.trackSelection( + this._selection + )); + this._moveEndPositionDown = !1; + let n = this._selection; + n.startLineNumber < n.endLineNumber && + 1 === n.endColumn && + ((this._moveEndPositionDown = !0), + (n = n.setEndPosition( + n.endLineNumber - 1, + e.getLineMaxColumn(n.endLineNumber - 1) + ))); + const { + tabSize: r, + indentSize: s, + insertSpaces: o, + } = e.getOptions(); + let a = this.buildIndentConverter(r, s, o), + c = { + getLineTokens: (t) => e.getLineTokens(t), + getLanguageIdentifier: () => e.getLanguageIdentifier(), + getLanguageIdAtPosition: (t, i) => + e.getLanguageIdAtPosition(t, i), + getLineContent: null, + }; + if ( + n.startLineNumber === n.endLineNumber && + 1 === e.getLineMaxColumn(n.startLineNumber) + ) { + let i = n.startLineNumber, + r = this._isMovingDown ? i + 1 : i - 1; + 1 === e.getLineMaxColumn(r) + ? t.addEditOperation(new d.e(1, 1, 1, 1), null) + : (t.addEditOperation(new d.e(i, 1, i, 1), e.getLineContent(r)), + t.addEditOperation( + new d.e(r, 1, r, e.getLineMaxColumn(r)), + null + )), + (n = new f.Y(r, 1, r, 1)); + } else { + let i, s; + if (this._isMovingDown) { + (i = n.endLineNumber + 1), + (s = e.getLineContent(i)), + t.addEditOperation( + new d.e( + i - 1, + e.getLineMaxColumn(i - 1), + i, + e.getLineMaxColumn(i) + ), + null + ); + let h = s; + if (this.shouldAutoIndent(e, n)) { + let u = this.matchEnterRule( + e, + a, + r, + i, + n.startLineNumber - 1 + ); + if (null !== u) { + let t = l.V8(e.getLineContent(i)), + n = u + y.Y(t, r), + a = y.J(n, r, o); + h = a + this.trimLeft(s); + } else { + c.getLineContent = (t) => + t === n.startLineNumber + ? e.getLineContent(i) + : e.getLineContent(t); + let t = v.zu.getGoodIndentForLine( + this._autoIndent, + c, + e.getLanguageIdAtPosition(i, 1), + n.startLineNumber, + a + ); + if (null !== t) { + let n = l.V8(e.getLineContent(i)), + a = y.Y(t, r); + if (a !== y.Y(n, r)) { + let e = y.J(a, r, o); + h = e + this.trimLeft(s); + } + } + } + t.addEditOperation( + new d.e(n.startLineNumber, 1, n.startLineNumber, 1), + h + '\n' + ); + let g = this.matchEnterRule( + e, + a, + r, + n.startLineNumber, + n.startLineNumber, + h + ); + if (null !== g) + 0 !== g && + this.getIndentEditsOfMovingBlock(e, t, n, r, o, g); + else { + c.getLineContent = (t) => + t === n.startLineNumber + ? h + : t >= n.startLineNumber + 1 && t <= n.endLineNumber + 1 + ? e.getLineContent(t - 1) + : e.getLineContent(t); + let s = v.zu.getGoodIndentForLine( + this._autoIndent, + c, + e.getLanguageIdAtPosition(i, 1), + n.startLineNumber + 1, + a + ); + if (null !== s) { + const i = l.V8(e.getLineContent(n.startLineNumber)), + a = y.Y(s, r), + c = y.Y(i, r); + if (a !== c) { + const i = a - c; + this.getIndentEditsOfMovingBlock(e, t, n, r, o, i); + } + } + } + } else + t.addEditOperation( + new d.e(n.startLineNumber, 1, n.startLineNumber, 1), + h + '\n' + ); + } else if ( + ((i = n.startLineNumber - 1), + (s = e.getLineContent(i)), + t.addEditOperation(new d.e(i, 1, i + 1, 1), null), + t.addEditOperation( + new d.e( + n.endLineNumber, + e.getLineMaxColumn(n.endLineNumber), + n.endLineNumber, + e.getLineMaxColumn(n.endLineNumber) + ), + '\n' + s + ), + this.shouldAutoIndent(e, n)) + ) { + c.getLineContent = (t) => + t === i + ? e.getLineContent(n.startLineNumber) + : e.getLineContent(t); + let s = this.matchEnterRule( + e, + a, + r, + n.startLineNumber, + n.startLineNumber - 2 + ); + if (null !== s) + 0 !== s && this.getIndentEditsOfMovingBlock(e, t, n, r, o, s); + else { + let s = v.zu.getGoodIndentForLine( + this._autoIndent, + c, + e.getLanguageIdAtPosition(n.startLineNumber, 1), + i, + a + ); + if (null !== s) { + let i = l.V8(e.getLineContent(n.startLineNumber)), + a = y.Y(s, r), + c = y.Y(i, r); + if (a !== c) { + let i = a - c; + this.getIndentEditsOfMovingBlock(e, t, n, r, o, i); + } + } + } + } + } + this._selectionId = t.trackSelection(n); + } + buildIndentConverter(e, t, i) { + return { + shiftIndent: (n) => _.U.shiftIndent(n, n.length + 1, e, t, i), + unshiftIndent: (n) => _.U.unshiftIndent(n, n.length + 1, e, t, i), + }; + } + matchEnterRule(e, t, i, n, r, s) { + let o = r; + for (; o >= 1; ) { + let t; + if ( + ((t = o === r && void 0 !== s ? s : e.getLineContent(o)), + l.ow(t) >= 0) + ) + break; + o--; + } + if (o < 1 || n > e.getLineCount()) return null; + let a = e.getLineMaxColumn(o), + c = v.zu.getEnterAction(this._autoIndent, e, new d.e(o, a, o, a)); + if (c) { + let r = c.indentation; + c.indentAction === b.w.None || c.indentAction === b.w.Indent + ? (r = c.indentation + c.appendText) + : c.indentAction === b.w.IndentOutdent + ? (r = c.indentation) + : c.indentAction === b.w.Outdent && + (r = t.unshiftIndent(c.indentation) + c.appendText); + let s = e.getLineContent(n); + if (this.trimLeft(s).indexOf(this.trimLeft(r)) >= 0) { + let s = l.V8(e.getLineContent(n)), + o = l.V8(r), + a = v.zu.getIndentMetadata(e, n); + return ( + null !== a && 2 & a && (o = t.unshiftIndent(o)), + y.Y(o, i) - y.Y(s, i) + ); + } + } + return null; + } + trimLeft(e) { + return e.replace(/^\s+/, ''); + } + shouldAutoIndent(e, t) { + if (this._autoIndent < 4) return !1; + if (!e.isCheapToTokenize(t.startLineNumber)) return !1; + let i = e.getLanguageIdAtPosition(t.startLineNumber, 1); + return ( + i === e.getLanguageIdAtPosition(t.endLineNumber, 1) && + null !== v.zu.getIndentRulesSupport(i) + ); + } + getIndentEditsOfMovingBlock(e, t, i, n, r, s) { + for (let o = i.startLineNumber; o <= i.endLineNumber; o++) { + let a = e.getLineContent(o), + c = l.V8(a), + h = y.Y(c, n) + s, + u = y.J(h, n, r); + u !== c && + (t.addEditOperation(new d.e(o, 1, o, c.length + 1), u), + o === i.endLineNumber && + i.endColumn <= c.length + 1 && + '' === u && + (this._moveEndLineSelectionShrink = !0)); + } + } + computeCursorState(e, t) { + let i = t.getTrackedSelection(this._selectionId); + return ( + this._moveEndPositionDown && + (i = i.setEndPosition(i.endLineNumber + 1, 1)), + this._moveEndLineSelectionShrink && + i.startLineNumber < i.endLineNumber && + (i = i.setEndPosition(i.endLineNumber, 2)), + i + ); + } + } + class C { + constructor(e, t) { + (this.selection = e), + (this.descending = t), + (this.selectionId = null); + } + static getCollator() { + return ( + C._COLLATOR || (C._COLLATOR = new Intl.Collator()), C._COLLATOR + ); + } + getEditOperations(e, t) { + let i = (function (e, t, i) { + let n = S(e, t, i); + return n + ? c.h.replace( + new d.e( + n.startLineNumber, + 1, + n.endLineNumber, + e.getLineMaxColumn(n.endLineNumber) + ), + n.after.join('\n') + ) + : null; + })(e, this.selection, this.descending); + i && t.addEditOperation(i.range, i.text), + (this.selectionId = t.trackSelection(this.selection)); + } + computeCursorState(e, t) { + return t.getTrackedSelection(this.selectionId); + } + static canRun(e, t, i) { + if (null === e) return !1; + let n = S(e, t, i); + if (!n) return !1; + for (let e = 0, t = n.before.length; e < t; e++) + if (n.before[e] !== n.after[e]) return !0; + return !1; + } + } + function S(e, t, i) { + let n = t.startLineNumber, + r = t.endLineNumber; + if ((1 === t.endColumn && r--, n >= r)) return null; + let s = []; + for (let t = n; t <= r; t++) s.push(e.getLineContent(t)); + let o = s.slice(0); + return ( + o.sort(C.getCollator().compare), + !0 === i && (o = o.reverse()), + { startLineNumber: n, endLineNumber: r, before: s, after: o } + ); + } + C._COLLATOR = null; + var k = i(84144); + class x extends o.R6 { + constructor(e, t) { + super(t), (this.down = e); + } + run(e, t) { + if (!t.hasModel()) return; + const i = t + .getSelections() + .map((e, t) => ({ selection: e, index: t, ignore: !1 })); + i.sort((e, t) => + d.e.compareRangesUsingStarts(e.selection, t.selection) + ); + let n = i[0]; + for (let e = 1; e < i.length; e++) { + const t = i[e]; + n.selection.endLineNumber === t.selection.startLineNumber && + (n.index < t.index + ? (t.ignore = !0) + : ((n.ignore = !0), (n = t))); + } + const r = []; + for (const e of i) + e.ignore || r.push(new m(e.selection, this.down)); + t.pushUndoStop(), t.executeCommands(this.id, r), t.pushUndoStop(); + } + } + class L extends o.R6 { + constructor() { + super({ + id: 'editor.action.duplicateSelection', + label: n.N('duplicateSelection', 'Duplicate Selection'), + alias: 'Duplicate Selection', + precondition: p.u.writable, + menuOpts: { + menuId: k.eH.MenubarSelectionMenu, + group: '2_line', + title: n.N( + { + key: 'miDuplicateSelection', + comment: ['&& denotes a mnemonic'], + }, + '&&Duplicate Selection' + ), + order: 5, + }, + }); + } + run(e, t, i) { + if (!t.hasModel()) return; + const n = [], + r = t.getSelections(), + s = t.getModel(); + for (const e of r) + if (e.isEmpty()) n.push(new m(e, !0)); + else { + const t = new f.Y( + e.endLineNumber, + e.endColumn, + e.endLineNumber, + e.endColumn + ); + n.push(new a.OY(t, s.getValueInRange(e))); + } + t.pushUndoStop(), t.executeCommands(this.id, n), t.pushUndoStop(); + } + } + class M extends o.R6 { + constructor(e, t) { + super(t), (this.down = e); + } + run(e, t) { + let i = [], + n = t.getSelections() || []; + const r = t.getOption(8); + for (const e of n) i.push(new w(e, this.down, r)); + t.pushUndoStop(), t.executeCommands(this.id, i), t.pushUndoStop(); + } + } + class D extends o.R6 { + constructor(e, t) { + super(t), (this.descending = e); + } + run(e, t) { + const i = t.getSelections() || []; + for (const e of i) + if (!C.canRun(t.getModel(), e, this.descending)) return; + let n = []; + for (let e = 0, t = i.length; e < t; e++) + n[e] = new C(i[e], this.descending); + t.pushUndoStop(), t.executeCommands(this.id, n), t.pushUndoStop(); + } + } + class N extends D { + constructor() { + super(!1, { + id: 'editor.action.sortLinesAscending', + label: n.N('lines.sortAscending', 'Sort Lines Ascending'), + alias: 'Sort Lines Ascending', + precondition: p.u.writable, + }); + } + } + class E extends D { + constructor() { + super(!0, { + id: 'editor.action.sortLinesDescending', + label: n.N('lines.sortDescending', 'Sort Lines Descending'), + alias: 'Sort Lines Descending', + precondition: p.u.writable, + }); + } + } + class T extends o.R6 { + constructor() { + super({ + id: T.ID, + label: n.N( + 'lines.trimTrailingWhitespace', + 'Trim Trailing Whitespace' + ), + alias: 'Trim Trailing Whitespace', + precondition: p.u.writable, + kbOpts: { + kbExpr: p.u.editorTextFocus, + primary: (0, r.gx)(2089, 2102), + weight: 100, + }, + }); + } + run(e, t, i) { + let n = []; + 'auto-save' === i.reason && + (n = (t.getSelections() || []).map( + (e) => new g.L(e.positionLineNumber, e.positionColumn) + )); + let r = t.getSelection(); + if (null === r) return; + let s = new h(r, n); + t.pushUndoStop(), t.executeCommands(this.id, [s]), t.pushUndoStop(); + } + } + T.ID = 'editor.action.trimTrailingWhitespace'; + class I extends o.R6 { + constructor() { + super({ + id: 'editor.action.deleteLines', + label: n.N('lines.delete', 'Delete Line'), + alias: 'Delete Line', + precondition: p.u.writable, + kbOpts: { + kbExpr: p.u.textInputFocus, + primary: 3113, + weight: 100, + }, + }); + } + run(e, t) { + if (!t.hasModel()) return; + let i = this._getLinesToRemove(t), + n = t.getModel(); + if (1 === n.getLineCount() && 1 === n.getLineMaxColumn(1)) return; + let r = 0, + s = [], + o = []; + for (let e = 0, t = i.length; e < t; e++) { + const t = i[e]; + let a = t.startLineNumber, + l = t.endLineNumber, + d = 1, + h = n.getLineMaxColumn(l); + l < n.getLineCount() + ? ((l += 1), (h = 1)) + : a > 1 && ((a -= 1), (d = n.getLineMaxColumn(a))), + s.push(c.h.replace(new f.Y(a, d, l, h), '')), + o.push( + new f.Y(a - r, t.positionColumn, a - r, t.positionColumn) + ), + (r += t.endLineNumber - t.startLineNumber + 1); + } + t.pushUndoStop(), t.executeEdits(this.id, s, o), t.pushUndoStop(); + } + _getLinesToRemove(e) { + let t = e.getSelections().map((e) => { + let t = e.endLineNumber; + return ( + e.startLineNumber < e.endLineNumber && + 1 === e.endColumn && + (t -= 1), + { + startLineNumber: e.startLineNumber, + selectionStartColumn: e.selectionStartColumn, + endLineNumber: t, + positionColumn: e.positionColumn, + } + ); + }); + t.sort((e, t) => + e.startLineNumber === t.startLineNumber + ? e.endLineNumber - t.endLineNumber + : e.startLineNumber - t.startLineNumber + ); + let i = [], + n = t[0]; + for (let e = 1; e < t.length; e++) + n.endLineNumber + 1 >= t[e].startLineNumber + ? (n.endLineNumber = t[e].endLineNumber) + : (i.push(n), (n = t[e])); + return i.push(n), i; + } + } + class O extends o.R6 { + constructor() { + super({ + id: 'editor.action.indentLines', + label: n.N('lines.indent', 'Indent Line'), + alias: 'Indent Line', + precondition: p.u.writable, + kbOpts: { + kbExpr: p.u.editorTextFocus, + primary: 2137, + weight: 100, + }, + }); + } + run(e, t) { + const i = t._getViewModel(); + i && + (t.pushUndoStop(), + t.executeCommands( + this.id, + u.u.indent(i.cursorConfig, t.getModel(), t.getSelections()) + ), + t.pushUndoStop()); + } + } + class A extends o.R6 { + constructor() { + super({ + id: 'editor.action.outdentLines', + label: n.N('lines.outdent', 'Outdent Line'), + alias: 'Outdent Line', + precondition: p.u.writable, + kbOpts: { + kbExpr: p.u.editorTextFocus, + primary: 2135, + weight: 100, + }, + }); + } + run(e, t) { + s.CoreEditingCommands.Outdent.runEditorCommand(e, t, null); + } + } + class R extends o.R6 { + constructor() { + super({ + id: 'editor.action.insertLineBefore', + label: n.N('lines.insertBefore', 'Insert Line Above'), + alias: 'Insert Line Above', + precondition: p.u.writable, + kbOpts: { + kbExpr: p.u.editorTextFocus, + primary: 3075, + weight: 100, + }, + }); + } + run(e, t) { + const i = t._getViewModel(); + i && + (t.pushUndoStop(), + t.executeCommands( + this.id, + u.u.lineInsertBefore( + i.cursorConfig, + t.getModel(), + t.getSelections() + ) + )); + } + } + class P extends o.R6 { + constructor() { + super({ + id: 'editor.action.insertLineAfter', + label: n.N('lines.insertAfter', 'Insert Line Below'), + alias: 'Insert Line Below', + precondition: p.u.writable, + kbOpts: { + kbExpr: p.u.editorTextFocus, + primary: 2051, + weight: 100, + }, + }); + } + run(e, t) { + const i = t._getViewModel(); + i && + (t.pushUndoStop(), + t.executeCommands( + this.id, + u.u.lineInsertAfter( + i.cursorConfig, + t.getModel(), + t.getSelections() + ) + )); + } + } + class F extends o.R6 { + run(e, t) { + if (!t.hasModel()) return; + const i = t.getSelection(); + let n = this._getRangesToDelete(t), + r = []; + for (let e = 0, t = n.length - 1; e < t; e++) { + let t = n[e], + i = n[e + 1]; + null === d.e.intersectRanges(t, i) + ? r.push(t) + : (n[e + 1] = d.e.plusRange(t, i)); + } + r.push(n[n.length - 1]); + let s = this._getEndCursorState(i, r), + o = r.map((e) => c.h.replace(e, '')); + t.pushUndoStop(), t.executeEdits(this.id, o, s), t.pushUndoStop(); + } + } + class B extends F { + constructor() { + super({ + id: 'deleteAllLeft', + label: n.N('lines.deleteAllLeft', 'Delete All Left'), + alias: 'Delete All Left', + precondition: p.u.writable, + kbOpts: { + kbExpr: p.u.textInputFocus, + primary: 0, + mac: { primary: 2049 }, + weight: 100, + }, + }); + } + _getEndCursorState(e, t) { + let i = null, + n = [], + r = 0; + return ( + t.forEach((t) => { + let s; + if (1 === t.endColumn && r > 0) { + let e = t.startLineNumber - r; + s = new f.Y(e, t.startColumn, e, t.startColumn); + } else + s = new f.Y( + t.startLineNumber, + t.startColumn, + t.startLineNumber, + t.startColumn + ); + (r += t.endLineNumber - t.startLineNumber), + t.intersectRanges(e) ? (i = s) : n.push(s); + }), + i && n.unshift(i), + n + ); + } + _getRangesToDelete(e) { + let t = e.getSelections(); + if (null === t) return []; + let i = t, + n = e.getModel(); + return null === n + ? [] + : (i.sort(d.e.compareRangesUsingStarts), + (i = i.map((e) => { + if (e.isEmpty()) { + if (1 === e.startColumn) { + let t = Math.max(1, e.startLineNumber - 1), + i = + 1 === e.startLineNumber + ? 1 + : n.getLineContent(t).length + 1; + return new d.e(t, i, e.startLineNumber, 1); + } + return new d.e( + e.startLineNumber, + 1, + e.startLineNumber, + e.startColumn + ); + } + return new d.e( + e.startLineNumber, + 1, + e.endLineNumber, + e.endColumn + ); + })), + i); + } + } + class W extends F { + constructor() { + super({ + id: 'deleteAllRight', + label: n.N('lines.deleteAllRight', 'Delete All Right'), + alias: 'Delete All Right', + precondition: p.u.writable, + kbOpts: { + kbExpr: p.u.textInputFocus, + primary: 0, + mac: { primary: 297, secondary: [2068] }, + weight: 100, + }, + }); + } + _getEndCursorState(e, t) { + let i = null, + n = []; + for (let r = 0, s = t.length, o = 0; r < s; r++) { + let s = t[r], + a = new f.Y( + s.startLineNumber - o, + s.startColumn, + s.startLineNumber - o, + s.startColumn + ); + s.intersectRanges(e) ? (i = a) : n.push(a); + } + return i && n.unshift(i), n; + } + _getRangesToDelete(e) { + let t = e.getModel(); + if (null === t) return []; + let i = e.getSelections(); + if (null === i) return []; + let n = i.map((e) => { + if (e.isEmpty()) { + const i = t.getLineMaxColumn(e.startLineNumber); + return e.startColumn === i + ? new d.e( + e.startLineNumber, + e.startColumn, + e.startLineNumber + 1, + 1 + ) + : new d.e( + e.startLineNumber, + e.startColumn, + e.startLineNumber, + i + ); + } + return e; + }); + return n.sort(d.e.compareRangesUsingStarts), n; + } + } + class Y extends o.R6 { + constructor() { + super({ + id: 'editor.action.joinLines', + label: n.N('lines.joinLines', 'Join Lines'), + alias: 'Join Lines', + precondition: p.u.writable, + kbOpts: { + kbExpr: p.u.editorTextFocus, + primary: 0, + mac: { primary: 296 }, + weight: 100, + }, + }); + } + run(e, t) { + let i = t.getSelections(); + if (null === i) return; + let n = t.getSelection(); + if (null === n) return; + i.sort(d.e.compareRangesUsingStarts); + let r = [], + s = i.reduce((e, t) => + e.isEmpty() + ? e.endLineNumber === t.startLineNumber + ? (n.equalsSelection(e) && (n = t), t) + : t.startLineNumber > e.endLineNumber + 1 + ? (r.push(e), t) + : new f.Y( + e.startLineNumber, + e.startColumn, + t.endLineNumber, + t.endColumn + ) + : t.startLineNumber > e.endLineNumber + ? (r.push(e), t) + : new f.Y( + e.startLineNumber, + e.startColumn, + t.endLineNumber, + t.endColumn + ) + ); + r.push(s); + let o = t.getModel(); + if (null === o) return; + let a = [], + l = [], + h = n, + u = 0; + for (let e = 0, t = r.length; e < t; e++) { + let t, + i, + s = r[e], + g = s.startLineNumber, + p = 1, + m = 0, + _ = o.getLineContent(s.endLineNumber).length - s.endColumn; + if (s.isEmpty() || s.startLineNumber === s.endLineNumber) { + let e = s.getStartPosition(); + e.lineNumber < o.getLineCount() + ? ((t = g + 1), (i = o.getLineMaxColumn(t))) + : ((t = e.lineNumber), + (i = o.getLineMaxColumn(e.lineNumber))); + } else (t = s.endLineNumber), (i = o.getLineMaxColumn(t)); + let b = o.getLineContent(g); + for (let e = g + 1; e <= t; e++) { + let t = o.getLineContent(e), + i = o.getLineFirstNonWhitespaceColumn(e); + if (i >= 1) { + let e = !0; + '' === b && (e = !1), + !e || + (' ' !== b.charAt(b.length - 1) && + '\t' !== b.charAt(b.length - 1)) || + ((e = !1), (b = b.replace(/[\s\uFEFF\xA0]+$/g, ' '))); + let n = t.substr(i - 1); + (b += (e ? ' ' : '') + n), (m = e ? n.length + 1 : n.length); + } else m = 0; + } + let v = new d.e(g, p, t, i); + if (!v.isEmpty()) { + let e; + s.isEmpty() + ? (a.push(c.h.replace(v, b)), + (e = new f.Y( + v.startLineNumber - u, + b.length - m + 1, + g - u, + b.length - m + 1 + ))) + : s.startLineNumber === s.endLineNumber + ? (a.push(c.h.replace(v, b)), + (e = new f.Y( + s.startLineNumber - u, + s.startColumn, + s.endLineNumber - u, + s.endColumn + ))) + : (a.push(c.h.replace(v, b)), + (e = new f.Y( + s.startLineNumber - u, + s.startColumn, + s.startLineNumber - u, + b.length - _ + ))), + null !== d.e.intersectRanges(v, n) ? (h = e) : l.push(e); + } + u += v.endLineNumber - v.startLineNumber; + } + l.unshift(h), + t.pushUndoStop(), + t.executeEdits(this.id, a, l), + t.pushUndoStop(); + } + } + class H extends o.R6 { + constructor() { + super({ + id: 'editor.action.transpose', + label: n.N( + 'editor.transpose', + 'Transpose characters around the cursor' + ), + alias: 'Transpose characters around the cursor', + precondition: p.u.writable, + }); + } + run(e, t) { + let i = t.getSelections(); + if (null === i) return; + let n = t.getModel(); + if (null === n) return; + let r = []; + for (let e = 0, t = i.length; e < t; e++) { + let t = i[e]; + if (!t.isEmpty()) continue; + let s = t.getStartPosition(), + o = n.getLineMaxColumn(s.lineNumber); + if (s.column >= o) { + if (s.lineNumber === n.getLineCount()) continue; + let e = new d.e( + s.lineNumber, + Math.max(1, s.column - 1), + s.lineNumber + 1, + 1 + ), + t = n.getValueInRange(e).split('').reverse().join(''); + r.push( + new a.T4( + new f.Y( + s.lineNumber, + Math.max(1, s.column - 1), + s.lineNumber + 1, + 1 + ), + t + ) + ); + } else { + let e = new d.e( + s.lineNumber, + Math.max(1, s.column - 1), + s.lineNumber, + s.column + 1 + ), + t = n.getValueInRange(e).split('').reverse().join(''); + r.push( + new a.hP( + e, + t, + new f.Y( + s.lineNumber, + s.column + 1, + s.lineNumber, + s.column + 1 + ) + ) + ); + } + } + t.pushUndoStop(), t.executeCommands(this.id, r), t.pushUndoStop(); + } + } + class j extends o.R6 { + run(e, t) { + let i = t.getSelections(); + if (null === i) return; + let n = t.getModel(); + if (null === n) return; + let r = t.getOption(105), + s = []; + for (let e = 0, o = i.length; e < o; e++) { + let o = i[e]; + if (o.isEmpty()) { + let e = o.getStartPosition(); + const i = t.getConfiguredWordAtPosition(e); + if (!i) continue; + let l = new d.e( + e.lineNumber, + i.startColumn, + e.lineNumber, + i.endColumn + ), + c = n.getValueInRange(l); + s.push( + new a.hP( + l, + this._modifyText(c, r), + new f.Y(e.lineNumber, e.column, e.lineNumber, e.column) + ) + ); + } else { + let e = n.getValueInRange(o); + s.push(new a.hP(o, this._modifyText(e, r), o)); + } + } + t.pushUndoStop(), t.executeCommands(this.id, s), t.pushUndoStop(); + } + } + class V extends j { + constructor() { + super({ + id: 'editor.action.transformToUppercase', + label: n.N( + 'editor.transformToUppercase', + 'Transform to Uppercase' + ), + alias: 'Transform to Uppercase', + precondition: p.u.writable, + }); + } + _modifyText(e, t) { + return e.toLocaleUpperCase(); + } + } + class z extends j { + constructor() { + super({ + id: 'editor.action.transformToLowercase', + label: n.N( + 'editor.transformToLowercase', + 'Transform to Lowercase' + ), + alias: 'Transform to Lowercase', + precondition: p.u.writable, + }); + } + _modifyText(e, t) { + return e.toLocaleLowerCase(); + } + } + class U extends j { + constructor() { + super({ + id: 'editor.action.transformToTitlecase', + label: n.N( + 'editor.transformToTitlecase', + 'Transform to Title Case' + ), + alias: 'Transform to Title Case', + precondition: p.u.writable, + }); + } + _modifyText(e, t) { + const i = ('\r\n\t ' + t).split(''); + let n = '', + r = !0; + for (let t = 0; t < e.length; t++) { + let s = e[t]; + i.indexOf(s) >= 0 + ? ((r = !0), (n += s)) + : r + ? ((r = !1), (n += s.toLocaleUpperCase())) + : (n += s.toLocaleLowerCase()); + } + return n; + } + } + (0, o.Qr)( + class extends x { + constructor() { + super(!1, { + id: 'editor.action.copyLinesUpAction', + label: n.N('lines.copyUp', 'Copy Line Up'), + alias: 'Copy Line Up', + precondition: p.u.writable, + kbOpts: { + kbExpr: p.u.editorTextFocus, + primary: 1552, + linux: { primary: 3600 }, + weight: 100, + }, + menuOpts: { + menuId: k.eH.MenubarSelectionMenu, + group: '2_line', + title: n.N( + { + key: 'miCopyLinesUp', + comment: ['&& denotes a mnemonic'], + }, + '&&Copy Line Up' + ), + order: 1, + }, + }); + } + } + ), + (0, o.Qr)( + class extends x { + constructor() { + super(!0, { + id: 'editor.action.copyLinesDownAction', + label: n.N('lines.copyDown', 'Copy Line Down'), + alias: 'Copy Line Down', + precondition: p.u.writable, + kbOpts: { + kbExpr: p.u.editorTextFocus, + primary: 1554, + linux: { primary: 3602 }, + weight: 100, + }, + menuOpts: { + menuId: k.eH.MenubarSelectionMenu, + group: '2_line', + title: n.N( + { + key: 'miCopyLinesDown', + comment: ['&& denotes a mnemonic'], + }, + 'Co&&py Line Down' + ), + order: 2, + }, + }); + } + } + ), + (0, o.Qr)(L), + (0, o.Qr)( + class extends M { + constructor() { + super(!1, { + id: 'editor.action.moveLinesUpAction', + label: n.N('lines.moveUp', 'Move Line Up'), + alias: 'Move Line Up', + precondition: p.u.writable, + kbOpts: { + kbExpr: p.u.editorTextFocus, + primary: 528, + linux: { primary: 528 }, + weight: 100, + }, + menuOpts: { + menuId: k.eH.MenubarSelectionMenu, + group: '2_line', + title: n.N( + { + key: 'miMoveLinesUp', + comment: ['&& denotes a mnemonic'], + }, + 'Mo&&ve Line Up' + ), + order: 3, + }, + }); + } + } + ), + (0, o.Qr)( + class extends M { + constructor() { + super(!0, { + id: 'editor.action.moveLinesDownAction', + label: n.N('lines.moveDown', 'Move Line Down'), + alias: 'Move Line Down', + precondition: p.u.writable, + kbOpts: { + kbExpr: p.u.editorTextFocus, + primary: 530, + linux: { primary: 530 }, + weight: 100, + }, + menuOpts: { + menuId: k.eH.MenubarSelectionMenu, + group: '2_line', + title: n.N( + { + key: 'miMoveLinesDown', + comment: ['&& denotes a mnemonic'], + }, + 'Move &&Line Down' + ), + order: 4, + }, + }); + } + } + ), + (0, o.Qr)(N), + (0, o.Qr)(E), + (0, o.Qr)(T), + (0, o.Qr)(I), + (0, o.Qr)(O), + (0, o.Qr)(A), + (0, o.Qr)(R), + (0, o.Qr)(P), + (0, o.Qr)(B), + (0, o.Qr)(W), + (0, o.Qr)(Y), + (0, o.Qr)(H), + (0, o.Qr)(V), + (0, o.Qr)(z), + (0, o.Qr)(U); + }, + 34800: (e, t, i) => { + 'use strict'; + i.r(t), i.d(t, { LinkDetector: () => O }); + var n = i(63580), + r = i(15393), + s = i(71050), + o = i(17301), + a = i(59365), + l = i(5976), + c = i(1432), + d = i(16830), + h = i(3411), + u = i(43775), + g = i(69241), + f = i(70666), + p = i(24314), + m = i(51200), + _ = i(94565), + b = i(9488), + v = function (e, t, i, n) { + return new (i || (i = Promise))(function (r, s) { + function o(e) { + try { + l(n.next(e)); + } catch (e) { + s(e); + } + } + function a(e) { + try { + l(n.throw(e)); + } catch (e) { + s(e); + } + } + function l(e) { + var t; + e.done + ? r(e.value) + : ((t = e.value), + t instanceof i + ? t + : new i(function (e) { + e(t); + })).then(o, a); + } + l((n = n.apply(e, t || [])).next()); + }); + }; + class y { + constructor(e, t) { + (this._link = e), (this._provider = t); + } + toJSON() { + return { range: this.range, url: this.url, tooltip: this.tooltip }; + } + get range() { + return this._link.range; + } + get url() { + return this._link.url; + } + get tooltip() { + return this._link.tooltip; + } + resolve(e) { + return v(this, void 0, void 0, function* () { + return this._link.url + ? this._link.url + : 'function' == typeof this._provider.resolveLink + ? Promise.resolve( + this._provider.resolveLink(this._link, e) + ).then( + (t) => ( + (this._link = t || this._link), + this._link.url + ? this.resolve(e) + : Promise.reject(new Error('missing')) + ) + ) + : Promise.reject(new Error('missing')); + }); + } + } + class w extends l.JT { + constructor(e) { + super(); + let t = []; + for (const [i, n] of e) { + const e = i.links.map((e) => new y(e, n)); + (t = w._union(t, e)), (0, l.Wf)(i) && this._register(i); + } + this.links = t; + } + static _union(e, t) { + let i, + n, + r, + s, + o = []; + for (i = 0, r = 0, n = e.length, s = t.length; i < n && r < s; ) { + const n = e[i], + s = t[r]; + p.e.areIntersectingOrTouching(n.range, s.range) + ? i++ + : p.e.compareRangesUsingStarts(n.range, s.range) < 0 + ? (o.push(n), i++) + : (o.push(s), r++); + } + for (; i < n; i++) o.push(e[i]); + for (; r < s; r++) o.push(t[r]); + return o; + } + } + function C(e, t) { + const i = [], + n = u.pM + .ordered(e) + .reverse() + .map((n, r) => + Promise.resolve(n.provideLinks(e, t)).then((e) => { + e && (i[r] = [e, n]); + }, o.Cp) + ); + return Promise.all(n).then(() => { + const e = new w((0, b.kX)(i)); + return t.isCancellationRequested ? (e.dispose(), new w([])) : e; + }); + } + _.P.registerCommand('_executeLinkProvider', (e, ...t) => + v(void 0, void 0, void 0, function* () { + const [i] = t; + if (!(i instanceof f.o)) return []; + const n = e.get(m.q).getModel(i); + if (!n) return []; + const r = yield C(n, s.T.None); + if (!r) return []; + const o = r.links.slice(0); + return r.dispose(), o; + }) + ); + var S = i(59422), + k = i(50988), + x = i(73910), + L = i(97781), + M = i(66663), + D = i(95935), + N = i(97295), + E = function (e, t) { + return function (i, n) { + t(i, n, e); + }; + }; + const T = { + general: h.qx.register({ + stickiness: 1, + collapseOnReplaceEdit: !0, + inlineClassName: 'detected-link', + }), + active: h.qx.register({ + stickiness: 1, + collapseOnReplaceEdit: !0, + inlineClassName: 'detected-link-active', + }), + }; + class I { + constructor(e, t) { + (this.link = e), (this.decorationId = t); + } + static decoration(e, t) { + return { range: e.range, options: I._getOptions(e, t, !1) }; + } + static _getOptions(e, t, i) { + const r = Object.assign({}, i ? T.active : T.general); + return ( + (r.hoverMessage = (function (e, t) { + const i = e.url && /^command:/i.test(e.url.toString()), + r = e.tooltip + ? e.tooltip + : i + ? n.N('links.navigate.executeCmd', 'Execute command') + : n.N('links.navigate.follow', 'Follow link'), + s = t + ? c.dz + ? n.N('links.navigate.kb.meta.mac', 'cmd + click') + : n.N('links.navigate.kb.meta', 'ctrl + click') + : c.dz + ? n.N('links.navigate.kb.alt.mac', 'option + click') + : n.N('links.navigate.kb.alt', 'alt + click'); + return e.url + ? new a.W5('', !0).appendMarkdown( + `[${r}](${e.url.toString()}) (${s})` + ) + : new a.W5().appendText(`${r} (${s})`); + })(e, t)), + r + ); + } + activate(e, t) { + e.changeDecorationOptions( + this.decorationId, + I._getOptions(this.link, t, !0) + ); + } + deactivate(e, t) { + e.changeDecorationOptions( + this.decorationId, + I._getOptions(this.link, t, !1) + ); + } + } + let O = class e { + constructor(e, t, i) { + (this.listenersToRemove = new l.SL()), + (this.editor = e), + (this.openerService = t), + (this.notificationService = i); + let n = new g.yN(e); + this.listenersToRemove.add(n), + this.listenersToRemove.add( + n.onMouseMoveOrRelevantKeyDown(([e, t]) => { + this._onEditorMouseMove(e, t); + }) + ), + this.listenersToRemove.add( + n.onExecute((e) => { + this.onEditorMouseUp(e); + }) + ), + this.listenersToRemove.add( + n.onCancel((e) => { + this.cleanUpActiveLinkDecoration(); + }) + ), + (this.enabled = e.getOption(54)), + this.listenersToRemove.add( + e.onDidChangeConfiguration((t) => { + const i = e.getOption(54); + this.enabled !== i && + ((this.enabled = i), + this.updateDecorations([]), + this.stop(), + this.beginCompute()); + }) + ), + this.listenersToRemove.add( + e.onDidChangeModelContent((e) => this.onChange()) + ), + this.listenersToRemove.add( + e.onDidChangeModel((e) => this.onModelChanged()) + ), + this.listenersToRemove.add( + e.onDidChangeModelLanguage((e) => this.onModelModeChanged()) + ), + this.listenersToRemove.add( + u.pM.onDidChange((e) => this.onModelModeChanged()) + ), + (this.timeout = new r._F()), + (this.computePromise = null), + (this.activeLinksList = null), + (this.currentOccurrences = {}), + (this.activeLinkDecorationId = null), + this.beginCompute(); + } + static get(t) { + return t.getContribution(e.ID); + } + onModelChanged() { + (this.currentOccurrences = {}), + (this.activeLinkDecorationId = null), + this.stop(), + this.beginCompute(); + } + onModelModeChanged() { + this.stop(), this.beginCompute(); + } + onChange() { + this.timeout.setIfNotSet( + () => this.beginCompute(), + e.RECOMPUTE_TIME + ); + } + beginCompute() { + return ( + (e = this), + (t = void 0), + (n = function* () { + if (!this.editor.hasModel() || !this.enabled) return; + const e = this.editor.getModel(); + if (u.pM.has(e)) { + this.activeLinksList && + (this.activeLinksList.dispose(), + (this.activeLinksList = null)), + (this.computePromise = r.PG((t) => C(e, t))); + try { + (this.activeLinksList = yield this.computePromise), + this.updateDecorations(this.activeLinksList.links); + } catch (e) { + (0, o.dL)(e); + } finally { + this.computePromise = null; + } + } + }), + new ((i = void 0) || (i = Promise))(function (r, s) { + function o(e) { + try { + l(n.next(e)); + } catch (e) { + s(e); + } + } + function a(e) { + try { + l(n.throw(e)); + } catch (e) { + s(e); + } + } + function l(e) { + var t; + e.done + ? r(e.value) + : ((t = e.value), + t instanceof i + ? t + : new i(function (e) { + e(t); + })).then(o, a); + } + l((n = n.apply(e, t || [])).next()); + }) + ); + var e, t, i, n; + } + updateDecorations(e) { + const t = 'altKey' === this.editor.getOption(61); + let i = [], + n = Object.keys(this.currentOccurrences); + for (let e = 0, t = n.length; e < t; e++) { + let t = n[e], + r = this.currentOccurrences[t]; + i.push(r.decorationId); + } + let r = []; + if (e) for (const i of e) r.push(I.decoration(i, t)); + let s = this.editor.deltaDecorations(i, r); + (this.currentOccurrences = {}), + (this.activeLinkDecorationId = null); + for (let t = 0, i = s.length; t < i; t++) { + let i = new I(e[t], s[t]); + this.currentOccurrences[i.decorationId] = i; + } + } + _onEditorMouseMove(e, t) { + const i = 'altKey' === this.editor.getOption(61); + if (this.isEnabled(e, t)) { + this.cleanUpActiveLinkDecoration(); + const t = this.getLinkOccurrence(e.target.position); + t && + this.editor.changeDecorations((e) => { + t.activate(e, i), + (this.activeLinkDecorationId = t.decorationId); + }); + } else this.cleanUpActiveLinkDecoration(); + } + cleanUpActiveLinkDecoration() { + const e = 'altKey' === this.editor.getOption(61); + if (this.activeLinkDecorationId) { + const t = this.currentOccurrences[this.activeLinkDecorationId]; + t && + this.editor.changeDecorations((i) => { + t.deactivate(i, e); + }), + (this.activeLinkDecorationId = null); + } + } + onEditorMouseUp(e) { + if (!this.isEnabled(e)) return; + const t = this.getLinkOccurrence(e.target.position); + t && this.openLinkOccurrence(t, e.hasSideBySideModifier, !0); + } + openLinkOccurrence(e, t, i = !1) { + if (!this.openerService) return; + const { link: r } = e; + r.resolve(s.T.None).then( + (e) => { + if ('string' == typeof e && this.editor.hasModel()) { + const t = this.editor.getModel().uri; + if (t.scheme === M.l.file && N.Ny(e, 'file:')) { + const i = f.o.parse(e); + if (i.scheme === M.l.file) { + const n = D.z_(i); + let r = null; + N.Ny(n, '/./') + ? (r = `.${n.substr(1)}`) + : N.Ny(n, '//./') && (r = `.${n.substr(2)}`), + r && (e = D.Vo(t, r)); + } + } + } + return this.openerService.open(e, { + openToSide: t, + fromUserGesture: i, + }); + }, + (e) => { + const t = e instanceof Error ? e.message : e; + 'invalid' === t + ? this.notificationService.warn( + n.N( + 'invalid.url', + 'Failed to open this link because it is not well-formed: {0}', + r.url.toString() + ) + ) + : 'missing' === t + ? this.notificationService.warn( + n.N( + 'missing.url', + 'Failed to open this link because its target is missing.' + ) + ) + : (0, o.dL)(e); + } + ); + } + getLinkOccurrence(e) { + if (!this.editor.hasModel() || !e) return null; + const t = this.editor + .getModel() + .getDecorationsInRange( + { + startLineNumber: e.lineNumber, + startColumn: e.column, + endLineNumber: e.lineNumber, + endColumn: e.column, + }, + 0, + !0 + ); + for (const e of t) { + const t = this.currentOccurrences[e.id]; + if (t) return t; + } + return null; + } + isEnabled(e, t) { + return Boolean( + 6 === e.target.type && + (e.hasTriggerModifier || (t && t.keyCodeIsTriggerKey)) + ); + } + stop() { + this.timeout.cancel(), + this.activeLinksList && this.activeLinksList.dispose(), + this.computePromise && + (this.computePromise.cancel(), (this.computePromise = null)); + } + dispose() { + this.listenersToRemove.dispose(), + this.stop(), + this.timeout.dispose(); + } + }; + (O.ID = 'editor.linkDetector'), + (O.RECOMPUTE_TIME = 1e3), + (O = (function (e, t, i, n) { + var r, + s = arguments.length, + o = + s < 3 + ? t + : null === n + ? (n = Object.getOwnPropertyDescriptor(t, i)) + : n; + if ( + 'object' == typeof Reflect && + 'function' == typeof Reflect.decorate + ) + o = Reflect.decorate(e, t, i, n); + else + for (var a = e.length - 1; a >= 0; a--) + (r = e[a]) && + (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); + return s > 3 && o && Object.defineProperty(t, i, o), o; + })([E(1, k.v4), E(2, S.lT)], O)); + class A extends d.R6 { + constructor() { + super({ + id: 'editor.action.openLink', + label: n.N('label', 'Open Link'), + alias: 'Open Link', + precondition: void 0, + }); + } + run(e, t) { + let i = O.get(t); + if (!i) return; + if (!t.hasModel()) return; + let n = t.getSelections(); + for (let e of n) { + let t = i.getLinkOccurrence(e.getEndPosition()); + t && i.openLinkOccurrence(t, !1); + } + } + } + (0, d._K)(O.ID, O), + (0, d.Qr)(A), + (0, L.Ic)((e, t) => { + const i = e.getColor(x._Y); + i && + t.addRule( + `.monaco-editor .detected-link-active { color: ${i} !important; }` + ); + }); + }, + 53335: (e, t, i) => { + 'use strict'; + i.d(t, { $: () => M }); + var n = i(65321), + r = i(48764), + s = i(17301), + o = i(59365), + a = i(44742), + l = i(33720); + let c; + !(function e(t, i, n) { + function r(o, a) { + if (!i[o]) { + if (!t[o]) { + if (s) return s(o, !0); + var l = new Error("Cannot find module '" + o + "'"); + throw ((l.code = 'MODULE_NOT_FOUND'), l); + } + var c = (i[o] = { exports: {} }); + t[o][0].call( + c.exports, + function (e) { + return r(t[o][1][e] || e); + }, + c, + c.exports, + e, + t, + i, + n + ); + } + return i[o].exports; + } + for (var s = void 0, o = 0; o < n.length; o++) r(n[o]); + return r; + })( + { + 1: [ + function (e, t, i) { + var n = e('./toMap'); + t.exports = { + uris: n([ + 'background', + 'base', + 'cite', + 'href', + 'longdesc', + 'src', + 'usemap', + ]), + }; + }, + { './toMap': 10 }, + ], + 2: [ + function (e, t, i) { + t.exports = { + allowedAttributes: { + '*': ['title', 'accesskey'], + a: ['href', 'name', 'target', 'aria-label'], + iframe: ['allowfullscreen', 'frameborder', 'src'], + img: ['src', 'alt', 'title', 'aria-label'], + }, + allowedClasses: {}, + allowedSchemes: ['http', 'https', 'mailto'], + allowedTags: [ + 'a', + 'abbr', + 'article', + 'b', + 'blockquote', + 'br', + 'caption', + 'code', + 'del', + 'details', + 'div', + 'em', + 'h1', + 'h2', + 'h3', + 'h4', + 'h5', + 'h6', + 'hr', + 'i', + 'img', + 'ins', + 'kbd', + 'li', + 'main', + 'mark', + 'ol', + 'p', + 'pre', + 'section', + 'span', + 'strike', + 'strong', + 'sub', + 'summary', + 'sup', + 'table', + 'tbody', + 'td', + 'th', + 'thead', + 'tr', + 'u', + 'ul', + ], + filter: null, + }; + }, + {}, + ], + 3: [ + function (e, t, i) { + var n = e('./toMap'); + t.exports = { + voids: n([ + 'area', + 'br', + 'col', + 'hr', + 'img', + 'wbr', + 'input', + 'base', + 'basefont', + 'link', + 'meta', + ]), + }; + }, + { './toMap': 10 }, + ], + 4: [ + function (e, t, i) { + e('he'); + var n = e('assignment'), + r = e('./parser'), + s = e('./sanitizer'), + o = e('./defaults'); + function a(e, t, i) { + var a = [], + l = !0 === i ? t : n({}, o, t), + c = s(a, l); + return r(e, c), a.join(''); + } + (a.defaults = o), (t.exports = a), (c = a); + }, + { + './defaults': 2, + './parser': 7, + './sanitizer': 8, + assignment: 6, + he: 9, + }, + ], + 5: [ + function (e, t, i) { + t.exports = function (e) { + return 'string' == typeof e ? e.toLowerCase() : e; + }; + }, + {}, + ], + 6: [ + function (e, t, i) { + t.exports = function e(t) { + for ( + var i, n, r = Array.prototype.slice.call(arguments, 1); + r.length; + + ) + for (n in (i = r.shift())) + i.hasOwnProperty(n) && + ('[object Object]' === + Object.prototype.toString.call(t[n]) + ? (t[n] = e(t[n], i[n])) + : (t[n] = i[n])); + return t; + }; + }, + {}, + ], + 7: [ + function (e, t, i) { + var n = e('he'), + r = e('./lowercase'), + s = (e('./attributes'), e('./elements')), + o = /^<\s*([\w:-]+)((?:\s+[\w:-]+(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*)\s*(\/?)\s*>/, + a = /^<\s*\/\s*([\w:-]+)[^>]*>/, + l = /([\w:-]+)(?:\s*=\s*(?:(?:"((?:[^"])*)")|(?:'((?:[^'])*)')|([^>\s]+)))?/g, + c = /^</, + d = /^<\s*\//; + t.exports = function (e, t) { + for ( + var i, + h = (function () { + var e = []; + return ( + (e.lastItem = function () { + return e[e.length - 1]; + }), + e + ); + })(), + u = e; + e; + + ) + g(); + function g() { + var n; + (i = !0), + '\x3c!--' === e.substr(0, 4) + ? (n = e.indexOf('--\x3e')) >= 0 && + (t.comment && t.comment(e.substring(4, n)), + (e = e.substring(n + 3)), + (i = !1)) + : d.test(e) + ? f(a, m) + : c.test(e) && f(o, p), + (function () { + if (i) { + var n, + r = e.indexOf('<'); + r >= 0 + ? ((n = e.substring(0, r)), (e = e.substring(r))) + : ((n = e), (e = '')), + t.chars && t.chars(n); + } + })(); + var r = e === u; + (u = e), r && (e = ''); + } + function f(t, n) { + var r = e.match(t); + r && + ((e = e.substring(r[0].length)), + r[0].replace(t, n), + (i = !1)); + } + function p(e, i, o, a) { + var c = {}, + d = r(i), + u = s.voids[d] || !!a; + o.replace(l, function (e, t, i, r, s) { + c[t] = + void 0 === i && void 0 === r && void 0 === s + ? void 0 + : n.decode(i || r || s || ''); + }), + u || h.push(d), + t.start && t.start(d, c, u); + } + function m(e, i) { + var n, + s = 0, + o = r(i); + if (o) for (s = h.length - 1; s >= 0 && h[s] !== o; s--); + if (s >= 0) { + for (n = h.length - 1; n >= s; n--) t.end && t.end(h[n]); + h.length = s; + } + } + m(); + }; + }, + { './attributes': 1, './elements': 3, './lowercase': 5, he: 9 }, + ], + 8: [ + function (e, t, i) { + var n = e('he'), + r = e('./lowercase'), + s = e('./attributes'), + o = e('./elements'); + t.exports = function (e, t) { + var i, + a = t || {}; + return ( + d(), + { + start: function (e, t, o) { + var d = r(e); + i.ignoring + ? c(d) + : -1 !== (a.allowedTags || []).indexOf(d) && + (!a.filter || a.filter({ tag: d, attrs: t })) + ? (l('<'), + l(d), + Object.keys(t).forEach(function (e) { + var i = t[e], + o = (a.allowedClasses || {})[d] || [], + c = (a.allowedAttributes || {})[d] || []; + c = c.concat( + (a.allowedAttributes || {})['*'] || [] + ); + var h = r(e); + ('class' === h && -1 === c.indexOf(h) + ? (i = i + .split(' ') + .filter(function (e) { + return o && -1 !== o.indexOf(e); + }) + .join(' ') + .trim()).length + : -1 !== c.indexOf(h) && + (!0 !== s.uris[h] || + (function (e) { + var t = e[0]; + if ('#' === t || '/' === t) return !0; + var i = e.indexOf(':'); + if (-1 === i) return !0; + var n = e.indexOf('?'); + if (-1 !== n && i > n) return !0; + var r = e.indexOf('#'); + return ( + (-1 !== r && i > r) || + a.allowedSchemes.some(function (t) { + return 0 === e.indexOf(t + ':'); + }) + ); + })(i))) && + (l(' '), + l(e), + 'string' == typeof i && + (l('="'), l(n.encode(i)), l('"'))); + }), + l(o ? '/>' : '>')) + : c(d); + }, + end: function (e) { + var t = r(e); + -1 !== (a.allowedTags || []).indexOf(t) && + !1 === i.ignoring + ? (l('</'), l(t), l('>')) + : (function (e) { + i.ignoring === e && --i.depth <= 0 && d(); + })(t); + }, + chars: function (e) { + !1 === i.ignoring && + l(a.transformText ? a.transformText(e) : e); + }, + } + ); + function l(t) { + e.push(t); + } + function c(e) { + o.voids[e] || + (!1 === i.ignoring + ? (i = { ignoring: e, depth: 1 }) + : i.ignoring === e && i.depth++); + } + function d() { + i = { ignoring: !1, depth: 0 }; + } + }; + }, + { './attributes': 1, './elements': 3, './lowercase': 5, he: 9 }, + ], + 9: [ + function (e, t, i) { + var n = { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + "'": ''', + }, + r = { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + ''': "'", + }, + s = /(&|<|>|"|')/g, + o = /[&<>"']/g; + function a(e) { + return n[e]; + } + function l(e) { + return r[e]; + } + function c(e) { + return null == e ? '' : String(e).replace(o, a); + } + function d(e) { + return null == e ? '' : String(e).replace(s, l); + } + (c.options = d.options = {}), + (t.exports = { + encode: c, + escape: c, + decode: d, + unescape: d, + version: '1.0.0-browser', + }); + }, + {}, + ], + 10: [ + function (e, t, i) { + function n(e, t) { + return (e[t] = !0), e; + } + t.exports = function (e) { + return e.reduce(n, {}); + }; + }, + {}, + ], + }, + {}, + [4] + ); + var d = c, + h = i(23897), + u = i(36248), + g = i(97295), + f = i(70666), + p = i(66663), + m = i(73046), + _ = i(95935), + b = i(23938), + v = i(50988), + y = i(71531), + w = i(55713), + C = i(72065), + S = i(4669), + k = i(5976), + x = i(43775), + L = function (e, t) { + return function (i, n) { + t(i, n, e); + }; + }; + let M = class extends k.JT { + constructor(e, t, i = v.SW) { + super(), + (this._editor = e), + (this._modeService = t), + (this._openerService = i), + (this._onDidRenderCodeBlock = this._register(new S.Q5())), + (this.onDidRenderCodeBlock = this._onDidRenderCodeBlock.event); + } + getOptions(e) { + return { + codeBlockRenderer: (e, t) => { + let i = null; + if (e) i = this._modeService.getModeIdForLanguageName(e); + else { + const e = this._editor.getModel(); + e && (i = e.getLanguageIdentifier().language); + } + return ( + this._modeService.triggerMode(i || ''), + Promise.resolve(!0) + .then((e) => { + const n = x.RW.getPromise(i || ''); + return n + ? n.then((e) => (0, w.C)(t, e)) + : (0, w.C)(t, void 0); + }) + .then( + (e) => + `<span style="font-family: ${ + this._editor.getOption(36).fontFamily + }">${e}</span>` + ) + ); + }, + codeBlockRenderCallback: () => this._onDidRenderCodeBlock.fire(), + actionHandler: { + callback: (e) => { + this._openerService + .open(e, { fromUserGesture: !0 }) + .catch(s.dL); + }, + disposeables: e, + }, + }; + } + render(e) { + const t = new k.SL(); + let i; + return ( + (i = e + ? (function (e, t = {}, i = {}) { + var c; + const v = (0, r.az)(t), + y = function (t) { + let i; + try { + i = (0, h.Q)(decodeURIComponent(t)); + } catch (e) {} + return i + ? ((i = (0, u.rs)(i, (t) => + e.uris && e.uris[t] + ? f.o.revive(e.uris[t]) + : void 0 + )), + encodeURIComponent(JSON.stringify(i))) + : t; + }, + w = function (t, i) { + const r = e.uris && e.uris[t]; + if (!r) return t; + let s = f.o.revive(r); + return f.o.parse(t).toString() === s.toString() + ? t + : i + ? n.uD(s).toString(!0) + : (s.query && (s = s.with({ query: y(s.query) })), + s.toString()); + }; + let C; + const S = new Promise((e) => (C = e)), + k = new l.Renderer(); + (k.image = (e, i, n) => { + let r = [], + s = []; + if (e) { + ({ href: e, dimensions: r } = (0, o.v1)(e)), + (e = w(e, !0)); + try { + const i = f.o.parse(e); + t.baseUrl && + i.scheme === p.l.file && + (e = (0, _.i3)(t.baseUrl, e).toString()); + } catch (e) {} + s.push(`src="${e}"`); + } + return ( + n && s.push(`alt="${n}"`), + i && s.push(`title="${i}"`), + r.length && (s = s.concat(r)), + '<img ' + s.join(' ') + '>' + ); + }), + (k.link = (i, n, r) => ( + i === r && (r = (0, o.oR)(r)), + (i = w(i, !1)), + t.baseUrl && + (/^\w[\w\d+.-]*:/.test(i) || + (i = (0, _.i3)(t.baseUrl, i).toString())), + (n = (0, o.oR)(n)), + !(i = (0, o.oR)(i)) || + i.match(/^data:|javascript:/i) || + (i.match(/^command:/i) && !e.isTrusted) || + i.match( + /^command:(\/\/\/)?_workbench\.downloadResource/i + ) + ? r + : `<a href="#" data-href="${(i = i + .replace(/&/g, '&') + .replace(/</g, '<') + .replace(/>/g, '>') + .replace(/"/g, '"') + .replace(/'/g, '''))}" title="${ + n || i + }">${r}</a>` + )), + (k.paragraph = (t) => + `<p>${e.supportThemeIcons ? (0, m.Mi)(t) : t}</p>`), + t.codeBlockRenderer && + (k.code = (e, i) => { + const n = t.codeBlockRenderer(i, e), + r = a.a.nextId(), + s = Promise.all([n, S]) + .then((e) => { + const t = e[0], + i = v.querySelector(`div[data-code="${r}"]`); + i && (i.innerHTML = t); + }) + .catch((e) => {}); + return ( + t.codeBlockRenderCallback && + s.then(t.codeBlockRenderCallback), + `<div class="code" data-code="${r}">${(0, g.YU)( + e + )}</div>` + ); + }); + const x = t.actionHandler; + x && + [n.tw.CLICK, n.tw.AUXCLICK].forEach((e) => { + x.disposeables.add( + n.nm(v, e, (e) => { + const t = new b.n(e); + if (!t.leftButton && !t.middleButton) return; + let i = t.target; + if ( + 'A' === i.tagName || + ((i = i.parentElement), i && 'A' === i.tagName) + ) + try { + const e = i.dataset.href; + e && x.callback(e, t); + } catch (e) { + (0, s.dL)(e); + } finally { + t.preventDefault(); + } + }) + ); + }), + (i.sanitizer = (t) => + ( + e.isTrusted + ? t.match(/^(<span[^<]+>)|(<\/\s*span>)$/) + : void 0 + ) + ? t + : ''), + (i.sanitize = !0), + (i.renderer = k); + const L = [ + p.l.http, + p.l.https, + p.l.mailto, + p.l.data, + p.l.file, + p.l.vscodeRemote, + p.l.vscodeRemoteResource, + ]; + e.isTrusted && L.push(p.l.command); + let M = null !== (c = e.value) && void 0 !== c ? c : ''; + M.length > 1e5 && (M = `${M.substr(0, 1e5)}…`); + const D = l.parse( + e.supportThemeIcons ? (0, m.dg)(M) : M, + i + ); + return ( + (v.innerHTML = d(D, { + allowedSchemes: L, + allowedTags: [ + 'ul', + 'li', + 'p', + 'code', + 'blockquote', + 'ol', + 'h1', + 'h2', + 'h3', + 'h4', + 'h5', + 'h6', + 'hr', + 'em', + 'pre', + 'table', + 'thead', + 'tbody', + 'tr', + 'th', + 'td', + 'div', + 'del', + 'a', + 'strong', + 'br', + 'img', + 'span', + ], + allowedAttributes: { + a: ['href', 'name', 'target', 'data-href'], + img: ['src', 'title', 'alt', 'width', 'height'], + div: ['class', 'data-code'], + span: ['class', 'style'], + th: ['align'], + td: ['align'], + }, + filter: function (t) { + return !( + 'span' === t.tag && + e.isTrusted && + 1 === Object.keys(t.attrs).length && + (t.attrs.style + ? !t.attrs.style.match( + /^(color\:#[0-9a-fA-F]+;)?(background-color\:#[0-9a-fA-F]+;)?$/ + ) + : !t.attrs.class || + !t.attrs.class.match( + /^codicon codicon-[a-z\-]+( codicon-animation-[a-z\-]+)?$/ + )) + ); + }, + })), + C(), + v + ); + })(e, this.getOptions(t)) + : document.createElement('span')), + { element: i, dispose: () => t.dispose() } + ); + } + }; + M = (function (e, t, i, n) { + var r, + s = arguments.length, + o = + s < 3 + ? t + : null === n + ? (n = Object.getOwnPropertyDescriptor(t, i)) + : n; + if ( + 'object' == typeof Reflect && + 'function' == typeof Reflect.decorate + ) + o = Reflect.decorate(e, t, i, n); + else + for (var a = e.length - 1; a >= 0; a--) + (r = e[a]) && + (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); + return s > 3 && o && Object.defineProperty(t, i, o), o; + })([L(1, y.h), L(2, (0, C.jt)(v.v4))], M); + }, + 82276: (e, t, i) => { + 'use strict'; + i.d(t, { O: () => u }); + var n = i(63580), + r = i(15393), + s = i(5976), + o = i(85152), + a = i(24314), + l = i(16830), + c = i(38819), + d = i(97781), + h = i(73910); + let u = class e extends s.JT { + constructor(t, i) { + super(), + (this._messageWidget = this._register(new s.XK())), + (this._messageListeners = this._register(new s.SL())), + (this._editor = t), + (this._visible = e.MESSAGE_VISIBLE.bindTo(i)), + this._register( + this._editor.onDidAttemptReadOnlyEdit(() => + this._onDidAttemptReadOnlyEdit() + ) + ); + } + static get(t) { + return t.getContribution(e.ID); + } + dispose() { + super.dispose(), this._visible.reset(); + } + showMessage(e, t) { + let i; + (0, o.Z9)(e), + this._visible.set(!0), + this._messageWidget.clear(), + this._messageListeners.clear(), + (this._messageWidget.value = new m(this._editor, t, e)), + this._messageListeners.add( + this._editor.onDidBlurEditorText(() => this.closeMessage()) + ), + this._messageListeners.add( + this._editor.onDidChangeCursorPosition(() => + this.closeMessage() + ) + ), + this._messageListeners.add( + this._editor.onDidDispose(() => this.closeMessage()) + ), + this._messageListeners.add( + this._editor.onDidChangeModel(() => this.closeMessage()) + ), + this._messageListeners.add( + new r._F(() => this.closeMessage(), 3e3) + ), + this._messageListeners.add( + this._editor.onMouseMove((e) => { + e.target.position && + (i + ? i.containsPosition(e.target.position) || + this.closeMessage() + : (i = new a.e( + t.lineNumber - 3, + 1, + e.target.position.lineNumber + 3, + 1 + ))); + }) + ); + } + closeMessage() { + this._visible.reset(), + this._messageListeners.clear(), + this._messageWidget.value && + this._messageListeners.add( + m.fadeOut(this._messageWidget.value) + ); + } + _onDidAttemptReadOnlyEdit() { + this._editor.hasModel() && + this.showMessage( + n.N('editor.readonly', 'Cannot edit in read-only editor'), + this._editor.getPosition() + ); + } + }; + var g, f; + (u.ID = 'editor.contrib.messageController'), + (u.MESSAGE_VISIBLE = new c.uy('messageVisible', !1)), + (u = (function (e, t, i, n) { + var r, + s = arguments.length, + o = + s < 3 + ? t + : null === n + ? (n = Object.getOwnPropertyDescriptor(t, i)) + : n; + if ( + 'object' == typeof Reflect && + 'function' == typeof Reflect.decorate + ) + o = Reflect.decorate(e, t, i, n); + else + for (var a = e.length - 1; a >= 0; a--) + (r = e[a]) && + (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); + return s > 3 && o && Object.defineProperty(t, i, o), o; + })( + [ + ((g = 1), + (f = c.i6), + function (e, t) { + f(e, t, g); + }), + ], + u + )); + const p = l._l.bindToContribution(u.get); + (0, l.fK)( + new p({ + id: 'leaveEditorMessage', + precondition: u.MESSAGE_VISIBLE, + handler: (e) => e.closeMessage(), + kbOpts: { weight: 130, primary: 9 }, + }) + ); + class m { + constructor(e, { lineNumber: t, column: i }, n) { + (this.allowEditorOverflow = !0), + (this.suppressMouseDown = !1), + (this._editor = e), + this._editor.revealLinesInCenterIfOutsideViewport(t, t, 0), + (this._position = { lineNumber: t, column: i - 1 }), + (this._domNode = document.createElement('div')), + this._domNode.classList.add('monaco-editor-overlaymessage'); + const r = document.createElement('div'); + r.classList.add('message'), + (r.textContent = n), + this._domNode.appendChild(r); + const s = document.createElement('div'); + s.classList.add('anchor'), + this._domNode.appendChild(s), + this._editor.addContentWidget(this), + this._domNode.classList.add('fadeIn'); + } + static fadeOut(e) { + let t; + const i = () => { + e.dispose(), + clearTimeout(t), + e.getDomNode().removeEventListener('animationend', i); + }; + return ( + (t = setTimeout(i, 110)), + e.getDomNode().addEventListener('animationend', i), + e.getDomNode().classList.add('fadeOut'), + { dispose: i } + ); + } + dispose() { + this._editor.removeContentWidget(this); + } + getId() { + return 'messageoverlay'; + } + getDomNode() { + return this._domNode; + } + getPosition() { + return { position: this._position, preference: [1, 2] }; + } + } + (0, l._K)(u.ID, u), + (0, d.Ic)((e, t) => { + const i = e.getColor(h.EP); + if (i) { + let n = e.type === d.QP ? 2 : 1; + t.addRule( + `.monaco-editor .monaco-editor-overlaymessage .anchor { border-top-color: ${i}; }` + ), + t.addRule( + `.monaco-editor .monaco-editor-overlaymessage .message { border: ${n}px solid ${i}; }` + ); + } + const n = e.getColor(h._l); + n && + t.addRule( + `.monaco-editor .monaco-editor-overlaymessage .message { background-color: ${n}; }` + ); + const r = e.getColor(h.YI); + r && + t.addRule( + `.monaco-editor .monaco-editor-overlaymessage .message { color: ${r}; }` + ); + }); + }, + 38486: (e, t, i) => { + 'use strict'; + i.r(t), + i.d(t, { + InsertCursorAbove: () => y, + InsertCursorBelow: () => w, + MultiCursorSessionResult: () => x, + MultiCursorSession: () => L, + MultiCursorSelectionController: () => M, + MultiCursorSelectionControllerAction: () => D, + AddSelectionToNextFindMatchAction: () => N, + AddSelectionToPreviousFindMatchAction: () => E, + MoveSelectionToNextFindMatchAction: () => T, + MoveSelectionToPreviousFindMatchAction: () => I, + SelectHighlightsAction: () => O, + CompatChangeAll: () => A, + SelectionHighlighter: () => P, + }); + var n = i(63580), + r = i(15393), + s = i(22258), + o = i(5976), + a = i(16830), + l = i(83814), + c = i(24314), + d = i(3860), + h = i(29102), + u = i(84973), + g = i(3411), + f = i(43775), + p = i(93391), + m = i(84144), + _ = i(73910), + b = i(97781), + v = i(38819); + class y extends a.R6 { + constructor() { + super({ + id: 'editor.action.insertCursorAbove', + label: n.N('mutlicursor.insertAbove', 'Add Cursor Above'), + alias: 'Add Cursor Above', + precondition: void 0, + kbOpts: { + kbExpr: h.u.editorTextFocus, + primary: 2576, + linux: { primary: 1552, secondary: [3088] }, + weight: 100, + }, + menuOpts: { + menuId: m.eH.MenubarSelectionMenu, + group: '3_multi', + title: n.N( + { + key: 'miInsertCursorAbove', + comment: ['&& denotes a mnemonic'], + }, + '&&Add Cursor Above' + ), + order: 2, + }, + }); + } + run(e, t, i) { + if (!t.hasModel()) return; + const n = i && !0 === i.logicalLine, + r = t._getViewModel(); + r.cursorConfig.readOnly || + (r.pushStackElement(), + r.setCursorStates( + i.source, + 3, + l.P.addCursorUp(r, r.getCursorStates(), n) + ), + r.revealTopMostCursor(i.source)); + } + } + class w extends a.R6 { + constructor() { + super({ + id: 'editor.action.insertCursorBelow', + label: n.N('mutlicursor.insertBelow', 'Add Cursor Below'), + alias: 'Add Cursor Below', + precondition: void 0, + kbOpts: { + kbExpr: h.u.editorTextFocus, + primary: 2578, + linux: { primary: 1554, secondary: [3090] }, + weight: 100, + }, + menuOpts: { + menuId: m.eH.MenubarSelectionMenu, + group: '3_multi', + title: n.N( + { + key: 'miInsertCursorBelow', + comment: ['&& denotes a mnemonic'], + }, + 'A&&dd Cursor Below' + ), + order: 3, + }, + }); + } + run(e, t, i) { + if (!t.hasModel()) return; + const n = i && !0 === i.logicalLine, + r = t._getViewModel(); + r.cursorConfig.readOnly || + (r.pushStackElement(), + r.setCursorStates( + i.source, + 3, + l.P.addCursorDown(r, r.getCursorStates(), n) + ), + r.revealBottomMostCursor(i.source)); + } + } + class C extends a.R6 { + constructor() { + super({ + id: 'editor.action.insertCursorAtEndOfEachLineSelected', + label: n.N( + 'mutlicursor.insertAtEndOfEachLineSelected', + 'Add Cursors to Line Ends' + ), + alias: 'Add Cursors to Line Ends', + precondition: void 0, + kbOpts: { + kbExpr: h.u.editorTextFocus, + primary: 1575, + weight: 100, + }, + menuOpts: { + menuId: m.eH.MenubarSelectionMenu, + group: '3_multi', + title: n.N( + { + key: 'miInsertCursorAtEndOfEachLineSelected', + comment: ['&& denotes a mnemonic'], + }, + 'Add C&&ursors to Line Ends' + ), + order: 4, + }, + }); + } + getCursorsForSelection(e, t, i) { + if (!e.isEmpty()) { + for (let n = e.startLineNumber; n < e.endLineNumber; n++) { + let e = t.getLineMaxColumn(n); + i.push(new d.Y(n, e, n, e)); + } + e.endColumn > 1 && + i.push( + new d.Y( + e.endLineNumber, + e.endColumn, + e.endLineNumber, + e.endColumn + ) + ); + } + } + run(e, t) { + if (!t.hasModel()) return; + const i = t.getModel(), + n = t.getSelections(); + let r = []; + n.forEach((e) => this.getCursorsForSelection(e, i, r)), + r.length > 0 && t.setSelections(r); + } + } + class S extends a.R6 { + constructor() { + super({ + id: 'editor.action.addCursorsToBottom', + label: n.N( + 'mutlicursor.addCursorsToBottom', + 'Add Cursors To Bottom' + ), + alias: 'Add Cursors To Bottom', + precondition: void 0, + }); + } + run(e, t) { + if (!t.hasModel()) return; + const i = t.getSelections(), + n = t.getModel().getLineCount(); + let r = []; + for (let e = i[0].startLineNumber; e <= n; e++) + r.push(new d.Y(e, i[0].startColumn, e, i[0].endColumn)); + r.length > 0 && t.setSelections(r); + } + } + class k extends a.R6 { + constructor() { + super({ + id: 'editor.action.addCursorsToTop', + label: n.N('mutlicursor.addCursorsToTop', 'Add Cursors To Top'), + alias: 'Add Cursors To Top', + precondition: void 0, + }); + } + run(e, t) { + if (!t.hasModel()) return; + const i = t.getSelections(); + let n = []; + for (let e = i[0].startLineNumber; e >= 1; e--) + n.push(new d.Y(e, i[0].startColumn, e, i[0].endColumn)); + n.length > 0 && t.setSelections(n); + } + } + class x { + constructor(e, t, i) { + (this.selections = e), + (this.revealRange = t), + (this.revealScrollType = i); + } + } + class L { + constructor(e, t, i, n, r, s, o) { + (this._editor = e), + (this.findController = t), + (this.isDisconnectedFromFindController = i), + (this.searchText = n), + (this.wholeWord = r), + (this.matchCase = s), + (this.currentMatch = o); + } + static create(e, t) { + if (!e.hasModel()) return null; + const i = t.getState(); + if (!e.hasTextFocus() && i.isRevealed && i.searchString.length > 0) + return new L( + e, + t, + !1, + i.searchString, + i.wholeWord, + i.matchCase, + null + ); + let n, + r, + s = !1; + const o = e.getSelections(); + 1 === o.length && o[0].isEmpty() + ? ((s = !0), (n = !0), (r = !0)) + : ((n = i.wholeWord), (r = i.matchCase)); + const a = e.getSelection(); + let l, + c = null; + if (a.isEmpty()) { + const t = e.getConfiguredWordAtPosition(a.getStartPosition()); + if (!t) return null; + (l = t.word), + (c = new d.Y( + a.startLineNumber, + t.startColumn, + a.startLineNumber, + t.endColumn + )); + } else l = e.getModel().getValueInRange(a).replace(/\r\n/g, '\n'); + return new L(e, t, s, l, n, r, c); + } + addSelectionToNextFindMatch() { + if (!this._editor.hasModel()) return null; + const e = this._getNextMatch(); + if (!e) return null; + const t = this._editor.getSelections(); + return new x(t.concat(e), e, 0); + } + moveSelectionToNextFindMatch() { + if (!this._editor.hasModel()) return null; + const e = this._getNextMatch(); + if (!e) return null; + const t = this._editor.getSelections(); + return new x(t.slice(0, t.length - 1).concat(e), e, 0); + } + _getNextMatch() { + if (!this._editor.hasModel()) return null; + if (this.currentMatch) { + const e = this.currentMatch; + return (this.currentMatch = null), e; + } + this.findController.highlightFindOptions(); + const e = this._editor.getSelections(), + t = e[e.length - 1], + i = this._editor + .getModel() + .findNextMatch( + this.searchText, + t.getEndPosition(), + !1, + this.matchCase, + this.wholeWord ? this._editor.getOption(105) : null, + !1 + ); + return i + ? new d.Y( + i.range.startLineNumber, + i.range.startColumn, + i.range.endLineNumber, + i.range.endColumn + ) + : null; + } + addSelectionToPreviousFindMatch() { + if (!this._editor.hasModel()) return null; + const e = this._getPreviousMatch(); + if (!e) return null; + const t = this._editor.getSelections(); + return new x(t.concat(e), e, 0); + } + moveSelectionToPreviousFindMatch() { + if (!this._editor.hasModel()) return null; + const e = this._getPreviousMatch(); + if (!e) return null; + const t = this._editor.getSelections(); + return new x(t.slice(0, t.length - 1).concat(e), e, 0); + } + _getPreviousMatch() { + if (!this._editor.hasModel()) return null; + if (this.currentMatch) { + const e = this.currentMatch; + return (this.currentMatch = null), e; + } + this.findController.highlightFindOptions(); + const e = this._editor.getSelections(), + t = e[e.length - 1], + i = this._editor + .getModel() + .findPreviousMatch( + this.searchText, + t.getStartPosition(), + !1, + this.matchCase, + this.wholeWord ? this._editor.getOption(105) : null, + !1 + ); + return i + ? new d.Y( + i.range.startLineNumber, + i.range.startColumn, + i.range.endLineNumber, + i.range.endColumn + ) + : null; + } + selectAll() { + return this._editor.hasModel() + ? (this.findController.highlightFindOptions(), + this._editor + .getModel() + .findMatches( + this.searchText, + !0, + !1, + this.matchCase, + this.wholeWord ? this._editor.getOption(105) : null, + !1, + 1073741824 + )) + : []; + } + } + class M extends o.JT { + constructor(e) { + super(), + (this._sessionDispose = this._register(new o.SL())), + (this._editor = e), + (this._ignoreSelectionChange = !1), + (this._session = null); + } + static get(e) { + return e.getContribution(M.ID); + } + dispose() { + this._endSession(), super.dispose(); + } + _beginSessionIfNeeded(e) { + if (!this._session) { + const t = L.create(this._editor, e); + if (!t) return; + this._session = t; + const i = { searchString: this._session.searchText }; + this._session.isDisconnectedFromFindController && + ((i.wholeWordOverride = 1), + (i.matchCaseOverride = 1), + (i.isRegexOverride = 2)), + e.getState().change(i, !1), + this._sessionDispose.add( + this._editor.onDidChangeCursorSelection((e) => { + this._ignoreSelectionChange || this._endSession(); + }) + ), + this._sessionDispose.add( + this._editor.onDidBlurEditorText(() => { + this._endSession(); + }) + ), + this._sessionDispose.add( + e.getState().onFindReplaceStateChange((e) => { + (e.matchCase || e.wholeWord) && this._endSession(); + }) + ); + } + } + _endSession() { + if ( + (this._sessionDispose.clear(), + this._session && this._session.isDisconnectedFromFindController) + ) { + const e = { + wholeWordOverride: 0, + matchCaseOverride: 0, + isRegexOverride: 0, + }; + this._session.findController.getState().change(e, !1); + } + this._session = null; + } + _setSelections(e) { + (this._ignoreSelectionChange = !0), + this._editor.setSelections(e), + (this._ignoreSelectionChange = !1); + } + _expandEmptyToWord(e, t) { + if (!t.isEmpty()) return t; + const i = this._editor.getConfiguredWordAtPosition( + t.getStartPosition() + ); + return i + ? new d.Y( + t.startLineNumber, + i.startColumn, + t.startLineNumber, + i.endColumn + ) + : t; + } + _applySessionResult(e) { + e && + (this._setSelections(e.selections), + e.revealRange && + this._editor.revealRangeInCenterIfOutsideViewport( + e.revealRange, + e.revealScrollType + )); + } + getSession(e) { + return this._session; + } + addSelectionToNextFindMatch(e) { + if (this._editor.hasModel()) { + if (!this._session) { + const t = this._editor.getSelections(); + if (t.length > 1) { + const i = e.getState().matchCase; + if (!F(this._editor.getModel(), t, i)) { + const e = this._editor.getModel(); + let i = []; + for (let n = 0, r = t.length; n < r; n++) + i[n] = this._expandEmptyToWord(e, t[n]); + return void this._editor.setSelections(i); + } + } + } + this._beginSessionIfNeeded(e), + this._session && + this._applySessionResult( + this._session.addSelectionToNextFindMatch() + ); + } + } + addSelectionToPreviousFindMatch(e) { + this._beginSessionIfNeeded(e), + this._session && + this._applySessionResult( + this._session.addSelectionToPreviousFindMatch() + ); + } + moveSelectionToNextFindMatch(e) { + this._beginSessionIfNeeded(e), + this._session && + this._applySessionResult( + this._session.moveSelectionToNextFindMatch() + ); + } + moveSelectionToPreviousFindMatch(e) { + this._beginSessionIfNeeded(e), + this._session && + this._applySessionResult( + this._session.moveSelectionToPreviousFindMatch() + ); + } + selectAll(e) { + if (!this._editor.hasModel()) return; + let t = null; + const i = e.getState(); + if (i.isRevealed && i.searchString.length > 0 && i.isRegex) + t = this._editor + .getModel() + .findMatches( + i.searchString, + !0, + i.isRegex, + i.matchCase, + i.wholeWord ? this._editor.getOption(105) : null, + !1, + 1073741824 + ); + else { + if ((this._beginSessionIfNeeded(e), !this._session)) return; + t = this._session.selectAll(); + } + if (i.searchScope) { + const e = i.searchScope; + let n = []; + t.forEach((t) => { + e.forEach((e) => { + t.range.endLineNumber <= e.endLineNumber && + t.range.startLineNumber >= e.startLineNumber && + n.push(t); + }); + }), + (t = n); + } + if (t.length > 0) { + const e = this._editor.getSelection(); + for (let i = 0, n = t.length; i < n; i++) { + const n = t[i]; + if (n.range.intersectRanges(e)) { + (t[i] = t[0]), (t[0] = n); + break; + } + } + this._setSelections( + t.map( + (e) => + new d.Y( + e.range.startLineNumber, + e.range.startColumn, + e.range.endLineNumber, + e.range.endColumn + ) + ) + ); + } + } + } + M.ID = 'editor.contrib.multiCursorController'; + class D extends a.R6 { + run(e, t) { + const i = M.get(t); + if (!i) return; + const n = p.CommonFindController.get(t); + n && this._run(i, n); + } + } + class N extends D { + constructor() { + super({ + id: 'editor.action.addSelectionToNextFindMatch', + label: n.N( + 'addSelectionToNextFindMatch', + 'Add Selection To Next Find Match' + ), + alias: 'Add Selection To Next Find Match', + precondition: void 0, + kbOpts: { kbExpr: h.u.focus, primary: 2082, weight: 100 }, + menuOpts: { + menuId: m.eH.MenubarSelectionMenu, + group: '3_multi', + title: n.N( + { + key: 'miAddSelectionToNextFindMatch', + comment: ['&& denotes a mnemonic'], + }, + 'Add &&Next Occurrence' + ), + order: 5, + }, + }); + } + _run(e, t) { + e.addSelectionToNextFindMatch(t); + } + } + class E extends D { + constructor() { + super({ + id: 'editor.action.addSelectionToPreviousFindMatch', + label: n.N( + 'addSelectionToPreviousFindMatch', + 'Add Selection To Previous Find Match' + ), + alias: 'Add Selection To Previous Find Match', + precondition: void 0, + menuOpts: { + menuId: m.eH.MenubarSelectionMenu, + group: '3_multi', + title: n.N( + { + key: 'miAddSelectionToPreviousFindMatch', + comment: ['&& denotes a mnemonic'], + }, + 'Add P&&revious Occurrence' + ), + order: 6, + }, + }); + } + _run(e, t) { + e.addSelectionToPreviousFindMatch(t); + } + } + class T extends D { + constructor() { + super({ + id: 'editor.action.moveSelectionToNextFindMatch', + label: n.N( + 'moveSelectionToNextFindMatch', + 'Move Last Selection To Next Find Match' + ), + alias: 'Move Last Selection To Next Find Match', + precondition: void 0, + kbOpts: { + kbExpr: h.u.focus, + primary: (0, s.gx)(2089, 2082), + weight: 100, + }, + }); + } + _run(e, t) { + e.moveSelectionToNextFindMatch(t); + } + } + class I extends D { + constructor() { + super({ + id: 'editor.action.moveSelectionToPreviousFindMatch', + label: n.N( + 'moveSelectionToPreviousFindMatch', + 'Move Last Selection To Previous Find Match' + ), + alias: 'Move Last Selection To Previous Find Match', + precondition: void 0, + }); + } + _run(e, t) { + e.moveSelectionToPreviousFindMatch(t); + } + } + class O extends D { + constructor() { + super({ + id: 'editor.action.selectHighlights', + label: n.N( + 'selectAllOccurrencesOfFindMatch', + 'Select All Occurrences of Find Match' + ), + alias: 'Select All Occurrences of Find Match', + precondition: void 0, + kbOpts: { kbExpr: h.u.focus, primary: 3114, weight: 100 }, + menuOpts: { + menuId: m.eH.MenubarSelectionMenu, + group: '3_multi', + title: n.N( + { + key: 'miSelectHighlights', + comment: ['&& denotes a mnemonic'], + }, + 'Select All &&Occurrences' + ), + order: 7, + }, + }); + } + _run(e, t) { + e.selectAll(t); + } + } + class A extends D { + constructor() { + super({ + id: 'editor.action.changeAll', + label: n.N('changeAll.label', 'Change All Occurrences'), + alias: 'Change All Occurrences', + precondition: v.Ao.and(h.u.writable, h.u.editorTextFocus), + kbOpts: { + kbExpr: h.u.editorTextFocus, + primary: 2108, + weight: 100, + }, + contextMenuOpts: { group: '1_modification', order: 1.2 }, + }); + } + _run(e, t) { + e.selectAll(t); + } + } + class R { + constructor(e, t, i, n) { + (this.searchText = e), + (this.matchCase = t), + (this.wordSeparators = i), + (this.modelVersionId = n); + } + static softEquals(e, t) { + return ( + (!e && !t) || + (!(!e || !t) && + e.searchText === t.searchText && + e.matchCase === t.matchCase && + e.wordSeparators === t.wordSeparators && + e.modelVersionId === t.modelVersionId) + ); + } + } + class P extends o.JT { + constructor(e) { + super(), + (this.editor = e), + (this._isEnabled = e.getOption(89)), + (this.decorations = []), + (this.updateSoon = this._register( + new r.pY(() => this._update(), 300) + )), + (this.state = null), + this._register( + e.onDidChangeConfiguration((t) => { + this._isEnabled = e.getOption(89); + }) + ), + this._register( + e.onDidChangeCursorSelection((e) => { + this._isEnabled && + (e.selection.isEmpty() + ? 3 === e.reason + ? (this.state && this._setState(null), + this.updateSoon.schedule()) + : this._setState(null) + : this._update()); + }) + ), + this._register( + e.onDidChangeModel((e) => { + this._setState(null); + }) + ), + this._register( + e.onDidChangeModelContent((e) => { + this._isEnabled && this.updateSoon.schedule(); + }) + ), + this._register( + p.CommonFindController.get(e) + .getState() + .onFindReplaceStateChange((e) => { + this._update(); + }) + ); + } + _update() { + this._setState(P._createState(this._isEnabled, this.editor)); + } + static _createState(e, t) { + if (!e) return null; + if (!t.hasModel()) return null; + const i = t.getSelection(); + if (i.startLineNumber !== i.endLineNumber) return null; + const n = M.get(t); + if (!n) return null; + const r = p.CommonFindController.get(t); + if (!r) return null; + let s = n.getSession(r); + if (!s) { + const e = t.getSelections(); + if (e.length > 1) { + const i = r.getState().matchCase; + if (!F(t.getModel(), e, i)) return null; + } + s = L.create(t, r); + } + if (!s) return null; + if (s.currentMatch) return null; + if (/^[ \t]+$/.test(s.searchText)) return null; + if (s.searchText.length > 200) return null; + const o = r.getState(), + a = o.matchCase; + if (o.isRevealed) { + let e = o.searchString; + a || (e = e.toLowerCase()); + let t = s.searchText; + if ( + (a || (t = t.toLowerCase()), + e === t && + s.matchCase === o.matchCase && + s.wholeWord === o.wholeWord && + !o.isRegex) + ) + return null; + } + return new R( + s.searchText, + s.matchCase, + s.wholeWord ? t.getOption(105) : null, + t.getModel().getVersionId() + ); + } + _setState(e) { + if (R.softEquals(this.state, e)) return void (this.state = e); + if (((this.state = e), !this.state)) + return void (this.decorations = this.editor.deltaDecorations( + this.decorations, + [] + )); + if (!this.editor.hasModel()) return; + const t = this.editor.getModel(); + if (t.isTooLargeForTokenization()) return; + const i = f.vH.has(t) && this.editor.getOption(63); + let n = t + .findMatches( + this.state.searchText, + !0, + !1, + this.state.matchCase, + this.state.wordSeparators, + !1 + ) + .map((e) => e.range); + n.sort(c.e.compareRangesUsingStarts); + let r = this.editor.getSelections(); + r.sort(c.e.compareRangesUsingStarts); + let s = []; + for (let e = 0, t = 0, i = n.length, o = r.length; e < i; ) { + const i = n[e]; + if (t >= o) s.push(i), e++; + else { + const n = c.e.compareRangesUsingStarts(i, r[t]); + n < 0 + ? ((!r[t].isEmpty() && c.e.areIntersecting(i, r[t])) || + s.push(i), + e++) + : (n > 0 || e++, t++); + } + } + const o = s.map((e) => ({ + range: e, + options: i + ? P._SELECTION_HIGHLIGHT + : P._SELECTION_HIGHLIGHT_OVERVIEW, + })); + this.decorations = this.editor.deltaDecorations( + this.decorations, + o + ); + } + dispose() { + this._setState(null), super.dispose(); + } + } + function F(e, t, i) { + const n = B(e, t[0], !i); + for (let r = 1, s = t.length; r < s; r++) { + const s = t[r]; + if (s.isEmpty()) return !1; + if (n !== B(e, s, !i)) return !1; + } + return !0; + } + function B(e, t, i) { + const n = e.getValueInRange(t); + return i ? n.toLowerCase() : n; + } + (P.ID = 'editor.contrib.selectionHighlighter'), + (P._SELECTION_HIGHLIGHT_OVERVIEW = g.qx.register({ + stickiness: 1, + className: 'selectionHighlight', + overviewRuler: { color: (0, b.EN)(_.SP), position: u.sh.Center }, + })), + (P._SELECTION_HIGHLIGHT = g.qx.register({ + stickiness: 1, + className: 'selectionHighlight', + })), + (0, a._K)(M.ID, M), + (0, a._K)(P.ID, P), + (0, a.Qr)(y), + (0, a.Qr)(w), + (0, a.Qr)(C), + (0, a.Qr)(N), + (0, a.Qr)(E), + (0, a.Qr)(T), + (0, a.Qr)(I), + (0, a.Qr)(O), + (0, a.Qr)(A), + (0, a.Qr)(S), + (0, a.Qr)(k); + }, + 40517: (e, t, i) => { + 'use strict'; + i.r(t), i.d(t, { TriggerParameterHintsAction: () => Y }); + var n = i(63580), + r = i(5976), + s = i(72065), + o = i(29102), + a = i(38819), + l = i(16830), + c = i(65321), + d = i(4850), + h = i(85152), + u = i(9802), + g = i(4669), + f = i(71531), + p = i(53335), + m = i(15393), + _ = i(17301), + b = i(43775), + v = i(71050); + const y = { + Visible: new a.uy('parameterHintsVisible', !1), + MultipleSignatures: new a.uy('parameterHintsMultipleSignatures', !1), + }; + function w(e, t, i, n) { + const r = b.nD.ordered(e); + return (0, m.Ps)( + r.map((r) => () => + Promise.resolve(r.provideSignatureHelp(e, t, n, i)).catch((e) => + (0, _.Cp)(e) + ) + ) + ); + } + (0, l.kT)('_executeSignatureHelpProvider', (e, t, i) => { + return ( + (n = void 0), + (r = void 0), + (o = function* () { + const n = yield w( + e, + t, + { + triggerKind: b.WW.Invoke, + isRetrigger: !1, + triggerCharacter: i.triggerCharacter, + }, + v.T.None + ); + if (n) return setTimeout(() => n.dispose(), 0), n.value; + }), + new ((s = void 0) || (s = Promise))(function (e, t) { + function i(e) { + try { + l(o.next(e)); + } catch (e) { + t(e); + } + } + function a(e) { + try { + l(o.throw(e)); + } catch (e) { + t(e); + } + } + function l(t) { + var n; + t.done + ? e(t.value) + : ((n = t.value), + n instanceof s + ? n + : new s(function (e) { + e(n); + })).then(i, a); + } + l((o = o.apply(n, r || [])).next()); + }) + ); + var n, r, s, o; + }); + var C, + S = i(50988), + k = i(73910), + x = i(97781), + L = i(44906); + !(function (e) { + (e.Default = { type: 0 }), + (e.Pending = class { + constructor(e) { + (this.request = e), (this.type = 2); + } + }), + (e.Active = class { + constructor(e) { + (this.hints = e), (this.type = 1); + } + }); + })(C || (C = {})); + class M extends r.JT { + constructor(e, t = M.DEFAULT_DELAY) { + super(), + (this._onChangedHints = this._register(new g.Q5())), + (this.onChangedHints = this._onChangedHints.event), + (this.triggerOnType = !1), + (this._state = C.Default), + (this._pendingTriggers = []), + (this._lastSignatureHelpResult = this._register(new r.XK())), + (this.triggerChars = new L.q()), + (this.retriggerChars = new L.q()), + (this.triggerId = 0), + (this.editor = e), + (this.throttledDelayer = new m.vp(t)), + this._register( + this.editor.onDidChangeConfiguration(() => + this.onEditorConfigurationChange() + ) + ), + this._register( + this.editor.onDidChangeModel((e) => this.onModelChanged()) + ), + this._register( + this.editor.onDidChangeModelLanguage((e) => + this.onModelChanged() + ) + ), + this._register( + this.editor.onDidChangeCursorSelection((e) => + this.onCursorChange(e) + ) + ), + this._register( + this.editor.onDidChangeModelContent((e) => + this.onModelContentChange() + ) + ), + this._register(b.nD.onDidChange(this.onModelChanged, this)), + this._register(this.editor.onDidType((e) => this.onDidType(e))), + this.onEditorConfigurationChange(), + this.onModelChanged(); + } + get state() { + return this._state; + } + set state(e) { + 2 === this._state.type && this._state.request.cancel(), + (this._state = e); + } + cancel(e = !1) { + (this.state = C.Default), + this.throttledDelayer.cancel(), + e || this._onChangedHints.fire(void 0); + } + trigger(e, t) { + const i = this.editor.getModel(); + if (!i || !b.nD.has(i)) return; + const n = ++this.triggerId; + this._pendingTriggers.push(e), + this.throttledDelayer + .trigger(() => this.doTrigger(n), t) + .catch(_.dL); + } + next() { + if (1 !== this.state.type) return; + const e = this.state.hints.signatures.length, + t = this.state.hints.activeSignature, + i = t % e == e - 1, + n = this.editor.getOption(67).cycle; + !(e < 2 || i) || n + ? this.updateActiveSignature(i && n ? 0 : t + 1) + : this.cancel(); + } + previous() { + if (1 !== this.state.type) return; + const e = this.state.hints.signatures.length, + t = this.state.hints.activeSignature, + i = 0 === t, + n = this.editor.getOption(67).cycle; + !(e < 2 || i) || n + ? this.updateActiveSignature(i && n ? e - 1 : t - 1) + : this.cancel(); + } + updateActiveSignature(e) { + 1 === this.state.type && + ((this.state = new C.Active( + Object.assign(Object.assign({}, this.state.hints), { + activeSignature: e, + }) + )), + this._onChangedHints.fire(this.state.hints)); + } + doTrigger(e) { + return ( + (t = this), + (i = void 0), + (r = function* () { + const t = 1 === this.state.type || 2 === this.state.type, + i = 1 === this.state.type ? this.state.hints : void 0; + if ((this.cancel(!0), 0 === this._pendingTriggers.length)) + return !1; + const n = this._pendingTriggers.reduce(D); + this._pendingTriggers = []; + const r = { + triggerKind: n.triggerKind, + triggerCharacter: n.triggerCharacter, + isRetrigger: t, + activeSignatureHelp: i, + }; + if (!this.editor.hasModel()) return !1; + const s = this.editor.getModel(), + o = this.editor.getPosition(); + this.state = new C.Pending((0, m.PG)((e) => w(s, o, r, e))); + try { + const t = yield this.state.request; + return e !== this.triggerId + ? (null == t || t.dispose(), !1) + : t && t.value.signatures && 0 !== t.value.signatures.length + ? ((this.state = new C.Active(t.value)), + (this._lastSignatureHelpResult.value = t), + this._onChangedHints.fire(this.state.hints), + !0) + : (null == t || t.dispose(), + this._lastSignatureHelpResult.clear(), + this.cancel(), + !1); + } catch (t) { + return ( + e === this.triggerId && (this.state = C.Default), + (0, _.dL)(t), + !1 + ); + } + }), + new ((n = void 0) || (n = Promise))(function (e, s) { + function o(e) { + try { + l(r.next(e)); + } catch (e) { + s(e); + } + } + function a(e) { + try { + l(r.throw(e)); + } catch (e) { + s(e); + } + } + function l(t) { + var i; + t.done + ? e(t.value) + : ((i = t.value), + i instanceof n + ? i + : new n(function (e) { + e(i); + })).then(o, a); + } + l((r = r.apply(t, i || [])).next()); + }) + ); + var t, i, n, r; + } + get isTriggered() { + return ( + 1 === this.state.type || + 2 === this.state.type || + this.throttledDelayer.isTriggered() + ); + } + onModelChanged() { + this.cancel(), + (this.triggerChars = new L.q()), + (this.retriggerChars = new L.q()); + const e = this.editor.getModel(); + if (e) + for (const t of b.nD.ordered(e)) { + for (const e of t.signatureHelpTriggerCharacters || []) + this.triggerChars.add(e.charCodeAt(0)), + this.retriggerChars.add(e.charCodeAt(0)); + for (const e of t.signatureHelpRetriggerCharacters || []) + this.retriggerChars.add(e.charCodeAt(0)); + } + } + onDidType(e) { + if (!this.triggerOnType) return; + const t = e.length - 1, + i = e.charCodeAt(t); + (this.triggerChars.has(i) || + (this.isTriggered && this.retriggerChars.has(i))) && + this.trigger({ + triggerKind: b.WW.TriggerCharacter, + triggerCharacter: e.charAt(t), + }); + } + onCursorChange(e) { + 'mouse' === e.source + ? this.cancel() + : this.isTriggered && + this.trigger({ triggerKind: b.WW.ContentChange }); + } + onModelContentChange() { + this.isTriggered && + this.trigger({ triggerKind: b.WW.ContentChange }); + } + onEditorConfigurationChange() { + (this.triggerOnType = this.editor.getOption(67).enabled), + this.triggerOnType || this.cancel(); + } + dispose() { + this.cancel(!0), super.dispose(); + } + } + function D(e, t) { + switch (t.triggerKind) { + case b.WW.Invoke: + return t; + case b.WW.ContentChange: + return e; + case b.WW.TriggerCharacter: + default: + return t; + } + } + M.DEFAULT_DELAY = 120; + var N = i(97295), + E = i(73046), + T = i(98401), + I = function (e, t) { + return function (i, n) { + t(i, n, e); + }; + }; + const O = c.$, + A = (0, E.q5)('parameter-hints-next', E.lA.chevronDown), + R = (0, E.q5)('parameter-hints-previous', E.lA.chevronUp); + let P = class e extends r.JT { + constructor(e, t, i, n) { + super(), + (this.editor = e), + (this.renderDisposeables = this._register(new r.SL())), + (this.visible = !1), + (this.announcedLabel = null), + (this.allowEditorOverflow = !0), + (this.markdownRenderer = this._register(new p.$(e, n, i))), + (this.model = this._register(new M(e))), + (this.keyVisible = y.Visible.bindTo(t)), + (this.keyMultipleSignatures = y.MultipleSignatures.bindTo(t)), + this._register( + this.model.onChangedHints((e) => { + e ? (this.show(), this.render(e)) : this.hide(); + }) + ); + } + createParamaterHintDOMNodes() { + const e = O('.editor-widget.parameter-hints-widget'), + t = c.R3(e, O('.wrapper')); + t.tabIndex = -1; + const i = c.R3(t, O('.controls')), + n = c.R3(i, O('.button' + R.cssSelector)), + r = c.R3(i, O('.overloads')), + s = c.R3(i, O('.button' + A.cssSelector)), + o = (0, d.s)((0, d.j)(n, 'click')); + this._register(o(this.previous, this)); + const a = (0, d.s)((0, d.j)(s, 'click')); + this._register(a(this.next, this)); + const l = O('.body'), + h = new u.s$(l, {}); + this._register(h), t.appendChild(h.getDomNode()); + const f = c.R3(l, O('.signature')), + p = c.R3(l, O('.docs')); + (e.style.userSelect = 'text'), + (this.domNodes = { + element: e, + signature: f, + overloads: r, + docs: p, + scrollbar: h, + }), + this.editor.addContentWidget(this), + this.hide(), + this._register( + this.editor.onDidChangeCursorSelection((e) => { + this.visible && this.editor.layoutContentWidget(this); + }) + ); + const m = () => { + if (!this.domNodes) return; + const e = this.editor.getOption(36); + this.domNodes.element.style.fontSize = `${e.fontSize}px`; + }; + m(), + this._register( + g.ju + .chain(this.editor.onDidChangeConfiguration.bind(this.editor)) + .filter((e) => e.hasChanged(36)) + .on(m, null) + ), + this._register( + this.editor.onDidLayoutChange((e) => this.updateMaxHeight()) + ), + this.updateMaxHeight(); + } + show() { + this.visible || + (this.domNodes || this.createParamaterHintDOMNodes(), + this.keyVisible.set(!0), + (this.visible = !0), + setTimeout(() => { + this.domNodes && c.cn(this.domNodes.element, 'visible'); + }, 100), + this.editor.layoutContentWidget(this)); + } + hide() { + this.renderDisposeables.clear(), + this.visible && + (this.keyVisible.reset(), + (this.visible = !1), + (this.announcedLabel = null), + this.domNodes && c.IV(this.domNodes.element, 'visible'), + this.editor.layoutContentWidget(this)); + } + getPosition() { + return this.visible + ? { position: this.editor.getPosition(), preference: [1, 2] } + : null; + } + render(e) { + var t; + if ((this.renderDisposeables.clear(), !this.domNodes)) return; + const i = e.signatures.length > 1; + c.og(this.domNodes.element, 'multiple', i), + this.keyMultipleSignatures.set(i), + (this.domNodes.signature.innerText = ''), + (this.domNodes.docs.innerText = ''); + const r = e.signatures[e.activeSignature]; + if (!r) return; + const s = c.R3(this.domNodes.signature, O('.code')), + o = this.editor.getOption(36); + (s.style.fontSize = `${o.fontSize}px`), + (s.style.fontFamily = o.fontFamily); + const a = r.parameters.length > 0, + l = + null !== (t = r.activeParameter) && void 0 !== t + ? t + : e.activeParameter; + a + ? this.renderParameters(s, r, l) + : (c.R3(s, O('span')).textContent = r.label); + const d = r.parameters[l]; + if (null == d ? void 0 : d.documentation) { + const e = O('span.documentation'); + if ('string' == typeof d.documentation) + e.textContent = d.documentation; + else { + const t = this.renderDisposeables.add( + this.markdownRenderer.render(d.documentation) + ); + c.cn(t.element, 'markdown-docs'), e.appendChild(t.element); + } + c.R3(this.domNodes.docs, O('p', {}, e)); + } + if (void 0 === r.documentation); + else if ('string' == typeof r.documentation) + c.R3(this.domNodes.docs, O('p', {}, r.documentation)); + else { + const e = this.renderDisposeables.add( + this.markdownRenderer.render(r.documentation) + ); + c.cn(e.element, 'markdown-docs'), + c.R3(this.domNodes.docs, e.element); + } + const u = this.hasDocs(r, d); + if ( + (c.og(this.domNodes.signature, 'has-docs', u), + c.og(this.domNodes.docs, 'empty', !u), + (this.domNodes.overloads.textContent = + (0, N.vk)( + e.activeSignature + 1, + e.signatures.length.toString().length + ) + + '/' + + e.signatures.length), + d) + ) { + const e = this.getParameterLabel(r, l); + this.announcedLabel !== e && + (h.Z9(n.N('hint', '{0}, hint', e)), (this.announcedLabel = e)); + } + this.editor.layoutContentWidget(this), + this.domNodes.scrollbar.scanDomNode(); + } + hasDocs(e, t) { + return !!( + (t && + 'string' == typeof t.documentation && + (0, T.cW)(t.documentation).length > 0) || + (t && + 'object' == typeof t.documentation && + (0, T.cW)(t.documentation).value.length > 0) || + (e.documentation && + 'string' == typeof e.documentation && + (0, T.cW)(e.documentation).length > 0) || + (e.documentation && + 'object' == typeof e.documentation && + (0, T.cW)(e.documentation.value).length > 0) + ); + } + renderParameters(e, t, i) { + const [n, r] = this.getParameterLabelOffsets(t, i), + s = document.createElement('span'); + s.textContent = t.label.substring(0, n); + const o = document.createElement('span'); + (o.textContent = t.label.substring(n, r)), + (o.className = 'parameter active'); + const a = document.createElement('span'); + (a.textContent = t.label.substring(r)), c.R3(e, s, o, a); + } + getParameterLabel(e, t) { + const i = e.parameters[t]; + return Array.isArray(i.label) + ? e.label.substring(i.label[0], i.label[1]) + : i.label; + } + getParameterLabelOffsets(e, t) { + const i = e.parameters[t]; + if (i) { + if (Array.isArray(i.label)) return i.label; + { + const t = e.label.lastIndexOf(i.label); + return t >= 0 ? [t, t + i.label.length] : [0, 0]; + } + } + return [0, 0]; + } + next() { + this.editor.focus(), this.model.next(); + } + previous() { + this.editor.focus(), this.model.previous(); + } + cancel() { + this.model.cancel(); + } + getDomNode() { + return ( + this.domNodes || this.createParamaterHintDOMNodes(), + this.domNodes.element + ); + } + getId() { + return e.ID; + } + trigger(e) { + this.model.trigger(e, 0); + } + updateMaxHeight() { + if (!this.domNodes) return; + const e = `${Math.max( + this.editor.getLayoutInfo().height / 4, + 250 + )}px`; + this.domNodes.element.style.maxHeight = e; + const t = this.domNodes.element.getElementsByClassName('wrapper'); + t.length && (t[0].style.maxHeight = e); + } + }; + (P.ID = 'editor.widget.parameterHintsWidget'), + (P = (function (e, t, i, n) { + var r, + s = arguments.length, + o = + s < 3 + ? t + : null === n + ? (n = Object.getOwnPropertyDescriptor(t, i)) + : n; + if ( + 'object' == typeof Reflect && + 'function' == typeof Reflect.decorate + ) + o = Reflect.decorate(e, t, i, n); + else + for (var a = e.length - 1; a >= 0; a--) + (r = e[a]) && + (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); + return s > 3 && o && Object.defineProperty(t, i, o), o; + })([I(1, a.i6), I(2, S.v4), I(3, f.h)], P)), + (0, x.Ic)((e, t) => { + const i = e.getColor(k.CN); + if (i) { + const n = e.type === x.QP ? 2 : 1; + t.addRule( + `.monaco-editor .parameter-hints-widget { border: ${n}px solid ${i}; }` + ), + t.addRule( + `.monaco-editor .parameter-hints-widget.multiple .body { border-left: 1px solid ${i.transparent( + 0.5 + )}; }` + ), + t.addRule( + `.monaco-editor .parameter-hints-widget .signature.has-docs { border-bottom: 1px solid ${i.transparent( + 0.5 + )}; }` + ); + } + const n = e.getColor(k.yJ); + n && + t.addRule( + `.monaco-editor .parameter-hints-widget { background-color: ${n}; }` + ); + const r = e.getColor(k.ur); + r && + t.addRule( + `.monaco-editor .parameter-hints-widget a { color: ${r}; }` + ); + const s = e.getColor(k.Sb); + s && + t.addRule( + `.monaco-editor .parameter-hints-widget { color: ${s}; }` + ); + const o = e.getColor(k.Sw); + o && + t.addRule( + `.monaco-editor .parameter-hints-widget code { background-color: ${o}; }` + ); + }); + let F = class e extends r.JT { + constructor(e, t) { + super(), + (this.editor = e), + (this.widget = this._register(t.createInstance(P, this.editor))); + } + static get(t) { + return t.getContribution(e.ID); + } + cancel() { + this.widget.cancel(); + } + previous() { + this.widget.previous(); + } + next() { + this.widget.next(); + } + trigger(e) { + this.widget.trigger(e); + } + }; + var B, W; + (F.ID = 'editor.controller.parameterHints'), + (F = (function (e, t, i, n) { + var r, + s = arguments.length, + o = + s < 3 + ? t + : null === n + ? (n = Object.getOwnPropertyDescriptor(t, i)) + : n; + if ( + 'object' == typeof Reflect && + 'function' == typeof Reflect.decorate + ) + o = Reflect.decorate(e, t, i, n); + else + for (var a = e.length - 1; a >= 0; a--) + (r = e[a]) && + (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); + return s > 3 && o && Object.defineProperty(t, i, o), o; + })( + [ + ((B = 1), + (W = s.TG), + function (e, t) { + W(e, t, B); + }), + ], + F + )); + class Y extends l.R6 { + constructor() { + super({ + id: 'editor.action.triggerParameterHints', + label: n.N( + 'parameterHints.trigger.label', + 'Trigger Parameter Hints' + ), + alias: 'Trigger Parameter Hints', + precondition: o.u.hasSignatureHelpProvider, + kbOpts: { + kbExpr: o.u.editorTextFocus, + primary: 3082, + weight: 100, + }, + }); + } + run(e, t) { + const i = F.get(t); + i && i.trigger({ triggerKind: b.WW.Invoke }); + } + } + (0, l._K)(F.ID, F), (0, l.Qr)(Y); + const H = l._l.bindToContribution(F.get); + (0, l.fK)( + new H({ + id: 'closeParameterHints', + precondition: y.Visible, + handler: (e) => e.cancel(), + kbOpts: { + weight: 175, + kbExpr: o.u.focus, + primary: 9, + secondary: [1033], + }, + }) + ), + (0, l.fK)( + new H({ + id: 'showPrevParameterHint', + precondition: a.Ao.and(y.Visible, y.MultipleSignatures), + handler: (e) => e.previous(), + kbOpts: { + weight: 175, + kbExpr: o.u.focus, + primary: 16, + secondary: [528], + mac: { primary: 16, secondary: [528, 302] }, + }, + }) + ), + (0, l.fK)( + new H({ + id: 'showNextParameterHint', + precondition: a.Ao.and(y.Visible, y.MultipleSignatures), + handler: (e) => e.next(), + kbOpts: { + weight: 175, + kbExpr: o.u.focus, + primary: 18, + secondary: [530], + mac: { primary: 18, secondary: [530, 300] }, + }, + }) + ); + }, + 22043: (e, t, i) => { + 'use strict'; + i.d(t, { + Fw: () => I, + Jy: () => O, + vk: () => F, + rc: () => R, + SC: () => H, + RX: () => K, + sH: () => q, + WL: () => Z, + xH: () => J, + M8: () => j, + a7: () => z, + xk: () => V, + F8: () => G, + Zj: () => U, + IY: () => $, + KY: () => B, + IH: () => W, + R7: () => Y, + }); + var n = i(65321), + r = i(90317), + s = i(74741), + o = i(41264), + a = i(4669), + l = i(36248), + c = i(11640), + d = i(84527), + h = i(73098), + u = i(44742), + g = i(5976), + f = i(24314), + p = i(3411); + const m = new o.Il(new o.VS(0, 122, 204)), + _ = { + showArrow: !0, + showFrame: !0, + className: '', + frameColor: m, + arrowColor: m, + keepEditorSelection: !1, + }; + class b { + constructor(e, t, i, n, r, s) { + (this.id = ''), + (this.domNode = e), + (this.afterLineNumber = t), + (this.afterColumn = i), + (this.heightInLines = n), + (this._onDomNodeTop = r), + (this._onComputedHeight = s); + } + onDomNodeTop(e) { + this._onDomNodeTop(e); + } + onComputedHeight(e) { + this._onComputedHeight(e); + } + } + class v { + constructor(e, t) { + (this._id = e), (this._domNode = t); + } + getId() { + return this._id; + } + getDomNode() { + return this._domNode; + } + getPosition() { + return null; + } + } + class y { + constructor(e) { + (this._editor = e), + (this._ruleName = y._IdGenerator.nextId()), + (this._decorations = []), + (this._color = null), + (this._height = -1); + } + dispose() { + this.hide(), n.uN(this._ruleName); + } + set color(e) { + this._color !== e && ((this._color = e), this._updateStyle()); + } + set height(e) { + this._height !== e && ((this._height = e), this._updateStyle()); + } + _updateStyle() { + n.uN(this._ruleName), + n.fk( + `.monaco-editor ${this._ruleName}`, + `border-style: solid; border-color: transparent; border-bottom-color: ${this._color}; border-width: ${this._height}px; bottom: -${this._height}px; margin-left: -${this._height}px; ` + ); + } + show(e) { + this._decorations = this._editor.deltaDecorations( + this._decorations, + [ + { + range: f.e.fromPositions(e), + options: { className: this._ruleName, stickiness: 1 }, + }, + ] + ); + } + hide() { + this._editor.deltaDecorations(this._decorations, []); + } + } + y._IdGenerator = new u.R('.arrow-decoration-'); + var w = i(63580), + C = i(38819), + S = i(72065), + k = i(65026), + x = i(16830), + L = i(73910), + M = i(73046), + D = i(84144), + N = i(58335), + E = function (e, t, i, n) { + var r, + s = arguments.length, + o = + s < 3 + ? t + : null === n + ? (n = Object.getOwnPropertyDescriptor(t, i)) + : n; + if ( + 'object' == typeof Reflect && + 'function' == typeof Reflect.decorate + ) + o = Reflect.decorate(e, t, i, n); + else + for (var a = e.length - 1; a >= 0; a--) + (r = e[a]) && + (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); + return s > 3 && o && Object.defineProperty(t, i, o), o; + }, + T = function (e, t) { + return function (i, n) { + t(i, n, e); + }; + }; + const I = (0, S.yh)('IPeekViewService'); + var O; + (0, k.z)( + I, + class { + constructor() { + this._widgets = new Map(); + } + addExclusiveWidget(e, t) { + const i = this._widgets.get(e); + i && (i.listener.dispose(), i.widget.dispose()), + this._widgets.set(e, { + widget: t, + listener: t.onDidClose(() => { + const i = this._widgets.get(e); + i && + i.widget === t && + (i.listener.dispose(), this._widgets.delete(e)); + }), + }); + } + } + ), + (function (e) { + (e.inPeekEditor = new C.uy('inReferenceSearchEditor', !0)), + (e.notInPeekEditor = e.inPeekEditor.toNegated()); + })(O || (O = {})); + let A = class { + constructor(e, t) { + e instanceof d.H && O.inPeekEditor.bindTo(t); + } + dispose() {} + }; + function R(e) { + let t = e.get(c.$).getFocusedCodeEditor(); + return t instanceof d.H ? t.getParentEditor() : t; + } + (A.ID = 'editor.contrib.referenceController'), + (A = E([T(1, C.i6)], A)), + (0, x._K)(A.ID, A); + const P = { + headerBackgroundColor: o.Il.white, + primaryHeadingColor: o.Il.fromHex('#333333'), + secondaryHeadingColor: o.Il.fromHex('#6c6c6cb3'), + }; + let F = class extends class { + constructor(e, t = {}) { + (this._arrow = null), + (this._overlayWidget = null), + (this._resizeSash = null), + (this._positionMarkerId = []), + (this._viewZone = null), + (this._disposables = new g.SL()), + (this.container = null), + (this._isShowing = !1), + (this.editor = e), + (this.options = l.I8(t)), + l.jB(this.options, _, !1), + (this.domNode = document.createElement('div')), + this.options.isAccessible || + (this.domNode.setAttribute('aria-hidden', 'true'), + this.domNode.setAttribute('role', 'presentation')), + this._disposables.add( + this.editor.onDidLayoutChange((e) => { + const t = this._getWidth(e); + (this.domNode.style.width = t + 'px'), + (this.domNode.style.left = this._getLeft(e) + 'px'), + this._onWidth(t); + }) + ); + } + dispose() { + this._overlayWidget && + (this.editor.removeOverlayWidget(this._overlayWidget), + (this._overlayWidget = null)), + this._viewZone && + this.editor.changeViewZones((e) => { + this._viewZone && e.removeZone(this._viewZone.id), + (this._viewZone = null); + }), + this.editor.deltaDecorations(this._positionMarkerId, []), + (this._positionMarkerId = []), + this._disposables.dispose(); + } + create() { + this.domNode.classList.add('zone-widget'), + this.options.className && + this.domNode.classList.add(this.options.className), + (this.container = document.createElement('div')), + this.container.classList.add('zone-widget-container'), + this.domNode.appendChild(this.container), + this.options.showArrow && + ((this._arrow = new y(this.editor)), + this._disposables.add(this._arrow)), + this._fillContainer(this.container), + this._initSash(), + this._applyStyles(); + } + style(e) { + e.frameColor && (this.options.frameColor = e.frameColor), + e.arrowColor && (this.options.arrowColor = e.arrowColor), + this._applyStyles(); + } + _applyStyles() { + if (this.container && this.options.frameColor) { + let e = this.options.frameColor.toString(); + (this.container.style.borderTopColor = e), + (this.container.style.borderBottomColor = e); + } + if (this._arrow && this.options.arrowColor) { + let e = this.options.arrowColor.toString(); + this._arrow.color = e; + } + } + _getWidth(e) { + return e.width - e.minimap.minimapWidth - e.verticalScrollbarWidth; + } + _getLeft(e) { + return e.minimap.minimapWidth > 0 && 0 === e.minimap.minimapLeft + ? e.minimap.minimapWidth + : 0; + } + _onViewZoneTop(e) { + this.domNode.style.top = e + 'px'; + } + _onViewZoneHeight(e) { + if (((this.domNode.style.height = `${e}px`), this.container)) { + let t = e - this._decoratingElementsHeight(); + this.container.style.height = `${t}px`; + const i = this.editor.getLayoutInfo(); + this._doLayout(t, this._getWidth(i)); + } + this._resizeSash && this._resizeSash.layout(); + } + get position() { + const [e] = this._positionMarkerId; + if (!e) return; + const t = this.editor.getModel(); + if (!t) return; + const i = t.getDecorationRange(e); + return i ? i.getStartPosition() : void 0; + } + show(e, t) { + const i = f.e.isIRange(e) ? f.e.lift(e) : f.e.fromPositions(e); + (this._isShowing = !0), + this._showImpl(i, t), + (this._isShowing = !1), + (this._positionMarkerId = this.editor.deltaDecorations( + this._positionMarkerId, + [{ range: i, options: p.qx.EMPTY }] + )); + } + hide() { + this._viewZone && + (this.editor.changeViewZones((e) => { + this._viewZone && e.removeZone(this._viewZone.id); + }), + (this._viewZone = null)), + this._overlayWidget && + (this.editor.removeOverlayWidget(this._overlayWidget), + (this._overlayWidget = null)), + this._arrow && this._arrow.hide(); + } + _decoratingElementsHeight() { + let e = this.editor.getOption(51), + t = 0; + return ( + this.options.showArrow && (t += 2 * Math.round(e / 3)), + this.options.showFrame && (t += 2 * Math.round(e / 9)), + t + ); + } + _showImpl(e, t) { + const i = e.getStartPosition(), + n = this.editor.getLayoutInfo(), + r = this._getWidth(n); + (this.domNode.style.width = `${r}px`), + (this.domNode.style.left = this._getLeft(n) + 'px'); + const s = document.createElement('div'); + s.style.overflow = 'hidden'; + const o = this.editor.getOption(51), + a = Math.max(12, (this.editor.getLayoutInfo().height / o) * 0.8); + t = Math.min(t, a); + let l = 0, + c = 0; + if ( + (this._arrow && + this.options.showArrow && + ((l = Math.round(o / 3)), + (this._arrow.height = l), + this._arrow.show(i)), + this.options.showFrame && (c = Math.round(o / 9)), + this.editor.changeViewZones((e) => { + this._viewZone && e.removeZone(this._viewZone.id), + this._overlayWidget && + (this.editor.removeOverlayWidget(this._overlayWidget), + (this._overlayWidget = null)), + (this.domNode.style.top = '-1000px'), + (this._viewZone = new b( + s, + i.lineNumber, + i.column, + t, + (e) => this._onViewZoneTop(e), + (e) => this._onViewZoneHeight(e) + )), + (this._viewZone.id = e.addZone(this._viewZone)), + (this._overlayWidget = new v( + 'vs.editor.contrib.zoneWidget' + this._viewZone.id, + this.domNode + )), + this.editor.addOverlayWidget(this._overlayWidget); + }), + this.container && this.options.showFrame) + ) { + const e = this.options.frameWidth ? this.options.frameWidth : c; + (this.container.style.borderTopWidth = e + 'px'), + (this.container.style.borderBottomWidth = e + 'px'); + } + let d = t * o - this._decoratingElementsHeight(); + this.container && + ((this.container.style.top = l + 'px'), + (this.container.style.height = d + 'px'), + (this.container.style.overflow = 'hidden')), + this._doLayout(d, r), + this.options.keepEditorSelection || this.editor.setSelection(e); + const h = this.editor.getModel(); + if (h) { + const t = e.endLineNumber + 1; + t <= h.getLineCount() + ? this.revealLine(t, !1) + : this.revealLine(h.getLineCount(), !0); + } + } + revealLine(e, t) { + t + ? this.editor.revealLineInCenter(e, 0) + : this.editor.revealLine(e, 0); + } + setCssClass(e, t) { + this.container && + (t && this.container.classList.remove(t), + n.cn(this.container, e)); + } + _onWidth(e) {} + _doLayout(e, t) {} + _relayout(e) { + this._viewZone && + this._viewZone.heightInLines !== e && + this.editor.changeViewZones((t) => { + this._viewZone && + ((this._viewZone.heightInLines = e), + t.layoutZone(this._viewZone.id)); + }); + } + _initSash() { + if (this._resizeSash) return; + let e; + (this._resizeSash = this._disposables.add( + new h.g(this.domNode, this, { orientation: 1 }) + )), + this.options.isResizeable || + (this._resizeSash.hide(), (this._resizeSash.state = 0)), + this._disposables.add( + this._resizeSash.onDidStart((t) => { + this._viewZone && + (e = { + startY: t.startY, + heightInLines: this._viewZone.heightInLines, + }); + }) + ), + this._disposables.add( + this._resizeSash.onDidEnd(() => { + e = void 0; + }) + ), + this._disposables.add( + this._resizeSash.onDidChange((t) => { + if (e) { + let i = (t.currentY - e.startY) / this.editor.getOption(51), + n = i < 0 ? Math.ceil(i) : Math.floor(i), + r = e.heightInLines + n; + r > 5 && r < 35 && this._relayout(r); + } + }) + ); + } + getHorizontalSashLeft() { + return 0; + } + getHorizontalSashTop() { + return ( + (null === this.domNode.style.height + ? 0 + : parseInt(this.domNode.style.height)) - + this._decoratingElementsHeight() / 2 + ); + } + getHorizontalSashWidth() { + const e = this.editor.getLayoutInfo(); + return e.width - e.minimap.minimapWidth; + } + } { + constructor(e, t, i) { + super(e, t), + (this.instantiationService = i), + (this._onDidClose = new a.Q5()), + (this.onDidClose = this._onDidClose.event), + l.jB(this.options, P, !1); + } + dispose() { + super.dispose(), this._onDidClose.fire(this); + } + style(e) { + let t = this.options; + e.headerBackgroundColor && + (t.headerBackgroundColor = e.headerBackgroundColor), + e.primaryHeadingColor && + (t.primaryHeadingColor = e.primaryHeadingColor), + e.secondaryHeadingColor && + (t.secondaryHeadingColor = e.secondaryHeadingColor), + super.style(e); + } + _applyStyles() { + super._applyStyles(); + let e = this.options; + this._headElement && + e.headerBackgroundColor && + (this._headElement.style.backgroundColor = e.headerBackgroundColor.toString()), + this._primaryHeading && + e.primaryHeadingColor && + (this._primaryHeading.style.color = e.primaryHeadingColor.toString()), + this._secondaryHeading && + e.secondaryHeadingColor && + (this._secondaryHeading.style.color = e.secondaryHeadingColor.toString()), + this._bodyElement && + e.frameColor && + (this._bodyElement.style.borderColor = e.frameColor.toString()); + } + _fillContainer(e) { + this.setCssClass('peekview-widget'), + (this._headElement = n.$('.head')), + (this._bodyElement = n.$('.body')), + this._fillHead(this._headElement), + this._fillBody(this._bodyElement), + e.appendChild(this._headElement), + e.appendChild(this._bodyElement); + } + _fillHead(e, t) { + const i = n.$('.peekview-title'); + n.R3(this._headElement, i), + n.mu(i, 'click', (e) => this._onTitleClick(e)), + this._fillTitleIcon(i), + (this._primaryHeading = n.$('span.filename')), + (this._secondaryHeading = n.$('span.dirname')), + (this._metaHeading = n.$('span.meta')), + n.R3( + i, + this._primaryHeading, + this._secondaryHeading, + this._metaHeading + ); + const o = n.$('.peekview-actions'); + n.R3(this._headElement, o); + const a = this._getActionBarOptions(); + (this._actionbarWidget = new r.o(o, a)), + this._disposables.add(this._actionbarWidget), + t || + this._actionbarWidget.push( + new s.aU( + 'peekview.close', + w.N('label.close', 'Close'), + M.lA.close.classNames, + !0, + () => (this.dispose(), Promise.resolve()) + ), + { label: !1, icon: !0 } + ); + } + _fillTitleIcon(e) {} + _getActionBarOptions() { + return { + actionViewItemProvider: (e) => + e instanceof D.U8 + ? this.instantiationService.createInstance(N.Mm, e) + : e instanceof D.NZ + ? this.instantiationService.createInstance(N.bi, e) + : void 0, + }; + } + _onTitleClick(e) {} + setTitle(e, t) { + this._primaryHeading && + this._secondaryHeading && + ((this._primaryHeading.innerText = e), + this._primaryHeading.setAttribute('aria-label', e), + t + ? (this._secondaryHeading.innerText = t) + : n.PO(this._secondaryHeading)); + } + setMetaTitle(e) { + this._metaHeading && + (e + ? ((this._metaHeading.innerText = e), n.$Z(this._metaHeading)) + : n.Cp(this._metaHeading)); + } + _doLayout(e, t) { + if (!this._isShowing && e < 0) return void this.dispose(); + const i = Math.ceil(1.2 * this.editor.getOption(51)), + n = Math.round(e - (i + 2)); + this._doLayoutHead(i, t), this._doLayoutBody(n, t); + } + _doLayoutHead(e, t) { + this._headElement && + ((this._headElement.style.height = `${e}px`), + (this._headElement.style.lineHeight = this._headElement.style.height)); + } + _doLayoutBody(e, t) { + this._bodyElement && (this._bodyElement.style.height = `${e}px`); + } + }; + F = E([T(2, S.TG)], F); + const B = (0, L.P6)( + 'peekViewTitle.background', + { dark: '#1E1E1E', light: '#FFFFFF', hc: '#0C141F' }, + w.N( + 'peekViewTitleBackground', + 'Background color of the peek view title area.' + ) + ), + W = (0, L.P6)( + 'peekViewTitleLabel.foreground', + { dark: '#FFFFFF', light: '#333333', hc: '#FFFFFF' }, + w.N('peekViewTitleForeground', 'Color of the peek view title.') + ), + Y = (0, L.P6)( + 'peekViewTitleDescription.foreground', + { dark: '#ccccccb3', light: '#616161e6', hc: '#FFFFFF99' }, + w.N( + 'peekViewTitleInfoForeground', + 'Color of the peek view title info.' + ) + ), + H = (0, L.P6)( + 'peekView.border', + { dark: '#007acc', light: '#007acc', hc: L.lR }, + w.N('peekViewBorder', 'Color of the peek view borders and arrow.') + ), + j = (0, L.P6)( + 'peekViewResult.background', + { dark: '#252526', light: '#F3F3F3', hc: o.Il.black }, + w.N( + 'peekViewResultsBackground', + 'Background color of the peek view result list.' + ) + ), + V = (0, L.P6)( + 'peekViewResult.lineForeground', + { dark: '#bbbbbb', light: '#646465', hc: o.Il.white }, + w.N( + 'peekViewResultsMatchForeground', + 'Foreground color for line nodes in the peek view result list.' + ) + ), + z = (0, L.P6)( + 'peekViewResult.fileForeground', + { dark: o.Il.white, light: '#1E1E1E', hc: o.Il.white }, + w.N( + 'peekViewResultsFileForeground', + 'Foreground color for file nodes in the peek view result list.' + ) + ), + U = (0, L.P6)( + 'peekViewResult.selectionBackground', + { dark: '#3399ff33', light: '#3399ff33', hc: null }, + w.N( + 'peekViewResultsSelectionBackground', + 'Background color of the selected entry in the peek view result list.' + ) + ), + $ = (0, L.P6)( + 'peekViewResult.selectionForeground', + { dark: o.Il.white, light: '#6C6C6C', hc: o.Il.white }, + w.N( + 'peekViewResultsSelectionForeground', + 'Foreground color of the selected entry in the peek view result list.' + ) + ), + K = (0, L.P6)( + 'peekViewEditor.background', + { dark: '#001F33', light: '#F2F8FC', hc: o.Il.black }, + w.N( + 'peekViewEditorBackground', + 'Background color of the peek view editor.' + ) + ), + q = (0, L.P6)( + 'peekViewEditorGutter.background', + { dark: K, light: K, hc: K }, + w.N( + 'peekViewEditorGutterBackground', + 'Background color of the gutter in the peek view editor.' + ) + ), + G = (0, L.P6)( + 'peekViewResult.matchHighlightBackground', + { dark: '#ea5c004d', light: '#ea5c004d', hc: null }, + w.N( + 'peekViewResultsMatchHighlight', + 'Match highlight color in the peek view result list.' + ) + ), + Z = (0, L.P6)( + 'peekViewEditor.matchHighlightBackground', + { dark: '#ff8f0099', light: '#f5d802de', hc: null }, + w.N( + 'peekViewEditorMatchHighlight', + 'Match highlight color in the peek view editor.' + ) + ), + J = (0, L.P6)( + 'peekViewEditor.matchHighlightBorder', + { dark: null, light: null, hc: L.xL }, + w.N( + 'peekViewEditorMatchHighlightBorder', + 'Match highlight border in the peek view editor.' + ) + ); + }, + 98275: (e, t, i) => { + 'use strict'; + i.d(t, { X: () => d }); + var n = i(84973), + r = i(97781), + s = i(27869), + o = i(5976), + a = i(65520), + l = i(98401), + c = i(88289); + class d { + constructor(e) { + (this.options = e), (this.rangeHighlightDecorationId = void 0); + } + provide(e, t) { + var i; + const n = new o.SL(); + (e.canAcceptInBackground = !!(null === (i = this.options) || + void 0 === i + ? void 0 + : i.canAcceptInBackground)), + (e.matchOnLabel = e.matchOnDescription = e.matchOnDetail = e.sortByLabel = !1); + const r = n.add(new o.XK()); + return ( + (r.value = this.doProvide(e, t)), + n.add( + this.onDidActiveTextEditorControlChange(() => { + (r.value = void 0), (r.value = this.doProvide(e, t)); + }) + ), + n + ); + } + doProvide(e, t) { + const i = new o.SL(), + n = this.activeTextEditorControl; + if (n && this.canProvideWithTextEditor(n)) { + const r = (0, a.Pi)(n); + if (r) { + let e = (0, l.f6)(n.saveViewState()); + i.add( + r.onDidChangeCursorPosition(() => { + e = (0, l.f6)(n.saveViewState()); + }) + ), + i.add( + (0, c.I)(t.onCancellationRequested)(() => { + e && + n === this.activeTextEditorControl && + n.restoreViewState(e); + }) + ); + } + i.add((0, o.OF)(() => this.clearDecorations(n))), + i.add(this.provideWithTextEditor(n, e, t)); + } else i.add(this.provideWithoutTextEditor(e, t)); + return i; + } + canProvideWithTextEditor(e) { + return !0; + } + gotoLocation(e, t) { + e.setSelection(t.range), + e.revealRangeInCenter(t.range, 0), + t.preserveFocus || e.focus(); + } + getModel(e) { + var t; + return (0, a.QI)(e) + ? null === (t = e.getModel()) || void 0 === t + ? void 0 + : t.modified + : e.getModel(); + } + addDecorations(e, t) { + e.changeDecorations((e) => { + const i = []; + this.rangeHighlightDecorationId && + (i.push( + this.rangeHighlightDecorationId.overviewRulerDecorationId + ), + i.push(this.rangeHighlightDecorationId.rangeHighlightId), + (this.rangeHighlightDecorationId = void 0)); + const o = [ + { + range: t, + options: { className: 'rangeHighlight', isWholeLine: !0 }, + }, + { + range: t, + options: { + overviewRuler: { + color: (0, r.EN)(s.m9), + position: n.sh.Full, + }, + }, + }, + ], + [a, l] = e.deltaDecorations(i, o); + this.rangeHighlightDecorationId = { + rangeHighlightId: a, + overviewRulerDecorationId: l, + }; + }); + } + clearDecorations(e) { + const t = this.rangeHighlightDecorationId; + t && + (e.changeDecorations((e) => { + e.deltaDecorations( + [t.overviewRulerDecorationId, t.rangeHighlightId], + [] + ); + }), + (this.rangeHighlightDecorationId = void 0)); + } + } + }, + 55027: (e, t, i) => { + 'use strict'; + i.r(t), + i.d(t, { + CONTEXT_ONTYPE_RENAME_INPUT_VISIBLE: () => k, + OnTypeRenameContribution: () => x, + OnTypeRenameAction: () => D, + getOnTypeRenameRanges: () => E, + editorOnTypeRenameBackground: () => T, + }); + var n = i(63580), + r = i(16830), + s = i(9488), + o = i(5976), + a = i(50187), + l = i(71050), + c = i(24314), + d = i(43775), + h = i(15393), + u = i(3411), + g = i(38819), + f = i(29102), + p = i(70666), + m = i(11640), + _ = i(17301), + b = i(97295), + v = i(73910), + y = i(97781), + w = i(41264), + C = i(83831), + S = function (e, t, i, n) { + return new (i || (i = Promise))(function (r, s) { + function o(e) { + try { + l(n.next(e)); + } catch (e) { + s(e); + } + } + function a(e) { + try { + l(n.throw(e)); + } catch (e) { + s(e); + } + } + function l(e) { + var t; + e.done + ? r(e.value) + : ((t = e.value), + t instanceof i + ? t + : new i(function (e) { + e(t); + })).then(o, a); + } + l((n = n.apply(e, t || [])).next()); + }); + }; + const k = new g.uy('onTypeRenameInputVisible', !1); + let x = class e extends o.JT { + constructor(e, t) { + super(), + (this._debounceDuration = 200), + (this._localToDispose = this._register(new o.SL())), + (this._editor = e), + (this._enabled = !1), + (this._visibleContextKey = k.bindTo(t)), + (this._currentDecorations = []), + (this._languageWordPattern = null), + (this._currentWordPattern = null), + (this._ignoreChangeEvent = !1), + (this._localToDispose = this._register(new o.SL())), + (this._rangeUpdateTriggerPromise = null), + (this._rangeSyncTriggerPromise = null), + (this._currentRequest = null), + (this._currentRequestPosition = null), + (this._currentRequestModelVersion = null), + this._register( + this._editor.onDidChangeModel(() => this.reinitialize()) + ), + this._register( + this._editor.onDidChangeConfiguration((e) => { + e.hasChanged(73) && this.reinitialize(); + }) + ), + this._register(d.jC.onDidChange(() => this.reinitialize())), + this._register( + this._editor.onDidChangeModelLanguage(() => this.reinitialize()) + ), + this.reinitialize(); + } + static get(t) { + return t.getContribution(e.ID); + } + reinitialize() { + const e = this._editor.getModel(), + t = null !== e && this._editor.getOption(73) && d.jC.has(e); + if (t === this._enabled) return; + if ( + ((this._enabled = t), + this.clearRanges(), + this._localToDispose.clear(), + !t || null === e) + ) + return; + (this._languageWordPattern = C.zu.getWordDefinition( + e.getLanguageIdentifier().id + )), + this._localToDispose.add( + e.onDidChangeLanguageConfiguration(() => { + this._languageWordPattern = C.zu.getWordDefinition( + e.getLanguageIdentifier().id + ); + }) + ); + const i = new h.vp(this._debounceDuration), + n = () => { + this._rangeUpdateTriggerPromise = i.trigger( + () => this.updateRanges(), + this._debounceDuration + ); + }, + r = new h.vp(0), + s = (e) => { + this._rangeSyncTriggerPromise = r.trigger(() => + this._syncRanges(e) + ); + }; + this._localToDispose.add( + this._editor.onDidChangeCursorPosition(() => { + n(); + }) + ), + this._localToDispose.add( + this._editor.onDidChangeModelContent((t) => { + if ( + !this._ignoreChangeEvent && + this._currentDecorations.length > 0 + ) { + const i = e.getDecorationRange(this._currentDecorations[0]); + if (i && t.changes.every((e) => i.intersectRanges(e.range))) + return void s(this._currentDecorations); + } + n(); + }) + ), + this._localToDispose.add({ + dispose: () => { + i.cancel(), r.cancel(); + }, + }), + this.updateRanges(); + } + _syncRanges(e) { + if ( + !this._editor.hasModel() || + e !== this._currentDecorations || + 0 === e.length + ) + return; + const t = this._editor.getModel(), + i = t.getDecorationRange(e[0]); + if (!i || i.startLineNumber !== i.endLineNumber) + return this.clearRanges(); + const n = t.getValueInRange(i); + if (this._currentWordPattern) { + const e = n.match(this._currentWordPattern); + if ((e ? e[0].length : 0) !== n.length) return this.clearRanges(); + } + let r = []; + for (let i = 1, s = e.length; i < s; i++) { + const s = t.getDecorationRange(e[i]); + if (s) + if (s.startLineNumber !== s.endLineNumber) + r.push({ range: s, text: n }); + else { + let e = t.getValueInRange(s), + i = n, + o = s.startColumn, + a = s.endColumn; + const l = b.Mh(e, i); + (o += l), (e = e.substr(l)), (i = i.substr(l)); + const d = b.P1(e, i); + (a -= d), + (e = e.substr(0, e.length - d)), + (i = i.substr(0, i.length - d)), + (o === a && 0 === i.length) || + r.push({ + range: new c.e( + s.startLineNumber, + o, + s.endLineNumber, + a + ), + text: i, + }); + } + } + if (0 !== r.length) + try { + this._ignoreChangeEvent = !0; + const e = this._editor + ._getViewModel() + .getPrevEditOperationType(); + this._editor.executeEdits('onTypeRename', r), + this._editor._getViewModel().setPrevEditOperationType(e); + } finally { + this._ignoreChangeEvent = !1; + } + } + dispose() { + this.clearRanges(), super.dispose(); + } + clearRanges() { + this._visibleContextKey.set(!1), + (this._currentDecorations = this._editor.deltaDecorations( + this._currentDecorations, + [] + )), + this._currentRequest && + (this._currentRequest.cancel(), + (this._currentRequest = null), + (this._currentRequestPosition = null)); + } + updateRanges(t = !1) { + return S(this, void 0, void 0, function* () { + if (!this._editor.hasModel()) return void this.clearRanges(); + const i = this._editor.getPosition(); + if ( + (!this._enabled && !t) || + this._editor.getSelections().length > 1 + ) + return void this.clearRanges(); + const n = this._editor.getModel(), + r = n.getVersionId(); + if ( + this._currentRequestPosition && + this._currentRequestModelVersion === r + ) { + if (i.equals(this._currentRequestPosition)) return; + if ( + this._currentDecorations && + this._currentDecorations.length > 0 + ) { + const e = n.getDecorationRange(this._currentDecorations[0]); + if (e && e.containsPosition(i)) return; + } + } + (this._currentRequestPosition = i), + (this._currentRequestModelVersion = r); + const s = (0, h.PG)((t) => + S(this, void 0, void 0, function* () { + try { + const o = yield E(n, i, t); + if (s !== this._currentRequest) return; + if (((this._currentRequest = null), r !== n.getVersionId())) + return; + let a = []; + (null == o ? void 0 : o.ranges) && (a = o.ranges), + (this._currentWordPattern = + (null == o ? void 0 : o.wordPattern) || + this._languageWordPattern); + let l = !1; + for (let e = 0, t = a.length; e < t; e++) + if (c.e.containsPosition(a[e], i)) { + if (((l = !0), 0 !== e)) { + const t = a[e]; + a.splice(e, 1), a.unshift(t); + } + break; + } + if (!l) return void this.clearRanges(); + const d = a.map((t) => ({ + range: t, + options: e.DECORATION, + })); + this._visibleContextKey.set(!0), + (this._currentDecorations = this._editor.deltaDecorations( + this._currentDecorations, + d + )); + } catch (e) { + (0, _.VV)(e) || (0, _.dL)(e), + (this._currentRequest !== s && this._currentRequest) || + this.clearRanges(); + } + }) + ); + return (this._currentRequest = s), s; + }); + } + }; + var L, M; + (x.ID = 'editor.contrib.onTypeRename'), + (x.DECORATION = u.qx.register({ + stickiness: 0, + className: 'on-type-rename-decoration', + })), + (x = (function (e, t, i, n) { + var r, + s = arguments.length, + o = + s < 3 + ? t + : null === n + ? (n = Object.getOwnPropertyDescriptor(t, i)) + : n; + if ( + 'object' == typeof Reflect && + 'function' == typeof Reflect.decorate + ) + o = Reflect.decorate(e, t, i, n); + else + for (var a = e.length - 1; a >= 0; a--) + (r = e[a]) && + (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); + return s > 3 && o && Object.defineProperty(t, i, o), o; + })( + [ + ((L = 1), + (M = g.i6), + function (e, t) { + M(e, t, L); + }), + ], + x + )); + class D extends r.R6 { + constructor() { + super({ + id: 'editor.action.onTypeRename', + label: n.N('onTypeRename.label', 'On Type Rename Symbol'), + alias: 'On Type Rename Symbol', + precondition: g.Ao.and(f.u.writable, f.u.hasRenameProvider), + kbOpts: { + kbExpr: f.u.editorTextFocus, + primary: 3132, + weight: 100, + }, + }); + } + runCommand(e, t) { + const i = e.get(m.$), + [n, r] = (Array.isArray(t) && t) || [void 0, void 0]; + return p.o.isUri(n) && a.L.isIPosition(r) + ? i + .openCodeEditor({ resource: n }, i.getActiveCodeEditor()) + .then((e) => { + e && + (e.setPosition(r), + e.invokeWithinContext( + (t) => (this.reportTelemetry(t, e), this.run(t, e)) + )); + }, _.dL) + : super.runCommand(e, t); + } + run(e, t) { + const i = x.get(t); + return i ? Promise.resolve(i.updateRanges(!0)) : Promise.resolve(); + } + } + const N = r._l.bindToContribution(x.get); + function E(e, t, i) { + const n = d.jC.ordered(e); + return (0, h.Ps)( + n.map((n) => () => + Promise.resolve(n.provideOnTypeRenameRanges(e, t, i)).then( + (e) => { + if (e) + return { + ranges: e.ranges, + wordPattern: e.wordPattern || n.wordPattern, + }; + }, + (e) => { + (0, _.Cp)(e); + } + ) + ), + (e) => !!e && s.Of(null == e ? void 0 : e.ranges) + ); + } + (0, r.fK)( + new N({ + id: 'cancelOnTypeRenameInput', + precondition: k, + handler: (e) => e.clearRanges(), + kbOpts: { + kbExpr: f.u.editorTextFocus, + weight: 199, + primary: 9, + secondary: [1033], + }, + }) + ); + const T = (0, v.P6)( + 'editor.onTypeRenameBackground', + { + dark: w.Il.fromHex('#f00').transparent(0.3), + light: w.Il.fromHex('#f00').transparent(0.3), + hc: w.Il.fromHex('#f00').transparent(0.3), + }, + n.N( + 'editorOnTypeRenameBackground', + 'Background color when the editor auto renames on type.' + ) + ); + (0, y.Ic)((e, t) => { + const i = e.getColor(T); + i && + t.addRule( + `.monaco-editor .on-type-rename-decoration { background: ${i}; border-left-color: ${i}; }` + ); + }), + (0, r.sb)('_executeRenameOnTypeProvider', (e, t) => + E(e, t, l.T.None) + ), + (0, r._K)(x.ID, x), + (0, r.Qr)(D); + }, + 4454: (e, t, i) => { + 'use strict'; + i.r(t), i.d(t, { RenameAction: () => W, rename: () => F }); + var n = i(63580), + r = i(17301), + s = i(38819), + o = i(90535), + a = i(16830), + l = i(29102), + c = i(5976), + d = i(50187), + h = i(73910), + u = i(97781), + g = i(91847), + f = function (e, t) { + return function (i, n) { + t(i, n, e); + }; + }; + const p = new s.uy('renameInputVisible', !1); + let m = class { + constructor(e, t, i, n, r) { + (this._editor = e), + (this._acceptKeybindings = t), + (this._themeService = i), + (this._keybindingService = n), + (this._disposables = new c.SL()), + (this.allowEditorOverflow = !0), + (this._visibleContextKey = p.bindTo(r)), + this._editor.addContentWidget(this), + this._disposables.add( + this._editor.onDidChangeConfiguration((e) => { + e.hasChanged(36) && this._updateFont(); + }) + ), + this._disposables.add( + i.onDidColorThemeChange(this._updateStyles, this) + ); + } + dispose() { + this._disposables.dispose(), this._editor.removeContentWidget(this); + } + getId() { + return '__renameInputWidget'; + } + getDomNode() { + if (!this._domNode) { + (this._domNode = document.createElement('div')), + (this._domNode.className = 'monaco-editor rename-box'), + (this._input = document.createElement('input')), + (this._input.className = 'rename-input'), + (this._input.type = 'text'), + this._input.setAttribute( + 'aria-label', + (0, n.N)( + 'renameAriaLabel', + 'Rename input. Type new name and press Enter to commit.' + ) + ), + this._domNode.appendChild(this._input), + (this._label = document.createElement('div')), + (this._label.className = 'rename-label'), + this._domNode.appendChild(this._label); + const e = () => { + var e, t; + const [i, r] = this._acceptKeybindings; + this._keybindingService.lookupKeybinding(i), + (this._label.innerText = (0, n.N)( + { + key: 'label', + comment: [ + 'placeholders are keybindings, e.g "F2 to Rename, Shift+F2 to Preview"', + ], + }, + '{0} to Rename, {1} to Preview', + null === + (e = this._keybindingService.lookupKeybinding(i)) || + void 0 === e + ? void 0 + : e.getLabel(), + null === + (t = this._keybindingService.lookupKeybinding(r)) || + void 0 === t + ? void 0 + : t.getLabel() + )); + }; + e(), + this._disposables.add( + this._keybindingService.onDidUpdateKeybindings(e) + ), + this._updateFont(), + this._updateStyles(this._themeService.getColorTheme()); + } + return this._domNode; + } + _updateStyles(e) { + var t, i, n, r; + if (!this._input || !this._domNode) return; + const s = e.getColor(h.rh); + (this._domNode.style.backgroundColor = String( + null !== (t = e.getColor(h.D0)) && void 0 !== t ? t : '' + )), + (this._domNode.style.boxShadow = s ? ` 0 2px 8px ${s}` : ''), + (this._domNode.style.color = String( + null !== (i = e.getColor(h.zJ)) && void 0 !== i ? i : '' + )), + (this._input.style.backgroundColor = String( + null !== (n = e.getColor(h.sE)) && void 0 !== n ? n : '' + )); + const o = e.getColor(h.dt); + (this._input.style.borderWidth = o ? '1px' : '0px'), + (this._input.style.borderStyle = o ? 'solid' : 'none'), + (this._input.style.borderColor = + null !== (r = null == o ? void 0 : o.toString()) && void 0 !== r + ? r + : 'none'); + } + _updateFont() { + if (!this._input || !this._label) return; + const e = this._editor.getOption(36); + (this._input.style.fontFamily = e.fontFamily), + (this._input.style.fontWeight = e.fontWeight), + (this._input.style.fontSize = `${e.fontSize}px`), + (this._label.style.fontSize = 0.8 * e.fontSize + 'px'); + } + getPosition() { + return this._visible + ? { position: this._position, preference: [2, 1] } + : null; + } + acceptInput(e) { + this._currentAcceptInput && this._currentAcceptInput(e); + } + cancelInput(e) { + this._currentCancelInput && this._currentCancelInput(e); + } + getInput(e, t, i, n, r, s) { + this._domNode.classList.toggle('preview', r), + (this._position = new d.L(e.startLineNumber, e.startColumn)), + (this._input.value = t), + this._input.setAttribute('selectionStart', i.toString()), + this._input.setAttribute('selectionEnd', n.toString()), + (this._input.size = Math.max( + 1.1 * (e.endColumn - e.startColumn), + 20 + )); + const o = new c.SL(); + return new Promise((e) => { + (this._currentCancelInput = (t) => ( + (this._currentAcceptInput = void 0), + (this._currentCancelInput = void 0), + e(t), + !0 + )), + (this._currentAcceptInput = (i) => { + 0 !== this._input.value.trim().length && + this._input.value !== t + ? ((this._currentAcceptInput = void 0), + (this._currentCancelInput = void 0), + e({ newName: this._input.value, wantsPreview: r && i })) + : this.cancelInput(!0); + }), + s.onCancellationRequested(() => this.cancelInput(!0)), + o.add( + this._editor.onDidBlurEditorWidget(() => this.cancelInput(!1)) + ), + this._show(); + }).finally(() => { + o.dispose(), this._hide(); + }); + } + _show() { + this._editor.revealLineInCenterIfOutsideViewport( + this._position.lineNumber, + 0 + ), + (this._visible = !0), + this._visibleContextKey.set(!0), + this._editor.layoutContentWidget(this), + setTimeout(() => { + this._input.focus(), + this._input.setSelectionRange( + parseInt(this._input.getAttribute('selectionStart')), + parseInt(this._input.getAttribute('selectionEnd')) + ); + }, 100); + } + _hide() { + (this._visible = !1), + this._visibleContextKey.reset(), + this._editor.layoutContentWidget(this); + } + }; + m = (function (e, t, i, n) { + var r, + s = arguments.length, + o = + s < 3 + ? t + : null === n + ? (n = Object.getOwnPropertyDescriptor(t, i)) + : n; + if ( + 'object' == typeof Reflect && + 'function' == typeof Reflect.decorate + ) + o = Reflect.decorate(e, t, i, n); + else + for (var a = e.length - 1; a >= 0; a--) + (r = e[a]) && + (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); + return s > 3 && o && Object.defineProperty(t, i, o), o; + })([f(2, u.XE), f(3, g.d), f(4, s.i6)], m); + var _ = i(43775), + b = i(85152), + v = i(24314), + y = i(82276), + w = i(39925), + C = i(59422), + S = i(66007), + k = i(70666), + x = i(11640), + L = i(71050), + M = i(15393), + D = i(43557), + N = i(72065), + E = i(89872), + T = i(23193), + I = i(33187), + O = i(98401), + A = function (e, t) { + return function (i, n) { + t(i, n, e); + }; + }, + R = function (e, t, i, n) { + return new (i || (i = Promise))(function (r, s) { + function o(e) { + try { + l(n.next(e)); + } catch (e) { + s(e); + } + } + function a(e) { + try { + l(n.throw(e)); + } catch (e) { + s(e); + } + } + function l(e) { + var t; + e.done + ? r(e.value) + : ((t = e.value), + t instanceof i + ? t + : new i(function (e) { + e(t); + })).then(o, a); + } + l((n = n.apply(e, t || [])).next()); + }); + }; + class P { + constructor(e, t) { + (this.model = e), + (this.position = t), + (this._providerRenameIdx = 0), + (this._providers = _.G0.ordered(e)); + } + hasProvider() { + return this._providers.length > 0; + } + resolveRenameLocation(e) { + return R(this, void 0, void 0, function* () { + const t = []; + for ( + this._providerRenameIdx = 0; + this._providerRenameIdx < this._providers.length; + this._providerRenameIdx++ + ) { + const i = this._providers[this._providerRenameIdx]; + if (!i.resolveRenameLocation) break; + let n = yield i.resolveRenameLocation( + this.model, + this.position, + e + ); + if (n) { + if (!n.rejectReason) return n; + t.push(n.rejectReason); + } + } + const i = this.model.getWordAtPosition(this.position); + return i + ? { + range: new v.e( + this.position.lineNumber, + i.startColumn, + this.position.lineNumber, + i.endColumn + ), + text: i.word, + rejectReason: t.length > 0 ? t.join('\n') : void 0, + } + : { + range: v.e.fromPositions(this.position), + text: '', + rejectReason: t.length > 0 ? t.join('\n') : void 0, + }; + }); + } + provideRenameEdits(e, t) { + return R(this, void 0, void 0, function* () { + return this._provideRenameEdits( + e, + this._providerRenameIdx, + [], + t + ); + }); + } + _provideRenameEdits(e, t, i, r) { + return R(this, void 0, void 0, function* () { + const s = this._providers[t]; + if (!s) return { edits: [], rejectReason: i.join('\n') }; + const o = yield s.provideRenameEdits( + this.model, + this.position, + e, + r + ); + return o + ? o.rejectReason + ? this._provideRenameEdits( + e, + t + 1, + i.concat(o.rejectReason), + r + ) + : o + : this._provideRenameEdits( + e, + t + 1, + i.concat(n.N('no result', 'No result.')), + r + ); + }); + } + } + function F(e, t, i) { + return R(this, void 0, void 0, function* () { + const n = new P(e, t), + r = yield n.resolveRenameLocation(L.T.None); + return (null == r ? void 0 : r.rejectReason) + ? { edits: [], rejectReason: r.rejectReason } + : n.provideRenameEdits(i, L.T.None); + }); + } + let B = class e { + constructor(e, t, i, n, r, s, o) { + (this.editor = e), + (this._instaService = t), + (this._notificationService = i), + (this._bulkEditService = n), + (this._progressService = r), + (this._logService = s), + (this._configService = o), + (this._dispoableStore = new c.SL()), + (this._cts = new L.A()), + (this._renameInputField = this._dispoableStore.add( + new M.Ue(() => + this._dispoableStore.add( + this._instaService.createInstance(m, this.editor, [ + 'acceptRenameInput', + 'acceptRenameInputWithPreview', + ]) + ) + ) + )); + } + static get(t) { + return t.getContribution(e.ID); + } + dispose() { + this._dispoableStore.dispose(), this._cts.dispose(!0); + } + run() { + return R(this, void 0, void 0, function* () { + if ((this._cts.dispose(!0), !this.editor.hasModel())) return; + const e = this.editor.getPosition(), + t = new P(this.editor.getModel(), e); + if (!t.hasProvider()) return; + let i; + this._cts = new w.Dl(this.editor, 5); + try { + const e = t.resolveRenameLocation(this._cts.token); + this._progressService.showWhile(e, 250), (i = yield e); + } catch (t) { + return void y.O.get(this.editor).showMessage( + t || + n.N( + 'resolveRenameLocationFailed', + 'An unknown error occurred while resolving rename location' + ), + e + ); + } + if (!i) return; + if (i.rejectReason) + return void y.O.get(this.editor).showMessage(i.rejectReason, e); + if (this._cts.token.isCancellationRequested) return; + this._cts.dispose(), + (this._cts = new w.Dl(this.editor, 5, i.range)); + let r = this.editor.getSelection(), + s = 0, + o = i.text.length; + v.e.isEmpty(r) || + v.e.spansMultipleLines(r) || + !v.e.containsRange(i.range, r) || + ((s = Math.max(0, r.startColumn - i.range.startColumn)), + (o = + Math.min(i.range.endColumn, r.endColumn) - + i.range.startColumn)); + const a = + this._bulkEditService.hasPreviewHandler() && + this._configService.getValue( + this.editor.getModel().uri, + 'editor.rename.enablePreview' + ), + l = yield this._renameInputField.value.getInput( + i.range, + i.text, + s, + o, + a, + this._cts.token + ); + if ('boolean' == typeof l) return void (l && this.editor.focus()); + this.editor.focus(); + const c = (0, M.eP)( + t.provideRenameEdits(l.newName, this._cts.token), + this._cts.token + ).then( + (e) => + R(this, void 0, void 0, function* () { + e && + this.editor.hasModel() && + (e.rejectReason + ? this._notificationService.info(e.rejectReason) + : this._bulkEditService + .apply(S.fo.convert(e), { + editor: this.editor, + showPreview: l.wantsPreview, + label: n.N( + 'label', + "Renaming '{0}'", + null == i ? void 0 : i.text + ), + quotableLabel: n.N( + 'quotableLabel', + 'Renaming {0}', + null == i ? void 0 : i.text + ), + }) + .then((e) => { + e.ariaSummary && + (0, b.Z9)( + n.N( + 'aria', + "Successfully renamed '{0}' to '{1}'. Summary: {2}", + i.text, + l.newName, + e.ariaSummary + ) + ); + }) + .catch((e) => { + this._notificationService.error( + n.N( + 'rename.failedApply', + 'Rename failed to apply edits' + ) + ), + this._logService.error(e); + })); + }), + (e) => { + this._notificationService.error( + n.N('rename.failed', 'Rename failed to compute edits') + ), + this._logService.error(e); + } + ); + return this._progressService.showWhile(c, 250), c; + }); + } + acceptRenameInput(e) { + this._renameInputField.value.acceptInput(e); + } + cancelRenameInput() { + this._renameInputField.value.cancelInput(!0); + } + }; + (B.ID = 'editor.contrib.renameController'), + (B = (function (e, t, i, n) { + var r, + s = arguments.length, + o = + s < 3 + ? t + : null === n + ? (n = Object.getOwnPropertyDescriptor(t, i)) + : n; + if ( + 'object' == typeof Reflect && + 'function' == typeof Reflect.decorate + ) + o = Reflect.decorate(e, t, i, n); + else + for (var a = e.length - 1; a >= 0; a--) + (r = e[a]) && + (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); + return s > 3 && o && Object.defineProperty(t, i, o), o; + })( + [ + A(1, N.TG), + A(2, C.lT), + A(3, S.vu), + A(4, o.e), + A(5, D.VZ), + A(6, I.V), + ], + B + )); + class W extends a.R6 { + constructor() { + super({ + id: 'editor.action.rename', + label: n.N('rename.label', 'Rename Symbol'), + alias: 'Rename Symbol', + precondition: s.Ao.and(l.u.writable, l.u.hasRenameProvider), + kbOpts: { kbExpr: l.u.editorTextFocus, primary: 60, weight: 100 }, + contextMenuOpts: { group: '1_modification', order: 1.1 }, + }); + } + runCommand(e, t) { + const i = e.get(x.$), + [n, s] = (Array.isArray(t) && t) || [void 0, void 0]; + return k.o.isUri(n) && d.L.isIPosition(s) + ? i + .openCodeEditor({ resource: n }, i.getActiveCodeEditor()) + .then((e) => { + e && + (e.setPosition(s), + e.invokeWithinContext( + (t) => (this.reportTelemetry(t, e), this.run(t, e)) + )); + }, r.dL) + : super.runCommand(e, t); + } + run(e, t) { + const i = B.get(t); + return i ? i.run() : Promise.resolve(); + } + } + (0, a._K)(B.ID, B), (0, a.Qr)(W); + const Y = a._l.bindToContribution(B.get); + (0, a.fK)( + new Y({ + id: 'acceptRenameInput', + precondition: p, + handler: (e) => e.acceptRenameInput(!1), + kbOpts: { weight: 199, kbExpr: l.u.focus, primary: 3 }, + }) + ), + (0, a.fK)( + new Y({ + id: 'acceptRenameInputWithPreview', + precondition: s.Ao.and( + p, + s.Ao.has('config.editor.rename.enablePreview') + ), + handler: (e) => e.acceptRenameInput(!0), + kbOpts: { weight: 199, kbExpr: l.u.focus, primary: 1027 }, + }) + ), + (0, a.fK)( + new Y({ + id: 'cancelRenameInput', + precondition: p, + handler: (e) => e.cancelRenameInput(), + kbOpts: { + weight: 199, + kbExpr: l.u.focus, + primary: 9, + secondary: [1033], + }, + }) + ), + (0, a.sb)('_executeDocumentRenameProvider', function (e, t, ...i) { + const [n] = i; + return (0, O.p_)('string' == typeof n), F(e, t, n); + }), + E.B.as(T.IP.Configuration).registerConfiguration({ + id: 'editor', + properties: { + 'editor.rename.enablePreview': { + scope: 5, + description: n.N( + 'enablePreview', + 'Enable/disable the ability to preview changes before renaming' + ), + default: !0, + type: 'boolean', + }, + }, + }); + }, + 80689: (e, t, i) => { + 'use strict'; + i.d(t, { x: () => o }); + var n = i(50187), + r = i(24314), + s = i(91741); + class o { + provideSelectionRanges(e, t) { + return ( + (i = this), + (n = void 0), + (s = function* () { + const i = []; + for (const n of t) { + const t = []; + i.push(t); + const r = new Map(); + yield new Promise((t) => + o._bracketsRightYield(t, 0, e, n, r) + ), + yield new Promise((i) => + o._bracketsLeftYield(i, 0, e, n, r, t) + ); + } + return i; + }), + new ((r = void 0) || (r = Promise))(function (e, t) { + function o(e) { + try { + l(s.next(e)); + } catch (e) { + t(e); + } + } + function a(e) { + try { + l(s.throw(e)); + } catch (e) { + t(e); + } + } + function l(t) { + var i; + t.done + ? e(t.value) + : ((i = t.value), + i instanceof r + ? i + : new r(function (e) { + e(i); + })).then(o, a); + } + l((s = s.apply(i, n || [])).next()); + }) + ); + var i, n, r, s; + } + static _bracketsRightYield(e, t, i, n, r) { + const a = new Map(), + l = Date.now(); + for (;;) { + if (t >= o._maxRounds) { + e(); + break; + } + if (!n) { + e(); + break; + } + let c = i.findNextBracket(n); + if (!c) { + e(); + break; + } + if (Date.now() - l > o._maxDuration) { + setTimeout(() => o._bracketsRightYield(e, t + 1, i, n, r)); + break; + } + const d = c.close[0]; + if (c.isOpen) { + let e = a.has(d) ? a.get(d) : 0; + a.set(d, e + 1); + } else { + let e = a.has(d) ? a.get(d) : 0; + if (((e -= 1), a.set(d, Math.max(0, e)), e < 0)) { + let e = r.get(d); + e || ((e = new s.S()), r.set(d, e)), e.push(c.range); + } + } + n = c.range.getEndPosition(); + } + } + static _bracketsLeftYield(e, t, i, n, s, a) { + const l = new Map(), + c = Date.now(); + for (;;) { + if (t >= o._maxRounds && 0 === s.size) { + e(); + break; + } + if (!n) { + e(); + break; + } + let d = i.findPrevBracket(n); + if (!d) { + e(); + break; + } + if (Date.now() - c > o._maxDuration) { + setTimeout(() => o._bracketsLeftYield(e, t + 1, i, n, s, a)); + break; + } + const h = d.close[0]; + if (d.isOpen) { + let e = l.has(h) ? l.get(h) : 0; + if (((e -= 1), l.set(h, Math.max(0, e)), e < 0)) { + let e = s.get(h); + if (e) { + let t = e.shift(); + 0 === e.size && s.delete(h); + const n = r.e.fromPositions( + d.range.getEndPosition(), + t.getStartPosition() + ), + l = r.e.fromPositions( + d.range.getStartPosition(), + t.getEndPosition() + ); + a.push({ range: n }), + a.push({ range: l }), + o._addBracketLeading(i, l, a); + } + } + } else { + let e = l.has(h) ? l.get(h) : 0; + l.set(h, e + 1); + } + n = d.range.getStartPosition(); + } + } + static _addBracketLeading(e, t, i) { + if (t.startLineNumber === t.endLineNumber) return; + const s = t.startLineNumber, + o = e.getLineFirstNonWhitespaceColumn(s); + 0 !== o && + o !== t.startColumn && + (i.push({ + range: r.e.fromPositions(new n.L(s, o), t.getEndPosition()), + }), + i.push({ + range: r.e.fromPositions(new n.L(s, 1), t.getEndPosition()), + })); + const a = s - 1; + if (a > 0) { + const s = e.getLineFirstNonWhitespaceColumn(a); + s === t.startColumn && + s !== e.getLineLastNonWhitespaceColumn(a) && + (i.push({ + range: r.e.fromPositions(new n.L(a, s), t.getEndPosition()), + }), + i.push({ + range: r.e.fromPositions(new n.L(a, 1), t.getEndPosition()), + })); + } + } + } + (o._maxDuration = 30), (o._maxRounds = 2); + }, + 81955: (e, t, i) => { + 'use strict'; + i.r(t), i.d(t, { provideSelectionRanges: () => w }); + var n = i(9488), + r = i(71050), + s = i(16830), + o = i(50187), + a = i(24314), + l = i(3860), + c = i(29102), + d = i(43775), + h = i(63580), + u = i(84144), + g = i(5976), + f = i(97295), + p = i(80689), + m = i(94565), + _ = i(17301); + class b { + constructor(e, t) { + (this.index = e), (this.ranges = t); + } + mov(e) { + let t = this.index + (e ? 1 : -1); + if (t < 0 || t >= this.ranges.length) return this; + const i = new b(t, this.ranges); + return i.ranges[t].equalsRange(this.ranges[this.index]) + ? i.mov(e) + : i; + } + } + class v { + constructor(e) { + (this._ignoreSelection = !1), (this._editor = e); + } + static get(e) { + return e.getContribution(v.ID); + } + dispose() { + (0, g.B9)(this._selectionListener); + } + run(e) { + if (!this._editor.hasModel()) return; + const t = this._editor.getSelections(), + i = this._editor.getModel(); + if (!d.AC.has(i)) return; + let s = Promise.resolve(void 0); + return ( + this._state || + (s = w( + i, + t.map((e) => e.getPosition()), + r.T.None + ).then((e) => { + if ( + n.Of(e) && + e.length === t.length && + this._editor.hasModel() && + n.fS(this._editor.getSelections(), t, (e, t) => + e.equalsSelection(t) + ) + ) { + for (let i = 0; i < e.length; i++) + (e[i] = e[i].filter( + (e) => + e.containsPosition(t[i].getStartPosition()) && + e.containsPosition(t[i].getEndPosition()) + )), + e[i].unshift(t[i]); + (this._state = e.map((e) => new b(0, e))), + (0, g.B9)(this._selectionListener), + (this._selectionListener = this._editor.onDidChangeCursorPosition( + () => { + this._ignoreSelection || + ((0, g.B9)(this._selectionListener), + (this._state = void 0)); + } + )); + } + })), + s.then(() => { + if (!this._state) return; + this._state = this._state.map((t) => t.mov(e)); + const t = this._state.map((e) => + l.Y.fromPositions( + e.ranges[e.index].getStartPosition(), + e.ranges[e.index].getEndPosition() + ) + ); + this._ignoreSelection = !0; + try { + this._editor.setSelections(t); + } finally { + this._ignoreSelection = !1; + } + }) + ); + } + } + v.ID = 'editor.contrib.smartSelectController'; + class y extends s.R6 { + constructor(e, t) { + super(t), (this._forward = e); + } + run(e, t) { + return ( + (i = this), + (n = void 0), + (s = function* () { + let e = v.get(t); + e && (yield e.run(this._forward)); + }), + new ((r = void 0) || (r = Promise))(function (e, t) { + function o(e) { + try { + l(s.next(e)); + } catch (e) { + t(e); + } + } + function a(e) { + try { + l(s.throw(e)); + } catch (e) { + t(e); + } + } + function l(t) { + var i; + t.done + ? e(t.value) + : ((i = t.value), + i instanceof r + ? i + : new r(function (e) { + e(i); + })).then(o, a); + } + l((s = s.apply(i, n || [])).next()); + }) + ); + var i, n, r, s; + } + } + function w(e, t, i) { + const r = d.AC.all(e); + 1 === r.length && r.unshift(new p.x()); + let s = [], + l = []; + for (const o of r) + s.push( + Promise.resolve(o.provideSelectionRanges(e, t, i)).then((e) => { + if (n.Of(e) && e.length === t.length) + for (let i = 0; i < t.length; i++) { + l[i] || (l[i] = []); + for (const n of e[i]) + a.e.isIRange(n.range) && + a.e.containsPosition(n.range, t[i]) && + l[i].push(a.e.lift(n.range)); + } + }, _.Cp) + ); + return Promise.all(s).then(() => + l.map((t) => { + if (0 === t.length) return []; + t.sort((e, t) => + o.L.isBefore(e.getStartPosition(), t.getStartPosition()) + ? 1 + : o.L.isBefore(t.getStartPosition(), e.getStartPosition()) || + o.L.isBefore(e.getEndPosition(), t.getEndPosition()) + ? -1 + : o.L.isBefore(t.getEndPosition(), e.getEndPosition()) + ? 1 + : 0 + ); + let i, + n = []; + for (const e of t) + (!i || (a.e.containsRange(e, i) && !a.e.equalsRange(e, i))) && + (n.push(e), (i = e)); + let r = [n[0]]; + for (let t = 1; t < n.length; t++) { + const i = n[t - 1], + s = n[t]; + if ( + s.startLineNumber !== i.startLineNumber || + s.endLineNumber !== i.endLineNumber + ) { + const t = new a.e( + i.startLineNumber, + e.getLineFirstNonWhitespaceColumn(i.startLineNumber), + i.endLineNumber, + e.getLineLastNonWhitespaceColumn(i.endLineNumber) + ); + t.containsRange(i) && + !t.equalsRange(i) && + s.containsRange(t) && + !s.equalsRange(t) && + r.push(t); + const n = new a.e( + i.startLineNumber, + 1, + i.endLineNumber, + e.getLineMaxColumn(i.endLineNumber) + ); + n.containsRange(i) && + !n.equalsRange(t) && + s.containsRange(n) && + !s.equalsRange(n) && + r.push(n); + } + r.push(s); + } + return r; + }) + ); + } + m.P.registerCommandAlias( + 'editor.action.smartSelect.grow', + 'editor.action.smartSelect.expand' + ), + (0, s._K)(v.ID, v), + (0, s.Qr)( + class extends y { + constructor() { + super(!0, { + id: 'editor.action.smartSelect.expand', + label: h.N('smartSelect.expand', 'Expand Selection'), + alias: 'Expand Selection', + precondition: void 0, + kbOpts: { + kbExpr: c.u.editorTextFocus, + primary: 1553, + mac: { primary: 3345, secondary: [1297] }, + weight: 100, + }, + menuOpts: { + menuId: u.eH.MenubarSelectionMenu, + group: '1_basic', + title: h.N( + { + key: 'miSmartSelectGrow', + comment: ['&& denotes a mnemonic'], + }, + '&&Expand Selection' + ), + order: 2, + }, + }); + } + } + ), + (0, s.Qr)( + class extends y { + constructor() { + super(!1, { + id: 'editor.action.smartSelect.shrink', + label: h.N('smartSelect.shrink', 'Shrink Selection'), + alias: 'Shrink Selection', + precondition: void 0, + kbOpts: { + kbExpr: c.u.editorTextFocus, + primary: 1551, + mac: { primary: 3343, secondary: [1295] }, + weight: 100, + }, + menuOpts: { + menuId: u.eH.MenubarSelectionMenu, + group: '1_basic', + title: h.N( + { + key: 'miSmartSelectShrink', + comment: ['&& denotes a mnemonic'], + }, + '&&Shrink Selection' + ), + order: 3, + }, + }); + } + } + ), + d.AC.register( + '*', + new (class { + provideSelectionRanges(e, t) { + const i = []; + for (const n of t) { + const t = []; + i.push(t), + this._addInWordRanges(t, e, n), + this._addWordRanges(t, e, n), + this._addWhitespaceLine(t, e, n), + t.push({ range: e.getFullModelRange() }); + } + return i; + } + _addInWordRanges(e, t, i) { + const n = t.getWordAtPosition(i); + if (!n) return; + let { word: r, startColumn: s } = n, + o = i.column - s, + l = o, + c = o, + d = 0; + for (; l >= 0; l--) { + let e = r.charCodeAt(l); + if (l !== o && (95 === e || 45 === e)) break; + if ((0, f.mK)(e) && (0, f.df)(d)) break; + d = e; + } + for (l += 1; c < r.length; c++) { + let e = r.charCodeAt(c); + if ((0, f.df)(e) && (0, f.mK)(d)) break; + if (95 === e || 45 === e) break; + d = e; + } + l < c && + e.push({ + range: new a.e(i.lineNumber, s + l, i.lineNumber, s + c), + }); + } + _addWordRanges(e, t, i) { + const n = t.getWordAtPosition(i); + n && + e.push({ + range: new a.e( + i.lineNumber, + n.startColumn, + i.lineNumber, + n.endColumn + ), + }); + } + _addWhitespaceLine(e, t, i) { + t.getLineLength(i.lineNumber) > 0 && + 0 === t.getLineFirstNonWhitespaceColumn(i.lineNumber) && + 0 === t.getLineLastNonWhitespaceColumn(i.lineNumber) && + e.push({ + range: new a.e( + i.lineNumber, + 1, + i.lineNumber, + t.getLineMaxColumn(i.lineNumber) + ), + }); + } + })() + ), + (0, s.f)('_executeSelectionRangeProvider', function (e, ...t) { + const [i] = t; + return w(e, i, r.T.None); + }); + }, + 78694: (e, t, i) => { + 'use strict'; + i.r(t), i.d(t, { SnippetController2: () => j }); + var n = i(5976), + r = i(16830), + s = i(24314), + o = i(3860), + a = i(29102), + l = i(79599), + c = i(38819), + d = i(43557), + h = i(9488), + u = i(97295), + g = i(69386), + f = i(3411), + p = i(40382), + m = i(72065), + _ = i(63472), + b = i(63580), + v = i(88721), + y = i(95935), + w = i(83831), + C = i(70666); + const S = 'code-workspace'; + function k(e) { + return e instanceof C.o; + } + var x = i(68843); + class L { + constructor(e) { + this._delegates = e; + } + resolve(e) { + for (const t of this._delegates) { + let i = t.resolve(e); + if (void 0 !== i) return i; + } + } + } + class M { + constructor(e, t, i, n) { + (this._model = e), + (this._selection = t), + (this._selectionIdx = i), + (this._overtypingCapturer = n); + } + resolve(e) { + const { name: t } = e; + if ('SELECTION' === t || 'TM_SELECTED_TEXT' === t) { + let t = this._model.getValueInRange(this._selection) || void 0, + i = + this._selection.startLineNumber !== + this._selection.endLineNumber; + if (!t && this._overtypingCapturer) { + const e = this._overtypingCapturer.getLastOvertypedInfo( + this._selectionIdx + ); + e && ((t = e.value), (i = e.multiline)); + } + if (t && i && e.snippet) { + const i = this._model.getLineContent( + this._selection.startLineNumber + ), + n = (0, u.V8)(i, 0, this._selection.startColumn - 1); + let r = n; + e.snippet.walk( + (t) => + t !== e && + (t instanceof _.xv && + (r = (0, u.V8)(t.value.split(/\r\n|\r|\n/).pop())), + !0) + ); + const s = (0, u.Mh)(r, n); + t = t.replace( + /(\r\n|\r|\n)(.*)/g, + (e, t, i) => `${t}${r.substr(s)}${i}` + ); + } + return t; + } + if ('TM_CURRENT_LINE' === t) + return this._model.getLineContent( + this._selection.positionLineNumber + ); + if ('TM_CURRENT_WORD' === t) { + const e = this._model.getWordAtPosition({ + lineNumber: this._selection.positionLineNumber, + column: this._selection.positionColumn, + }); + return (e && e.word) || void 0; + } + return 'TM_LINE_INDEX' === t + ? String(this._selection.positionLineNumber - 1) + : 'TM_LINE_NUMBER' === t + ? String(this._selection.positionLineNumber) + : void 0; + } + } + class D { + constructor(e, t) { + (this._labelService = e), (this._model = t); + } + resolve(e) { + const { name: t } = e; + if ('TM_FILENAME' === t) return v.EZ(this._model.uri.fsPath); + if ('TM_FILENAME_BASE' === t) { + const e = v.EZ(this._model.uri.fsPath), + t = e.lastIndexOf('.'); + return t <= 0 ? e : e.slice(0, t); + } + return 'TM_DIRECTORY' === t && this._labelService + ? '.' === v.XX(this._model.uri.fsPath) + ? '' + : this._labelService.getUriLabel((0, y.XX)(this._model.uri)) + : 'TM_FILEPATH' === t && this._labelService + ? this._labelService.getUriLabel(this._model.uri) + : void 0; + } + } + class N { + constructor(e, t, i, n) { + (this._readClipboardText = e), + (this._selectionIdx = t), + (this._selectionCount = i), + (this._spread = n); + } + resolve(e) { + if ('CLIPBOARD' !== e.name) return; + const t = this._readClipboardText(); + if (t) { + if (this._spread) { + const e = t.split(/\r\n|\n|\r/).filter((e) => !(0, u.m5)(e)); + if (e.length === this._selectionCount) + return e[this._selectionIdx]; + } + return t; + } + } + } + class E { + constructor(e, t) { + (this._model = e), (this._selection = t); + } + resolve(e) { + const { name: t } = e, + i = this._model.getLanguageIdAtPosition( + this._selection.selectionStartLineNumber, + this._selection.selectionStartColumn + ), + n = w.zu.getComments(i); + if (n) + return 'LINE_COMMENT' === t + ? n.lineCommentToken || void 0 + : 'BLOCK_COMMENT_START' === t + ? n.blockCommentStartToken || void 0 + : ('BLOCK_COMMENT_END' === t && n.blockCommentEndToken) || + void 0; + } + } + class T { + resolve(e) { + const { name: t } = e; + return 'CURRENT_YEAR' === t + ? String(new Date().getFullYear()) + : 'CURRENT_YEAR_SHORT' === t + ? String(new Date().getFullYear()).slice(-2) + : 'CURRENT_MONTH' === t + ? String(new Date().getMonth().valueOf() + 1).padStart(2, '0') + : 'CURRENT_DATE' === t + ? String(new Date().getDate().valueOf()).padStart(2, '0') + : 'CURRENT_HOUR' === t + ? String(new Date().getHours().valueOf()).padStart(2, '0') + : 'CURRENT_MINUTE' === t + ? String(new Date().getMinutes().valueOf()).padStart(2, '0') + : 'CURRENT_SECOND' === t + ? String(new Date().getSeconds().valueOf()).padStart(2, '0') + : 'CURRENT_DAY_NAME' === t + ? T.dayNames[new Date().getDay()] + : 'CURRENT_DAY_NAME_SHORT' === t + ? T.dayNamesShort[new Date().getDay()] + : 'CURRENT_MONTH_NAME' === t + ? T.monthNames[new Date().getMonth()] + : 'CURRENT_MONTH_NAME_SHORT' === t + ? T.monthNamesShort[new Date().getMonth()] + : 'CURRENT_SECONDS_UNIX' === t + ? String(Math.floor(Date.now() / 1e3)) + : void 0; + } + } + (T.dayNames = [ + b.N('Sunday', 'Sunday'), + b.N('Monday', 'Monday'), + b.N('Tuesday', 'Tuesday'), + b.N('Wednesday', 'Wednesday'), + b.N('Thursday', 'Thursday'), + b.N('Friday', 'Friday'), + b.N('Saturday', 'Saturday'), + ]), + (T.dayNamesShort = [ + b.N('SundayShort', 'Sun'), + b.N('MondayShort', 'Mon'), + b.N('TuesdayShort', 'Tue'), + b.N('WednesdayShort', 'Wed'), + b.N('ThursdayShort', 'Thu'), + b.N('FridayShort', 'Fri'), + b.N('SaturdayShort', 'Sat'), + ]), + (T.monthNames = [ + b.N('January', 'January'), + b.N('February', 'February'), + b.N('March', 'March'), + b.N('April', 'April'), + b.N('May', 'May'), + b.N('June', 'June'), + b.N('July', 'July'), + b.N('August', 'August'), + b.N('September', 'September'), + b.N('October', 'October'), + b.N('November', 'November'), + b.N('December', 'December'), + ]), + (T.monthNamesShort = [ + b.N('JanuaryShort', 'Jan'), + b.N('FebruaryShort', 'Feb'), + b.N('MarchShort', 'Mar'), + b.N('AprilShort', 'Apr'), + b.N('MayShort', 'May'), + b.N('JuneShort', 'Jun'), + b.N('JulyShort', 'Jul'), + b.N('AugustShort', 'Aug'), + b.N('SeptemberShort', 'Sep'), + b.N('OctoberShort', 'Oct'), + b.N('NovemberShort', 'Nov'), + b.N('DecemberShort', 'Dec'), + ]); + class I { + constructor(e) { + this._workspaceService = e; + } + resolve(e) { + if (!this._workspaceService) return; + const t = (function (e) { + return e.configuration + ? { configPath: e.configuration, id: e.id } + : 1 === e.folders.length + ? e.folders[0].uri + : void 0; + })(this._workspaceService.getWorkspace()); + return t + ? 'WORKSPACE_NAME' === e.name + ? this._resolveWorkspaceName(t) + : 'WORKSPACE_FOLDER' === e.name + ? this._resoveWorkspacePath(t) + : void 0 + : void 0; + } + _resolveWorkspaceName(e) { + if (k(e)) return v.EZ(e.path); + let t = v.EZ(e.configPath.path); + return ( + t.endsWith(S) && (t = t.substr(0, t.length - S.length - 1)), t + ); + } + _resoveWorkspacePath(e) { + if (k(e)) return (0, x.DT)(e.fsPath); + let t = v.EZ(e.configPath.path), + i = e.configPath.fsPath; + return ( + i.endsWith(t) && (i = i.substr(0, i.length - t.length - 1)), + i ? (0, x.DT)(i) : '/' + ); + } + } + class O { + resolve(e) { + const { name: t } = e; + return 'RANDOM' === t + ? Math.random().toString().slice(-6) + : 'RANDOM_HEX' === t + ? Math.random().toString(16).slice(-6) + : void 0; + } + } + var A = i(97781), + R = i(73910), + P = i(44349); + (0, A.Ic)((e, t) => { + function i(t) { + const i = e.getColor(t); + return i ? i.toString() : 'transparent'; + } + t.addRule( + `.monaco-editor .snippet-placeholder { background-color: ${i( + R.u2 + )}; outline-color: ${i(R.Pk)}; }` + ), + t.addRule( + `.monaco-editor .finish-snippet-placeholder { background-color: ${i( + R.I1 + )}; outline-color: ${i(R.U6)}; }` + ); + }); + class F { + constructor(e, t, i) { + (this._nestingLevel = 1), + (this._editor = e), + (this._snippet = t), + (this._offset = i), + (this._placeholderGroups = (0, h.vM)( + t.placeholders, + _.Vm.compareByIndex + )), + (this._placeholderGroupsIdx = -1); + } + dispose() { + this._placeholderDecorations && + this._editor.deltaDecorations( + [...this._placeholderDecorations.values()], + [] + ), + (this._placeholderGroups.length = 0); + } + _initDecorations() { + if (this._placeholderDecorations) return; + this._placeholderDecorations = new Map(); + const e = this._editor.getModel(); + this._editor.changeDecorations((t) => { + for (const i of this._snippet.placeholders) { + const n = this._snippet.offset(i), + r = this._snippet.fullLen(i), + o = s.e.fromPositions( + e.getPositionAt(this._offset + n), + e.getPositionAt(this._offset + n + r) + ), + a = i.isFinalTabstop + ? F._decor.inactiveFinal + : F._decor.inactive, + l = t.addDecoration(o, a); + this._placeholderDecorations.set(i, l); + } + }); + } + move(e) { + if (!this._editor.hasModel()) return []; + if ((this._initDecorations(), this._placeholderGroupsIdx >= 0)) { + let e = []; + for (const t of this._placeholderGroups[ + this._placeholderGroupsIdx + ]) + if (t.transform) { + const i = this._placeholderDecorations.get(t), + n = this._editor.getModel().getDecorationRange(i), + r = this._editor.getModel().getValueInRange(n); + e.push(g.h.replaceMove(n, t.transform.resolve(r))); + } + e.length > 0 && + this._editor.executeEdits('snippet.placeholderTransform', e); + } + let t = !1; + !0 === e && + this._placeholderGroupsIdx < this._placeholderGroups.length - 1 + ? ((this._placeholderGroupsIdx += 1), (t = !0)) + : !1 === e && + this._placeholderGroupsIdx > 0 && + ((this._placeholderGroupsIdx -= 1), (t = !0)); + const i = this._editor.getModel().changeDecorations((e) => { + const i = new Set(), + n = []; + for (const r of this._placeholderGroups[ + this._placeholderGroupsIdx + ]) { + const s = this._placeholderDecorations.get(r), + a = this._editor.getModel().getDecorationRange(s); + n.push( + new o.Y( + a.startLineNumber, + a.startColumn, + a.endLineNumber, + a.endColumn + ) + ), + (t = t && this._hasPlaceholderBeenCollapsed(r)), + e.changeDecorationOptions( + s, + r.isFinalTabstop ? F._decor.activeFinal : F._decor.active + ), + i.add(r); + for (const t of this._snippet.enclosingPlaceholders(r)) { + const n = this._placeholderDecorations.get(t); + e.changeDecorationOptions( + n, + t.isFinalTabstop ? F._decor.activeFinal : F._decor.active + ), + i.add(t); + } + } + for (const [t, n] of this._placeholderDecorations) + i.has(t) || + e.changeDecorationOptions( + n, + t.isFinalTabstop + ? F._decor.inactiveFinal + : F._decor.inactive + ); + return n; + }); + return t ? this.move(e) : null != i ? i : []; + } + _hasPlaceholderBeenCollapsed(e) { + let t = e; + for (; t; ) { + if (t instanceof _.Vm) { + const e = this._placeholderDecorations.get(t); + if ( + this._editor.getModel().getDecorationRange(e).isEmpty() && + t.toString().length > 0 + ) + return !0; + } + t = t.parent; + } + return !1; + } + get isAtFirstPlaceholder() { + return ( + this._placeholderGroupsIdx <= 0 || + 0 === this._placeholderGroups.length + ); + } + get isAtLastPlaceholder() { + return ( + this._placeholderGroupsIdx === this._placeholderGroups.length - 1 + ); + } + get hasPlaceholder() { + return this._snippet.placeholders.length > 0; + } + computePossibleSelections() { + const e = new Map(); + for (const t of this._placeholderGroups) { + let i; + for (const n of t) { + if (n.isFinalTabstop) break; + i || ((i = []), e.set(n.index, i)); + const t = this._placeholderDecorations.get(n), + r = this._editor.getModel().getDecorationRange(t); + if (!r) { + e.delete(n.index); + break; + } + i.push(r); + } + } + return e; + } + get choice() { + return this._placeholderGroups[this._placeholderGroupsIdx][0] + .choice; + } + merge(e) { + const t = this._editor.getModel(); + (this._nestingLevel *= 10), + this._editor.changeDecorations((i) => { + for (const n of this._placeholderGroups[ + this._placeholderGroupsIdx + ]) { + const r = e.shift(); + console.assert(!r._placeholderDecorations); + const o = r._snippet.placeholderInfo.last.index; + for (const e of r._snippet.placeholderInfo.all) + e.isFinalTabstop + ? (e.index = n.index + (o + 1) / this._nestingLevel) + : (e.index = n.index + e.index / this._nestingLevel); + this._snippet.replace(n, r._snippet.children); + const a = this._placeholderDecorations.get(n); + i.removeDecoration(a), this._placeholderDecorations.delete(n); + for (const e of r._snippet.placeholders) { + const n = r._snippet.offset(e), + o = r._snippet.fullLen(e), + a = s.e.fromPositions( + t.getPositionAt(r._offset + n), + t.getPositionAt(r._offset + n + o) + ), + l = i.addDecoration(a, F._decor.inactive); + this._placeholderDecorations.set(e, l); + } + } + this._placeholderGroups = (0, h.vM)( + this._snippet.placeholders, + _.Vm.compareByIndex + ); + }); + } + } + F._decor = { + active: f.qx.register({ + stickiness: 0, + className: 'snippet-placeholder', + }), + inactive: f.qx.register({ + stickiness: 1, + className: 'snippet-placeholder', + }), + activeFinal: f.qx.register({ + stickiness: 1, + className: 'finish-snippet-placeholder', + }), + inactiveFinal: f.qx.register({ + stickiness: 1, + className: 'finish-snippet-placeholder', + }), + }; + const B = { + overwriteBefore: 0, + overwriteAfter: 0, + adjustWhitespace: !0, + clipboardText: void 0, + overtypingCapturer: void 0, + }; + class W { + constructor(e, t, i = B) { + (this._templateMerges = []), + (this._snippets = []), + (this._editor = e), + (this._template = t), + (this._options = i); + } + static adjustWhitespace(e, t, i, n, r) { + const s = e.getLineContent(t.lineNumber), + o = (0, u.V8)(s, 0, t.column - 1); + i.walk((t) => { + if (t instanceof _.xv && !(t.parent instanceof _.Lv)) { + const i = t.value.split(/\r\n|\r|\n/); + if (n) + for (let t = 1; t < i.length; t++) { + let n = (0, u.V8)(i[t]); + i[t] = + e.normalizeIndentation(o + n) + i[t].substr(n.length); + } + if (r) { + const n = i.join(e.getEOL()); + n !== t.value && t.parent.replace(t, [new _.xv(n)]); + } + } + return !0; + }); + } + static adjustSelection(e, t, i, n) { + if (0 !== i || 0 !== n) { + const { positionLineNumber: r, positionColumn: s } = t, + a = s - i, + l = s + n, + c = e.validateRange({ + startLineNumber: r, + startColumn: a, + endLineNumber: r, + endColumn: l, + }); + t = o.Y.createWithDirection( + c.startLineNumber, + c.startColumn, + c.endLineNumber, + c.endColumn, + t.getDirection() + ); + } + return t; + } + static createEditsAndSnippets(e, t, i, n, r, o, a, l) { + const c = [], + d = []; + if (!e.hasModel()) return { edits: c, snippets: d }; + const h = e.getModel(), + u = e.invokeWithinContext((e) => e.get(p.ec, m.jt)), + f = e.invokeWithinContext((e) => new D(e.get(P.e, m.jt), h)), + b = () => a; + let v = 0, + y = h.getValueInRange( + W.adjustSelection(h, e.getSelection(), i, 0) + ), + w = h.getValueInRange( + W.adjustSelection(h, e.getSelection(), 0, n) + ), + C = h.getLineFirstNonWhitespaceColumn( + e.getSelection().positionLineNumber + ); + const S = e + .getSelections() + .map((e, t) => ({ selection: e, idx: t })) + .sort((e, t) => + s.e.compareRangesUsingStarts(e.selection, t.selection) + ); + for (const { selection: s, idx: a } of S) { + let p = W.adjustSelection(h, s, i, 0), + m = W.adjustSelection(h, s, 0, n); + y !== h.getValueInRange(p) && (p = s), + w !== h.getValueInRange(m) && (m = s); + const k = s + .setStartPosition(p.startLineNumber, p.startColumn) + .setEndPosition(m.endLineNumber, m.endColumn), + x = new _.Yj().parse(t, !0, r), + D = k.getStartPosition(); + W.adjustWhitespace( + h, + D, + x, + o || + (a > 0 && + C !== + h.getLineFirstNonWhitespaceColumn(s.positionLineNumber)), + !0 + ), + x.resolveVariables( + new L([ + f, + new N(b, a, S.length, 'spread' === e.getOption(62)), + new M(h, s, a, l), + new E(h, s), + new T(), + new I(u), + new O(), + ]) + ); + const A = h.getOffsetAt(D) + v; + (v += x.toString().length - h.getValueLengthInRange(k)), + (c[a] = g.h.replace(k, x.toString())), + (c[a].identifier = { major: a, minor: 0 }), + (d[a] = new F(e, x, A)); + } + return { edits: c, snippets: d }; + } + dispose() { + (0, n.B9)(this._snippets); + } + _logInfo() { + return `template="${ + this._template + }", merged_templates="${this._templateMerges.join(' -> ')}"`; + } + insert() { + if (!this._editor.hasModel()) return; + const { edits: e, snippets: t } = W.createEditsAndSnippets( + this._editor, + this._template, + this._options.overwriteBefore, + this._options.overwriteAfter, + !1, + this._options.adjustWhitespace, + this._options.clipboardText, + this._options.overtypingCapturer + ); + (this._snippets = t), + this._editor.executeEdits('snippet', e, (e) => + this._snippets[0].hasPlaceholder + ? this._move(!0) + : e + .filter((e) => !!e.identifier) + .map((e) => o.Y.fromPositions(e.range.getEndPosition())) + ), + this._editor.revealRange(this._editor.getSelections()[0]); + } + merge(e, t = B) { + if (!this._editor.hasModel()) return; + this._templateMerges.push([ + this._snippets[0]._nestingLevel, + this._snippets[0]._placeholderGroupsIdx, + e, + ]); + const { edits: i, snippets: n } = W.createEditsAndSnippets( + this._editor, + e, + t.overwriteBefore, + t.overwriteAfter, + !0, + t.adjustWhitespace, + t.clipboardText, + t.overtypingCapturer + ); + this._editor.executeEdits('snippet', i, (e) => { + for (const e of this._snippets) e.merge(n); + return ( + console.assert(0 === n.length), + this._snippets[0].hasPlaceholder + ? this._move(void 0) + : e + .filter((e) => !!e.identifier) + .map((e) => o.Y.fromPositions(e.range.getEndPosition())) + ); + }); + } + next() { + const e = this._move(!0); + this._editor.setSelections(e), + this._editor.revealPositionInCenterIfOutsideViewport( + e[0].getPosition() + ); + } + prev() { + const e = this._move(!1); + this._editor.setSelections(e), + this._editor.revealPositionInCenterIfOutsideViewport( + e[0].getPosition() + ); + } + _move(e) { + const t = []; + for (const i of this._snippets) { + const n = i.move(e); + t.push(...n); + } + return t; + } + get isAtFirstPlaceholder() { + return this._snippets[0].isAtFirstPlaceholder; + } + get isAtLastPlaceholder() { + return this._snippets[0].isAtLastPlaceholder; + } + get hasPlaceholder() { + return this._snippets[0].hasPlaceholder; + } + get choice() { + return this._snippets[0].choice; + } + isSelectionWithinPlaceholders() { + if (!this.hasPlaceholder) return !1; + const e = this._editor.getSelections(); + if (e.length < this._snippets.length) return !1; + let t = new Map(); + for (const i of this._snippets) { + const n = i.computePossibleSelections(); + if (0 === t.size) + for (const [i, r] of n) { + r.sort(s.e.compareRangesUsingStarts); + for (const n of e) + if (r[0].containsRange(n)) { + t.set(i, []); + break; + } + } + if (0 === t.size) return !1; + t.forEach((e, t) => { + e.push(...n.get(t)); + }); + } + e.sort(s.e.compareRangesUsingStarts); + for (let [i, n] of t) + if (n.length === e.length) { + n.sort(s.e.compareRangesUsingStarts); + for (let r = 0; r < n.length; r++) + n[r].containsRange(e[r]) || t.delete(i); + } else t.delete(i); + return t.size > 0; + } + } + var Y = function (e, t) { + return function (i, n) { + t(i, n, e); + }; + }; + const H = { + overwriteBefore: 0, + overwriteAfter: 0, + undoStopBefore: !0, + undoStopAfter: !0, + adjustWhitespace: !0, + clipboardText: void 0, + overtypingCapturer: void 0, + }; + let j = class e { + constructor(t, i, r) { + (this._editor = t), + (this._logService = i), + (this._snippetListener = new n.SL()), + (this._modelVersionId = -1), + (this._inSnippet = e.InSnippetMode.bindTo(r)), + (this._hasNextTabstop = e.HasNextTabstop.bindTo(r)), + (this._hasPrevTabstop = e.HasPrevTabstop.bindTo(r)); + } + static get(t) { + return t.getContribution(e.ID); + } + dispose() { + this._inSnippet.reset(), + this._hasPrevTabstop.reset(), + this._hasNextTabstop.reset(), + (0, n.B9)(this._session), + this._snippetListener.dispose(); + } + insert(e, t) { + try { + this._doInsert( + e, + void 0 === t ? H : Object.assign(Object.assign({}, H), t) + ); + } catch (t) { + this.cancel(), + this._logService.error(t), + this._logService.error('snippet_error'), + this._logService.error('insert_template=', e), + this._logService.error( + 'existing_template=', + this._session ? this._session._logInfo() : '<no_session>' + ); + } + } + _doInsert(e, t) { + this._editor.hasModel() && + (this._snippetListener.clear(), + t.undoStopBefore && this._editor.getModel().pushStackElement(), + this._session + ? this._session.merge(e, t) + : ((this._modelVersionId = this._editor + .getModel() + .getAlternativeVersionId()), + (this._session = new W(this._editor, e, t)), + this._session.insert()), + t.undoStopAfter && this._editor.getModel().pushStackElement(), + this._updateState(), + this._snippetListener.add( + this._editor.onDidChangeModelContent( + (e) => e.isFlush && this.cancel() + ) + ), + this._snippetListener.add( + this._editor.onDidChangeModel(() => this.cancel()) + ), + this._snippetListener.add( + this._editor.onDidChangeCursorSelection(() => + this._updateState() + ) + )); + } + _updateState() { + if (this._session && this._editor.hasModel()) { + if ( + this._modelVersionId === + this._editor.getModel().getAlternativeVersionId() + ) + return this.cancel(); + if (!this._session.hasPlaceholder) return this.cancel(); + if ( + this._session.isAtLastPlaceholder || + !this._session.isSelectionWithinPlaceholders() + ) + return this.cancel(); + this._inSnippet.set(!0), + this._hasPrevTabstop.set(!this._session.isAtFirstPlaceholder), + this._hasNextTabstop.set(!this._session.isAtLastPlaceholder), + this._handleChoice(); + } + } + _handleChoice() { + if (!this._session || !this._editor.hasModel()) + return void (this._currentChoice = void 0); + const { choice: e } = this._session; + if (e) { + if (this._currentChoice !== e) { + (this._currentChoice = e), + this._editor.setSelections( + this._editor + .getSelections() + .map((e) => o.Y.fromPositions(e.getStartPosition())) + ); + const [t] = e.options; + (0, l.i5)( + this._editor, + e.options.map((e, i) => ({ + kind: 13, + label: e.value, + insertText: e.value, + sortText: 'a'.repeat(i + 1), + range: s.e.fromPositions( + this._editor.getPosition(), + this._editor.getPosition().delta(0, t.value.length) + ), + })) + ); + } + } else this._currentChoice = void 0; + } + finish() { + for (; this._inSnippet.get(); ) this.next(); + } + cancel(e = !1) { + this._inSnippet.reset(), + this._hasPrevTabstop.reset(), + this._hasNextTabstop.reset(), + this._snippetListener.clear(), + (0, n.B9)(this._session), + (this._session = void 0), + (this._modelVersionId = -1), + e && this._editor.setSelections([this._editor.getSelection()]); + } + prev() { + this._session && this._session.prev(), this._updateState(); + } + next() { + this._session && this._session.next(), this._updateState(); + } + isInSnippet() { + return Boolean(this._inSnippet.get()); + } + }; + (j.ID = 'snippetController2'), + (j.InSnippetMode = new c.uy('inSnippetMode', !1)), + (j.HasNextTabstop = new c.uy('hasNextTabstop', !1)), + (j.HasPrevTabstop = new c.uy('hasPrevTabstop', !1)), + (j = (function (e, t, i, n) { + var r, + s = arguments.length, + o = + s < 3 + ? t + : null === n + ? (n = Object.getOwnPropertyDescriptor(t, i)) + : n; + if ( + 'object' == typeof Reflect && + 'function' == typeof Reflect.decorate + ) + o = Reflect.decorate(e, t, i, n); + else + for (var a = e.length - 1; a >= 0; a--) + (r = e[a]) && + (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); + return s > 3 && o && Object.defineProperty(t, i, o), o; + })([Y(1, d.VZ), Y(2, c.i6)], j)), + (0, r._K)(j.ID, j); + const V = r._l.bindToContribution(j.get); + (0, r.fK)( + new V({ + id: 'jumpToNextSnippetPlaceholder', + precondition: c.Ao.and(j.InSnippetMode, j.HasNextTabstop), + handler: (e) => e.next(), + kbOpts: { weight: 130, kbExpr: a.u.editorTextFocus, primary: 2 }, + }) + ), + (0, r.fK)( + new V({ + id: 'jumpToPrevSnippetPlaceholder', + precondition: c.Ao.and(j.InSnippetMode, j.HasPrevTabstop), + handler: (e) => e.prev(), + kbOpts: { + weight: 130, + kbExpr: a.u.editorTextFocus, + primary: 1026, + }, + }) + ), + (0, r.fK)( + new V({ + id: 'leaveSnippet', + precondition: j.InSnippetMode, + handler: (e) => e.cancel(!0), + kbOpts: { + weight: 130, + kbExpr: a.u.editorTextFocus, + primary: 9, + secondary: [1033], + }, + }) + ), + (0, r.fK)( + new V({ + id: 'acceptSnippet', + precondition: j.InSnippetMode, + handler: (e) => e.finish(), + }) + ); + }, + 63472: (e, t, i) => { + 'use strict'; + i.d(t, { xv: () => s, Vm: () => a, Lv: () => l, Yj: () => f }); + class n { + constructor() { + (this.value = ''), (this.pos = 0); + } + static isDigitCharacter(e) { + return e >= 48 && e <= 57; + } + static isVariableCharacter(e) { + return 95 === e || (e >= 97 && e <= 122) || (e >= 65 && e <= 90); + } + text(e) { + (this.value = e), (this.pos = 0); + } + tokenText(e) { + return this.value.substr(e.pos, e.len); + } + next() { + if (this.pos >= this.value.length) + return { type: 14, pos: this.pos, len: 0 }; + let e, + t = this.pos, + i = 0, + r = this.value.charCodeAt(t); + if (((e = n._table[r]), 'number' == typeof e)) + return (this.pos += 1), { type: e, pos: t, len: 1 }; + if (n.isDigitCharacter(r)) { + e = 8; + do { + (i += 1), (r = this.value.charCodeAt(t + i)); + } while (n.isDigitCharacter(r)); + return (this.pos += i), { type: e, pos: t, len: i }; + } + if (n.isVariableCharacter(r)) { + e = 9; + do { + r = this.value.charCodeAt(t + ++i); + } while (n.isVariableCharacter(r) || n.isDigitCharacter(r)); + return (this.pos += i), { type: e, pos: t, len: i }; + } + e = 10; + do { + (i += 1), (r = this.value.charCodeAt(t + i)); + } while ( + !isNaN(r) && + void 0 === n._table[r] && + !n.isDigitCharacter(r) && + !n.isVariableCharacter(r) + ); + return (this.pos += i), { type: e, pos: t, len: i }; + } + } + n._table = { + 36: 0, + 58: 1, + 44: 2, + 123: 3, + 125: 4, + 92: 5, + 47: 6, + 124: 7, + 43: 11, + 45: 12, + 63: 13, + }; + class r { + constructor() { + this._children = []; + } + appendChild(e) { + return ( + e instanceof s && + this._children[this._children.length - 1] instanceof s + ? (this._children[this._children.length - 1].value += e.value) + : ((e.parent = this), this._children.push(e)), + this + ); + } + replace(e, t) { + const { parent: i } = e, + n = i.children.indexOf(e), + r = i.children.slice(0); + r.splice(n, 1, ...t), + (i._children = r), + (function e(t, i) { + for (const n of t) (n.parent = i), e(n.children, n); + })(t, i); + } + get children() { + return this._children; + } + get snippet() { + let e = this; + for (;;) { + if (!e) return; + if (e instanceof g) return e; + e = e.parent; + } + } + toString() { + return this.children.reduce((e, t) => e + t.toString(), ''); + } + len() { + return 0; + } + } + class s extends r { + constructor(e) { + super(), (this.value = e); + } + toString() { + return this.value; + } + len() { + return this.value.length; + } + clone() { + return new s(this.value); + } + } + class o extends r {} + class a extends o { + constructor(e) { + super(), (this.index = e); + } + static compareByIndex(e, t) { + return e.index === t.index + ? 0 + : e.isFinalTabstop + ? 1 + : t.isFinalTabstop || e.index < t.index + ? -1 + : e.index > t.index + ? 1 + : 0; + } + get isFinalTabstop() { + return 0 === this.index; + } + get choice() { + return 1 === this._children.length && this._children[0] instanceof l + ? this._children[0] + : void 0; + } + clone() { + let e = new a(this.index); + return ( + this.transform && (e.transform = this.transform.clone()), + (e._children = this.children.map((e) => e.clone())), + e + ); + } + } + class l extends r { + constructor() { + super(...arguments), (this.options = []); + } + appendChild(e) { + return ( + e instanceof s && ((e.parent = this), this.options.push(e)), this + ); + } + toString() { + return this.options[0].value; + } + len() { + return this.options[0].len(); + } + clone() { + let e = new l(); + return this.options.forEach(e.appendChild, e), e; + } + } + class c extends r { + constructor() { + super(...arguments), (this.regexp = new RegExp('')); + } + resolve(e) { + const t = this; + let i = !1, + n = e.replace(this.regexp, function () { + return ( + (i = !0), + t._replace(Array.prototype.slice.call(arguments, 0, -2)) + ); + }); + return ( + !i && + this._children.some( + (e) => e instanceof d && Boolean(e.elseValue) + ) && + (n = this._replace([])), + n + ); + } + _replace(e) { + let t = ''; + for (const i of this._children) + if (i instanceof d) { + let n = e[i.index] || ''; + (n = i.resolve(n)), (t += n); + } else t += i.toString(); + return t; + } + toString() { + return ''; + } + clone() { + let e = new c(); + return ( + (e.regexp = new RegExp( + this.regexp.source, + (this.regexp.ignoreCase ? 'i' : '') + + (this.regexp.global ? 'g' : '') + )), + (e._children = this.children.map((e) => e.clone())), + e + ); + } + } + class d extends r { + constructor(e, t, i, n) { + super(), + (this.index = e), + (this.shorthandName = t), + (this.ifValue = i), + (this.elseValue = n); + } + resolve(e) { + return 'upcase' === this.shorthandName + ? e + ? e.toLocaleUpperCase() + : '' + : 'downcase' === this.shorthandName + ? e + ? e.toLocaleLowerCase() + : '' + : 'capitalize' === this.shorthandName + ? e + ? e[0].toLocaleUpperCase() + e.substr(1) + : '' + : 'pascalcase' === this.shorthandName + ? e + ? this._toPascalCase(e) + : '' + : Boolean(e) && 'string' == typeof this.ifValue + ? this.ifValue + : Boolean(e) || 'string' != typeof this.elseValue + ? e || '' + : this.elseValue; + } + _toPascalCase(e) { + const t = e.match(/[a-z]+/gi); + return t + ? t + .map(function (e) { + return ( + e.charAt(0).toUpperCase() + e.substr(1).toLowerCase() + ); + }) + .join('') + : e; + } + clone() { + return new d( + this.index, + this.shorthandName, + this.ifValue, + this.elseValue + ); + } + } + class h extends o { + constructor(e) { + super(), (this.name = e); + } + resolve(e) { + let t = e.resolve(this); + return ( + this.transform && (t = this.transform.resolve(t || '')), + void 0 !== t && ((this._children = [new s(t)]), !0) + ); + } + clone() { + const e = new h(this.name); + return ( + this.transform && (e.transform = this.transform.clone()), + (e._children = this.children.map((e) => e.clone())), + e + ); + } + } + function u(e, t) { + const i = [...e]; + for (; i.length > 0; ) { + const e = i.shift(); + if (!t(e)) break; + i.unshift(...e.children); + } + } + class g extends r { + get placeholderInfo() { + if (!this._placeholders) { + let e, + t = []; + this.walk(function (i) { + return ( + i instanceof a && + (t.push(i), (e = !e || e.index < i.index ? i : e)), + !0 + ); + }), + (this._placeholders = { all: t, last: e }); + } + return this._placeholders; + } + get placeholders() { + const { all: e } = this.placeholderInfo; + return e; + } + offset(e) { + let t = 0, + i = !1; + return ( + this.walk((n) => + n === e ? ((i = !0), !1) : ((t += n.len()), !0) + ), + i ? t : -1 + ); + } + fullLen(e) { + let t = 0; + return u([e], (e) => ((t += e.len()), !0)), t; + } + enclosingPlaceholders(e) { + let t = [], + { parent: i } = e; + for (; i; ) i instanceof a && t.push(i), (i = i.parent); + return t; + } + resolveVariables(e) { + return ( + this.walk( + (t) => ( + t instanceof h && + t.resolve(e) && + (this._placeholders = void 0), + !0 + ) + ), + this + ); + } + appendChild(e) { + return (this._placeholders = void 0), super.appendChild(e); + } + replace(e, t) { + return (this._placeholders = void 0), super.replace(e, t); + } + clone() { + let e = new g(); + return (this._children = this.children.map((e) => e.clone())), e; + } + walk(e) { + u(this.children, e); + } + } + class f { + constructor() { + (this._scanner = new n()), + (this._token = { type: 14, pos: 0, len: 0 }); + } + static escape(e) { + return e.replace(/\$|}|\\/g, '\\$&'); + } + static guessNeedsClipboard(e) { + return /\${?CLIPBOARD/.test(e); + } + parse(e, t, i) { + this._scanner.text(e), (this._token = this._scanner.next()); + const n = new g(); + for (; this._parse(n); ); + const r = new Map(), + s = []; + let o = 0; + n.walk( + (e) => ( + e instanceof a && + ((o += 1), + e.isFinalTabstop + ? r.set(0, void 0) + : !r.has(e.index) && e.children.length > 0 + ? r.set(e.index, e.children) + : s.push(e)), + !0 + ) + ); + for (const e of s) { + const t = r.get(e.index); + if (t) { + const i = new a(e.index); + i.transform = e.transform; + for (const e of t) i.appendChild(e.clone()); + n.replace(e, [i]); + } + } + return ( + i || (i = o > 0 && t), + !r.has(0) && i && n.appendChild(new a(0)), + n + ); + } + _accept(e, t) { + if (void 0 === e || this._token.type === e) { + let e = !t || this._scanner.tokenText(this._token); + return (this._token = this._scanner.next()), e; + } + return !1; + } + _backTo(e) { + return (this._scanner.pos = e.pos + e.len), (this._token = e), !1; + } + _until(e) { + const t = this._token; + for (; this._token.type !== e; ) { + if (14 === this._token.type) return !1; + if (5 === this._token.type) { + const e = this._scanner.next(); + if (0 !== e.type && 4 !== e.type && 5 !== e.type) return !1; + } + this._token = this._scanner.next(); + } + const i = this._scanner.value + .substring(t.pos, this._token.pos) + .replace(/\\(\$|}|\\)/g, '$1'); + return (this._token = this._scanner.next()), i; + } + _parse(e) { + return ( + this._parseEscaped(e) || + this._parseTabstopOrVariableName(e) || + this._parseComplexPlaceholder(e) || + this._parseComplexVariable(e) || + this._parseAnything(e) + ); + } + _parseEscaped(e) { + let t; + return ( + !!(t = this._accept(5, !0)) && + ((t = + this._accept(0, !0) || + this._accept(4, !0) || + this._accept(5, !0) || + t), + e.appendChild(new s(t)), + !0) + ); + } + _parseTabstopOrVariableName(e) { + let t; + const i = this._token; + return this._accept(0) && + (t = this._accept(9, !0) || this._accept(8, !0)) + ? (e.appendChild(/^\d+$/.test(t) ? new a(Number(t)) : new h(t)), + !0) + : this._backTo(i); + } + _parseComplexPlaceholder(e) { + let t; + const i = this._token; + if ( + !(this._accept(0) && this._accept(3) && (t = this._accept(8, !0))) + ) + return this._backTo(i); + const n = new a(Number(t)); + if (this._accept(1)) + for (;;) { + if (this._accept(4)) return e.appendChild(n), !0; + if (!this._parse(n)) + return ( + e.appendChild(new s('${' + t + ':')), + n.children.forEach(e.appendChild, e), + !0 + ); + } + else { + if (!(n.index > 0 && this._accept(7))) + return this._accept(6) + ? this._parseTransform(n) + ? (e.appendChild(n), !0) + : (this._backTo(i), !1) + : this._accept(4) + ? (e.appendChild(n), !0) + : this._backTo(i); + { + const t = new l(); + for (;;) { + if (this._parseChoiceElement(t)) { + if (this._accept(2)) continue; + if (this._accept(7) && (n.appendChild(t), this._accept(4))) + return e.appendChild(n), !0; + } + return this._backTo(i), !1; + } + } + } + } + _parseChoiceElement(e) { + const t = this._token, + i = []; + for (; 2 !== this._token.type && 7 !== this._token.type; ) { + let e; + if ( + ((e = (e = this._accept(5, !0)) + ? this._accept(2, !0) || + this._accept(7, !0) || + this._accept(5, !0) || + e + : this._accept(void 0, !0)), + !e) + ) + return this._backTo(t), !1; + i.push(e); + } + return 0 === i.length + ? (this._backTo(t), !1) + : (e.appendChild(new s(i.join(''))), !0); + } + _parseComplexVariable(e) { + let t; + const i = this._token; + if ( + !(this._accept(0) && this._accept(3) && (t = this._accept(9, !0))) + ) + return this._backTo(i); + const n = new h(t); + if (!this._accept(1)) + return this._accept(6) + ? this._parseTransform(n) + ? (e.appendChild(n), !0) + : (this._backTo(i), !1) + : this._accept(4) + ? (e.appendChild(n), !0) + : this._backTo(i); + for (;;) { + if (this._accept(4)) return e.appendChild(n), !0; + if (!this._parse(n)) + return ( + e.appendChild(new s('${' + t + ':')), + n.children.forEach(e.appendChild, e), + !0 + ); + } + } + _parseTransform(e) { + let t = new c(), + i = '', + n = ''; + for (; !this._accept(6); ) { + let e; + if ((e = this._accept(5, !0))) + (e = this._accept(6, !0) || e), (i += e); + else { + if (14 === this._token.type) return !1; + i += this._accept(void 0, !0); + } + } + for (; !this._accept(6); ) { + let e; + if ((e = this._accept(5, !0))) + (e = this._accept(5, !0) || this._accept(6, !0) || e), + t.appendChild(new s(e)); + else if (!this._parseFormatString(t) && !this._parseAnything(t)) + return !1; + } + for (; !this._accept(4); ) { + if (14 === this._token.type) return !1; + n += this._accept(void 0, !0); + } + try { + t.regexp = new RegExp(i, n); + } catch (e) { + return !1; + } + return (e.transform = t), !0; + } + _parseFormatString(e) { + const t = this._token; + if (!this._accept(0)) return !1; + let i = !1; + this._accept(3) && (i = !0); + let n = this._accept(8, !0); + if (!n) return this._backTo(t), !1; + if (!i) return e.appendChild(new d(Number(n))), !0; + if (this._accept(4)) return e.appendChild(new d(Number(n))), !0; + if (!this._accept(1)) return this._backTo(t), !1; + if (this._accept(6)) { + let i = this._accept(9, !0); + return i && this._accept(4) + ? (e.appendChild(new d(Number(n), i)), !0) + : (this._backTo(t), !1); + } + if (this._accept(11)) { + let t = this._until(4); + if (t) + return e.appendChild(new d(Number(n), void 0, t, void 0)), !0; + } else if (this._accept(12)) { + let t = this._until(4); + if (t) + return e.appendChild(new d(Number(n), void 0, void 0, t)), !0; + } else if (this._accept(13)) { + let t = this._until(1); + if (t) { + let i = this._until(4); + if (i) return e.appendChild(new d(Number(n), void 0, t, i)), !0; + } + } else { + let t = this._until(4); + if (t) + return e.appendChild(new d(Number(n), void 0, void 0, t)), !0; + } + return this._backTo(t), !1; + } + _parseAnything(e) { + return ( + 14 !== this._token.type && + (e.appendChild(new s(this._scanner.tokenText(this._token))), + this._accept(void 0), + !0) + ); + } + } + }, + 79599: (e, t, i) => { + 'use strict'; + i.d(t, { + _y: () => p, + GI: () => m, + A9: () => b, + ZJ: () => v, + kL: () => w, + wg: () => k, + i5: () => L, + }); + var n = i(17301), + r = i(16830), + s = i(43775), + o = i(50187), + a = i(38819), + l = i(71050), + c = i(24314), + d = i(75392), + h = i(5976), + u = i(84144), + g = i(63472), + f = function (e, t, i, n) { + return new (i || (i = Promise))(function (r, s) { + function o(e) { + try { + l(n.next(e)); + } catch (e) { + s(e); + } + } + function a(e) { + try { + l(n.throw(e)); + } catch (e) { + s(e); + } + } + function l(e) { + var t; + e.done + ? r(e.value) + : ((t = e.value), + t instanceof i + ? t + : new i(function (e) { + e(t); + })).then(o, a); + } + l((n = n.apply(e, t || [])).next()); + }); + }; + const p = { + Visible: new a.uy('suggestWidgetVisible', !1), + DetailsVisible: new a.uy('suggestWidgetDetailsVisible', !1), + MultipleSuggestions: new a.uy( + 'suggestWidgetMultipleSuggestions', + !1 + ), + MakesTextEdit: new a.uy('suggestionMakesTextEdit', !0), + AcceptSuggestionsOnEnter: new a.uy('acceptSuggestionOnEnter', !0), + HasInsertAndReplaceRange: new a.uy( + 'suggestionHasInsertAndReplaceRange', + !1 + ), + CanResolve: new a.uy('suggestionCanResolve', !1), + }, + m = new u.eH('suggestWidgetStatusBar'); + class _ { + constructor(e, t, i, n) { + (this.position = e), + (this.completion = t), + (this.container = i), + (this.provider = n), + (this.isInvalid = !1), + (this.score = d.CL.Default), + (this.distance = 0), + (this.textLabel = + 'string' == typeof t.label ? t.label : t.label.name), + (this.labelLow = this.textLabel.toLowerCase()), + (this.isInvalid = !this.textLabel), + (this.sortTextLow = t.sortText && t.sortText.toLowerCase()), + (this.filterTextLow = t.filterText && t.filterText.toLowerCase()), + c.e.isIRange(t.range) + ? ((this.editStart = new o.L( + t.range.startLineNumber, + t.range.startColumn + )), + (this.editInsertEnd = new o.L( + t.range.endLineNumber, + t.range.endColumn + )), + (this.editReplaceEnd = new o.L( + t.range.endLineNumber, + t.range.endColumn + )), + (this.isInvalid = + this.isInvalid || + c.e.spansMultipleLines(t.range) || + t.range.startLineNumber !== e.lineNumber)) + : ((this.editStart = new o.L( + t.range.insert.startLineNumber, + t.range.insert.startColumn + )), + (this.editInsertEnd = new o.L( + t.range.insert.endLineNumber, + t.range.insert.endColumn + )), + (this.editReplaceEnd = new o.L( + t.range.replace.endLineNumber, + t.range.replace.endColumn + )), + (this.isInvalid = + this.isInvalid || + c.e.spansMultipleLines(t.range.insert) || + c.e.spansMultipleLines(t.range.replace) || + t.range.insert.startLineNumber !== e.lineNumber || + t.range.replace.startLineNumber !== e.lineNumber || + t.range.insert.startColumn !== + t.range.replace.startColumn)), + 'function' != typeof n.resolveCompletionItem && + ((this._resolveCache = Promise.resolve()), + (this._isResolved = !0)); + } + get isResolved() { + return !!this._isResolved; + } + resolve(e) { + return f(this, void 0, void 0, function* () { + if (!this._resolveCache) { + const t = e.onCancellationRequested(() => { + (this._resolveCache = void 0), (this._isResolved = !1); + }); + this._resolveCache = Promise.resolve( + this.provider.resolveCompletionItem(this.completion, e) + ).then( + (e) => { + Object.assign(this.completion, e), + (this._isResolved = !0), + t.dispose(); + }, + (e) => { + (0, n.VV)(e) && + ((this._resolveCache = void 0), (this._isResolved = !1)); + } + ); + } + return this._resolveCache; + }); + } + } + class b { + constructor(e = 2, t = new Set(), i = new Set()) { + (this.snippetSortOrder = e), + (this.kindFilter = t), + (this.providerFilter = i); + } + } + function v() {} + b.default = new b(); + class y { + constructor(e, t, i) { + (this.items = e), (this.needsClipboard = t), (this.dispoables = i); + } + } + function w(e, t, i = b.default, r = { triggerKind: 0 }, o = l.T.None) { + return f(this, void 0, void 0, function* () { + t = t.clone(); + const a = e.getWordAtPosition(t), + l = a + ? new c.e( + t.lineNumber, + a.startColumn, + t.lineNumber, + a.endColumn + ) + : c.e.fromPositions(t), + d = { + replace: l, + insert: l.setEndPosition(t.lineNumber, t.column), + }, + u = [], + p = new h.SL(); + let m = !1; + const b = (e, n) => { + if (n) { + for (let r of n.suggestions) + i.kindFilter.has(r.kind) || + (r.range || (r.range = d), + r.sortText || + (r.sortText = + 'string' == typeof r.label ? r.label : r.label.name), + !m && + r.insertTextRules && + 4 & r.insertTextRules && + (m = g.Yj.guessNeedsClipboard(r.insertText)), + u.push(new _(t, r, n, e))); + (0, h.Wf)(n) && p.add(n); + } + }, + v = (() => f(this, void 0, void 0, function* () {}))(); + for (let a of s.KZ.orderedGroups(e)) { + let s = u.length; + if ( + (yield Promise.all( + a.map((s) => + f(this, void 0, void 0, function* () { + if ( + !(i.providerFilter.size > 0) || + i.providerFilter.has(s) + ) + try { + const i = yield s.provideCompletionItems(e, t, r, o); + b(s, i); + } catch (e) { + (0, n.Cp)(e); + } + }) + ) + ), + s !== u.length || o.isCancellationRequested) + ) + break; + } + return ( + yield v, + o.isCancellationRequested + ? (p.dispose(), Promise.reject((0, n.F0)())) + : new y(u.sort(k(i.snippetSortOrder)), m, p) + ); + }); + } + function C(e, t) { + if (e.sortTextLow && t.sortTextLow) { + if (e.sortTextLow < t.sortTextLow) return -1; + if (e.sortTextLow > t.sortTextLow) return 1; + } + return e.completion.label < t.completion.label + ? -1 + : e.completion.label > t.completion.label + ? 1 + : e.completion.kind - t.completion.kind; + } + const S = new Map(); + function k(e) { + return S.get(e); + } + S.set(0, function (e, t) { + if (e.completion.kind !== t.completion.kind) { + if (27 === e.completion.kind) return -1; + if (27 === t.completion.kind) return 1; + } + return C(e, t); + }), + S.set(2, function (e, t) { + if (e.completion.kind !== t.completion.kind) { + if (27 === e.completion.kind) return 1; + if (27 === t.completion.kind) return -1; + } + return C(e, t); + }), + S.set(1, C), + (0, r.kT)('_executeCompletionItemProvider', (e, t, i) => + f(void 0, void 0, void 0, function* () { + const n = { incomplete: !1, suggestions: [] }, + r = [], + s = i.maxItemsToResolve || 0, + o = yield w(e, t); + for (const e of o.items) + r.length < s && r.push(e.resolve(l.T.None)), + (n.incomplete = n.incomplete || e.container.incomplete), + n.suggestions.push(e.completion); + try { + return yield Promise.all(r), n; + } finally { + setTimeout(() => o.dispoables.dispose(), 100); + } + }) + ); + const x = new (class { + constructor() { + this.onlyOnceSuggestions = []; + } + provideCompletionItems() { + let e = { suggestions: this.onlyOnceSuggestions.slice(0) }; + return (this.onlyOnceSuggestions.length = 0), e; + } + })(); + function L(e, t) { + setTimeout(() => { + x.onlyOnceSuggestions.push(...t), + e + .getContribution('editor.contrib.suggestController') + .triggerSuggest(new Set().add(x)); + }, 0); + } + s.KZ.register('*', x); + }, + 24993: (e, t, i) => { + 'use strict'; + i.r(t), + i.d(t, { + SuggestController: () => Ct, + TriggerSuggestAction: () => St, + }); + var n = i(85152), + r = i(9488), + s = i(17301), + o = i(22258), + a = i(5976), + l = i(39925), + c = i(16830), + d = i(69386), + h = i(24314), + u = i(29102), + g = i(78694), + f = i(63472), + p = i(43702), + m = i(52365), + _ = i(43775), + b = i(15393), + v = i(72065), + y = i(33108), + w = i(65026), + C = i(71531), + S = function (e, t) { + return function (i, n) { + t(i, n, e); + }; + }; + class k { + constructor(e) { + this.name = e; + } + select(e, t, i) { + if (0 === i.length) return 0; + let n = i[0].score[0]; + for (let e = 0; e < i.length; e++) { + const { score: t, completion: r } = i[e]; + if (t[0] !== n) break; + if (r.preselect) return e; + } + return 0; + } + } + class x extends k { + constructor() { + super('first'); + } + memorize(e, t, i) {} + toJSON() {} + fromJSON() {} + } + let L = class e { + constructor(e, t, i) { + (this._storageService = e), + (this._modeService = t), + (this._configService = i), + (this._disposables = new a.SL()), + (this._persistSoon = new b.pY(() => this._saveState(), 500)), + this._disposables.add( + e.onWillSaveState((e) => { + e.reason === m.fk.SHUTDOWN && this._saveState(); + }) + ); + } + dispose() { + this._disposables.dispose(), this._persistSoon.dispose(); + } + memorize(e, t, i) { + this._withStrategy(e, t).memorize(e, t, i), + this._persistSoon.schedule(); + } + select(e, t, i) { + return this._withStrategy(e, t).select(e, t, i); + } + _withStrategy(t, i) { + var n, r; + const s = this._configService.getValue('editor.suggestSelection', { + overrideIdentifier: + null === + (n = this._modeService.getLanguageIdentifier( + t.getLanguageIdAtPosition(i.lineNumber, i.column) + )) || void 0 === n + ? void 0 + : n.language, + resource: t.uri, + }); + if ( + (null === (r = this._strategy) || void 0 === r + ? void 0 + : r.name) !== s + ) { + this._saveState(); + const t = e._strategyCtors.get(s) || x; + this._strategy = new t(); + try { + const t = this._configService.getValue( + 'editor.suggest.shareSuggestSelections' + ) + ? 0 + : 1, + i = this._storageService.get(`${e._storagePrefix}/${s}`, t); + i && this._strategy.fromJSON(JSON.parse(i)); + } catch (e) {} + } + return this._strategy; + } + _saveState() { + if (this._strategy) { + const t = this._configService.getValue( + 'editor.suggest.shareSuggestSelections' + ) + ? 0 + : 1, + i = JSON.stringify(this._strategy); + this._storageService.store( + `${e._storagePrefix}/${this._strategy.name}`, + i, + t + ); + } + } + }; + (L._strategyCtors = new Map([ + [ + 'recentlyUsedByPrefix', + class extends k { + constructor() { + super('recentlyUsedByPrefix'), + (this._trie = p.Id.forStrings()), + (this._seq = 0); + } + memorize(e, t, i) { + const { word: n } = e.getWordUntilPosition(t), + r = `${e.getLanguageIdentifier().language}/${n}`; + this._trie.set(r, { + type: i.completion.kind, + insertText: i.completion.insertText, + touch: this._seq++, + }); + } + select(e, t, i) { + let { word: n } = e.getWordUntilPosition(t); + if (!n) return super.select(e, t, i); + let r = `${e.getLanguageIdentifier().language}/${n}`, + s = this._trie.get(r); + if ((s || (s = this._trie.findSubstr(r)), s)) + for (let e = 0; e < i.length; e++) { + let { kind: t, insertText: n } = i[e].completion; + if (t === s.type && n === s.insertText) return e; + } + return super.select(e, t, i); + } + toJSON() { + let e = []; + return ( + this._trie.forEach((t, i) => e.push([i, t])), + e + .sort((e, t) => -(e[1].touch - t[1].touch)) + .forEach((e, t) => (e[1].touch = t)), + e.slice(0, 200) + ); + } + fromJSON(e) { + if ((this._trie.clear(), e.length > 0)) { + this._seq = e[0][1].touch + 1; + for (const [t, i] of e) + (i.type = + 'number' == typeof i.type ? i.type : (0, _.jr)(i.type)), + this._trie.set(t, i); + } + } + }, + ], + [ + 'recentlyUsed', + class extends k { + constructor() { + super('recentlyUsed'), + (this._cache = new p.z6(300, 0.66)), + (this._seq = 0); + } + memorize(e, t, i) { + const { label: n } = i.completion, + r = `${e.getLanguageIdentifier().language}/${n}`; + this._cache.set(r, { + touch: this._seq++, + type: i.completion.kind, + insertText: i.completion.insertText, + }); + } + select(e, t, i) { + if (0 === i.length) return 0; + const n = e + .getLineContent(t.lineNumber) + .substr(t.column - 10, t.column - 1); + if (/\s$/.test(n)) return super.select(e, t, i); + let r = i[0].score[0], + s = -1, + o = -1; + for (let t = 0; t < i.length && i[t].score[0] === r; t++) { + const n = `${e.getLanguageIdentifier().language}/${ + i[t].completion.label + }`, + r = this._cache.peek(n); + if ( + (r && + r.touch > o && + r.type === i[t].completion.kind && + r.insertText === i[t].completion.insertText && + ((o = r.touch), (s = t)), + i[t].completion.preselect) + ) + return t; + } + return -1 !== s ? s : 0; + } + toJSON() { + return this._cache.toJSON(); + } + fromJSON(e) { + this._cache.clear(); + for (const [t, i] of e) + (i.touch = 0), + (i.type = + 'number' == typeof i.type ? i.type : (0, _.jr)(i.type)), + this._cache.set(t, i); + this._seq = this._cache.size; + } + }, + ], + ['first', x], + ])), + (L._storagePrefix = 'suggest/memories'), + (L = (function (e, t, i, n) { + var r, + s = arguments.length, + o = + s < 3 + ? t + : null === n + ? (n = Object.getOwnPropertyDescriptor(t, i)) + : n; + if ( + 'object' == typeof Reflect && + 'function' == typeof Reflect.decorate + ) + o = Reflect.decorate(e, t, i, n); + else + for (var a = e.length - 1; a >= 0; a--) + (r = e[a]) && + (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); + return s > 3 && o && Object.defineProperty(t, i, o), o; + })([S(0, m.Uy), S(1, C.h), S(2, y.Ui)], L)); + const M = (0, v.yh)('ISuggestMemories'); + (0, w.z)(M, L, !0); + var D = i(63580), + N = i(94565), + E = i(38819), + T = i(49989), + I = i(79599); + let O = class e { + constructor(t, i) { + (this._editor = t), + (this._index = 0), + (this._ckOtherSuggestions = e.OtherSuggestions.bindTo(i)); + } + dispose() { + this.reset(); + } + reset() { + this._ckOtherSuggestions.reset(), + (0, a.B9)(this._listener), + (this._model = void 0), + (this._acceptNext = void 0), + (this._ignore = !1); + } + set({ model: t, index: i }, n) { + 0 !== t.items.length && e._moveIndex(!0, t, i) !== i + ? ((this._acceptNext = n), + (this._model = t), + (this._index = i), + (this._listener = this._editor.onDidChangeCursorPosition(() => { + this._ignore || this.reset(); + })), + this._ckOtherSuggestions.set(!0)) + : this.reset(); + } + static _moveIndex(e, t, i) { + let n = i; + for ( + ; + (n = (n + t.items.length + (e ? 1 : -1)) % t.items.length), + n !== i && t.items[n].completion.additionalTextEdits; + + ); + return n; + } + next() { + this._move(!0); + } + prev() { + this._move(!1); + } + _move(t) { + if (this._model) + try { + (this._ignore = !0), + (this._index = e._moveIndex(t, this._model, this._index)), + this._acceptNext({ + index: this._index, + item: this._model.items[this._index], + model: this._model, + }); + } finally { + this._ignore = !1; + } + } + }; + var A, R; + (O.OtherSuggestions = new E.uy('hasOtherSuggestions', !1)), + (O = (function (e, t, i, n) { + var r, + s = arguments.length, + o = + s < 3 + ? t + : null === n + ? (n = Object.getOwnPropertyDescriptor(t, i)) + : n; + if ( + 'object' == typeof Reflect && + 'function' == typeof Reflect.decorate + ) + o = Reflect.decorate(e, t, i, n); + else + for (var a = e.length - 1; a >= 0; a--) + (r = e[a]) && + (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); + return s > 3 && o && Object.defineProperty(t, i, o), o; + })( + [ + ((A = 1), + (R = E.i6), + function (e, t) { + R(e, t, A); + }), + ], + O + )); + var P = i(4669), + F = i(3860), + B = i(75392), + W = i(97295); + class Y { + constructor(e, t, i, n, r, s, o) { + (this.clipboardText = o), + (this._snippetCompareFn = Y._compareCompletionItems), + (this._items = e), + (this._column = t), + (this._wordDistance = n), + (this._options = r), + (this._refilterKind = 1), + (this._lineContext = i), + 'top' === s + ? (this._snippetCompareFn = Y._compareCompletionItemsSnippetsUp) + : 'bottom' === s && + (this._snippetCompareFn = + Y._compareCompletionItemsSnippetsDown); + } + get lineContext() { + return this._lineContext; + } + set lineContext(e) { + (this._lineContext.leadingLineContent === e.leadingLineContent && + this._lineContext.characterCountDelta === + e.characterCountDelta) || + ((this._refilterKind = + this._lineContext.characterCountDelta < e.characterCountDelta && + this._filteredItems + ? 2 + : 1), + (this._lineContext = e)); + } + get items() { + return this._ensureCachedState(), this._filteredItems; + } + get allProvider() { + return this._ensureCachedState(), this._allProvider; + } + get incomplete() { + return this._ensureCachedState(), this._isIncomplete; + } + adopt(e) { + let t = []; + for (let i = 0; i < this._items.length; ) + e.has(this._items[i].provider) + ? i++ + : (t.push(this._items[i]), + (this._items[i] = this._items[this._items.length - 1]), + this._items.pop()); + return (this._refilterKind = 1), t; + } + get stats() { + return this._ensureCachedState(), this._stats; + } + _ensureCachedState() { + 0 !== this._refilterKind && this._createCachedState(); + } + _createCachedState() { + (this._isIncomplete = new Set()), + (this._allProvider = new Set()), + (this._stats = { + suggestionCount: 0, + snippetCount: 0, + textCount: 0, + }); + const { + leadingLineContent: e, + characterCountDelta: t, + } = this._lineContext; + let i = '', + n = ''; + const r = + 1 === this._refilterKind ? this._items : this._filteredItems, + s = [], + o = !this._options.filterGraceful || r.length > 2e3 ? B.EW : B.l7; + for (let a = 0; a < r.length; a++) { + const l = r[a]; + if (l.isInvalid) continue; + l.container.incomplete && this._isIncomplete.add(l.provider), + this._allProvider.add(l.provider); + const c = l.position.column - l.editStart.column, + d = c + t - (l.position.column - this._column); + if ( + (i.length !== d && + ((i = 0 === d ? '' : e.slice(-d)), (n = i.toLowerCase())), + (l.word = i), + 0 === d) + ) + l.score = B.CL.Default; + else { + let e = 0; + for (; e < c; ) { + const t = i.charCodeAt(e); + if (32 !== t && 9 !== t) break; + e += 1; + } + const t = + 'string' == typeof l.completion.label + ? l.completion.label + : l.completion.label.name; + if (e >= d) l.score = B.CL.Default; + else if ('string' == typeof l.completion.filterText) { + let r = o( + i, + n, + e, + l.completion.filterText, + l.filterTextLow, + 0, + !1 + ); + if (!r) continue; + 0 === (0, W.zY)(l.completion.filterText, t) + ? (l.score = r) + : ((l.score = (0, B.jB)(i, n, e, t, l.labelLow, 0)), + (l.score[0] = r[0])); + } else { + let r = o(i, n, e, t, l.labelLow, 0, !1); + if (!r) continue; + l.score = r; + } + } + switch ( + ((l.idx = a), + (l.distance = this._wordDistance.distance( + l.position, + l.completion + )), + s.push(l), + this._stats.suggestionCount++, + l.completion.kind) + ) { + case 27: + this._stats.snippetCount++; + break; + case 18: + this._stats.textCount++; + } + } + (this._filteredItems = s.sort(this._snippetCompareFn)), + (this._refilterKind = 0); + } + static _compareCompletionItems(e, t) { + return e.score[0] > t.score[0] + ? -1 + : e.score[0] < t.score[0] + ? 1 + : e.distance < t.distance + ? -1 + : e.distance > t.distance + ? 1 + : e.idx < t.idx + ? -1 + : e.idx > t.idx + ? 1 + : 0; + } + static _compareCompletionItemsSnippetsDown(e, t) { + if (e.completion.kind !== t.completion.kind) { + if (27 === e.completion.kind) return 1; + if (27 === t.completion.kind) return -1; + } + return Y._compareCompletionItems(e, t); + } + static _compareCompletionItemsSnippetsUp(e, t) { + if (e.completion.kind !== t.completion.kind) { + if (27 === e.completion.kind) return -1; + if (27 === t.completion.kind) return 1; + } + return Y._compareCompletionItems(e, t); + } + } + var H = i(71050), + j = i(80689); + class V { + static create(e, t) { + return ( + (i = this), + (n = void 0), + (o = function* () { + if (!t.getOption(96).localityBonus) return V.None; + if (!t.hasModel()) return V.None; + const i = t.getModel(), + n = t.getPosition(); + if (!e.canComputeWordRanges(i.uri)) return V.None; + const [s] = yield new j.x().provideSelectionRanges(i, [n]); + if (0 === s.length) return V.None; + const o = yield e.computeWordRanges(i.uri, s[0].range); + if (!o) return V.None; + const a = i.getWordUntilPosition(n); + return ( + delete o[a.word], + new (class extends V { + distance(e, i) { + if (!n.equals(t.getPosition())) return 0; + if (17 === i.kind) return 2 << 20; + let a = + 'string' == typeof i.label ? i.label : i.label.name, + l = o[a]; + if ((0, r.XY)(l)) return 2 << 20; + let c = (0, r.ry)( + l, + h.e.fromPositions(e), + h.e.compareRangesUsingStarts + ), + d = c >= 0 ? l[c] : l[Math.max(0, ~c - 1)], + u = s.length; + for (const e of s) { + if (!h.e.containsRange(e.range, d)) break; + u -= 1; + } + return u; + } + })() + ); + }), + new ((s = void 0) || (s = Promise))(function (e, t) { + function r(e) { + try { + l(o.next(e)); + } catch (e) { + t(e); + } + } + function a(e) { + try { + l(o.throw(e)); + } catch (e) { + t(e); + } + } + function l(t) { + var i; + t.done + ? e(t.value) + : ((i = t.value), + i instanceof s + ? i + : new s(function (e) { + e(i); + })).then(r, a); + } + l((o = o.apply(i, n || [])).next()); + }) + ); + var i, n, s, o; + } + } + V.None = new (class extends V { + distance() { + return 0; + } + })(); + class z { + constructor(e, t, i, n) { + (this.leadingLineContent = e + .getLineContent(t.lineNumber) + .substr(0, t.column - 1)), + (this.leadingWord = e.getWordUntilPosition(t)), + (this.lineNumber = t.lineNumber), + (this.column = t.column), + (this.auto = i), + (this.shy = n); + } + static shouldAutoTrigger(e) { + if (!e.hasModel()) return !1; + const t = e.getModel(), + i = e.getPosition(); + t.tokenizeIfCheap(i.lineNumber); + const n = t.getWordAtPosition(i); + return !!n && n.endColumn === i.column && !!isNaN(Number(n.word)); + } + } + class U { + constructor(e, t, i) { + (this._editor = e), + (this._editorWorkerService = t), + (this._clipboardService = i), + (this._toDispose = new a.SL()), + (this._quickSuggestDelay = 10), + (this._triggerCharacterListener = new a.SL()), + (this._triggerQuickSuggest = new b._F()), + (this._state = 0), + (this._completionDisposables = new a.SL()), + (this._onDidCancel = new P.Q5()), + (this._onDidTrigger = new P.Q5()), + (this._onDidSuggest = new P.Q5()), + (this.onDidCancel = this._onDidCancel.event), + (this.onDidTrigger = this._onDidTrigger.event), + (this.onDidSuggest = this._onDidSuggest.event), + (this._currentSelection = + this._editor.getSelection() || new F.Y(1, 1, 1, 1)), + this._toDispose.add( + this._editor.onDidChangeModel(() => { + this._updateTriggerCharacters(), this.cancel(); + }) + ), + this._toDispose.add( + this._editor.onDidChangeModelLanguage(() => { + this._updateTriggerCharacters(), this.cancel(); + }) + ), + this._toDispose.add( + this._editor.onDidChangeConfiguration(() => { + this._updateTriggerCharacters(), this._updateQuickSuggest(); + }) + ), + this._toDispose.add( + _.KZ.onDidChange(() => { + this._updateTriggerCharacters(), + this._updateActiveSuggestSession(); + }) + ), + this._toDispose.add( + this._editor.onDidChangeCursorSelection((e) => { + this._onCursorChange(e); + }) + ); + let n = !1; + this._toDispose.add( + this._editor.onDidCompositionStart(() => { + n = !0; + }) + ), + this._toDispose.add( + this._editor.onDidCompositionEnd(() => { + (n = !1), this._refilterCompletionItems(); + }) + ), + this._toDispose.add( + this._editor.onDidChangeModelContent(() => { + n || this._refilterCompletionItems(); + }) + ), + this._updateTriggerCharacters(), + this._updateQuickSuggest(); + } + dispose() { + (0, a.B9)(this._triggerCharacterListener), + (0, a.B9)([ + this._onDidCancel, + this._onDidSuggest, + this._onDidTrigger, + this._triggerQuickSuggest, + ]), + this._toDispose.dispose(), + this._completionDisposables.dispose(), + this.cancel(); + } + _updateQuickSuggest() { + (this._quickSuggestDelay = this._editor.getOption(71)), + (isNaN(this._quickSuggestDelay) || + (!this._quickSuggestDelay && 0 !== this._quickSuggestDelay) || + this._quickSuggestDelay < 0) && + (this._quickSuggestDelay = 10); + } + _updateTriggerCharacters() { + if ( + (this._triggerCharacterListener.clear(), + this._editor.getOption(72) || + !this._editor.hasModel() || + !this._editor.getOption(99)) + ) + return; + const e = new Map(); + for (const t of _.KZ.all(this._editor.getModel())) + for (const i of t.triggerCharacters || []) { + let n = e.get(i); + n || ((n = new Set()), n.add((0, I.ZJ)()), e.set(i, n)), + n.add(t); + } + const t = (t) => { + if (!t) { + const e = this._editor.getPosition(); + t = this._editor + .getModel() + .getLineContent(e.lineNumber) + .substr(0, e.column - 1); + } + let i = ''; + (0, W.YK)(t.charCodeAt(t.length - 1)) + ? (0, W.ZG)(t.charCodeAt(t.length - 2)) && + (i = t.substr(t.length - 2)) + : (i = t.charAt(t.length - 1)); + const n = e.get(i); + if (n) { + const e = this._completionModel + ? { + items: this._completionModel.adopt(n), + clipboardText: this._completionModel.clipboardText, + } + : void 0; + this.trigger( + { auto: !0, shy: !1, triggerCharacter: i }, + Boolean(this._completionModel), + n, + e + ); + } + }; + this._triggerCharacterListener.add(this._editor.onDidType(t)), + this._triggerCharacterListener.add( + this._editor.onDidCompositionEnd(t) + ); + } + get state() { + return this._state; + } + cancel(e = !1) { + 0 !== this._state && + (this._triggerQuickSuggest.cancel(), + this._requestToken && + (this._requestToken.cancel(), (this._requestToken = void 0)), + (this._state = 0), + (this._completionModel = void 0), + (this._context = void 0), + this._onDidCancel.fire({ retrigger: e })); + } + clear() { + this._completionDisposables.clear(); + } + _updateActiveSuggestSession() { + 0 !== this._state && + (this._editor.hasModel() && _.KZ.has(this._editor.getModel()) + ? this.trigger({ auto: 2 === this._state, shy: !1 }, !0) + : this.cancel()); + } + _onCursorChange(e) { + if (!this._editor.hasModel()) return; + const t = this._editor.getModel(), + i = this._currentSelection; + if ( + ((this._currentSelection = this._editor.getSelection()), + !e.selection.isEmpty() || + 0 !== e.reason || + ('keyboard' !== e.source && 'deleteLeft' !== e.source)) + ) + this.cancel(); + else if (_.KZ.has(t) && 0 === this._state) { + if (!1 === this._editor.getOption(70)) return; + if ( + !i.containsRange(this._currentSelection) && + !i + .getEndPosition() + .isBeforeOrEqual(this._currentSelection.getPosition()) + ) + return; + if ( + this._editor.getOption(96).snippetsPreventQuickSuggestions && + g.SnippetController2.get(this._editor).isInSnippet() + ) + return; + this.cancel(), + this._triggerQuickSuggest.cancelAndSet(() => { + if (0 !== this._state) return; + if (!z.shouldAutoTrigger(this._editor)) return; + if (!this._editor.hasModel()) return; + const e = this._editor.getModel(), + t = this._editor.getPosition(), + i = this._editor.getOption(70); + if (!1 !== i) { + if (!0 === i); + else { + e.tokenizeIfCheap(t.lineNumber); + const n = e.getLineTokens(t.lineNumber), + r = n.getStandardTokenType( + n.findTokenIndexAtOffset( + Math.max(t.column - 1 - 1, 0) + ) + ); + if ( + !( + (i.other && 0 === r) || + (i.comments && 1 === r) || + (i.strings && 2 === r) + ) + ) + return; + } + this.trigger({ auto: !0, shy: !1 }); + } + }, this._quickSuggestDelay); + } + } + _refilterCompletionItems() { + Promise.resolve().then(() => { + if (0 === this._state) return; + if (!this._editor.hasModel()) return; + const e = this._editor.getModel(), + t = this._editor.getPosition(), + i = new z(e, t, 2 === this._state, !1); + this._onNewContext(i); + }); + } + trigger(e, t = !1, i, n) { + var r; + if (!this._editor.hasModel()) return; + const o = this._editor.getModel(), + l = e.auto, + c = new z(o, this._editor.getPosition(), l, e.shy); + this.cancel(t), + (this._state = l ? 2 : 1), + this._onDidTrigger.fire({ + auto: l, + shy: e.shy, + position: this._editor.getPosition(), + }), + (this._context = c); + let d = { + triggerKind: null !== (r = e.triggerKind) && void 0 !== r ? r : 0, + }; + e.triggerCharacter && + (d = { triggerKind: 1, triggerCharacter: e.triggerCharacter }), + (this._requestToken = new H.A()); + const h = this._editor.getOption(93); + let u = 1; + switch (h) { + case 'top': + u = 0; + break; + case 'bottom': + u = 2; + } + let g = U._createItemKindFilter(this._editor), + f = V.create(this._editorWorkerService, this._editor), + p = (0, I.kL)( + o, + this._editor.getPosition(), + new I.A9(u, g, i), + d, + this._requestToken.token + ); + Promise.all([p, f]) + .then(([t, i]) => { + return ( + (r = this), + (s = void 0), + (c = function* () { + if (((0, a.B9)(this._requestToken), 0 === this._state)) + return; + if (!this._editor.hasModel()) return; + let r = null == n ? void 0 : n.clipboardText; + !r && + t.needsClipboard && + (r = yield this._clipboardService.readText()); + const s = this._editor.getModel(); + let o = t.items; + if (n) { + const e = (0, I.wg)(u); + o = o.concat(n.items).sort(e); + } + const c = new z(s, this._editor.getPosition(), l, e.shy); + (this._completionModel = new Y( + o, + this._context.column, + { + leadingLineContent: c.leadingLineContent, + characterCountDelta: c.column - this._context.column, + }, + i, + this._editor.getOption(96), + this._editor.getOption(93), + r + )), + this._completionDisposables.add(t.dispoables), + this._onNewContext(c); + }), + new ((o = void 0) || (o = Promise))(function (e, t) { + function i(e) { + try { + a(c.next(e)); + } catch (e) { + t(e); + } + } + function n(e) { + try { + a(c.throw(e)); + } catch (e) { + t(e); + } + } + function a(t) { + var r; + t.done + ? e(t.value) + : ((r = t.value), + r instanceof o + ? r + : new o(function (e) { + e(r); + })).then(i, n); + } + a((c = c.apply(r, s || [])).next()); + }) + ); + var r, s, o, c; + }) + .catch(s.dL); + } + static _createItemKindFilter(e) { + const t = new Set(); + 'none' === e.getOption(93) && t.add(27); + const i = e.getOption(96); + return ( + i.showMethods || t.add(0), + i.showFunctions || t.add(1), + i.showConstructors || t.add(2), + i.showFields || t.add(3), + i.showVariables || t.add(4), + i.showClasses || t.add(5), + i.showStructs || t.add(6), + i.showInterfaces || t.add(7), + i.showModules || t.add(8), + i.showProperties || t.add(9), + i.showEvents || t.add(10), + i.showOperators || t.add(11), + i.showUnits || t.add(12), + i.showValues || t.add(13), + i.showConstants || t.add(14), + i.showEnums || t.add(15), + i.showEnumMembers || t.add(16), + i.showKeywords || t.add(17), + i.showWords || t.add(18), + i.showColors || t.add(19), + i.showFiles || t.add(20), + i.showReferences || t.add(21), + i.showColors || t.add(22), + i.showFolders || t.add(23), + i.showTypeParameters || t.add(24), + i.showSnippets || t.add(27), + i.showUsers || t.add(25), + i.showIssues || t.add(26), + t + ); + } + _onNewContext(e) { + if (this._context) + if (e.lineNumber === this._context.lineNumber) { + if ( + e.leadingWord.startColumn < + this._context.leadingWord.startColumn + ) + this.cancel(); + else if (e.column < this._context.column) + e.leadingWord.word + ? this.trigger({ auto: this._context.auto, shy: !1 }, !0) + : this.cancel(); + else if (this._completionModel) + if ( + 0 !== e.leadingWord.word.length && + e.leadingWord.startColumn > + this._context.leadingWord.startColumn + ) { + const e = new Set(_.KZ.all(this._editor.getModel())); + this._completionModel.allProvider.forEach((t) => + e.delete(t) + ); + const t = this._completionModel.adopt(new Set()); + this.trigger({ auto: this._context.auto, shy: !1 }, !0, e, { + items: t, + clipboardText: this._completionModel.clipboardText, + }); + } else if ( + e.column > this._context.column && + this._completionModel.incomplete.size > 0 && + 0 !== e.leadingWord.word.length + ) { + const { incomplete: e } = this._completionModel, + t = this._completionModel.adopt(e); + this.trigger( + { auto: 2 === this._state, shy: !1, triggerKind: 2 }, + !0, + e, + { + items: t, + clipboardText: this._completionModel.clipboardText, + } + ); + } else { + let t = this._completionModel.lineContext, + i = !1; + if ( + ((this._completionModel.lineContext = { + leadingLineContent: e.leadingLineContent, + characterCountDelta: e.column - this._context.column, + }), + 0 === this._completionModel.items.length) + ) { + if ( + z.shouldAutoTrigger(this._editor) && + this._context.leadingWord.endColumn < + e.leadingWord.startColumn + ) + return void this.trigger( + { auto: this._context.auto, shy: !1 }, + !0 + ); + if (this._context.auto) return void this.cancel(); + if ( + ((this._completionModel.lineContext = t), + (i = this._completionModel.items.length > 0), + i && 0 === e.leadingWord.word.length) + ) + return void this.cancel(); + } + this._onDidSuggest.fire({ + completionModel: this._completionModel, + auto: this._context.auto, + shy: this._context.shy, + isFrozen: i, + }); + } + } else this.cancel(); + } + } + i(28609); + var $ = i(97781), + K = i(73910), + q = i(73046); + const G = (0, K.P6)( + 'symbolIcon.arrayForeground', + { dark: K.dR, light: K.dR, hc: K.dR }, + (0, D.N)( + 'symbolIcon.arrayForeground', + 'The foreground color for array symbols. These symbols appear in the outline, breadcrumb, and suggest widget.' + ) + ), + Z = (0, K.P6)( + 'symbolIcon.booleanForeground', + { dark: K.dR, light: K.dR, hc: K.dR }, + (0, D.N)( + 'symbolIcon.booleanForeground', + 'The foreground color for boolean symbols. These symbols appear in the outline, breadcrumb, and suggest widget.' + ) + ), + J = (0, K.P6)( + 'symbolIcon.classForeground', + { dark: '#EE9D28', light: '#D67E00', hc: '#EE9D28' }, + (0, D.N)( + 'symbolIcon.classForeground', + 'The foreground color for class symbols. These symbols appear in the outline, breadcrumb, and suggest widget.' + ) + ), + Q = (0, K.P6)( + 'symbolIcon.colorForeground', + { dark: K.dR, light: K.dR, hc: K.dR }, + (0, D.N)( + 'symbolIcon.colorForeground', + 'The foreground color for color symbols. These symbols appear in the outline, breadcrumb, and suggest widget.' + ) + ), + X = (0, K.P6)( + 'symbolIcon.constantForeground', + { dark: K.dR, light: K.dR, hc: K.dR }, + (0, D.N)( + 'symbolIcon.constantForeground', + 'The foreground color for constant symbols. These symbols appear in the outline, breadcrumb, and suggest widget.' + ) + ), + ee = (0, K.P6)( + 'symbolIcon.constructorForeground', + { dark: '#B180D7', light: '#652D90', hc: '#B180D7' }, + (0, D.N)( + 'symbolIcon.constructorForeground', + 'The foreground color for constructor symbols. These symbols appear in the outline, breadcrumb, and suggest widget.' + ) + ), + te = (0, K.P6)( + 'symbolIcon.enumeratorForeground', + { dark: '#EE9D28', light: '#D67E00', hc: '#EE9D28' }, + (0, D.N)( + 'symbolIcon.enumeratorForeground', + 'The foreground color for enumerator symbols. These symbols appear in the outline, breadcrumb, and suggest widget.' + ) + ), + ie = (0, K.P6)( + 'symbolIcon.enumeratorMemberForeground', + { dark: '#75BEFF', light: '#007ACC', hc: '#75BEFF' }, + (0, D.N)( + 'symbolIcon.enumeratorMemberForeground', + 'The foreground color for enumerator member symbols. These symbols appear in the outline, breadcrumb, and suggest widget.' + ) + ), + ne = (0, K.P6)( + 'symbolIcon.eventForeground', + { dark: '#EE9D28', light: '#D67E00', hc: '#EE9D28' }, + (0, D.N)( + 'symbolIcon.eventForeground', + 'The foreground color for event symbols. These symbols appear in the outline, breadcrumb, and suggest widget.' + ) + ), + re = (0, K.P6)( + 'symbolIcon.fieldForeground', + { dark: '#75BEFF', light: '#007ACC', hc: '#75BEFF' }, + (0, D.N)( + 'symbolIcon.fieldForeground', + 'The foreground color for field symbols. These symbols appear in the outline, breadcrumb, and suggest widget.' + ) + ), + se = (0, K.P6)( + 'symbolIcon.fileForeground', + { dark: K.dR, light: K.dR, hc: K.dR }, + (0, D.N)( + 'symbolIcon.fileForeground', + 'The foreground color for file symbols. These symbols appear in the outline, breadcrumb, and suggest widget.' + ) + ), + oe = (0, K.P6)( + 'symbolIcon.folderForeground', + { dark: K.dR, light: K.dR, hc: K.dR }, + (0, D.N)( + 'symbolIcon.folderForeground', + 'The foreground color for folder symbols. These symbols appear in the outline, breadcrumb, and suggest widget.' + ) + ), + ae = (0, K.P6)( + 'symbolIcon.functionForeground', + { dark: '#B180D7', light: '#652D90', hc: '#B180D7' }, + (0, D.N)( + 'symbolIcon.functionForeground', + 'The foreground color for function symbols. These symbols appear in the outline, breadcrumb, and suggest widget.' + ) + ), + le = (0, K.P6)( + 'symbolIcon.interfaceForeground', + { dark: '#75BEFF', light: '#007ACC', hc: '#75BEFF' }, + (0, D.N)( + 'symbolIcon.interfaceForeground', + 'The foreground color for interface symbols. These symbols appear in the outline, breadcrumb, and suggest widget.' + ) + ), + ce = (0, K.P6)( + 'symbolIcon.keyForeground', + { dark: K.dR, light: K.dR, hc: K.dR }, + (0, D.N)( + 'symbolIcon.keyForeground', + 'The foreground color for key symbols. These symbols appear in the outline, breadcrumb, and suggest widget.' + ) + ), + de = (0, K.P6)( + 'symbolIcon.keywordForeground', + { dark: K.dR, light: K.dR, hc: K.dR }, + (0, D.N)( + 'symbolIcon.keywordForeground', + 'The foreground color for keyword symbols. These symbols appear in the outline, breadcrumb, and suggest widget.' + ) + ), + he = (0, K.P6)( + 'symbolIcon.methodForeground', + { dark: '#B180D7', light: '#652D90', hc: '#B180D7' }, + (0, D.N)( + 'symbolIcon.methodForeground', + 'The foreground color for method symbols. These symbols appear in the outline, breadcrumb, and suggest widget.' + ) + ), + ue = (0, K.P6)( + 'symbolIcon.moduleForeground', + { dark: K.dR, light: K.dR, hc: K.dR }, + (0, D.N)( + 'symbolIcon.moduleForeground', + 'The foreground color for module symbols. These symbols appear in the outline, breadcrumb, and suggest widget.' + ) + ), + ge = (0, K.P6)( + 'symbolIcon.namespaceForeground', + { dark: K.dR, light: K.dR, hc: K.dR }, + (0, D.N)( + 'symbolIcon.namespaceForeground', + 'The foreground color for namespace symbols. These symbols appear in the outline, breadcrumb, and suggest widget.' + ) + ), + fe = (0, K.P6)( + 'symbolIcon.nullForeground', + { dark: K.dR, light: K.dR, hc: K.dR }, + (0, D.N)( + 'symbolIcon.nullForeground', + 'The foreground color for null symbols. These symbols appear in the outline, breadcrumb, and suggest widget.' + ) + ), + pe = (0, K.P6)( + 'symbolIcon.numberForeground', + { dark: K.dR, light: K.dR, hc: K.dR }, + (0, D.N)( + 'symbolIcon.numberForeground', + 'The foreground color for number symbols. These symbols appear in the outline, breadcrumb, and suggest widget.' + ) + ), + me = (0, K.P6)( + 'symbolIcon.objectForeground', + { dark: K.dR, light: K.dR, hc: K.dR }, + (0, D.N)( + 'symbolIcon.objectForeground', + 'The foreground color for object symbols. These symbols appear in the outline, breadcrumb, and suggest widget.' + ) + ), + _e = (0, K.P6)( + 'symbolIcon.operatorForeground', + { dark: K.dR, light: K.dR, hc: K.dR }, + (0, D.N)( + 'symbolIcon.operatorForeground', + 'The foreground color for operator symbols. These symbols appear in the outline, breadcrumb, and suggest widget.' + ) + ), + be = (0, K.P6)( + 'symbolIcon.packageForeground', + { dark: K.dR, light: K.dR, hc: K.dR }, + (0, D.N)( + 'symbolIcon.packageForeground', + 'The foreground color for package symbols. These symbols appear in the outline, breadcrumb, and suggest widget.' + ) + ), + ve = (0, K.P6)( + 'symbolIcon.propertyForeground', + { dark: K.dR, light: K.dR, hc: K.dR }, + (0, D.N)( + 'symbolIcon.propertyForeground', + 'The foreground color for property symbols. These symbols appear in the outline, breadcrumb, and suggest widget.' + ) + ), + ye = (0, K.P6)( + 'symbolIcon.referenceForeground', + { dark: K.dR, light: K.dR, hc: K.dR }, + (0, D.N)( + 'symbolIcon.referenceForeground', + 'The foreground color for reference symbols. These symbols appear in the outline, breadcrumb, and suggest widget.' + ) + ), + we = (0, K.P6)( + 'symbolIcon.snippetForeground', + { dark: K.dR, light: K.dR, hc: K.dR }, + (0, D.N)( + 'symbolIcon.snippetForeground', + 'The foreground color for snippet symbols. These symbols appear in the outline, breadcrumb, and suggest widget.' + ) + ), + Ce = (0, K.P6)( + 'symbolIcon.stringForeground', + { dark: K.dR, light: K.dR, hc: K.dR }, + (0, D.N)( + 'symbolIcon.stringForeground', + 'The foreground color for string symbols. These symbols appear in the outline, breadcrumb, and suggest widget.' + ) + ), + Se = (0, K.P6)( + 'symbolIcon.structForeground', + { dark: K.dR, light: K.dR, hc: K.dR }, + (0, D.N)( + 'symbolIcon.structForeground', + 'The foreground color for struct symbols. These symbols appear in the outline, breadcrumb, and suggest widget.' + ) + ), + ke = (0, K.P6)( + 'symbolIcon.textForeground', + { dark: K.dR, light: K.dR, hc: K.dR }, + (0, D.N)( + 'symbolIcon.textForeground', + 'The foreground color for text symbols. These symbols appear in the outline, breadcrumb, and suggest widget.' + ) + ), + xe = (0, K.P6)( + 'symbolIcon.typeParameterForeground', + { dark: K.dR, light: K.dR, hc: K.dR }, + (0, D.N)( + 'symbolIcon.typeParameterForeground', + 'The foreground color for type parameter symbols. These symbols appear in the outline, breadcrumb, and suggest widget.' + ) + ), + Le = (0, K.P6)( + 'symbolIcon.unitForeground', + { dark: K.dR, light: K.dR, hc: K.dR }, + (0, D.N)( + 'symbolIcon.unitForeground', + 'The foreground color for unit symbols. These symbols appear in the outline, breadcrumb, and suggest widget.' + ) + ), + Me = (0, K.P6)( + 'symbolIcon.variableForeground', + { dark: '#75BEFF', light: '#007ACC', hc: '#75BEFF' }, + (0, D.N)( + 'symbolIcon.variableForeground', + 'The foreground color for variable symbols. These symbols appear in the outline, breadcrumb, and suggest widget.' + ) + ); + (0, $.Ic)((e, t) => { + const i = e.getColor(G); + i && t.addRule(`${q.lA.symbolArray.cssSelector} { color: ${i}; }`); + const n = e.getColor(Z); + n && t.addRule(`${q.lA.symbolBoolean.cssSelector} { color: ${n}; }`); + const r = e.getColor(J); + r && t.addRule(`${q.lA.symbolClass.cssSelector} { color: ${r}; }`); + const s = e.getColor(he); + s && t.addRule(`${q.lA.symbolMethod.cssSelector} { color: ${s}; }`); + const o = e.getColor(Q); + o && t.addRule(`${q.lA.symbolColor.cssSelector} { color: ${o}; }`); + const a = e.getColor(X); + a && t.addRule(`${q.lA.symbolConstant.cssSelector} { color: ${a}; }`); + const l = e.getColor(ee); + l && + t.addRule(`${q.lA.symbolConstructor.cssSelector} { color: ${l}; }`); + const c = e.getColor(te); + c && + t.addRule( + `\n\t\t\t${q.lA.symbolValue.cssSelector},${q.lA.symbolEnum.cssSelector} { color: ${c}; }` + ); + const d = e.getColor(ie); + d && + t.addRule(`${q.lA.symbolEnumMember.cssSelector} { color: ${d}; }`); + const h = e.getColor(ne); + h && t.addRule(`${q.lA.symbolEvent.cssSelector} { color: ${h}; }`); + const u = e.getColor(re); + u && t.addRule(`${q.lA.symbolField.cssSelector} { color: ${u}; }`); + const g = e.getColor(se); + g && t.addRule(`${q.lA.symbolFile.cssSelector} { color: ${g}; }`); + const f = e.getColor(oe); + f && t.addRule(`${q.lA.symbolFolder.cssSelector} { color: ${f}; }`); + const p = e.getColor(ae); + p && t.addRule(`${q.lA.symbolFunction.cssSelector} { color: ${p}; }`); + const m = e.getColor(le); + m && + t.addRule(`${q.lA.symbolInterface.cssSelector} { color: ${m}; }`); + const _ = e.getColor(ce); + _ && t.addRule(`${q.lA.symbolKey.cssSelector} { color: ${_}; }`); + const b = e.getColor(de); + b && t.addRule(`${q.lA.symbolKeyword.cssSelector} { color: ${b}; }`); + const v = e.getColor(ue); + v && t.addRule(`${q.lA.symbolModule.cssSelector} { color: ${v}; }`); + const y = e.getColor(ge); + y && + t.addRule(`${q.lA.symbolNamespace.cssSelector} { color: ${y}; }`); + const w = e.getColor(fe); + w && t.addRule(`${q.lA.symbolNull.cssSelector} { color: ${w}; }`); + const C = e.getColor(pe); + C && t.addRule(`${q.lA.symbolNumber.cssSelector} { color: ${C}; }`); + const S = e.getColor(me); + S && t.addRule(`${q.lA.symbolObject.cssSelector} { color: ${S}; }`); + const k = e.getColor(_e); + k && t.addRule(`${q.lA.symbolOperator.cssSelector} { color: ${k}; }`); + const x = e.getColor(be); + x && t.addRule(`${q.lA.symbolPackage.cssSelector} { color: ${x}; }`); + const L = e.getColor(ve); + L && t.addRule(`${q.lA.symbolProperty.cssSelector} { color: ${L}; }`); + const M = e.getColor(ye); + M && + t.addRule(`${q.lA.symbolReference.cssSelector} { color: ${M}; }`); + const D = e.getColor(we); + D && t.addRule(`${q.lA.symbolSnippet.cssSelector} { color: ${D}; }`); + const N = e.getColor(Ce); + N && t.addRule(`${q.lA.symbolString.cssSelector} { color: ${N}; }`); + const E = e.getColor(Se); + E && t.addRule(`${q.lA.symbolStruct.cssSelector} { color: ${E}; }`); + const T = e.getColor(ke); + T && t.addRule(`${q.lA.symbolText.cssSelector} { color: ${T}; }`); + const I = e.getColor(xe); + I && + t.addRule( + `${q.lA.symbolTypeParameter.cssSelector} { color: ${I}; }` + ); + const O = e.getColor(Le); + O && t.addRule(`${q.lA.symbolUnit.cssSelector} { color: ${O}; }`); + const A = e.getColor(Me); + A && t.addRule(`${q.lA.symbolVariable.cssSelector} { color: ${A}; }`); + }); + var De, + Ne = i(65321), + Ee = i(43799), + Te = i(9802), + Ie = i(91847), + Oe = i(10829), + Ae = i(88810), + Re = i(53335), + Pe = i(50988), + Fe = i(59834), + Be = i(66663), + We = i(95935), + Ye = i(71144); + function He(e, t, i, n) { + const r = + n === De.ROOT_FOLDER + ? ['rootfolder-icon'] + : n === De.FOLDER + ? ['folder-icon'] + : ['file-icon']; + if (i) { + let s; + if ( + ((s = + i.scheme === Be.l.data + ? We.Vb.parseMetaData(i).get(We.Vb.META_DATA_LABEL) + : je((0, We.Hx)(i).toLowerCase())), + n === De.FOLDER) + ) + r.push(`${s}-name-folder-icon`); + else { + if (s) { + r.push(`${s}-name-file-icon`); + const e = s.split('.'); + for (let t = 1; t < e.length; t++) + r.push(`${e.slice(t).join('.')}-ext-file-icon`); + r.push('ext-file-icon'); + } + const n = (function (e, t, i) { + if (!i) return null; + let n = null; + if (i.scheme === Be.l.data) { + const e = We.Vb.parseMetaData(i).get(We.Vb.META_DATA_MIME); + e && (n = t.getModeId(e)); + } else { + const t = e.getModel(i); + t && (n = t.getModeId()); + } + return n && n !== Ye.XT + ? n + : t.getModeIdByFilepathOrFirstLine(i); + })(e, t, i); + n && r.push(`${je(n)}-lang-file-icon`); + } + } + return r; + } + function je(e) { + return e.replace(/\s/g, '\\$&'); + } + !(function (e) { + (e[(e.FILE = 0)] = 'FILE'), + (e[(e.FOLDER = 1)] = 'FOLDER'), + (e[(e.ROOT_FOLDER = 2)] = 'ROOT_FOLDER'); + })(De || (De = {})); + var Ve = i(51200), + ze = i(70666), + Ue = i(59365), + $e = i(84144), + Ke = i(90317), + qe = i(76033), + Ge = function (e, t, i, n) { + var r, + s = arguments.length, + o = + s < 3 + ? t + : null === n + ? (n = Object.getOwnPropertyDescriptor(t, i)) + : n; + if ( + 'object' == typeof Reflect && + 'function' == typeof Reflect.decorate + ) + o = Reflect.decorate(e, t, i, n); + else + for (var a = e.length - 1; a >= 0; a--) + (r = e[a]) && + (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); + return s > 3 && o && Object.defineProperty(t, i, o), o; + }, + Ze = function (e, t) { + return function (i, n) { + t(i, n, e); + }; + }; + const Je = (0, q.q5)('suggest-more-info', q.lA.chevronRight), + Qe = (0, K.P6)( + 'editorSuggestWidget.background', + { dark: K.D0, light: K.D0, hc: K.D0 }, + D.N( + 'editorSuggestWidgetBackground', + 'Background color of the suggest widget.' + ) + ), + Xe = (0, K.P6)( + 'editorSuggestWidget.border', + { dark: K.D1, light: K.D1, hc: K.D1 }, + D.N( + 'editorSuggestWidgetBorder', + 'Border color of the suggest widget.' + ) + ), + et = (0, K.P6)( + 'editorSuggestWidget.foreground', + { dark: K.NO, light: K.NO, hc: K.NO }, + D.N( + 'editorSuggestWidgetForeground', + 'Foreground color of the suggest widget.' + ) + ), + tt = (0, K.P6)( + 'editorSuggestWidget.selectedBackground', + { dark: K._b, light: K._b, hc: K._b }, + D.N( + 'editorSuggestWidgetSelectedBackground', + 'Background color of the selected entry in the suggest widget.' + ) + ), + it = (0, K.P6)( + 'editorSuggestWidget.highlightForeground', + { dark: K.Gw, light: K.Gw, hc: K.Gw }, + D.N( + 'editorSuggestWidgetHighlightForeground', + 'Color of the match highlights in the suggest widget.' + ) + ), + nt = /^(#([\da-f]{3}){1,2}|(rgb|hsl)a\(\s*(\d{1,3}%?\s*,\s*){3}(1|0?\.\d+)\)|(rgb|hsl)\(\s*\d{1,3}%?(\s*,\s*\d{1,3}%?){2}\s*\))$/i; + function rt(e) { + if (!e) return !1; + const t = e.completion; + return !!t.documentation || (t.detail && t.detail !== t.label); + } + function st(e) { + return `suggest-aria-id:${e}`; + } + let ot = class { + constructor(e, t, i, n, r, s) { + (this.widget = e), + (this.editor = t), + (this.triggerKeybindingLabel = i), + (this._modelService = n), + (this._modeService = r), + (this._themeService = s); + } + get templateId() { + return 'suggestion'; + } + renderTemplate(e) { + const t = Object.create(null); + (t.disposables = new a.SL()), + (t.root = e), + t.root.classList.add('show-file-icons'), + (t.icon = (0, Ne.R3)(e, (0, Ne.$)('.icon'))), + (t.colorspan = (0, Ne.R3)(t.icon, (0, Ne.$)('span.colorspan'))); + const i = (0, Ne.R3)(e, (0, Ne.$)('.contents')), + n = (0, Ne.R3)(i, (0, Ne.$)('.main')); + (t.iconContainer = (0, Ne.R3)(n, (0, Ne.$)('.icon-label.codicon'))), + (t.left = (0, Ne.R3)(n, (0, Ne.$)('span.left'))), + (t.right = (0, Ne.R3)(n, (0, Ne.$)('span.right'))), + (t.iconLabel = new Fe.g(t.left, { + supportHighlights: !0, + supportCodicons: !0, + })), + t.disposables.add(t.iconLabel), + (t.parametersLabel = (0, Ne.R3)( + t.left, + (0, Ne.$)('span.signature-label') + )), + (t.qualifierLabel = (0, Ne.R3)( + t.left, + (0, Ne.$)('span.qualifier-label') + )), + (t.detailsLabel = (0, Ne.R3)( + t.right, + (0, Ne.$)('span.details-label') + )), + (t.readMore = (0, Ne.R3)( + t.right, + (0, Ne.$)('span.readMore' + Je.cssSelector) + )), + (t.readMore.title = D.N( + 'readMore', + 'Read More ({0})', + this.triggerKeybindingLabel + )); + const r = () => { + const e = this.editor.getOptions(), + i = e.get(36), + r = i.fontFamily, + s = i.fontFeatureSettings, + o = e.get(97) || i.fontSize, + a = e.get(98) || i.lineHeight, + l = i.fontWeight, + c = `${o}px`, + d = `${a}px`; + (t.root.style.fontSize = c), + (t.root.style.fontWeight = l), + (n.style.fontFamily = r), + (n.style.fontFeatureSettings = s), + (n.style.lineHeight = d), + (t.icon.style.height = d), + (t.icon.style.width = d), + (t.readMore.style.height = d), + (t.readMore.style.width = d); + }; + return ( + r(), + t.disposables.add( + P.ju + .chain(this.editor.onDidChangeConfiguration.bind(this.editor)) + .filter( + (e) => + e.hasChanged(36) || e.hasChanged(97) || e.hasChanged(98) + ) + .on(r, null) + ), + t + ); + } + renderElement(e, t, i) { + const n = i, + s = e.completion, + o = 'string' == typeof s.label ? s.label : s.label.name; + (n.root.id = st(t)), (n.colorspan.style.backgroundColor = ''); + const a = { labelEscapeNewLines: !0, matches: (0, B.mB)(e.score) }; + let l = []; + if ( + 19 === s.kind && + (function (e, t) { + const i = + 'string' == typeof e.completion.label + ? e.completion.label + : e.completion.label.name; + return i.match(nt) + ? ((t[0] = i), !0) + : !( + 'string' != typeof e.completion.documentation || + !e.completion.documentation.match(nt) || + ((t[0] = e.completion.documentation), 0) + ); + })(e, l) + ) + (n.icon.className = 'icon customcolor'), + (n.iconContainer.className = 'icon hide'), + (n.colorspan.style.backgroundColor = l[0]); + else if ( + 20 === s.kind && + this._themeService.getFileIconTheme().hasFileIcons + ) { + (n.icon.className = 'icon hide'), + (n.iconContainer.className = 'icon hide'); + const e = He( + this._modelService, + this._modeService, + ze.o.from({ scheme: 'fake', path: o }), + De.FILE + ), + t = He( + this._modelService, + this._modeService, + ze.o.from({ scheme: 'fake', path: s.detail }), + De.FILE + ); + a.extraClasses = e.length > t.length ? e : t; + } else + 23 === s.kind && + this._themeService.getFileIconTheme().hasFolderIcons + ? ((n.icon.className = 'icon hide'), + (n.iconContainer.className = 'icon hide'), + (a.extraClasses = (0, r.xH)([ + He( + this._modelService, + this._modeService, + ze.o.from({ scheme: 'fake', path: o }), + De.FOLDER + ), + He( + this._modelService, + this._modeService, + ze.o.from({ scheme: 'fake', path: s.detail }), + De.FOLDER + ), + ]))) + : ((n.icon.className = 'icon hide'), + (n.iconContainer.className = ''), + (0, Ne.PT)( + n.iconContainer, + `suggest-icon ${(0, _.Sy)(s.kind)}` + )); + s.tags && + s.tags.indexOf(1) >= 0 && + ((a.extraClasses = (a.extraClasses || []).concat(['deprecated'])), + (a.matches = [])), + n.iconLabel.setLabel(o, void 0, a), + 'string' == typeof s.label + ? ((n.parametersLabel.textContent = ''), + (n.qualifierLabel.textContent = ''), + (n.detailsLabel.textContent = (s.detail || '').replace( + /\n.*$/m, + '' + )), + n.root.classList.add('string-label')) + : ((n.parametersLabel.textContent = ( + s.label.parameters || '' + ).replace(/\n.*$/m, '')), + (n.qualifierLabel.textContent = ( + s.label.qualifier || '' + ).replace(/\n.*$/m, '')), + (n.detailsLabel.textContent = (s.label.type || '').replace( + /\n.*$/m, + '' + )), + n.root.classList.remove('string-label')), + rt(e) + ? (n.right.classList.add('can-expand-details'), + (0, Ne.$Z)(n.readMore), + (n.readMore.onmousedown = (e) => { + e.stopPropagation(), e.preventDefault(); + }), + (n.readMore.onclick = (e) => { + e.stopPropagation(), + e.preventDefault(), + this.widget.toggleDetails(); + })) + : (n.right.classList.remove('can-expand-details'), + (0, Ne.Cp)(n.readMore), + (n.readMore.onmousedown = null), + (n.readMore.onclick = null)); + } + disposeTemplate(e) { + e.disposables.dispose(); + } + }; + ot = Ge([Ze(3, Ve.q), Ze(4, C.h), Ze(5, $.XE)], ot); + class at { + constructor(e, t, i, n, r) { + (this.widget = t), + (this.editor = i), + (this.markdownRenderer = n), + (this.kbToggleDetails = r), + (this.borderWidth = 1), + (this.disposables = new a.SL()), + (this.el = (0, Ne.R3)(e, (0, Ne.$)('.details'))), + this.disposables.add((0, a.OF)(() => e.removeChild(this.el))), + (this.body = (0, Ne.$)('.body')), + (this.scrollbar = new Te.s$(this.body, {})), + (0, Ne.R3)(this.el, this.scrollbar.getDomNode()), + this.disposables.add(this.scrollbar), + (this.header = (0, Ne.R3)(this.body, (0, Ne.$)('.header'))), + (this.close = (0, Ne.R3)( + this.header, + (0, Ne.$)('span' + q.lA.close.cssSelector) + )), + (this.close.title = D.N( + 'readLess', + 'Read Less ({0})', + this.kbToggleDetails + )), + (this.type = (0, Ne.R3)(this.header, (0, Ne.$)('p.type'))), + (this.docs = (0, Ne.R3)(this.body, (0, Ne.$)('p.docs'))), + this.configureFont(), + P.ju + .chain(this.editor.onDidChangeConfiguration.bind(this.editor)) + .filter((e) => e.hasChanged(36)) + .on(this.configureFont, this, this.disposables), + n.onDidRenderCodeBlock( + () => this.scrollbar.scanDomNode(), + this, + this.disposables + ); + } + get element() { + return this.el; + } + renderLoading() { + (this.type.textContent = D.N('loading', 'Loading...')), + (this.docs.textContent = ''); + } + renderItem(e, t) { + (0, a.B9)(this.renderDisposeable), + (this.renderDisposeable = void 0); + let { documentation: i, detail: n } = e.completion; + if (t) { + let t = ''; + (t += `score: ${e.score[0]}${ + e.word + ? `, compared '${ + (e.completion.filterText && + e.completion.filterText + ' (filterText)') || + e.completion.label + }' with '${e.word}'` + : ' (no prefix)' + }\n`), + (t += `distance: ${e.distance}, see localityBonus-setting\n`), + (t += `index: ${e.idx}, based on ${ + (e.completion.sortText && + `sortText: "${e.completion.sortText}"`) || + 'label' + }\n`), + (i = new Ue.W5().appendCodeblock('empty', t)), + (n = `Provider: ${e.provider._debugDisplayName}`); + } + if (!t && !rt(e)) + return ( + (this.type.textContent = ''), + (this.docs.textContent = ''), + void this.el.classList.add('no-docs') + ); + if ((this.el.classList.remove('no-docs'), 'string' == typeof i)) + this.docs.classList.remove('markdown-docs'), + (this.docs.textContent = i); + else { + this.docs.classList.add('markdown-docs'), + (this.docs.innerText = ''); + const e = this.markdownRenderer.render(i); + (this.renderDisposeable = e), this.docs.appendChild(e.element); + } + n + ? ((this.type.innerText = + n.length > 1e5 ? `${n.substr(0, 1e5)}…` : n), + (0, Ne.$Z)(this.type)) + : ((this.type.innerText = ''), (0, Ne.Cp)(this.type)), + (this.el.style.height = + this.header.offsetHeight + + this.docs.offsetHeight + + 2 * this.borderWidth + + 'px'), + (this.el.style.userSelect = 'text'), + (this.el.tabIndex = -1), + (this.close.onmousedown = (e) => { + e.preventDefault(), e.stopPropagation(); + }), + (this.close.onclick = (e) => { + e.preventDefault(), + e.stopPropagation(), + this.widget.toggleDetails(); + }), + (this.body.scrollTop = 0), + this.scrollbar.scanDomNode(); + } + scrollDown(e = 8) { + this.body.scrollTop += e; + } + scrollUp(e = 8) { + this.body.scrollTop -= e; + } + scrollTop() { + this.body.scrollTop = 0; + } + scrollBottom() { + this.body.scrollTop = this.body.scrollHeight; + } + pageDown() { + this.scrollDown(80); + } + pageUp() { + this.scrollUp(80); + } + setBorderWidth(e) { + this.borderWidth = e; + } + configureFont() { + const e = this.editor.getOptions(), + t = e.get(36), + i = t.fontFamily, + n = e.get(97) || t.fontSize, + r = e.get(98) || t.lineHeight, + s = t.fontWeight, + o = `${n}px`, + a = `${r}px`; + (this.el.style.fontSize = o), + (this.el.style.fontWeight = s), + (this.el.style.fontFeatureSettings = t.fontFeatureSettings), + (this.type.style.fontFamily = i), + (this.close.style.height = a), + (this.close.style.width = a); + } + dispose() { + this.disposables.dispose(), + (0, a.B9)(this.renderDisposeable), + (this.renderDisposeable = void 0); + } + } + let lt = class e { + constructor(e, t, i, n, s, o, l, c, d, h) { + var u, g; + (this.editor = e), + (this.telemetryService = t), + (this.allowEditorOverflow = !0), + (this.suppressMouseDown = !1), + (this.state = 0), + (this.isAddedAsContentWidget = !1), + (this.isAuto = !1), + (this.loadingTimeout = a.JT.None), + (this.currentSuggestionDetails = null), + (this.ignoreFocusEvents = !1), + (this.completionModel = null), + (this.showTimeout = new b._F()), + (this.toDispose = new a.SL()), + (this.onDidSelectEmitter = new P.Q5()), + (this.onDidFocusEmitter = new P.Q5()), + (this.onDidHideEmitter = new P.Q5()), + (this.onDidShowEmitter = new P.Q5()), + (this.onDidSelect = this.onDidSelectEmitter.event), + (this.onDidFocus = this.onDidFocusEmitter.event), + (this.onDidHide = this.onDidHideEmitter.event), + (this.onDidShow = this.onDidShowEmitter.event), + (this.maxWidgetWidth = 660), + (this.listWidth = 330), + (this.firstFocusInCurrentList = !1), + (this.preferDocPositionTop = !1), + (this.docsPositionPreviousWidgetY = null), + (this.explainMode = !1), + (this._onDetailsKeydown = new P.Q5()), + (this.onDetailsKeyDown = this._onDetailsKeydown.event); + const f = this.toDispose.add(new Re.$(e, l, c)), + p = + null !== + (g = + null === + (u = i.lookupKeybinding('toggleSuggestionDetails')) || + void 0 === u + ? void 0 + : u.getLabel()) && void 0 !== g + ? g + : ''; + (this.isAuto = !1), + (this.focusedItem = null), + (this.storageService = o), + (this.element = (0, Ne.$)('.editor-widget.suggest-widget')), + this.toDispose.add( + (0, Ne.nm)(this.element, 'click', (e) => { + e.target === this.element && this.hideWidget(); + }) + ), + (this.messageElement = (0, Ne.R3)( + this.element, + (0, Ne.$)('.message') + )), + (this.listElement = (0, Ne.R3)(this.element, (0, Ne.$)('.tree'))); + const m = () => + this.element.classList.toggle( + 'with-status-bar', + this.editor.getOption(96).statusBar.visible + ); + m(), + (this.statusBarElement = (0, Ne.R3)( + this.element, + (0, Ne.$)('.suggest-status-bar') + )); + const _ = (e) => { + const t = i.lookupKeybindings(e.id); + return new (class extends qe.g { + constructor() { + super(void 0, e, { label: !0, icon: !1 }); + } + updateLabel() { + if ((0, r.XY)(t) || !this.label) return super.updateLabel(); + const { label: e } = this.getAction(); + this.label.textContent = /{\d}/.test(e) + ? W.WU(this.getAction().label, t[0].getLabel()) + : `${this.getAction().label} (${t[0].getLabel()})`; + } + })(); + }, + v = new Ke.o(this.statusBarElement, { + actionViewItemProvider: _, + }), + y = new Ke.o(this.statusBarElement, { + actionViewItemProvider: _, + }), + w = d.createMenu(I.GI, n); + this.toDispose.add( + w.onDidChange(() => + (() => { + const e = [], + t = []; + for (let [i, n] of w.getActions()) + 'left' === i ? e.push(...n) : t.push(...n); + v.clear(), v.push(e), y.clear(), y.push(t); + })() + ) + ), + this.toDispose.add(w), + (this.details = h.createInstance( + at, + this.element, + this, + this.editor, + f, + p + )); + const C = () => + this.element.classList.toggle( + 'no-icons', + !this.editor.getOption(96).showIcons + ); + C(); + let S = h.createInstance(ot, this, this.editor, p); + (this.list = new Ee.aV( + 'SuggestWidget', + this.listElement, + this, + [S], + { + useShadows: !1, + mouseSupport: !1, + accessibilityProvider: { + getRole: () => 'option', + getAriaLabel: (e) => { + const t = + 'string' == typeof e.completion.label + ? e.completion.label + : e.completion.label.name; + if (e.isResolved && this.expandDocsSettingFromStorage()) { + const { documentation: i, detail: n } = e.completion, + r = W.WU( + '{0}{1}', + n || '', + i ? ('string' == typeof i ? i : i.value) : '' + ); + return D.N( + 'ariaCurrenttSuggestionReadDetails', + '{0}, docs: {1}', + t, + r + ); + } + return t; + }, + getWidgetAriaLabel: () => D.N('suggest', 'Suggest'), + getWidgetRole: () => 'listbox', + }, + } + )), + this.toDispose.add( + (0, Ae.Jl)(this.list, s, { + listInactiveFocusBackground: tt, + listInactiveFocusOutline: K.xL, + }) + ), + this.toDispose.add( + s.onDidColorThemeChange((e) => this.onThemeChange(e)) + ), + this.toDispose.add( + e.onDidLayoutChange(() => this.onEditorLayoutChange()) + ), + this.toDispose.add( + this.list.onMouseDown((e) => this.onListMouseDownOrTap(e)) + ), + this.toDispose.add( + this.list.onTap((e) => this.onListMouseDownOrTap(e)) + ), + this.toDispose.add( + this.list.onDidChangeSelection((e) => this.onListSelection(e)) + ), + this.toDispose.add( + this.list.onDidChangeFocus((e) => this.onListFocus(e)) + ), + this.toDispose.add( + this.editor.onDidChangeCursorSelection(() => + this.onCursorSelectionChanged() + ) + ), + this.toDispose.add( + this.editor.onDidChangeConfiguration((e) => { + e.hasChanged(96) && (m(), C()); + }) + ), + (this.ctxSuggestWidgetVisible = I._y.Visible.bindTo(n)), + (this.ctxSuggestWidgetDetailsVisible = I._y.DetailsVisible.bindTo( + n + )), + (this.ctxSuggestWidgetMultipleSuggestions = I._y.MultipleSuggestions.bindTo( + n + )), + this.onThemeChange(s.getColorTheme()), + this.toDispose.add( + (0, Ne.mu)(this.details.element, 'keydown', (e) => { + this._onDetailsKeydown.fire(e); + }) + ), + this.toDispose.add( + this.editor.onMouseDown((e) => this.onEditorMouseDown(e)) + ); + } + onEditorMouseDown(e) { + this.details.element.contains(e.target.element) + ? this.details.element.focus() + : this.element.contains(e.target.element) && this.editor.focus(); + } + onCursorSelectionChanged() { + 0 !== this.state && this.editor.layoutContentWidget(this); + } + onEditorLayoutChange() { + (3 !== this.state && 5 !== this.state) || + !this.expandDocsSettingFromStorage() || + this.expandSideOrBelow(); + } + onListMouseDownOrTap(e) { + void 0 !== e.element && + void 0 !== e.index && + (e.browserEvent.preventDefault(), + e.browserEvent.stopPropagation(), + this.select(e.element, e.index)); + } + onListSelection(e) { + e.elements.length && this.select(e.elements[0], e.indexes[0]); + } + select(e, t) { + const i = this.completionModel; + i && + (this.onDidSelectEmitter.fire({ item: e, index: t, model: i }), + this.editor.focus()); + } + onThemeChange(e) { + const t = e.getColor(Qe); + t && + ((this.listElement.style.backgroundColor = t.toString()), + (this.statusBarElement.style.backgroundColor = t.toString()), + (this.details.element.style.backgroundColor = t.toString()), + (this.messageElement.style.backgroundColor = t.toString())); + const i = e.getColor(Xe); + i && + ((this.listElement.style.borderColor = i.toString()), + (this.statusBarElement.style.borderColor = i.toString()), + (this.details.element.style.borderColor = i.toString()), + (this.messageElement.style.borderColor = i.toString()), + (this.detailsBorderColor = i.toString())); + const n = e.getColor(K.R8); + n && (this.detailsFocusBorderColor = n.toString()), + this.details.setBorderWidth('hc' === e.type ? 2 : 1); + } + onListFocus(e) { + if (this.ignoreFocusEvents) return; + if (!e.elements.length) + return ( + this.currentSuggestionDetails && + (this.currentSuggestionDetails.cancel(), + (this.currentSuggestionDetails = null), + (this.focusedItem = null)), + void this.editor.setAriaOptions({ activeDescendant: void 0 }) + ); + if (!this.completionModel) return; + const t = e.elements[0], + i = e.indexes[0]; + (this.firstFocusInCurrentList = !this.focusedItem), + t !== this.focusedItem && + (this.currentSuggestionDetails && + (this.currentSuggestionDetails.cancel(), + (this.currentSuggestionDetails = null)), + (this.focusedItem = t), + this.list.reveal(i), + (this.currentSuggestionDetails = (0, b.PG)((e) => { + return ( + (i = this), + (n = void 0), + (s = function* () { + const i = (0, b.Vg)(() => this.showDetails(!0), 250); + e.onCancellationRequested(() => i.dispose()); + const n = yield t.resolve(e); + return i.dispose(), n; + }), + new ((r = void 0) || (r = Promise))(function (e, t) { + function o(e) { + try { + l(s.next(e)); + } catch (e) { + t(e); + } + } + function a(e) { + try { + l(s.throw(e)); + } catch (e) { + t(e); + } + } + function l(t) { + var i; + t.done + ? e(t.value) + : ((i = t.value), + i instanceof r + ? i + : new r(function (e) { + e(i); + })).then(o, a); + } + l((s = s.apply(i, n || [])).next()); + }) + ); + var i, n, r, s; + })), + this.currentSuggestionDetails + .then(() => { + i >= this.list.length || + t !== this.list.element(i) || + ((this.ignoreFocusEvents = !0), + this.list.splice(i, 1, [t]), + this.list.setFocus([i]), + (this.ignoreFocusEvents = !1), + this.expandDocsSettingFromStorage() + ? this.showDetails(!1) + : this.element.classList.remove('docs-side'), + this.editor.setAriaOptions({ activeDescendant: st(i) })); + }) + .catch(s.dL)), + this.onDidFocusEmitter.fire({ + item: t, + index: i, + model: this.completionModel, + }); + } + setState(t) { + if (!this.element) return; + this.isAddedAsContentWidget || + 0 === t || + ((this.isAddedAsContentWidget = !0), + this.editor.addContentWidget(this)); + const i = this.state !== t; + switch ( + ((this.state = t), + this.element.classList.toggle('frozen', 4 === t), + t) + ) { + case 0: + (0, Ne.Cp)( + this.messageElement, + this.details.element, + this.listElement, + this.statusBarElement + ), + this.hide(), + (this.listHeight = 0), + i && this.list.splice(0, this.list.length), + (this.focusedItem = null); + break; + case 1: + (this.messageElement.textContent = e.LOADING_MESSAGE), + (0, Ne.Cp)( + this.listElement, + this.details.element, + this.statusBarElement + ), + (0, Ne.$Z)(this.messageElement), + this.element.classList.remove('docs-side'), + this.show(), + (this.focusedItem = null); + break; + case 2: + (this.messageElement.textContent = e.NO_SUGGESTIONS_MESSAGE), + (0, Ne.Cp)( + this.listElement, + this.details.element, + this.statusBarElement + ), + (0, Ne.$Z)(this.messageElement), + this.element.classList.remove('docs-side'), + this.show(), + (this.focusedItem = null); + break; + case 3: + (0, Ne.Cp)(this.messageElement), + (0, Ne.$Z)(this.listElement, this.statusBarElement), + this.show(); + break; + case 4: + (0, Ne.Cp)(this.messageElement), + (0, Ne.$Z)(this.listElement), + this.show(); + break; + case 5: + (0, Ne.Cp)(this.messageElement), + (0, Ne.$Z)( + this.details.element, + this.listElement, + this.statusBarElement + ), + this.show(); + } + } + showTriggered(e, t) { + 0 === this.state && + ((this.isAuto = !!e), + this.isAuto || + (this.loadingTimeout = (0, b.Vg)(() => this.setState(1), t))); + } + showSuggestions(e, t, i, n) { + if ( + ((this.preferDocPositionTop = !1), + (this.docsPositionPreviousWidgetY = null), + this.loadingTimeout.dispose(), + this.currentSuggestionDetails && + (this.currentSuggestionDetails.cancel(), + (this.currentSuggestionDetails = null)), + this.completionModel !== e && (this.completionModel = e), + i && 2 !== this.state && 0 !== this.state) + ) + return void this.setState(4); + let r = this.completionModel.items.length; + const s = 0 === r; + if ((this.ctxSuggestWidgetMultipleSuggestions.set(r > 1), s)) + n ? this.setState(0) : this.setState(2), + (this.completionModel = null); + else { + if (3 !== this.state) { + const { stats: e } = this.completionModel; + (e.wasAutomaticallyTriggered = !!n), + this.telemetryService.publicLog( + 'suggestWidget', + Object.assign({}, e) + ); + } + (this.focusedItem = null), + this.list.splice( + 0, + this.list.length, + this.completionModel.items + ), + i ? this.setState(4) : this.setState(3), + this.list.reveal(t, 0), + this.list.setFocus([t]), + this.detailsBorderColor && + (this.details.element.style.borderColor = this.detailsBorderColor); + } + } + selectNextPage() { + switch (this.state) { + case 0: + return !1; + case 5: + return this.details.pageDown(), !0; + case 1: + return !this.isAuto; + default: + return this.list.focusNextPage(), !0; + } + } + selectNext() { + switch (this.state) { + case 0: + return !1; + case 1: + return !this.isAuto; + default: + return this.list.focusNext(1, !0), !0; + } + } + selectLast() { + switch (this.state) { + case 0: + return !1; + case 5: + return this.details.scrollBottom(), !0; + case 1: + return !this.isAuto; + default: + return this.list.focusLast(), !0; + } + } + selectPreviousPage() { + switch (this.state) { + case 0: + return !1; + case 5: + return this.details.pageUp(), !0; + case 1: + return !this.isAuto; + default: + return this.list.focusPreviousPage(), !0; + } + } + selectPrevious() { + switch (this.state) { + case 0: + return !1; + case 1: + return !this.isAuto; + default: + return this.list.focusPrevious(1, !0), !1; + } + } + selectFirst() { + switch (this.state) { + case 0: + return !1; + case 5: + return this.details.scrollTop(), !0; + case 1: + return !this.isAuto; + default: + return this.list.focusFirst(), !0; + } + } + getFocusedItem() { + if ( + 0 !== this.state && + 2 !== this.state && + 1 !== this.state && + this.completionModel + ) + return { + item: this.list.getFocusedElements()[0], + index: this.list.getFocus()[0], + model: this.completionModel, + }; + } + toggleDetailsFocus() { + 5 === this.state + ? (this.setState(3), + this.detailsBorderColor && + (this.details.element.style.borderColor = this.detailsBorderColor)) + : 3 === this.state && + this.expandDocsSettingFromStorage() && + (this.setState(5), + this.detailsFocusBorderColor && + (this.details.element.style.borderColor = this.detailsFocusBorderColor)), + this.telemetryService.publicLog2( + 'suggestWidget:toggleDetailsFocus' + ); + } + toggleDetails() { + if (rt(this.list.getFocusedElements()[0])) + if (this.expandDocsSettingFromStorage()) + this.ctxSuggestWidgetDetailsVisible.set(!1), + this.updateExpandDocsSetting(!1), + (0, Ne.Cp)(this.details.element), + this.element.classList.remove('docs-side', 'doc-below'), + this.editor.layoutContentWidget(this), + this.telemetryService.publicLog2( + 'suggestWidget:collapseDetails' + ); + else { + if (3 !== this.state && 5 !== this.state && 4 !== this.state) + return; + this.ctxSuggestWidgetDetailsVisible.set(!0), + this.updateExpandDocsSetting(!0), + this.showDetails(!1), + this.telemetryService.publicLog2( + 'suggestWidget:expandDetails' + ); + } + } + showDetails(e) { + e || this.expandSideOrBelow(), + (0, Ne.$Z)(this.details.element), + (this.details.element.style.maxHeight = + this.maxWidgetHeight + 'px'), + e + ? this.details.renderLoading() + : this.details.renderItem( + this.list.getFocusedElements()[0], + this.explainMode + ), + (this.listElement.style.marginTop = '0px'), + this.editor.layoutContentWidget(this), + this.adjustDocsPosition(), + this.editor.focus(); + } + toggleExplainMode() { + this.list.getFocusedElements()[0] && + this.expandDocsSettingFromStorage() && + ((this.explainMode = !this.explainMode), this.showDetails(!1)); + } + show() { + const e = this.updateListHeight(); + e !== this.listHeight && + (this.editor.layoutContentWidget(this), (this.listHeight = e)), + this.ctxSuggestWidgetVisible.set(!0), + this.showTimeout.cancelAndSet(() => { + this.element.classList.add('visible'), + this.onDidShowEmitter.fire(this); + }, 100); + } + hide() { + this.editor.layoutContentWidget(this), + this.ctxSuggestWidgetVisible.reset(), + this.ctxSuggestWidgetMultipleSuggestions.reset(), + this.element.classList.remove('visible'); + } + hideWidget() { + this.loadingTimeout.dispose(), + this.setState(0), + this.onDidHideEmitter.fire(this); + } + getPosition() { + if (0 === this.state) return null; + let e = [2, 1]; + return ( + this.preferDocPositionTop && (e = [1]), + { position: this.editor.getPosition(), preference: e } + ); + } + getDomNode() { + return this.element; + } + getId() { + return e.ID; + } + isFrozen() { + return 4 === this.state; + } + updateListHeight() { + let e = 0; + if (2 === this.state || 1 === this.state) e = this.unfocusedHeight; + else { + const t = this.list.contentHeight / this.unfocusedHeight, + { maxVisibleSuggestions: i } = this.editor.getOption(96); + e = Math.min(t, i) * this.unfocusedHeight; + } + return ( + (this.element.style.lineHeight = `${this.unfocusedHeight}px`), + (this.listElement.style.height = `${e}px`), + (this.statusBarElement.style.top = `${e}px`), + this.list.layout(e), + e + ); + } + adjustDocsPosition() { + if (!this.editor.hasModel()) return; + const e = this.editor.getOption(51), + t = this.editor.getScrolledVisiblePosition( + this.editor.getPosition() + ), + i = (0, Ne.i)(this.editor.getDomNode()), + n = i.left + t.left, + r = i.top + t.top + t.height, + s = (0, Ne.i)(this.element), + o = s.left, + a = s.top; + if ( + this.docsPositionPreviousWidgetY && + this.docsPositionPreviousWidgetY < a && + !this.preferDocPositionTop + ) + return ( + (this.preferDocPositionTop = !0), void this.adjustDocsPosition() + ); + (this.docsPositionPreviousWidgetY = a), + o < n - this.listWidth + ? this.element.classList.add('list-right') + : this.element.classList.remove('list-right'), + this.element.classList.contains('docs-side') && + r - e > a && + this.details.element.offsetHeight > + this.listElement.offsetHeight && + (this.listElement.style.marginTop = + this.details.element.offsetHeight - + this.listElement.offsetHeight + + 'px'); + } + expandSideOrBelow() { + if (!rt(this.focusedItem) && this.firstFocusInCurrentList) + return void this.element.classList.remove( + 'docs-side', + 'docs-below' + ); + let e = this.element.style.maxWidth.match(/(\d+)px/); + !e || Number(e[1]) < this.maxWidgetWidth + ? (this.element.classList.add('docs-below'), + this.element.classList.remove('docs-side')) + : rt(this.focusedItem) && + (this.element.classList.add('docs-side'), + this.element.classList.remove('docs-below')); + } + get maxWidgetHeight() { + return ( + this.unfocusedHeight * + this.editor.getOption(96).maxVisibleSuggestions + ); + } + get unfocusedHeight() { + const e = this.editor.getOptions(); + return e.get(98) || e.get(36).lineHeight; + } + getHeight(e) { + return this.unfocusedHeight; + } + getTemplateId(e) { + return 'suggestion'; + } + expandDocsSettingFromStorage() { + return this.storageService.getBoolean( + 'expandSuggestionDocs', + 0, + !1 + ); + } + updateExpandDocsSetting(e) { + this.storageService.store('expandSuggestionDocs', e, 0); + } + dispose() { + this.details.dispose(), + this.list.dispose(), + this.toDispose.dispose(), + this.loadingTimeout.dispose(), + this.showTimeout.dispose(), + this.editor.removeContentWidget(this); + } + }; + (lt.ID = 'editor.widget.suggestWidget'), + (lt.LOADING_MESSAGE = D.N('suggestWidget.loading', 'Loading...')), + (lt.NO_SUGGESTIONS_MESSAGE = D.N( + 'suggestWidget.noSuggestions', + 'No suggestions.' + )), + (lt = Ge( + [ + Ze(1, Oe.b), + Ze(2, Ie.d), + Ze(3, E.i6), + Ze(4, $.XE), + Ze(5, m.Uy), + Ze(6, C.h), + Ze(7, Pe.v4), + Ze(8, $e.co), + Ze(9, v.TG), + ], + lt + )), + (0, $.Ic)((e, t) => { + const i = e.getColor(it); + i && + t.addRule( + `.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-highlighted-label .highlight { color: ${i}; }` + ); + const n = e.getColor(et); + n && t.addRule(`.monaco-editor .suggest-widget { color: ${n}; }`); + const r = e.getColor(K.ur); + r && t.addRule(`.monaco-editor .suggest-widget a { color: ${r}; }`); + const s = e.getColor(K.Sw); + s && + t.addRule( + `.monaco-editor .suggest-widget code { background-color: ${s}; }` + ); + }); + let ct = class e extends a.JT { + constructor(t, i) { + super(), + (this._editor = t), + (this._enabled = !1), + (this._ckAtEnd = e.AtEnd.bindTo(i)), + this._register( + this._editor.onDidChangeConfiguration( + (e) => e.hasChanged(101) && this._update() + ) + ), + this._update(); + } + dispose() { + super.dispose(), + (0, a.B9)(this._selectionListener), + this._ckAtEnd.reset(); + } + _update() { + const e = 'on' === this._editor.getOption(101); + if (this._enabled !== e) + if (((this._enabled = e), this._enabled)) { + const e = () => { + if (!this._editor.hasModel()) + return void this._ckAtEnd.set(!1); + const e = this._editor.getModel(), + t = this._editor.getSelection(), + i = e.getWordAtPosition(t.getStartPosition()); + i + ? this._ckAtEnd.set( + i.endColumn === t.getStartPosition().column + ) + : this._ckAtEnd.set(!1); + }; + (this._selectionListener = this._editor.onDidChangeCursorSelection( + e + )), + e(); + } else + this._selectionListener && + (this._ckAtEnd.reset(), + this._selectionListener.dispose(), + (this._selectionListener = void 0)); + } + }; + (ct.AtEnd = new E.uy('atEndOfWord', !1)), + (ct = (function (e, t, i, n) { + var r, + s = arguments.length, + o = + s < 3 + ? t + : null === n + ? (n = Object.getOwnPropertyDescriptor(t, i)) + : n; + if ( + 'object' == typeof Reflect && + 'function' == typeof Reflect.decorate + ) + o = Reflect.decorate(e, t, i, n); + else + for (var a = e.length - 1; a >= 0; a--) + (r = e[a]) && + (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); + return s > 3 && o && Object.defineProperty(t, i, o), o; + })( + [ + (function (e, t) { + return function (i, n) { + t(i, n, e); + }; + })(1, E.i6), + ], + ct + )); + var dt = i(90469), + ht = i(98401), + ut = i(44906); + class gt { + constructor(e, t, i) { + (this._disposables = new a.SL()), + this._disposables.add( + t.onDidShow(() => this._onItem(t.getFocusedItem())) + ), + this._disposables.add(t.onDidFocus(this._onItem, this)), + this._disposables.add(t.onDidHide(this.reset, this)), + this._disposables.add( + e.onWillType((n) => { + if (this._active && !t.isFrozen()) { + const t = n.charCodeAt(n.length - 1); + this._active.acceptCharacters.has(t) && + e.getOption(0) && + i(this._active.item); + } + }) + ); + } + _onItem(e) { + if (!e || !(0, r.Of)(e.item.completion.commitCharacters)) + return void this.reset(); + if (this._active && this._active.item.item === e.item) return; + const t = new ut.q(); + for (const i of e.item.completion.commitCharacters) + i.length > 0 && t.add(i.charCodeAt(0)); + this._active = { acceptCharacters: t, item: e }; + } + reset() { + this._active = void 0; + } + dispose() { + this._disposables.dispose(); + } + } + class ft { + constructor(e, t) { + (this._disposables = new a.SL()), + (this._lastOvertyped = []), + (this._empty = !0), + this._disposables.add( + e.onWillType(() => { + if (!this._empty) return; + if (!e.hasModel()) return; + const t = e.getSelections(), + i = t.length; + let n = !1; + for (let e = 0; e < i; e++) + if (!t[e].isEmpty()) { + n = !0; + break; + } + if (!n) return; + this._lastOvertyped = []; + const r = e.getModel(); + for (let e = 0; e < i; e++) { + const i = t[e]; + if (r.getValueLengthInRange(i) > ft._maxSelectionLength) + return; + this._lastOvertyped[e] = { + value: r.getValueInRange(i), + multiline: i.startLineNumber !== i.endLineNumber, + }; + } + this._empty = !1; + }) + ), + this._disposables.add( + t.onDidCancel((e) => { + this._empty || (this._empty = !0); + }) + ); + } + getLastOvertypedInfo(e) { + if (!this._empty && e >= 0 && e < this._lastOvertyped.length) + return this._lastOvertyped[e]; + } + dispose() { + this._disposables.dispose(); + } + } + ft._maxSelectionLength = 51200; + var pt = i(50187), + mt = i(1432), + _t = i(43557), + bt = i(84013), + vt = i(84972), + yt = function (e, t) { + return function (i, n) { + t(i, n, e); + }; + }; + class wt { + constructor(e, t) { + if ( + ((this._model = e), + (this._position = t), + e.getLineMaxColumn(t.lineNumber) !== t.column) + ) { + const i = e.getOffsetAt(t), + n = e.getPositionAt(i + 1); + this._marker = e.deltaDecorations( + [], + [{ range: h.e.fromPositions(t, n), options: { stickiness: 1 } }] + ); + } + } + dispose() { + this._marker && + !this._model.isDisposed() && + this._model.deltaDecorations(this._marker, []); + } + delta(e) { + if ( + this._model.isDisposed() || + this._position.lineNumber !== e.lineNumber + ) + return 0; + if (this._marker) { + const t = this._model.getDecorationRange(this._marker[0]); + return ( + this._model.getOffsetAt(t.getStartPosition()) - + this._model.getOffsetAt(e) + ); + } + return this._model.getLineMaxColumn(e.lineNumber) - e.column; + } + } + let Ct = class e { + constructor(e, t, i, n, r, s, l, c) { + (this._memoryService = i), + (this._commandService = n), + (this._contextKeyService = r), + (this._instantiationService = s), + (this._logService = l), + (this._lineSuffix = new a.XK()), + (this._toDispose = new a.SL()), + (this.editor = e), + (this.model = new U(this.editor, t, c)), + (this.widget = this._toDispose.add( + new b.Ue(() => { + const e = this._instantiationService.createInstance( + lt, + this.editor + ); + this._toDispose.add(e), + this._toDispose.add( + e.onDidSelect((e) => this._insertSuggestion(e, 0), this) + ); + const t = new gt(this.editor, e, (e) => + this._insertSuggestion(e, 2) + ); + this._toDispose.add(t), + this._toDispose.add( + this.model.onDidSuggest((e) => { + 0 === e.completionModel.items.length && t.reset(); + }) + ); + const i = I._y.MakesTextEdit.bindTo(this._contextKeyService), + n = I._y.HasInsertAndReplaceRange.bindTo( + this._contextKeyService + ), + r = I._y.CanResolve.bindTo(this._contextKeyService); + return ( + this._toDispose.add( + (0, a.OF)(() => { + i.reset(), n.reset(), r.reset(); + }) + ), + this._toDispose.add( + e.onDidFocus(({ item: e }) => { + const t = this.editor.getPosition(), + s = e.editStart.column, + o = t.column; + let a = !0; + 'smart' !== this.editor.getOption(1) || + 2 !== this.model.state || + e.completion.command || + e.completion.additionalTextEdits || + 4 & e.completion.insertTextRules || + o - s !== e.completion.insertText.length || + (a = + this.editor + .getModel() + .getValueInRange({ + startLineNumber: t.lineNumber, + startColumn: s, + endLineNumber: t.lineNumber, + endColumn: o, + }) !== e.completion.insertText), + i.set(a), + n.set( + !pt.L.equals(e.editInsertEnd, e.editReplaceEnd) + ), + r.set( + Boolean(e.provider.resolveCompletionItem) || + Boolean(e.completion.documentation) || + e.completion.detail !== e.completion.label + ); + }) + ), + this._toDispose.add( + e.onDetailsKeyDown((e) => { + e.toKeybinding().equals(new o.QC(!0, !1, !1, !1, 33)) || + (mt.dz && + e.toKeybinding().equals(new o.QC(!1, !1, !1, !0, 33))) + ? e.stopPropagation() + : e.toKeybinding().isModifierKey() || + this.editor.focus(); + }) + ), + e + ); + }) + )), + (this._overtypingCapturer = this._toDispose.add( + new b.Ue(() => + this._toDispose.add(new ft(this.editor, this.model)) + ) + )), + (this._alternatives = this._toDispose.add( + new b.Ue(() => + this._toDispose.add( + new O(this.editor, this._contextKeyService) + ) + ) + )), + this._toDispose.add(s.createInstance(ct, e)), + this._toDispose.add( + this.model.onDidTrigger((e) => { + this.widget.value.showTriggered(e.auto, e.shy ? 250 : 50), + (this._lineSuffix.value = new wt( + this.editor.getModel(), + e.position + )); + }) + ), + this._toDispose.add( + this.model.onDidSuggest((e) => { + if (!e.shy) { + let t = this._memoryService.select( + this.editor.getModel(), + this.editor.getPosition(), + e.completionModel.items + ); + this.widget.value.showSuggestions( + e.completionModel, + t, + e.isFrozen, + e.auto + ); + } + }) + ), + this._toDispose.add( + this.model.onDidCancel((e) => { + e.retrigger || this.widget.value.hideWidget(); + }) + ), + this._toDispose.add( + this.editor.onDidBlurEditorWidget(() => { + this.model.cancel(), this.model.clear(); + }) + ); + let d = I._y.AcceptSuggestionsOnEnter.bindTo(r), + h = () => { + const e = this.editor.getOption(1); + d.set('on' === e || 'smart' === e); + }; + this._toDispose.add( + this.editor.onDidChangeConfiguration(() => h()) + ), + h(); + } + static get(t) { + return t.getContribution(e.ID); + } + dispose() { + this._alternatives.dispose(), + this._toDispose.dispose(), + this.widget.dispose(), + this.model.dispose(), + this._lineSuffix.dispose(); + } + _insertSuggestion(e, t) { + if (!e || !e.item) + return ( + this._alternatives.value.reset(), + this.model.cancel(), + void this.model.clear() + ); + if (!this.editor.hasModel()) return; + const i = this.editor.getModel(), + n = i.getAlternativeVersionId(), + { item: r } = e, + o = [], + a = new H.A(); + 1 & t || this.editor.pushUndoStop(); + const c = this.getOverwriteInfo(r, Boolean(8 & t)); + if ( + (this._memoryService.memorize(i, this.editor.getPosition(), r), + Array.isArray(r.completion.additionalTextEdits)) + ) { + const e = l.ZF.capture(this.editor); + this.editor.executeEdits( + 'suggestController.additionalTextEdits.sync', + r.completion.additionalTextEdits.map((e) => + d.h.replace(h.e.lift(e.range), e.text) + ) + ), + e.restoreRelativeVerticalPositionOfCursor(this.editor); + } else if (!r.isResolved) { + const e = new bt.G(!0); + let n; + const s = i.onDidChangeContent((e) => { + if (e.isFlush) return a.cancel(), void s.dispose(); + for (let t of e.changes) { + const e = h.e.getEndPosition(t.range); + (n && !pt.L.isBefore(e, n)) || (n = e); + } + }); + let c = t; + t |= 2; + let u = !1, + g = this.editor.onWillType(() => { + g.dispose(), (u = !0), 2 & c || this.editor.pushUndoStop(); + }); + o.push( + r + .resolve(a.token) + .then(() => { + if ( + !r.completion.additionalTextEdits || + a.token.isCancellationRequested + ) + return !1; + if ( + n && + r.completion.additionalTextEdits.some((e) => + pt.L.isBefore(n, h.e.getStartPosition(e.range)) + ) + ) + return !1; + u && this.editor.pushUndoStop(); + const e = l.ZF.capture(this.editor); + return ( + this.editor.executeEdits( + 'suggestController.additionalTextEdits.async', + r.completion.additionalTextEdits.map((e) => + d.h.replace(h.e.lift(e.range), e.text) + ) + ), + e.restoreRelativeVerticalPositionOfCursor(this.editor), + (!u && 2 & c) || this.editor.pushUndoStop(), + !0 + ); + }) + .then((t) => { + this._logService.trace( + '[suggest] async resolving of edits DONE (ms, applied?)', + e.elapsed(), + t + ), + s.dispose(), + g.dispose(); + }) + ); + } + let { insertText: u } = r.completion; + 4 & r.completion.insertTextRules || (u = f.Yj.escape(u)), + g.SnippetController2.get(this.editor).insert(u, { + overwriteBefore: c.overwriteBefore, + overwriteAfter: c.overwriteAfter, + undoStopBefore: !1, + undoStopAfter: !1, + adjustWhitespace: !(1 & r.completion.insertTextRules), + clipboardText: e.model.clipboardText, + overtypingCapturer: this._overtypingCapturer.value, + }), + 2 & t || this.editor.pushUndoStop(), + r.completion.command + ? r.completion.command.id === St.id + ? this.model.trigger({ auto: !0, shy: !1 }, !0) + : (o.push( + this._commandService + .executeCommand( + r.completion.command.id, + ...(r.completion.command.arguments + ? [...r.completion.command.arguments] + : []) + ) + .catch(s.dL) + ), + this.model.cancel()) + : this.model.cancel(), + 4 & t && + this._alternatives.value.set(e, (e) => { + for (a.cancel(); i.canUndo(); ) { + n !== i.getAlternativeVersionId() && i.undo(), + this._insertSuggestion(e, 3 | (8 & t ? 8 : 0)); + break; + } + }), + this._alertCompletionItem(r), + Promise.all(o).finally(() => { + this.model.clear(), a.dispose(); + }); + } + getOverwriteInfo(e, t) { + (0, ht.p_)(this.editor.hasModel()); + let i = 'replace' === this.editor.getOption(96).insertMode; + t && (i = !i); + const n = e.position.column - e.editStart.column, + r = + (i ? e.editReplaceEnd.column : e.editInsertEnd.column) - + e.position.column; + return { + overwriteBefore: + n + (this.editor.getPosition().column - e.position.column), + overwriteAfter: + r + + (this._lineSuffix.value + ? this._lineSuffix.value.delta(this.editor.getPosition()) + : 0), + }; + } + _alertCompletionItem({ completion: e }) { + const t = 'string' == typeof e.label ? e.label : e.label.name; + if ((0, r.Of)(e.additionalTextEdits)) { + let i = D.N( + 'arai.alert.snippet', + "Accepting '{0}' made {1} additional edits", + t, + e.additionalTextEdits.length + ); + (0, n.Z9)(i); + } + } + triggerSuggest(e) { + this.editor.hasModel() && + (this.model.trigger({ auto: !1, shy: !1 }, !1, e), + this.editor.revealLine(this.editor.getPosition().lineNumber, 0), + this.editor.focus()); + } + triggerSuggestAndAcceptBest(e) { + if (!this.editor.hasModel()) return; + const t = this.editor.getPosition(), + i = () => { + t.equals(this.editor.getPosition()) && + this._commandService.executeCommand(e.fallback); + }, + n = (e) => { + if ( + 4 & e.completion.insertTextRules || + e.completion.additionalTextEdits + ) + return !0; + const t = this.editor.getPosition(), + i = e.editStart.column, + n = t.column; + return ( + n - i !== e.completion.insertText.length || + this.editor + .getModel() + .getValueInRange({ + startLineNumber: t.lineNumber, + startColumn: i, + endLineNumber: t.lineNumber, + endColumn: n, + }) !== e.completion.insertText + ); + }; + P.ju.once(this.model.onDidTrigger)((e) => { + let t = []; + P.ju.any(this.model.onDidTrigger, this.model.onDidCancel)( + () => { + (0, a.B9)(t), i(); + }, + void 0, + t + ), + this.model.onDidSuggest( + ({ completionModel: e }) => { + if (((0, a.B9)(t), 0 === e.items.length)) return void i(); + const r = this._memoryService.select( + this.editor.getModel(), + this.editor.getPosition(), + e.items + ), + s = e.items[r]; + n(s) + ? (this.editor.pushUndoStop(), + this._insertSuggestion( + { index: r, item: s, model: e }, + 7 + )) + : i(); + }, + void 0, + t + ); + }), + this.model.trigger({ auto: !1, shy: !0 }), + this.editor.revealLine(t.lineNumber, 0), + this.editor.focus(); + } + acceptSelectedSuggestion(e, t) { + const i = this.widget.value.getFocusedItem(); + let n = 0; + e && (n |= 4), t && (n |= 8), this._insertSuggestion(i, n); + } + acceptNextSuggestion() { + this._alternatives.value.next(); + } + acceptPrevSuggestion() { + this._alternatives.value.prev(); + } + cancelSuggestWidget() { + this.model.cancel(), + this.model.clear(), + this.widget.value.hideWidget(); + } + selectNextSuggestion() { + this.widget.value.selectNext(); + } + selectNextPageSuggestion() { + this.widget.value.selectNextPage(); + } + selectLastSuggestion() { + this.widget.value.selectLast(); + } + selectPrevSuggestion() { + this.widget.value.selectPrevious(); + } + selectPrevPageSuggestion() { + this.widget.value.selectPreviousPage(); + } + selectFirstSuggestion() { + this.widget.value.selectFirst(); + } + toggleSuggestionDetails() { + this.widget.value.toggleDetails(); + } + toggleExplainMode() { + this.widget.value.toggleExplainMode(); + } + toggleSuggestionFocus() { + this.widget.value.toggleDetailsFocus(); + } + }; + (Ct.ID = 'editor.contrib.suggestController'), + (Ct = (function (e, t, i, n) { + var r, + s = arguments.length, + o = + s < 3 + ? t + : null === n + ? (n = Object.getOwnPropertyDescriptor(t, i)) + : n; + if ( + 'object' == typeof Reflect && + 'function' == typeof Reflect.decorate + ) + o = Reflect.decorate(e, t, i, n); + else + for (var a = e.length - 1; a >= 0; a--) + (r = e[a]) && + (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); + return s > 3 && o && Object.defineProperty(t, i, o), o; + })( + [ + yt(1, dt.p), + yt(2, M), + yt(3, N.H), + yt(4, E.i6), + yt(5, v.TG), + yt(6, _t.VZ), + yt(7, vt.p), + ], + Ct + )); + class St extends c.R6 { + constructor() { + super({ + id: St.id, + label: D.N('suggest.trigger.label', 'Trigger Suggest'), + alias: 'Trigger Suggest', + precondition: E.Ao.and( + u.u.writable, + u.u.hasCompletionItemProvider + ), + kbOpts: { + kbExpr: u.u.textInputFocus, + primary: 2058, + mac: { primary: 266, secondary: [521] }, + weight: 100, + }, + }); + } + run(e, t) { + const i = Ct.get(t); + i && i.triggerSuggest(); + } + } + (St.id = 'editor.action.triggerSuggest'), + (0, c._K)(Ct.ID, Ct), + (0, c.Qr)(St); + const kt = 190, + xt = c._l.bindToContribution(Ct.get); + (0, c.fK)( + new xt({ + id: 'acceptSelectedSuggestion', + precondition: I._y.Visible, + handler(e) { + e.acceptSelectedSuggestion(!0, !1); + }, + }) + ), + T.W.registerKeybindingRule({ + id: 'acceptSelectedSuggestion', + when: E.Ao.and(I._y.Visible, u.u.textInputFocus), + primary: 2, + weight: kt, + }), + T.W.registerKeybindingRule({ + id: 'acceptSelectedSuggestion', + when: E.Ao.and( + I._y.Visible, + u.u.textInputFocus, + I._y.AcceptSuggestionsOnEnter, + I._y.MakesTextEdit + ), + primary: 3, + weight: kt, + }), + $e.BH.appendMenuItem(I.GI, { + command: { + id: 'acceptSelectedSuggestion', + title: D.N( + { + key: 'accept.accept', + comment: ['{0} will be a keybinding, e.g "Enter to insert"'], + }, + '{0} to insert' + ), + }, + group: 'left', + order: 1, + when: I._y.HasInsertAndReplaceRange.toNegated(), + }), + $e.BH.appendMenuItem(I.GI, { + command: { + id: 'acceptSelectedSuggestion', + title: D.N( + { + key: 'accept.insert', + comment: ['{0} will be a keybinding, e.g "Enter to insert"'], + }, + '{0} to insert' + ), + }, + group: 'left', + order: 1, + when: E.Ao.and( + I._y.HasInsertAndReplaceRange, + E.Ao.equals('config.editor.suggest.insertMode', 'insert') + ), + }), + $e.BH.appendMenuItem(I.GI, { + command: { + id: 'acceptSelectedSuggestion', + title: D.N( + { + key: 'accept.replace', + comment: ['{0} will be a keybinding, e.g "Enter to replace"'], + }, + '{0} to replace' + ), + }, + group: 'left', + order: 1, + when: E.Ao.and( + I._y.HasInsertAndReplaceRange, + E.Ao.equals('config.editor.suggest.insertMode', 'replace') + ), + }), + (0, c.fK)( + new xt({ + id: 'acceptAlternativeSelectedSuggestion', + precondition: E.Ao.and(I._y.Visible, u.u.textInputFocus), + kbOpts: { + weight: kt, + kbExpr: u.u.textInputFocus, + primary: 1027, + secondary: [1026], + }, + handler(e) { + e.acceptSelectedSuggestion(!1, !0); + }, + menuOpts: [ + { + menuId: I.GI, + group: 'left', + order: 2, + when: E.Ao.and( + I._y.HasInsertAndReplaceRange, + E.Ao.equals('config.editor.suggest.insertMode', 'insert') + ), + title: D.N( + { + key: 'accept.replace', + comment: [ + '{0} will be a keybinding, e.g "Enter to replace"', + ], + }, + '{0} to replace' + ), + }, + { + menuId: I.GI, + group: 'left', + order: 2, + when: E.Ao.and( + I._y.HasInsertAndReplaceRange, + E.Ao.equals('config.editor.suggest.insertMode', 'replace') + ), + title: D.N( + { + key: 'accept.insert', + comment: [ + '{0} will be a keybinding, e.g "Enter to insert"', + ], + }, + '{0} to insert' + ), + }, + ], + }) + ), + N.P.registerCommandAlias( + 'acceptSelectedSuggestionOnEnter', + 'acceptSelectedSuggestion' + ), + (0, c.fK)( + new xt({ + id: 'hideSuggestWidget', + precondition: I._y.Visible, + handler: (e) => e.cancelSuggestWidget(), + kbOpts: { + weight: kt, + kbExpr: u.u.textInputFocus, + primary: 9, + secondary: [1033], + }, + }) + ), + (0, c.fK)( + new xt({ + id: 'selectNextSuggestion', + precondition: E.Ao.and(I._y.Visible, I._y.MultipleSuggestions), + handler: (e) => e.selectNextSuggestion(), + kbOpts: { + weight: kt, + kbExpr: u.u.textInputFocus, + primary: 18, + secondary: [2066], + mac: { primary: 18, secondary: [2066, 300] }, + }, + }) + ), + (0, c.fK)( + new xt({ + id: 'selectNextPageSuggestion', + precondition: E.Ao.and(I._y.Visible, I._y.MultipleSuggestions), + handler: (e) => e.selectNextPageSuggestion(), + kbOpts: { + weight: kt, + kbExpr: u.u.textInputFocus, + primary: 12, + secondary: [2060], + }, + }) + ), + (0, c.fK)( + new xt({ + id: 'selectLastSuggestion', + precondition: E.Ao.and(I._y.Visible, I._y.MultipleSuggestions), + handler: (e) => e.selectLastSuggestion(), + }) + ), + (0, c.fK)( + new xt({ + id: 'selectPrevSuggestion', + precondition: E.Ao.and(I._y.Visible, I._y.MultipleSuggestions), + handler: (e) => e.selectPrevSuggestion(), + kbOpts: { + weight: kt, + kbExpr: u.u.textInputFocus, + primary: 16, + secondary: [2064], + mac: { primary: 16, secondary: [2064, 302] }, + }, + }) + ), + (0, c.fK)( + new xt({ + id: 'selectPrevPageSuggestion', + precondition: E.Ao.and(I._y.Visible, I._y.MultipleSuggestions), + handler: (e) => e.selectPrevPageSuggestion(), + kbOpts: { + weight: kt, + kbExpr: u.u.textInputFocus, + primary: 11, + secondary: [2059], + }, + }) + ), + (0, c.fK)( + new xt({ + id: 'selectFirstSuggestion', + precondition: E.Ao.and(I._y.Visible, I._y.MultipleSuggestions), + handler: (e) => e.selectFirstSuggestion(), + }) + ), + (0, c.fK)( + new xt({ + id: 'toggleSuggestionDetails', + precondition: I._y.Visible, + handler: (e) => e.toggleSuggestionDetails(), + kbOpts: { + weight: kt, + kbExpr: u.u.textInputFocus, + primary: 2058, + mac: { primary: 266 }, + }, + menuOpts: [ + { + menuId: I.GI, + group: 'right', + order: 1, + when: E.Ao.and(I._y.DetailsVisible, I._y.CanResolve), + title: D.N('detail.more', 'show less'), + }, + { + menuId: I.GI, + group: 'right', + order: 1, + when: E.Ao.and( + I._y.DetailsVisible.toNegated(), + I._y.CanResolve + ), + title: D.N('detail.less', 'show more'), + }, + ], + }) + ), + (0, c.fK)( + new xt({ + id: 'toggleExplainMode', + precondition: I._y.Visible, + handler: (e) => e.toggleExplainMode(), + kbOpts: { weight: 100, primary: 2133 }, + }) + ), + (0, c.fK)( + new xt({ + id: 'toggleSuggestionFocus', + precondition: I._y.Visible, + handler: (e) => e.toggleSuggestionFocus(), + kbOpts: { + weight: kt, + kbExpr: u.u.textInputFocus, + primary: 2570, + mac: { primary: 778 }, + }, + }) + ), + (0, c.fK)( + new xt({ + id: 'insertBestCompletion', + precondition: E.Ao.and( + u.u.textInputFocus, + E.Ao.equals('config.editor.tabCompletion', 'on'), + ct.AtEnd, + I._y.Visible.toNegated(), + O.OtherSuggestions.toNegated(), + g.SnippetController2.InSnippetMode.toNegated() + ), + handler: (e, t) => { + e.triggerSuggestAndAcceptBest( + (0, ht.Kn)(t) + ? Object.assign({ fallback: 'tab' }, t) + : { fallback: 'tab' } + ); + }, + kbOpts: { weight: kt, primary: 2 }, + }) + ), + (0, c.fK)( + new xt({ + id: 'insertNextSuggestion', + precondition: E.Ao.and( + u.u.textInputFocus, + E.Ao.equals('config.editor.tabCompletion', 'on'), + O.OtherSuggestions, + I._y.Visible.toNegated(), + g.SnippetController2.InSnippetMode.toNegated() + ), + handler: (e) => e.acceptNextSuggestion(), + kbOpts: { weight: kt, kbExpr: u.u.textInputFocus, primary: 2 }, + }) + ), + (0, c.fK)( + new xt({ + id: 'insertPrevSuggestion', + precondition: E.Ao.and( + u.u.textInputFocus, + E.Ao.equals('config.editor.tabCompletion', 'on'), + O.OtherSuggestions, + I._y.Visible.toNegated(), + g.SnippetController2.InSnippetMode.toNegated() + ), + handler: (e) => e.acceptPrevSuggestion(), + kbOpts: { weight: kt, kbExpr: u.u.textInputFocus, primary: 1026 }, + }) + ); + }, + 19720: (e, t, i) => { + 'use strict'; + i.r(t), i.d(t, { ToggleTabFocusModeAction: () => a }); + var n = i(63580), + r = i(85152), + s = i(16830), + o = i(56345); + class a extends s.R6 { + constructor() { + super({ + id: a.ID, + label: n.N( + { + key: 'toggle.tabMovesFocus', + comment: [ + 'Turn on/off use of tab key for moving focus around VS Code', + ], + }, + 'Toggle Tab Key Moves Focus' + ), + alias: 'Toggle Tab Key Moves Focus', + precondition: void 0, + kbOpts: { + kbExpr: null, + primary: 2091, + mac: { primary: 1323 }, + weight: 100, + }, + }); + } + run(e, t) { + const i = !o.nG.getTabFocusMode(); + o.nG.setTabFocusMode(i), + i + ? (0, r.Z9)( + n.N( + 'toggle.tabMovesFocus.on', + 'Pressing Tab will now move focus to the next focusable element' + ) + ) + : (0, r.Z9)( + n.N( + 'toggle.tabMovesFocus.off', + 'Pressing Tab will now insert the tab character' + ) + ); + } + } + (a.ID = 'editor.action.toggleTabFocusMode'), (0, s.Qr)(a); + }, + 31725: (e, t, i) => { + 'use strict'; + i.r(t); + var n = i(63580), + r = i(5976), + s = i(16830), + o = i(11640), + a = i(28820), + l = function (e, t) { + return function (i, n) { + t(i, n, e); + }; + }; + const c = 'ignoreUnusualLineTerminators'; + let d = class extends r.JT { + constructor(e, t, i) { + super(), + (this._editor = e), + (this._dialogService = t), + (this._codeEditorService = i), + (this._config = this._editor.getOption(103)), + this._register( + this._editor.onDidChangeConfiguration((e) => { + e.hasChanged(103) && + ((this._config = this._editor.getOption(103)), + this._checkForUnusualLineTerminators()); + }) + ), + this._register( + this._editor.onDidChangeModel(() => { + this._checkForUnusualLineTerminators(); + }) + ), + this._register( + this._editor.onDidChangeModelContent((e) => { + e.isUndoing || this._checkForUnusualLineTerminators(); + }) + ); + } + _checkForUnusualLineTerminators() { + return ( + (e = this), + (t = void 0), + (r = function* () { + if ('off' === this._config) return; + if (!this._editor.hasModel()) return; + const e = this._editor.getModel(); + e.mightContainUnusualLineTerminators() && + !0 !== + (function (e, t) { + return e.getModelProperty(t.uri, c); + })(this._codeEditorService, e) && + (this._editor.getOption(72) || + ('auto' !== this._config + ? (yield this._dialogService.confirm({ + title: n.N( + 'unusualLineTerminators.title', + 'Unusual Line Terminators' + ), + message: n.N( + 'unusualLineTerminators.message', + 'Detected unusual line terminators' + ), + detail: n.N( + 'unusualLineTerminators.detail', + 'This file contains one or more unusual line terminator characters, like Line Separator (LS) or Paragraph Separator (PS).\n\nIt is recommended to remove them from the file. This can be configured via `editor.unusualLineTerminators`.' + ), + primaryButton: n.N( + 'unusualLineTerminators.fix', + 'Fix this file' + ), + secondaryButton: n.N( + 'unusualLineTerminators.ignore', + 'Ignore problem for this file' + ), + })).confirmed + ? e.removeUnusualLineTerminators( + this._editor.getSelections() + ) + : (function (e, t, i) { + e.setModelProperty(t.uri, c, !0); + })(this._codeEditorService, e) + : e.removeUnusualLineTerminators( + this._editor.getSelections() + ))); + }), + new ((i = void 0) || (i = Promise))(function (n, s) { + function o(e) { + try { + l(r.next(e)); + } catch (e) { + s(e); + } + } + function a(e) { + try { + l(r.throw(e)); + } catch (e) { + s(e); + } + } + function l(e) { + var t; + e.done + ? n(e.value) + : ((t = e.value), + t instanceof i + ? t + : new i(function (e) { + e(t); + })).then(o, a); + } + l((r = r.apply(e, t || [])).next()); + }) + ); + var e, t, i, r; + } + }; + (d.ID = 'editor.contrib.unusualLineTerminatorsDetector'), + (d = (function (e, t, i, n) { + var r, + s = arguments.length, + o = + s < 3 + ? t + : null === n + ? (n = Object.getOwnPropertyDescriptor(t, i)) + : n; + if ( + 'object' == typeof Reflect && + 'function' == typeof Reflect.decorate + ) + o = Reflect.decorate(e, t, i, n); + else + for (var a = e.length - 1; a >= 0; a--) + (r = e[a]) && + (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); + return s > 3 && o && Object.defineProperty(t, i, o), o; + })([l(1, a.S), l(2, o.$)], d)), + (0, s._K)(d.ID, d); + }, + 70185: (e, t, i) => { + 'use strict'; + i.r(t); + var n = i(15393), + r = i(5976), + s = i(16830), + o = i(43775), + a = i(51200), + l = i(65072), + c = i(97781), + d = i(33108), + h = i(32334), + u = function (e, t) { + return function (i, n) { + t(i, n, e); + }; + }; + let g = class e extends r.JT { + constructor(e, t, i, r) { + super(), + (this._modelService = t), + (this._themeService = i), + (this._configurationService = r), + (this._editor = e), + (this._tokenizeViewport = new n.pY( + () => this._tokenizeViewportNow(), + 100 + )), + (this._outstandingRequests = []), + this._register( + this._editor.onDidScrollChange(() => { + this._tokenizeViewport.schedule(); + }) + ), + this._register( + this._editor.onDidChangeModel(() => { + this._cancelAll(), this._tokenizeViewport.schedule(); + }) + ), + this._register( + this._editor.onDidChangeModelContent((e) => { + this._cancelAll(), this._tokenizeViewport.schedule(); + }) + ), + this._register( + o.K7.onDidChange(() => { + this._cancelAll(), this._tokenizeViewport.schedule(); + }) + ), + this._register( + this._configurationService.onDidChangeConfiguration((e) => { + e.affectsConfiguration(h.e3) && + (this._cancelAll(), this._tokenizeViewport.schedule()); + }) + ), + this._register( + this._themeService.onDidColorThemeChange(() => { + this._cancelAll(), this._tokenizeViewport.schedule(); + }) + ); + } + static _getSemanticColoringProvider(e) { + const t = o.K7.ordered(e); + return t.length > 0 ? t[0] : null; + } + _cancelAll() { + for (const e of this._outstandingRequests) e.cancel(); + this._outstandingRequests = []; + } + _removeOutstandingRequest(e) { + for (let t = 0, i = this._outstandingRequests.length; t < i; t++) + if (this._outstandingRequests[t] === e) + return void this._outstandingRequests.splice(t, 1); + } + _tokenizeViewportNow() { + if (!this._editor.hasModel()) return; + const t = this._editor.getModel(); + if (t.hasSemanticTokens()) return; + if (!(0, h.tw)(t, this._themeService, this._configurationService)) + return; + const i = e._getSemanticColoringProvider(t); + if (!i) return; + const n = this._modelService.getSemanticTokensProviderStyling(i), + r = this._editor.getVisibleRangesPlusViewportAboveBelow(); + this._outstandingRequests = this._outstandingRequests.concat( + r.map((e) => this._requestRange(t, e, i, n)) + ); + } + _requestRange(e, t, i, r) { + const s = e.getVersionId(), + o = (0, n.PG)((n) => + Promise.resolve(i.provideDocumentRangeSemanticTokens(e, t, n)) + ); + return ( + o + .then((i) => { + i && + !e.isDisposed() && + e.getVersionId() === s && + e.setPartialSemanticTokens( + t, + (0, l.h)(i, r, e.getLanguageIdentifier()) + ); + }) + .then( + () => this._removeOutstandingRequest(o), + () => this._removeOutstandingRequest(o) + ), + o + ); + } + }; + (g.ID = 'editor.contrib.viewportSemanticTokens'), + (g = (function (e, t, i, n) { + var r, + s = arguments.length, + o = + s < 3 + ? t + : null === n + ? (n = Object.getOwnPropertyDescriptor(t, i)) + : n; + if ( + 'object' == typeof Reflect && + 'function' == typeof Reflect.decorate + ) + o = Reflect.decorate(e, t, i, n); + else + for (var a = e.length - 1; a >= 0; a--) + (r = e[a]) && + (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); + return s > 3 && o && Object.defineProperty(t, i, o), o; + })([u(1, a.q), u(2, c.XE), u(3, d.Ui)], g)), + (0, s._K)(g.ID, g); + }, + 43497: (e, t, i) => { + 'use strict'; + i.r(t), i.d(t, { getOccurrencesAtPosition: () => L }); + var n = i(63580), + r = i(9488), + s = i(15393), + o = i(71050), + a = i(17301), + l = i(5976), + c = i(16830), + d = i(24314), + h = i(29102), + u = i(84973), + g = i(3411), + f = i(43775), + p = i(38819), + m = i(73910), + _ = i(97781), + b = i(85152); + const v = (0, m.P6)( + 'editor.wordHighlightBackground', + { dark: '#575757B8', light: '#57575740', hc: null }, + n.N( + 'wordHighlight', + 'Background color of a symbol during read-access, like reading a variable. The color must not be opaque so as not to hide underlying decorations.' + ), + !0 + ), + y = (0, m.P6)( + 'editor.wordHighlightStrongBackground', + { dark: '#004972B8', light: '#0e639c40', hc: null }, + n.N( + 'wordHighlightStrong', + 'Background color of a symbol during write-access, like writing to a variable. The color must not be opaque so as not to hide underlying decorations.' + ), + !0 + ), + w = (0, m.P6)( + 'editor.wordHighlightBorder', + { light: null, dark: null, hc: m.xL }, + n.N( + 'wordHighlightBorder', + 'Border color of a symbol during read-access, like reading a variable.' + ) + ), + C = (0, m.P6)( + 'editor.wordHighlightStrongBorder', + { light: null, dark: null, hc: m.xL }, + n.N( + 'wordHighlightStrongBorder', + 'Border color of a symbol during write-access, like writing to a variable.' + ) + ), + S = (0, m.P6)( + 'editorOverviewRuler.wordHighlightForeground', + { dark: '#A0A0A0CC', light: '#A0A0A0CC', hc: '#A0A0A0CC' }, + n.N( + 'overviewRulerWordHighlightForeground', + 'Overview ruler marker color for symbol highlights. The color must not be opaque so as not to hide underlying decorations.' + ), + !0 + ), + k = (0, m.P6)( + 'editorOverviewRuler.wordHighlightStrongForeground', + { dark: '#C0A0C0CC', light: '#C0A0C0CC', hc: '#C0A0C0CC' }, + n.N( + 'overviewRulerWordHighlightStrongForeground', + 'Overview ruler marker color for write-access symbol highlights. The color must not be opaque so as not to hide underlying decorations.' + ), + !0 + ), + x = new p.uy('hasWordHighlights', !1); + function L(e, t, i) { + const n = f.vH.ordered(e); + return (0, s.Ps)( + n.map((n) => () => + Promise.resolve(n.provideDocumentHighlights(e, t, i)).then( + void 0, + a.Cp + ) + ), + r.Of + ); + } + class M { + constructor(e, t, i) { + (this._wordRange = this._getCurrentWordRange(e, t)), + (this.result = (0, s.PG)((n) => this._compute(e, t, i, n))); + } + _getCurrentWordRange(e, t) { + const i = e.getWordAtPosition(t.getPosition()); + return i + ? new d.e( + t.startLineNumber, + i.startColumn, + t.startLineNumber, + i.endColumn + ) + : null; + } + isValid(e, t, i) { + const n = t.startLineNumber, + r = t.startColumn, + s = t.endColumn, + o = this._getCurrentWordRange(e, t); + let a = Boolean(this._wordRange && this._wordRange.equalsRange(o)); + for (let t = 0, o = i.length; !a && t < o; t++) { + let o = e.getDecorationRange(i[t]); + o && + o.startLineNumber === n && + o.startColumn <= r && + o.endColumn >= s && + (a = !0); + } + return a; + } + cancel() { + this.result.cancel(); + } + } + class D extends M { + _compute(e, t, i, n) { + return L(e, t.getPosition(), n).then((e) => e || []); + } + } + class N extends M { + constructor(e, t, i) { + super(e, t, i), (this._selectionIsEmpty = t.isEmpty()); + } + _compute(e, t, i, n) { + return (0, s.Vs)(250, n).then(() => { + if (!t.isEmpty()) return []; + const n = e.getWordAtPosition(t.getPosition()); + return !n || n.word.length > 1e3 + ? [] + : e + .findMatches(n.word, !0, !1, !0, i, !1) + .map((e) => ({ range: e.range, kind: f.MY.Text })); + }); + } + isValid(e, t, i) { + const n = t.isEmpty(); + return this._selectionIsEmpty === n && super.isValid(e, t, i); + } + } + (0, c.sb)('_executeDocumentHighlights', (e, t) => L(e, t, o.T.None)); + class E { + constructor(e, t) { + (this.toUnhook = new l.SL()), + (this.workerRequestTokenId = 0), + (this.workerRequestCompleted = !1), + (this.workerRequestValue = []), + (this.lastCursorPositionChangeTime = 0), + (this.renderDecorationsTimer = -1), + (this.editor = e), + (this._hasWordHighlights = x.bindTo(t)), + (this._ignorePositionChangeEvent = !1), + (this.occurrencesHighlight = this.editor.getOption(63)), + (this.model = this.editor.getModel()), + this.toUnhook.add( + e.onDidChangeCursorPosition((e) => { + this._ignorePositionChangeEvent || + (this.occurrencesHighlight && this._onPositionChanged(e)); + }) + ), + this.toUnhook.add( + e.onDidChangeModelContent((e) => { + this._stopAll(); + }) + ), + this.toUnhook.add( + e.onDidChangeConfiguration((e) => { + let t = this.editor.getOption(63); + this.occurrencesHighlight !== t && + ((this.occurrencesHighlight = t), this._stopAll()); + }) + ), + (this._decorationIds = []), + (this.workerRequestTokenId = 0), + (this.workerRequest = null), + (this.workerRequestCompleted = !1), + (this.lastCursorPositionChangeTime = 0), + (this.renderDecorationsTimer = -1); + } + hasDecorations() { + return this._decorationIds.length > 0; + } + restore() { + this.occurrencesHighlight && this._run(); + } + _getSortedHighlights() { + return r.kX( + this._decorationIds + .map((e) => this.model.getDecorationRange(e)) + .sort(d.e.compareRangesUsingStarts) + ); + } + moveNext() { + let e = this._getSortedHighlights(), + t = + (r.Zr(e, (e) => e.containsPosition(this.editor.getPosition())) + + 1) % + e.length, + i = e[t]; + try { + (this._ignorePositionChangeEvent = !0), + this.editor.setPosition(i.getStartPosition()), + this.editor.revealRangeInCenterIfOutsideViewport(i); + const n = this._getWord(); + if (n) { + const r = this.editor + .getModel() + .getLineContent(i.startLineNumber); + (0, b.Z9)(`${r}, ${t + 1} of ${e.length} for '${n.word}'`); + } + } finally { + this._ignorePositionChangeEvent = !1; + } + } + moveBack() { + let e = this._getSortedHighlights(), + t = + (r.Zr(e, (e) => e.containsPosition(this.editor.getPosition())) - + 1 + + e.length) % + e.length, + i = e[t]; + try { + (this._ignorePositionChangeEvent = !0), + this.editor.setPosition(i.getStartPosition()), + this.editor.revealRangeInCenterIfOutsideViewport(i); + const n = this._getWord(); + if (n) { + const r = this.editor + .getModel() + .getLineContent(i.startLineNumber); + (0, b.Z9)(`${r}, ${t + 1} of ${e.length} for '${n.word}'`); + } + } finally { + this._ignorePositionChangeEvent = !1; + } + } + _removeDecorations() { + this._decorationIds.length > 0 && + ((this._decorationIds = this.editor.deltaDecorations( + this._decorationIds, + [] + )), + this._hasWordHighlights.set(!1)); + } + _stopAll() { + this._removeDecorations(), + -1 !== this.renderDecorationsTimer && + (clearTimeout(this.renderDecorationsTimer), + (this.renderDecorationsTimer = -1)), + null !== this.workerRequest && + (this.workerRequest.cancel(), (this.workerRequest = null)), + this.workerRequestCompleted || + (this.workerRequestTokenId++, + (this.workerRequestCompleted = !0)); + } + _onPositionChanged(e) { + this.occurrencesHighlight && 3 === e.reason + ? this._run() + : this._stopAll(); + } + _getWord() { + let e = this.editor.getSelection(), + t = e.startLineNumber, + i = e.startColumn; + return this.model.getWordAtPosition({ lineNumber: t, column: i }); + } + _run() { + let e = this.editor.getSelection(); + if (e.startLineNumber !== e.endLineNumber) + return void this._stopAll(); + let t = e.startColumn, + i = e.endColumn; + const n = this._getWord(); + if (!n || n.startColumn > t || n.endColumn < i) + return void this._stopAll(); + const r = + this.workerRequest && + this.workerRequest.isValid(this.model, e, this._decorationIds); + if (((this.lastCursorPositionChangeTime = new Date().getTime()), r)) + this.workerRequestCompleted && + -1 !== this.renderDecorationsTimer && + (clearTimeout(this.renderDecorationsTimer), + (this.renderDecorationsTimer = -1), + this._beginRenderDecorations()); + else { + this._stopAll(); + let e = ++this.workerRequestTokenId; + (this.workerRequestCompleted = !1), + (this.workerRequest = + ((s = this.model), + (o = this.editor.getSelection()), + (l = this.editor.getOption(105)), + f.vH.has(s) ? new D(s, o, l) : new N(s, o, l))), + this.workerRequest.result.then((t) => { + e === this.workerRequestTokenId && + ((this.workerRequestCompleted = !0), + (this.workerRequestValue = t || []), + this._beginRenderDecorations()); + }, a.dL); + } + var s, o, l; + } + _beginRenderDecorations() { + let e = new Date().getTime(), + t = this.lastCursorPositionChangeTime + 250; + e >= t + ? ((this.renderDecorationsTimer = -1), this.renderDecorations()) + : (this.renderDecorationsTimer = setTimeout(() => { + this.renderDecorations(); + }, t - e)); + } + renderDecorations() { + this.renderDecorationsTimer = -1; + let e = []; + for (const t of this.workerRequestValue) + t.range && + e.push({ + range: t.range, + options: E._getDecorationOptions(t.kind), + }); + (this._decorationIds = this.editor.deltaDecorations( + this._decorationIds, + e + )), + this._hasWordHighlights.set(this.hasDecorations()); + } + static _getDecorationOptions(e) { + return e === f.MY.Write + ? this._WRITE_OPTIONS + : e === f.MY.Text + ? this._TEXT_OPTIONS + : this._REGULAR_OPTIONS; + } + dispose() { + this._stopAll(), this.toUnhook.dispose(); + } + } + (E._WRITE_OPTIONS = g.qx.register({ + stickiness: 1, + className: 'wordHighlightStrong', + overviewRuler: { color: (0, _.EN)(k), position: u.sh.Center }, + })), + (E._TEXT_OPTIONS = g.qx.register({ + stickiness: 1, + className: 'selectionHighlight', + overviewRuler: { color: (0, _.EN)(m.SP), position: u.sh.Center }, + })), + (E._REGULAR_OPTIONS = g.qx.register({ + stickiness: 1, + className: 'wordHighlight', + overviewRuler: { color: (0, _.EN)(S), position: u.sh.Center }, + })); + let T = class e extends l.JT { + constructor(e, t) { + super(), (this.wordHighlighter = null); + const i = () => { + e.hasModel() && (this.wordHighlighter = new E(e, t)); + }; + this._register( + e.onDidChangeModel((e) => { + this.wordHighlighter && + (this.wordHighlighter.dispose(), + (this.wordHighlighter = null)), + i(); + }) + ), + i(); + } + static get(t) { + return t.getContribution(e.ID); + } + saveViewState() { + return !( + !this.wordHighlighter || !this.wordHighlighter.hasDecorations() + ); + } + moveNext() { + this.wordHighlighter && this.wordHighlighter.moveNext(); + } + moveBack() { + this.wordHighlighter && this.wordHighlighter.moveBack(); + } + restoreViewState(e) { + this.wordHighlighter && e && this.wordHighlighter.restore(); + } + dispose() { + this.wordHighlighter && + (this.wordHighlighter.dispose(), (this.wordHighlighter = null)), + super.dispose(); + } + }; + var I, O; + (T.ID = 'editor.contrib.wordHighlighter'), + (T = (function (e, t, i, n) { + var r, + s = arguments.length, + o = + s < 3 + ? t + : null === n + ? (n = Object.getOwnPropertyDescriptor(t, i)) + : n; + if ( + 'object' == typeof Reflect && + 'function' == typeof Reflect.decorate + ) + o = Reflect.decorate(e, t, i, n); + else + for (var a = e.length - 1; a >= 0; a--) + (r = e[a]) && + (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); + return s > 3 && o && Object.defineProperty(t, i, o), o; + })( + [ + ((I = 1), + (O = p.i6), + function (e, t) { + O(e, t, I); + }), + ], + T + )); + class A extends c.R6 { + constructor(e, t) { + super(t), (this._isNext = e); + } + run(e, t) { + const i = T.get(t); + i && (this._isNext ? i.moveNext() : i.moveBack()); + } + } + class R extends c.R6 { + constructor() { + super({ + id: 'editor.action.wordHighlight.trigger', + label: n.N( + 'wordHighlight.trigger.label', + 'Trigger Symbol Highlight' + ), + alias: 'Trigger Symbol Highlight', + precondition: x.toNegated(), + kbOpts: { kbExpr: h.u.editorTextFocus, primary: 0, weight: 100 }, + }); + } + run(e, t, i) { + const n = T.get(t); + n && n.restoreViewState(!0); + } + } + (0, c._K)(T.ID, T), + (0, c.Qr)( + class extends A { + constructor() { + super(!0, { + id: 'editor.action.wordHighlight.next', + label: n.N( + 'wordHighlight.next.label', + 'Go to Next Symbol Highlight' + ), + alias: 'Go to Next Symbol Highlight', + precondition: x, + kbOpts: { + kbExpr: h.u.editorTextFocus, + primary: 65, + weight: 100, + }, + }); + } + } + ), + (0, c.Qr)( + class extends A { + constructor() { + super(!1, { + id: 'editor.action.wordHighlight.prev', + label: n.N( + 'wordHighlight.previous.label', + 'Go to Previous Symbol Highlight' + ), + alias: 'Go to Previous Symbol Highlight', + precondition: x, + kbOpts: { + kbExpr: h.u.editorTextFocus, + primary: 1089, + weight: 100, + }, + }); + } + } + ), + (0, c.Qr)(R), + (0, _.Ic)((e, t) => { + const i = e.getColor(m.Rz); + i && + (t.addRule( + `.monaco-editor .focused .selectionHighlight { background-color: ${i}; }` + ), + t.addRule( + `.monaco-editor .selectionHighlight { background-color: ${i.transparent( + 0.5 + )}; }` + )); + const n = e.getColor(v); + n && + t.addRule( + `.monaco-editor .wordHighlight { background-color: ${n}; }` + ); + const r = e.getColor(y); + r && + t.addRule( + `.monaco-editor .wordHighlightStrong { background-color: ${r}; }` + ); + const s = e.getColor(m.g_); + s && + t.addRule( + `.monaco-editor .selectionHighlight { border: 1px ${ + 'hc' === e.type ? 'dotted' : 'solid' + } ${s}; box-sizing: border-box; }` + ); + const o = e.getColor(w); + o && + t.addRule( + `.monaco-editor .wordHighlight { border: 1px ${ + 'hc' === e.type ? 'dashed' : 'solid' + } ${o}; box-sizing: border-box; }` + ); + const a = e.getColor(C); + a && + t.addRule( + `.monaco-editor .wordHighlightStrong { border: 1px ${ + 'hc' === e.type ? 'dashed' : 'solid' + } ${a}; box-sizing: border-box; }` + ); + }); + }, + 99453: (e, t, i) => { + 'use strict'; + i.r(t), + i.d(t, { + MoveWordCommand: () => p, + WordLeftCommand: () => m, + WordRightCommand: () => _, + CursorWordStartLeft: () => b, + CursorWordEndLeft: () => v, + CursorWordLeft: () => y, + CursorWordStartLeftSelect: () => w, + CursorWordEndLeftSelect: () => C, + CursorWordLeftSelect: () => S, + CursorWordAccessibilityLeft: () => k, + CursorWordAccessibilityLeftSelect: () => x, + CursorWordStartRight: () => L, + CursorWordEndRight: () => M, + CursorWordRight: () => D, + CursorWordStartRightSelect: () => N, + CursorWordEndRightSelect: () => E, + CursorWordRightSelect: () => T, + CursorWordAccessibilityRight: () => I, + CursorWordAccessibilityRightSelect: () => O, + DeleteWordCommand: () => A, + DeleteWordLeftCommand: () => R, + DeleteWordRightCommand: () => P, + DeleteWordStartLeft: () => F, + DeleteWordEndLeft: () => B, + DeleteWordLeft: () => W, + DeleteWordStartRight: () => Y, + DeleteWordEndRight: () => H, + DeleteWordRight: () => j, + }); + var n = i(16830), + r = i(61329), + s = i(33181), + o = i(5795), + a = i(59410), + l = i(50187), + c = i(24314), + d = i(3860), + h = i(29102), + u = i(31106), + g = i(38819), + f = i(64141); + class p extends n._l { + constructor(e) { + super(e), + (this._inSelectionMode = e.inSelectionMode), + (this._wordNavigationType = e.wordNavigationType); + } + runEditorCommand(e, t, i) { + if (!t.hasModel()) return; + const n = (0, a.u)(t.getOption(105)), + r = t.getModel(), + o = t.getSelections().map((e) => { + const t = new l.L(e.positionLineNumber, e.positionColumn), + i = this._move(n, r, t, this._wordNavigationType); + return this._moveTo(e, i, this._inSelectionMode); + }); + if ( + (r.pushStackElement(), + t._getViewModel().setCursorStates( + 'moveWordCommand', + 0, + o.map((e) => s.Vi.fromModelSelection(e)) + ), + 1 === o.length) + ) { + const e = new l.L(o[0].positionLineNumber, o[0].positionColumn); + t.revealPosition(e, 0); + } + } + _moveTo(e, t, i) { + return i + ? new d.Y( + e.selectionStartLineNumber, + e.selectionStartColumn, + t.lineNumber, + t.column + ) + : new d.Y(t.lineNumber, t.column, t.lineNumber, t.column); + } + } + class m extends p { + _move(e, t, i, n) { + return o.w.moveWordLeft(e, t, i, n); + } + } + class _ extends p { + _move(e, t, i, n) { + return o.w.moveWordRight(e, t, i, n); + } + } + class b extends m { + constructor() { + super({ + inSelectionMode: !1, + wordNavigationType: 0, + id: 'cursorWordStartLeft', + precondition: void 0, + }); + } + } + class v extends m { + constructor() { + super({ + inSelectionMode: !1, + wordNavigationType: 2, + id: 'cursorWordEndLeft', + precondition: void 0, + }); + } + } + class y extends m { + constructor() { + super({ + inSelectionMode: !1, + wordNavigationType: 1, + id: 'cursorWordLeft', + precondition: void 0, + kbOpts: { + kbExpr: h.u.textInputFocus, + primary: 2063, + mac: { primary: 527 }, + weight: 100, + }, + }); + } + } + class w extends m { + constructor() { + super({ + inSelectionMode: !0, + wordNavigationType: 0, + id: 'cursorWordStartLeftSelect', + precondition: void 0, + }); + } + } + class C extends m { + constructor() { + super({ + inSelectionMode: !0, + wordNavigationType: 2, + id: 'cursorWordEndLeftSelect', + precondition: void 0, + }); + } + } + class S extends m { + constructor() { + super({ + inSelectionMode: !0, + wordNavigationType: 1, + id: 'cursorWordLeftSelect', + precondition: void 0, + kbOpts: { + kbExpr: h.u.textInputFocus, + primary: 3087, + mac: { primary: 1551 }, + weight: 100, + }, + }); + } + } + class k extends m { + constructor() { + super({ + inSelectionMode: !1, + wordNavigationType: 3, + id: 'cursorWordAccessibilityLeft', + precondition: void 0, + kbOpts: { + kbExpr: g.Ao.and(h.u.textInputFocus, u.U), + win: { primary: 2063 }, + weight: 101, + }, + }); + } + _move(e, t, i, n) { + return super._move( + (0, a.u)(f.BH.wordSeparators.defaultValue), + t, + i, + n + ); + } + } + class x extends m { + constructor() { + super({ + inSelectionMode: !0, + wordNavigationType: 3, + id: 'cursorWordAccessibilityLeftSelect', + precondition: void 0, + kbOpts: { + kbExpr: g.Ao.and(h.u.textInputFocus, u.U), + win: { primary: 3087 }, + weight: 101, + }, + }); + } + _move(e, t, i, n) { + return super._move( + (0, a.u)(f.BH.wordSeparators.defaultValue), + t, + i, + n + ); + } + } + class L extends _ { + constructor() { + super({ + inSelectionMode: !1, + wordNavigationType: 0, + id: 'cursorWordStartRight', + precondition: void 0, + }); + } + } + class M extends _ { + constructor() { + super({ + inSelectionMode: !1, + wordNavigationType: 2, + id: 'cursorWordEndRight', + precondition: void 0, + kbOpts: { + kbExpr: h.u.textInputFocus, + primary: 2065, + mac: { primary: 529 }, + weight: 100, + }, + }); + } + } + class D extends _ { + constructor() { + super({ + inSelectionMode: !1, + wordNavigationType: 2, + id: 'cursorWordRight', + precondition: void 0, + }); + } + } + class N extends _ { + constructor() { + super({ + inSelectionMode: !0, + wordNavigationType: 0, + id: 'cursorWordStartRightSelect', + precondition: void 0, + }); + } + } + class E extends _ { + constructor() { + super({ + inSelectionMode: !0, + wordNavigationType: 2, + id: 'cursorWordEndRightSelect', + precondition: void 0, + kbOpts: { + kbExpr: h.u.textInputFocus, + primary: 3089, + mac: { primary: 1553 }, + weight: 100, + }, + }); + } + } + class T extends _ { + constructor() { + super({ + inSelectionMode: !0, + wordNavigationType: 2, + id: 'cursorWordRightSelect', + precondition: void 0, + }); + } + } + class I extends _ { + constructor() { + super({ + inSelectionMode: !1, + wordNavigationType: 3, + id: 'cursorWordAccessibilityRight', + precondition: void 0, + kbOpts: { + kbExpr: g.Ao.and(h.u.textInputFocus, u.U), + win: { primary: 2065 }, + weight: 101, + }, + }); + } + _move(e, t, i, n) { + return super._move( + (0, a.u)(f.BH.wordSeparators.defaultValue), + t, + i, + n + ); + } + } + class O extends _ { + constructor() { + super({ + inSelectionMode: !0, + wordNavigationType: 3, + id: 'cursorWordAccessibilityRightSelect', + precondition: void 0, + kbOpts: { + kbExpr: g.Ao.and(h.u.textInputFocus, u.U), + win: { primary: 3089 }, + weight: 101, + }, + }); + } + _move(e, t, i, n) { + return super._move( + (0, a.u)(f.BH.wordSeparators.defaultValue), + t, + i, + n + ); + } + } + class A extends n._l { + constructor(e) { + super(e), + (this._whitespaceHeuristics = e.whitespaceHeuristics), + (this._wordNavigationType = e.wordNavigationType); + } + runEditorCommand(e, t, i) { + if (!t.hasModel()) return; + const n = (0, a.u)(t.getOption(105)), + s = t.getModel(), + o = t.getSelections().map((e) => { + const t = this._delete( + n, + s, + e, + this._whitespaceHeuristics, + this._wordNavigationType + ); + return new r.T4(t, ''); + }); + t.pushUndoStop(), t.executeCommands(this.id, o), t.pushUndoStop(); + } + } + class R extends A { + _delete(e, t, i, n, r) { + return o.w.deleteWordLeft(e, t, i, n, r) || new c.e(1, 1, 1, 1); + } + } + class P extends A { + _delete(e, t, i, n, r) { + let s = o.w.deleteWordRight(e, t, i, n, r); + if (s) return s; + const a = t.getLineCount(), + l = t.getLineMaxColumn(a); + return new c.e(a, l, a, l); + } + } + class F extends R { + constructor() { + super({ + whitespaceHeuristics: !1, + wordNavigationType: 0, + id: 'deleteWordStartLeft', + precondition: h.u.writable, + }); + } + } + class B extends R { + constructor() { + super({ + whitespaceHeuristics: !1, + wordNavigationType: 2, + id: 'deleteWordEndLeft', + precondition: h.u.writable, + }); + } + } + class W extends R { + constructor() { + super({ + whitespaceHeuristics: !0, + wordNavigationType: 0, + id: 'deleteWordLeft', + precondition: h.u.writable, + kbOpts: { + kbExpr: h.u.textInputFocus, + primary: 2049, + mac: { primary: 513 }, + weight: 100, + }, + }); + } + } + class Y extends P { + constructor() { + super({ + whitespaceHeuristics: !1, + wordNavigationType: 0, + id: 'deleteWordStartRight', + precondition: h.u.writable, + }); + } + } + class H extends P { + constructor() { + super({ + whitespaceHeuristics: !1, + wordNavigationType: 2, + id: 'deleteWordEndRight', + precondition: h.u.writable, + }); + } + } + class j extends P { + constructor() { + super({ + whitespaceHeuristics: !0, + wordNavigationType: 2, + id: 'deleteWordRight', + precondition: h.u.writable, + kbOpts: { + kbExpr: h.u.textInputFocus, + primary: 2068, + mac: { primary: 532 }, + weight: 100, + }, + }); + } + } + (0, n.fK)(new b()), + (0, n.fK)(new v()), + (0, n.fK)(new y()), + (0, n.fK)(new w()), + (0, n.fK)(new C()), + (0, n.fK)(new S()), + (0, n.fK)(new L()), + (0, n.fK)(new M()), + (0, n.fK)(new D()), + (0, n.fK)(new N()), + (0, n.fK)(new E()), + (0, n.fK)(new T()), + (0, n.fK)(new k()), + (0, n.fK)(new x()), + (0, n.fK)(new I()), + (0, n.fK)(new O()), + (0, n.fK)(new F()), + (0, n.fK)(new B()), + (0, n.fK)(new W()), + (0, n.fK)(new Y()), + (0, n.fK)(new H()), + (0, n.fK)(new j()); + }, + 60661: (e, t, i) => { + 'use strict'; + i.r(t), + i.d(t, { + DeleteWordPartLeft: () => c, + DeleteWordPartRight: () => d, + WordPartLeftCommand: () => h, + CursorWordPartLeft: () => u, + CursorWordPartLeftSelect: () => g, + WordPartRightCommand: () => f, + CursorWordPartRight: () => p, + CursorWordPartRightSelect: () => m, + }); + var n = i(16830), + r = i(5795), + s = i(24314), + o = i(29102), + a = i(99453), + l = i(94565); + class c extends a.DeleteWordCommand { + constructor() { + super({ + whitespaceHeuristics: !0, + wordNavigationType: 0, + id: 'deleteWordPartLeft', + precondition: o.u.writable, + kbOpts: { + kbExpr: o.u.textInputFocus, + primary: 0, + mac: { primary: 769 }, + weight: 100, + }, + }); + } + _delete(e, t, i, n, o) { + return r.L.deleteWordPartLeft(e, t, i, n) || new s.e(1, 1, 1, 1); + } + } + class d extends a.DeleteWordCommand { + constructor() { + super({ + whitespaceHeuristics: !0, + wordNavigationType: 2, + id: 'deleteWordPartRight', + precondition: o.u.writable, + kbOpts: { + kbExpr: o.u.textInputFocus, + primary: 0, + mac: { primary: 788 }, + weight: 100, + }, + }); + } + _delete(e, t, i, n, o) { + let a = r.L.deleteWordPartRight(e, t, i, n); + if (a) return a; + const l = t.getLineCount(), + c = t.getLineMaxColumn(l); + return new s.e(l, c, l, c); + } + } + class h extends a.MoveWordCommand { + _move(e, t, i, n) { + return r.L.moveWordPartLeft(e, t, i); + } + } + class u extends h { + constructor() { + super({ + inSelectionMode: !1, + wordNavigationType: 0, + id: 'cursorWordPartLeft', + precondition: void 0, + kbOpts: { + kbExpr: o.u.textInputFocus, + primary: 0, + mac: { primary: 783 }, + weight: 100, + }, + }); + } + } + l.P.registerCommandAlias( + 'cursorWordPartStartLeft', + 'cursorWordPartLeft' + ); + class g extends h { + constructor() { + super({ + inSelectionMode: !0, + wordNavigationType: 0, + id: 'cursorWordPartLeftSelect', + precondition: void 0, + kbOpts: { + kbExpr: o.u.textInputFocus, + primary: 0, + mac: { primary: 1807 }, + weight: 100, + }, + }); + } + } + l.P.registerCommandAlias( + 'cursorWordPartStartLeftSelect', + 'cursorWordPartLeftSelect' + ); + class f extends a.MoveWordCommand { + _move(e, t, i, n) { + return r.L.moveWordPartRight(e, t, i); + } + } + class p extends f { + constructor() { + super({ + inSelectionMode: !1, + wordNavigationType: 2, + id: 'cursorWordPartRight', + precondition: void 0, + kbOpts: { + kbExpr: o.u.textInputFocus, + primary: 0, + mac: { primary: 785 }, + weight: 100, + }, + }); + } + } + class m extends f { + constructor() { + super({ + inSelectionMode: !0, + wordNavigationType: 2, + id: 'cursorWordPartRightSelect', + precondition: void 0, + kbOpts: { + kbExpr: o.u.textInputFocus, + primary: 0, + mac: { primary: 1809 }, + weight: 100, + }, + }); + } + } + (0, n.fK)(new c()), + (0, n.fK)(new d()), + (0, n.fK)(new u()), + (0, n.fK)(new g()), + (0, n.fK)(new p()), + (0, n.fK)(new m()); + }, + 34935: (e, t, i) => { + 'use strict'; + i.r(t), + i.d(t, { + CancellationTokenSource: () => ea, + Emitter: () => ta, + KeyCode: () => ia, + KeyMod: () => na, + MarkerSeverity: () => la, + MarkerTag: () => ca, + Position: () => ra, + Range: () => sa, + Selection: () => oa, + SelectionDirection: () => aa, + Token: () => ha, + Uri: () => da, + editor: () => ua, + languages: () => ga, + }); + var n, + r, + s, + o, + a, + l, + c, + d, + h, + u, + g, + f, + p, + m, + _, + b, + v, + y, + w, + C, + S, + k, + x, + L, + M, + D, + N, + E, + T, + I, + O, + A, + R, + P = i(64141), + F = i(71050), + B = i(4669), + W = i(22258), + Y = i(70666), + H = i(50187), + j = i(24314), + V = i(3860), + z = i(85600); + !(function (e) { + (e[(e.Unknown = 0)] = 'Unknown'), + (e[(e.Disabled = 1)] = 'Disabled'), + (e[(e.Enabled = 2)] = 'Enabled'); + })(n || (n = {})), + (function (e) { + (e[(e.KeepWhitespace = 1)] = 'KeepWhitespace'), + (e[(e.InsertAsSnippet = 4)] = 'InsertAsSnippet'); + })(r || (r = {})), + (function (e) { + (e[(e.Method = 0)] = 'Method'), + (e[(e.Function = 1)] = 'Function'), + (e[(e.Constructor = 2)] = 'Constructor'), + (e[(e.Field = 3)] = 'Field'), + (e[(e.Variable = 4)] = 'Variable'), + (e[(e.Class = 5)] = 'Class'), + (e[(e.Struct = 6)] = 'Struct'), + (e[(e.Interface = 7)] = 'Interface'), + (e[(e.Module = 8)] = 'Module'), + (e[(e.Property = 9)] = 'Property'), + (e[(e.Event = 10)] = 'Event'), + (e[(e.Operator = 11)] = 'Operator'), + (e[(e.Unit = 12)] = 'Unit'), + (e[(e.Value = 13)] = 'Value'), + (e[(e.Constant = 14)] = 'Constant'), + (e[(e.Enum = 15)] = 'Enum'), + (e[(e.EnumMember = 16)] = 'EnumMember'), + (e[(e.Keyword = 17)] = 'Keyword'), + (e[(e.Text = 18)] = 'Text'), + (e[(e.Color = 19)] = 'Color'), + (e[(e.File = 20)] = 'File'), + (e[(e.Reference = 21)] = 'Reference'), + (e[(e.Customcolor = 22)] = 'Customcolor'), + (e[(e.Folder = 23)] = 'Folder'), + (e[(e.TypeParameter = 24)] = 'TypeParameter'), + (e[(e.User = 25)] = 'User'), + (e[(e.Issue = 26)] = 'Issue'), + (e[(e.Snippet = 27)] = 'Snippet'); + })(s || (s = {})), + (function (e) { + e[(e.Deprecated = 1)] = 'Deprecated'; + })(o || (o = {})), + (function (e) { + (e[(e.Invoke = 0)] = 'Invoke'), + (e[(e.TriggerCharacter = 1)] = 'TriggerCharacter'), + (e[(e.TriggerForIncompleteCompletions = 2)] = + 'TriggerForIncompleteCompletions'); + })(a || (a = {})), + (function (e) { + (e[(e.EXACT = 0)] = 'EXACT'), + (e[(e.ABOVE = 1)] = 'ABOVE'), + (e[(e.BELOW = 2)] = 'BELOW'); + })(l || (l = {})), + (function (e) { + (e[(e.NotSet = 0)] = 'NotSet'), + (e[(e.ContentFlush = 1)] = 'ContentFlush'), + (e[(e.RecoverFromMarkers = 2)] = 'RecoverFromMarkers'), + (e[(e.Explicit = 3)] = 'Explicit'), + (e[(e.Paste = 4)] = 'Paste'), + (e[(e.Undo = 5)] = 'Undo'), + (e[(e.Redo = 6)] = 'Redo'); + })(c || (c = {})), + (function (e) { + (e[(e.LF = 1)] = 'LF'), (e[(e.CRLF = 2)] = 'CRLF'); + })(d || (d = {})), + (function (e) { + (e[(e.Text = 0)] = 'Text'), + (e[(e.Read = 1)] = 'Read'), + (e[(e.Write = 2)] = 'Write'); + })(h || (h = {})), + (function (e) { + (e[(e.None = 0)] = 'None'), + (e[(e.Keep = 1)] = 'Keep'), + (e[(e.Brackets = 2)] = 'Brackets'), + (e[(e.Advanced = 3)] = 'Advanced'), + (e[(e.Full = 4)] = 'Full'); + })(u || (u = {})), + (function (e) { + (e[(e.acceptSuggestionOnCommitCharacter = 0)] = + 'acceptSuggestionOnCommitCharacter'), + (e[(e.acceptSuggestionOnEnter = 1)] = 'acceptSuggestionOnEnter'), + (e[(e.accessibilitySupport = 2)] = 'accessibilitySupport'), + (e[(e.accessibilityPageSize = 3)] = 'accessibilityPageSize'), + (e[(e.ariaLabel = 4)] = 'ariaLabel'), + (e[(e.autoClosingBrackets = 5)] = 'autoClosingBrackets'), + (e[(e.autoClosingOvertype = 6)] = 'autoClosingOvertype'), + (e[(e.autoClosingQuotes = 7)] = 'autoClosingQuotes'), + (e[(e.autoIndent = 8)] = 'autoIndent'), + (e[(e.automaticLayout = 9)] = 'automaticLayout'), + (e[(e.autoSurround = 10)] = 'autoSurround'), + (e[(e.codeLens = 11)] = 'codeLens'), + (e[(e.colorDecorators = 12)] = 'colorDecorators'), + (e[(e.columnSelection = 13)] = 'columnSelection'), + (e[(e.comments = 14)] = 'comments'), + (e[(e.contextmenu = 15)] = 'contextmenu'), + (e[(e.copyWithSyntaxHighlighting = 16)] = + 'copyWithSyntaxHighlighting'), + (e[(e.cursorBlinking = 17)] = 'cursorBlinking'), + (e[(e.cursorSmoothCaretAnimation = 18)] = + 'cursorSmoothCaretAnimation'), + (e[(e.cursorStyle = 19)] = 'cursorStyle'), + (e[(e.cursorSurroundingLines = 20)] = 'cursorSurroundingLines'), + (e[(e.cursorSurroundingLinesStyle = 21)] = + 'cursorSurroundingLinesStyle'), + (e[(e.cursorWidth = 22)] = 'cursorWidth'), + (e[(e.disableLayerHinting = 23)] = 'disableLayerHinting'), + (e[(e.disableMonospaceOptimizations = 24)] = + 'disableMonospaceOptimizations'), + (e[(e.dragAndDrop = 25)] = 'dragAndDrop'), + (e[(e.emptySelectionClipboard = 26)] = 'emptySelectionClipboard'), + (e[(e.extraEditorClassName = 27)] = 'extraEditorClassName'), + (e[(e.fastScrollSensitivity = 28)] = 'fastScrollSensitivity'), + (e[(e.find = 29)] = 'find'), + (e[(e.fixedOverflowWidgets = 30)] = 'fixedOverflowWidgets'), + (e[(e.folding = 31)] = 'folding'), + (e[(e.foldingStrategy = 32)] = 'foldingStrategy'), + (e[(e.foldingHighlight = 33)] = 'foldingHighlight'), + (e[(e.unfoldOnClickAfterEndOfLine = 34)] = + 'unfoldOnClickAfterEndOfLine'), + (e[(e.fontFamily = 35)] = 'fontFamily'), + (e[(e.fontInfo = 36)] = 'fontInfo'), + (e[(e.fontLigatures = 37)] = 'fontLigatures'), + (e[(e.fontSize = 38)] = 'fontSize'), + (e[(e.fontWeight = 39)] = 'fontWeight'), + (e[(e.formatOnPaste = 40)] = 'formatOnPaste'), + (e[(e.formatOnType = 41)] = 'formatOnType'), + (e[(e.glyphMargin = 42)] = 'glyphMargin'), + (e[(e.gotoLocation = 43)] = 'gotoLocation'), + (e[(e.hideCursorInOverviewRuler = 44)] = + 'hideCursorInOverviewRuler'), + (e[(e.highlightActiveIndentGuide = 45)] = + 'highlightActiveIndentGuide'), + (e[(e.hover = 46)] = 'hover'), + (e[(e.inDiffEditor = 47)] = 'inDiffEditor'), + (e[(e.letterSpacing = 48)] = 'letterSpacing'), + (e[(e.lightbulb = 49)] = 'lightbulb'), + (e[(e.lineDecorationsWidth = 50)] = 'lineDecorationsWidth'), + (e[(e.lineHeight = 51)] = 'lineHeight'), + (e[(e.lineNumbers = 52)] = 'lineNumbers'), + (e[(e.lineNumbersMinChars = 53)] = 'lineNumbersMinChars'), + (e[(e.links = 54)] = 'links'), + (e[(e.matchBrackets = 55)] = 'matchBrackets'), + (e[(e.minimap = 56)] = 'minimap'), + (e[(e.mouseStyle = 57)] = 'mouseStyle'), + (e[(e.mouseWheelScrollSensitivity = 58)] = + 'mouseWheelScrollSensitivity'), + (e[(e.mouseWheelZoom = 59)] = 'mouseWheelZoom'), + (e[(e.multiCursorMergeOverlapping = 60)] = + 'multiCursorMergeOverlapping'), + (e[(e.multiCursorModifier = 61)] = 'multiCursorModifier'), + (e[(e.multiCursorPaste = 62)] = 'multiCursorPaste'), + (e[(e.occurrencesHighlight = 63)] = 'occurrencesHighlight'), + (e[(e.overviewRulerBorder = 64)] = 'overviewRulerBorder'), + (e[(e.overviewRulerLanes = 65)] = 'overviewRulerLanes'), + (e[(e.padding = 66)] = 'padding'), + (e[(e.parameterHints = 67)] = 'parameterHints'), + (e[(e.peekWidgetDefaultFocus = 68)] = 'peekWidgetDefaultFocus'), + (e[(e.definitionLinkOpensInPeek = 69)] = + 'definitionLinkOpensInPeek'), + (e[(e.quickSuggestions = 70)] = 'quickSuggestions'), + (e[(e.quickSuggestionsDelay = 71)] = 'quickSuggestionsDelay'), + (e[(e.readOnly = 72)] = 'readOnly'), + (e[(e.renameOnType = 73)] = 'renameOnType'), + (e[(e.renderControlCharacters = 74)] = 'renderControlCharacters'), + (e[(e.renderIndentGuides = 75)] = 'renderIndentGuides'), + (e[(e.renderFinalNewline = 76)] = 'renderFinalNewline'), + (e[(e.renderLineHighlight = 77)] = 'renderLineHighlight'), + (e[(e.renderLineHighlightOnlyWhenFocus = 78)] = + 'renderLineHighlightOnlyWhenFocus'), + (e[(e.renderValidationDecorations = 79)] = + 'renderValidationDecorations'), + (e[(e.renderWhitespace = 80)] = 'renderWhitespace'), + (e[(e.revealHorizontalRightPadding = 81)] = + 'revealHorizontalRightPadding'), + (e[(e.roundedSelection = 82)] = 'roundedSelection'), + (e[(e.rulers = 83)] = 'rulers'), + (e[(e.scrollbar = 84)] = 'scrollbar'), + (e[(e.scrollBeyondLastColumn = 85)] = 'scrollBeyondLastColumn'), + (e[(e.scrollBeyondLastLine = 86)] = 'scrollBeyondLastLine'), + (e[(e.scrollPredominantAxis = 87)] = 'scrollPredominantAxis'), + (e[(e.selectionClipboard = 88)] = 'selectionClipboard'), + (e[(e.selectionHighlight = 89)] = 'selectionHighlight'), + (e[(e.selectOnLineNumbers = 90)] = 'selectOnLineNumbers'), + (e[(e.showFoldingControls = 91)] = 'showFoldingControls'), + (e[(e.showUnused = 92)] = 'showUnused'), + (e[(e.snippetSuggestions = 93)] = 'snippetSuggestions'), + (e[(e.smoothScrolling = 94)] = 'smoothScrolling'), + (e[(e.stopRenderingLineAfter = 95)] = 'stopRenderingLineAfter'), + (e[(e.suggest = 96)] = 'suggest'), + (e[(e.suggestFontSize = 97)] = 'suggestFontSize'), + (e[(e.suggestLineHeight = 98)] = 'suggestLineHeight'), + (e[(e.suggestOnTriggerCharacters = 99)] = + 'suggestOnTriggerCharacters'), + (e[(e.suggestSelection = 100)] = 'suggestSelection'), + (e[(e.tabCompletion = 101)] = 'tabCompletion'), + (e[(e.tabIndex = 102)] = 'tabIndex'), + (e[(e.unusualLineTerminators = 103)] = 'unusualLineTerminators'), + (e[(e.useTabStops = 104)] = 'useTabStops'), + (e[(e.wordSeparators = 105)] = 'wordSeparators'), + (e[(e.wordWrap = 106)] = 'wordWrap'), + (e[(e.wordWrapBreakAfterCharacters = 107)] = + 'wordWrapBreakAfterCharacters'), + (e[(e.wordWrapBreakBeforeCharacters = 108)] = + 'wordWrapBreakBeforeCharacters'), + (e[(e.wordWrapColumn = 109)] = 'wordWrapColumn'), + (e[(e.wordWrapMinified = 110)] = 'wordWrapMinified'), + (e[(e.wrappingIndent = 111)] = 'wrappingIndent'), + (e[(e.wrappingStrategy = 112)] = 'wrappingStrategy'), + (e[(e.showDeprecated = 113)] = 'showDeprecated'), + (e[(e.editorClassName = 114)] = 'editorClassName'), + (e[(e.pixelRatio = 115)] = 'pixelRatio'), + (e[(e.tabFocusMode = 116)] = 'tabFocusMode'), + (e[(e.layoutInfo = 117)] = 'layoutInfo'), + (e[(e.wrappingInfo = 118)] = 'wrappingInfo'); + })(g || (g = {})), + (function (e) { + (e[(e.TextDefined = 0)] = 'TextDefined'), + (e[(e.LF = 1)] = 'LF'), + (e[(e.CRLF = 2)] = 'CRLF'); + })(f || (f = {})), + (function (e) { + (e[(e.LF = 0)] = 'LF'), (e[(e.CRLF = 1)] = 'CRLF'); + })(p || (p = {})), + (function (e) { + (e[(e.None = 0)] = 'None'), + (e[(e.Indent = 1)] = 'Indent'), + (e[(e.IndentOutdent = 2)] = 'IndentOutdent'), + (e[(e.Outdent = 3)] = 'Outdent'); + })(m || (m = {})), + (function (e) { + (e[(e.Unknown = 0)] = 'Unknown'), + (e[(e.Backspace = 1)] = 'Backspace'), + (e[(e.Tab = 2)] = 'Tab'), + (e[(e.Enter = 3)] = 'Enter'), + (e[(e.Shift = 4)] = 'Shift'), + (e[(e.Ctrl = 5)] = 'Ctrl'), + (e[(e.Alt = 6)] = 'Alt'), + (e[(e.PauseBreak = 7)] = 'PauseBreak'), + (e[(e.CapsLock = 8)] = 'CapsLock'), + (e[(e.Escape = 9)] = 'Escape'), + (e[(e.Space = 10)] = 'Space'), + (e[(e.PageUp = 11)] = 'PageUp'), + (e[(e.PageDown = 12)] = 'PageDown'), + (e[(e.End = 13)] = 'End'), + (e[(e.Home = 14)] = 'Home'), + (e[(e.LeftArrow = 15)] = 'LeftArrow'), + (e[(e.UpArrow = 16)] = 'UpArrow'), + (e[(e.RightArrow = 17)] = 'RightArrow'), + (e[(e.DownArrow = 18)] = 'DownArrow'), + (e[(e.Insert = 19)] = 'Insert'), + (e[(e.Delete = 20)] = 'Delete'), + (e[(e.KEY_0 = 21)] = 'KEY_0'), + (e[(e.KEY_1 = 22)] = 'KEY_1'), + (e[(e.KEY_2 = 23)] = 'KEY_2'), + (e[(e.KEY_3 = 24)] = 'KEY_3'), + (e[(e.KEY_4 = 25)] = 'KEY_4'), + (e[(e.KEY_5 = 26)] = 'KEY_5'), + (e[(e.KEY_6 = 27)] = 'KEY_6'), + (e[(e.KEY_7 = 28)] = 'KEY_7'), + (e[(e.KEY_8 = 29)] = 'KEY_8'), + (e[(e.KEY_9 = 30)] = 'KEY_9'), + (e[(e.KEY_A = 31)] = 'KEY_A'), + (e[(e.KEY_B = 32)] = 'KEY_B'), + (e[(e.KEY_C = 33)] = 'KEY_C'), + (e[(e.KEY_D = 34)] = 'KEY_D'), + (e[(e.KEY_E = 35)] = 'KEY_E'), + (e[(e.KEY_F = 36)] = 'KEY_F'), + (e[(e.KEY_G = 37)] = 'KEY_G'), + (e[(e.KEY_H = 38)] = 'KEY_H'), + (e[(e.KEY_I = 39)] = 'KEY_I'), + (e[(e.KEY_J = 40)] = 'KEY_J'), + (e[(e.KEY_K = 41)] = 'KEY_K'), + (e[(e.KEY_L = 42)] = 'KEY_L'), + (e[(e.KEY_M = 43)] = 'KEY_M'), + (e[(e.KEY_N = 44)] = 'KEY_N'), + (e[(e.KEY_O = 45)] = 'KEY_O'), + (e[(e.KEY_P = 46)] = 'KEY_P'), + (e[(e.KEY_Q = 47)] = 'KEY_Q'), + (e[(e.KEY_R = 48)] = 'KEY_R'), + (e[(e.KEY_S = 49)] = 'KEY_S'), + (e[(e.KEY_T = 50)] = 'KEY_T'), + (e[(e.KEY_U = 51)] = 'KEY_U'), + (e[(e.KEY_V = 52)] = 'KEY_V'), + (e[(e.KEY_W = 53)] = 'KEY_W'), + (e[(e.KEY_X = 54)] = 'KEY_X'), + (e[(e.KEY_Y = 55)] = 'KEY_Y'), + (e[(e.KEY_Z = 56)] = 'KEY_Z'), + (e[(e.Meta = 57)] = 'Meta'), + (e[(e.ContextMenu = 58)] = 'ContextMenu'), + (e[(e.F1 = 59)] = 'F1'), + (e[(e.F2 = 60)] = 'F2'), + (e[(e.F3 = 61)] = 'F3'), + (e[(e.F4 = 62)] = 'F4'), + (e[(e.F5 = 63)] = 'F5'), + (e[(e.F6 = 64)] = 'F6'), + (e[(e.F7 = 65)] = 'F7'), + (e[(e.F8 = 66)] = 'F8'), + (e[(e.F9 = 67)] = 'F9'), + (e[(e.F10 = 68)] = 'F10'), + (e[(e.F11 = 69)] = 'F11'), + (e[(e.F12 = 70)] = 'F12'), + (e[(e.F13 = 71)] = 'F13'), + (e[(e.F14 = 72)] = 'F14'), + (e[(e.F15 = 73)] = 'F15'), + (e[(e.F16 = 74)] = 'F16'), + (e[(e.F17 = 75)] = 'F17'), + (e[(e.F18 = 76)] = 'F18'), + (e[(e.F19 = 77)] = 'F19'), + (e[(e.NumLock = 78)] = 'NumLock'), + (e[(e.ScrollLock = 79)] = 'ScrollLock'), + (e[(e.US_SEMICOLON = 80)] = 'US_SEMICOLON'), + (e[(e.US_EQUAL = 81)] = 'US_EQUAL'), + (e[(e.US_COMMA = 82)] = 'US_COMMA'), + (e[(e.US_MINUS = 83)] = 'US_MINUS'), + (e[(e.US_DOT = 84)] = 'US_DOT'), + (e[(e.US_SLASH = 85)] = 'US_SLASH'), + (e[(e.US_BACKTICK = 86)] = 'US_BACKTICK'), + (e[(e.US_OPEN_SQUARE_BRACKET = 87)] = 'US_OPEN_SQUARE_BRACKET'), + (e[(e.US_BACKSLASH = 88)] = 'US_BACKSLASH'), + (e[(e.US_CLOSE_SQUARE_BRACKET = 89)] = 'US_CLOSE_SQUARE_BRACKET'), + (e[(e.US_QUOTE = 90)] = 'US_QUOTE'), + (e[(e.OEM_8 = 91)] = 'OEM_8'), + (e[(e.OEM_102 = 92)] = 'OEM_102'), + (e[(e.NUMPAD_0 = 93)] = 'NUMPAD_0'), + (e[(e.NUMPAD_1 = 94)] = 'NUMPAD_1'), + (e[(e.NUMPAD_2 = 95)] = 'NUMPAD_2'), + (e[(e.NUMPAD_3 = 96)] = 'NUMPAD_3'), + (e[(e.NUMPAD_4 = 97)] = 'NUMPAD_4'), + (e[(e.NUMPAD_5 = 98)] = 'NUMPAD_5'), + (e[(e.NUMPAD_6 = 99)] = 'NUMPAD_6'), + (e[(e.NUMPAD_7 = 100)] = 'NUMPAD_7'), + (e[(e.NUMPAD_8 = 101)] = 'NUMPAD_8'), + (e[(e.NUMPAD_9 = 102)] = 'NUMPAD_9'), + (e[(e.NUMPAD_MULTIPLY = 103)] = 'NUMPAD_MULTIPLY'), + (e[(e.NUMPAD_ADD = 104)] = 'NUMPAD_ADD'), + (e[(e.NUMPAD_SEPARATOR = 105)] = 'NUMPAD_SEPARATOR'), + (e[(e.NUMPAD_SUBTRACT = 106)] = 'NUMPAD_SUBTRACT'), + (e[(e.NUMPAD_DECIMAL = 107)] = 'NUMPAD_DECIMAL'), + (e[(e.NUMPAD_DIVIDE = 108)] = 'NUMPAD_DIVIDE'), + (e[(e.KEY_IN_COMPOSITION = 109)] = 'KEY_IN_COMPOSITION'), + (e[(e.ABNT_C1 = 110)] = 'ABNT_C1'), + (e[(e.ABNT_C2 = 111)] = 'ABNT_C2'), + (e[(e.MAX_VALUE = 112)] = 'MAX_VALUE'); + })(_ || (_ = {})), + (function (e) { + (e[(e.Hint = 1)] = 'Hint'), + (e[(e.Info = 2)] = 'Info'), + (e[(e.Warning = 4)] = 'Warning'), + (e[(e.Error = 8)] = 'Error'); + })(b || (b = {})), + (function (e) { + (e[(e.Unnecessary = 1)] = 'Unnecessary'), + (e[(e.Deprecated = 2)] = 'Deprecated'); + })(v || (v = {})), + (function (e) { + (e[(e.Inline = 1)] = 'Inline'), (e[(e.Gutter = 2)] = 'Gutter'); + })(y || (y = {})), + (function (e) { + (e[(e.UNKNOWN = 0)] = 'UNKNOWN'), + (e[(e.TEXTAREA = 1)] = 'TEXTAREA'), + (e[(e.GUTTER_GLYPH_MARGIN = 2)] = 'GUTTER_GLYPH_MARGIN'), + (e[(e.GUTTER_LINE_NUMBERS = 3)] = 'GUTTER_LINE_NUMBERS'), + (e[(e.GUTTER_LINE_DECORATIONS = 4)] = 'GUTTER_LINE_DECORATIONS'), + (e[(e.GUTTER_VIEW_ZONE = 5)] = 'GUTTER_VIEW_ZONE'), + (e[(e.CONTENT_TEXT = 6)] = 'CONTENT_TEXT'), + (e[(e.CONTENT_EMPTY = 7)] = 'CONTENT_EMPTY'), + (e[(e.CONTENT_VIEW_ZONE = 8)] = 'CONTENT_VIEW_ZONE'), + (e[(e.CONTENT_WIDGET = 9)] = 'CONTENT_WIDGET'), + (e[(e.OVERVIEW_RULER = 10)] = 'OVERVIEW_RULER'), + (e[(e.SCROLLBAR = 11)] = 'SCROLLBAR'), + (e[(e.OVERLAY_WIDGET = 12)] = 'OVERLAY_WIDGET'), + (e[(e.OUTSIDE_EDITOR = 13)] = 'OUTSIDE_EDITOR'); + })(w || (w = {})), + (function (e) { + (e[(e.TOP_RIGHT_CORNER = 0)] = 'TOP_RIGHT_CORNER'), + (e[(e.BOTTOM_RIGHT_CORNER = 1)] = 'BOTTOM_RIGHT_CORNER'), + (e[(e.TOP_CENTER = 2)] = 'TOP_CENTER'); + })(C || (C = {})), + (function (e) { + (e[(e.Left = 1)] = 'Left'), + (e[(e.Center = 2)] = 'Center'), + (e[(e.Right = 4)] = 'Right'), + (e[(e.Full = 7)] = 'Full'); + })(S || (S = {})), + (function (e) { + (e[(e.Off = 0)] = 'Off'), + (e[(e.On = 1)] = 'On'), + (e[(e.Relative = 2)] = 'Relative'), + (e[(e.Interval = 3)] = 'Interval'), + (e[(e.Custom = 4)] = 'Custom'); + })(k || (k = {})), + (function (e) { + (e[(e.None = 0)] = 'None'), + (e[(e.Text = 1)] = 'Text'), + (e[(e.Blocks = 2)] = 'Blocks'); + })(x || (x = {})), + (function (e) { + (e[(e.Smooth = 0)] = 'Smooth'), + (e[(e.Immediate = 1)] = 'Immediate'); + })(L || (L = {})), + (function (e) { + (e[(e.Auto = 1)] = 'Auto'), + (e[(e.Hidden = 2)] = 'Hidden'), + (e[(e.Visible = 3)] = 'Visible'); + })(M || (M = {})), + (function (e) { + (e[(e.LTR = 0)] = 'LTR'), (e[(e.RTL = 1)] = 'RTL'); + })(D || (D = {})), + (function (e) { + (e[(e.Invoke = 1)] = 'Invoke'), + (e[(e.TriggerCharacter = 2)] = 'TriggerCharacter'), + (e[(e.ContentChange = 3)] = 'ContentChange'); + })(N || (N = {})), + (function (e) { + (e[(e.File = 0)] = 'File'), + (e[(e.Module = 1)] = 'Module'), + (e[(e.Namespace = 2)] = 'Namespace'), + (e[(e.Package = 3)] = 'Package'), + (e[(e.Class = 4)] = 'Class'), + (e[(e.Method = 5)] = 'Method'), + (e[(e.Property = 6)] = 'Property'), + (e[(e.Field = 7)] = 'Field'), + (e[(e.Constructor = 8)] = 'Constructor'), + (e[(e.Enum = 9)] = 'Enum'), + (e[(e.Interface = 10)] = 'Interface'), + (e[(e.Function = 11)] = 'Function'), + (e[(e.Variable = 12)] = 'Variable'), + (e[(e.Constant = 13)] = 'Constant'), + (e[(e.String = 14)] = 'String'), + (e[(e.Number = 15)] = 'Number'), + (e[(e.Boolean = 16)] = 'Boolean'), + (e[(e.Array = 17)] = 'Array'), + (e[(e.Object = 18)] = 'Object'), + (e[(e.Key = 19)] = 'Key'), + (e[(e.Null = 20)] = 'Null'), + (e[(e.EnumMember = 21)] = 'EnumMember'), + (e[(e.Struct = 22)] = 'Struct'), + (e[(e.Event = 23)] = 'Event'), + (e[(e.Operator = 24)] = 'Operator'), + (e[(e.TypeParameter = 25)] = 'TypeParameter'); + })(E || (E = {})), + (function (e) { + e[(e.Deprecated = 1)] = 'Deprecated'; + })(T || (T = {})), + (function (e) { + (e[(e.Hidden = 0)] = 'Hidden'), + (e[(e.Blink = 1)] = 'Blink'), + (e[(e.Smooth = 2)] = 'Smooth'), + (e[(e.Phase = 3)] = 'Phase'), + (e[(e.Expand = 4)] = 'Expand'), + (e[(e.Solid = 5)] = 'Solid'); + })(I || (I = {})), + (function (e) { + (e[(e.Line = 1)] = 'Line'), + (e[(e.Block = 2)] = 'Block'), + (e[(e.Underline = 3)] = 'Underline'), + (e[(e.LineThin = 4)] = 'LineThin'), + (e[(e.BlockOutline = 5)] = 'BlockOutline'), + (e[(e.UnderlineThin = 6)] = 'UnderlineThin'); + })(O || (O = {})), + (function (e) { + (e[(e.AlwaysGrowsWhenTypingAtEdges = 0)] = + 'AlwaysGrowsWhenTypingAtEdges'), + (e[(e.NeverGrowsWhenTypingAtEdges = 1)] = + 'NeverGrowsWhenTypingAtEdges'), + (e[(e.GrowsOnlyWhenTypingBefore = 2)] = + 'GrowsOnlyWhenTypingBefore'), + (e[(e.GrowsOnlyWhenTypingAfter = 3)] = + 'GrowsOnlyWhenTypingAfter'); + })(A || (A = {})), + (function (e) { + (e[(e.None = 0)] = 'None'), + (e[(e.Same = 1)] = 'Same'), + (e[(e.Indent = 2)] = 'Indent'), + (e[(e.DeepIndent = 3)] = 'DeepIndent'); + })(R || (R = {})); + class U { + static chord(e, t) { + return (0, W.gx)(e, t); + } + } + function $() { + return { + editor: void 0, + languages: void 0, + CancellationTokenSource: F.A, + Emitter: B.Q5, + KeyCode: _, + KeyMod: U, + Position: H.L, + Range: j.e, + Selection: V.Y, + SelectionDirection: D, + MarkerSeverity: b, + MarkerTag: v, + Uri: Y.o, + Token: z.WU, + }; + } + (U.CtrlCmd = 2048), (U.Shift = 1024), (U.Alt = 512), (U.WinCtrl = 256); + var K, + q = i(11640), + G = i(65321), + Z = i(91741), + J = i(23897), + Q = i(66663), + X = i(95935), + ee = i(94565), + te = i(50988); + !(function (e) { + (e[(e.API = 0)] = 'API'), (e[(e.USER = 1)] = 'USER'); + })(K || (K = {})); + var ie = function (e, t, i, n) { + var r, + s = arguments.length, + o = + s < 3 + ? t + : null === n + ? (n = Object.getOwnPropertyDescriptor(t, i)) + : n; + if ( + 'object' == typeof Reflect && + 'function' == typeof Reflect.decorate + ) + o = Reflect.decorate(e, t, i, n); + else + for (var a = e.length - 1; a >= 0; a--) + (r = e[a]) && + (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); + return s > 3 && o && Object.defineProperty(t, i, o), o; + }, + ne = function (e, t) { + return function (i, n) { + t(i, n, e); + }; + }, + re = function (e, t, i, n) { + return new (i || (i = Promise))(function (r, s) { + function o(e) { + try { + l(n.next(e)); + } catch (e) { + s(e); + } + } + function a(e) { + try { + l(n.throw(e)); + } catch (e) { + s(e); + } + } + function l(e) { + var t; + e.done + ? r(e.value) + : ((t = e.value), + t instanceof i + ? t + : new i(function (e) { + e(t); + })).then(o, a); + } + l((n = n.apply(e, t || [])).next()); + }); + }; + let se = class { + constructor(e) { + this._commandService = e; + } + open(e) { + return re(this, void 0, void 0, function* () { + if (!(0, te.xn)(e, Q.l.command)) return !1; + 'string' == typeof e && (e = Y.o.parse(e)); + let t = []; + try { + t = (0, J.Q)(decodeURIComponent(e.query)); + } catch (i) { + try { + t = (0, J.Q)(e.query); + } catch (e) {} + } + return ( + Array.isArray(t) || (t = [t]), + yield this._commandService.executeCommand(e.path, ...t), + !0 + ); + }); + } + }; + se = ie([ne(0, ee.H)], se); + let oe = class { + constructor(e) { + this._editorService = e; + } + open(e, t) { + return re(this, void 0, void 0, function* () { + let i; + 'string' == typeof e && (e = Y.o.parse(e)); + const n = /^L?(\d+)(?:,(\d+))?/.exec(e.fragment); + return ( + n && + ((i = { + startLineNumber: parseInt(n[1]), + startColumn: n[2] ? parseInt(n[2]) : 1, + }), + (e = e.with({ fragment: '' }))), + e.scheme === Q.l.file && (e = (0, X.AH)(e)), + yield this._editorService.openCodeEditor( + { + resource: e, + options: { + selection: i, + context: (null == t ? void 0 : t.fromUserGesture) + ? K.USER + : K.API, + }, + }, + this._editorService.getFocusedCodeEditor(), + null == t ? void 0 : t.openToSide + ), + !0 + ); + }); + } + }; + oe = ie([ne(0, q.$)], oe); + let ae = class { + constructor(e, t) { + (this._openers = new Z.S()), + (this._validators = new Z.S()), + (this._resolvers = new Z.S()), + (this._externalOpener = { + openExternal: (e) => ( + (0, te.xn)(e, Q.l.http) || (0, te.xn)(e, Q.l.https) + ? G.V3(e) + : (window.location.href = e), + Promise.resolve(!0) + ), + }), + this._openers.push({ + open: (e, t) => + re(this, void 0, void 0, function* () { + return ( + !!( + (null == t ? void 0 : t.openExternal) || + (0, te.xn)(e, Q.l.mailto) || + (0, te.xn)(e, Q.l.http) || + (0, te.xn)(e, Q.l.https) + ) && (yield this._doOpenExternal(e, t), !0) + ); + }), + }), + this._openers.push(new se(t)), + this._openers.push(new oe(e)); + } + open(e, t) { + return re(this, void 0, void 0, function* () { + for (const t of this._validators.toArray()) + if (!(yield t.shouldOpen(e))) return !1; + for (const i of this._openers.toArray()) + if (yield i.open(e, t)) return !0; + return !1; + }); + } + resolveExternalUri(e, t) { + return re(this, void 0, void 0, function* () { + for (const i of this._resolvers.toArray()) { + const n = yield i.resolveExternalUri(e, t); + if (n) return n; + } + return { resolved: e, dispose: () => {} }; + }); + } + _doOpenExternal(e, t) { + return re(this, void 0, void 0, function* () { + const i = 'string' == typeof e ? Y.o.parse(e) : e, + { resolved: n } = yield this.resolveExternalUri(i, t); + return 'string' == typeof e && i.toString() === n.toString() + ? this._externalOpener.openExternal(e) + : this._externalOpener.openExternal(encodeURI(n.toString(!0))); + }); + } + dispose() { + this._validators.clear(); + } + }; + ae = ie([ne(0, q.$), ne(1, ee.H)], ae); + var le = i(75623), + ce = i(27374), + de = i(96518), + he = i(84973), + ue = i(43775), + ge = i(28111), + fe = i(90469), + pe = i(88216), + me = i(15393), + _e = i(5976), + be = i(17301), + ve = i(1432), + ye = i(98401); + let we = !1; + function Ce(e) { + ve.$L && + (we || + ((we = !0), + console.warn( + 'Could not create web worker(s). Falling back to loading web worker code in main thread, which might cause UI freezes. Please see https://github.com/Microsoft/monaco-editor#faq' + )), + console.warn(e.message)); + } + class Se { + constructor(e) { + (this._workerId = -1), + (this._handler = e), + (this._lastSentReq = 0), + (this._pendingReplies = Object.create(null)); + } + setWorkerId(e) { + this._workerId = e; + } + sendMessage(e, t) { + let i = String(++this._lastSentReq); + return new Promise((n, r) => { + (this._pendingReplies[i] = { resolve: n, reject: r }), + this._send({ + vsWorker: this._workerId, + req: i, + method: e, + args: t, + }); + }); + } + handleMessage(e) { + e && + e.vsWorker && + ((-1 !== this._workerId && e.vsWorker !== this._workerId) || + this._handleMessage(e)); + } + _handleMessage(e) { + if (e.seq) { + let t = e; + if (!this._pendingReplies[t.seq]) + return void console.warn('Got reply to unknown seq'); + let i = this._pendingReplies[t.seq]; + if ((delete this._pendingReplies[t.seq], t.err)) { + let e = t.err; + return ( + t.err.$isError && + ((e = new Error()), + (e.name = t.err.name), + (e.message = t.err.message), + (e.stack = t.err.stack)), + void i.reject(e) + ); + } + return void i.resolve(t.res); + } + let t = e, + i = t.req; + this._handler.handleMessage(t.method, t.args).then( + (e) => { + this._send({ + vsWorker: this._workerId, + seq: i, + res: e, + err: void 0, + }); + }, + (e) => { + e.detail instanceof Error && (e.detail = (0, be.ri)(e.detail)), + this._send({ + vsWorker: this._workerId, + seq: i, + res: void 0, + err: (0, be.ri)(e), + }); + } + ); + } + _send(e) { + let t = []; + if (e.req) { + const i = e; + for (let e = 0; e < i.args.length; e++) + i.args[e] instanceof ArrayBuffer && t.push(i.args[e]); + } else { + const i = e; + i.res instanceof ArrayBuffer && t.push(i.res); + } + this._handler.sendMessage(e, t); + } + } + class ke extends _e.JT { + constructor(e, t, i) { + super(); + let n = null; + (this._worker = this._register( + e.create( + 'vs/base/common/worker/simpleWorker', + (e) => { + this._protocol.handleMessage(e); + }, + (e) => { + n && n(e); + } + ) + )), + (this._protocol = new Se({ + sendMessage: (e, t) => { + this._worker.postMessage(e, t); + }, + handleMessage: (e, t) => { + if ('function' != typeof i[e]) + return Promise.reject( + new Error('Missing method ' + e + ' on main thread host.') + ); + try { + return Promise.resolve(i[e].apply(i, t)); + } catch (e) { + return Promise.reject(e); + } + }, + })), + this._protocol.setWorkerId(this._worker.getId()); + let r = null; + void 0 !== self.require && + 'function' == typeof self.require.getConfig + ? (r = self.require.getConfig()) + : void 0 !== self.requirejs && + (r = self.requirejs.s.contexts._.config); + const s = ye.$E(i); + this._onModuleLoaded = this._protocol.sendMessage('$initialize', [ + this._worker.getId(), + JSON.parse(JSON.stringify(r)), + t, + s, + ]); + const o = (e, t) => this._request(e, t); + this._lazyProxy = new Promise((e, i) => { + (n = i), + this._onModuleLoaded.then( + (t) => { + e(ye.IU(t, o)); + }, + (e) => { + i(e), this._onError('Worker failed to load ' + t, e); + } + ); + }); + } + getProxyObject() { + return this._lazyProxy; + } + _request(e, t) { + return new Promise((i, n) => { + this._onModuleLoaded.then(() => { + this._protocol.sendMessage(e, t).then(i, n); + }, n); + }); + } + _onError(e, t) { + console.error(e), console.info(t); + } + } + class xe { + constructor(e, t, i, n, r) { + this.id = t; + const s = (function (e, t) { + if (ve.li.MonacoEnvironment) { + if ('function' == typeof ve.li.MonacoEnvironment.getWorker) + return ve.li.MonacoEnvironment.getWorker(e, t); + if ('function' == typeof ve.li.MonacoEnvironment.getWorkerUrl) + return new Worker(ve.li.MonacoEnvironment.getWorkerUrl(e, t)); + } + throw new Error( + 'You must define a function MonacoEnvironment.getWorkerUrl or MonacoEnvironment.getWorker' + ); + })('workerMain.js', i); + 'function' == typeof s.then + ? (this.worker = s) + : (this.worker = Promise.resolve(s)), + this.postMessage(e, []), + this.worker.then((e) => { + (e.onmessage = function (e) { + n(e.data); + }), + (e.onmessageerror = r), + 'function' == typeof e.addEventListener && + e.addEventListener('error', r); + }); + } + getId() { + return this.id; + } + postMessage(e, t) { + this.worker && this.worker.then((i) => i.postMessage(e, t)); + } + dispose() { + this.worker && this.worker.then((e) => e.terminate()), + (this.worker = null); + } + } + class Le { + constructor(e) { + (this._label = e), (this._webWorkerFailedBeforeError = !1); + } + create(e, t, i) { + let n = ++Le.LAST_WORKER_ID; + if (this._webWorkerFailedBeforeError) + throw this._webWorkerFailedBeforeError; + return new xe(e, n, this._label || 'anonymous' + n, t, (e) => { + Ce(e), (this._webWorkerFailedBeforeError = e), i(e); + }); + } + } + Le.LAST_WORKER_ID = 0; + var Me = i(83831), + De = i(9488); + class Ne { + constructor(e, t, i, n) { + (this.originalStart = e), + (this.originalLength = t), + (this.modifiedStart = i), + (this.modifiedLength = n); + } + getOriginalEnd() { + return this.originalStart + this.originalLength; + } + getModifiedEnd() { + return this.modifiedStart + this.modifiedLength; + } + } + var Ee = i(89954); + class Te { + constructor(e) { + this.source = e; + } + getElements() { + const e = this.source, + t = new Int32Array(e.length); + for (let i = 0, n = e.length; i < n; i++) t[i] = e.charCodeAt(i); + return t; + } + } + function Ie(e, t, i) { + return new Pe(new Te(e), new Te(t)).ComputeDiff(i).changes; + } + class Oe { + static Assert(e, t) { + if (!e) throw new Error(t); + } + } + class Ae { + static Copy(e, t, i, n, r) { + for (let s = 0; s < r; s++) i[n + s] = e[t + s]; + } + static Copy2(e, t, i, n, r) { + for (let s = 0; s < r; s++) i[n + s] = e[t + s]; + } + } + class Re { + constructor() { + (this.m_changes = []), + (this.m_originalStart = 1073741824), + (this.m_modifiedStart = 1073741824), + (this.m_originalCount = 0), + (this.m_modifiedCount = 0); + } + MarkNextChange() { + (this.m_originalCount > 0 || this.m_modifiedCount > 0) && + this.m_changes.push( + new Ne( + this.m_originalStart, + this.m_originalCount, + this.m_modifiedStart, + this.m_modifiedCount + ) + ), + (this.m_originalCount = 0), + (this.m_modifiedCount = 0), + (this.m_originalStart = 1073741824), + (this.m_modifiedStart = 1073741824); + } + AddOriginalElement(e, t) { + (this.m_originalStart = Math.min(this.m_originalStart, e)), + (this.m_modifiedStart = Math.min(this.m_modifiedStart, t)), + this.m_originalCount++; + } + AddModifiedElement(e, t) { + (this.m_originalStart = Math.min(this.m_originalStart, e)), + (this.m_modifiedStart = Math.min(this.m_modifiedStart, t)), + this.m_modifiedCount++; + } + getChanges() { + return ( + (this.m_originalCount > 0 || this.m_modifiedCount > 0) && + this.MarkNextChange(), + this.m_changes + ); + } + getReverseChanges() { + return ( + (this.m_originalCount > 0 || this.m_modifiedCount > 0) && + this.MarkNextChange(), + this.m_changes.reverse(), + this.m_changes + ); + } + } + class Pe { + constructor(e, t, i = null) { + this.ContinueProcessingPredicate = i; + const [n, r, s] = Pe._getElements(e), + [o, a, l] = Pe._getElements(t); + (this._hasStrings = s && l), + (this._originalStringElements = n), + (this._originalElementsOrHash = r), + (this._modifiedStringElements = o), + (this._modifiedElementsOrHash = a), + (this.m_forwardHistory = []), + (this.m_reverseHistory = []); + } + static _isStringArray(e) { + return e.length > 0 && 'string' == typeof e[0]; + } + static _getElements(e) { + const t = e.getElements(); + if (Pe._isStringArray(t)) { + const e = new Int32Array(t.length); + for (let i = 0, n = t.length; i < n; i++) + e[i] = (0, Ee.Cv)(t[i], 0); + return [t, e, !0]; + } + return t instanceof Int32Array + ? [[], t, !1] + : [[], new Int32Array(t), !1]; + } + ElementsAreEqual(e, t) { + return ( + this._originalElementsOrHash[e] === + this._modifiedElementsOrHash[t] && + (!this._hasStrings || + this._originalStringElements[e] === + this._modifiedStringElements[t]) + ); + } + OriginalElementsAreEqual(e, t) { + return ( + this._originalElementsOrHash[e] === + this._originalElementsOrHash[t] && + (!this._hasStrings || + this._originalStringElements[e] === + this._originalStringElements[t]) + ); + } + ModifiedElementsAreEqual(e, t) { + return ( + this._modifiedElementsOrHash[e] === + this._modifiedElementsOrHash[t] && + (!this._hasStrings || + this._modifiedStringElements[e] === + this._modifiedStringElements[t]) + ); + } + ComputeDiff(e) { + return this._ComputeDiff( + 0, + this._originalElementsOrHash.length - 1, + 0, + this._modifiedElementsOrHash.length - 1, + e + ); + } + _ComputeDiff(e, t, i, n, r) { + const s = [!1]; + let o = this.ComputeDiffRecursive(e, t, i, n, s); + return ( + r && (o = this.PrettifyChanges(o)), + { quitEarly: s[0], changes: o } + ); + } + ComputeDiffRecursive(e, t, i, n, r) { + for (r[0] = !1; e <= t && i <= n && this.ElementsAreEqual(e, i); ) + e++, i++; + for (; t >= e && n >= i && this.ElementsAreEqual(t, n); ) t--, n--; + if (e > t || i > n) { + let r; + return ( + i <= n + ? (Oe.Assert( + e === t + 1, + 'originalStart should only be one more than originalEnd' + ), + (r = [new Ne(e, 0, i, n - i + 1)])) + : e <= t + ? (Oe.Assert( + i === n + 1, + 'modifiedStart should only be one more than modifiedEnd' + ), + (r = [new Ne(e, t - e + 1, i, 0)])) + : (Oe.Assert( + e === t + 1, + 'originalStart should only be one more than originalEnd' + ), + Oe.Assert( + i === n + 1, + 'modifiedStart should only be one more than modifiedEnd' + ), + (r = [])), + r + ); + } + const s = [0], + o = [0], + a = this.ComputeRecursionPoint(e, t, i, n, s, o, r), + l = s[0], + c = o[0]; + if (null !== a) return a; + if (!r[0]) { + const s = this.ComputeDiffRecursive(e, l, i, c, r); + let o = []; + return ( + (o = r[0] + ? [new Ne(l + 1, t - (l + 1) + 1, c + 1, n - (c + 1) + 1)] + : this.ComputeDiffRecursive(l + 1, t, c + 1, n, r)), + this.ConcatenateChanges(s, o) + ); + } + return [new Ne(e, t - e + 1, i, n - i + 1)]; + } + WALKTRACE(e, t, i, n, r, s, o, a, l, c, d, h, u, g, f, p, m, _) { + let b = null, + v = null, + y = new Re(), + w = t, + C = i, + S = u[0] - p[0] - n, + k = -1073741824, + x = this.m_forwardHistory.length - 1; + do { + const t = S + e; + t === w || (t < C && l[t - 1] < l[t + 1]) + ? ((g = (d = l[t + 1]) - S - n), + d < k && y.MarkNextChange(), + (k = d), + y.AddModifiedElement(d + 1, g), + (S = t + 1 - e)) + : ((g = (d = l[t - 1] + 1) - S - n), + d < k && y.MarkNextChange(), + (k = d - 1), + y.AddOriginalElement(d, g + 1), + (S = t - 1 - e)), + x >= 0 && + ((e = (l = this.m_forwardHistory[x])[0]), + (w = 1), + (C = l.length - 1)); + } while (--x >= -1); + if (((b = y.getReverseChanges()), _[0])) { + let e = u[0] + 1, + t = p[0] + 1; + if (null !== b && b.length > 0) { + const i = b[b.length - 1]; + (e = Math.max(e, i.getOriginalEnd())), + (t = Math.max(t, i.getModifiedEnd())); + } + v = [new Ne(e, h - e + 1, t, f - t + 1)]; + } else { + (y = new Re()), + (w = s), + (C = o), + (S = u[0] - p[0] - a), + (k = 1073741824), + (x = m + ? this.m_reverseHistory.length - 1 + : this.m_reverseHistory.length - 2); + do { + const e = S + r; + e === w || (e < C && c[e - 1] >= c[e + 1]) + ? ((g = (d = c[e + 1] - 1) - S - a), + d > k && y.MarkNextChange(), + (k = d + 1), + y.AddOriginalElement(d + 1, g + 1), + (S = e + 1 - r)) + : ((g = (d = c[e - 1]) - S - a), + d > k && y.MarkNextChange(), + (k = d), + y.AddModifiedElement(d + 1, g + 1), + (S = e - 1 - r)), + x >= 0 && + ((r = (c = this.m_reverseHistory[x])[0]), + (w = 1), + (C = c.length - 1)); + } while (--x >= -1); + v = y.getChanges(); + } + return this.ConcatenateChanges(b, v); + } + ComputeRecursionPoint(e, t, i, n, r, s, o) { + let a = 0, + l = 0, + c = 0, + d = 0, + h = 0, + u = 0; + e--, + i--, + (r[0] = 0), + (s[0] = 0), + (this.m_forwardHistory = []), + (this.m_reverseHistory = []); + const g = t - e + (n - i), + f = g + 1, + p = new Int32Array(f), + m = new Int32Array(f), + _ = n - i, + b = t - e, + v = e - i, + y = t - n, + w = (b - _) % 2 == 0; + (p[_] = e), (m[b] = t), (o[0] = !1); + for (let C = 1; C <= g / 2 + 1; C++) { + let g = 0, + S = 0; + (c = this.ClipDiagonalBound(_ - C, C, _, f)), + (d = this.ClipDiagonalBound(_ + C, C, _, f)); + for (let e = c; e <= d; e += 2) { + (a = + e === c || (e < d && p[e - 1] < p[e + 1]) + ? p[e + 1] + : p[e - 1] + 1), + (l = a - (e - _) - v); + const i = a; + for (; a < t && l < n && this.ElementsAreEqual(a + 1, l + 1); ) + a++, l++; + if ( + ((p[e] = a), + a + l > g + S && ((g = a), (S = l)), + !w && Math.abs(e - b) <= C - 1 && a >= m[e]) + ) + return ( + (r[0] = a), + (s[0] = l), + i <= m[e] && C <= 1448 + ? this.WALKTRACE( + _, + c, + d, + v, + b, + h, + u, + y, + p, + m, + a, + t, + r, + l, + n, + s, + w, + o + ) + : null + ); + } + const k = (g - e + (S - i) - C) / 2; + if ( + null !== this.ContinueProcessingPredicate && + !this.ContinueProcessingPredicate(g, k) + ) + return ( + (o[0] = !0), + (r[0] = g), + (s[0] = S), + k > 0 && C <= 1448 + ? this.WALKTRACE( + _, + c, + d, + v, + b, + h, + u, + y, + p, + m, + a, + t, + r, + l, + n, + s, + w, + o + ) + : (e++, i++, [new Ne(e, t - e + 1, i, n - i + 1)]) + ); + (h = this.ClipDiagonalBound(b - C, C, b, f)), + (u = this.ClipDiagonalBound(b + C, C, b, f)); + for (let g = h; g <= u; g += 2) { + (a = + g === h || (g < u && m[g - 1] >= m[g + 1]) + ? m[g + 1] - 1 + : m[g - 1]), + (l = a - (g - b) - y); + const f = a; + for (; a > e && l > i && this.ElementsAreEqual(a, l); ) + a--, l--; + if (((m[g] = a), w && Math.abs(g - _) <= C && a <= p[g])) + return ( + (r[0] = a), + (s[0] = l), + f >= p[g] && C <= 1448 + ? this.WALKTRACE( + _, + c, + d, + v, + b, + h, + u, + y, + p, + m, + a, + t, + r, + l, + n, + s, + w, + o + ) + : null + ); + } + if (C <= 1447) { + let e = new Int32Array(d - c + 2); + (e[0] = _ - c + 1), + Ae.Copy2(p, c, e, 1, d - c + 1), + this.m_forwardHistory.push(e), + (e = new Int32Array(u - h + 2)), + (e[0] = b - h + 1), + Ae.Copy2(m, h, e, 1, u - h + 1), + this.m_reverseHistory.push(e); + } + } + return this.WALKTRACE( + _, + c, + d, + v, + b, + h, + u, + y, + p, + m, + a, + t, + r, + l, + n, + s, + w, + o + ); + } + PrettifyChanges(e) { + for (let t = 0; t < e.length; t++) { + const i = e[t], + n = + t < e.length - 1 + ? e[t + 1].originalStart + : this._originalElementsOrHash.length, + r = + t < e.length - 1 + ? e[t + 1].modifiedStart + : this._modifiedElementsOrHash.length, + s = i.originalLength > 0, + o = i.modifiedLength > 0; + for ( + ; + i.originalStart + i.originalLength < n && + i.modifiedStart + i.modifiedLength < r && + (!s || + this.OriginalElementsAreEqual( + i.originalStart, + i.originalStart + i.originalLength + )) && + (!o || + this.ModifiedElementsAreEqual( + i.modifiedStart, + i.modifiedStart + i.modifiedLength + )); + + ) + i.originalStart++, i.modifiedStart++; + let a = [null]; + t < e.length - 1 && + this.ChangesOverlap(e[t], e[t + 1], a) && + ((e[t] = a[0]), e.splice(t + 1, 1), t--); + } + for (let t = e.length - 1; t >= 0; t--) { + const i = e[t]; + let n = 0, + r = 0; + if (t > 0) { + const i = e[t - 1]; + i.originalLength > 0 && + (n = i.originalStart + i.originalLength), + i.modifiedLength > 0 && + (r = i.modifiedStart + i.modifiedLength); + } + const s = i.originalLength > 0, + o = i.modifiedLength > 0; + let a = 0, + l = this._boundaryScore( + i.originalStart, + i.originalLength, + i.modifiedStart, + i.modifiedLength + ); + for (let e = 1; ; e++) { + const t = i.originalStart - e, + c = i.modifiedStart - e; + if (t < n || c < r) break; + if ( + s && + !this.OriginalElementsAreEqual(t, t + i.originalLength) + ) + break; + if ( + o && + !this.ModifiedElementsAreEqual(c, c + i.modifiedLength) + ) + break; + const d = this._boundaryScore( + t, + i.originalLength, + c, + i.modifiedLength + ); + d > l && ((l = d), (a = e)); + } + (i.originalStart -= a), (i.modifiedStart -= a); + } + return e; + } + _OriginalIsBoundary(e) { + return ( + e <= 0 || + e >= this._originalElementsOrHash.length - 1 || + (this._hasStrings && + /^\s*$/.test(this._originalStringElements[e])) + ); + } + _OriginalRegionIsBoundary(e, t) { + if (this._OriginalIsBoundary(e) || this._OriginalIsBoundary(e - 1)) + return !0; + if (t > 0) { + const i = e + t; + if ( + this._OriginalIsBoundary(i - 1) || + this._OriginalIsBoundary(i) + ) + return !0; + } + return !1; + } + _ModifiedIsBoundary(e) { + return ( + e <= 0 || + e >= this._modifiedElementsOrHash.length - 1 || + (this._hasStrings && + /^\s*$/.test(this._modifiedStringElements[e])) + ); + } + _ModifiedRegionIsBoundary(e, t) { + if (this._ModifiedIsBoundary(e) || this._ModifiedIsBoundary(e - 1)) + return !0; + if (t > 0) { + const i = e + t; + if ( + this._ModifiedIsBoundary(i - 1) || + this._ModifiedIsBoundary(i) + ) + return !0; + } + return !1; + } + _boundaryScore(e, t, i, n) { + return ( + (this._OriginalRegionIsBoundary(e, t) ? 1 : 0) + + (this._ModifiedRegionIsBoundary(i, n) ? 1 : 0) + ); + } + ConcatenateChanges(e, t) { + let i = []; + if (0 === e.length || 0 === t.length) return t.length > 0 ? t : e; + if (this.ChangesOverlap(e[e.length - 1], t[0], i)) { + const n = new Array(e.length + t.length - 1); + return ( + Ae.Copy(e, 0, n, 0, e.length - 1), + (n[e.length - 1] = i[0]), + Ae.Copy(t, 1, n, e.length, t.length - 1), + n + ); + } + { + const i = new Array(e.length + t.length); + return ( + Ae.Copy(e, 0, i, 0, e.length), + Ae.Copy(t, 0, i, e.length, t.length), + i + ); + } + } + ChangesOverlap(e, t, i) { + if ( + (Oe.Assert( + e.originalStart <= t.originalStart, + 'Left change is not less than or equal to right change' + ), + Oe.Assert( + e.modifiedStart <= t.modifiedStart, + 'Left change is not less than or equal to right change' + ), + e.originalStart + e.originalLength >= t.originalStart || + e.modifiedStart + e.modifiedLength >= t.modifiedStart) + ) { + const n = e.originalStart; + let r = e.originalLength; + const s = e.modifiedStart; + let o = e.modifiedLength; + return ( + e.originalStart + e.originalLength >= t.originalStart && + (r = t.originalStart + t.originalLength - e.originalStart), + e.modifiedStart + e.modifiedLength >= t.modifiedStart && + (o = t.modifiedStart + t.modifiedLength - e.modifiedStart), + (i[0] = new Ne(n, r, s, o)), + !0 + ); + } + return (i[0] = null), !1; + } + ClipDiagonalBound(e, t, i, n) { + if (e >= 0 && e < n) return e; + const r = t % 2 == 0; + return e < 0 + ? r === (i % 2 == 0) + ? 0 + : 1 + : r === ((n - i - 1) % 2 == 0) + ? n - 1 + : n - 2; + } + } + var Fe = i(97295); + function Be(e, t, i, n) { + return new Pe(e, t, i).ComputeDiff(n); + } + class We { + constructor(e) { + const t = [], + i = []; + for (let n = 0, r = e.length; n < r; n++) + (t[n] = ze(e[n], 1)), (i[n] = Ue(e[n], 1)); + (this.lines = e), (this._startColumns = t), (this._endColumns = i); + } + getElements() { + const e = []; + for (let t = 0, i = this.lines.length; t < i; t++) + e[t] = this.lines[t].substring( + this._startColumns[t] - 1, + this._endColumns[t] - 1 + ); + return e; + } + getStartLineNumber(e) { + return e + 1; + } + getEndLineNumber(e) { + return e + 1; + } + createCharSequence(e, t, i) { + const n = [], + r = [], + s = []; + let o = 0; + for (let a = t; a <= i; a++) { + const t = this.lines[a], + i = e ? this._startColumns[a] : 1, + l = e ? this._endColumns[a] : t.length + 1; + for (let e = i; e < l; e++) + (n[o] = t.charCodeAt(e - 1)), (r[o] = a + 1), (s[o] = e), o++; + } + return new Ye(n, r, s); + } + } + class Ye { + constructor(e, t, i) { + (this._charCodes = e), (this._lineNumbers = t), (this._columns = i); + } + getElements() { + return this._charCodes; + } + getStartLineNumber(e) { + return this._lineNumbers[e]; + } + getStartColumn(e) { + return this._columns[e]; + } + getEndLineNumber(e) { + return this._lineNumbers[e]; + } + getEndColumn(e) { + return this._columns[e] + 1; + } + } + class He { + constructor(e, t, i, n, r, s, o, a) { + (this.originalStartLineNumber = e), + (this.originalStartColumn = t), + (this.originalEndLineNumber = i), + (this.originalEndColumn = n), + (this.modifiedStartLineNumber = r), + (this.modifiedStartColumn = s), + (this.modifiedEndLineNumber = o), + (this.modifiedEndColumn = a); + } + static createFromDiffChange(e, t, i) { + let n, r, s, o, a, l, c, d; + return ( + 0 === e.originalLength + ? ((n = 0), (r = 0), (s = 0), (o = 0)) + : ((n = t.getStartLineNumber(e.originalStart)), + (r = t.getStartColumn(e.originalStart)), + (s = t.getEndLineNumber( + e.originalStart + e.originalLength - 1 + )), + (o = t.getEndColumn(e.originalStart + e.originalLength - 1))), + 0 === e.modifiedLength + ? ((a = 0), (l = 0), (c = 0), (d = 0)) + : ((a = i.getStartLineNumber(e.modifiedStart)), + (l = i.getStartColumn(e.modifiedStart)), + (c = i.getEndLineNumber( + e.modifiedStart + e.modifiedLength - 1 + )), + (d = i.getEndColumn(e.modifiedStart + e.modifiedLength - 1))), + new He(n, r, s, o, a, l, c, d) + ); + } + } + class je { + constructor(e, t, i, n, r) { + (this.originalStartLineNumber = e), + (this.originalEndLineNumber = t), + (this.modifiedStartLineNumber = i), + (this.modifiedEndLineNumber = n), + (this.charChanges = r); + } + static createFromDiffResult(e, t, i, n, r, s, o) { + let a, l, c, d, h; + if ( + (0 === t.originalLength + ? ((a = i.getStartLineNumber(t.originalStart) - 1), (l = 0)) + : ((a = i.getStartLineNumber(t.originalStart)), + (l = i.getEndLineNumber( + t.originalStart + t.originalLength - 1 + ))), + 0 === t.modifiedLength + ? ((c = n.getStartLineNumber(t.modifiedStart) - 1), (d = 0)) + : ((c = n.getStartLineNumber(t.modifiedStart)), + (d = n.getEndLineNumber( + t.modifiedStart + t.modifiedLength - 1 + ))), + s && + t.originalLength > 0 && + t.originalLength < 20 && + t.modifiedLength > 0 && + t.modifiedLength < 20 && + r()) + ) { + const s = i.createCharSequence( + e, + t.originalStart, + t.originalStart + t.originalLength - 1 + ), + a = n.createCharSequence( + e, + t.modifiedStart, + t.modifiedStart + t.modifiedLength - 1 + ); + let l = Be(s, a, r, !0).changes; + o && + (l = (function (e) { + if (e.length <= 1) return e; + const t = [e[0]]; + let i = t[0]; + for (let n = 1, r = e.length; n < r; n++) { + const r = e[n], + s = + r.originalStart - (i.originalStart + i.originalLength), + o = + r.modifiedStart - (i.modifiedStart + i.modifiedLength); + Math.min(s, o) < 3 + ? ((i.originalLength = + r.originalStart + r.originalLength - i.originalStart), + (i.modifiedLength = + r.modifiedStart + r.modifiedLength - i.modifiedStart)) + : (t.push(r), (i = r)); + } + return t; + })(l)), + (h = []); + for (let e = 0, t = l.length; e < t; e++) + h.push(He.createFromDiffChange(l[e], s, a)); + } + return new je(a, l, c, d, h); + } + } + class Ve { + constructor(e, t, i) { + (this.shouldComputeCharChanges = i.shouldComputeCharChanges), + (this.shouldPostProcessCharChanges = + i.shouldPostProcessCharChanges), + (this.shouldIgnoreTrimWhitespace = i.shouldIgnoreTrimWhitespace), + (this.shouldMakePrettyDiff = i.shouldMakePrettyDiff), + (this.originalLines = e), + (this.modifiedLines = t), + (this.original = new We(e)), + (this.modified = new We(t)), + (this.continueLineDiff = $e(i.maxComputationTime)), + (this.continueCharDiff = $e( + 0 === i.maxComputationTime + ? 0 + : Math.min(i.maxComputationTime, 5e3) + )); + } + computeDiff() { + if ( + 1 === this.original.lines.length && + 0 === this.original.lines[0].length + ) + return { + quitEarly: !1, + changes: [ + { + originalStartLineNumber: 1, + originalEndLineNumber: 1, + modifiedStartLineNumber: 1, + modifiedEndLineNumber: this.modified.lines.length, + charChanges: [ + { + modifiedEndColumn: 0, + modifiedEndLineNumber: 0, + modifiedStartColumn: 0, + modifiedStartLineNumber: 0, + originalEndColumn: 0, + originalEndLineNumber: 0, + originalStartColumn: 0, + originalStartLineNumber: 0, + }, + ], + }, + ], + }; + if ( + 1 === this.modified.lines.length && + 0 === this.modified.lines[0].length + ) + return { + quitEarly: !1, + changes: [ + { + originalStartLineNumber: 1, + originalEndLineNumber: this.original.lines.length, + modifiedStartLineNumber: 1, + modifiedEndLineNumber: 1, + charChanges: [ + { + modifiedEndColumn: 0, + modifiedEndLineNumber: 0, + modifiedStartColumn: 0, + modifiedStartLineNumber: 0, + originalEndColumn: 0, + originalEndLineNumber: 0, + originalStartColumn: 0, + originalStartLineNumber: 0, + }, + ], + }, + ], + }; + const e = Be( + this.original, + this.modified, + this.continueLineDiff, + this.shouldMakePrettyDiff + ), + t = e.changes, + i = e.quitEarly; + if (this.shouldIgnoreTrimWhitespace) { + const e = []; + for (let i = 0, n = t.length; i < n; i++) + e.push( + je.createFromDiffResult( + this.shouldIgnoreTrimWhitespace, + t[i], + this.original, + this.modified, + this.continueCharDiff, + this.shouldComputeCharChanges, + this.shouldPostProcessCharChanges + ) + ); + return { quitEarly: i, changes: e }; + } + const n = []; + let r = 0, + s = 0; + for (let e = -1, i = t.length; e < i; e++) { + const o = e + 1 < i ? t[e + 1] : null, + a = o ? o.originalStart : this.originalLines.length, + l = o ? o.modifiedStart : this.modifiedLines.length; + for (; r < a && s < l; ) { + const e = this.originalLines[r], + t = this.modifiedLines[s]; + if (e !== t) { + { + let i = ze(e, 1), + o = ze(t, 1); + for ( + ; + i > 1 && + o > 1 && + e.charCodeAt(i - 2) === t.charCodeAt(o - 2); + + ) + i--, o--; + (i > 1 || o > 1) && + this._pushTrimWhitespaceCharChange( + n, + r + 1, + 1, + i, + s + 1, + 1, + o + ); + } + { + let i = Ue(e, 1), + o = Ue(t, 1); + const a = e.length + 1, + l = t.length + 1; + for ( + ; + i < a && + o < l && + e.charCodeAt(i - 1) === e.charCodeAt(o - 1); + + ) + i++, o++; + (i < a || o < l) && + this._pushTrimWhitespaceCharChange( + n, + r + 1, + i, + a, + s + 1, + o, + l + ); + } + } + r++, s++; + } + o && + (n.push( + je.createFromDiffResult( + this.shouldIgnoreTrimWhitespace, + o, + this.original, + this.modified, + this.continueCharDiff, + this.shouldComputeCharChanges, + this.shouldPostProcessCharChanges + ) + ), + (r += o.originalLength), + (s += o.modifiedLength)); + } + return { quitEarly: i, changes: n }; + } + _pushTrimWhitespaceCharChange(e, t, i, n, r, s, o) { + if (this._mergeTrimWhitespaceCharChange(e, t, i, n, r, s, o)) + return; + let a; + this.shouldComputeCharChanges && + (a = [new He(t, i, t, n, r, s, r, o)]), + e.push(new je(t, t, r, r, a)); + } + _mergeTrimWhitespaceCharChange(e, t, i, n, r, s, o) { + const a = e.length; + if (0 === a) return !1; + const l = e[a - 1]; + return ( + 0 !== l.originalEndLineNumber && + 0 !== l.modifiedEndLineNumber && + l.originalEndLineNumber + 1 === t && + l.modifiedEndLineNumber + 1 === r && + ((l.originalEndLineNumber = t), + (l.modifiedEndLineNumber = r), + this.shouldComputeCharChanges && + l.charChanges && + l.charChanges.push(new He(t, i, t, n, r, s, r, o)), + !0) + ); + } + } + function ze(e, t) { + const i = Fe.LC(e); + return -1 === i ? t : i + 1; + } + function Ue(e, t) { + const i = Fe.ow(e); + return -1 === i ? t : i + 2; + } + function $e(e) { + if (0 === e) return () => !0; + const t = Date.now(); + return () => Date.now() - t < e; + } + var Ke = i(3544), + qe = i(97461), + Ge = i(44906); + class Ze { + constructor(e, t, i) { + const n = new Uint8Array(e * t); + for (let r = 0, s = e * t; r < s; r++) n[r] = i; + (this._data = n), (this.rows = e), (this.cols = t); + } + get(e, t) { + return this._data[e * this.cols + t]; + } + set(e, t, i) { + this._data[e * this.cols + t] = i; + } + } + class Je { + constructor(e) { + let t = 0, + i = 0; + for (let n = 0, r = e.length; n < r; n++) { + let [r, s, o] = e[n]; + s > t && (t = s), r > i && (i = r), o > i && (i = o); + } + t++, i++; + let n = new Ze(i, t, 0); + for (let t = 0, i = e.length; t < i; t++) { + let [i, r, s] = e[t]; + n.set(i, r, s); + } + (this._states = n), (this._maxCharCode = t); + } + nextState(e, t) { + return t < 0 || t >= this._maxCharCode ? 0 : this._states.get(e, t); + } + } + let Qe = null, + Xe = null; + class et { + static _createLink(e, t, i, n, r) { + let s = r - 1; + do { + const i = t.charCodeAt(s); + if (2 !== e.get(i)) break; + s--; + } while (s > n); + if (n > 0) { + const e = t.charCodeAt(n - 1), + i = t.charCodeAt(s); + ((40 === e && 41 === i) || + (91 === e && 93 === i) || + (123 === e && 125 === i)) && + s--; + } + return { + range: { + startLineNumber: i, + startColumn: n + 1, + endLineNumber: i, + endColumn: s + 2, + }, + url: t.substring(n, s + 1), + }; + } + static computeLinks( + e, + t = (function () { + return ( + null === Qe && + (Qe = new Je([ + [1, 104, 2], + [1, 72, 2], + [1, 102, 6], + [1, 70, 6], + [2, 116, 3], + [2, 84, 3], + [3, 116, 4], + [3, 84, 4], + [4, 112, 5], + [4, 80, 5], + [5, 115, 9], + [5, 83, 9], + [5, 58, 10], + [6, 105, 7], + [6, 73, 7], + [7, 108, 8], + [7, 76, 8], + [8, 101, 9], + [8, 69, 9], + [9, 58, 10], + [10, 47, 11], + [11, 47, 12], + ])), + Qe + ); + })() + ) { + const i = (function () { + if (null === Xe) { + Xe = new Ge.N(0); + const e = + ' \t<>\'"、。。、,.:;‘“〈《「『【〔([{「」}])〕】』」》〉”’`~…'; + for (let t = 0; t < e.length; t++) Xe.set(e.charCodeAt(t), 1); + const t = '.,;'; + for (let e = 0; e < t.length; e++) Xe.set(t.charCodeAt(e), 2); + } + return Xe; + })(); + let n = []; + for (let r = 1, s = e.getLineCount(); r <= s; r++) { + const s = e.getLineContent(r), + o = s.length; + let a = 0, + l = 0, + c = 0, + d = 1, + h = !1, + u = !1, + g = !1, + f = !1; + for (; a < o; ) { + let e = !1; + const o = s.charCodeAt(a); + if (13 === d) { + let t; + switch (o) { + case 40: + (h = !0), (t = 0); + break; + case 41: + t = h ? 0 : 1; + break; + case 91: + (g = !0), (u = !0), (t = 0); + break; + case 93: + (g = !1), (t = u ? 0 : 1); + break; + case 123: + (f = !0), (t = 0); + break; + case 125: + t = f ? 0 : 1; + break; + case 39: + t = 34 === c || 96 === c ? 0 : 1; + break; + case 34: + t = 39 === c || 96 === c ? 0 : 1; + break; + case 96: + t = 39 === c || 34 === c ? 0 : 1; + break; + case 42: + t = 42 === c ? 1 : 0; + break; + case 124: + t = 124 === c ? 1 : 0; + break; + case 32: + t = g ? 0 : 1; + break; + default: + t = i.get(o); + } + 1 === t && (n.push(et._createLink(i, s, r, l, a)), (e = !0)); + } else if (12 === d) { + let t; + 91 === o ? ((u = !0), (t = 0)) : (t = i.get(o)), + 1 === t ? (e = !0) : (d = 13); + } else (d = t.nextState(d, o)), 0 === d && (e = !0); + e && + ((d = 1), (h = !1), (u = !1), (f = !1), (l = a + 1), (c = o)), + a++; + } + 13 === d && n.push(et._createLink(i, s, r, l, o)); + } + return n; + } + } + class tt { + constructor() { + this._defaultValueSet = [ + ['true', 'false'], + ['True', 'False'], + [ + 'Private', + 'Public', + 'Friend', + 'ReadOnly', + 'Partial', + 'Protected', + 'WriteOnly', + ], + ['public', 'protected', 'private'], + ]; + } + navigateValueSet(e, t, i, n, r) { + if (e && t) { + let i = this.doNavigateValueSet(t, r); + if (i) return { range: e, value: i }; + } + if (i && n) { + let e = this.doNavigateValueSet(n, r); + if (e) return { range: i, value: e }; + } + return null; + } + doNavigateValueSet(e, t) { + let i = this.numberReplace(e, t); + return null !== i ? i : this.textReplace(e, t); + } + numberReplace(e, t) { + let i = Math.pow(10, e.length - (e.lastIndexOf('.') + 1)), + n = Number(e), + r = parseFloat(e); + return isNaN(n) || isNaN(r) || n !== r + ? null + : 0 !== n || t + ? ((n = Math.floor(n * i)), (n += t ? i : -i), String(n / i)) + : null; + } + textReplace(e, t) { + return this.valueSetsReplace(this._defaultValueSet, e, t); + } + valueSetsReplace(e, t, i) { + let n = null; + for (let r = 0, s = e.length; null === n && r < s; r++) + n = this.valueSetReplace(e[r], t, i); + return n; + } + valueSetReplace(e, t, i) { + let n = e.indexOf(t); + return n >= 0 + ? ((n += i ? 1 : -1), + n < 0 ? (n = e.length - 1) : (n %= e.length), + e[n]) + : null; + } + } + tt.INSTANCE = new tt(); + var it = function (e, t, i, n) { + return new (i || (i = Promise))(function (r, s) { + function o(e) { + try { + l(n.next(e)); + } catch (e) { + s(e); + } + } + function a(e) { + try { + l(n.throw(e)); + } catch (e) { + s(e); + } + } + function l(e) { + var t; + e.done + ? r(e.value) + : ((t = e.value), + t instanceof i + ? t + : new i(function (e) { + e(t); + })).then(o, a); + } + l((n = n.apply(e, t || [])).next()); + }); + }; + class nt extends class { + constructor(e, t, i, n) { + (this._uri = e), + (this._lines = t), + (this._eol = i), + (this._versionId = n), + (this._lineStarts = null), + (this._cachedTextValue = null); + } + dispose() { + this._lines.length = 0; + } + getText() { + return ( + null === this._cachedTextValue && + (this._cachedTextValue = this._lines.join(this._eol)), + this._cachedTextValue + ); + } + onEvents(e) { + e.eol && + e.eol !== this._eol && + ((this._eol = e.eol), (this._lineStarts = null)); + const t = e.changes; + for (const e of t) + this._acceptDeleteRange(e.range), + this._acceptInsertText( + new H.L(e.range.startLineNumber, e.range.startColumn), + e.text + ); + (this._versionId = e.versionId), (this._cachedTextValue = null); + } + _ensureLineStarts() { + if (!this._lineStarts) { + const e = this._eol.length, + t = this._lines.length, + i = new Uint32Array(t); + for (let n = 0; n < t; n++) i[n] = this._lines[n].length + e; + this._lineStarts = new Ke.o(i); + } + } + _setLineText(e, t) { + (this._lines[e] = t), + this._lineStarts && + this._lineStarts.changeValue( + e, + this._lines[e].length + this._eol.length + ); + } + _acceptDeleteRange(e) { + if (e.startLineNumber !== e.endLineNumber) + this._setLineText( + e.startLineNumber - 1, + this._lines[e.startLineNumber - 1].substring( + 0, + e.startColumn - 1 + ) + this._lines[e.endLineNumber - 1].substring(e.endColumn - 1) + ), + this._lines.splice( + e.startLineNumber, + e.endLineNumber - e.startLineNumber + ), + this._lineStarts && + this._lineStarts.removeValues( + e.startLineNumber, + e.endLineNumber - e.startLineNumber + ); + else { + if (e.startColumn === e.endColumn) return; + this._setLineText( + e.startLineNumber - 1, + this._lines[e.startLineNumber - 1].substring( + 0, + e.startColumn - 1 + ) + + this._lines[e.startLineNumber - 1].substring(e.endColumn - 1) + ); + } + } + _acceptInsertText(e, t) { + if (0 === t.length) return; + let i = t.split(/\r\n|\r|\n/); + if (1 === i.length) + return void this._setLineText( + e.lineNumber - 1, + this._lines[e.lineNumber - 1].substring(0, e.column - 1) + + i[0] + + this._lines[e.lineNumber - 1].substring(e.column - 1) + ); + (i[i.length - 1] += this._lines[e.lineNumber - 1].substring( + e.column - 1 + )), + this._setLineText( + e.lineNumber - 1, + this._lines[e.lineNumber - 1].substring(0, e.column - 1) + i[0] + ); + let n = new Uint32Array(i.length - 1); + for (let t = 1; t < i.length; t++) + this._lines.splice(e.lineNumber + t - 1, 0, i[t]), + (n[t - 1] = i[t].length + this._eol.length); + this._lineStarts && this._lineStarts.insertValues(e.lineNumber, n); + } + } { + get uri() { + return this._uri; + } + get version() { + return this._versionId; + } + get eol() { + return this._eol; + } + getValue() { + return this.getText(); + } + getLinesContent() { + return this._lines.slice(0); + } + getLineCount() { + return this._lines.length; + } + getLineContent(e) { + return this._lines[e - 1]; + } + getWordAtPosition(e, t) { + let i = (0, qe.t2)( + e.column, + (0, qe.eq)(t), + this._lines[e.lineNumber - 1], + 0 + ); + return i + ? new j.e(e.lineNumber, i.startColumn, e.lineNumber, i.endColumn) + : null; + } + words(e) { + const t = this._lines, + i = this._wordenize.bind(this); + let n = 0, + r = '', + s = 0, + o = []; + return { + *[Symbol.iterator]() { + for (;;) + if (s < o.length) { + const e = r.substring(o[s].start, o[s].end); + (s += 1), yield e; + } else { + if (!(n < t.length)) break; + (r = t[n]), (o = i(r, e)), (s = 0), (n += 1); + } + }, + }; + } + getLineWords(e, t) { + let i = this._lines[e - 1], + n = this._wordenize(i, t), + r = []; + for (const e of n) + r.push({ + word: i.substring(e.start, e.end), + startColumn: e.start + 1, + endColumn: e.end + 1, + }); + return r; + } + _wordenize(e, t) { + const i = []; + let n; + for (t.lastIndex = 0; (n = t.exec(e)) && 0 !== n[0].length; ) + i.push({ start: n.index, end: n.index + n[0].length }); + return i; + } + getValueInRange(e) { + if ( + (e = this._validateRange(e)).startLineNumber === e.endLineNumber + ) + return this._lines[e.startLineNumber - 1].substring( + e.startColumn - 1, + e.endColumn - 1 + ); + let t = this._eol, + i = e.startLineNumber - 1, + n = e.endLineNumber - 1, + r = []; + r.push(this._lines[i].substring(e.startColumn - 1)); + for (let e = i + 1; e < n; e++) r.push(this._lines[e]); + return ( + r.push(this._lines[n].substring(0, e.endColumn - 1)), r.join(t) + ); + } + offsetAt(e) { + return ( + (e = this._validatePosition(e)), + this._ensureLineStarts(), + this._lineStarts.getAccumulatedValue(e.lineNumber - 2) + + (e.column - 1) + ); + } + positionAt(e) { + (e = Math.floor(e)), (e = Math.max(0, e)), this._ensureLineStarts(); + let t = this._lineStarts.getIndexOf(e), + i = this._lines[t.index].length; + return { + lineNumber: 1 + t.index, + column: 1 + Math.min(t.remainder, i), + }; + } + _validateRange(e) { + const t = this._validatePosition({ + lineNumber: e.startLineNumber, + column: e.startColumn, + }), + i = this._validatePosition({ + lineNumber: e.endLineNumber, + column: e.endColumn, + }); + return t.lineNumber !== e.startLineNumber || + t.column !== e.startColumn || + i.lineNumber !== e.endLineNumber || + i.column !== e.endColumn + ? { + startLineNumber: t.lineNumber, + startColumn: t.column, + endLineNumber: i.lineNumber, + endColumn: i.column, + } + : e; + } + _validatePosition(e) { + if (!H.L.isIPosition(e)) throw new Error('bad position'); + let { lineNumber: t, column: i } = e, + n = !1; + if (t < 1) (t = 1), (i = 1), (n = !0); + else if (t > this._lines.length) + (t = this._lines.length), + (i = this._lines[t - 1].length + 1), + (n = !0); + else { + let e = this._lines[t - 1].length + 1; + i < 1 ? ((i = 1), (n = !0)) : i > e && ((i = e), (n = !0)); + } + return n ? { lineNumber: t, column: i } : e; + } + } + class rt { + constructor(e, t) { + (this._host = e), + (this._models = Object.create(null)), + (this._foreignModuleFactory = t), + (this._foreignModule = null); + } + dispose() { + this._models = Object.create(null); + } + _getModel(e) { + return this._models[e]; + } + _getModels() { + let e = []; + return ( + Object.keys(this._models).forEach((t) => e.push(this._models[t])), + e + ); + } + acceptNewModel(e) { + this._models[e.url] = new nt( + Y.o.parse(e.url), + e.lines, + e.EOL, + e.versionId + ); + } + acceptModelChanged(e, t) { + this._models[e] && this._models[e].onEvents(t); + } + acceptRemovedModel(e) { + this._models[e] && delete this._models[e]; + } + computeDiff(e, t, i, n) { + return it(this, void 0, void 0, function* () { + const r = this._getModel(e), + s = this._getModel(t); + if (!r || !s) return null; + const o = r.getLinesContent(), + a = s.getLinesContent(), + l = new Ve(o, a, { + shouldComputeCharChanges: !0, + shouldPostProcessCharChanges: !0, + shouldIgnoreTrimWhitespace: i, + shouldMakePrettyDiff: !0, + maxComputationTime: n, + }).computeDiff(), + c = !(l.changes.length > 0) && this._modelsAreIdentical(r, s); + return { + quitEarly: l.quitEarly, + identical: c, + changes: l.changes, + }; + }); + } + _modelsAreIdentical(e, t) { + const i = e.getLineCount(); + if (i !== t.getLineCount()) return !1; + for (let n = 1; n <= i; n++) + if (e.getLineContent(n) !== t.getLineContent(n)) return !1; + return !0; + } + computeMoreMinimalEdits(e, t) { + return it(this, void 0, void 0, function* () { + const i = this._getModel(e); + if (!i) return t; + const n = []; + let r; + t = (0, De.qt)(t, (e, t) => + e.range && t.range + ? j.e.compareRangesUsingStarts(e.range, t.range) + : (e.range ? 0 : 1) - (t.range ? 0 : 1) + ); + for (let { range: e, text: s, eol: o } of t) { + if (('number' == typeof o && (r = o), j.e.isEmpty(e) && !s)) + continue; + const t = i.getValueInRange(e); + if (((s = s.replace(/\r\n|\n|\r/g, i.eol)), t === s)) continue; + if (Math.max(s.length, t.length) > rt._diffLimit) { + n.push({ range: e, text: s }); + continue; + } + const a = Ie(t, s, !1), + l = i.offsetAt(j.e.lift(e).getStartPosition()); + for (const e of a) { + const t = i.positionAt(l + e.originalStart), + r = i.positionAt(l + e.originalStart + e.originalLength), + o = { + text: s.substr(e.modifiedStart, e.modifiedLength), + range: { + startLineNumber: t.lineNumber, + startColumn: t.column, + endLineNumber: r.lineNumber, + endColumn: r.column, + }, + }; + i.getValueInRange(o.range) !== o.text && n.push(o); + } + } + return ( + 'number' == typeof r && + n.push({ + eol: r, + text: '', + range: { + startLineNumber: 0, + startColumn: 0, + endLineNumber: 0, + endColumn: 0, + }, + }), + n + ); + }); + } + computeLinks(e) { + return it(this, void 0, void 0, function* () { + let t = this._getModel(e); + return t + ? (function (e) { + return e && + 'function' == typeof e.getLineCount && + 'function' == typeof e.getLineContent + ? et.computeLinks(e) + : []; + })(t) + : null; + }); + } + textualSuggest(e, t, i, n) { + return it(this, void 0, void 0, function* () { + const r = this._getModel(e); + if (!r) return null; + const s = [], + o = new Set(), + a = new RegExp(i, n), + l = r.getWordAtPosition(t, a); + l && o.add(r.getValueInRange(l)); + for (let e of r.words(a)) + if ( + !o.has(e) && + (o.add(e), + isNaN(Number(e)) && + (s.push(e), o.size > rt._suggestionsLimit)) + ) + break; + return s; + }); + } + computeWordRanges(e, t, i, n) { + return it(this, void 0, void 0, function* () { + let r = this._getModel(e); + if (!r) return Object.create(null); + const s = new RegExp(i, n), + o = Object.create(null); + for (let e = t.startLineNumber; e < t.endLineNumber; e++) { + let t = r.getLineWords(e, s); + for (const i of t) { + if (!isNaN(Number(i.word))) continue; + let t = o[i.word]; + t || ((t = []), (o[i.word] = t)), + t.push({ + startLineNumber: e, + startColumn: i.startColumn, + endLineNumber: e, + endColumn: i.endColumn, + }); + } + } + return o; + }); + } + navigateValueSet(e, t, i, n, r) { + return it(this, void 0, void 0, function* () { + let s = this._getModel(e); + if (!s) return null; + let o = new RegExp(n, r); + t.startColumn === t.endColumn && + (t = { + startLineNumber: t.startLineNumber, + startColumn: t.startColumn, + endLineNumber: t.endLineNumber, + endColumn: t.endColumn + 1, + }); + let a = s.getValueInRange(t), + l = s.getWordAtPosition( + { lineNumber: t.startLineNumber, column: t.startColumn }, + o + ); + if (!l) return null; + let c = s.getValueInRange(l); + return tt.INSTANCE.navigateValueSet(t, a, l, c, i); + }); + } + loadForeignModule(e, t, i) { + let n = { + host: ye.IU(i, (e, t) => this._host.fhr(e, t)), + getMirrorModels: () => this._getModels(), + }; + return this._foreignModuleFactory + ? ((this._foreignModule = this._foreignModuleFactory(n, t)), + Promise.resolve(ye.$E(this._foreignModule))) + : Promise.reject(new Error('Unexpected usage')); + } + fmr(e, t) { + if ( + !this._foreignModule || + 'function' != typeof this._foreignModule[e] + ) + return Promise.reject( + new Error('Missing requestHandler or method: ' + e) + ); + try { + return Promise.resolve( + this._foreignModule[e].apply(this._foreignModule, t) + ); + } catch (e) { + return Promise.reject(e); + } + } + } + (rt._diffLimit = 1e5), + (rt._suggestionsLimit = 1e4), + 'function' == typeof importScripts && (ve.li.monaco = $()); + var st = i(51200), + ot = i(33187), + at = i(43557), + lt = i(84013), + ct = function (e, t) { + return function (i, n) { + t(i, n, e); + }; + }; + function dt(e, t) { + let i = e.getModel(t); + return !!i && !i.isTooLargeForSyncing(); + } + let ht = class extends _e.JT { + constructor(e, t, i) { + super(), + (this._modelService = e), + (this._workerManager = this._register( + new gt(this._modelService) + )), + (this._logService = i), + this._register( + ue.pM.register('*', { + provideLinks: (e, t) => + dt(this._modelService, e.uri) + ? this._workerManager + .withWorker() + .then((t) => t.computeLinks(e.uri)) + .then((e) => e && { links: e }) + : Promise.resolve({ links: [] }), + }) + ), + this._register( + ue.KZ.register( + '*', + new ut(this._workerManager, t, this._modelService) + ) + ); + } + dispose() { + super.dispose(); + } + canComputeDiff(e, t) { + return dt(this._modelService, e) && dt(this._modelService, t); + } + computeDiff(e, t, i, n) { + return this._workerManager + .withWorker() + .then((r) => r.computeDiff(e, t, i, n)); + } + computeMoreMinimalEdits(e, t) { + if ((0, De.Of)(t)) { + if (!dt(this._modelService, e)) return Promise.resolve(t); + const i = lt.G.create(!0), + n = this._workerManager + .withWorker() + .then((i) => i.computeMoreMinimalEdits(e, t)); + return ( + n.finally(() => + this._logService.trace( + 'FORMAT#computeMoreMinimalEdits', + e.toString(!0), + i.elapsed() + ) + ), + n + ); + } + return Promise.resolve(void 0); + } + canNavigateValueSet(e) { + return dt(this._modelService, e); + } + navigateValueSet(e, t, i) { + return this._workerManager + .withWorker() + .then((n) => n.navigateValueSet(e, t, i)); + } + canComputeWordRanges(e) { + return dt(this._modelService, e); + } + computeWordRanges(e, t) { + return this._workerManager + .withWorker() + .then((i) => i.computeWordRanges(e, t)); + } + }; + ht = (function (e, t, i, n) { + var r, + s = arguments.length, + o = + s < 3 + ? t + : null === n + ? (n = Object.getOwnPropertyDescriptor(t, i)) + : n; + if ( + 'object' == typeof Reflect && + 'function' == typeof Reflect.decorate + ) + o = Reflect.decorate(e, t, i, n); + else + for (var a = e.length - 1; a >= 0; a--) + (r = e[a]) && + (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); + return s > 3 && o && Object.defineProperty(t, i, o), o; + })([ct(0, st.q), ct(1, ot.V), ct(2, at.VZ)], ht); + class ut { + constructor(e, t, i) { + (this._debugDisplayName = 'wordbasedCompletions'), + (this._workerManager = e), + (this._configurationService = t), + (this._modelService = i); + } + provideCompletionItems(e, t) { + return ( + (i = this), + (n = void 0), + (s = function* () { + const { + wordBasedSuggestions: i, + } = this._configurationService.getValue(e.uri, t, 'editor'); + if (!i) return; + if (!dt(this._modelService, e.uri)) return; + const n = e.getWordAtPosition(t), + r = n + ? new j.e( + t.lineNumber, + n.startColumn, + t.lineNumber, + n.endColumn + ) + : j.e.fromPositions(t), + s = r.setEndPosition(t.lineNumber, t.column), + o = yield this._workerManager.withWorker(), + a = yield o.textualSuggest(e.uri, t); + return a + ? { + suggestions: a.map((e) => ({ + kind: 18, + label: e, + insertText: e, + range: { insert: s, replace: r }, + })), + } + : void 0; + }), + new ((r = void 0) || (r = Promise))(function (e, t) { + function o(e) { + try { + l(s.next(e)); + } catch (e) { + t(e); + } + } + function a(e) { + try { + l(s.throw(e)); + } catch (e) { + t(e); + } + } + function l(t) { + var i; + t.done + ? e(t.value) + : ((i = t.value), + i instanceof r + ? i + : new r(function (e) { + e(i); + })).then(o, a); + } + l((s = s.apply(i, n || [])).next()); + }) + ); + var i, n, r, s; + } + } + class gt extends _e.JT { + constructor(e) { + super(), + (this._modelService = e), + (this._editorWorkerClient = null), + (this._lastWorkerUsedTime = new Date().getTime()), + this._register(new me.zh()).cancelAndSet( + () => this._checkStopIdleWorker(), + Math.round(15e4) + ), + this._register( + this._modelService.onModelRemoved((e) => + this._checkStopEmptyWorker() + ) + ); + } + dispose() { + this._editorWorkerClient && + (this._editorWorkerClient.dispose(), + (this._editorWorkerClient = null)), + super.dispose(); + } + _checkStopEmptyWorker() { + this._editorWorkerClient && + 0 === this._modelService.getModels().length && + (this._editorWorkerClient.dispose(), + (this._editorWorkerClient = null)); + } + _checkStopIdleWorker() { + this._editorWorkerClient && + new Date().getTime() - this._lastWorkerUsedTime > 3e5 && + (this._editorWorkerClient.dispose(), + (this._editorWorkerClient = null)); + } + withWorker() { + return ( + (this._lastWorkerUsedTime = new Date().getTime()), + this._editorWorkerClient || + (this._editorWorkerClient = new _t( + this._modelService, + !1, + 'editorWorkerService' + )), + Promise.resolve(this._editorWorkerClient) + ); + } + } + class ft extends _e.JT { + constructor(e, t, i) { + if ( + (super(), + (this._syncedModels = Object.create(null)), + (this._syncedModelsLastUsedTime = Object.create(null)), + (this._proxy = e), + (this._modelService = t), + !i) + ) { + let e = new me.zh(); + e.cancelAndSet(() => this._checkStopModelSync(), Math.round(3e4)), + this._register(e); + } + } + dispose() { + for (let e in this._syncedModels) (0, _e.B9)(this._syncedModels[e]); + (this._syncedModels = Object.create(null)), + (this._syncedModelsLastUsedTime = Object.create(null)), + super.dispose(); + } + ensureSyncedResources(e) { + for (const t of e) { + let e = t.toString(); + this._syncedModels[e] || this._beginModelSync(t), + this._syncedModels[e] && + (this._syncedModelsLastUsedTime[e] = new Date().getTime()); + } + } + _checkStopModelSync() { + let e = new Date().getTime(), + t = []; + for (let i in this._syncedModelsLastUsedTime) + e - this._syncedModelsLastUsedTime[i] > 6e4 && t.push(i); + for (const e of t) this._stopModelSync(e); + } + _beginModelSync(e) { + let t = this._modelService.getModel(e); + if (!t) return; + if (t.isTooLargeForSyncing()) return; + let i = e.toString(); + this._proxy.acceptNewModel({ + url: t.uri.toString(), + lines: t.getLinesContent(), + EOL: t.getEOL(), + versionId: t.getVersionId(), + }); + const n = new _e.SL(); + n.add( + t.onDidChangeContent((e) => { + this._proxy.acceptModelChanged(i.toString(), e); + }) + ), + n.add( + t.onWillDispose(() => { + this._stopModelSync(i); + }) + ), + n.add( + (0, _e.OF)(() => { + this._proxy.acceptRemovedModel(i); + }) + ), + (this._syncedModels[i] = n); + } + _stopModelSync(e) { + let t = this._syncedModels[e]; + delete this._syncedModels[e], + delete this._syncedModelsLastUsedTime[e], + (0, _e.B9)(t); + } + } + class pt { + constructor(e) { + (this._instance = e), + (this._proxyObj = Promise.resolve(this._instance)); + } + dispose() { + this._instance.dispose(); + } + getProxyObject() { + return this._proxyObj; + } + } + class mt { + constructor(e) { + this._workerClient = e; + } + fhr(e, t) { + return this._workerClient.fhr(e, t); + } + } + class _t extends _e.JT { + constructor(e, t, i) { + super(), + (this._disposed = !1), + (this._modelService = e), + (this._keepIdleModels = t), + (this._workerFactory = new Le(i)), + (this._worker = null), + (this._modelManager = null); + } + fhr(e, t) { + throw new Error('Not implemented!'); + } + _getOrCreateWorker() { + if (!this._worker) + try { + this._worker = this._register( + new ke( + this._workerFactory, + 'vs/editor/common/services/editorSimpleWorker', + new mt(this) + ) + ); + } catch (e) { + Ce(e), (this._worker = new pt(new rt(new mt(this), null))); + } + return this._worker; + } + _getProxy() { + return this._getOrCreateWorker() + .getProxyObject() + .then( + void 0, + (e) => ( + Ce(e), + (this._worker = new pt(new rt(new mt(this), null))), + this._getOrCreateWorker().getProxyObject() + ) + ); + } + _getOrCreateModelManager(e) { + return ( + this._modelManager || + (this._modelManager = this._register( + new ft(e, this._modelService, this._keepIdleModels) + )), + this._modelManager + ); + } + _withSyncedResources(e) { + return this._disposed + ? Promise.reject((0, be.F0)()) + : this._getProxy().then( + (t) => ( + this._getOrCreateModelManager(t).ensureSyncedResources(e), t + ) + ); + } + computeDiff(e, t, i, n) { + return this._withSyncedResources([e, t]).then((r) => + r.computeDiff(e.toString(), t.toString(), i, n) + ); + } + computeMoreMinimalEdits(e, t) { + return this._withSyncedResources([e]).then((i) => + i.computeMoreMinimalEdits(e.toString(), t) + ); + } + computeLinks(e) { + return this._withSyncedResources([e]).then((t) => + t.computeLinks(e.toString()) + ); + } + textualSuggest(e, t) { + return this._withSyncedResources([e]).then((i) => { + let n = this._modelService.getModel(e); + if (!n) return null; + let r = Me.zu.getWordDefinition(n.getLanguageIdentifier().id), + s = r.source, + o = (0, Fe.mr)(r); + return i.textualSuggest(e.toString(), t, s, o); + }); + } + computeWordRanges(e, t) { + return this._withSyncedResources([e]).then((i) => { + let n = this._modelService.getModel(e); + if (!n) return Promise.resolve(null); + let r = Me.zu.getWordDefinition(n.getLanguageIdentifier().id), + s = r.source, + o = (0, Fe.mr)(r); + return i.computeWordRanges(e.toString(), t, s, o); + }); + } + navigateValueSet(e, t, i) { + return this._withSyncedResources([e]).then((n) => { + let r = this._modelService.getModel(e); + if (!r) return null; + let s = Me.zu.getWordDefinition(r.getLanguageIdentifier().id), + o = s.source, + a = (0, Fe.mr)(s); + return n.navigateValueSet(e.toString(), t, i, o, a); + }); + } + dispose() { + super.dispose(), (this._disposed = !0); + } + } + class bt extends _t { + constructor(e, t) { + super(e, t.keepIdleModels || !1, t.label), + (this._foreignModuleId = t.moduleId), + (this._foreignModuleCreateData = t.createData || null), + (this._foreignModuleHost = t.host || null), + (this._foreignProxy = null); + } + fhr(e, t) { + if ( + !this._foreignModuleHost || + 'function' != typeof this._foreignModuleHost[e] + ) + return Promise.reject( + new Error( + 'Missing method ' + + e + + ' or missing main thread foreign host.' + ) + ); + try { + return Promise.resolve( + this._foreignModuleHost[e].apply(this._foreignModuleHost, t) + ); + } catch (e) { + return Promise.reject(e); + } + } + _getForeignProxy() { + return ( + this._foreignProxy || + (this._foreignProxy = this._getProxy().then((e) => { + const t = this._foreignModuleHost + ? ye.$E(this._foreignModuleHost) + : []; + return e + .loadForeignModule( + this._foreignModuleId, + this._foreignModuleCreateData, + t + ) + .then((t) => { + this._foreignModuleCreateData = null; + const i = (t, i) => e.fmr(t, i), + n = (e, t) => + function () { + const i = Array.prototype.slice.call(arguments, 0); + return t(e, i); + }; + let r = {}; + for (const e of t) r[e] = n(e, i); + return r; + }); + })), + this._foreignProxy + ); + } + getProxy() { + return this._getForeignProxy(); + } + withSyncedResources(e) { + return this._withSyncedResources(e).then((e) => this.getProxy()); + } + } + var vt = i(78411), + yt = i(77736), + wt = i(13824); + function Ct(e) { + return 'string' == typeof e; + } + function St(e) { + return !Ct(e); + } + function kt(e) { + return !e; + } + function xt(e, t) { + return e.ignoreCase && t ? t.toLowerCase() : t; + } + function Lt(e) { + return e.replace(/[&<>'"_]/g, '-'); + } + function Mt(e, t) { + return new Error(`${e.languageId}: ${t}`); + } + function Dt(e, t, i, n, r) { + let s = null; + return t.replace( + /\$((\$)|(#)|(\d\d?)|[sS](\d\d?)|@(\w+))/g, + function (t, o, a, l, c, d, h, u, g) { + return kt(a) + ? kt(l) + ? !kt(c) && c < n.length + ? xt(e, n[c]) + : !kt(h) && e && 'string' == typeof e[h] + ? e[h] + : (null === s && ((s = r.split('.')), s.unshift(r)), + !kt(d) && d < s.length ? xt(e, s[d]) : '') + : xt(e, i) + : '$'; + } + ); + } + function Nt(e, t) { + let i = t; + for (; i && i.length > 0; ) { + const t = e.tokenizer[i]; + if (t) return t; + const n = i.lastIndexOf('.'); + i = n < 0 ? null : i.substr(0, n); + } + return null; + } + class Et { + constructor(e) { + (this._maxCacheDepth = e), (this._entries = Object.create(null)); + } + static create(e, t) { + return this._INSTANCE.create(e, t); + } + create(e, t) { + if (null !== e && e.depth >= this._maxCacheDepth) + return new Tt(e, t); + let i = Tt.getStackElementId(e); + i.length > 0 && (i += '|'), (i += t); + let n = this._entries[i]; + return n || ((n = new Tt(e, t)), (this._entries[i] = n), n); + } + } + Et._INSTANCE = new Et(5); + class Tt { + constructor(e, t) { + (this.parent = e), + (this.state = t), + (this.depth = (this.parent ? this.parent.depth : 0) + 1); + } + static getStackElementId(e) { + let t = ''; + for (; null !== e; ) + t.length > 0 && (t += '|'), (t += e.state), (e = e.parent); + return t; + } + static _equals(e, t) { + for (; null !== e && null !== t; ) { + if (e === t) return !0; + if (e.state !== t.state) return !1; + (e = e.parent), (t = t.parent); + } + return null === e && null === t; + } + equals(e) { + return Tt._equals(this, e); + } + push(e) { + return Et.create(this, e); + } + pop() { + return this.parent; + } + popall() { + let e = this; + for (; e.parent; ) e = e.parent; + return e; + } + switchTo(e) { + return Et.create(this.parent, e); + } + } + class It { + constructor(e, t) { + (this.modeId = e), (this.state = t); + } + equals(e) { + return this.modeId === e.modeId && this.state.equals(e.state); + } + clone() { + return this.state.clone() === this.state + ? this + : new It(this.modeId, this.state); + } + } + class Ot { + constructor(e) { + (this._maxCacheDepth = e), (this._entries = Object.create(null)); + } + static create(e, t) { + return this._INSTANCE.create(e, t); + } + create(e, t) { + if (null !== t) return new At(e, t); + if (null !== e && e.depth >= this._maxCacheDepth) + return new At(e, t); + let i = Tt.getStackElementId(e), + n = this._entries[i]; + return n || ((n = new At(e, null)), (this._entries[i] = n), n); + } + } + Ot._INSTANCE = new Ot(5); + class At { + constructor(e, t) { + (this.stack = e), (this.embeddedModeData = t); + } + clone() { + return (this.embeddedModeData + ? this.embeddedModeData.clone() + : null) === this.embeddedModeData + ? this + : Ot.create(this.stack, this.embeddedModeData); + } + equals(e) { + return ( + e instanceof At && + !!this.stack.equals(e.stack) && + ((null === this.embeddedModeData && + null === e.embeddedModeData) || + (null !== this.embeddedModeData && + null !== e.embeddedModeData && + this.embeddedModeData.equals(e.embeddedModeData))) + ); + } + } + class Rt { + constructor() { + (this._tokens = []), + (this._language = null), + (this._lastTokenType = null), + (this._lastTokenLanguage = null); + } + enterMode(e, t) { + this._language = t; + } + emit(e, t) { + (this._lastTokenType === t && + this._lastTokenLanguage === this._language) || + ((this._lastTokenType = t), + (this._lastTokenLanguage = this._language), + this._tokens.push(new z.WU(e, t, this._language))); + } + nestedModeTokenize(e, t, i) { + const n = t.modeId, + r = t.state, + s = ue.RW.get(n); + if (!s) return this.enterMode(i, n), this.emit(i, ''), r; + let o = s.tokenize(e, r, i); + return ( + (this._tokens = this._tokens.concat(o.tokens)), + (this._lastTokenType = null), + (this._lastTokenLanguage = null), + (this._language = null), + o.endState + ); + } + finalize(e) { + return new z.hG(this._tokens, e); + } + } + class Pt { + constructor(e, t) { + (this._modeService = e), + (this._theme = t), + (this._prependTokens = null), + (this._tokens = []), + (this._currentLanguageId = 0), + (this._lastTokenMetadata = 0); + } + enterMode(e, t) { + this._currentLanguageId = this._modeService.getLanguageIdentifier( + t + ).id; + } + emit(e, t) { + let i = this._theme.match(this._currentLanguageId, t); + this._lastTokenMetadata !== i && + ((this._lastTokenMetadata = i), + this._tokens.push(e), + this._tokens.push(i)); + } + static _merge(e, t, i) { + let n = null !== e ? e.length : 0, + r = t.length, + s = null !== i ? i.length : 0; + if (0 === n && 0 === r && 0 === s) return new Uint32Array(0); + if (0 === n && 0 === r) return i; + if (0 === r && 0 === s) return e; + let o = new Uint32Array(n + r + s); + null !== e && o.set(e); + for (let e = 0; e < r; e++) o[n + e] = t[e]; + return null !== i && o.set(i, n + r), o; + } + nestedModeTokenize(e, t, i) { + const n = t.modeId, + r = t.state, + s = ue.RW.get(n); + if (!s) return this.enterMode(i, n), this.emit(i, ''), r; + let o = s.tokenize2(e, r, i); + return ( + (this._prependTokens = Pt._merge( + this._prependTokens, + this._tokens, + o.tokens + )), + (this._tokens = []), + (this._currentLanguageId = 0), + (this._lastTokenMetadata = 0), + o.endState + ); + } + finalize(e) { + return new z.Hi( + Pt._merge(this._prependTokens, this._tokens, null), + e + ); + } + } + class Ft { + constructor(e, t, i, n) { + (this._modeService = e), + (this._standaloneThemeService = t), + (this._modeId = i), + (this._lexer = n), + (this._embeddedModes = Object.create(null)), + (this.embeddedLoaded = Promise.resolve(void 0)); + let r = !1; + this._tokenizationRegistryListener = ue.RW.onDidChange((e) => { + if (r) return; + let t = !1; + for (let i = 0, n = e.changedLanguages.length; i < n; i++) { + let n = e.changedLanguages[i]; + if (this._embeddedModes[n]) { + t = !0; + break; + } + } + t && ((r = !0), ue.RW.fire([this._modeId]), (r = !1)); + }); + } + dispose() { + this._tokenizationRegistryListener.dispose(); + } + getLoadStatus() { + let e = []; + for (let t in this._embeddedModes) { + const i = ue.RW.get(t); + if (i) { + if (i instanceof Ft) { + const t = i.getLoadStatus(); + !1 === t.loaded && e.push(t.promise); + } + continue; + } + const n = ue.RW.getPromise(t); + n && e.push(n); + } + return 0 === e.length + ? { loaded: !0 } + : { loaded: !1, promise: Promise.all(e).then((e) => {}) }; + } + getInitialState() { + let e = Et.create(null, this._lexer.start); + return Ot.create(e, null); + } + tokenize(e, t, i) { + let n = new Rt(), + r = this._tokenize(e, t, i, n); + return n.finalize(r); + } + tokenize2(e, t, i) { + let n = new Pt( + this._modeService, + this._standaloneThemeService.getColorTheme().tokenTheme + ), + r = this._tokenize(e, t, i, n); + return n.finalize(r); + } + _tokenize(e, t, i, n) { + return t.embeddedModeData + ? this._nestedTokenize(e, t, i, n) + : this._myTokenize(e, t, i, n); + } + _findLeavingNestedModeOffset(e, t) { + let i = this._lexer.tokenizer[t.stack.state]; + if (!i && ((i = Nt(this._lexer, t.stack.state)), !i)) + throw Mt( + this._lexer, + 'tokenizer state is not defined: ' + t.stack.state + ); + let n = -1, + r = !1; + for (const t of i) { + if (!St(t.action) || '@pop' !== t.action.nextEmbedded) continue; + r = !0; + let i = t.regex, + s = t.regex.source; + if ( + '^(?:' === s.substr(0, 4) && + ')' === s.substr(s.length - 1, 1) + ) { + let e = (i.ignoreCase ? 'i' : '') + (i.unicode ? 'u' : ''); + i = new RegExp(s.substr(4, s.length - 5), e); + } + let o = e.search(i); + -1 === o || + (0 !== o && t.matchOnlyAtLineStart) || + ((-1 === n || o < n) && (n = o)); + } + if (!r) + throw Mt( + this._lexer, + 'no rule containing nextEmbedded: "@pop" in tokenizer embedded state: ' + + t.stack.state + ); + return n; + } + _nestedTokenize(e, t, i, n) { + let r = this._findLeavingNestedModeOffset(e, t); + if (-1 === r) { + let r = n.nestedModeTokenize(e, t.embeddedModeData, i); + return Ot.create(t.stack, new It(t.embeddedModeData.modeId, r)); + } + let s = e.substring(0, r); + s.length > 0 && n.nestedModeTokenize(s, t.embeddedModeData, i); + let o = e.substring(r); + return this._myTokenize(o, t, i + r, n); + } + _safeRuleName(e) { + return e ? e.name : '(unknown)'; + } + _myTokenize(e, t, i, n) { + n.enterMode(i, this._modeId); + const r = e.length; + let s = t.embeddedModeData, + o = t.stack, + a = 0, + l = null, + c = !0; + for (; c || a < r; ) { + const t = a, + u = o.depth, + g = l ? l.groups.length : 0, + f = o.state; + let p = null, + m = null, + _ = null, + b = null, + v = null; + if (l) { + p = l.matches; + const e = l.groups.shift(); + (m = e.matched), + (_ = e.action), + (b = l.rule), + 0 === l.groups.length && (l = null); + } else { + if (!c && a >= r) break; + c = !1; + let t = this._lexer.tokenizer[f]; + if (!t && ((t = Nt(this._lexer, f)), !t)) + throw Mt(this._lexer, 'tokenizer state is not defined: ' + f); + let i = e.substr(a); + for (const e of t) + if ( + (0 === a || !e.matchOnlyAtLineStart) && + ((p = i.match(e.regex)), p) + ) { + (m = p[0]), (_ = e.action); + break; + } + } + if ( + (p || ((p = ['']), (m = '')), + _ || + (a < r && ((p = [e.charAt(a)]), (m = p[0])), + (_ = this._lexer.defaultToken)), + null === m) + ) + break; + for ( + a += m.length; + !(function (e) { + return Array.isArray(e); + })(_) && + St(_) && + _.test; + + ) + _ = _.test(m, p, f, a === r); + let y = null; + if ('string' == typeof _ || Array.isArray(_)) y = _; + else if (_.group) y = _.group; + else if (null !== _.token && void 0 !== _.token) { + if ( + ((y = _.tokenSubst + ? Dt(this._lexer, _.token, m, p, f) + : _.token), + _.nextEmbedded) + ) + if ('@pop' === _.nextEmbedded) { + if (!s) + throw Mt( + this._lexer, + 'cannot pop embedded mode if not inside one' + ); + s = null; + } else { + if (s) + throw Mt( + this._lexer, + 'cannot enter embedded mode from within an embedded mode' + ); + v = Dt(this._lexer, _.nextEmbedded, m, p, f); + } + if ( + (_.goBack && (a = Math.max(0, a - _.goBack)), + _.switchTo && 'string' == typeof _.switchTo) + ) { + let e = Dt(this._lexer, _.switchTo, m, p, f); + if (('@' === e[0] && (e = e.substr(1)), !Nt(this._lexer, e))) + throw Mt( + this._lexer, + "trying to switch to a state '" + + e + + "' that is undefined in rule: " + + this._safeRuleName(b) + ); + o = o.switchTo(e); + } else { + if (_.transform && 'function' == typeof _.transform) + throw Mt(this._lexer, 'action.transform not supported'); + if (_.next) + if ('@push' === _.next) { + if (o.depth >= this._lexer.maxStack) + throw Mt( + this._lexer, + 'maximum tokenizer stack size reached: [' + + o.state + + ',' + + o.parent.state + + ',...]' + ); + o = o.push(f); + } else if ('@pop' === _.next) { + if (o.depth <= 1) + throw Mt( + this._lexer, + 'trying to pop an empty stack in rule: ' + + this._safeRuleName(b) + ); + o = o.pop(); + } else if ('@popall' === _.next) o = o.popall(); + else { + let e = Dt(this._lexer, _.next, m, p, f); + if ( + ('@' === e[0] && (e = e.substr(1)), !Nt(this._lexer, e)) + ) + throw Mt( + this._lexer, + "trying to set a next state '" + + e + + "' that is undefined in rule: " + + this._safeRuleName(b) + ); + o = o.push(e); + } + } + _.log && + 'string' == typeof _.log && + ((d = this._lexer), + (h = + this._lexer.languageId + + ': ' + + Dt(this._lexer, _.log, m, p, f)), + console.log(`${d.languageId}: ${h}`)); + } + if (null === y) + throw Mt( + this._lexer, + 'lexer rule has no well-defined action in rule: ' + + this._safeRuleName(b) + ); + const w = (t) => { + let s = this._modeService.getModeIdForLanguageName(t); + s && (t = s); + const l = this._getNestedEmbeddedModeData(t); + if (a < r) { + const t = e.substr(a); + return this._nestedTokenize(t, Ot.create(o, l), i + a, n); + } + return Ot.create(o, l); + }; + if (Array.isArray(y)) { + if (l && l.groups.length > 0) + throw Mt( + this._lexer, + 'groups cannot be nested: ' + this._safeRuleName(b) + ); + if (p.length !== y.length + 1) + throw Mt( + this._lexer, + 'matched number of groups does not match the number of actions in rule: ' + + this._safeRuleName(b) + ); + let e = 0; + for (let t = 1; t < p.length; t++) e += p[t].length; + if (e !== m.length) + throw Mt( + this._lexer, + 'with groups, all characters should be matched in consecutive groups in rule: ' + + this._safeRuleName(b) + ); + l = { rule: b, matches: p, groups: [] }; + for (let e = 0; e < y.length; e++) + l.groups[e] = { action: y[e], matched: p[e + 1] }; + a -= m.length; + } else { + { + if ( + '@rematch' === y && + ((a -= m.length), + (m = ''), + (p = null), + (y = ''), + null !== v) + ) + return w(v); + if (0 === m.length) { + if ( + 0 === r || + u !== o.depth || + f !== o.state || + (l ? l.groups.length : 0) !== g + ) + continue; + throw Mt( + this._lexer, + 'no progress in tokenizer in rule: ' + + this._safeRuleName(b) + ); + } + let e = null; + if (Ct(y) && 0 === y.indexOf('@brackets')) { + let t = y.substr('@brackets'.length), + i = Bt(this._lexer, m); + if (!i) + throw Mt( + this._lexer, + '@brackets token returned but no bracket defined as: ' + + m + ); + e = Lt(i.token + t); + } else e = Lt('' === y ? '' : y + this._lexer.tokenPostfix); + n.emit(t + i, e); + } + if (null !== v) return w(v); + } + } + var d, h; + return Ot.create(o, s); + } + _getNestedEmbeddedModeData(e) { + let t = this._locateMode(e); + if (t) { + let e = ue.RW.get(t); + if (e) return new It(t, e.getInitialState()); + } + return new It(t || ge.TG, ge.nO); + } + _locateMode(e) { + if (!e || !this._modeService.isRegisteredMode(e)) return null; + if (e === this._modeId) return e; + let t = this._modeService.getModeId(e); + return ( + t && + (this._modeService.triggerMode(t), + (this._embeddedModes[t] = !0)), + t + ); + } + } + function Bt(e, t) { + if (!t) return null; + t = xt(e, t); + let i = e.brackets; + for (const e of i) { + if (e.open === t) return { token: e.token, bracketType: 1 }; + if (e.close === t) return { token: e.token, bracketType: -1 }; + } + return null; + } + class Wt { + static colorizeElement(e, t, i, n) { + let r = (n = n || {}).theme || 'vs', + s = + n.mimeType || + i.getAttribute('lang') || + i.getAttribute('data-lang'); + if (!s) + return console.error('Mode not detected'), Promise.resolve(); + e.setTheme(r); + let o = i.firstChild ? i.firstChild.nodeValue : ''; + return ( + (i.className += ' ' + r), + this.colorize(t, o || '', s, n).then( + (e) => { + i.innerHTML = e; + }, + (e) => console.error(e) + ) + ); + } + static colorize(e, t, i, n) { + let r = 4; + n && 'number' == typeof n.tabSize && (r = n.tabSize), + Fe.uS(t) && (t = t.substr(1)); + let s = t.split(/\r\n|\r|\n/), + o = e.getModeId(i); + if (!o) return Promise.resolve(Ht(s, r)); + e.triggerMode(o); + const a = ue.RW.get(o); + if (a) return Yt(s, r, a); + const l = ue.RW.getPromise(o); + return new Promise( + l + ? (e, t) => { + l.then((i) => { + Yt(s, r, i).then(e, t); + }, t); + } + : (e, t) => { + let i = null, + n = null; + const a = () => { + i && (i.dispose(), (i = null)), + n && (n.dispose(), (n = null)); + const a = ue.RW.get(o); + a ? Yt(s, r, a).then(e, t) : e(Ht(s, r)); + }; + (n = new me._F()), + n.cancelAndSet(a, 500), + (i = ue.RW.onDidChange((e) => { + e.changedLanguages.indexOf(o) >= 0 && a(); + })); + } + ); + } + static colorizeLine(e, t, i, n, r = 4) { + const s = wt.wA.isBasicASCII(e, t), + o = wt.wA.containsRTL(e, s, i); + return (0, yt.tF)( + new yt.IJ( + !1, + !0, + e, + !1, + s, + o, + 0, + n, + [], + r, + 0, + 0, + 0, + 0, + -1, + 'none', + !1, + !1, + null + ) + ).html; + } + static colorizeModelLine(e, t, i = 4) { + let n = e.getLineContent(t); + e.forceTokenization(t); + let r = e.getLineTokens(t).inflate(); + return this.colorizeLine( + n, + e.mightContainNonBasicASCII(), + e.mightContainRTL(), + r, + i + ); + } + } + function Yt(e, t, i) { + return new Promise((n, r) => { + const s = () => { + const o = (function (e, t, i) { + let n = [], + r = i.getInitialState(); + for (let s = 0, o = e.length; s < o; s++) { + let o = e[s], + a = i.tokenize2(o, r, 0); + vt.A.convertToEndOffset(a.tokens, o.length); + let l = new vt.A(a.tokens, o); + const c = wt.wA.isBasicASCII(o, !0), + d = wt.wA.containsRTL(o, c, !0); + let h = (0, yt.tF)( + new yt.IJ( + !1, + !0, + o, + !1, + c, + d, + 0, + l.inflate(), + [], + t, + 0, + 0, + 0, + 0, + -1, + 'none', + !1, + !1, + null + ) + ); + (n = n.concat(h.html)), n.push('<br/>'), (r = a.endState); + } + return n.join(''); + })(e, t, i); + if (i instanceof Ft) { + const e = i.getLoadStatus(); + if (!1 === e.loaded) return void e.promise.then(s, r); + } + n(o); + }; + s(); + }); + } + function Ht(e, t) { + let i = []; + const n = new Uint32Array(2); + (n[0] = 0), (n[1] = 16793600); + for (let r = 0, s = e.length; r < s; r++) { + let s = e[r]; + n[0] = s.length; + const o = new vt.A(n, s), + a = wt.wA.isBasicASCII(s, !0), + l = wt.wA.containsRTL(s, a, !0); + let c = (0, yt.tF)( + new yt.IJ( + !1, + !0, + s, + !1, + a, + l, + 0, + o, + [], + t, + 0, + 0, + 0, + 0, + -1, + 'none', + !1, + !1, + null + ) + ); + (i = i.concat(c.html)), i.push('<br/>'); + } + return i.join(''); + } + var jt = i(59069), + Vt = i(14603), + zt = i(65520), + Ut = i(66007), + $t = i(56345), + Kt = i(69386), + qt = i(33108), + Gt = i(43702), + Zt = i(36248), + Jt = i(23193); + class Qt { + constructor(e = {}, t = [], i = []) { + (this._contents = e), + (this._keys = t), + (this._overrides = i), + (this.isFrozen = !1); + } + get contents() { + return this.checkAndFreeze(this._contents); + } + get overrides() { + return this.checkAndFreeze(this._overrides); + } + get keys() { + return this.checkAndFreeze(this._keys); + } + isEmpty() { + return ( + 0 === this._keys.length && + 0 === Object.keys(this._contents).length && + 0 === this._overrides.length + ); + } + getValue(e) { + return e ? (0, qt.Mt)(this.contents, e) : this.contents; + } + override(e) { + const t = this.getContentsForOverrideIdentifer(e); + if (!t || 'object' != typeof t || !Object.keys(t).length) + return this; + let i = {}; + for (const e of De.EB([ + ...Object.keys(this.contents), + ...Object.keys(t), + ])) { + let n = this.contents[e], + r = t[e]; + r && + ('object' == typeof n && 'object' == typeof r + ? ((n = Zt.I8(n)), this.mergeContents(n, r)) + : (n = r)), + (i[e] = n); + } + return new Qt(i, this.keys, this.overrides); + } + merge(...e) { + const t = Zt.I8(this.contents), + i = Zt.I8(this.overrides), + n = [...this.keys]; + for (const r of e) { + this.mergeContents(t, r.contents); + for (const e of r.overrides) { + const [t] = i.filter((t) => + De.fS(t.identifiers, e.identifiers) + ); + t + ? this.mergeContents(t.contents, e.contents) + : i.push(Zt.I8(e)); + } + for (const e of r.keys) -1 === n.indexOf(e) && n.push(e); + } + return new Qt(t, n, i); + } + freeze() { + return (this.isFrozen = !0), this; + } + mergeContents(e, t) { + for (const i of Object.keys(t)) + i in e && ye.Kn(e[i]) && ye.Kn(t[i]) + ? this.mergeContents(e[i], t[i]) + : (e[i] = Zt.I8(t[i])); + } + checkAndFreeze(e) { + return this.isFrozen && !Object.isFrozen(e) ? Zt._A(e) : e; + } + getContentsForOverrideIdentifer(e) { + for (const t of this.overrides) + if (-1 !== t.identifiers.indexOf(e)) return t.contents; + return null; + } + toJSON() { + return { + contents: this.contents, + overrides: this.overrides, + keys: this.keys, + }; + } + setValue(e, t) { + this.addKey(e), + (0, qt.KV)(this.contents, e, t, (e) => { + throw new Error(e); + }); + } + removeValue(e) { + this.removeKey(e) && (0, qt.xL)(this.contents, e); + } + addKey(e) { + let t = this.keys.length; + for (let i = 0; i < t; i++) + 0 === e.indexOf(this.keys[i]) && (t = i); + this.keys.splice(t, 1, e); + } + removeKey(e) { + let t = this.keys.indexOf(e); + return -1 !== t && (this.keys.splice(t, 1), !0); + } + } + class Xt extends Qt { + constructor() { + const e = (0, qt.O4)(), + t = (0, qt.MR)(), + i = []; + for (const t of Object.keys(e)) + Jt.G1.test(t) && + i.push({ + identifiers: [(0, Jt.Uh)(t).trim()], + keys: Object.keys(e[t]), + contents: (0, qt.Od)(e[t], (e) => + console.error(`Conflict in default settings file: ${e}`) + ), + }); + super(e, t, i); + } + } + class ei { + constructor( + e, + t, + i = new Qt(), + n = new Qt(), + r = new Gt.Y9(), + s = new Qt(), + o = new Gt.Y9(), + a = !0 + ) { + (this._defaultConfiguration = e), + (this._localUserConfiguration = t), + (this._remoteUserConfiguration = i), + (this._workspaceConfiguration = n), + (this._folderConfigurations = r), + (this._memoryConfiguration = s), + (this._memoryConfigurationByResource = o), + (this._freeze = a), + (this._workspaceConsolidatedConfiguration = null), + (this._foldersConsolidatedConfigurations = new Gt.Y9()), + (this._userConfiguration = null); + } + getValue(e, t, i) { + return this.getConsolidateConfigurationModel(t, i).getValue(e); + } + updateValue(e, t, i = {}) { + let n; + i.resource + ? ((n = this._memoryConfigurationByResource.get(i.resource)), + n || + ((n = new Qt()), + this._memoryConfigurationByResource.set(i.resource, n))) + : (n = this._memoryConfiguration), + void 0 === t ? n.removeValue(e) : n.setValue(e, t), + i.resource || (this._workspaceConsolidatedConfiguration = null); + } + get userConfiguration() { + return ( + this._userConfiguration || + ((this._userConfiguration = this._remoteUserConfiguration.isEmpty() + ? this._localUserConfiguration + : this._localUserConfiguration.merge( + this._remoteUserConfiguration + )), + this._freeze && this._userConfiguration.freeze()), + this._userConfiguration + ); + } + getConsolidateConfigurationModel(e, t) { + let i = this.getConsolidatedConfigurationModelForResource(e, t); + return e.overrideIdentifier ? i.override(e.overrideIdentifier) : i; + } + getConsolidatedConfigurationModelForResource({ resource: e }, t) { + let i = this.getWorkspaceConsolidatedConfiguration(); + if (t && e) { + const n = t.getFolder(e); + n && (i = this.getFolderConsolidatedConfiguration(n.uri) || i); + const r = this._memoryConfigurationByResource.get(e); + r && (i = i.merge(r)); + } + return i; + } + getWorkspaceConsolidatedConfiguration() { + return ( + this._workspaceConsolidatedConfiguration || + ((this._workspaceConsolidatedConfiguration = this._defaultConfiguration.merge( + this.userConfiguration, + this._workspaceConfiguration, + this._memoryConfiguration + )), + this._freeze && + (this._workspaceConfiguration = this._workspaceConfiguration.freeze())), + this._workspaceConsolidatedConfiguration + ); + } + getFolderConsolidatedConfiguration(e) { + let t = this._foldersConsolidatedConfigurations.get(e); + if (!t) { + const i = this.getWorkspaceConsolidatedConfiguration(), + n = this._folderConfigurations.get(e); + n + ? ((t = i.merge(n)), + this._freeze && (t = t.freeze()), + this._foldersConsolidatedConfigurations.set(e, t)) + : (t = i); + } + return t; + } + toData() { + return { + defaults: { + contents: this._defaultConfiguration.contents, + overrides: this._defaultConfiguration.overrides, + keys: this._defaultConfiguration.keys, + }, + user: { + contents: this.userConfiguration.contents, + overrides: this.userConfiguration.overrides, + keys: this.userConfiguration.keys, + }, + workspace: { + contents: this._workspaceConfiguration.contents, + overrides: this._workspaceConfiguration.overrides, + keys: this._workspaceConfiguration.keys, + }, + folders: [...this._folderConfigurations.keys()].reduce((e, t) => { + const { + contents: i, + overrides: n, + keys: r, + } = this._folderConfigurations.get(t); + return e.push([t, { contents: i, overrides: n, keys: r }]), e; + }, []), + }; + } + static parse(e) { + const t = this.parseConfigurationModel(e.defaults), + i = this.parseConfigurationModel(e.user), + n = this.parseConfigurationModel(e.workspace), + r = e.folders.reduce( + (e, t) => ( + e.set(Y.o.revive(t[0]), this.parseConfigurationModel(t[1])), e + ), + new Gt.Y9() + ); + return new ei(t, i, new Qt(), n, r, new Qt(), new Gt.Y9(), !1); + } + static parseConfigurationModel(e) { + return new Qt(e.contents, e.keys, e.overrides).freeze(); + } + } + class ti { + constructor(e, t, i, n) { + (this.change = e), + (this.previous = t), + (this.currentConfiguraiton = i), + (this.currentWorkspace = n), + (this._previousConfiguration = void 0); + const r = new Set(); + e.keys.forEach((e) => r.add(e)), + e.overrides.forEach(([, e]) => e.forEach((e) => r.add(e))), + (this.affectedKeys = [...r.values()]); + const s = new Qt(); + this.affectedKeys.forEach((e) => s.setValue(e, {})), + (this.affectedKeysTree = s.contents); + } + get previousConfiguration() { + return ( + !this._previousConfiguration && + this.previous && + (this._previousConfiguration = ei.parse(this.previous.data)), + this._previousConfiguration + ); + } + affectsConfiguration(e, t) { + var i; + if (this.doesAffectedKeysTreeContains(this.affectedKeysTree, e)) { + if (t) { + const n = this.previousConfiguration + ? this.previousConfiguration.getValue( + e, + t, + null === (i = this.previous) || void 0 === i + ? void 0 + : i.workspace + ) + : void 0, + r = this.currentConfiguraiton.getValue( + e, + t, + this.currentWorkspace + ); + return !Zt.fS(n, r); + } + return !0; + } + return !1; + } + doesAffectedKeysTreeContains(e, t) { + let i, + n = (0, qt.Od)({ [t]: !0 }, () => {}); + for (; 'object' == typeof n && (i = Object.keys(n)[0]); ) { + if (!(e = e[i])) return !1; + n = n[i]; + } + return !0; + } + } + var ii = i(63580); + class ni extends _e.JT { + constructor(e, t, i, n, r) { + super(), + (this._contextKeyService = e), + (this._commandService = t), + (this._telemetryService = i), + (this._notificationService = n), + (this._logService = r), + (this._onDidUpdateKeybindings = this._register(new B.Q5())), + (this._currentChord = null), + (this._currentChordChecker = new me.zh()), + (this._currentChordStatusMessage = null), + (this._logging = !1); + } + get onDidUpdateKeybindings() { + return this._onDidUpdateKeybindings + ? this._onDidUpdateKeybindings.event + : B.ju.None; + } + dispose() { + super.dispose(); + } + _log(e) { + this._logging && this._logService.info(`[KeybindingService]: ${e}`); + } + getKeybindings() { + return this._getResolver().getKeybindings(); + } + lookupKeybindings(e) { + return De.kX( + this._getResolver() + .lookupKeybindings(e) + .map((e) => e.resolvedKeybinding) + ); + } + lookupKeybinding(e) { + const t = this._getResolver().lookupPrimaryKeybinding(e); + if (t) return t.resolvedKeybinding; + } + dispatchEvent(e, t) { + return this._dispatch(e, t); + } + softDispatch(e, t) { + const i = this.resolveKeyboardEvent(e); + if (i.isChord()) + return ( + console.warn('Unexpected keyboard event mapped to a chord'), + null + ); + const [n] = i.getDispatchParts(); + if (null === n) return null; + const r = this._contextKeyService.getContext(t), + s = this._currentChord ? this._currentChord.keypress : null; + return this._getResolver().resolve(r, s, n); + } + _enterChordMode(e, t) { + (this._currentChord = { keypress: e, label: t }), + (this._currentChordStatusMessage = this._notificationService.status( + ii.N( + 'first.chord', + '({0}) was pressed. Waiting for second key of chord...', + t + ) + )); + const i = Date.now(); + this._currentChordChecker.cancelAndSet(() => { + this._documentHasFocus() + ? Date.now() - i > 5e3 && this._leaveChordMode() + : this._leaveChordMode(); + }, 500); + } + _leaveChordMode() { + this._currentChordStatusMessage && + (this._currentChordStatusMessage.dispose(), + (this._currentChordStatusMessage = null)), + this._currentChordChecker.cancel(), + (this._currentChord = null); + } + _dispatch(e, t) { + return this._doDispatch(this.resolveKeyboardEvent(e), t); + } + _doDispatch(e, t) { + let i = !1; + if (e.isChord()) + return ( + console.warn('Unexpected keyboard event mapped to a chord'), !1 + ); + const [n] = e.getDispatchParts(); + if (null === n) + return this._log('\\ Keyboard event cannot be dispatched.'), i; + const r = this._contextKeyService.getContext(t), + s = this._currentChord ? this._currentChord.keypress : null, + o = e.getLabel(), + a = this._getResolver().resolve(r, s, n); + return ( + this._logService.trace( + 'KeybindingService#dispatch', + o, + null == a ? void 0 : a.commandId + ), + a && a.enterChord + ? ((i = !0), this._enterChordMode(n, o), i) + : (this._currentChord && + ((a && a.commandId) || + (this._notificationService.status( + ii.N( + 'missing.chord', + 'The key combination ({0}, {1}) is not a command.', + this._currentChord.label, + o + ), + { hideAfter: 1e4 } + ), + (i = !0))), + this._leaveChordMode(), + a && + a.commandId && + (a.bubble || (i = !0), + void 0 === a.commandArgs + ? this._commandService + .executeCommand(a.commandId) + .then(void 0, (e) => + this._notificationService.warn(e) + ) + : this._commandService + .executeCommand(a.commandId, a.commandArgs) + .then(void 0, (e) => + this._notificationService.warn(e) + ), + this._telemetryService.publicLog2( + 'workbenchActionExecuted', + { id: a.commandId, from: 'keybinding' } + )), + i) + ); + } + mightProducePrintableCharacter(e) { + return ( + !e.ctrlKey && + !e.metaKey && + ((e.keyCode >= 31 && e.keyCode <= 56) || + (e.keyCode >= 21 && e.keyCode <= 30)) + ); + } + } + class ri { + constructor(e, t, i) { + (this._log = i), + (this._defaultKeybindings = e), + (this._defaultBoundCommands = new Map()); + for (let t = 0, i = e.length; t < i; t++) { + const i = e[t].command; + i && this._defaultBoundCommands.set(i, !0); + } + (this._map = new Map()), + (this._lookupMap = new Map()), + (this._keybindings = ri.combine(e, t)); + for (let e = 0, t = this._keybindings.length; e < t; e++) { + let t = this._keybindings[e]; + 0 !== t.keypressParts.length && + ((t.when && 0 === t.when.type) || + this._addKeyPress(t.keypressParts[0], t)); + } + } + static _isTargetedForRemoval(e, t, i, n, r) { + if (e.command !== n) return !1; + if (t && e.keypressParts[0] !== t) return !1; + if (i && e.keypressParts[1] !== i) return !1; + if (r) { + if (!e.when) return !1; + if (!r.equals(e.when)) return !1; + } + return !0; + } + static combine(e, t) { + e = e.slice(0); + let i = []; + for (const n of t) { + if ( + !n.command || + 0 === n.command.length || + '-' !== n.command.charAt(0) + ) { + i.push(n); + continue; + } + const t = n.command.substr(1), + r = n.keypressParts[0], + s = n.keypressParts[1], + o = n.when; + for (let i = e.length - 1; i >= 0; i--) + this._isTargetedForRemoval(e[i], r, s, t, o) && e.splice(i, 1); + } + return e.concat(i); + } + _addKeyPress(e, t) { + const i = this._map.get(e); + if (void 0 === i) + return this._map.set(e, [t]), void this._addToLookupMap(t); + for (let e = i.length - 1; e >= 0; e--) { + let n = i[e]; + if (n.command === t.command) continue; + const r = n.keypressParts.length > 1, + s = t.keypressParts.length > 1; + (r && s && n.keypressParts[1] !== t.keypressParts[1]) || + (ri.whenIsEntirelyIncluded(n.when, t.when) && + this._removeFromLookupMap(n)); + } + i.push(t), this._addToLookupMap(t); + } + _addToLookupMap(e) { + if (!e.command) return; + let t = this._lookupMap.get(e.command); + void 0 === t + ? ((t = [e]), this._lookupMap.set(e.command, t)) + : t.push(e); + } + _removeFromLookupMap(e) { + if (!e.command) return; + let t = this._lookupMap.get(e.command); + if (void 0 !== t) + for (let i = 0, n = t.length; i < n; i++) + if (t[i] === e) return void t.splice(i, 1); + } + static whenIsEntirelyIncluded(e, t) { + return !t || (!!e && this._implies(e, t)); + } + static _implies(e, t) { + const i = (e) => (9 === e.type ? e.expr : [e]); + let n = i(e.negate()).concat(i(t)); + for (let e = 0; e < n.length; e++) { + const t = n[e].negate(); + for (let i = e + 1; i < n.length; i++) { + const e = n[i]; + if (t.equals(e)) return !0; + } + } + return !1; + } + getKeybindings() { + return this._keybindings; + } + lookupKeybindings(e) { + let t = this._lookupMap.get(e); + if (void 0 === t || 0 === t.length) return []; + let i = [], + n = 0; + for (let e = t.length - 1; e >= 0; e--) i[n++] = t[e]; + return i; + } + lookupPrimaryKeybinding(e) { + let t = this._lookupMap.get(e); + return void 0 === t || 0 === t.length ? null : t[t.length - 1]; + } + resolve(e, t, i) { + this._log(`| Resolving ${i}${t ? ` chorded from ${t}` : ''}`); + let n = null; + if (null !== t) { + const e = this._map.get(t); + if (void 0 === e) + return this._log('\\ No keybinding entries.'), null; + n = []; + for (let t = 0, r = e.length; t < r; t++) { + let r = e[t]; + r.keypressParts[1] === i && n.push(r); + } + } else { + const e = this._map.get(i); + if (void 0 === e) + return this._log('\\ No keybinding entries.'), null; + n = e; + } + let r = this._findCommand(e, n); + return r + ? null === t && + r.keypressParts.length > 1 && + null !== r.keypressParts[1] + ? (this._log( + `\\ From ${ + n.length + } keybinding entries, matched chord, when: ${si( + r.when + )}, source: ${oi(r)}.` + ), + { + enterChord: !0, + leaveChord: !1, + commandId: null, + commandArgs: null, + bubble: !1, + }) + : (this._log( + `\\ From ${n.length} keybinding entries, matched ${ + r.command + }, when: ${si(r.when)}, source: ${oi(r)}.` + ), + { + enterChord: !1, + leaveChord: r.keypressParts.length > 1, + commandId: r.command, + commandArgs: r.commandArgs, + bubble: r.bubble, + }) + : (this._log( + `\\ From ${n.length} keybinding entries, no when clauses matched the context.` + ), + null); + } + _findCommand(e, t) { + for (let i = t.length - 1; i >= 0; i--) { + let n = t[i]; + if (ri.contextMatchesRules(e, n.when)) return n; + } + return null; + } + static contextMatchesRules(e, t) { + return !t || t.evaluate(e); + } + } + function si(e) { + return e ? `${e.serialize()}` : 'no when condition'; + } + function oi(e) { + return e.isDefault + ? e.extensionId + ? `built-in extension ${e.extensionId}` + : 'built-in' + : e.extensionId + ? `user extension ${e.extensionId}` + : 'user'; + } + var ai = i(49989); + class li { + constructor(e, t, i, n, r, s) { + (this.resolvedKeybinding = e), + (this.keypressParts = e + ? (function (e) { + let t = []; + for (let i = 0, n = e.length; i < n; i++) { + const n = e[i]; + if (!n) return t; + t.push(n); + } + return t; + })(e.getDispatchParts()) + : []), + (this.bubble = !!t && 94 === t.charCodeAt(0)), + (this.command = this.bubble ? t.substr(1) : t), + (this.commandArgs = i), + (this.when = n), + (this.isDefault = r), + (this.extensionId = s); + } + } + class ci { + constructor(e, t, i = t) { + (this.modifierLabels = [null]), + (this.modifierLabels[2] = e), + (this.modifierLabels[1] = t), + (this.modifierLabels[3] = i); + } + toLabel(e, t, i) { + if (0 === t.length) return null; + const n = []; + for (let r = 0, s = t.length; r < s; r++) { + const s = t[r], + o = i(s); + if (null === o) return null; + n[r] = ui(s, o, this.modifierLabels[e]); + } + return n.join(' '); + } + } + const di = new ci( + { + ctrlKey: '⌃', + shiftKey: '⇧', + altKey: '⌥', + metaKey: '⌘', + separator: '', + }, + { + ctrlKey: ii.N( + { + key: 'ctrlKey', + comment: [ + 'This is the short form for the Control key on the keyboard', + ], + }, + 'Ctrl' + ), + shiftKey: ii.N( + { + key: 'shiftKey', + comment: [ + 'This is the short form for the Shift key on the keyboard', + ], + }, + 'Shift' + ), + altKey: ii.N( + { + key: 'altKey', + comment: [ + 'This is the short form for the Alt key on the keyboard', + ], + }, + 'Alt' + ), + metaKey: ii.N( + { + key: 'windowsKey', + comment: [ + 'This is the short form for the Windows key on the keyboard', + ], + }, + 'Windows' + ), + separator: '+', + }, + { + ctrlKey: ii.N( + { + key: 'ctrlKey', + comment: [ + 'This is the short form for the Control key on the keyboard', + ], + }, + 'Ctrl' + ), + shiftKey: ii.N( + { + key: 'shiftKey', + comment: [ + 'This is the short form for the Shift key on the keyboard', + ], + }, + 'Shift' + ), + altKey: ii.N( + { + key: 'altKey', + comment: [ + 'This is the short form for the Alt key on the keyboard', + ], + }, + 'Alt' + ), + metaKey: ii.N( + { + key: 'superKey', + comment: [ + 'This is the short form for the Super key on the keyboard', + ], + }, + 'Super' + ), + separator: '+', + } + ), + hi = new ci( + { + ctrlKey: ii.N( + { + key: 'ctrlKey.long', + comment: [ + 'This is the long form for the Control key on the keyboard', + ], + }, + 'Control' + ), + shiftKey: ii.N( + { + key: 'shiftKey.long', + comment: [ + 'This is the long form for the Shift key on the keyboard', + ], + }, + 'Shift' + ), + altKey: ii.N( + { + key: 'altKey.long', + comment: [ + 'This is the long form for the Alt key on the keyboard', + ], + }, + 'Alt' + ), + metaKey: ii.N( + { + key: 'cmdKey.long', + comment: [ + 'This is the long form for the Command key on the keyboard', + ], + }, + 'Command' + ), + separator: '+', + }, + { + ctrlKey: ii.N( + { + key: 'ctrlKey.long', + comment: [ + 'This is the long form for the Control key on the keyboard', + ], + }, + 'Control' + ), + shiftKey: ii.N( + { + key: 'shiftKey.long', + comment: [ + 'This is the long form for the Shift key on the keyboard', + ], + }, + 'Shift' + ), + altKey: ii.N( + { + key: 'altKey.long', + comment: [ + 'This is the long form for the Alt key on the keyboard', + ], + }, + 'Alt' + ), + metaKey: ii.N( + { + key: 'windowsKey.long', + comment: [ + 'This is the long form for the Windows key on the keyboard', + ], + }, + 'Windows' + ), + separator: '+', + }, + { + ctrlKey: ii.N( + { + key: 'ctrlKey.long', + comment: [ + 'This is the long form for the Control key on the keyboard', + ], + }, + 'Control' + ), + shiftKey: ii.N( + { + key: 'shiftKey.long', + comment: [ + 'This is the long form for the Shift key on the keyboard', + ], + }, + 'Shift' + ), + altKey: ii.N( + { + key: 'altKey.long', + comment: [ + 'This is the long form for the Alt key on the keyboard', + ], + }, + 'Alt' + ), + metaKey: ii.N( + { + key: 'superKey.long', + comment: [ + 'This is the long form for the Super key on the keyboard', + ], + }, + 'Super' + ), + separator: '+', + } + ); + function ui(e, t, i) { + if (null === t) return ''; + const n = []; + return ( + e.ctrlKey && n.push(i.ctrlKey), + e.shiftKey && n.push(i.shiftKey), + e.altKey && n.push(i.altKey), + e.metaKey && n.push(i.metaKey), + '' !== t && n.push(t), + n.join(i.separator) + ); + } + class gi extends W.f1 { + constructor(e, t) { + if ((super(), 0 === t.length)) throw (0, be.b1)('parts'); + (this._os = e), (this._parts = t); + } + getLabel() { + return di.toLabel(this._os, this._parts, (e) => this._getLabel(e)); + } + getAriaLabel() { + return hi.toLabel(this._os, this._parts, (e) => + this._getAriaLabel(e) + ); + } + isChord() { + return this._parts.length > 1; + } + getParts() { + return this._parts.map((e) => this._getPart(e)); + } + _getPart(e) { + return new W.BQ( + e.ctrlKey, + e.shiftKey, + e.altKey, + e.metaKey, + this._getLabel(e), + this._getAriaLabel(e) + ); + } + getDispatchParts() { + return this._parts.map((e) => this._getDispatchPart(e)); + } + } + class fi extends gi { + constructor(e, t) { + super(t, e.parts); + } + _keyCodeToUILabel(e) { + if (2 === this._os) + switch (e) { + case 15: + return '←'; + case 16: + return '↑'; + case 17: + return '→'; + case 18: + return '↓'; + } + return W.kL.toString(e); + } + _getLabel(e) { + return e.isDuplicateModifierCase() + ? '' + : this._keyCodeToUILabel(e.keyCode); + } + _getAriaLabel(e) { + return e.isDuplicateModifierCase() ? '' : W.kL.toString(e.keyCode); + } + _getDispatchPart(e) { + return fi.getDispatchStr(e); + } + static getDispatchStr(e) { + if (e.isModifierKey()) return null; + let t = ''; + return ( + e.ctrlKey && (t += 'ctrl+'), + e.shiftKey && (t += 'shift+'), + e.altKey && (t += 'alt+'), + e.metaKey && (t += 'meta+'), + (t += W.kL.toString(e.keyCode)), + t + ); + } + } + var pi = i(59422), + mi = i(40382), + _i = i(20913), + bi = function (e, t, i, n) { + var r, + s = arguments.length, + o = + s < 3 + ? t + : null === n + ? (n = Object.getOwnPropertyDescriptor(t, i)) + : n; + if ( + 'object' == typeof Reflect && + 'function' == typeof Reflect.decorate + ) + o = Reflect.decorate(e, t, i, n); + else + for (var a = e.length - 1; a >= 0; a--) + (r = e[a]) && + (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); + return s > 3 && o && Object.defineProperty(t, i, o), o; + }, + vi = function (e, t) { + return function (i, n) { + t(i, n, e); + }; + }; + class yi { + constructor(e) { + (this.disposed = !1), + (this.model = e), + (this._onDispose = new B.Q5()); + } + get textEditorModel() { + return this.model; + } + dispose() { + (this.disposed = !0), this._onDispose.fire(); + } + } + let wi = class { + constructor(e) { + this.modelService = e; + } + setEditor(e) { + this.editor = e; + } + createModelReference(e) { + let t = null; + var i, n, r; + return ( + this.editor && + ((i = this.editor), + (n = (t) => this.findModel(t, e)), + (r = (t) => + this.findModel(t.getOriginalEditor(), e) || + this.findModel(t.getModifiedEditor(), e)), + (t = (0, zt.CL)(i) ? n(i) : r(i))), + t + ? Promise.resolve(new _e.Jz(new yi(t))) + : Promise.reject(new Error('Model not found')) + ); + } + findModel(e, t) { + let i = this.modelService.getModel(t); + return i && i.uri.toString() !== t.toString() ? null : i; + } + }; + wi = bi([vi(0, st.q)], wi); + class Ci { + show() { + return Ci.NULL_PROGRESS_RUNNER; + } + showWhile(e, t) { + return Promise.resolve(void 0); + } + } + Ci.NULL_PROGRESS_RUNNER = { + done: () => {}, + total: () => {}, + worked: () => {}, + }; + class Si { + confirm(e) { + return this.doConfirm(e).then((e) => ({ + confirmed: e, + checkboxChecked: !1, + })); + } + doConfirm(e) { + let t = e.message; + return ( + e.detail && (t = t + '\n\n' + e.detail), + Promise.resolve(window.confirm(t)) + ); + } + show(e, t, i, n) { + return Promise.resolve({ choice: 0 }); + } + } + class ki { + info(e) { + return this.notify({ severity: Vt.Z.Info, message: e }); + } + warn(e) { + return this.notify({ severity: Vt.Z.Warning, message: e }); + } + error(e) { + return this.notify({ severity: Vt.Z.Error, message: e }); + } + notify(e) { + switch (e.severity) { + case Vt.Z.Error: + console.error(e.message); + break; + case Vt.Z.Warning: + console.warn(e.message); + break; + default: + console.log(e.message); + } + return ki.NO_OP; + } + status(e, t) { + return _e.JT.None; + } + } + ki.NO_OP = new pi.EO(); + class xi { + constructor(e) { + (this._onWillExecuteCommand = new B.Q5()), + (this._onDidExecuteCommand = new B.Q5()), + (this._instantiationService = e); + } + executeCommand(e, ...t) { + const i = ee.P.getCommand(e); + if (!i) + return Promise.reject(new Error(`command '${e}' not found`)); + try { + this._onWillExecuteCommand.fire({ commandId: e, args: t }); + const n = this._instantiationService.invokeFunction.apply( + this._instantiationService, + [i.handler, ...t] + ); + return ( + this._onDidExecuteCommand.fire({ commandId: e, args: t }), + Promise.resolve(n) + ); + } catch (e) { + return Promise.reject(e); + } + } + } + class Li extends ni { + constructor(e, t, i, n, r, s) { + super(e, t, i, n, r), + (this._cachedResolver = null), + (this._dynamicKeybindings = []), + this._register( + G.nm(s, G.tw.KEY_DOWN, (e) => { + let t = new jt.y(e); + this._dispatch(t, t.target) && + (t.preventDefault(), t.stopPropagation()); + }) + ); + } + addDynamicKeybinding(e, t, i, n) { + const r = (0, W.gm)(t, ve.OS), + s = new _e.SL(); + return ( + r && + (this._dynamicKeybindings.push({ + keybinding: r, + command: e, + when: n, + weight1: 1e3, + weight2: 0, + extensionId: null, + }), + s.add( + (0, _e.OF)(() => { + for (let t = 0; t < this._dynamicKeybindings.length; t++) + if (this._dynamicKeybindings[t].command === e) + return ( + this._dynamicKeybindings.splice(t, 1), + void this.updateResolver({ source: 1 }) + ); + }) + )), + s.add(ee.P.registerCommand(e, i)), + this.updateResolver({ source: 1 }), + s + ); + } + updateResolver(e) { + (this._cachedResolver = null), this._onDidUpdateKeybindings.fire(e); + } + _getResolver() { + if (!this._cachedResolver) { + const e = this._toNormalizedKeybindingItems( + ai.W.getDefaultKeybindings(), + !0 + ), + t = this._toNormalizedKeybindingItems( + this._dynamicKeybindings, + !1 + ); + this._cachedResolver = new ri(e, t, (e) => this._log(e)); + } + return this._cachedResolver; + } + _documentHasFocus() { + return document.hasFocus(); + } + _toNormalizedKeybindingItems(e, t) { + let i = [], + n = 0; + for (const r of e) { + const e = r.when || void 0, + s = r.keybinding; + if (s) { + const o = this.resolveKeybinding(s); + for (const s of o) + i[n++] = new li(s, r.command, r.commandArgs, e, t, null); + } else + i[n++] = new li(void 0, r.command, r.commandArgs, e, t, null); + } + return i; + } + resolveKeybinding(e) { + return [new fi(e, ve.OS)]; + } + resolveKeyboardEvent(e) { + let t = new W.QC( + e.ctrlKey, + e.shiftKey, + e.altKey, + e.metaKey, + e.keyCode + ).toChord(); + return new fi(t, ve.OS); + } + } + function Mi(e) { + return ( + e && + 'object' == typeof e && + (!e.overrideIdentifier || + 'string' == typeof e.overrideIdentifier) && + (!e.resource || e.resource instanceof Y.o) + ); + } + class Di { + constructor() { + (this._onDidChangeConfiguration = new B.Q5()), + (this.onDidChangeConfiguration = this._onDidChangeConfiguration.event), + (this._configuration = new ei(new Xt(), new Qt())); + } + getValue(e, t) { + const i = 'string' == typeof e ? e : void 0, + n = Mi(e) ? e : Mi(t) ? t : {}; + return this._configuration.getValue(i, n, void 0); + } + updateValues(e) { + const t = { data: this._configuration.toData() }; + let i = []; + for (const t of e) { + const [e, n] = t; + this.getValue(e) !== n && + (this._configuration.updateValue(e, n), i.push(e)); + } + if (i.length > 0) { + const e = new ti( + { keys: i, overrides: [] }, + t, + this._configuration + ); + (e.source = 7), + (e.sourceConfig = null), + this._onDidChangeConfiguration.fire(e); + } + return Promise.resolve(); + } + } + class Ni { + constructor(e) { + (this.configurationService = e), + (this._onDidChangeConfiguration = new B.Q5()), + this.configurationService.onDidChangeConfiguration((e) => { + this._onDidChangeConfiguration.fire({ + affectedKeys: e.affectedKeys, + affectsConfiguration: (t, i) => e.affectsConfiguration(i), + }); + }); + } + getValue(e, t, i) { + const n = + H.L.isIPosition(t) && t + ? 'string' == typeof i + ? i + : void 0 + : 'string' == typeof t + ? t + : void 0; + return void 0 === n + ? this.configurationService.getValue() + : this.configurationService.getValue(n); + } + } + let Ei = class { + constructor(e) { + this.configurationService = e; + } + getEOL(e, t) { + const i = this.configurationService.getValue('files.eol', { + overrideIdentifier: t, + resource: e, + }); + return i && 'auto' !== i ? i : ve.IJ || ve.dz ? '\n' : '\r\n'; + } + }; + Ei = bi([vi(0, qt.Ui)], Ei); + class Ti { + publicLog(e, t) { + return Promise.resolve(void 0); + } + publicLog2(e, t) { + return this.publicLog(e, t); + } + } + class Ii { + constructor() { + const e = Y.o.from({ + scheme: Ii.SCHEME, + authority: 'model', + path: '/', + }); + this.workspace = { + id: '4064f6ec-cb38-4ad0-af64-ee6467e63c82', + folders: [new mi.md({ uri: e, name: '', index: 0 })], + }; + } + getWorkspace() { + return this.workspace; + } + getWorkspaceFolder(e) { + return e && e.scheme === Ii.SCHEME + ? this.workspace.folders[0] + : null; + } + } + function Oi(e, t, i) { + if (!t) return; + if (!(e instanceof Di)) return; + let n = []; + Object.keys(t).forEach((e) => { + (0, $t.ei)(e) && n.push([`editor.${e}`, t[e]]), + i && (0, $t.Pe)(e) && n.push([`diffEditor.${e}`, t[e]]); + }), + n.length > 0 && e.updateValues(n); + } + Ii.SCHEME = 'inmemory'; + class Ai { + constructor(e) { + this._modelService = e; + } + hasPreviewHandler() { + return !1; + } + apply(e, t) { + return ( + (i = this), + (n = void 0), + (s = function* () { + const t = new Map(); + for (let i of e) { + if (!(i instanceof Ut.Gl)) + throw new Error('bad edit - only text edits are supported'); + const e = this._modelService.getModel(i.resource); + if (!e) throw new Error('bad edit - model not found'); + if ( + 'number' == typeof i.versionId && + e.getVersionId() !== i.versionId + ) + throw new Error( + 'bad state - model changed in the meantime' + ); + let n = t.get(e); + n || ((n = []), t.set(e, n)), + n.push( + Kt.h.replaceMove( + j.e.lift(i.textEdit.range), + i.textEdit.text + ) + ); + } + let i = 0, + n = 0; + for (const [e, r] of t) + e.pushStackElement(), + e.pushEditOperations([], r, () => []), + e.pushStackElement(), + (n += 1), + (i += r.length); + return { + ariaSummary: Fe.WU(_i.UL.bulkEditServiceSummary, i, n), + }; + }), + new ((r = void 0) || (r = Promise))(function (e, t) { + function o(e) { + try { + l(s.next(e)); + } catch (e) { + t(e); + } + } + function a(e) { + try { + l(s.throw(e)); + } catch (e) { + t(e); + } + } + function l(t) { + var i; + t.done + ? e(t.value) + : ((i = t.value), + i instanceof r + ? i + : new r(function (e) { + e(i); + })).then(o, a); + } + l((s = s.apply(i, n || [])).next()); + }) + ); + var i, n, r, s; + } + } + class Ri { + getUriLabel(e, t) { + return 'file' === e.scheme ? e.fsPath : e.path; + } + } + class Pi { + constructor(e, t) { + (this._codeEditorService = e), + (this._container = t), + (this.onLayout = B.ju.None); + } + get dimension() { + return ( + this._dimension || (this._dimension = G.D6(window.document.body)), + this._dimension + ); + } + get container() { + return this._container; + } + focus() { + var e; + null === (e = this._codeEditorService.getFocusedCodeEditor()) || + void 0 === e || + e.focus(); + } + } + var Fi = i(85152), + Bi = i(95190), + Wi = i(68143), + Yi = i(30653), + Hi = i(12095), + ji = i(84144), + Vi = i(38819), + zi = i(5606), + Ui = i(72065), + $i = i(91847), + Ki = i(97781), + qi = i(31106), + Gi = i(84972), + Zi = i(90535), + Ji = function (e, t, i, n) { + var r, + s = arguments.length, + o = + s < 3 + ? t + : null === n + ? (n = Object.getOwnPropertyDescriptor(t, i)) + : n; + if ( + 'object' == typeof Reflect && + 'function' == typeof Reflect.decorate + ) + o = Reflect.decorate(e, t, i, n); + else + for (var a = e.length - 1; a >= 0; a--) + (r = e[a]) && + (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); + return s > 3 && o && Object.defineProperty(t, i, o), o; + }, + Qi = function (e, t) { + return function (i, n) { + t(i, n, e); + }; + }; + let Xi = 0, + en = !1, + tn = class extends Bi.Gm { + constructor(e, t, i, n, r, s, o, a, l, c) { + ((t = t || {}).ariaLabel = + t.ariaLabel || _i.B8.editorViewAccessibleLabel), + (t.ariaLabel = + t.ariaLabel + ';' + _i.B8.accessibilityHelpMessage), + super(e, t, {}, i, n, r, s, a, l, c), + (this._standaloneKeybindingService = + o instanceof Li ? o : null), + en || ((en = !0), Fi.wW(document.body)); + } + addCommand(e, t, i) { + if (!this._standaloneKeybindingService) + return ( + console.warn( + 'Cannot add command because the editor is configured with an unrecognized KeybindingService' + ), + null + ); + let n = 'DYNAMIC_' + ++Xi, + r = Vi.Ao.deserialize(i); + return ( + this._standaloneKeybindingService.addDynamicKeybinding( + n, + e, + t, + r + ), + n + ); + } + createContextKey(e, t) { + return this._contextKeyService.createKey(e, t); + } + addAction(e) { + if ( + 'string' != typeof e.id || + 'string' != typeof e.label || + 'function' != typeof e.run + ) + throw new Error( + 'Invalid action descriptor, `id`, `label` and `run` are required properties!' + ); + if (!this._standaloneKeybindingService) + return ( + console.warn( + 'Cannot add keybinding because the editor is configured with an unrecognized KeybindingService' + ), + _e.JT.None + ); + const t = e.id, + i = e.label, + n = Vi.Ao.and( + Vi.Ao.equals('editorId', this.getId()), + Vi.Ao.deserialize(e.precondition) + ), + r = e.keybindings, + s = Vi.Ao.and(n, Vi.Ao.deserialize(e.keybindingContext)), + o = e.contextMenuGroupId || null, + a = e.contextMenuOrder || 0, + l = (t, ...i) => Promise.resolve(e.run(this, ...i)), + c = new _e.SL(), + d = this.getId() + ':' + t; + if ((c.add(ee.P.registerCommand(d, l)), o)) { + let e = { + command: { id: d, title: i }, + when: n, + group: o, + order: a, + }; + c.add(ji.BH.appendMenuItem(ji.eH.EditorContext, e)); + } + if (Array.isArray(r)) + for (const e of r) + c.add( + this._standaloneKeybindingService.addDynamicKeybinding( + d, + e, + l, + s + ) + ); + let h = new Yi.p(d, i, i, n, l, this._contextKeyService); + return ( + (this._actions[t] = h), + c.add( + (0, _e.OF)(() => { + delete this._actions[t]; + }) + ), + c + ); + } + }; + tn = Ji( + [ + Qi(2, Ui.TG), + Qi(3, q.$), + Qi(4, ee.H), + Qi(5, Vi.i6), + Qi(6, $i.d), + Qi(7, Ki.XE), + Qi(8, pi.lT), + Qi(9, qi.F), + ], + tn + ); + let nn = class extends tn { + constructor(e, t, i, n, r, s, o, a, l, c, d, h, u) { + Oi(h, t, !1); + const g = c.registerEditorContainer(e); + 'string' == typeof (t = t || {}).theme && c.setTheme(t.theme); + let f, + p = t.model; + if ( + (delete t.model, + super(e, t, n, r, s, o, a, c, d, u), + (this._contextViewService = l), + (this._configurationService = h), + (this._standaloneThemeService = c), + this._register(i), + this._register(g), + void 0 === p + ? ((f = self.monaco.editor.createModel( + t.value || '', + t.language || 'text/plain' + )), + (this._ownsModel = !0)) + : ((f = p), (this._ownsModel = !1)), + this._attachModel(f), + f) + ) { + let e = { oldModelUrl: null, newModelUrl: f.uri }; + this._onDidChangeModel.fire(e); + } + } + dispose() { + super.dispose(); + } + updateOptions(e) { + Oi(this._configurationService, e, !1), + 'string' == typeof e.theme && + this._standaloneThemeService.setTheme(e.theme), + super.updateOptions(e); + } + _attachModel(e) { + super._attachModel(e), + this._modelData && + this._contextViewService.setContainer( + this._modelData.view.domNode.domNode + ); + } + _postDetachModelCleanup(e) { + super._postDetachModelCleanup(e), + e && this._ownsModel && (e.dispose(), (this._ownsModel = !1)); + } + }; + nn = Ji( + [ + Qi(3, Ui.TG), + Qi(4, q.$), + Qi(5, ee.H), + Qi(6, Vi.i6), + Qi(7, $i.d), + Qi(8, zi.u), + Qi(9, Hi.Z), + Qi(10, pi.lT), + Qi(11, qt.Ui), + Qi(12, qi.F), + ], + nn + ); + let rn = class extends Wi.pL { + constructor(e, t, i, n, r, s, o, a, l, c, d, h, u, g, f) { + Oi(h, t, !0); + const p = c.registerEditorContainer(e); + 'string' == typeof (t = t || {}).theme && + (t.theme = c.setTheme(t.theme)), + super(e, t, f, a, r, n, l, c, d, u, g), + (this._contextViewService = o), + (this._configurationService = h), + (this._standaloneThemeService = c), + this._register(i), + this._register(p), + this._contextViewService.setContainer(this._containerDomElement); + } + dispose() { + super.dispose(); + } + updateOptions(e) { + Oi(this._configurationService, e, !0), + 'string' == typeof e.theme && + this._standaloneThemeService.setTheme(e.theme), + super.updateOptions(e); + } + _createInnerEditor(e, t, i) { + return e.createInstance(tn, t, i); + } + getOriginalEditor() { + return super.getOriginalEditor(); + } + getModifiedEditor() { + return super.getModifiedEditor(); + } + addCommand(e, t, i) { + return this.getModifiedEditor().addCommand(e, t, i); + } + createContextKey(e, t) { + return this.getModifiedEditor().createContextKey(e, t); + } + addAction(e) { + return this.getModifiedEditor().addAction(e); + } + }; + rn = Ji( + [ + Qi(3, Ui.TG), + Qi(4, Vi.i6), + Qi(5, $i.d), + Qi(6, zi.u), + Qi(7, fe.p), + Qi(8, q.$), + Qi(9, Hi.Z), + Qi(10, pi.lT), + Qi(11, qt.Ui), + Qi(12, zi.i), + Qi(13, Zi.e), + Qi(14, Gi.p), + ], + rn + ); + var sn = i(71531); + class on { + constructor(e) { + this._languageIdentifier = e; + } + getId() { + return this._languageIdentifier.language; + } + } + var an = i(88721), + ln = i(14118); + const cn = 'text/plain', + dn = 'application/unknown'; + let hn = [], + un = [], + gn = []; + function fn(e, t = !1) { + const i = (function (e) { + return { + id: e.id, + mime: e.mime, + filename: e.filename, + extension: e.extension, + filepattern: e.filepattern, + firstline: e.firstline, + userConfigured: e.userConfigured, + filenameLowercase: e.filename ? e.filename.toLowerCase() : void 0, + extensionLowercase: e.extension + ? e.extension.toLowerCase() + : void 0, + filepatternLowercase: e.filepattern + ? e.filepattern.toLowerCase() + : void 0, + filepatternOnPath: + !!e.filepattern && e.filepattern.indexOf(an.KR.sep) >= 0, + }; + })(e); + hn.push(i), + i.userConfigured ? gn.push(i) : un.push(i), + t && + !i.userConfigured && + hn.forEach((e) => { + e.mime === i.mime || + e.userConfigured || + (i.extension && + e.extension === i.extension && + console.warn( + `Overwriting extension <<${i.extension}>> to now point to mime <<${i.mime}>>` + ), + i.filename && + e.filename === i.filename && + console.warn( + `Overwriting filename <<${i.filename}>> to now point to mime <<${i.mime}>>` + ), + i.filepattern && + e.filepattern === i.filepattern && + console.warn( + `Overwriting filepattern <<${i.filepattern}>> to now point to mime <<${i.mime}>>` + ), + i.firstline && + e.firstline === i.firstline && + console.warn( + `Overwriting firstline <<${i.firstline}>> to now point to mime <<${i.mime}>>` + )); + }); + } + function pn(e, t, i) { + let n = null, + r = null, + s = null; + for (let o = i.length - 1; o >= 0; o--) { + const a = i[o]; + if (t === a.filenameLowercase) { + n = a; + break; + } + if ( + a.filepattern && + (!r || a.filepattern.length > r.filepattern.length) + ) { + const i = a.filepatternOnPath ? e : t; + (0, ln.EQ)(a.filepatternLowercase, i) && (r = a); + } + a.extension && + (!s || a.extension.length > s.extension.length) && + t.endsWith(a.extensionLowercase) && + (s = a); + } + return n ? n.mime : r ? r.mime : s ? s.mime : null; + } + var mn = i(71144), + _n = i(89872); + const bn = Object.prototype.hasOwnProperty; + class vn extends _e.JT { + constructor(e = !0, t = !1) { + super(), + (this._onDidChange = this._register(new B.Q5())), + (this.onDidChange = this._onDidChange.event), + (this._warnOnOverwrite = t), + (this._nextLanguageId2 = 1), + (this._languageIdToLanguage = []), + (this._languageToLanguageId = Object.create(null)), + (this._languages = {}), + (this._mimeTypesMap = {}), + (this._nameMap = {}), + (this._lowercaseNameMap = {}), + e && + (this._initializeFromRegistry(), + this._register( + mn.dQ.onDidChangeLanguages((e) => + this._initializeFromRegistry() + ) + )); + } + _initializeFromRegistry() { + (this._languages = {}), + (this._mimeTypesMap = {}), + (this._nameMap = {}), + (this._lowercaseNameMap = {}); + const e = mn.dQ.getLanguages(); + this._registerLanguages(e); + } + _registerLanguages(e) { + for (const t of e) this._registerLanguage(t); + (this._mimeTypesMap = {}), + (this._nameMap = {}), + (this._lowercaseNameMap = {}), + Object.keys(this._languages).forEach((e) => { + let t = this._languages[e]; + t.name && (this._nameMap[t.name] = t.identifier), + t.aliases.forEach((e) => { + this._lowercaseNameMap[e.toLowerCase()] = t.identifier; + }), + t.mimetypes.forEach((e) => { + this._mimeTypesMap[e] = t.identifier; + }); + }), + _n.B.as(Jt.IP.Configuration).registerOverrideIdentifiers( + mn.dQ.getLanguages().map((e) => e.id) + ), + this._onDidChange.fire(); + } + _getLanguageId(e) { + if (this._languageToLanguageId[e]) + return this._languageToLanguageId[e]; + const t = this._nextLanguageId2++; + return ( + (this._languageIdToLanguage[t] = e), + (this._languageToLanguageId[e] = t), + t + ); + } + _registerLanguage(e) { + const t = e.id; + let i; + if (bn.call(this._languages, t)) i = this._languages[t]; + else { + const e = this._getLanguageId(t); + (i = { + identifier: new ue.rl(t, e), + name: null, + mimetypes: [], + aliases: [], + extensions: [], + filenames: [], + configurationFiles: [], + }), + (this._languages[t] = i); + } + this._mergeLanguage(i, e); + } + _mergeLanguage(e, t) { + const i = t.id; + let n = null; + if ( + (Array.isArray(t.mimetypes) && + t.mimetypes.length > 0 && + (e.mimetypes.push(...t.mimetypes), (n = t.mimetypes[0])), + n || ((n = `text/x-${i}`), e.mimetypes.push(n)), + Array.isArray(t.extensions)) + ) { + t.configuration + ? (e.extensions = t.extensions.concat(e.extensions)) + : (e.extensions = e.extensions.concat(t.extensions)); + for (let e of t.extensions) + fn({ id: i, mime: n, extension: e }, this._warnOnOverwrite); + } + if (Array.isArray(t.filenames)) + for (let r of t.filenames) + fn({ id: i, mime: n, filename: r }, this._warnOnOverwrite), + e.filenames.push(r); + if (Array.isArray(t.filenamePatterns)) + for (let e of t.filenamePatterns) + fn({ id: i, mime: n, filepattern: e }, this._warnOnOverwrite); + if ('string' == typeof t.firstLine && t.firstLine.length > 0) { + let e = t.firstLine; + '^' !== e.charAt(0) && (e = '^' + e); + try { + let t = new RegExp(e); + Fe.IO(t) || + fn({ id: i, mime: n, firstline: t }, this._warnOnOverwrite); + } catch (e) { + (0, be.dL)(e); + } + } + e.aliases.push(i); + let r = null; + if ( + (void 0 !== t.aliases && + Array.isArray(t.aliases) && + (r = 0 === t.aliases.length ? [null] : t.aliases), + null !== r) + ) + for (const t of r) t && 0 !== t.length && e.aliases.push(t); + let s = null !== r && r.length > 0; + if (s && null === r[0]); + else { + let t = (s ? r[0] : null) || i; + (!s && e.name) || (e.name = t); + } + t.configuration && e.configurationFiles.push(t.configuration); + } + isRegisteredMode(e) { + return ( + !!bn.call(this._mimeTypesMap, e) || bn.call(this._languages, e) + ); + } + getModeIdForLanguageNameLowercase(e) { + return bn.call(this._lowercaseNameMap, e) + ? this._lowercaseNameMap[e].language + : null; + } + extractModeIds(e) { + return e + ? e + .split(',') + .map((e) => e.trim()) + .map((e) => + bn.call(this._mimeTypesMap, e) + ? this._mimeTypesMap[e].language + : e + ) + .filter((e) => bn.call(this._languages, e)) + : []; + } + getLanguageIdentifier(e) { + if (e === ge.TG || 0 === e) return ge.pA; + let t; + if ('string' == typeof e) t = e; + else if (((t = this._languageIdToLanguage[e]), !t)) return null; + return bn.call(this._languages, t) + ? this._languages[t].identifier + : null; + } + getModeIdsFromFilepathOrFirstLine(e, t) { + if (!e && !t) return []; + let i = (function (e, t) { + let i; + if (e) + switch (e.scheme) { + case Q.l.file: + i = e.fsPath; + break; + case Q.l.data: + i = X.Vb.parseMetaData(e).get(X.Vb.META_DATA_LABEL); + break; + default: + i = e.path; + } + if (!i) return [dn]; + i = i.toLowerCase(); + const n = (0, an.EZ)(i), + r = pn(i, n, gn); + if (r) return [r, cn]; + const s = pn(i, n, un); + if (s) return [s, cn]; + if (t) { + const e = (function (e) { + if (((0, Fe.uS)(e) && (e = e.substr(1)), e.length > 0)) + for (let t = hn.length - 1; t >= 0; t--) { + const i = hn[t]; + if (!i.firstline) continue; + const n = e.match(i.firstline); + if (n && n.length > 0) return i.mime; + } + return null; + })(t); + if (e) return [e, cn]; + } + return [dn]; + })(e, t); + return this.extractModeIds(i.join(',')); + } + } + class yn extends _e.JT { + constructor(e, t) { + super(), + (this._onDidChange = this._register(new B.Q5())), + (this.onDidChange = this._onDidChange.event), + (this._selector = t), + (this.languageIdentifier = this._selector()), + this._register(e(() => this._evaluate())); + } + _evaluate() { + let e = this._selector(); + e.id !== this.languageIdentifier.id && + ((this.languageIdentifier = e), + this._onDidChange.fire(this.languageIdentifier)); + } + } + class wn { + constructor(e = !1) { + (this._onDidCreateMode = new B.Q5()), + (this.onDidCreateMode = this._onDidCreateMode.event), + (this._onLanguagesMaybeChanged = new B.Q5()), + (this.onLanguagesMaybeChanged = this._onLanguagesMaybeChanged.event), + (this._instantiatedModes = {}), + (this._registry = new vn(!0, e)), + this._registry.onDidChange(() => + this._onLanguagesMaybeChanged.fire() + ); + } + isRegisteredMode(e) { + return this._registry.isRegisteredMode(e); + } + getModeIdForLanguageName(e) { + return this._registry.getModeIdForLanguageNameLowercase(e); + } + getModeIdByFilepathOrFirstLine(e, t) { + const i = this._registry.getModeIdsFromFilepathOrFirstLine(e, t); + return (0, De.Xh)(i, null); + } + getModeId(e) { + const t = this._registry.extractModeIds(e); + return (0, De.Xh)(t, null); + } + getLanguageIdentifier(e) { + return this._registry.getLanguageIdentifier(e); + } + create(e) { + return new yn(this.onLanguagesMaybeChanged, () => { + const t = this.getModeId(e); + return this._createModeAndGetLanguageIdentifier(t); + }); + } + createByFilepathOrFirstLine(e, t) { + return new yn(this.onLanguagesMaybeChanged, () => { + const i = this.getModeIdByFilepathOrFirstLine(e, t); + return this._createModeAndGetLanguageIdentifier(i); + }); + } + _createModeAndGetLanguageIdentifier(e) { + const t = this.getLanguageIdentifier(e || 'plaintext') || ge.pA; + return this._getOrCreateMode(t.language), t; + } + triggerMode(e) { + const t = this.getModeId(e); + this._getOrCreateMode(t || 'plaintext'); + } + _getOrCreateMode(e) { + if (!this._instantiatedModes.hasOwnProperty(e)) { + let t = this.getLanguageIdentifier(e) || ge.pA; + (this._instantiatedModes[e] = new on(t)), + this._onDidCreateMode.fire(this._instantiatedModes[e]); + } + return this._instantiatedModes[e]; + } + } + var Cn = i(32334); + class Sn extends _e.JT { + constructor() { + super(), + (this._onCodeEditorAdd = this._register(new B.Q5())), + (this.onCodeEditorAdd = this._onCodeEditorAdd.event), + (this._onCodeEditorRemove = this._register(new B.Q5())), + (this.onCodeEditorRemove = this._onCodeEditorRemove.event), + (this._onDiffEditorAdd = this._register(new B.Q5())), + (this._onDiffEditorRemove = this._register(new B.Q5())), + (this._modelProperties = new Map()), + (this._codeEditors = Object.create(null)), + (this._diffEditors = Object.create(null)); + } + addCodeEditor(e) { + (this._codeEditors[e.getId()] = e), this._onCodeEditorAdd.fire(e); + } + removeCodeEditor(e) { + delete this._codeEditors[e.getId()] && + this._onCodeEditorRemove.fire(e); + } + listCodeEditors() { + return Object.keys(this._codeEditors).map( + (e) => this._codeEditors[e] + ); + } + addDiffEditor(e) { + (this._diffEditors[e.getId()] = e), this._onDiffEditorAdd.fire(e); + } + removeDiffEditor(e) { + delete this._diffEditors[e.getId()] && + this._onDiffEditorRemove.fire(e); + } + listDiffEditors() { + return Object.keys(this._diffEditors).map( + (e) => this._diffEditors[e] + ); + } + getFocusedCodeEditor() { + let e = null; + const t = this.listCodeEditors(); + for (const i of t) { + if (i.hasTextFocus()) return i; + i.hasWidgetFocus() && (e = i); + } + return e; + } + setModelProperty(e, t, i) { + const n = e.toString(); + let r; + this._modelProperties.has(n) + ? (r = this._modelProperties.get(n)) + : ((r = new Map()), this._modelProperties.set(n, r)), + r.set(t, i); + } + getModelProperty(e, t) { + const i = e.toString(); + if (this._modelProperties.has(i)) + return this._modelProperties.get(i).get(t); + } + } + class kn { + constructor(e, t, i) { + (this._parent = e), + (this._editorId = t), + (this._styleSheet = i), + (this._refCount = 0); + } + ref() { + this._refCount++; + } + unref() { + var e; + this._refCount--, + 0 === this._refCount && + (null === (e = this._styleSheet.parentNode) || + void 0 === e || + e.removeChild(this._styleSheet), + this._parent._removeEditorStyleSheets(this._editorId)); + } + insertRule(e, t) { + this._styleSheet.sheet.insertRule(e, t); + } + removeRulesContainingSelector(e) { + G.uN(e, this._styleSheet); + } + } + class xn { + constructor(e) { + this._styleSheet = e; + } + ref() {} + unref() {} + insertRule(e, t) { + this._styleSheet.sheet.insertRule(e, t); + } + removeRulesContainingSelector(e) { + G.uN(e, this._styleSheet); + } + } + let Ln = class extends Sn { + constructor(e, t = null) { + super(), + (this._decorationOptionProviders = new Map()), + (this._editorStyleSheets = new Map()), + (this._globalStyleSheet = t || null), + (this._themeService = e); + } + _getOrCreateGlobalStyleSheet() { + return ( + this._globalStyleSheet || + (this._globalStyleSheet = new xn(G.dS())), + this._globalStyleSheet + ); + } + _getOrCreateStyleSheet(e) { + if (!e) return this._getOrCreateGlobalStyleSheet(); + const t = e.getContainerDomNode(); + if (!G.OO(t)) return this._getOrCreateGlobalStyleSheet(); + const i = e.getId(); + if (!this._editorStyleSheets.has(i)) { + const e = new kn(this, i, G.dS(t)); + this._editorStyleSheets.set(i, e); + } + return this._editorStyleSheets.get(i); + } + _removeEditorStyleSheets(e) { + this._editorStyleSheets.delete(e); + } + registerDecorationType(e, t, i, n) { + let r = this._decorationOptionProviders.get(e); + if (!r) { + const s = this._getOrCreateStyleSheet(n), + o = { + styleSheet: s, + key: e, + parentTypeKey: i, + options: t || Object.create(null), + }; + (r = i + ? new Nn(this._themeService, s, o) + : new En(this._themeService, s, o)), + this._decorationOptionProviders.set(e, r); + } + r.refCount++; + } + removeDecorationType(e) { + const t = this._decorationOptionProviders.get(e); + t && + (t.refCount--, + t.refCount <= 0 && + (this._decorationOptionProviders.delete(e), + t.dispose(), + this.listCodeEditors().forEach((t) => t.removeDecorations(e)))); + } + resolveDecorationOptions(e, t) { + const i = this._decorationOptionProviders.get(e); + if (!i) throw new Error('Unknown decoration type key: ' + e); + return i.getOptions(this, t); + } + }; + var Mn, Dn; + Ln = (function (e, t, i, n) { + var r, + s = arguments.length, + o = + s < 3 + ? t + : null === n + ? (n = Object.getOwnPropertyDescriptor(t, i)) + : n; + if ( + 'object' == typeof Reflect && + 'function' == typeof Reflect.decorate + ) + o = Reflect.decorate(e, t, i, n); + else + for (var a = e.length - 1; a >= 0; a--) + (r = e[a]) && + (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); + return s > 3 && o && Object.defineProperty(t, i, o), o; + })( + [ + ((Mn = 0), + (Dn = Ki.XE), + function (e, t) { + Dn(e, t, Mn); + }), + ], + Ln + ); + class Nn { + constructor(e, t, i) { + (this._styleSheet = t), + this._styleSheet.ref(), + (this._parentTypeKey = i.parentTypeKey), + (this.refCount = 0), + (this._beforeContentRules = new In(3, i, e)), + (this._afterContentRules = new In(4, i, e)); + } + getOptions(e, t) { + const i = e.resolveDecorationOptions(this._parentTypeKey, !0); + return ( + this._beforeContentRules && + (i.beforeContentClassName = this._beforeContentRules.className), + this._afterContentRules && + (i.afterContentClassName = this._afterContentRules.className), + i + ); + } + dispose() { + this._beforeContentRules && + (this._beforeContentRules.dispose(), + (this._beforeContentRules = null)), + this._afterContentRules && + (this._afterContentRules.dispose(), + (this._afterContentRules = null)), + this._styleSheet.unref(); + } + } + class En { + constructor(e, t, i) { + (this._disposables = new _e.SL()), + (this._styleSheet = t), + this._styleSheet.ref(), + (this.refCount = 0); + const n = (t) => { + const n = new In(t, i, e); + if ((this._disposables.add(n), n.hasContent)) return n.className; + }; + this.className = n(0); + const r = ((t) => { + const n = new In(1, i, e); + return ( + this._disposables.add(n), + n.hasContent + ? { + className: n.className, + hasLetterSpacing: n.hasLetterSpacing, + } + : null + ); + })(); + r && + ((this.inlineClassName = r.className), + (this.inlineClassNameAffectsLetterSpacing = r.hasLetterSpacing)), + (this.beforeContentClassName = n(3)), + (this.afterContentClassName = n(4)), + (this.glyphMarginClassName = n(2)); + const s = i.options; + (this.isWholeLine = Boolean(s.isWholeLine)), + (this.stickiness = s.rangeBehavior); + const o = + (s.light && s.light.overviewRulerColor) || s.overviewRulerColor, + a = (s.dark && s.dark.overviewRulerColor) || s.overviewRulerColor; + (void 0 === o && void 0 === a) || + (this.overviewRuler = { + color: o || a, + darkColor: a || o, + position: s.overviewRulerLane || he.sh.Center, + }); + } + getOptions(e, t) { + return t + ? { + inlineClassName: this.inlineClassName, + beforeContentClassName: this.beforeContentClassName, + afterContentClassName: this.afterContentClassName, + className: this.className, + glyphMarginClassName: this.glyphMarginClassName, + isWholeLine: this.isWholeLine, + overviewRuler: this.overviewRuler, + stickiness: this.stickiness, + } + : this; + } + dispose() { + this._disposables.dispose(), this._styleSheet.unref(); + } + } + const Tn = { + color: 'color:{0} !important;', + opacity: 'opacity:{0};', + backgroundColor: 'background-color:{0};', + outline: 'outline:{0};', + outlineColor: 'outline-color:{0};', + outlineStyle: 'outline-style:{0};', + outlineWidth: 'outline-width:{0};', + border: 'border:{0};', + borderColor: 'border-color:{0};', + borderRadius: 'border-radius:{0};', + borderSpacing: 'border-spacing:{0};', + borderStyle: 'border-style:{0};', + borderWidth: 'border-width:{0};', + fontStyle: 'font-style:{0};', + fontWeight: 'font-weight:{0};', + textDecoration: 'text-decoration:{0};', + cursor: 'cursor:{0};', + letterSpacing: 'letter-spacing:{0};', + gutterIconPath: 'background:{0} center center no-repeat;', + gutterIconSize: 'background-size:{0};', + contentText: "content:'{0}';", + contentIconPath: 'content:{0};', + margin: 'margin:{0};', + width: 'width:{0};', + height: 'height:{0};', + }; + class In { + constructor(e, t, i) { + (this._theme = i.getColorTheme()), + (this._ruleType = e), + (this._providerArgs = t), + (this._usesThemeColors = !1), + (this._hasContent = !1), + (this._hasLetterSpacing = !1); + let n = On.getClassName(this._providerArgs.key, e); + this._providerArgs.parentTypeKey && + (n = + n + ' ' + On.getClassName(this._providerArgs.parentTypeKey, e)), + (this._className = n), + (this._unThemedSelector = On.getSelector( + this._providerArgs.key, + this._providerArgs.parentTypeKey, + e + )), + this._buildCSS(), + this._usesThemeColors + ? (this._themeListener = i.onDidColorThemeChange((e) => { + (this._theme = i.getColorTheme()), + this._removeCSS(), + this._buildCSS(); + })) + : (this._themeListener = null); + } + dispose() { + this._hasContent && (this._removeCSS(), (this._hasContent = !1)), + this._themeListener && + (this._themeListener.dispose(), (this._themeListener = null)); + } + get hasContent() { + return this._hasContent; + } + get hasLetterSpacing() { + return this._hasLetterSpacing; + } + get className() { + return this._className; + } + _buildCSS() { + const e = this._providerArgs.options; + let t, i, n; + switch (this._ruleType) { + case 0: + (t = this.getCSSTextForModelDecorationClassName(e)), + (i = this.getCSSTextForModelDecorationClassName(e.light)), + (n = this.getCSSTextForModelDecorationClassName(e.dark)); + break; + case 1: + (t = this.getCSSTextForModelDecorationInlineClassName(e)), + (i = this.getCSSTextForModelDecorationInlineClassName( + e.light + )), + (n = this.getCSSTextForModelDecorationInlineClassName( + e.dark + )); + break; + case 2: + (t = this.getCSSTextForModelDecorationGlyphMarginClassName(e)), + (i = this.getCSSTextForModelDecorationGlyphMarginClassName( + e.light + )), + (n = this.getCSSTextForModelDecorationGlyphMarginClassName( + e.dark + )); + break; + case 3: + (t = this.getCSSTextForModelDecorationContentClassName( + e.before + )), + (i = this.getCSSTextForModelDecorationContentClassName( + e.light && e.light.before + )), + (n = this.getCSSTextForModelDecorationContentClassName( + e.dark && e.dark.before + )); + break; + case 4: + (t = this.getCSSTextForModelDecorationContentClassName( + e.after + )), + (i = this.getCSSTextForModelDecorationContentClassName( + e.light && e.light.after + )), + (n = this.getCSSTextForModelDecorationContentClassName( + e.dark && e.dark.after + )); + break; + default: + throw new Error('Unknown rule type: ' + this._ruleType); + } + const r = this._providerArgs.styleSheet; + let s = !1; + t.length > 0 && + (r.insertRule(`${this._unThemedSelector} {${t}}`, 0), (s = !0)), + i.length > 0 && + (r.insertRule(`.vs${this._unThemedSelector} {${i}}`, 0), + (s = !0)), + n.length > 0 && + (r.insertRule( + `.vs-dark${this._unThemedSelector}, .hc-black${this._unThemedSelector} {${n}}`, + 0 + ), + (s = !0)), + (this._hasContent = s); + } + _removeCSS() { + this._providerArgs.styleSheet.removeRulesContainingSelector( + this._unThemedSelector + ); + } + getCSSTextForModelDecorationClassName(e) { + if (!e) return ''; + const t = []; + return ( + this.collectCSSText(e, ['backgroundColor'], t), + this.collectCSSText( + e, + ['outline', 'outlineColor', 'outlineStyle', 'outlineWidth'], + t + ), + this.collectBorderSettingsCSSText(e, t), + t.join('') + ); + } + getCSSTextForModelDecorationInlineClassName(e) { + if (!e) return ''; + const t = []; + return ( + this.collectCSSText( + e, + [ + 'fontStyle', + 'fontWeight', + 'textDecoration', + 'cursor', + 'color', + 'opacity', + 'letterSpacing', + ], + t + ), + e.letterSpacing && (this._hasLetterSpacing = !0), + t.join('') + ); + } + getCSSTextForModelDecorationContentClassName(e) { + if (!e) return ''; + const t = []; + if (void 0 !== e) { + if ( + (this.collectBorderSettingsCSSText(e, t), + void 0 !== e.contentIconPath && + t.push( + Fe.WU( + Tn.contentIconPath, + G.wY(Y.o.revive(e.contentIconPath)) + ) + ), + 'string' == typeof e.contentText) + ) { + const i = e.contentText + .match(/^.*$/m)[0] + .replace(/['\\]/g, '\\$&'); + t.push(Fe.WU(Tn.contentText, i)); + } + this.collectCSSText( + e, + [ + 'fontStyle', + 'fontWeight', + 'textDecoration', + 'color', + 'opacity', + 'backgroundColor', + 'margin', + ], + t + ), + this.collectCSSText(e, ['width', 'height'], t) && + t.push('display:inline-block;'); + } + return t.join(''); + } + getCSSTextForModelDecorationGlyphMarginClassName(e) { + if (!e) return ''; + const t = []; + return ( + void 0 !== e.gutterIconPath && + (t.push( + Fe.WU(Tn.gutterIconPath, G.wY(Y.o.revive(e.gutterIconPath))) + ), + void 0 !== e.gutterIconSize && + t.push(Fe.WU(Tn.gutterIconSize, e.gutterIconSize))), + t.join('') + ); + } + collectBorderSettingsCSSText(e, t) { + return ( + !!this.collectCSSText( + e, + [ + 'border', + 'borderColor', + 'borderRadius', + 'borderSpacing', + 'borderStyle', + 'borderWidth', + ], + t + ) && (t.push(Fe.WU('box-sizing: border-box;')), !0) + ); + } + collectCSSText(e, t, i) { + const n = i.length; + for (let n of t) { + const t = this.resolveValue(e[n]); + 'string' == typeof t && i.push(Fe.WU(Tn[n], t)); + } + return i.length !== n; + } + resolveValue(e) { + if ((0, de.I)(e)) { + this._usesThemeColors = !0; + const t = this._theme.getColor(e.id); + return t ? t.toString() : 'transparent'; + } + return e; + } + } + class On { + static getClassName(e, t) { + return 'ced-' + e + '-' + t; + } + static getSelector(e, t, i) { + let n = '.monaco-editor .' + this.getClassName(e, i); + return ( + t && (n = n + '.' + this.getClassName(t, i)), + 3 === i ? (n += '::before') : 4 === i && (n += '::after'), + n + ); + } + } + class An extends Ln { + getActiveCodeEditor() { + return null; + } + openCodeEditor(e, t, i) { + return t + ? Promise.resolve(this.doOpenEditor(t, e)) + : Promise.resolve(null); + } + doOpenEditor(e, t) { + if (!this.findModel(e, t.resource)) { + if (t.resource) { + const i = t.resource.scheme; + if (i === Q.l.http || i === Q.l.https) + return (0, G.V3)(t.resource.toString()), e; + } + return null; + } + const i = t.options ? t.options.selection : null; + if (i) + if ( + 'number' == typeof i.endLineNumber && + 'number' == typeof i.endColumn + ) + e.setSelection(i), e.revealRangeInCenter(i, 1); + else { + const t = { + lineNumber: i.startLineNumber, + column: i.startColumn, + }; + e.setPosition(t), e.revealPositionInCenter(t, 1); + } + return e; + } + findModel(e, t) { + const i = e.getModel(); + return i && i.uri.toString() !== t.toString() ? null : i; + } + } + var Rn = i(41264); + class Pn { + constructor(e, t, i, n, r) { + (this.token = e), + (this.index = t), + (this.fontStyle = i), + (this.foreground = n), + (this.background = r); + } + } + const Fn = /^#?([0-9A-Fa-f]{6})([0-9A-Fa-f]{2})?$/; + class Bn { + constructor() { + (this._lastColorId = 0), + (this._id2color = []), + (this._color2id = new Map()); + } + getId(e) { + if (null === e) return 0; + const t = e.match(Fn); + if (!t) throw new Error('Illegal value for token color: ' + e); + e = t[1].toUpperCase(); + let i = this._color2id.get(e); + return ( + i || + ((i = ++this._lastColorId), + this._color2id.set(e, i), + (this._id2color[i] = Rn.Il.fromHex('#' + e)), + i) + ); + } + getColorMap() { + return this._id2color.slice(0); + } + } + class Wn { + constructor(e, t) { + (this._colorMap = e), (this._root = t), (this._cache = new Map()); + } + static createFromRawTokenTheme(e, t) { + return this.createFromParsedTokenTheme( + (function (e) { + if (!e || !Array.isArray(e)) return []; + let t = [], + i = 0; + for (let n = 0, r = e.length; n < r; n++) { + let r = e[n], + s = -1; + if ('string' == typeof r.fontStyle) { + s = 0; + let e = r.fontStyle.split(' '); + for (let t = 0, i = e.length; t < i; t++) + switch (e[t]) { + case 'italic': + s |= 1; + break; + case 'bold': + s |= 2; + break; + case 'underline': + s |= 4; + } + } + let o = null; + 'string' == typeof r.foreground && (o = r.foreground); + let a = null; + 'string' == typeof r.background && (a = r.background), + (t[i++] = new Pn(r.token || '', n, s, o, a)); + } + return t; + })(e), + t + ); + } + static createFromParsedTokenTheme(e, t) { + return (function (e, t) { + e.sort((e, t) => { + let i = (function (e, t) { + return e < t ? -1 : e > t ? 1 : 0; + })(e.token, t.token); + return 0 !== i ? i : e.index - t.index; + }); + let i = 0, + n = '000000', + r = 'ffffff'; + for (; e.length >= 1 && '' === e[0].token; ) { + let t = e.shift(); + -1 !== t.fontStyle && (i = t.fontStyle), + null !== t.foreground && (n = t.foreground), + null !== t.background && (r = t.background); + } + let s = new Bn(); + for (let e of t) s.getId(e); + let o = s.getId(n), + a = s.getId(r), + l = new Hn(i, o, a), + c = new jn(l); + for (let t = 0, i = e.length; t < i; t++) { + let i = e[t]; + c.insert( + i.token, + i.fontStyle, + s.getId(i.foreground), + s.getId(i.background) + ); + } + return new Wn(s, c); + })(e, t); + } + getColorMap() { + return this._colorMap.getColorMap(); + } + _match(e) { + return this._root.match(e); + } + match(e, t) { + let i = this._cache.get(t); + if (void 0 === i) { + let e = this._match(t), + n = (function (e) { + let t = e.match(Yn); + if (!t) return 0; + switch (t[1]) { + case 'comment': + return 1; + case 'string': + return 2; + case 'regex': + case 'regexp': + return 4; + } + throw new Error('Unexpected match for standard token type!'); + })(t); + (i = (e.metadata | (n << 8)) >>> 0), this._cache.set(t, i); + } + return (i | (e << 0)) >>> 0; + } + } + const Yn = /\b(comment|string|regex|regexp)\b/; + class Hn { + constructor(e, t, i) { + (this._fontStyle = e), + (this._foreground = t), + (this._background = i), + (this.metadata = + ((this._fontStyle << 11) | + (this._foreground << 14) | + (this._background << 23)) >>> + 0); + } + clone() { + return new Hn(this._fontStyle, this._foreground, this._background); + } + acceptOverwrite(e, t, i) { + -1 !== e && (this._fontStyle = e), + 0 !== t && (this._foreground = t), + 0 !== i && (this._background = i), + (this.metadata = + ((this._fontStyle << 11) | + (this._foreground << 14) | + (this._background << 23)) >>> + 0); + } + } + class jn { + constructor(e) { + (this._mainRule = e), (this._children = new Map()); + } + match(e) { + if ('' === e) return this._mainRule; + let t, + i, + n = e.indexOf('.'); + -1 === n + ? ((t = e), (i = '')) + : ((t = e.substring(0, n)), (i = e.substring(n + 1))); + let r = this._children.get(t); + return void 0 !== r ? r.match(i) : this._mainRule; + } + insert(e, t, i, n) { + if ('' === e) return void this._mainRule.acceptOverwrite(t, i, n); + let r, + s, + o = e.indexOf('.'); + -1 === o + ? ((r = e), (s = '')) + : ((r = e.substring(0, o)), (s = e.substring(o + 1))); + let a = this._children.get(r); + void 0 === a && + ((a = new jn(this._mainRule.clone())), this._children.set(r, a)), + a.insert(s, t, i, n); + } + } + var Vn = i(27869), + zn = i(73910); + const Un = { + base: 'vs', + inherit: !1, + rules: [ + { token: '', foreground: '000000', background: 'fffffe' }, + { token: 'invalid', foreground: 'cd3131' }, + { token: 'emphasis', fontStyle: 'italic' }, + { token: 'strong', fontStyle: 'bold' }, + { token: 'variable', foreground: '001188' }, + { token: 'variable.predefined', foreground: '4864AA' }, + { token: 'constant', foreground: 'dd0000' }, + { token: 'comment', foreground: '008000' }, + { token: 'number', foreground: '098658' }, + { token: 'number.hex', foreground: '3030c0' }, + { token: 'regexp', foreground: '800000' }, + { token: 'annotation', foreground: '808080' }, + { token: 'type', foreground: '008080' }, + { token: 'delimiter', foreground: '000000' }, + { token: 'delimiter.html', foreground: '383838' }, + { token: 'delimiter.xml', foreground: '0000FF' }, + { token: 'tag', foreground: '800000' }, + { token: 'tag.id.pug', foreground: '4F76AC' }, + { token: 'tag.class.pug', foreground: '4F76AC' }, + { token: 'meta.scss', foreground: '800000' }, + { token: 'metatag', foreground: 'e00000' }, + { token: 'metatag.content.html', foreground: 'FF0000' }, + { token: 'metatag.html', foreground: '808080' }, + { token: 'metatag.xml', foreground: '808080' }, + { token: 'metatag.php', fontStyle: 'bold' }, + { token: 'key', foreground: '863B00' }, + { token: 'string.key.json', foreground: 'A31515' }, + { token: 'string.value.json', foreground: '0451A5' }, + { token: 'attribute.name', foreground: 'FF0000' }, + { token: 'attribute.value', foreground: '0451A5' }, + { token: 'attribute.value.number', foreground: '098658' }, + { token: 'attribute.value.unit', foreground: '098658' }, + { token: 'attribute.value.html', foreground: '0000FF' }, + { token: 'attribute.value.xml', foreground: '0000FF' }, + { token: 'string', foreground: 'A31515' }, + { token: 'string.html', foreground: '0000FF' }, + { token: 'string.sql', foreground: 'FF0000' }, + { token: 'string.yaml', foreground: '0451A5' }, + { token: 'keyword', foreground: '0000FF' }, + { token: 'keyword.json', foreground: '0451A5' }, + { token: 'keyword.flow', foreground: 'AF00DB' }, + { token: 'keyword.flow.scss', foreground: '0000FF' }, + { token: 'operator.scss', foreground: '666666' }, + { token: 'operator.sql', foreground: '778899' }, + { token: 'operator.swift', foreground: '666666' }, + { token: 'predefined.sql', foreground: 'FF00FF' }, + ], + colors: { + [zn.cv]: '#FFFFFE', + [zn.NO]: '#000000', + [zn.ES]: '#E5EBF1', + [Vn.tR]: '#D3D3D3', + [Vn.Ym]: '#939393', + [zn.Rz]: '#ADD6FF4D', + }, + }, + $n = { + base: 'vs-dark', + inherit: !1, + rules: [ + { token: '', foreground: 'D4D4D4', background: '1E1E1E' }, + { token: 'invalid', foreground: 'f44747' }, + { token: 'emphasis', fontStyle: 'italic' }, + { token: 'strong', fontStyle: 'bold' }, + { token: 'variable', foreground: '74B0DF' }, + { token: 'variable.predefined', foreground: '4864AA' }, + { token: 'variable.parameter', foreground: '9CDCFE' }, + { token: 'constant', foreground: '569CD6' }, + { token: 'comment', foreground: '608B4E' }, + { token: 'number', foreground: 'B5CEA8' }, + { token: 'number.hex', foreground: '5BB498' }, + { token: 'regexp', foreground: 'B46695' }, + { token: 'annotation', foreground: 'cc6666' }, + { token: 'type', foreground: '3DC9B0' }, + { token: 'delimiter', foreground: 'DCDCDC' }, + { token: 'delimiter.html', foreground: '808080' }, + { token: 'delimiter.xml', foreground: '808080' }, + { token: 'tag', foreground: '569CD6' }, + { token: 'tag.id.pug', foreground: '4F76AC' }, + { token: 'tag.class.pug', foreground: '4F76AC' }, + { token: 'meta.scss', foreground: 'A79873' }, + { token: 'meta.tag', foreground: 'CE9178' }, + { token: 'metatag', foreground: 'DD6A6F' }, + { token: 'metatag.content.html', foreground: '9CDCFE' }, + { token: 'metatag.html', foreground: '569CD6' }, + { token: 'metatag.xml', foreground: '569CD6' }, + { token: 'metatag.php', fontStyle: 'bold' }, + { token: 'key', foreground: '9CDCFE' }, + { token: 'string.key.json', foreground: '9CDCFE' }, + { token: 'string.value.json', foreground: 'CE9178' }, + { token: 'attribute.name', foreground: '9CDCFE' }, + { token: 'attribute.value', foreground: 'CE9178' }, + { token: 'attribute.value.number.css', foreground: 'B5CEA8' }, + { token: 'attribute.value.unit.css', foreground: 'B5CEA8' }, + { token: 'attribute.value.hex.css', foreground: 'D4D4D4' }, + { token: 'string', foreground: 'CE9178' }, + { token: 'string.sql', foreground: 'FF0000' }, + { token: 'keyword', foreground: '569CD6' }, + { token: 'keyword.flow', foreground: 'C586C0' }, + { token: 'keyword.json', foreground: 'CE9178' }, + { token: 'keyword.flow.scss', foreground: '569CD6' }, + { token: 'operator.scss', foreground: '909090' }, + { token: 'operator.sql', foreground: '778899' }, + { token: 'operator.swift', foreground: '909090' }, + { token: 'predefined.sql', foreground: 'FF00FF' }, + ], + colors: { + [zn.cv]: '#1E1E1E', + [zn.NO]: '#D4D4D4', + [zn.ES]: '#3A3D41', + [Vn.tR]: '#404040', + [Vn.Ym]: '#707070', + [zn.Rz]: '#ADD6FF26', + }, + }, + Kn = { + base: 'hc-black', + inherit: !1, + rules: [ + { token: '', foreground: 'FFFFFF', background: '000000' }, + { token: 'invalid', foreground: 'f44747' }, + { token: 'emphasis', fontStyle: 'italic' }, + { token: 'strong', fontStyle: 'bold' }, + { token: 'variable', foreground: '1AEBFF' }, + { token: 'variable.parameter', foreground: '9CDCFE' }, + { token: 'constant', foreground: '569CD6' }, + { token: 'comment', foreground: '608B4E' }, + { token: 'number', foreground: 'FFFFFF' }, + { token: 'regexp', foreground: 'C0C0C0' }, + { token: 'annotation', foreground: '569CD6' }, + { token: 'type', foreground: '3DC9B0' }, + { token: 'delimiter', foreground: 'FFFF00' }, + { token: 'delimiter.html', foreground: 'FFFF00' }, + { token: 'tag', foreground: '569CD6' }, + { token: 'tag.id.pug', foreground: '4F76AC' }, + { token: 'tag.class.pug', foreground: '4F76AC' }, + { token: 'meta', foreground: 'D4D4D4' }, + { token: 'meta.tag', foreground: 'CE9178' }, + { token: 'metatag', foreground: '569CD6' }, + { token: 'metatag.content.html', foreground: '1AEBFF' }, + { token: 'metatag.html', foreground: '569CD6' }, + { token: 'metatag.xml', foreground: '569CD6' }, + { token: 'metatag.php', fontStyle: 'bold' }, + { token: 'key', foreground: '9CDCFE' }, + { token: 'string.key', foreground: '9CDCFE' }, + { token: 'string.value', foreground: 'CE9178' }, + { token: 'attribute.name', foreground: '569CD6' }, + { token: 'attribute.value', foreground: '3FF23F' }, + { token: 'string', foreground: 'CE9178' }, + { token: 'string.sql', foreground: 'FF0000' }, + { token: 'keyword', foreground: '569CD6' }, + { token: 'keyword.flow', foreground: 'C586C0' }, + { token: 'operator.sql', foreground: '778899' }, + { token: 'operator.swift', foreground: '909090' }, + { token: 'predefined.sql', foreground: 'FF00FF' }, + ], + colors: { + [zn.cv]: '#000000', + [zn.NO]: '#FFFFFF', + [Vn.tR]: '#FFFFFF', + [Vn.Ym]: '#FFFFFF', + }, + }; + var qn = i(28609); + const Gn = 'vs', + Zn = 'vs-dark', + Jn = 'hc-black', + Qn = _n.B.as(zn.IP.ColorContribution), + Xn = _n.B.as(Ki.IP.ThemingContribution); + class er { + constructor(e, t) { + (this.semanticHighlighting = !1), (this.themeData = t); + let i = t.base; + e.length > 0 + ? ((this.id = i + ' ' + e), (this.themeName = e)) + : ((this.id = i), (this.themeName = i)), + (this.colors = null), + (this.defaultColors = Object.create(null)), + (this._tokenTheme = null); + } + get base() { + return this.themeData.base; + } + notifyBaseUpdated() { + this.themeData.inherit && + ((this.colors = null), (this._tokenTheme = null)); + } + getColors() { + if (!this.colors) { + const e = new Map(); + for (let t in this.themeData.colors) + e.set(t, Rn.Il.fromHex(this.themeData.colors[t])); + if (this.themeData.inherit) { + let t = ir(this.themeData.base); + for (let i in t.colors) + e.has(i) || e.set(i, Rn.Il.fromHex(t.colors[i])); + } + this.colors = e; + } + return this.colors; + } + getColor(e, t) { + return ( + this.getColors().get(e) || + (!1 !== t ? this.getDefault(e) : void 0) + ); + } + getDefault(e) { + let t = this.defaultColors[e]; + return ( + t || + ((t = Qn.resolveDefaultColor(e, this)), + (this.defaultColors[e] = t), + t) + ); + } + defines(e) { + return Object.prototype.hasOwnProperty.call(this.getColors(), e); + } + get type() { + switch (this.base) { + case Gn: + return 'light'; + case Jn: + return 'hc'; + default: + return 'dark'; + } + } + get tokenTheme() { + if (!this._tokenTheme) { + let e = [], + t = []; + if (this.themeData.inherit) { + let i = ir(this.themeData.base); + (e = i.rules), + i.encodedTokensColors && (t = i.encodedTokensColors); + } + (e = e.concat(this.themeData.rules)), + this.themeData.encodedTokensColors && + (t = this.themeData.encodedTokensColors), + (this._tokenTheme = Wn.createFromRawTokenTheme(e, t)); + } + return this._tokenTheme; + } + getTokenStyleMetadata(e, t, i) { + const n = this.tokenTheme._match([e].concat(t).join('.')).metadata, + r = ue.NX.getForeground(n), + s = ue.NX.getFontStyle(n); + return { + foreground: r, + italic: Boolean(1 & s), + bold: Boolean(2 & s), + underline: Boolean(4 & s), + }; + } + } + function tr(e) { + return e === Gn || e === Zn || e === Jn; + } + function ir(e) { + switch (e) { + case Gn: + return Un; + case Zn: + return $n; + case Jn: + return Kn; + } + } + function nr(e) { + let t = ir(e); + return new er(e, t); + } + class rr extends _e.JT { + constructor() { + super(), + (this._onColorThemeChange = this._register(new B.Q5())), + (this.onDidColorThemeChange = this._onColorThemeChange.event), + (this._environment = Object.create(null)), + (this._knownThemes = new Map()), + this._knownThemes.set(Gn, nr(Gn)), + this._knownThemes.set(Zn, nr(Zn)), + this._knownThemes.set(Jn, nr(Jn)), + (this._codiconCSS = qn.D.getCSS()), + (this._themeCSS = ''), + (this._allCSS = `${this._codiconCSS}\n${this._themeCSS}`), + (this._globalStyleElement = null), + (this._styleElements = []), + this.setTheme(Gn), + qn.D.onDidChange(() => { + (this._codiconCSS = qn.D.getCSS()), this._updateCSS(); + }); + } + registerEditorContainer(e) { + return G.OO(e) + ? this._registerShadowDomContainer(e) + : this._registerRegularEditorContainer(); + } + _registerRegularEditorContainer() { + return ( + this._globalStyleElement || + ((this._globalStyleElement = G.dS()), + (this._globalStyleElement.className = 'monaco-colors'), + (this._globalStyleElement.innerHTML = this._allCSS), + this._styleElements.push(this._globalStyleElement)), + _e.JT.None + ); + } + _registerShadowDomContainer(e) { + const t = G.dS(e); + return ( + (t.className = 'monaco-colors'), + (t.innerHTML = this._allCSS), + this._styleElements.push(t), + { + dispose: () => { + for (let e = 0; e < this._styleElements.length; e++) + if (this._styleElements[e] === t) + return void this._styleElements.splice(e, 1); + }, + } + ); + } + defineTheme(e, t) { + if (!/^[a-z0-9\-]+$/i.test(e)) + throw new Error('Illegal theme name!'); + if (!tr(t.base) && !tr(e)) throw new Error('Illegal theme base!'); + this._knownThemes.set(e, new er(e, t)), + tr(e) && + this._knownThemes.forEach((t) => { + t.base === e && t.notifyBaseUpdated(); + }), + this._theme && this._theme.themeName === e && this.setTheme(e); + } + getColorTheme() { + return this._theme; + } + setTheme(e) { + let t; + if ( + ((t = this._knownThemes.has(e) + ? this._knownThemes.get(e) + : this._knownThemes.get(Gn)), + this._theme === t) + ) + return t.id; + this._theme = t; + let i = [], + n = {}, + r = { + addRule: (e) => { + n[e] || (i.push(e), (n[e] = !0)); + }, + }; + Xn.getThemingParticipants().forEach((e) => + e(t, r, this._environment) + ); + let s = t.tokenTheme.getColorMap(); + return ( + r.addRule( + (function (e) { + let t = []; + for (let i = 1, n = e.length; i < n; i++) { + let n = e[i]; + t[i] = `.mtk${i} { color: ${n}; }`; + } + return ( + t.push('.mtki { font-style: italic; }'), + t.push('.mtkb { font-weight: bold; }'), + t.push( + '.mtku { text-decoration: underline; text-underline-position: under; }' + ), + t.join('\n') + ); + })(s) + ), + (this._themeCSS = i.join('\n')), + this._updateCSS(), + ue.RW.setColorMap(s), + this._onColorThemeChange.fire(t), + t.id + ); + } + _updateCSS() { + (this._allCSS = `${this._codiconCSS}\n${this._themeCSS}`), + this._styleElements.forEach((e) => (e.innerHTML = this._allCSS)); + } + getFileIconTheme() { + return { + hasFileIcons: !1, + hasFolderIcons: !1, + hidesExplorerArrows: !1, + }; + } + } + const sr = 'data-keybinding-context'; + class or { + constructor(e, t) { + (this._id = e), + (this._parent = t), + (this._value = Object.create(null)), + (this._value._contextId = e); + } + setValue(e, t) { + return this._value[e] !== t && ((this._value[e] = t), !0); + } + removeValue(e) { + return e in this._value && (delete this._value[e], !0); + } + getValue(e) { + const t = this._value[e]; + return void 0 === t && this._parent ? this._parent.getValue(e) : t; + } + } + class ar extends or { + constructor() { + super(-1, null); + } + setValue(e, t) { + return !1; + } + removeValue(e) { + return !1; + } + getValue(e) {} + } + ar.INSTANCE = new ar(); + class lr extends or { + constructor(e, t, i) { + super(e, null), + (this._configurationService = t), + (this._values = new Map()), + (this._listener = this._configurationService.onDidChangeConfiguration( + (e) => { + if (6 === e.source) { + const e = Array.from(this._values.keys()); + this._values.clear(), i.fire(new hr(e)); + } else { + const t = []; + for (const i of e.affectedKeys) { + const e = `config.${i}`; + this._values.has(e) && + (this._values.delete(e), t.push(e)); + } + i.fire(new hr(t)); + } + } + )); + } + dispose() { + this._listener.dispose(); + } + getValue(e) { + if (0 !== e.indexOf(lr._keyPrefix)) return super.getValue(e); + if (this._values.has(e)) return this._values.get(e); + const t = e.substr(lr._keyPrefix.length), + i = this._configurationService.getValue(t); + let n; + switch (typeof i) { + case 'number': + case 'boolean': + case 'string': + n = i; + break; + default: + Array.isArray(i) && (n = JSON.stringify(i)); + } + return this._values.set(e, n), n; + } + setValue(e, t) { + return super.setValue(e, t); + } + removeValue(e) { + return super.removeValue(e); + } + } + lr._keyPrefix = 'config.'; + class cr { + constructor(e, t, i) { + (this._service = e), + (this._key = t), + (this._defaultValue = i), + this.reset(); + } + set(e) { + this._service.setContext(this._key, e); + } + reset() { + void 0 === this._defaultValue + ? this._service.removeContext(this._key) + : this._service.setContext(this._key, this._defaultValue); + } + get() { + return this._service.getContextKeyValue(this._key); + } + } + class dr { + constructor(e) { + this.key = e; + } + affectsSome(e) { + return e.has(this.key); + } + } + class hr { + constructor(e) { + this.keys = e; + } + affectsSome(e) { + for (const t of this.keys) if (e.has(t)) return !0; + return !1; + } + } + class ur { + constructor(e) { + this.events = e; + } + affectsSome(e) { + for (const t of this.events) if (t.affectsSome(e)) return !0; + return !1; + } + } + class gr { + constructor(e) { + (this._onDidChangeContext = new B.K3({ merge: (e) => new ur(e) })), + (this._isDisposed = !1), + (this._myContextId = e); + } + createKey(e, t) { + if (this._isDisposed) + throw new Error('AbstractContextKeyService has been disposed'); + return new cr(this, e, t); + } + get onDidChangeContext() { + return this._onDidChangeContext.event; + } + bufferChangeEvents(e) { + this._onDidChangeContext.pause(); + try { + e(); + } finally { + this._onDidChangeContext.resume(); + } + } + createScoped(e) { + if (this._isDisposed) + throw new Error('AbstractContextKeyService has been disposed'); + return new pr(this, e); + } + contextMatchesRules(e) { + if (this._isDisposed) + throw new Error('AbstractContextKeyService has been disposed'); + const t = this.getContextValuesContainer(this._myContextId); + return ri.contextMatchesRules(t, e); + } + getContextKeyValue(e) { + if (!this._isDisposed) + return this.getContextValuesContainer(this._myContextId).getValue( + e + ); + } + setContext(e, t) { + if (this._isDisposed) return; + const i = this.getContextValuesContainer(this._myContextId); + i && i.setValue(e, t) && this._onDidChangeContext.fire(new dr(e)); + } + removeContext(e) { + this._isDisposed || + (this.getContextValuesContainer(this._myContextId).removeValue( + e + ) && + this._onDidChangeContext.fire(new dr(e))); + } + getContext(e) { + return this._isDisposed + ? ar.INSTANCE + : this.getContextValuesContainer( + (function (e) { + for (; e; ) { + if (e.hasAttribute(sr)) { + const t = e.getAttribute(sr); + return t ? parseInt(t, 10) : NaN; + } + e = e.parentElement; + } + return 0; + })(e) + ); + } + } + let fr = class extends gr { + constructor(e) { + super(0), + (this._contexts = new Map()), + (this._toDispose = new _e.SL()), + (this._lastContextId = 0); + const t = new lr(this._myContextId, e, this._onDidChangeContext); + this._contexts.set(this._myContextId, t), this._toDispose.add(t); + } + dispose() { + (this._isDisposed = !0), this._toDispose.dispose(); + } + getContextValuesContainer(e) { + return this._isDisposed + ? ar.INSTANCE + : this._contexts.get(e) || ar.INSTANCE; + } + createChildContext(e = this._myContextId) { + if (this._isDisposed) + throw new Error('ContextKeyService has been disposed'); + let t = ++this._lastContextId; + return ( + this._contexts.set( + t, + new or(t, this.getContextValuesContainer(e)) + ), + t + ); + } + disposeContext(e) { + this._isDisposed || this._contexts.delete(e); + } + }; + fr = (function (e, t, i, n) { + var r, + s = arguments.length, + o = + s < 3 + ? t + : null === n + ? (n = Object.getOwnPropertyDescriptor(t, i)) + : n; + if ( + 'object' == typeof Reflect && + 'function' == typeof Reflect.decorate + ) + o = Reflect.decorate(e, t, i, n); + else + for (var a = e.length - 1; a >= 0; a--) + (r = e[a]) && + (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); + return s > 3 && o && Object.defineProperty(t, i, o), o; + })( + [ + (function (e, t) { + return function (i, n) { + t(i, n, e); + }; + })(0, qt.Ui), + ], + fr + ); + class pr extends gr { + constructor(e, t) { + super(e.createChildContext()), + (this._parent = e), + t && + ((this._domNode = t), + this._domNode.setAttribute(sr, String(this._myContextId))); + } + dispose() { + (this._isDisposed = !0), + this._parent.disposeContext(this._myContextId), + this._domNode && + (this._domNode.removeAttribute(sr), (this._domNode = void 0)); + } + get onDidChangeContext() { + return B.ju.any( + this._parent.onDidChangeContext, + this._onDidChangeContext.event + ); + } + getContextValuesContainer(e) { + return this._isDisposed + ? ar.INSTANCE + : this._parent.getContextValuesContainer(e); + } + createChildContext(e = this._myContextId) { + if (this._isDisposed) + throw new Error('ScopedContextKeyService has been disposed'); + return this._parent.createChildContext(e); + } + disposeContext(e) { + this._isDisposed || this._parent.disposeContext(e); + } + } + ee.P.registerCommand(Vi.Eq, function (e, t, i) { + e.get(Vi.i6).createKey(String(t), i); + }); + var mr = i(74741), + _r = i(90317), + br = i(9802), + vr = i(61134), + yr = i(10161); + function wr(e, t, i) { + const n = i.offset + i.size; + return 0 === i.position + ? t <= e - n + ? n + : t <= i.offset + ? i.offset - t + : Math.max(e - t, 0) + : t <= i.offset + ? i.offset - t + : t <= e - n + ? n + : 0; + } + class Cr extends _e.JT { + constructor(e, t) { + super(), + (this.container = null), + (this.delegate = null), + (this.toDisposeOnClean = _e.JT.None), + (this.toDisposeOnSetContainer = _e.JT.None), + (this.shadowRoot = null), + (this.shadowRootHostElement = null), + (this.view = G.$('.context-view')), + (this.useFixedPosition = !1), + (this.useShadowDOM = !1), + G.Cp(this.view), + this.setContainer(e, t), + this._register((0, _e.OF)(() => this.setContainer(null, 1))); + } + setContainer(e, t) { + if ( + (this.container && + (this.toDisposeOnSetContainer.dispose(), + this.shadowRoot + ? (this.shadowRoot.removeChild(this.view), + (this.shadowRoot = null), + G.ZF(this.shadowRootHostElement), + (this.shadowRootHostElement = null)) + : this.container.removeChild(this.view), + (this.container = null)), + e) + ) { + (this.container = e), + (this.useFixedPosition = 1 !== t), + (this.useShadowDOM = 3 === t), + this.useShadowDOM + ? ((this.shadowRootHostElement = G.$('.shadow-root-host')), + this.container.appendChild(this.shadowRootHostElement), + (this.shadowRoot = this.shadowRootHostElement.attachShadow({ + mode: 'open', + })), + (this.shadowRoot.innerHTML = `\n\t\t\t\t\t<style>\n\t\t\t\t\t\t${Sr}\n\t\t\t\t\t</style>\n\t\t\t\t`), + this.shadowRoot.appendChild(this.view), + this.shadowRoot.appendChild(G.$('slot'))) + : this.container.appendChild(this.view); + const i = new _e.SL(); + Cr.BUBBLE_UP_EVENTS.forEach((e) => { + i.add( + G.mu(this.container, e, (e) => { + this.onDOMEvent(e, !1); + }) + ); + }), + Cr.BUBBLE_DOWN_EVENTS.forEach((e) => { + i.add( + G.mu( + this.container, + e, + (e) => { + this.onDOMEvent(e, !0); + }, + !0 + ) + ); + }), + (this.toDisposeOnSetContainer = i); + } + } + show(e) { + this.isVisible() && this.hide(), + G.PO(this.view), + (this.view.className = 'context-view'), + (this.view.style.top = '0px'), + (this.view.style.left = '0px'), + (this.view.style.zIndex = '2500'), + (this.view.style.position = this.useFixedPosition + ? 'fixed' + : 'absolute'), + G.$Z(this.view), + (this.toDisposeOnClean = e.render(this.view) || _e.JT.None), + (this.delegate = e), + this.doLayout(), + this.delegate.focus && this.delegate.focus(); + } + getViewElement() { + return this.view; + } + layout() { + this.isVisible() && + (!1 !== this.delegate.canRelayout || (ve.gn && yr.D.pointerEvents) + ? (this.delegate.layout && this.delegate.layout(), + this.doLayout()) + : this.hide()); + } + doLayout() { + if (!this.isVisible()) return; + let e, + t = this.delegate.getAnchor(); + if (G.Re(t)) { + let i = G.i(t); + e = { + top: i.top, + left: i.left, + width: i.width, + height: i.height, + }; + } else + e = { + top: t.y, + left: t.x, + width: t.width || 1, + height: t.height || 2, + }; + const i = G.w(this.view), + n = G.wn(this.view), + r = this.delegate.anchorPosition || 0, + s = this.delegate.anchorAlignment || 0, + o = { + offset: e.top - window.pageYOffset, + size: e.height, + position: 0 === r ? 0 : 1, + }; + let a; + a = + 0 === s + ? { offset: e.left, size: 0, position: 0 } + : { offset: e.left + e.width, size: 0, position: 1 }; + const l = wr(window.innerHeight, n, o) + window.pageYOffset; + vr.e.intersects( + { start: l, end: l + n }, + { start: o.offset, end: o.offset + o.size } + ) && ((a.size = e.width), 1 === s && (a.offset = e.left)); + const c = wr(window.innerWidth, i, a); + G.GK(this.view, 'top', 'bottom', 'left', 'right'), + G.cn(this.view, 0 === r ? 'bottom' : 'top'), + G.cn(this.view, 0 === s ? 'left' : 'right'), + G.og(this.view, 'fixed', this.useFixedPosition); + const d = G.i(this.container); + (this.view.style.top = + l - (this.useFixedPosition ? G.i(this.view).top : d.top) + 'px'), + (this.view.style.left = + c - + (this.useFixedPosition ? G.i(this.view).left : d.left) + + 'px'), + (this.view.style.width = 'initial'); + } + hide(e) { + const t = this.delegate; + (this.delegate = null), + (null == t ? void 0 : t.onHide) && t.onHide(e), + this.toDisposeOnClean.dispose(), + G.Cp(this.view); + } + isVisible() { + return !!this.delegate; + } + onDOMEvent(e, t) { + this.delegate && + (this.delegate.onDOMEvent + ? this.delegate.onDOMEvent(e, document.activeElement) + : t && !G.jg(e.target, this.container) && this.hide()); + } + dispose() { + this.hide(), super.dispose(); + } + } + (Cr.BUBBLE_UP_EVENTS = ['click', 'keydown', 'focus', 'blur']), + (Cr.BUBBLE_DOWN_EVENTS = ['click']); + let Sr = + '\n\t:host {\n\t\tall: initial; /* 1st rule so subsequent properties are reset. */\n\t}\n\n\t@font-face {\n\t\tfont-family: "codicon";\n\t\tsrc: url("./codicon.ttf?5d4d76ab2ce5108968ad644d591a16a6") format("truetype");\n\t}\n\n\t.codicon[class*=\'codicon-\'] {\n\t\tfont: normal normal normal 16px/1 codicon;\n\t\tdisplay: inline-block;\n\t\ttext-decoration: none;\n\t\ttext-rendering: auto;\n\t\ttext-align: center;\n\t\t-webkit-font-smoothing: antialiased;\n\t\t-moz-osx-font-smoothing: grayscale;\n\t\tuser-select: none;\n\t\t-webkit-user-select: none;\n\t\t-ms-user-select: none;\n\t}\n\n\t:host {\n\t\tfont-family: -apple-system, BlinkMacSystemFont, "Segoe WPC", "Segoe UI", "HelveticaNeue-Light", system-ui, "Ubuntu", "Droid Sans", sans-serif;\n\t}\n\n\t:host-context(.mac) { font-family: -apple-system, BlinkMacSystemFont, sans-serif; }\n\t:host-context(.mac:lang(zh-Hans)) { font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", sans-serif; }\n\t:host-context(.mac:lang(zh-Hant)) { font-family: -apple-system, BlinkMacSystemFont, "PingFang TC", sans-serif; }\n\t:host-context(.mac:lang(ja)) { font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic Pro", sans-serif; }\n\t:host-context(.mac:lang(ko)) { font-family: -apple-system, BlinkMacSystemFont, "Nanum Gothic", "Apple SD Gothic Neo", "AppleGothic", sans-serif; }\n\n\t:host-context(.windows) { font-family: "Segoe WPC", "Segoe UI", sans-serif; }\n\t:host-context(.windows:lang(zh-Hans)) { font-family: "Segoe WPC", "Segoe UI", "Microsoft YaHei", sans-serif; }\n\t:host-context(.windows:lang(zh-Hant)) { font-family: "Segoe WPC", "Segoe UI", "Microsoft Jhenghei", sans-serif; }\n\t:host-context(.windows:lang(ja)) { font-family: "Segoe WPC", "Segoe UI", "Yu Gothic UI", "Meiryo UI", sans-serif; }\n\t:host-context(.windows:lang(ko)) { font-family: "Segoe WPC", "Segoe UI", "Malgun Gothic", "Dotom", sans-serif; }\n\n\t:host-context(.linux) { font-family: system-ui, "Ubuntu", "Droid Sans", sans-serif; }\n\t:host-context(.linux:lang(zh-Hans)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans SC", "Source Han Sans CN", "Source Han Sans", sans-serif; }\n\t:host-context(.linux:lang(zh-Hant)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans TC", "Source Han Sans TW", "Source Han Sans", sans-serif; }\n\t:host-context(.linux:lang(ja)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans J", "Source Han Sans JP", "Source Han Sans", sans-serif; }\n\t:host-context(.linux:lang(ko)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans K", "Source Han Sans JR", "Source Han Sans", "UnDotum", "FBaekmuk Gulim", sans-serif; }\n'; + var kr = i(73046), + xr = i(76033), + Lr = i(16268), + Mr = i(23938); + const Dr = /\(&([^\s&])\)|(^|[^&])&([^\s&])/, + Nr = /(&)?(&)([^\s&])/g, + Er = (0, kr.q5)('menu-selection', kr.lA.check), + Tr = (0, kr.q5)('menu-submenu', kr.lA.chevronRight); + var Ir; + !(function (e) { + (e[(e.Right = 0)] = 'Right'), (e[(e.Left = 1)] = 'Left'); + })(Ir || (Ir = {})); + class Or extends _r.o { + constructor(e, t, i = {}) { + (0, G.cn)(e, 'monaco-menu-container'), + e.setAttribute('role', 'presentation'); + const n = document.createElement('div'); + (0, G.cn)(n, 'monaco-menu'), + n.setAttribute('role', 'presentation'), + super(n, { + orientation: 2, + actionViewItemProvider: (e) => + this.doGetActionViewItem(e, i, r), + context: i.context, + actionRunner: i.actionRunner, + ariaLabel: i.ariaLabel, + triggerKeys: { + keys: [3, ...(ve.dz || ve.IJ ? [10] : [])], + keyDown: !0, + }, + }), + (this.menuElement = n), + this.actionsList.setAttribute('role', 'menu'), + (this.actionsList.tabIndex = 0), + (this.menuDisposables = this._register(new _e.SL())), + this.initializeStyleSheet(e), + (0, G.nm)(n, G.tw.KEY_DOWN, (e) => { + new jt.y(e).equals(2) && e.preventDefault(); + }), + i.enableMnemonics && + this.menuDisposables.add( + (0, G.nm)(n, G.tw.KEY_DOWN, (e) => { + const t = e.key.toLocaleLowerCase(); + if (this.mnemonics.has(t)) { + G.zB.stop(e, !0); + const i = this.mnemonics.get(t); + if ( + (1 === i.length && + (i[0] instanceof Rr && + i[0].container && + this.focusItemByElement(i[0].container), + i[0].onClick(e)), + i.length > 1) + ) { + const e = i.shift(); + e && + e.container && + (this.focusItemByElement(e.container), i.push(e)), + this.mnemonics.set(t, i); + } + } + }) + ), + ve.IJ && + this._register( + (0, G.nm)(n, G.tw.KEY_DOWN, (e) => { + const t = new jt.y(e); + t.equals(14) || t.equals(11) + ? ((this.focusedItem = this.viewItems.length - 1), + this.focusNext(), + G.zB.stop(e, !0)) + : (t.equals(13) || t.equals(12)) && + ((this.focusedItem = 0), + this.focusPrevious(), + G.zB.stop(e, !0)); + }) + ), + this._register( + (0, G.nm)(this.domNode, G.tw.MOUSE_OUT, (e) => { + let t = e.relatedTarget; + (0, G.jg)(t, this.domNode) || + ((this.focusedItem = void 0), + this.updateFocus(), + e.stopPropagation()); + }) + ), + this._register( + (0, G.nm)(this.actionsList, G.tw.MOUSE_OVER, (e) => { + let t = e.target; + if ( + t && + (0, G.jg)(t, this.actionsList) && + t !== this.actionsList + ) { + for ( + ; + t.parentElement !== this.actionsList && + null !== t.parentElement; + + ) + t = t.parentElement; + if ((0, G.pv)(t, 'action-item')) { + const e = this.focusedItem; + this.setFocusedItem(t), + e !== this.focusedItem && this.updateFocus(); + } + } + }) + ); + let r = { parent: this }; + (this.mnemonics = new Map()), + (this.scrollableElement = this._register( + new br.s$(n, { + alwaysConsumeMouseWheel: !0, + horizontal: 2, + vertical: 3, + verticalScrollbarSize: 7, + handleMouseWheel: !0, + useShadows: !0, + }) + )); + const s = this.scrollableElement.getDomNode(); + (s.style.position = ''), + this._register( + (0, G.nm)(s, G.tw.MOUSE_UP, (e) => { + e.preventDefault(); + }) + ), + (n.style.maxHeight = `${Math.max( + 10, + window.innerHeight - e.getBoundingClientRect().top - 35 + )}px`), + (t = t.filter((e) => { + var t; + return ( + !(null === (t = i.submenuIds) || void 0 === t + ? void 0 + : t.has(e.id)) || + (console.warn(`Found submenu cycle: ${e.id}`), !1) + ); + })), + this.push(t, { icon: !0, label: !0, isMenu: !0 }), + e.appendChild(this.scrollableElement.getDomNode()), + this.scrollableElement.scanDomNode(), + this.viewItems + .filter((e) => !(e instanceof Pr)) + .forEach((e, t, i) => { + e.updatePositionInSet(t + 1, i.length); + }); + } + initializeStyleSheet(e) { + (0, G.OO)(e) + ? ((this.styleSheet = (0, G.dS)(e)), + (this.styleSheet.innerHTML = Fr)) + : (Or.globalStyleSheet || + ((Or.globalStyleSheet = (0, G.dS)()), + (Or.globalStyleSheet.innerHTML = Fr)), + (this.styleSheet = Or.globalStyleSheet)); + } + style(e) { + const t = this.getContainer(), + i = e.foregroundColor ? `${e.foregroundColor}` : '', + n = e.backgroundColor ? `${e.backgroundColor}` : '', + r = e.borderColor ? `1px solid ${e.borderColor}` : '', + s = e.shadowColor ? `0 2px 4px ${e.shadowColor}` : ''; + (t.style.border = r), + (this.domNode.style.color = i), + (this.domNode.style.backgroundColor = n), + (t.style.boxShadow = s), + this.viewItems && + this.viewItems.forEach((t) => { + (t instanceof Ar || t instanceof Pr) && t.style(e); + }); + } + getContainer() { + return this.scrollableElement.getDomNode(); + } + get onScroll() { + return this.scrollableElement.onScroll; + } + focusItemByElement(e) { + const t = this.focusedItem; + this.setFocusedItem(e), + t !== this.focusedItem && this.updateFocus(); + } + setFocusedItem(e) { + for (let t = 0; t < this.actionsList.children.length; t++) + if (e === this.actionsList.children[t]) { + this.focusedItem = t; + break; + } + } + updateFocus(e) { + super.updateFocus(e, !0), + void 0 !== this.focusedItem && + this.scrollableElement.setScrollPosition({ + scrollTop: Math.round(this.menuElement.scrollTop), + }); + } + doGetActionViewItem(e, t, i) { + if (e instanceof mr.Z0) return new Pr(t.context, e, { icon: !0 }); + if (e instanceof mr.wY) { + const n = new Rr( + e, + e.actions, + i, + Object.assign(Object.assign({}, t), { + submenuIds: new Set([...(t.submenuIds || []), e.id]), + }) + ); + if (t.enableMnemonics) { + const e = n.getMnemonic(); + if (e && n.isEnabled()) { + let t = []; + this.mnemonics.has(e) && (t = this.mnemonics.get(e)), + t.push(n), + this.mnemonics.set(e, t); + } + } + return n; + } + { + const i = { + enableMnemonics: t.enableMnemonics, + useEventAsContext: t.useEventAsContext, + }; + if (t.getKeyBinding) { + const n = t.getKeyBinding(e); + if (n) { + const e = n.getLabel(); + e && (i.keybinding = e); + } + } + const n = new Ar(t.context, e, i); + if (t.enableMnemonics) { + const e = n.getMnemonic(); + if (e && n.isEnabled()) { + let t = []; + this.mnemonics.has(e) && (t = this.mnemonics.get(e)), + t.push(n), + this.mnemonics.set(e, t); + } + } + return n; + } + } + } + class Ar extends xr.Y { + constructor(e, t, i = {}) { + if ( + ((i.isMenu = !0), + super(t, t, i), + (this.options = i), + (this.options.icon = void 0 !== i.icon && i.icon), + (this.options.label = void 0 === i.label || i.label), + (this.cssClass = ''), + this.options.label && i.enableMnemonics) + ) { + let e = this.getAction().label; + if (e) { + let t = Dr.exec(e); + t && (this.mnemonic = (t[1] ? t[1] : t[3]).toLocaleLowerCase()); + } + } + (this.runOnceToEnableMouseUp = new me.pY(() => { + this.element && + (this._register( + (0, G.nm)(this.element, G.tw.MOUSE_UP, (e) => { + if ((G.zB.stop(e, !0), Lr.vU)) { + if (new Mr.n(e).rightButton) return; + this.onClick(e); + } + setTimeout(() => { + this.onClick(e); + }, 0); + }) + ), + this._register( + (0, G.nm)(this.element, G.tw.CONTEXT_MENU, (e) => { + G.zB.stop(e, !0); + }) + )); + }, 100)), + this._register(this.runOnceToEnableMouseUp); + } + render(e) { + super.render(e), + this.element && + ((this.container = e), + (this.item = (0, G.R3)( + this.element, + (0, G.$)('a.action-menu-item') + )), + this._action.id === mr.Z0.ID + ? this.item.setAttribute('role', 'presentation') + : (this.item.setAttribute('role', 'menuitem'), + this.mnemonic && + this.item.setAttribute( + 'aria-keyshortcuts', + `${this.mnemonic}` + )), + (this.check = (0, G.R3)( + this.item, + (0, G.$)('span.menu-item-check' + Er.cssSelector) + )), + this.check.setAttribute('role', 'none'), + (this.label = (0, G.R3)( + this.item, + (0, G.$)('span.action-label') + )), + this.options.label && + this.options.keybinding && + ((0, G.R3)( + this.item, + (0, G.$)('span.keybinding') + ).textContent = this.options.keybinding), + this.runOnceToEnableMouseUp.schedule(), + this.updateClass(), + this.updateLabel(), + this.updateTooltip(), + this.updateEnabled(), + this.updateChecked()); + } + blur() { + super.blur(), this.applyStyle(); + } + focus() { + super.focus(), this.item && this.item.focus(), this.applyStyle(); + } + updatePositionInSet(e, t) { + this.item && + (this.item.setAttribute('aria-posinset', `${e}`), + this.item.setAttribute('aria-setsize', `${t}`)); + } + updateLabel() { + if (this.label && this.options.label) { + (0, G.PO)(this.label); + let e = (0, kr.QF)(this.getAction().label); + if (e) { + const t = (function (e) { + const t = Dr, + i = t.exec(e); + if (!i) return e; + const n = !i[1]; + return e.replace(t, n ? '$2$3' : '').trim(); + })(e); + this.options.enableMnemonics || (e = t), + this.label.setAttribute('aria-label', t.replace(/&&/g, '&')); + const i = Dr.exec(e); + if (i) { + (e = Fe.YU(e)), (Nr.lastIndex = 0); + let t = Nr.exec(e); + for (; t && t[1]; ) t = Nr.exec(e); + const n = (e) => e.replace(/&&/g, '&'); + t + ? this.label.append( + Fe.j3(n(e.substr(0, t.index)), ' '), + (0, G.$)('u', { 'aria-hidden': 'true' }, t[3]), + Fe.oL(n(e.substr(t.index + t[0].length)), ' ') + ) + : (this.label.innerText = n(e).trim()), + this.item && + this.item.setAttribute( + 'aria-keyshortcuts', + (i[1] ? i[1] : i[3]).toLocaleLowerCase() + ); + } else this.label.innerText = e.replace(/&&/g, '&').trim(); + } + } + } + updateTooltip() { + let e = null; + this.getAction().tooltip + ? (e = this.getAction().tooltip) + : !this.options.label && + this.getAction().label && + this.options.icon && + ((e = this.getAction().label), + this.options.keybinding && + (e = ii.N( + { + key: 'titleLabel', + comment: ['action title', 'action keybinding'], + }, + '{0} ({1})', + e, + this.options.keybinding + ))), + e && this.item && (this.item.title = e); + } + updateClass() { + this.cssClass && this.item && (0, G.GK)(this.item, this.cssClass), + this.options.icon && this.label + ? ((this.cssClass = this.getAction().class || ''), + (0, G.cn)(this.label, 'icon'), + this.cssClass && (0, G.PT)(this.label, this.cssClass), + this.updateEnabled()) + : this.label && (0, G.IV)(this.label, 'icon'); + } + updateEnabled() { + this.getAction().enabled + ? (this.element && (0, G.IV)(this.element, 'disabled'), + this.item && + ((0, G.IV)(this.item, 'disabled'), (this.item.tabIndex = 0))) + : (this.element && (0, G.cn)(this.element, 'disabled'), + this.item && + ((0, G.cn)(this.item, 'disabled'), (0, G.eJ)(this.item))); + } + updateChecked() { + this.item && + (this.getAction().checked + ? ((0, G.cn)(this.item, 'checked'), + this.item.setAttribute('role', 'menuitemcheckbox'), + this.item.setAttribute('aria-checked', 'true')) + : ((0, G.IV)(this.item, 'checked'), + this.item.setAttribute('role', 'menuitem'), + this.item.setAttribute('aria-checked', 'false'))); + } + getMnemonic() { + return this.mnemonic; + } + applyStyle() { + if (!this.menuStyle) return; + const e = this.element && (0, G.pv)(this.element, 'focused'), + t = + e && this.menuStyle.selectionForegroundColor + ? this.menuStyle.selectionForegroundColor + : this.menuStyle.foregroundColor, + i = + e && this.menuStyle.selectionBackgroundColor + ? this.menuStyle.selectionBackgroundColor + : void 0, + n = + e && this.menuStyle.selectionBorderColor + ? `thin solid ${this.menuStyle.selectionBorderColor}` + : ''; + this.item && + ((this.item.style.color = t ? t.toString() : ''), + (this.item.style.backgroundColor = i ? i.toString() : '')), + this.check && (this.check.style.color = t ? t.toString() : ''), + this.container && (this.container.style.border = n); + } + style(e) { + (this.menuStyle = e), this.applyStyle(); + } + } + class Rr extends Ar { + constructor(e, t, i, n) { + super(e, e, n), + (this.submenuActions = t), + (this.parentData = i), + (this.submenuOptions = n), + (this.mysubmenu = null), + (this.submenuDisposables = this._register(new _e.SL())), + (this.mouseOver = !1), + (this.expandDirection = + n && void 0 !== n.expandDirection + ? n.expandDirection + : Ir.Right), + (this.showScheduler = new me.pY(() => { + this.mouseOver && + (this.cleanupExistingSubmenu(!1), this.createSubmenu(!1)); + }, 250)), + (this.hideScheduler = new me.pY(() => { + this.element && + !(0, G.jg)((0, G.vY)(), this.element) && + this.parentData.submenu === this.mysubmenu && + (this.parentData.parent.focus(!1), + this.cleanupExistingSubmenu(!0)); + }, 750)); + } + render(e) { + super.render(e), + this.element && + (this.item && + ((0, G.cn)(this.item, 'monaco-submenu-item'), + this.item.setAttribute('aria-haspopup', 'true'), + this.updateAriaExpanded('false'), + (this.submenuIndicator = (0, G.R3)( + this.item, + (0, G.$)('span.submenu-indicator' + Tr.cssSelector) + )), + this.submenuIndicator.setAttribute('aria-hidden', 'true')), + this._register( + (0, G.nm)(this.element, G.tw.KEY_UP, (e) => { + let t = new jt.y(e); + (t.equals(17) || t.equals(3)) && + (G.zB.stop(e, !0), this.createSubmenu(!0)); + }) + ), + this._register( + (0, G.nm)(this.element, G.tw.KEY_DOWN, (e) => { + let t = new jt.y(e); + (0, G.vY)() === this.item && + (t.equals(17) || t.equals(3)) && + G.zB.stop(e, !0); + }) + ), + this._register( + (0, G.nm)(this.element, G.tw.MOUSE_OVER, (e) => { + this.mouseOver || + ((this.mouseOver = !0), this.showScheduler.schedule()); + }) + ), + this._register( + (0, G.nm)(this.element, G.tw.MOUSE_LEAVE, (e) => { + this.mouseOver = !1; + }) + ), + this._register( + (0, G.nm)(this.element, G.tw.FOCUS_OUT, (e) => { + this.element && + !(0, G.jg)((0, G.vY)(), this.element) && + this.hideScheduler.schedule(); + }) + ), + this._register( + this.parentData.parent.onScroll(() => { + this.parentData.parent.focus(!1), + this.cleanupExistingSubmenu(!1); + }) + )); + } + onClick(e) { + G.zB.stop(e, !0), + this.cleanupExistingSubmenu(!1), + this.createSubmenu(!0); + } + cleanupExistingSubmenu(e) { + if ( + this.parentData.submenu && + (e || this.parentData.submenu !== this.mysubmenu) + ) { + try { + this.parentData.submenu.dispose(); + } catch (e) {} + (this.parentData.submenu = void 0), + this.updateAriaExpanded('false'), + this.submenuContainer && + (this.submenuDisposables.clear(), + (this.submenuContainer = void 0)); + } + } + calculateSubmenuMenuLayout(e, t, i, n) { + const r = { top: 0, left: 0 }; + return ( + (r.left = wr(e.width, t.width, { + position: n === Ir.Right ? 0 : 1, + offset: i.left, + size: i.width, + })), + r.left >= i.left && + r.left < i.left + i.width && + (i.left + 10 + t.width <= e.width && (r.left = i.left + 10), + (i.top += 10), + (i.height = 0)), + (r.top = wr(e.height, t.height, { + position: 0, + offset: i.top, + size: 0, + })), + r.top + t.height === i.top && + r.top + i.height + t.height <= e.height && + (r.top += i.height), + r + ); + } + createSubmenu(e = !0) { + if (this.element) + if (this.parentData.submenu) this.parentData.submenu.focus(!1); + else { + this.updateAriaExpanded('true'), + (this.submenuContainer = (0, G.R3)( + this.element, + (0, G.$)('div.monaco-submenu') + )), + (0, G.PT)( + this.submenuContainer, + 'menubar-menu-items-holder', + 'context-view' + ); + const t = getComputedStyle(this.parentData.parent.domNode), + i = parseFloat(t.paddingTop || '0') || 0; + (this.submenuContainer.style.zIndex = '1'), + (this.submenuContainer.style.position = 'fixed'), + (this.submenuContainer.style.top = '0'), + (this.submenuContainer.style.left = '0'), + (this.parentData.submenu = new Or( + this.submenuContainer, + this.submenuActions, + this.submenuOptions + )), + this.menuStyle && + this.parentData.submenu.style(this.menuStyle); + const n = this.element.getBoundingClientRect(), + r = { + top: n.top - i, + left: n.left, + height: n.height + 2 * i, + width: n.width, + }, + s = this.submenuContainer.getBoundingClientRect(), + { top: o, left: a } = this.calculateSubmenuMenuLayout( + { height: window.innerHeight, width: window.innerWidth }, + s, + r, + this.expandDirection + ); + (this.submenuContainer.style.left = `${a}px`), + (this.submenuContainer.style.top = `${o}px`), + this.submenuDisposables.add( + (0, G.nm)(this.submenuContainer, G.tw.KEY_UP, (e) => { + new jt.y(e).equals(15) && + (G.zB.stop(e, !0), + this.parentData.parent.focus(), + this.cleanupExistingSubmenu(!0)); + }) + ), + this.submenuDisposables.add( + (0, G.nm)(this.submenuContainer, G.tw.KEY_DOWN, (e) => { + new jt.y(e).equals(15) && G.zB.stop(e, !0); + }) + ), + this.submenuDisposables.add( + this.parentData.submenu.onDidCancel(() => { + this.parentData.parent.focus(), + this.cleanupExistingSubmenu(!0); + }) + ), + this.parentData.submenu.focus(e), + (this.mysubmenu = this.parentData.submenu); + } + } + updateAriaExpanded(e) { + var t; + this.item && + (null === (t = this.item) || + void 0 === t || + t.setAttribute('aria-expanded', e)); + } + applyStyle() { + if ((super.applyStyle(), !this.menuStyle)) return; + const e = + this.element && + (0, G.pv)(this.element, 'focused') && + this.menuStyle.selectionForegroundColor + ? this.menuStyle.selectionForegroundColor + : this.menuStyle.foregroundColor; + this.submenuIndicator && + (this.submenuIndicator.style.color = e ? `${e}` : ''), + this.parentData.submenu && + this.parentData.submenu.style(this.menuStyle); + } + dispose() { + super.dispose(), + this.hideScheduler.dispose(), + this.mysubmenu && + (this.mysubmenu.dispose(), (this.mysubmenu = null)), + this.submenuContainer && (this.submenuContainer = void 0); + } + } + class Pr extends xr.g { + style(e) { + this.label && + (this.label.style.borderBottomColor = e.separatorColor + ? `${e.separatorColor}` + : ''); + } + } + let Fr = `\n.monaco-menu {\n\tfont-size: 13px;\n\n}\n\n${(0, qn.a)( + Er + )}\n${(0, qn.a)( + Tr + )}\n\n.monaco-menu .monaco-action-bar {\n\ttext-align: right;\n\toverflow: hidden;\n\twhite-space: nowrap;\n}\n\n.monaco-menu .monaco-action-bar .actions-container {\n\tdisplay: flex;\n\tmargin: 0 auto;\n\tpadding: 0;\n\twidth: 100%;\n\tjustify-content: flex-end;\n}\n\n.monaco-menu .monaco-action-bar.vertical .actions-container {\n\tdisplay: inline-block;\n}\n\n.monaco-menu .monaco-action-bar.reverse .actions-container {\n\tflex-direction: row-reverse;\n}\n\n.monaco-menu .monaco-action-bar .action-item {\n\tcursor: pointer;\n\tdisplay: inline-block;\n\ttransition: transform 50ms ease;\n\tposition: relative; /* DO NOT REMOVE - this is the key to preventing the ghosting icon bug in Chrome 42 */\n}\n\n.monaco-menu .monaco-action-bar .action-item.disabled {\n\tcursor: default;\n}\n\n.monaco-menu .monaco-action-bar.animated .action-item.active {\n\ttransform: scale(1.272019649, 1.272019649); /* 1.272019649 = √φ */\n}\n\n.monaco-menu .monaco-action-bar .action-item .icon,\n.monaco-menu .monaco-action-bar .action-item .codicon {\n\tdisplay: inline-block;\n}\n\n.monaco-menu .monaco-action-bar .action-item .codicon {\n\tdisplay: flex;\n\talign-items: center;\n}\n\n.monaco-menu .monaco-action-bar .action-label {\n\tfont-size: 11px;\n\tmargin-right: 4px;\n}\n\n.monaco-menu .monaco-action-bar .action-item.disabled .action-label,\n.monaco-menu .monaco-action-bar .action-item.disabled .action-label:hover {\n\topacity: 0.4;\n}\n\n/* Vertical actions */\n\n.monaco-menu .monaco-action-bar.vertical {\n\ttext-align: left;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item {\n\tdisplay: block;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label.separator {\n\tdisplay: block;\n\tborder-bottom: 1px solid #bbb;\n\tpadding-top: 1px;\n\tmargin-left: .8em;\n\tmargin-right: .8em;\n}\n\n.monaco-menu .secondary-actions .monaco-action-bar .action-label {\n\tmargin-left: 6px;\n}\n\n/* Action Items */\n.monaco-menu .monaco-action-bar .action-item.select-container {\n\toverflow: hidden; /* somehow the dropdown overflows its container, we prevent it here to not push */\n\tflex: 1;\n\tmax-width: 170px;\n\tmin-width: 60px;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tmargin-right: 10px;\n}\n\n.monaco-menu .monaco-action-bar.vertical {\n\tmargin-left: 0;\n\toverflow: visible;\n}\n\n.monaco-menu .monaco-action-bar.vertical .actions-container {\n\tdisplay: block;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item {\n\tpadding: 0;\n\ttransform: none;\n\tdisplay: flex;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item.active {\n\ttransform: none;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-menu-item {\n\tflex: 1 1 auto;\n\tdisplay: flex;\n\theight: 2em;\n\talign-items: center;\n\tposition: relative;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label {\n\tflex: 1 1 auto;\n\ttext-decoration: none;\n\tpadding: 0 1em;\n\tbackground: none;\n\tfont-size: 12px;\n\tline-height: 1;\n}\n\n.monaco-menu .monaco-action-bar.vertical .keybinding,\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator {\n\tdisplay: inline-block;\n\tflex: 2 1 auto;\n\tpadding: 0 1em;\n\ttext-align: right;\n\tfont-size: 12px;\n\tline-height: 1;\n}\n\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator {\n\theight: 100%;\n}\n\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator.codicon {\n\tfont-size: 16px !important;\n\tdisplay: flex;\n\talign-items: center;\n}\n\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator.codicon::before {\n\tmargin-left: auto;\n\tmargin-right: -20px;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item.disabled .keybinding,\n.monaco-menu .monaco-action-bar.vertical .action-item.disabled .submenu-indicator {\n\topacity: 0.4;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label:not(.separator) {\n\tdisplay: inline-block;\n\tbox-sizing: border-box;\n\tmargin: 0;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item {\n\tposition: static;\n\toverflow: visible;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item .monaco-submenu {\n\tposition: absolute;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label.separator {\n\tpadding: 0.5em 0 0 0;\n\tmargin-bottom: 0.5em;\n\twidth: 100%;\n\theight: 0px !important;\n\tmargin-left: .8em !important;\n\tmargin-right: .8em !important;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label.separator.text {\n\tpadding: 0.7em 1em 0.1em 1em;\n\tfont-weight: bold;\n\topacity: 1;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label:hover {\n\tcolor: inherit;\n}\n\n.monaco-menu .monaco-action-bar.vertical .menu-item-check {\n\tposition: absolute;\n\tvisibility: hidden;\n\twidth: 1em;\n\theight: 100%;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-menu-item.checked .menu-item-check {\n\tvisibility: visible;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n\n/* Context Menu */\n\n.context-view.monaco-menu-container {\n\toutline: 0;\n\tborder: none;\n\tanimation: fadeIn 0.083s linear;\n}\n\n.context-view.monaco-menu-container :focus,\n.context-view.monaco-menu-container .monaco-action-bar.vertical:focus,\n.context-view.monaco-menu-container .monaco-action-bar.vertical :focus {\n\toutline: 0;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item {\n\tborder: thin solid transparent; /* prevents jumping behaviour on hover or focus */\n}\n\n\n/* High Contrast Theming */\n:host-context(.hc-black) .context-view.monaco-menu-container {\n\tbox-shadow: none;\n}\n\n:host-context(.hc-black) .monaco-menu .monaco-action-bar.vertical .action-item.focused {\n\tbackground: none;\n}\n\n/* Vertical Action Bar Styles */\n\n.monaco-menu .monaco-action-bar.vertical {\n\tpadding: .5em 0;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-menu-item {\n\theight: 1.8em;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label:not(.separator),\n.monaco-menu .monaco-action-bar.vertical .keybinding {\n\tfont-size: inherit;\n\tpadding: 0 2em;\n}\n\n.monaco-menu .monaco-action-bar.vertical .menu-item-check {\n\tfont-size: inherit;\n\twidth: 2em;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label.separator {\n\tfont-size: inherit;\n\tpadding: 0.2em 0 0 0;\n\tmargin-bottom: 0.2em;\n}\n\n:host-context(.linux) .monaco-menu .monaco-action-bar.vertical .action-label.separator {\n\tmargin-left: 0;\n\tmargin-right: 0;\n}\n\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator {\n\tfont-size: 60%;\n\tpadding: 0 1.8em;\n}\n\n:host-context(.linux) .monaco-menu .monaco-action-bar.vertical .submenu-indicator {\n\theight: 100%;\n\tmask-size: 10px 10px;\n\t-webkit-mask-size: 10px 10px;\n}\n\n.monaco-menu .action-item {\n\tcursor: default;\n}\n\n/* Arrows */\n.monaco-scrollable-element > .scrollbar > .scra {\n\tcursor: pointer;\n\tfont-size: 11px !important;\n}\n\n.monaco-scrollable-element > .visible {\n\topacity: 1;\n\n\t/* Background rule added for IE9 - to allow clicks on dom node */\n\tbackground:rgba(0,0,0,0);\n\n\ttransition: opacity 100ms linear;\n}\n.monaco-scrollable-element > .invisible {\n\topacity: 0;\n\tpointer-events: none;\n}\n.monaco-scrollable-element > .invisible.fade {\n\ttransition: opacity 800ms linear;\n}\n\n/* Scrollable Content Inset Shadow */\n.monaco-scrollable-element > .shadow {\n\tposition: absolute;\n\tdisplay: none;\n}\n.monaco-scrollable-element > .shadow.top {\n\tdisplay: block;\n\ttop: 0;\n\tleft: 3px;\n\theight: 3px;\n\twidth: 100%;\n\tbox-shadow: #DDD 0 6px 6px -6px inset;\n}\n.monaco-scrollable-element > .shadow.left {\n\tdisplay: block;\n\ttop: 3px;\n\tleft: 0;\n\theight: 100%;\n\twidth: 3px;\n\tbox-shadow: #DDD 6px 0 6px -6px inset;\n}\n.monaco-scrollable-element > .shadow.top-left-corner {\n\tdisplay: block;\n\ttop: 0;\n\tleft: 0;\n\theight: 3px;\n\twidth: 3px;\n}\n.monaco-scrollable-element > .shadow.top.left {\n\tbox-shadow: #DDD 6px 6px 6px -6px inset;\n}\n\n/* ---------- Default Style ---------- */\n\n:host-context(.vs) .monaco-scrollable-element > .scrollbar > .slider {\n\tbackground: rgba(100, 100, 100, .4);\n}\n:host-context(.vs-dark) .monaco-scrollable-element > .scrollbar > .slider {\n\tbackground: rgba(121, 121, 121, .4);\n}\n:host-context(.hc-black) .monaco-scrollable-element > .scrollbar > .slider {\n\tbackground: rgba(111, 195, 223, .6);\n}\n\n.monaco-scrollable-element > .scrollbar > .slider:hover {\n\tbackground: rgba(100, 100, 100, .7);\n}\n:host-context(.hc-black) .monaco-scrollable-element > .scrollbar > .slider:hover {\n\tbackground: rgba(111, 195, 223, .8);\n}\n\n.monaco-scrollable-element > .scrollbar > .slider.active {\n\tbackground: rgba(0, 0, 0, .6);\n}\n:host-context(.vs-dark) .monaco-scrollable-element > .scrollbar > .slider.active {\n\tbackground: rgba(191, 191, 191, .4);\n}\n:host-context(.hc-black) .monaco-scrollable-element > .scrollbar > .slider.active {\n\tbackground: rgba(111, 195, 223, 1);\n}\n\n:host-context(.vs-dark) .monaco-scrollable-element .shadow.top {\n\tbox-shadow: none;\n}\n\n:host-context(.vs-dark) .monaco-scrollable-element .shadow.left {\n\tbox-shadow: #000 6px 0 6px -6px inset;\n}\n\n:host-context(.vs-dark) .monaco-scrollable-element .shadow.top.left {\n\tbox-shadow: #000 6px 6px 6px -6px inset;\n}\n\n:host-context(.hc-black) .monaco-scrollable-element .shadow.top {\n\tbox-shadow: none;\n}\n\n:host-context(.hc-black) .monaco-scrollable-element .shadow.left {\n\tbox-shadow: none;\n}\n\n:host-context(.hc-black) .monaco-scrollable-element .shadow.top.left {\n\tbox-shadow: none;\n}\n`; + var Br = i(88810), + Wr = i(4850); + class Yr { + constructor(e, t, i, n, r) { + (this.contextViewService = e), + (this.telemetryService = t), + (this.notificationService = i), + (this.keybindingService = n), + (this.themeService = r), + (this.focusToReturn = null), + (this.block = null), + (this.options = { blockMouse: !0 }); + } + configure(e) { + this.options = e; + } + showContextMenu(e) { + const t = e.getActions(); + if (!t.length) return; + let i; + this.focusToReturn = document.activeElement; + let n = (0, G.Re)(e.domForShadowRoot) ? e.domForShadowRoot : void 0; + this.contextViewService.showContextView( + { + getAnchor: () => e.getAnchor(), + canRelayout: !1, + anchorAlignment: e.anchorAlignment, + render: (n) => { + let r = e.getMenuClassName ? e.getMenuClassName() : ''; + r && (n.className += ' ' + r), + this.options.blockMouse && + ((this.block = n.appendChild( + (0, G.$)('.context-view-block') + )), + (this.block.style.position = 'fixed'), + (this.block.style.cursor = 'initial'), + (this.block.style.left = '0'), + (this.block.style.top = '0'), + (this.block.style.width = '100%'), + (this.block.style.height = '100%'), + (this.block.style.zIndex = '-1'), + (0, Wr.j)( + this.block, + G.tw.MOUSE_DOWN + )((e) => e.stopPropagation())); + const s = new _e.SL(), + o = e.actionRunner || new mr.Wi(); + return ( + o.onDidBeforeRun(this.onActionRun, this, s), + o.onDidRun(this.onDidActionRun, this, s), + (i = new Or(n, t, { + actionViewItemProvider: e.getActionViewItem, + context: e.getActionsContext + ? e.getActionsContext() + : null, + actionRunner: o, + getKeyBinding: e.getKeyBinding + ? e.getKeyBinding + : (e) => this.keybindingService.lookupKeybinding(e.id), + })), + s.add((0, Br.tj)(i, this.themeService)), + i.onDidCancel( + () => this.contextViewService.hideContextView(!0), + null, + s + ), + i.onDidBlur( + () => this.contextViewService.hideContextView(!0), + null, + s + ), + (0, Wr.j)(window, G.tw.BLUR)( + () => { + this.contextViewService.hideContextView(!0); + }, + null, + s + ), + (0, Wr.j)(window, G.tw.MOUSE_DOWN)( + (e) => { + if (e.defaultPrevented) return; + let t = new Mr.n(e), + i = t.target; + if (!t.rightButton) { + for (; i; ) { + if (i === n) return; + i = i.parentElement; + } + this.contextViewService.hideContextView(!0); + } + }, + null, + s + ), + (0, _e.F8)(s, i) + ); + }, + focus: () => { + i && i.focus(!!e.autoSelectFirstItem); + }, + onHide: (t) => { + e.onHide && e.onHide(!!t), + this.block && ((0, G.ZF)(this.block), (this.block = null)), + this.focusToReturn && this.focusToReturn.focus(); + }, + }, + n, + !!n + ); + } + onActionRun(e) { + this.telemetryService && + this.telemetryService.publicLog2('workbenchActionExecuted', { + id: e.action.id, + from: 'contextMenu', + }), + this.contextViewService.hideContextView(!1), + this.focusToReturn && this.focusToReturn.focus(); + } + onDidActionRun(e) { + e.error && + this.notificationService && + this.notificationService.error(e.error); + } + } + var Hr = i(10829), + jr = function (e, t) { + return function (i, n) { + t(i, n, e); + }; + }; + let Vr = class extends _e.JT { + constructor(e, t, i, n, r) { + super(), + (this._onDidContextMenu = this._register(new B.Q5())), + (this.onDidContextMenu = this._onDidContextMenu.event), + (this.contextMenuHandler = new Yr(i, e, t, n, r)); + } + configure(e) { + this.contextMenuHandler.configure(e); + } + showContextMenu(e) { + this.contextMenuHandler.showContextMenu(e), + this._onDidContextMenu.fire(); + } + }; + Vr = (function (e, t, i, n) { + var r, + s = arguments.length, + o = + s < 3 + ? t + : null === n + ? (n = Object.getOwnPropertyDescriptor(t, i)) + : n; + if ( + 'object' == typeof Reflect && + 'function' == typeof Reflect.decorate + ) + o = Reflect.decorate(e, t, i, n); + else + for (var a = e.length - 1; a >= 0; a--) + (r = e[a]) && + (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); + return s > 3 && o && Object.defineProperty(t, i, o), o; + })( + [jr(0, Hr.b), jr(1, pi.lT), jr(2, zi.u), jr(3, $i.d), jr(4, Ki.XE)], + Vr + ); + const zr = (0, Ui.yh)('layoutService'); + let Ur = class extends _e.JT { + constructor(e) { + super(), + (this.layoutService = e), + (this.currentViewDisposable = _e.JT.None), + (this.container = e.container), + (this.contextView = this._register(new Cr(this.container, 1))), + this.layout(), + this._register(e.onLayout(() => this.layout())); + } + setContainer(e, t) { + this.contextView.setContainer(e, t || 1); + } + showContextView(e, t, i) { + t + ? t !== this.container && + ((this.container = t), this.setContainer(t, i ? 3 : 2)) + : this.container !== this.layoutService.container && + ((this.container = this.layoutService.container), + this.setContainer(this.container, 1)), + this.contextView.show(e); + const n = (0, _e.OF)(() => { + this.currentViewDisposable === n && this.hideContextView(); + }); + return (this.currentViewDisposable = n), n; + } + getContextViewElement() { + return this.contextView.getViewElement(); + } + layout() { + this.contextView.layout(); + } + hideContextView(e) { + this.contextView.hide(e); + } + }; + Ur = (function (e, t, i, n) { + var r, + s = arguments.length, + o = + s < 3 + ? t + : null === n + ? (n = Object.getOwnPropertyDescriptor(t, i)) + : n; + if ( + 'object' == typeof Reflect && + 'function' == typeof Reflect.decorate + ) + o = Reflect.decorate(e, t, i, n); + else + for (var a = e.length - 1; a >= 0; a--) + (r = e[a]) && + (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); + return s > 3 && o && Object.defineProperty(t, i, o), o; + })( + [ + (function (e, t) { + return function (i, n) { + t(i, n, e); + }; + })(0, zr), + ], + Ur + ); + var $r = i(28820); + class Kr { + constructor(e) { + (this.incoming = new Map()), + (this.outgoing = new Map()), + (this.data = e); + } + } + class qr { + constructor(e) { + (this._hashFn = e), (this._nodes = new Map()); + } + roots() { + const e = []; + for (let t of this._nodes.values()) + 0 === t.outgoing.size && e.push(t); + return e; + } + insertEdge(e, t) { + const i = this.lookupOrInsertNode(e), + n = this.lookupOrInsertNode(t); + i.outgoing.set(this._hashFn(t), n), + n.incoming.set(this._hashFn(e), i); + } + removeNode(e) { + const t = this._hashFn(e); + this._nodes.delete(t); + for (let e of this._nodes.values()) + e.outgoing.delete(t), e.incoming.delete(t); + } + lookupOrInsertNode(e) { + const t = this._hashFn(e); + let i = this._nodes.get(t); + return i || ((i = new Kr(e)), this._nodes.set(t, i)), i; + } + isEmpty() { + return 0 === this._nodes.size; + } + toString() { + let e = []; + for (let [t, i] of this._nodes) + e.push( + `${t}, (incoming)[${[...i.incoming.keys()].join( + ', ' + )}], (outgoing)[${[...i.outgoing.keys()].join(',')}]` + ); + return e.join('\n'); + } + } + var Gr = i(97108), + Zr = i(60972); + class Jr extends Error { + constructor(e) { + super('cyclic dependency between services'), + (this.message = e.toString()); + } + } + class Qr { + constructor(e = new Zr.y(), t = !1, i) { + (this._services = e), + (this._strict = t), + (this._parent = i), + this._services.set(Ui.TG, this); + } + createChild(e) { + return new Qr(e, this._strict, this); + } + invokeFunction(e, ...t) { + let i = Xr.traceInvocation(e), + n = !1; + try { + return e( + { + get: (e, t) => { + if (n) + throw (0, be.L6)( + 'service accessor is only valid during the invocation of its target method' + ); + const r = this._getOrCreateServiceInstance(e, i); + if (!r && t !== Ui.jt) + throw new Error( + `[invokeFunction] unknown service '${e}'` + ); + return r; + }, + }, + ...t + ); + } finally { + (n = !0), i.stop(); + } + } + createInstance(e, ...t) { + let i, n; + return ( + e instanceof Gr.M + ? ((i = Xr.traceCreation(e.ctor)), + (n = this._createInstance( + e.ctor, + e.staticArguments.concat(t), + i + ))) + : ((i = Xr.traceCreation(e)), + (n = this._createInstance(e, t, i))), + i.stop(), + n + ); + } + _createInstance(e, t = [], i) { + let n = Ui.I8.getServiceDependencies(e).sort( + (e, t) => e.index - t.index + ), + r = []; + for (const t of n) { + let n = this._getOrCreateServiceInstance(t.id, i); + if (!n && this._strict && !t.optional) + throw new Error( + `[createInstance] ${e.name} depends on UNKNOWN service ${t.id}.` + ); + r.push(n); + } + let s = n.length > 0 ? n[0].index : t.length; + if (t.length !== s) { + console.warn( + `[createInstance] First service dependency of ${ + e.name + } at position ${s + 1} conflicts with ${ + t.length + } static arguments` + ); + let i = s - t.length; + t = i > 0 ? t.concat(new Array(i)) : t.slice(0, s); + } + return new e(...[...t, ...r]); + } + _setServiceInstance(e, t) { + if (this._services.get(e) instanceof Gr.M) this._services.set(e, t); + else { + if (!this._parent) + throw new Error( + 'illegalState - setting UNKNOWN service instance' + ); + this._parent._setServiceInstance(e, t); + } + } + _getServiceInstanceOrDescriptor(e) { + let t = this._services.get(e); + return !t && this._parent + ? this._parent._getServiceInstanceOrDescriptor(e) + : t; + } + _getOrCreateServiceInstance(e, t) { + let i = this._getServiceInstanceOrDescriptor(e); + return i instanceof Gr.M + ? this._createAndCacheServiceInstance(e, i, t.branch(e, !0)) + : (t.branch(e, !1), i); + } + _createAndCacheServiceInstance(e, t, i) { + const n = new qr((e) => e.id.toString()); + let r = 0; + const s = [{ id: e, desc: t, _trace: i }]; + for (; s.length; ) { + const t = s.pop(); + if ((n.lookupOrInsertNode(t), r++ > 1e3)) throw new Jr(n); + for (let i of Ui.I8.getServiceDependencies(t.desc.ctor)) { + let r = this._getServiceInstanceOrDescriptor(i.id); + if ( + (r || + i.optional || + console.warn( + `[createInstance] ${e} depends on ${i.id} which is NOT registered.` + ), + r instanceof Gr.M) + ) { + const e = { + id: i.id, + desc: r, + _trace: t._trace.branch(i.id, !0), + }; + n.insertEdge(t, e), s.push(e); + } + } + } + for (;;) { + const e = n.roots(); + if (0 === e.length) { + if (!n.isEmpty()) throw new Jr(n); + break; + } + for (const { data: t } of e) { + const e = this._createServiceInstanceWithOwner( + t.id, + t.desc.ctor, + t.desc.staticArguments, + t.desc.supportsDelayedInstantiation, + t._trace + ); + this._setServiceInstance(t.id, e), n.removeNode(t); + } + } + return this._getServiceInstanceOrDescriptor(e); + } + _createServiceInstanceWithOwner(e, t, i = [], n, r) { + if (this._services.get(e) instanceof Gr.M) + return this._createServiceInstance(t, i, n, r); + if (this._parent) + return this._parent._createServiceInstanceWithOwner( + e, + t, + i, + n, + r + ); + throw new Error( + `illegalState - creating UNKNOWN service instance ${t.name}` + ); + } + _createServiceInstance(e, t = [], i, n) { + if (i) { + const i = new me.Ue(() => this._createInstance(e, t, n)); + return new Proxy(Object.create(null), { + get(e, t) { + if (t in e) return e[t]; + let n = i.value, + r = n[t]; + return ( + 'function' != typeof r || ((r = r.bind(n)), (e[t] = r)), r + ); + }, + set: (e, t, n) => ((i.value[t] = n), !0), + }); + } + return this._createInstance(e, t, n); + } + } + class Xr { + constructor(e, t) { + (this.type = e), + (this.name = t), + (this._start = Date.now()), + (this._dep = []); + } + static traceInvocation(e) { + return Xr._None; + } + static traceCreation(e) { + return Xr._None; + } + branch(e, t) { + let i = new Xr(2, e.toString()); + return this._dep.push([e, t, i]), i; + } + stop() { + let e = Date.now() - this._start; + Xr._totals += e; + let t = !1, + i = [ + `${0 === this.type ? 'CREATE' : 'CALL'} ${this.name}`, + `${(function e(i, n) { + let r = [], + s = new Array(i + 1).join('\t'); + for (const [o, a, l] of n._dep) + if (a && l) { + (t = !0), r.push(`${s}CREATES -> ${o}`); + let n = e(i + 1, l); + n && r.push(n); + } else r.push(`${s}uses -> ${o}`); + return r.join('\n'); + })(1, this)}`, + `DONE, took ${e.toFixed(2)}ms (grand total ${Xr._totals.toFixed( + 2 + )}ms)`, + ]; + (e > 2 || t) && console.log(i.join('\n')); + } + } + (Xr._None = new (class extends Xr { + constructor() { + super(-1, null); + } + stop() {} + branch() { + return this; + } + })()), + (Xr._totals = 0); + var es = i(44349), + ts = i(58664), + is = i(98674), + ns = i(53725); + class rs { + constructor() { + (this._byResource = new Gt.Y9()), (this._byOwner = new Map()); + } + set(e, t, i) { + let n = this._byResource.get(e); + n || ((n = new Map()), this._byResource.set(e, n)), n.set(t, i); + let r = this._byOwner.get(t); + r || ((r = new Gt.Y9()), this._byOwner.set(t, r)), r.set(e, i); + } + get(e, t) { + let i = this._byResource.get(e); + return null == i ? void 0 : i.get(t); + } + delete(e, t) { + let i = !1, + n = !1, + r = this._byResource.get(e); + r && (i = r.delete(t)); + let s = this._byOwner.get(t); + if ((s && (n = s.delete(e)), i !== n)) + throw new Error('illegal state'); + return i && n; + } + values(e) { + var t, i, n, r; + return 'string' == typeof e + ? null !== + (i = + null === (t = this._byOwner.get(e)) || void 0 === t + ? void 0 + : t.values()) && void 0 !== i + ? i + : ns.$.empty() + : Y.o.isUri(e) + ? null !== + (r = + null === (n = this._byResource.get(e)) || void 0 === n + ? void 0 + : n.values()) && void 0 !== r + ? r + : ns.$.empty() + : ns.$.map(ns.$.concat(...this._byOwner.values()), (e) => e[1]); + } + } + class ss { + constructor(e) { + (this.errors = 0), + (this.infos = 0), + (this.warnings = 0), + (this.unknowns = 0), + (this._data = new Gt.Y9()), + (this._service = e), + (this._subscription = e.onMarkerChanged(this._update, this)); + } + dispose() { + this._subscription.dispose(); + } + _update(e) { + for (const t of e) { + const e = this._data.get(t); + e && this._substract(e); + const i = this._resourceStats(t); + this._add(i), this._data.set(t, i); + } + } + _resourceStats(e) { + const t = { errors: 0, warnings: 0, infos: 0, unknowns: 0 }; + if ( + e.scheme === Q.l.inMemory || + e.scheme === Q.l.walkThrough || + e.scheme === Q.l.walkThroughSnippet + ) + return t; + for (const { severity: i } of this._service.read({ resource: e })) + i === is.ZL.Error + ? (t.errors += 1) + : i === is.ZL.Warning + ? (t.warnings += 1) + : i === is.ZL.Info + ? (t.infos += 1) + : (t.unknowns += 1); + return t; + } + _substract(e) { + (this.errors -= e.errors), + (this.warnings -= e.warnings), + (this.infos -= e.infos), + (this.unknowns -= e.unknowns); + } + _add(e) { + (this.errors += e.errors), + (this.warnings += e.warnings), + (this.infos += e.infos), + (this.unknowns += e.unknowns); + } + } + class os { + constructor() { + (this._onMarkerChanged = new B.Q5()), + (this.onMarkerChanged = B.ju.debounce( + this._onMarkerChanged.event, + os._debouncer, + 0 + )), + (this._data = new rs()), + (this._stats = new ss(this)); + } + dispose() { + this._stats.dispose(); + } + remove(e, t) { + for (const i of t || []) this.changeOne(e, i, []); + } + changeOne(e, t, i) { + if ((0, De.XY)(i)) + this._data.delete(t, e) && this._onMarkerChanged.fire([t]); + else { + const n = []; + for (const r of i) { + const i = os._toMarker(e, t, r); + i && n.push(i); + } + this._data.set(t, e, n), this._onMarkerChanged.fire([t]); + } + } + static _toMarker(e, t, i) { + let { + code: n, + severity: r, + message: s, + source: o, + startLineNumber: a, + startColumn: l, + endLineNumber: c, + endColumn: d, + relatedInformation: h, + tags: u, + } = i; + if (s) + return ( + (a = a > 0 ? a : 1), + (l = l > 0 ? l : 1), + (c = c >= a ? c : a), + (d = d > 0 ? d : l), + { + resource: t, + owner: e, + code: n, + severity: r, + message: s, + source: o, + startLineNumber: a, + startColumn: l, + endLineNumber: c, + endColumn: d, + relatedInformation: h, + tags: u, + } + ); + } + read(e = Object.create(null)) { + let { owner: t, resource: i, severities: n, take: r } = e; + if (((!r || r < 0) && (r = -1), t && i)) { + const e = this._data.get(i, t); + if (e) { + const t = []; + for (const i of e) + if (os._accept(i, n)) { + const e = t.push(i); + if (r > 0 && e === r) break; + } + return t; + } + return []; + } + if (t || i) { + const e = this._data.values(null != i ? i : t), + s = []; + for (const t of e) + for (const e of t) + if (os._accept(e, n)) { + const t = s.push(e); + if (r > 0 && t === r) return s; + } + return s; + } + { + const e = []; + for (let t of this._data.values()) + for (let i of t) + if (os._accept(i, n)) { + const t = e.push(i); + if (r > 0 && t === r) return e; + } + return e; + } + } + static _accept(e, t) { + return void 0 === t || (t & e.severity) === e.severity; + } + static _debouncer(e, t) { + e || ((os._dedupeMap = new Gt.Y9()), (e = [])); + for (const i of t) + os._dedupeMap.has(i) || (os._dedupeMap.set(i, !0), e.push(i)); + return e; + } + } + var as = i(52365), + ls = function (e, t, i, n) { + var r, + s = arguments.length, + o = + s < 3 + ? t + : null === n + ? (n = Object.getOwnPropertyDescriptor(t, i)) + : n; + if ( + 'object' == typeof Reflect && + 'function' == typeof Reflect.decorate + ) + o = Reflect.decorate(e, t, i, n); + else + for (var a = e.length - 1; a >= 0; a--) + (r = e[a]) && + (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); + return s > 3 && o && Object.defineProperty(t, i, o), o; + }, + cs = function (e, t) { + return function (i, n) { + t(i, n, e); + }; + }; + let ds = class { + constructor(e) { + this._commandService = e; + } + createMenu(e, t) { + return new hs(e, this._commandService, t, this); + } + }; + ds = ls([cs(0, ee.H)], ds); + let hs = class e { + constructor(e, t, i, n) { + (this._id = e), + (this._commandService = t), + (this._contextKeyService = i), + (this._menuService = n), + (this._onDidChange = new B.Q5()), + (this._dispoables = new _e.SL()), + (this._menuGroups = []), + (this._contextKeys = new Set()), + this._build(), + this._dispoables.add( + B.ju.debounce( + B.ju.filter(ji.BH.onDidChangeMenu, (e) => e.has(this._id)), + () => {}, + 50 + )(this._build, this) + ), + this._dispoables.add( + B.ju.debounce( + this._contextKeyService.onDidChangeContext, + (e, t) => e || t.affectsSome(this._contextKeys), + 50 + )((e) => e && this._onDidChange.fire(void 0), this) + ); + } + dispose() { + this._dispoables.dispose(), this._onDidChange.dispose(); + } + _build() { + (this._menuGroups.length = 0), this._contextKeys.clear(); + const t = ji.BH.getMenuItems(this._id); + let i; + t.sort(e._compareMenuItems); + for (let n of t) { + const t = n.group || ''; + if ( + ((i && i[0] === t) || ((i = [t, []]), this._menuGroups.push(i)), + i[1].push(n), + e._fillInKbExprKeys(n.when, this._contextKeys), + (0, ji.vr)(n) && + n.command.precondition && + e._fillInKbExprKeys( + n.command.precondition, + this._contextKeys + ), + (0, ji.vr)(n) && n.command.toggled) + ) { + const t = n.command.toggled.condition || n.command.toggled; + e._fillInKbExprKeys(t, this._contextKeys); + } + } + this._onDidChange.fire(this); + } + get onDidChange() { + return this._onDidChange.event; + } + getActions(e) { + const t = []; + for (let i of this._menuGroups) { + const [n, r] = i, + s = []; + for (const t of r) + if (this._contextKeyService.contextMatchesRules(t.when)) { + const i = (0, ji.vr)(t) + ? new ji.U8( + t.command, + t.alt, + e, + this._contextKeyService, + this._commandService + ) + : new ji.NZ( + t, + this._menuService, + this._contextKeyService, + e + ); + s.push(i); + } + s.length > 0 && t.push([n, s]); + } + return t; + } + static _fillInKbExprKeys(e, t) { + if (e) for (let i of e.keys()) t.add(i); + } + static _compareMenuItems(t, i) { + let n = t.group, + r = i.group; + if (n !== r) { + if (!n) return 1; + if (!r) return -1; + if ('navigation' === n) return -1; + if ('navigation' === r) return 1; + let e = n.localeCompare(r); + if (0 !== e) return e; + } + let s = t.order || 0, + o = i.order || 0; + return s < o + ? -1 + : s > o + ? 1 + : e._compareTitles( + (0, ji.vr)(t) ? t.command.title : t.title, + (0, ji.vr)(i) ? i.command.title : i.title + ); + } + static _compareTitles(e, t) { + const i = 'string' == typeof e ? e : e.value, + n = 'string' == typeof t ? t : t.value; + return i.localeCompare(n); + } + }; + hs = ls([cs(1, ee.H), cs(2, Vi.i6), cs(3, ji.co)], hs); + var us = i(26479), + gs = function (e, t) { + return function (i, n) { + t(i, n, e); + }; + }; + function fs(e) { + return e.toString(); + } + class ps extends _e.JT { + constructor(e) { + super(), + (this.model = e), + (this._markersData = new Map()), + this._register( + (0, _e.OF)(() => { + this.model.deltaDecorations( + [...this._markersData.keys()], + [] + ), + this._markersData.clear(); + }) + ); + } + update(e, t) { + const i = [...this._markersData.keys()]; + this._markersData.clear(); + const n = this.model.deltaDecorations(i, t); + for (let t = 0; t < n.length; t++) + this._markersData.set(n[t], e[t]); + return 0 !== i.length || 0 !== n.length; + } + getMarker(e) { + return this._markersData.get(e.id); + } + } + let ms = class extends _e.JT { + constructor(e, t) { + super(), + (this._markerService = t), + (this._onDidChangeMarker = this._register(new B.Q5())), + (this._markerDecorations = new Map()), + e.getModels().forEach((e) => this._onModelAdded(e)), + this._register(e.onModelAdded(this._onModelAdded, this)), + this._register(e.onModelRemoved(this._onModelRemoved, this)), + this._register( + this._markerService.onMarkerChanged( + this._handleMarkerChange, + this + ) + ); + } + dispose() { + super.dispose(), + this._markerDecorations.forEach((e) => e.dispose()), + this._markerDecorations.clear(); + } + getMarker(e, t) { + const i = this._markerDecorations.get(fs(e.uri)); + return (i && i.getMarker(t)) || null; + } + _handleMarkerChange(e) { + e.forEach((e) => { + const t = this._markerDecorations.get(fs(e)); + t && this._updateDecorations(t); + }); + } + _onModelAdded(e) { + const t = new ps(e); + this._markerDecorations.set(fs(e.uri), t), + this._updateDecorations(t); + } + _onModelRemoved(e) { + const t = this._markerDecorations.get(fs(e.uri)); + t && (t.dispose(), this._markerDecorations.delete(fs(e.uri))), + (e.uri.scheme !== Q.l.inMemory && + e.uri.scheme !== Q.l.internal && + e.uri.scheme !== Q.l.vscode) || + (this._markerService && + this._markerService + .read({ resource: e.uri }) + .map((e) => e.owner) + .forEach((t) => this._markerService.remove(t, [e.uri]))); + } + _updateDecorations(e) { + const t = this._markerService.read({ + resource: e.model.uri, + take: 500, + }); + let i = t.map((t) => ({ + range: this._createDecorationRange(e.model, t), + options: this._createDecorationOption(t), + })); + e.update(t, i) && this._onDidChangeMarker.fire(e.model); + } + _createDecorationRange(e, t) { + let i = j.e.lift(t); + if ( + (t.severity !== is.ZL.Hint || + this._hasMarkerTag(t, 1) || + this._hasMarkerTag(t, 2) || + (i = i.setEndPosition(i.startLineNumber, i.startColumn + 2)), + (i = e.validateRange(i)), + i.isEmpty()) + ) { + let t = e.getWordAtPosition(i.getStartPosition()); + if (t) + i = new j.e( + i.startLineNumber, + t.startColumn, + i.endLineNumber, + t.endColumn + ); + else { + let t = + e.getLineLastNonWhitespaceColumn(i.startLineNumber) || + e.getLineMaxColumn(i.startLineNumber); + 1 === t || + (i = + i.endColumn >= t + ? new j.e(i.startLineNumber, t - 1, i.endLineNumber, t) + : new j.e( + i.startLineNumber, + i.startColumn, + i.endLineNumber, + i.endColumn + 1 + )); + } + } else if ( + t.endColumn === Number.MAX_VALUE && + 1 === t.startColumn && + i.startLineNumber === i.endLineNumber + ) { + let n = e.getLineFirstNonWhitespaceColumn(t.startLineNumber); + n < i.endColumn && + ((i = new j.e( + i.startLineNumber, + n, + i.endLineNumber, + i.endColumn + )), + (t.startColumn = n)); + } + return i; + } + _createDecorationOption(e) { + let t, i, n, r, s; + switch (e.severity) { + case is.ZL.Hint: + (t = this._hasMarkerTag(e, 2) + ? void 0 + : this._hasMarkerTag(e, 1) + ? 'squiggly-unnecessary' + : 'squiggly-hint'), + (n = 0); + break; + case is.ZL.Warning: + (t = 'squiggly-warning'), + (i = (0, Ki.EN)(Vn.Re)), + (n = 20), + (s = { color: (0, Ki.EN)(zn.Iv), position: he.F5.Inline }); + break; + case is.ZL.Info: + (t = 'squiggly-info'), (i = (0, Ki.EN)(Vn.eS)), (n = 10); + break; + case is.ZL.Error: + default: + (t = 'squiggly-error'), + (i = (0, Ki.EN)(Vn.lK)), + (n = 30), + (s = { color: (0, Ki.EN)(zn.Gj), position: he.F5.Inline }); + } + return ( + e.tags && + (-1 !== e.tags.indexOf(1) && + (r = 'squiggly-inline-unnecessary'), + -1 !== e.tags.indexOf(2) && (r = 'squiggly-inline-deprecated')), + { + stickiness: 1, + className: t, + showIfCollapsed: !0, + overviewRuler: { color: i, position: he.sh.Right }, + minimap: s, + zIndex: n, + inlineClassName: r, + } + ); + } + _hasMarkerTag(e, t) { + return !!e.tags && e.tags.indexOf(t) >= 0; + } + }; + ms = (function (e, t, i, n) { + var r, + s = arguments.length, + o = + s < 3 + ? t + : null === n + ? (n = Object.getOwnPropertyDescriptor(t, i)) + : n; + if ( + 'object' == typeof Reflect && + 'function' == typeof Reflect.decorate + ) + o = Reflect.decorate(e, t, i, n); + else + for (var a = e.length - 1; a >= 0; a--) + (r = e[a]) && + (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); + return s > 3 && o && Object.defineProperty(t, i, o), o; + })([gs(0, st.q), gs(1, is.lT)], ms); + var _s = i(65026), + bs = function (e, t) { + return function (i, n) { + t(i, n, e); + }; + }; + let vs = class extends _e.JT { + constructor(e, t) { + super(), + (this._contextKeyService = e), + (this._configurationService = t), + (this._accessibilitySupport = 0), + (this._onDidChangeScreenReaderOptimized = new B.Q5()), + (this._accessibilityModeEnabledContext = qi.U.bindTo( + this._contextKeyService + )); + const i = () => + this._accessibilityModeEnabledContext.set( + this.isScreenReaderOptimized() + ); + this._register( + this._configurationService.onDidChangeConfiguration((e) => { + e.affectsConfiguration('editor.accessibilitySupport') && + (i(), this._onDidChangeScreenReaderOptimized.fire()); + }) + ), + i(), + this.onDidChangeScreenReaderOptimized(() => i()); + } + get onDidChangeScreenReaderOptimized() { + return this._onDidChangeScreenReaderOptimized.event; + } + isScreenReaderOptimized() { + const e = this._configurationService.getValue( + 'editor.accessibilitySupport' + ); + return ( + 'on' === e || ('auto' === e && 2 === this._accessibilitySupport) + ); + } + getAccessibilitySupport() { + return this._accessibilitySupport; + } + }; + vs = (function (e, t, i, n) { + var r, + s = arguments.length, + o = + s < 3 + ? t + : null === n + ? (n = Object.getOwnPropertyDescriptor(t, i)) + : n; + if ( + 'object' == typeof Reflect && + 'function' == typeof Reflect.decorate + ) + o = Reflect.decorate(e, t, i, n); + else + for (var a = e.length - 1; a >= 0; a--) + (r = e[a]) && + (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); + return s > 3 && o && Object.defineProperty(t, i, o), o; + })([bs(0, Vi.i6), bs(1, qt.Ui)], vs); + var ys = function (e, t, i, n) { + return new (i || (i = Promise))(function (r, s) { + function o(e) { + try { + l(n.next(e)); + } catch (e) { + s(e); + } + } + function a(e) { + try { + l(n.throw(e)); + } catch (e) { + s(e); + } + } + function l(e) { + var t; + e.done + ? r(e.value) + : ((t = e.value), + t instanceof i + ? t + : new i(function (e) { + e(t); + })).then(o, a); + } + l((n = n.apply(e, t || [])).next()); + }); + }; + class ws { + constructor() { + (this.mapTextToType = new Map()), (this.findText = ''); + } + writeText(e, t) { + return ys(this, void 0, void 0, function* () { + if (t) return void this.mapTextToType.set(t, e); + try { + return yield navigator.clipboard.writeText(e); + } catch (e) { + console.error(e); + } + const i = document.activeElement, + n = document.body.appendChild( + (0, G.$)('textarea', { 'aria-hidden': !0 }) + ); + (n.style.height = '1px'), + (n.style.width = '1px'), + (n.style.position = 'absolute'), + (n.value = e), + n.focus(), + n.select(), + document.execCommand('copy'), + i instanceof HTMLElement && i.focus(), + document.body.removeChild(n); + }); + } + readText(e) { + return ys(this, void 0, void 0, function* () { + if (e) return this.mapTextToType.get(e) || ''; + try { + return yield navigator.clipboard.readText(); + } catch (e) { + return console.error(e), ''; + } + }); + } + readFindText() { + return ys(this, void 0, void 0, function* () { + return this.findText; + }); + } + writeFindText(e) { + return ys(this, void 0, void 0, function* () { + this.findText = e; + }); + } + } + var Cs = i(64862), + Ss = function (e, t) { + return function (i, n) { + t(i, n, e); + }; + }, + ks = function (e, t, i, n) { + return new (i || (i = Promise))(function (r, s) { + function o(e) { + try { + l(n.next(e)); + } catch (e) { + s(e); + } + } + function a(e) { + try { + l(n.throw(e)); + } catch (e) { + s(e); + } + } + function l(e) { + var t; + e.done + ? r(e.value) + : ((t = e.value), + t instanceof i + ? t + : new i(function (e) { + e(t); + })).then(o, a); + } + l((n = n.apply(e, t || [])).next()); + }); + }; + function xs(e) { + return e.scheme === Q.l.file ? e.fsPath : e.path; + } + let Ls = 0; + class Ms { + constructor(e, t, i) { + (this.id = ++Ls), + (this.type = 0), + (this.actual = e), + (this.label = e.label), + (this.resourceLabel = t), + (this.strResource = i), + (this.resourceLabels = [this.resourceLabel]), + (this.strResources = [this.strResource]), + (this.isValid = !0); + } + setValid(e) { + this.isValid = e; + } + toString() { + return `[${this.id}] [${this.isValid ? 'VALID' : 'INVALID'}] ${ + this.actual + }`; + } + } + class Ds { + constructor(e, t) { + (this.resourceLabel = e), (this.reason = t); + } + } + class Ns { + constructor() { + this.elements = new Map(); + } + createMessage() { + const e = [], + t = []; + for (const [, i] of this.elements) + (0 === i.reason ? e : t).push(i.resourceLabel); + let i = []; + return ( + e.length > 0 && + i.push( + ii.N( + { + key: 'externalRemoval', + comment: ['{0} is a list of filenames'], + }, + 'The following files have been closed and modified on disk: {0}.', + e.join(', ') + ) + ), + t.length > 0 && + i.push( + ii.N( + { + key: 'noParallelUniverses', + comment: ['{0} is a list of filenames'], + }, + 'The following files have been modified in an incompatible way: {0}.', + t.join(', ') + ) + ), + i.join('\n') + ); + } + get size() { + return this.elements.size; + } + has(e) { + return this.elements.has(e); + } + set(e, t) { + this.elements.set(e, t); + } + delete(e) { + return this.elements.delete(e); + } + } + class Es { + constructor(e, t, i) { + (this.id = ++Ls), + (this.type = 1), + (this.actual = e), + (this.label = e.label), + (this.resourceLabels = t), + (this.strResources = i), + (this.removedResources = null), + (this.invalidatedResources = null); + } + canSplit() { + return 'function' == typeof this.actual.split; + } + removeResource(e, t, i) { + this.removedResources || (this.removedResources = new Ns()), + this.removedResources.has(t) || + this.removedResources.set(t, new Ds(e, i)); + } + setValid(e, t, i) { + i + ? this.invalidatedResources && + (this.invalidatedResources.delete(t), + 0 === this.invalidatedResources.size && + (this.invalidatedResources = null)) + : (this.invalidatedResources || + (this.invalidatedResources = new Ns()), + this.invalidatedResources.has(t) || + this.invalidatedResources.set(t, new Ds(e, 0))); + } + toString() { + return `[${this.id}] [${ + this.invalidatedResources ? 'INVALID' : 'VALID' + }] ${this.actual}`; + } + } + class Ts { + constructor(e, t) { + (this.resourceLabel = e), + (this.strResource = t), + (this._past = []), + (this._future = []), + (this.locked = !1), + (this.versionId = 1); + } + dispose() { + for (const e of this._past) + 1 === e.type && + e.removeResource(this.resourceLabel, this.strResource, 0); + for (const e of this._future) + 1 === e.type && + e.removeResource(this.resourceLabel, this.strResource, 0); + this.versionId++; + } + toString() { + let e = []; + e.push(`* ${this.strResource}:`); + for (let t = 0; t < this._past.length; t++) + e.push(` * [UNDO] ${this._past[t]}`); + for (let t = this._future.length - 1; t >= 0; t--) + e.push(` * [REDO] ${this._future[t]}`); + return e.join('\n'); + } + flushAllElements() { + (this._past = []), (this._future = []), this.versionId++; + } + _setElementValidFlag(e, t) { + 1 === e.type + ? e.setValid(this.resourceLabel, this.strResource, t) + : e.setValid(t); + } + setElementsValidFlag(e, t) { + for (const i of this._past) + t(i.actual) && this._setElementValidFlag(i, e); + for (const i of this._future) + t(i.actual) && this._setElementValidFlag(i, e); + } + pushElement(e) { + for (const e of this._future) + 1 === e.type && + e.removeResource(this.resourceLabel, this.strResource, 1); + if (((this._future = []), this._past.length > 0)) { + const e = this._past[this._past.length - 1]; + 0 !== e.type || e.isValid || (this._past = []); + } + this._past.push(e), this.versionId++; + } + createSnapshot(e) { + const t = []; + for (let e = 0, i = this._past.length; e < i; e++) + t.push(this._past[e].id); + for (let e = this._future.length - 1; e >= 0; e--) + t.push(this._future[e].id); + return new Cs.Y(e, t); + } + restoreSnapshot(e) { + const t = e.elements.length; + let i = !0, + n = 0, + r = -1; + for (let s = 0, o = this._past.length; s < o; s++, n++) { + const o = this._past[s]; + i && (n >= t || o.id !== e.elements[n]) && ((i = !1), (r = 0)), + i || + 1 !== o.type || + o.removeResource(this.resourceLabel, this.strResource, 0); + } + let s = -1; + for (let r = this._future.length - 1; r >= 0; r--, n++) { + const o = this._future[r]; + i && (n >= t || o.id !== e.elements[n]) && ((i = !1), (s = r)), + i || + 1 !== o.type || + o.removeResource(this.resourceLabel, this.strResource, 0); + } + -1 !== r && (this._past = this._past.slice(0, r)), + -1 !== s && (this._future = this._future.slice(s + 1)), + this.versionId++; + } + getElements() { + const e = [], + t = []; + for (const t of this._past) e.push(t.actual); + for (const e of this._future) t.push(e.actual); + return { past: e, future: t }; + } + getClosestPastElement() { + return 0 === this._past.length + ? null + : this._past[this._past.length - 1]; + } + getClosestFutureElement() { + return 0 === this._future.length + ? null + : this._future[this._future.length - 1]; + } + hasPastElements() { + return this._past.length > 0; + } + hasFutureElements() { + return this._future.length > 0; + } + splitPastWorkspaceElement(e, t) { + for (let i = this._past.length - 1; i >= 0; i--) + if (this._past[i] === e) { + t.has(this.strResource) + ? (this._past[i] = t.get(this.strResource)) + : this._past.splice(i, 1); + break; + } + this.versionId++; + } + splitFutureWorkspaceElement(e, t) { + for (let i = this._future.length - 1; i >= 0; i--) + if (this._future[i] === e) { + t.has(this.strResource) + ? (this._future[i] = t.get(this.strResource)) + : this._future.splice(i, 1); + break; + } + this.versionId++; + } + moveBackward(e) { + this._past.pop(), this._future.push(e), this.versionId++; + } + moveForward(e) { + this._future.pop(), this._past.push(e), this.versionId++; + } + } + class Is { + constructor(e) { + (this.editStacks = e), (this._versionIds = []); + for (let e = 0, t = this.editStacks.length; e < t; e++) + this._versionIds[e] = this.editStacks[e].versionId; + } + isValid() { + for (let e = 0, t = this.editStacks.length; e < t; e++) + if (this._versionIds[e] !== this.editStacks[e].versionId) + return !1; + return !0; + } + } + const Os = new Ts('', ''); + Os.locked = !0; + let As = class { + constructor(e, t) { + (this._dialogService = e), + (this._notificationService = t), + (this._editStacks = new Map()), + (this._uriComparisonKeyComputers = []); + } + getUriComparisonKey(e) { + for (const t of this._uriComparisonKeyComputers) + if (t[0] === e.scheme) return t[1].getComparisonKey(e); + return e.toString(); + } + _print(e) { + console.log('------------------------------------'), + console.log(`AFTER ${e}: `); + let t = []; + for (const e of this._editStacks) t.push(e[1].toString()); + console.log(t.join('\n')); + } + pushElement(e) { + if (0 === e.type) { + const t = xs(e.resource), + i = this.getUriComparisonKey(e.resource); + this._pushElement(new Ms(e, t, i)); + } else { + const t = new Set(), + i = [], + n = []; + for (const r of e.resources) { + const e = xs(r), + s = this.getUriComparisonKey(r); + t.has(s) || (t.add(s), i.push(e), n.push(s)); + } + 1 === i.length + ? this._pushElement(new Ms(e, i[0], n[0])) + : this._pushElement(new Es(e, i, n)); + } + } + _pushElement(e) { + for (let t = 0, i = e.strResources.length; t < i; t++) { + const i = e.resourceLabels[t], + n = e.strResources[t]; + let r; + this._editStacks.has(n) + ? (r = this._editStacks.get(n)) + : ((r = new Ts(i, n)), this._editStacks.set(n, r)), + r.pushElement(e); + } + } + getLastElement(e) { + const t = this.getUriComparisonKey(e); + if (this._editStacks.has(t)) { + const e = this._editStacks.get(t); + if (e.hasFutureElements()) return null; + const i = e.getClosestPastElement(); + return i ? i.actual : null; + } + return null; + } + _splitPastWorkspaceElement(e, t) { + const i = e.actual.split(), + n = new Map(); + for (const e of i) { + const t = xs(e.resource), + i = this.getUriComparisonKey(e.resource), + r = new Ms(e, t, i); + n.set(r.strResource, r); + } + for (const i of e.strResources) + (t && t.has(i)) || + this._editStacks.get(i).splitPastWorkspaceElement(e, n); + } + _splitFutureWorkspaceElement(e, t) { + const i = e.actual.split(), + n = new Map(); + for (const e of i) { + const t = xs(e.resource), + i = this.getUriComparisonKey(e.resource), + r = new Ms(e, t, i); + n.set(r.strResource, r); + } + for (const i of e.strResources) + (t && t.has(i)) || + this._editStacks.get(i).splitFutureWorkspaceElement(e, n); + } + removeElements(e) { + const t = 'string' == typeof e ? e : this.getUriComparisonKey(e); + this._editStacks.has(t) && + (this._editStacks.get(t).dispose(), this._editStacks.delete(t)); + } + setElementsValidFlag(e, t, i) { + const n = this.getUriComparisonKey(e); + this._editStacks.has(n) && + this._editStacks.get(n).setElementsValidFlag(t, i); + } + createSnapshot(e) { + const t = this.getUriComparisonKey(e); + return this._editStacks.has(t) + ? this._editStacks.get(t).createSnapshot(e) + : new Cs.Y(e, []); + } + restoreSnapshot(e) { + const t = this.getUriComparisonKey(e.resource); + if (this._editStacks.has(t)) { + const i = this._editStacks.get(t); + i.restoreSnapshot(e), + i.hasPastElements() || + i.hasFutureElements() || + (i.dispose(), this._editStacks.delete(t)); + } + } + getElements(e) { + const t = this.getUriComparisonKey(e); + return this._editStacks.has(t) + ? this._editStacks.get(t).getElements() + : { past: [], future: [] }; + } + canUndo(e) { + const t = this.getUriComparisonKey(e); + return ( + !!this._editStacks.has(t) && + this._editStacks.get(t).hasPastElements() + ); + } + _onError(e, t) { + (0, be.dL)(e); + for (const e of t.strResources) this.removeElements(e); + this._notificationService.error(e); + } + _acquireLocks(e) { + for (const t of e.editStacks) + if (t.locked) throw new Error('Cannot acquire edit stack lock'); + for (const t of e.editStacks) t.locked = !0; + return () => { + for (const t of e.editStacks) t.locked = !1; + }; + } + _safeInvokeWithLocks(e, t, i, n = _e.JT.None) { + const r = this._acquireLocks(i); + let s; + try { + s = t(); + } catch (t) { + return r(), n.dispose(), this._onError(t, e); + } + if (s) + return s.then( + () => { + r(), n.dispose(); + }, + (t) => (r(), n.dispose(), this._onError(t, e)) + ); + r(), n.dispose(); + } + _invokeWorkspacePrepare(e) { + return ks(this, void 0, void 0, function* () { + if (void 0 === e.actual.prepareUndoRedo) return _e.JT.None; + const t = e.actual.prepareUndoRedo(); + return void 0 === t ? _e.JT.None : t; + }); + } + _invokeResourcePrepare(e, t) { + if (1 !== e.actual.type || void 0 === e.actual.prepareUndoRedo) + return void t(_e.JT.None); + const i = e.actual.prepareUndoRedo(); + if (i) { + if (!(0, _e.Wf)(i)) + return i.then((e) => { + t(e); + }); + t(i); + } else t(_e.JT.None); + } + _getAffectedEditStacks(e) { + const t = []; + for (const i of e.strResources) + t.push(this._editStacks.get(i) || Os); + return new Is(t); + } + _tryToSplitAndUndo(e, t, i, n) { + if (t.canSplit()) + return ( + this._splitPastWorkspaceElement(t, i), + this._notificationService.info(n), + new Rs(this.undo(e)) + ); + for (const e of t.strResources) this.removeElements(e); + return this._notificationService.info(n), new Rs(); + } + _checkWorkspaceUndo(e, t, i, n) { + if (t.removedResources) + return this._tryToSplitAndUndo( + e, + t, + t.removedResources, + ii.N( + { + key: 'cannotWorkspaceUndo', + comment: [ + '{0} is a label for an operation. {1} is another message.', + ], + }, + "Could not undo '{0}' across all files. {1}", + t.label, + t.removedResources.createMessage() + ) + ); + if (n && t.invalidatedResources) + return this._tryToSplitAndUndo( + e, + t, + t.invalidatedResources, + ii.N( + { + key: 'cannotWorkspaceUndo', + comment: [ + '{0} is a label for an operation. {1} is another message.', + ], + }, + "Could not undo '{0}' across all files. {1}", + t.label, + t.invalidatedResources.createMessage() + ) + ); + const r = []; + for (const e of i.editStacks) + e.getClosestPastElement() !== t && r.push(e.resourceLabel); + if (r.length > 0) + return this._tryToSplitAndUndo( + e, + t, + null, + ii.N( + { + key: 'cannotWorkspaceUndoDueToChanges', + comment: [ + '{0} is a label for an operation. {1} is a list of filenames.', + ], + }, + "Could not undo '{0}' across all files because changes were made to {1}", + t.label, + r.join(', ') + ) + ); + const s = []; + for (const e of i.editStacks) e.locked && s.push(e.resourceLabel); + return s.length > 0 + ? this._tryToSplitAndUndo( + e, + t, + null, + ii.N( + { + key: 'cannotWorkspaceUndoDueToInProgressUndoRedo', + comment: [ + '{0} is a label for an operation. {1} is a list of filenames.', + ], + }, + "Could not undo '{0}' across all files because there is already an undo or redo operation running on {1}", + t.label, + s.join(', ') + ) + ) + : i.isValid() + ? null + : this._tryToSplitAndUndo( + e, + t, + null, + ii.N( + { + key: 'cannotWorkspaceUndoDueToInMeantimeUndoRedo', + comment: [ + '{0} is a label for an operation. {1} is a list of filenames.', + ], + }, + "Could not undo '{0}' across all files because an undo or redo operation occurred in the meantime", + t.label + ) + ); + } + _workspaceUndo(e, t) { + const i = this._getAffectedEditStacks(t), + n = this._checkWorkspaceUndo(e, t, i, !1); + return n + ? n.returnValue + : this._confirmAndExecuteWorkspaceUndo(e, t, i); + } + _confirmAndExecuteWorkspaceUndo(e, t, i) { + return ks(this, void 0, void 0, function* () { + if (t.canSplit()) { + const n = yield this._dialogService.show( + Vt.Z.Info, + ii.N( + 'confirmWorkspace', + "Would you like to undo '{0}' across all files?", + t.label + ), + [ + ii.N( + { + key: 'ok', + comment: ['{0} denotes a number that is > 1'], + }, + 'Undo in {0} Files', + i.editStacks.length + ), + ii.N('nok', 'Undo this File'), + ii.N('cancel', 'Cancel'), + ], + { cancelId: 2 } + ); + if (2 === n.choice) return; + if (1 === n.choice) + return this._splitPastWorkspaceElement(t, null), this.undo(e); + const r = this._checkWorkspaceUndo(e, t, i, !1); + if (r) return r.returnValue; + } + let n; + try { + n = yield this._invokeWorkspacePrepare(t); + } catch (e) { + return this._onError(e, t); + } + const r = this._checkWorkspaceUndo(e, t, i, !0); + if (r) return n.dispose(), r.returnValue; + for (const e of i.editStacks) e.moveBackward(t); + return this._safeInvokeWithLocks(t, () => t.actual.undo(), i, n); + }); + } + _resourceUndo(e, t) { + if (t.isValid) { + if (!e.locked) + return this._invokeResourcePrepare( + t, + (i) => ( + e.moveBackward(t), + this._safeInvokeWithLocks( + t, + () => t.actual.undo(), + new Is([e]), + i + ) + ) + ); + { + const e = ii.N( + { + key: 'cannotResourceUndoDueToInProgressUndoRedo', + comment: ['{0} is a label for an operation.'], + }, + "Could not undo '{0}' because there is already an undo or redo operation running.", + t.label + ); + this._notificationService.info(e); + } + } else e.flushAllElements(); + } + undo(e) { + const t = 'string' == typeof e ? e : this.getUriComparisonKey(e); + if (!this._editStacks.has(t)) return; + const i = this._editStacks.get(t), + n = i.getClosestPastElement(); + if (n) + try { + return 1 === n.type + ? this._workspaceUndo(t, n) + : this._resourceUndo(i, n); + } finally { + } + } + canRedo(e) { + const t = this.getUriComparisonKey(e); + return ( + !!this._editStacks.has(t) && + this._editStacks.get(t).hasFutureElements() + ); + } + _tryToSplitAndRedo(e, t, i, n) { + if (t.canSplit()) + return ( + this._splitFutureWorkspaceElement(t, i), + this._notificationService.info(n), + new Rs(this.redo(e)) + ); + for (const e of t.strResources) this.removeElements(e); + return this._notificationService.info(n), new Rs(); + } + _checkWorkspaceRedo(e, t, i, n) { + if (t.removedResources) + return this._tryToSplitAndRedo( + e, + t, + t.removedResources, + ii.N( + { + key: 'cannotWorkspaceRedo', + comment: [ + '{0} is a label for an operation. {1} is another message.', + ], + }, + "Could not redo '{0}' across all files. {1}", + t.label, + t.removedResources.createMessage() + ) + ); + if (n && t.invalidatedResources) + return this._tryToSplitAndRedo( + e, + t, + t.invalidatedResources, + ii.N( + { + key: 'cannotWorkspaceRedo', + comment: [ + '{0} is a label for an operation. {1} is another message.', + ], + }, + "Could not redo '{0}' across all files. {1}", + t.label, + t.invalidatedResources.createMessage() + ) + ); + const r = []; + for (const e of i.editStacks) + e.getClosestFutureElement() !== t && r.push(e.resourceLabel); + if (r.length > 0) + return this._tryToSplitAndRedo( + e, + t, + null, + ii.N( + { + key: 'cannotWorkspaceRedoDueToChanges', + comment: [ + '{0} is a label for an operation. {1} is a list of filenames.', + ], + }, + "Could not redo '{0}' across all files because changes were made to {1}", + t.label, + r.join(', ') + ) + ); + const s = []; + for (const e of i.editStacks) e.locked && s.push(e.resourceLabel); + return s.length > 0 + ? this._tryToSplitAndRedo( + e, + t, + null, + ii.N( + { + key: 'cannotWorkspaceRedoDueToInProgressUndoRedo', + comment: [ + '{0} is a label for an operation. {1} is a list of filenames.', + ], + }, + "Could not redo '{0}' across all files because there is already an undo or redo operation running on {1}", + t.label, + s.join(', ') + ) + ) + : i.isValid() + ? null + : this._tryToSplitAndRedo( + e, + t, + null, + ii.N( + { + key: 'cannotWorkspaceRedoDueToInMeantimeUndoRedo', + comment: [ + '{0} is a label for an operation. {1} is a list of filenames.', + ], + }, + "Could not redo '{0}' across all files because an undo or redo operation occurred in the meantime", + t.label + ) + ); + } + _workspaceRedo(e, t) { + const i = this._getAffectedEditStacks(t), + n = this._checkWorkspaceRedo(e, t, i, !1); + return n ? n.returnValue : this._executeWorkspaceRedo(e, t, i); + } + _executeWorkspaceRedo(e, t, i) { + return ks(this, void 0, void 0, function* () { + let n; + try { + n = yield this._invokeWorkspacePrepare(t); + } catch (e) { + return this._onError(e, t); + } + const r = this._checkWorkspaceRedo(e, t, i, !0); + if (r) return n.dispose(), r.returnValue; + for (const e of i.editStacks) e.moveForward(t); + return this._safeInvokeWithLocks(t, () => t.actual.redo(), i, n); + }); + } + _resourceRedo(e, t) { + if (t.isValid) { + if (!e.locked) + return this._invokeResourcePrepare( + t, + (i) => ( + e.moveForward(t), + this._safeInvokeWithLocks( + t, + () => t.actual.redo(), + new Is([e]), + i + ) + ) + ); + { + const e = ii.N( + { + key: 'cannotResourceRedoDueToInProgressUndoRedo', + comment: ['{0} is a label for an operation.'], + }, + "Could not redo '{0}' because there is already an undo or redo operation running.", + t.label + ); + this._notificationService.info(e); + } + } else e.flushAllElements(); + } + redo(e) { + const t = 'string' == typeof e ? e : this.getUriComparisonKey(e); + if (!this._editStacks.has(t)) return; + const i = this._editStacks.get(t), + n = i.getClosestFutureElement(); + if (n) + try { + return 1 === n.type + ? this._workspaceRedo(t, n) + : this._resourceRedo(i, n); + } finally { + } + } + }; + As = (function (e, t, i, n) { + var r, + s = arguments.length, + o = + s < 3 + ? t + : null === n + ? (n = Object.getOwnPropertyDescriptor(t, i)) + : n; + if ( + 'object' == typeof Reflect && + 'function' == typeof Reflect.decorate + ) + o = Reflect.decorate(e, t, i, n); + else + for (var a = e.length - 1; a >= 0; a--) + (r = e[a]) && + (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); + return s > 3 && o && Object.defineProperty(t, i, o), o; + })([Ss(0, $r.S), Ss(1, pi.lT)], As); + class Rs { + constructor(e) { + this.returnValue = e; + } + } + (0, _s.z)(Cs.t, As); + var Ps = i(16830), + Fs = i(67746), + Bs = i(60703); + const Ws = new me.Ue(() => { + const e = new Intl.Collator(void 0, { + numeric: !0, + sensitivity: 'base', + }); + return { + collator: e, + collatorIsNumeric: e.resolvedOptions().numeric, + }; + }); + var Ys = i(59834), + Hs = i(34650), + js = i(49898), + Vs = i(44742); + const zs = {}, + Us = new Vs.R('quick-input-button-icon-'); + function $s(e) { + if (!e) return; + let t; + const i = e.dark.toString(); + return ( + zs[i] + ? (t = zs[i]) + : ((t = Us.nextId()), + G.fk(`.${t}`, `background-image: ${G.wY(e.light || e.dark)}`), + G.fk( + `.vs-dark .${t}, .hc-black .${t}`, + `background-image: ${G.wY(e.dark)}` + ), + (zs[i] = t)), + t + ); + } + const Ks = G.$; + class qs { + constructor(e, t, i) { + (this.os = t), + (this.options = i), + (this.domNode = G.R3(e, Ks('.monaco-keybinding'))), + (this.didEverRender = !1), + e.appendChild(this.domNode); + } + set(e, t) { + (this.didEverRender && + this.keybinding === e && + qs.areSame(this.matches, t)) || + ((this.keybinding = e), (this.matches = t), this.render()); + } + render() { + if ((G.PO(this.domNode), this.keybinding)) { + let [e, t] = this.keybinding.getParts(); + e && + this.renderPart( + this.domNode, + e, + this.matches ? this.matches.firstPart : null + ), + t && + (G.R3( + this.domNode, + Ks( + 'span.monaco-keybinding-key-chord-separator', + void 0, + ' ' + ) + ), + this.renderPart( + this.domNode, + t, + this.matches ? this.matches.chordPart : null + )), + (this.domNode.title = this.keybinding.getAriaLabel() || ''); + } else + this.options && + this.options.renderUnboundKeybindings && + this.renderUnbound(this.domNode); + this.didEverRender = !0; + } + renderPart(e, t, i) { + const n = di.modifierLabels[this.os]; + t.ctrlKey && + this.renderKey( + e, + n.ctrlKey, + Boolean(null == i ? void 0 : i.ctrlKey), + n.separator + ), + t.shiftKey && + this.renderKey( + e, + n.shiftKey, + Boolean(null == i ? void 0 : i.shiftKey), + n.separator + ), + t.altKey && + this.renderKey( + e, + n.altKey, + Boolean(null == i ? void 0 : i.altKey), + n.separator + ), + t.metaKey && + this.renderKey( + e, + n.metaKey, + Boolean(null == i ? void 0 : i.metaKey), + n.separator + ); + const r = t.keyLabel; + r && + this.renderKey(e, r, Boolean(null == i ? void 0 : i.keyCode), ''); + } + renderKey(e, t, i, n) { + G.R3( + e, + Ks( + 'span.monaco-keybinding-key' + (i ? '.highlight' : ''), + void 0, + t + ) + ), + n && + G.R3(e, Ks('span.monaco-keybinding-key-separator', void 0, n)); + } + renderUnbound(e) { + G.R3( + e, + Ks( + 'span.monaco-keybinding-key', + void 0, + (0, ii.N)('unbound', 'Unbound') + ) + ); + } + static areSame(e, t) { + return ( + e === t || + (!e && !t) || + (!!e && + !!t && + (0, Zt.fS)(e.firstPart, t.firstPart) && + (0, Zt.fS)(e.chordPart, t.chordPart)) + ); + } + } + var Gs = function (e, t, i, n) { + var r, + s = arguments.length, + o = + s < 3 + ? t + : null === n + ? (n = Object.getOwnPropertyDescriptor(t, i)) + : n; + if ( + 'object' == typeof Reflect && + 'function' == typeof Reflect.decorate + ) + o = Reflect.decorate(e, t, i, n); + else + for (var a = e.length - 1; a >= 0; a--) + (r = e[a]) && + (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); + return s > 3 && o && Object.defineProperty(t, i, o), o; + }; + const Zs = G.$; + class Js { + constructor(e) { + (this.hidden = !1), + (this._onChecked = new B.Q5()), + (this.onChecked = this._onChecked.event), + (0, Zt.f0)(this, e); + } + get checked() { + return !!this._checked; + } + set checked(e) { + e !== this._checked && + ((this._checked = e), this._onChecked.fire(e)); + } + dispose() { + this._onChecked.dispose(); + } + } + class Qs { + get templateId() { + return Qs.ID; + } + renderTemplate(e) { + const t = Object.create(null); + (t.toDisposeElement = []), + (t.toDisposeTemplate = []), + (t.entry = G.R3(e, Zs('.quick-input-list-entry'))); + const i = G.R3(t.entry, Zs('label.quick-input-list-label')); + t.toDisposeTemplate.push( + G.mu(i, G.tw.CLICK, (e) => { + t.checkbox.offsetParent || e.preventDefault(); + }) + ), + (t.checkbox = G.R3(i, Zs('input.quick-input-list-checkbox'))), + (t.checkbox.type = 'checkbox'), + t.toDisposeTemplate.push( + G.mu(t.checkbox, G.tw.CHANGE, (e) => { + t.element.checked = t.checkbox.checked; + }) + ); + const n = G.R3(i, Zs('.quick-input-list-rows')), + r = G.R3(n, Zs('.quick-input-list-row')), + s = G.R3(n, Zs('.quick-input-list-row')); + t.label = new Ys.g(r, { + supportHighlights: !0, + supportDescriptionHighlights: !0, + supportCodicons: !0, + }); + const o = G.R3(r, Zs('.quick-input-list-entry-keybinding')); + t.keybinding = new qs(o, ve.OS); + const a = G.R3(s, Zs('.quick-input-list-label-meta')); + return ( + (t.detail = new Hs.q(a, !0)), + (t.separator = G.R3(t.entry, Zs('.quick-input-list-separator'))), + (t.actionBar = new _r.o(t.entry)), + t.actionBar.domNode.classList.add( + 'quick-input-list-entry-action-bar' + ), + t.toDisposeTemplate.push(t.actionBar), + t + ); + } + renderElement(e, t, i) { + (i.toDisposeElement = (0, _e.B9)(i.toDisposeElement)), + (i.element = e), + (i.checkbox.checked = e.checked), + i.toDisposeElement.push( + e.onChecked((e) => (i.checkbox.checked = e)) + ); + const { + labelHighlights: n, + descriptionHighlights: r, + detailHighlights: s, + } = e, + o = Object.create(null); + (o.matches = n || []), + (o.descriptionTitle = e.saneDescription), + (o.descriptionMatches = r || []), + (o.extraClasses = e.item.iconClasses), + (o.italic = e.item.italic), + (o.strikethrough = e.item.strikethrough), + i.label.setLabel(e.saneLabel, e.saneDescription, o), + i.keybinding.set(e.item.keybinding), + i.detail.set(e.saneDetail, s), + e.separator && e.separator.label + ? ((i.separator.textContent = e.separator.label), + (i.separator.style.display = '')) + : (i.separator.style.display = 'none'), + e.separator + ? G.cn(i.entry, 'quick-input-list-separator-border') + : G.IV(i.entry, 'quick-input-list-separator-border'), + i.actionBar.clear(); + const a = e.item.buttons; + a && a.length + ? (i.actionBar.push( + a.map((t, i) => { + let n = + t.iconClass || (t.iconPath ? $s(t.iconPath) : void 0); + t.alwaysVisible && + (n = n ? `${n} always-visible` : 'always-visible'); + const r = new mr.aU( + `id-${i}`, + '', + n, + !0, + () => ( + e.fireButtonTriggered({ button: t, item: e.item }), + Promise.resolve() + ) + ); + return (r.tooltip = t.tooltip || ''), r; + }), + { icon: !0, label: !1 } + ), + G.cn(i.entry, 'has-actions')) + : G.IV(i.entry, 'has-actions'); + } + disposeElement(e, t, i) { + i.toDisposeElement = (0, _e.B9)(i.toDisposeElement); + } + disposeTemplate(e) { + (e.toDisposeElement = (0, _e.B9)(e.toDisposeElement)), + (e.toDisposeTemplate = (0, _e.B9)(e.toDisposeTemplate)); + } + } + Qs.ID = 'listelement'; + class Xs { + getHeight(e) { + return e.saneDetail ? 44 : 22; + } + getTemplateId(e) { + return Qs.ID; + } + } + var eo; + !(function (e) { + (e[(e.First = 1)] = 'First'), + (e[(e.Second = 2)] = 'Second'), + (e[(e.Last = 3)] = 'Last'), + (e[(e.Next = 4)] = 'Next'), + (e[(e.Previous = 5)] = 'Previous'), + (e[(e.NextPage = 6)] = 'NextPage'), + (e[(e.PreviousPage = 7)] = 'PreviousPage'); + })(eo || (eo = {})); + class to { + constructor(e, t, i) { + (this.parent = e), + (this.inputElements = []), + (this.elements = []), + (this.elementsToIndexes = new Map()), + (this.matchOnDescription = !1), + (this.matchOnDetail = !1), + (this.matchOnLabel = !0), + (this.sortByLabel = !0), + (this._onChangedAllVisibleChecked = new B.Q5()), + (this.onChangedAllVisibleChecked = this._onChangedAllVisibleChecked.event), + (this._onChangedCheckedCount = new B.Q5()), + (this.onChangedCheckedCount = this._onChangedCheckedCount.event), + (this._onChangedVisibleCount = new B.Q5()), + (this.onChangedVisibleCount = this._onChangedVisibleCount.event), + (this._onChangedCheckedElements = new B.Q5()), + (this.onChangedCheckedElements = this._onChangedCheckedElements.event), + (this._onButtonTriggered = new B.Q5()), + (this.onButtonTriggered = this._onButtonTriggered.event), + (this._onKeyDown = new B.Q5()), + (this.onKeyDown = this._onKeyDown.event), + (this._onLeave = new B.Q5()), + (this.onLeave = this._onLeave.event), + (this._fireCheckedEvents = !0), + (this.elementDisposables = []), + (this.disposables = []), + (this.id = t), + (this.container = G.R3(this.parent, Zs('.quick-input-list'))); + const n = new Xs(), + r = new io(); + (this.list = i.createList( + 'QuickInput', + this.container, + n, + [new Qs()], + { + identityProvider: { getId: (e) => e.saneLabel }, + setRowLineHeight: !1, + multipleSelectionSupport: !1, + horizontalScrolling: !1, + accessibilityProvider: r, + } + )), + (this.list.getHTMLElement().id = t), + this.disposables.push(this.list), + this.disposables.push( + this.list.onKeyDown((e) => { + const t = new jt.y(e); + switch (t.keyCode) { + case 10: + this.toggleCheckbox(); + break; + case 31: + (ve.dz ? e.metaKey : e.ctrlKey) && + this.list.setFocus((0, De.w6)(this.list.length)); + break; + case 16: + const t = this.list.getFocus(); + 1 === t.length && 0 === t[0] && this._onLeave.fire(); + break; + case 18: + const i = this.list.getFocus(); + 1 === i.length && + i[0] === this.list.length - 1 && + this._onLeave.fire(); + } + this._onKeyDown.fire(t); + }) + ), + this.disposables.push( + this.list.onMouseDown((e) => { + 2 !== e.browserEvent.button && + e.browserEvent.preventDefault(); + }) + ), + this.disposables.push( + G.nm(this.container, G.tw.CLICK, (e) => { + (e.x || e.y) && this._onLeave.fire(); + }) + ), + this.disposables.push( + this.list.onMouseMiddleClick((e) => { + this._onLeave.fire(); + }) + ), + this.disposables.push( + this.list.onContextMenu((e) => { + 'number' == typeof e.index && + (e.browserEvent.preventDefault(), + this.list.setSelection([e.index])); + }) + ), + this.disposables.push( + this._onChangedAllVisibleChecked, + this._onChangedCheckedCount, + this._onChangedVisibleCount, + this._onChangedCheckedElements, + this._onButtonTriggered, + this._onLeave, + this._onKeyDown + ); + } + get onDidChangeFocus() { + return B.ju.map(this.list.onDidChangeFocus, (e) => + e.elements.map((e) => e.item) + ); + } + get onDidChangeSelection() { + return B.ju.map(this.list.onDidChangeSelection, (e) => ({ + items: e.elements.map((e) => e.item), + event: e.browserEvent, + })); + } + getAllVisibleChecked() { + return this.allVisibleChecked(this.elements, !1); + } + allVisibleChecked(e, t = !0) { + for (let i = 0, n = e.length; i < n; i++) { + const n = e[i]; + if (!n.hidden) { + if (!n.checked) return !1; + t = !0; + } + } + return t; + } + getCheckedCount() { + let e = 0; + const t = this.elements; + for (let i = 0, n = t.length; i < n; i++) t[i].checked && e++; + return e; + } + getVisibleCount() { + let e = 0; + const t = this.elements; + for (let i = 0, n = t.length; i < n; i++) t[i].hidden || e++; + return e; + } + setAllVisibleChecked(e) { + try { + (this._fireCheckedEvents = !1), + this.elements.forEach((t) => { + t.hidden || (t.checked = e); + }); + } finally { + (this._fireCheckedEvents = !0), this.fireCheckedEvents(); + } + } + setElements(e) { + this.elementDisposables = (0, _e.B9)(this.elementDisposables); + const t = (e) => this.fireButtonTriggered(e); + (this.inputElements = e), + (this.elements = e.reduce((i, n, r) => { + var s, o, a; + if ('separator' !== n.type) { + const l = r && e[r - 1], + c = n.label && n.label.replace(/\r?\n/g, ' '), + d = n.description && n.description.replace(/\r?\n/g, ' '), + h = n.detail && n.detail.replace(/\r?\n/g, ' '), + u = + n.ariaLabel || + [c, d, h] + .map((e) => e && (0, Bs.fe)(e).text) + .filter((e) => !!e) + .join(', '); + i.push( + new Js({ + index: r, + item: n, + saneLabel: c, + saneAriaLabel: u, + saneDescription: d, + saneDetail: h, + labelHighlights: + null === (s = n.highlights) || void 0 === s + ? void 0 + : s.label, + descriptionHighlights: + null === (o = n.highlights) || void 0 === o + ? void 0 + : o.description, + detailHighlights: + null === (a = n.highlights) || void 0 === a + ? void 0 + : a.detail, + checked: !1, + separator: l && 'separator' === l.type ? l : void 0, + fireButtonTriggered: t, + }) + ); + } + return i; + }, [])), + this.elementDisposables.push(...this.elements), + this.elementDisposables.push( + ...this.elements.map((e) => + e.onChecked(() => this.fireCheckedEvents()) + ) + ), + (this.elementsToIndexes = this.elements.reduce( + (e, t, i) => (e.set(t.item, i), e), + new Map() + )), + this.list.splice(0, this.list.length), + this.list.splice(0, this.list.length, this.elements), + this._onChangedVisibleCount.fire(this.elements.length); + } + getFocusedElements() { + return this.list.getFocusedElements().map((e) => e.item); + } + setFocusedElements(e) { + if ( + (this.list.setFocus( + e + .filter((e) => this.elementsToIndexes.has(e)) + .map((e) => this.elementsToIndexes.get(e)) + ), + e.length > 0) + ) { + const e = this.list.getFocus()[0]; + 'number' == typeof e && this.list.reveal(e); + } + } + getActiveDescendant() { + return this.list + .getHTMLElement() + .getAttribute('aria-activedescendant'); + } + setSelectedElements(e) { + this.list.setSelection( + e + .filter((e) => this.elementsToIndexes.has(e)) + .map((e) => this.elementsToIndexes.get(e)) + ); + } + getCheckedElements() { + return this.elements.filter((e) => e.checked).map((e) => e.item); + } + setCheckedElements(e) { + try { + this._fireCheckedEvents = !1; + const t = new Set(); + for (const i of e) t.add(i); + for (const e of this.elements) e.checked = t.has(e.item); + } finally { + (this._fireCheckedEvents = !0), this.fireCheckedEvents(); + } + } + set enabled(e) { + this.list.getHTMLElement().style.pointerEvents = e ? '' : 'none'; + } + focus(e) { + if (!this.list.length) return; + switch ( + (e === eo.Next && + this.list.getFocus()[0] === this.list.length - 1 && + (e = eo.First), + e === eo.Previous && + 0 === this.list.getFocus()[0] && + (e = eo.Last), + e === eo.Second && this.list.length < 2 && (e = eo.First), + e) + ) { + case eo.First: + this.list.focusFirst(); + break; + case eo.Second: + this.list.focusNth(1); + break; + case eo.Last: + this.list.focusLast(); + break; + case eo.Next: + this.list.focusNext(); + break; + case eo.Previous: + this.list.focusPrevious(); + break; + case eo.NextPage: + this.list.focusNextPage(); + break; + case eo.PreviousPage: + this.list.focusPreviousPage(); + } + const t = this.list.getFocus()[0]; + 'number' == typeof t && this.list.reveal(t); + } + clearFocus() { + this.list.setFocus([]); + } + domFocus() { + this.list.domFocus(); + } + layout(e) { + (this.list.getHTMLElement().style.maxHeight = e + ? `calc(${44 * Math.floor(e / 44)}px)` + : ''), + this.list.layout(); + } + filter(e) { + if ( + !( + this.sortByLabel || + this.matchOnLabel || + this.matchOnDescription || + this.matchOnDetail + ) + ) + return this.list.layout(), !1; + (e = e.trim()) && + (this.matchOnLabel || this.matchOnDescription || this.matchOnDetail) + ? this.elements.forEach((t) => { + const i = this.matchOnLabel + ? (0, ye.f6)((0, Bs.YU)(e, (0, Bs.fe)(t.saneLabel))) + : void 0, + n = this.matchOnDescription + ? (0, ye.f6)( + (0, Bs.YU)(e, (0, Bs.fe)(t.saneDescription || '')) + ) + : void 0, + r = this.matchOnDetail + ? (0, ye.f6)( + (0, Bs.YU)(e, (0, Bs.fe)(t.saneDetail || '')) + ) + : void 0; + i || n || r + ? ((t.labelHighlights = i), + (t.descriptionHighlights = n), + (t.detailHighlights = r), + (t.hidden = !1)) + : ((t.labelHighlights = void 0), + (t.descriptionHighlights = void 0), + (t.detailHighlights = void 0), + (t.hidden = !t.item.alwaysShow)), + (t.separator = void 0); + }) + : this.elements.forEach((e) => { + (e.labelHighlights = void 0), + (e.descriptionHighlights = void 0), + (e.detailHighlights = void 0), + (e.hidden = !1); + const t = e.index && this.inputElements[e.index - 1]; + e.separator = t && 'separator' === t.type ? t : void 0; + }); + const t = this.elements.filter((e) => !e.hidden); + if (this.sortByLabel && e) { + const i = e.toLowerCase(); + t.sort((e, t) => + (function (e, t, i) { + const n = e.labelHighlights || [], + r = t.labelHighlights || []; + return n.length && !r.length + ? -1 + : !n.length && r.length + ? 1 + : 0 === n.length && 0 === r.length + ? 0 + : (function (e, t, i) { + const n = e.toLowerCase(), + r = t.toLowerCase(), + s = (function (e, t, i) { + const n = e.toLowerCase(), + r = t.toLowerCase(), + s = n.startsWith(i), + o = r.startsWith(i); + if (s !== o) return s ? -1 : 1; + if (s && o) { + if (n.length < r.length) return -1; + if (n.length > r.length) return 1; + } + return 0; + })(e, t, i); + if (s) return s; + const o = n.endsWith(i); + if (o !== r.endsWith(i)) return o ? -1 : 1; + const a = (function (e, t, i = !1) { + const n = e || '', + r = t || '', + s = Ws.value.collator.compare(n, r); + return Ws.value.collatorIsNumeric && + 0 === s && + n !== r + ? n < r + ? -1 + : 1 + : s; + })(n, r); + return 0 !== a ? a : n.localeCompare(r); + })(e.saneLabel, t.saneLabel, i); + })(e, t, i) + ); + } + return ( + (this.elementsToIndexes = t.reduce( + (e, t, i) => (e.set(t.item, i), e), + new Map() + )), + this.list.splice(0, this.list.length, t), + this.list.setFocus([]), + this.list.layout(), + this._onChangedAllVisibleChecked.fire( + this.getAllVisibleChecked() + ), + this._onChangedVisibleCount.fire(t.length), + !0 + ); + } + toggleCheckbox() { + try { + this._fireCheckedEvents = !1; + const e = this.list.getFocusedElements(), + t = this.allVisibleChecked(e); + for (const i of e) i.checked = !t; + } finally { + (this._fireCheckedEvents = !0), this.fireCheckedEvents(); + } + } + display(e) { + this.container.style.display = e ? '' : 'none'; + } + isDisplayed() { + return 'none' !== this.container.style.display; + } + dispose() { + (this.elementDisposables = (0, _e.B9)(this.elementDisposables)), + (this.disposables = (0, _e.B9)(this.disposables)); + } + fireCheckedEvents() { + this._fireCheckedEvents && + (this._onChangedAllVisibleChecked.fire( + this.getAllVisibleChecked() + ), + this._onChangedCheckedCount.fire(this.getCheckedCount()), + this._onChangedCheckedElements.fire(this.getCheckedElements())); + } + fireButtonTriggered(e) { + this._onButtonTriggered.fire(e); + } + style(e) { + this.list.style(e); + } + } + Gs([js.H], to.prototype, 'onDidChangeFocus', null), + Gs([js.H], to.prototype, 'onDidChangeSelection', null); + class io { + getWidgetAriaLabel() { + return (0, ii.N)('quickInput', 'Quick Input'); + } + getAriaLabel(e) { + return e.saneAriaLabel; + } + getWidgetRole() { + return 'listbox'; + } + getRole() { + return 'option'; + } + } + var no = i(77927); + const ro = G.$; + class so extends _e.JT { + constructor(e) { + super(), + (this.parent = e), + (this.onKeyDown = (e) => + G.nm(this.inputBox.inputElement, G.tw.KEY_DOWN, (t) => { + e(new jt.y(t)); + })), + (this.onMouseDown = (e) => + G.nm(this.inputBox.inputElement, G.tw.MOUSE_DOWN, (t) => { + e(new Mr.n(t)); + })), + (this.onDidChange = (e) => this.inputBox.onDidChange(e)), + (this.container = G.R3(this.parent, ro('.quick-input-box'))), + (this.inputBox = this._register( + new no.W(this.container, void 0) + )); + } + get value() { + return this.inputBox.value; + } + set value(e) { + this.inputBox.value = e; + } + select(e = null) { + this.inputBox.select(e); + } + isSelectionAtEnd() { + return this.inputBox.isSelectionAtEnd(); + } + get placeholder() { + return this.inputBox.inputElement.getAttribute('placeholder') || ''; + } + set placeholder(e) { + this.inputBox.setPlaceHolder(e); + } + get ariaLabel() { + return this.inputBox.getAriaLabel(); + } + set ariaLabel(e) { + this.inputBox.setAriaLabel(e); + } + get password() { + return 'password' === this.inputBox.inputElement.type; + } + set password(e) { + this.inputBox.inputElement.type = e ? 'password' : 'text'; + } + setAttribute(e, t) { + this.inputBox.inputElement.setAttribute(e, t); + } + removeAttribute(e) { + this.inputBox.inputElement.removeAttribute(e); + } + showDecoration(e) { + e === Vt.Z.Ignore + ? this.inputBox.hideMessage() + : this.inputBox.showMessage({ + type: e === Vt.Z.Info ? 1 : e === Vt.Z.Warning ? 2 : 3, + content: '', + }); + } + stylesForType(e) { + return this.inputBox.stylesForType( + e === Vt.Z.Info ? 1 : e === Vt.Z.Warning ? 2 : 3 + ); + } + setFocus() { + this.inputBox.focus(); + } + layout() { + this.inputBox.layout(); + } + style(e) { + this.inputBox.style(e); + } + } + var oo = i(67488); + const ao = 'done', + lo = 'active', + co = 'infinite', + ho = 'discrete', + uo = { progressBarBackground: Rn.Il.fromHex('#0E70C0') }; + class go extends _e.JT { + constructor(e, t) { + super(), + (this.options = t || Object.create(null)), + (0, Zt.jB)(this.options, uo, !1), + (this.workedVal = 0), + (this.progressBarBackground = this.options.progressBarBackground), + this._register( + (this.showDelayedScheduler = new me.pY( + () => (0, G.$Z)(this.element), + 0 + )) + ), + this.create(e); + } + create(e) { + (this.element = document.createElement('div')), + (0, G.cn)(this.element, 'monaco-progress-container'), + e.appendChild(this.element), + (this.bit = document.createElement('div')), + (0, G.cn)(this.bit, 'progress-bit'), + this.element.appendChild(this.bit), + this.applyStyles(); + } + off() { + (this.bit.style.width = 'inherit'), + (this.bit.style.opacity = '1'), + (0, G.GK)(this.element, lo, co, ho), + (this.workedVal = 0), + (this.totalWork = void 0); + } + stop() { + return this.doDone(!1); + } + doDone(e) { + return ( + (0, G.cn)(this.element, ao), + (0, G.pv)(this.element, co) + ? ((this.bit.style.opacity = '0'), + e ? setTimeout(() => this.off(), 200) : this.off()) + : ((this.bit.style.width = 'inherit'), + e ? setTimeout(() => this.off(), 200) : this.off()), + this + ); + } + infinite() { + return ( + (this.bit.style.width = '2%'), + (this.bit.style.opacity = '1'), + (0, G.GK)(this.element, ho, ao), + (0, G.PT)(this.element, lo, co), + this + ); + } + getContainer() { + return this.element; + } + style(e) { + (this.progressBarBackground = e.progressBarBackground), + this.applyStyles(); + } + applyStyles() { + if (this.bit) { + const e = this.progressBarBackground + ? this.progressBarBackground.toString() + : ''; + this.bit.style.backgroundColor = e; + } + } + } + var fo = i(10553); + const po = { + buttonBackground: Rn.Il.fromHex('#0E639C'), + buttonHoverBackground: Rn.Il.fromHex('#006BB3'), + buttonForeground: Rn.Il.white, + }; + class mo extends _e.JT { + constructor(e, t) { + super(), + (this._onDidClick = this._register(new B.Q5())), + (this.options = t || Object.create(null)), + (0, Zt.jB)(this.options, po, !1), + (this.buttonForeground = this.options.buttonForeground), + (this.buttonBackground = this.options.buttonBackground), + (this.buttonHoverBackground = this.options.buttonHoverBackground), + (this.buttonSecondaryForeground = this.options.buttonSecondaryForeground), + (this.buttonSecondaryBackground = this.options.buttonSecondaryBackground), + (this.buttonSecondaryHoverBackground = this.options.buttonSecondaryHoverBackground), + (this.buttonBorder = this.options.buttonBorder), + (this._element = document.createElement('a')), + G.cn(this._element, 'monaco-button'), + (this._element.tabIndex = 0), + this._element.setAttribute('role', 'button'), + e.appendChild(this._element), + this._register(fo.o.addTarget(this._element)), + [G.tw.CLICK, fo.t.Tap].forEach((e) => { + this._register( + G.nm(this._element, e, (e) => { + this.enabled ? this._onDidClick.fire(e) : G.zB.stop(e); + }) + ); + }), + this._register( + G.nm(this._element, G.tw.KEY_DOWN, (e) => { + const t = new jt.y(e); + let i = !1; + this.enabled && (t.equals(3) || t.equals(10)) + ? (this._onDidClick.fire(e), (i = !0)) + : t.equals(9) && (this._element.blur(), (i = !0)), + i && G.zB.stop(t, !0); + }) + ), + this._register( + G.nm(this._element, G.tw.MOUSE_OVER, (e) => { + G.pv(this._element, 'disabled') || this.setHoverBackground(); + }) + ), + this._register( + G.nm(this._element, G.tw.MOUSE_OUT, (e) => { + this.applyStyles(); + }) + ), + (this.focusTracker = this._register(G.go(this._element))), + this._register( + this.focusTracker.onDidFocus(() => this.setHoverBackground()) + ), + this._register( + this.focusTracker.onDidBlur(() => this.applyStyles()) + ), + this.applyStyles(); + } + get onDidClick() { + return this._onDidClick.event; + } + setHoverBackground() { + let e; + (e = this.options.secondary + ? this.buttonSecondaryHoverBackground + ? this.buttonSecondaryHoverBackground.toString() + : null + : this.buttonHoverBackground + ? this.buttonHoverBackground.toString() + : null), + e && (this._element.style.backgroundColor = e); + } + style(e) { + (this.buttonForeground = e.buttonForeground), + (this.buttonBackground = e.buttonBackground), + (this.buttonHoverBackground = e.buttonHoverBackground), + (this.buttonSecondaryForeground = e.buttonSecondaryForeground), + (this.buttonSecondaryBackground = e.buttonSecondaryBackground), + (this.buttonSecondaryHoverBackground = + e.buttonSecondaryHoverBackground), + (this.buttonBorder = e.buttonBorder), + this.applyStyles(); + } + applyStyles() { + if (this._element) { + let e, t; + this.options.secondary + ? ((t = this.buttonSecondaryForeground + ? this.buttonSecondaryForeground.toString() + : ''), + (e = this.buttonSecondaryBackground + ? this.buttonSecondaryBackground.toString() + : '')) + : ((t = this.buttonForeground + ? this.buttonForeground.toString() + : ''), + (e = this.buttonBackground + ? this.buttonBackground.toString() + : '')); + const i = this.buttonBorder ? this.buttonBorder.toString() : ''; + (this._element.style.color = t), + (this._element.style.backgroundColor = e), + (this._element.style.borderWidth = i ? '1px' : ''), + (this._element.style.borderStyle = i ? 'solid' : ''), + (this._element.style.borderColor = i); + } + } + get element() { + return this._element; + } + set label(e) { + G.pv(this._element, 'monaco-text-button') || + G.cn(this._element, 'monaco-text-button'), + this.options.supportCodicons + ? G.mc( + this._element, + ...(function (e) { + const t = new Array(); + let i, + n = 0, + r = 0; + for (; null !== (i = kr.b3.exec(e)); ) { + (r = i.index || 0), + t.push(e.substring(n, r)), + (n = (i.index || 0) + i[0].length); + const [, s, o, a, l] = i; + t.push( + s + ? `$(${o})` + : G.$( + `span.codicon.codicon-${a}${ + l ? `.codicon-animation-${l}` : '' + }` + ) + ); + } + return n < e.length && t.push(e.substring(n)), t; + })(e) + ) + : (this._element.textContent = e), + 'string' == typeof this.options.title + ? (this._element.title = this.options.title) + : this.options.title && (this._element.title = e); + } + set enabled(e) { + e + ? (G.IV(this._element, 'disabled'), + this._element.setAttribute('aria-disabled', String(!1)), + (this._element.tabIndex = 0)) + : (G.cn(this._element, 'disabled'), + this._element.setAttribute('aria-disabled', String(!0)), + G.eJ(this._element)); + } + get enabled() { + return !G.pv(this._element, 'disabled'); + } + } + var _o = function (e, t, i, n) { + return new (i || (i = Promise))(function (r, s) { + function o(e) { + try { + l(n.next(e)); + } catch (e) { + s(e); + } + } + function a(e) { + try { + l(n.throw(e)); + } catch (e) { + s(e); + } + } + function l(e) { + var t; + e.done + ? r(e.value) + : ((t = e.value), + t instanceof i + ? t + : new i(function (e) { + e(t); + })).then(o, a); + } + l((n = n.apply(e, t || [])).next()); + }); + }; + const bo = G.$, + vo = { + iconClass: (0, kr.q5)('quick-input-back', kr.lA.arrowLeft) + .classNames, + tooltip: (0, ii.N)('quickInput.back', 'Back'), + handle: -1, + }; + class yo extends _e.JT { + constructor(e) { + super(), + (this.ui = e), + (this.visible = !1), + (this._enabled = !0), + (this._busy = !1), + (this._ignoreFocusOut = !1), + (this._buttons = []), + (this.buttonsUpdated = !1), + (this.onDidTriggerButtonEmitter = this._register(new B.Q5())), + (this.onDidHideEmitter = this._register(new B.Q5())), + (this.onDisposeEmitter = this._register(new B.Q5())), + (this.visibleDisposables = this._register(new _e.SL())), + (this.onDidHide = this.onDidHideEmitter.event); + } + get title() { + return this._title; + } + set title(e) { + (this._title = e), this.update(); + } + get description() { + return this._description; + } + set description(e) { + (this._description = e), this.update(); + } + get step() { + return this._steps; + } + set step(e) { + (this._steps = e), this.update(); + } + get totalSteps() { + return this._totalSteps; + } + set totalSteps(e) { + (this._totalSteps = e), this.update(); + } + get enabled() { + return this._enabled; + } + set enabled(e) { + (this._enabled = e), this.update(); + } + get contextKey() { + return this._contextKey; + } + set contextKey(e) { + (this._contextKey = e), this.update(); + } + get busy() { + return this._busy; + } + set busy(e) { + (this._busy = e), this.update(); + } + get ignoreFocusOut() { + return this._ignoreFocusOut; + } + set ignoreFocusOut(e) { + (this._ignoreFocusOut = e), this.update(); + } + get buttons() { + return this._buttons; + } + set buttons(e) { + (this._buttons = e), (this.buttonsUpdated = !0), this.update(); + } + show() { + this.visible || + (this.visibleDisposables.add( + this.ui.onDidTriggerButton((e) => { + -1 !== this.buttons.indexOf(e) && + this.onDidTriggerButtonEmitter.fire(e); + }) + ), + this.ui.show(this), + (this.visible = !0), + this.update()); + } + hide() { + this.visible && this.ui.hide(); + } + didHide() { + (this.visible = !1), + this.visibleDisposables.clear(), + this.onDidHideEmitter.fire(); + } + update() { + if (!this.visible) return; + const e = this.getTitle(); + e && this.ui.title.textContent !== e + ? (this.ui.title.textContent = e) + : e || + ' ' === this.ui.title.innerHTML || + (this.ui.title.innerText = ' ;'); + const t = this.getDescription(); + if ( + (this.ui.description.textContent !== t && + (this.ui.description.textContent = t), + this.busy && + !this.busyDelay && + ((this.busyDelay = new me._F()), + this.busyDelay.setIfNotSet(() => { + this.visible && this.ui.progressBar.infinite(); + }, 800)), + !this.busy && + this.busyDelay && + (this.ui.progressBar.stop(), + this.busyDelay.cancel(), + (this.busyDelay = void 0)), + this.buttonsUpdated) + ) { + (this.buttonsUpdated = !1), this.ui.leftActionBar.clear(); + const e = this.buttons.filter((e) => e === vo); + this.ui.leftActionBar.push( + e.map((e, t) => { + const i = new mr.aU( + `id-${t}`, + '', + e.iconClass || $s(e.iconPath), + !0, + () => + _o(this, void 0, void 0, function* () { + this.onDidTriggerButtonEmitter.fire(e); + }) + ); + return (i.tooltip = e.tooltip || ''), i; + }), + { icon: !0, label: !1 } + ), + this.ui.rightActionBar.clear(); + const t = this.buttons.filter((e) => e !== vo); + this.ui.rightActionBar.push( + t.map((e, t) => { + const i = new mr.aU( + `id-${t}`, + '', + e.iconClass || $s(e.iconPath), + !0, + () => + _o(this, void 0, void 0, function* () { + this.onDidTriggerButtonEmitter.fire(e); + }) + ); + return (i.tooltip = e.tooltip || ''), i; + }), + { icon: !0, label: !1 } + ); + } + (this.ui.ignoreFocusOut = this.ignoreFocusOut), + this.ui.setEnabled(this.enabled), + this.ui.setContextKey(this.contextKey); + } + getTitle() { + return this.title && this.step + ? `${this.title} (${this.getSteps()})` + : this.title + ? this.title + : this.step + ? this.getSteps() + : ''; + } + getDescription() { + return this.description || ''; + } + getSteps() { + return this.step && this.totalSteps + ? (0, ii.N)( + 'quickInput.steps', + '{0}/{1}', + this.step, + this.totalSteps + ) + : this.step + ? String(this.step) + : ''; + } + showMessageDecoration(e) { + if ((this.ui.inputBox.showDecoration(e), e === Vt.Z.Error)) { + const t = this.ui.inputBox.stylesForType(e); + (this.ui.message.style.color = t.foreground + ? `${t.foreground}` + : ''), + (this.ui.message.style.backgroundColor = t.background + ? `${t.background}` + : ''), + (this.ui.message.style.border = t.border + ? `1px solid ${t.border}` + : ''), + (this.ui.message.style.paddingBottom = '4px'); + } else + (this.ui.message.style.color = ''), + (this.ui.message.style.backgroundColor = ''), + (this.ui.message.style.border = ''), + (this.ui.message.style.paddingBottom = ''); + } + dispose() { + this.hide(), this.onDisposeEmitter.fire(), super.dispose(); + } + } + class wo extends yo { + constructor() { + super(...arguments), + (this._value = ''), + (this.onDidChangeValueEmitter = this._register(new B.Q5())), + (this.onDidAcceptEmitter = this._register(new B.Q5())), + (this.onDidCustomEmitter = this._register(new B.Q5())), + (this._items = []), + (this.itemsUpdated = !1), + (this._canSelectMany = !1), + (this._canAcceptInBackground = !1), + (this._matchOnDescription = !1), + (this._matchOnDetail = !1), + (this._matchOnLabel = !0), + (this._sortByLabel = !0), + (this._autoFocusOnList = !0), + (this._itemActivation = this.ui.isScreenReaderOptimized() + ? Fs.j.NONE + : Fs.j.FIRST), + (this._activeItems = []), + (this.activeItemsUpdated = !1), + (this.activeItemsToConfirm = []), + (this.onDidChangeActiveEmitter = this._register(new B.Q5())), + (this._selectedItems = []), + (this.selectedItemsUpdated = !1), + (this.selectedItemsToConfirm = []), + (this.onDidChangeSelectionEmitter = this._register(new B.Q5())), + (this.onDidTriggerItemButtonEmitter = this._register(new B.Q5())), + (this.valueSelectionUpdated = !0), + (this._ok = 'default'), + (this._customButton = !1), + (this.filterValue = (e) => e), + (this.onDidChangeValue = this.onDidChangeValueEmitter.event), + (this.onDidAccept = this.onDidAcceptEmitter.event), + (this.onDidChangeActive = this.onDidChangeActiveEmitter.event), + (this.onDidChangeSelection = this.onDidChangeSelectionEmitter.event), + (this.onDidTriggerItemButton = this.onDidTriggerItemButtonEmitter.event); + } + get quickNavigate() { + return this._quickNavigate; + } + set quickNavigate(e) { + (this._quickNavigate = e), this.update(); + } + get value() { + return this._value; + } + set value(e) { + (this._value = e || ''), this.update(); + } + set ariaLabel(e) { + (this._ariaLabel = e), this.update(); + } + get ariaLabel() { + return this._ariaLabel; + } + get placeholder() { + return this._placeholder; + } + set placeholder(e) { + (this._placeholder = e), this.update(); + } + get items() { + return this._items; + } + set items(e) { + (this._items = e), (this.itemsUpdated = !0), this.update(); + } + get canSelectMany() { + return this._canSelectMany; + } + set canSelectMany(e) { + (this._canSelectMany = e), this.update(); + } + get canAcceptInBackground() { + return this._canAcceptInBackground; + } + set canAcceptInBackground(e) { + this._canAcceptInBackground = e; + } + get matchOnDescription() { + return this._matchOnDescription; + } + set matchOnDescription(e) { + (this._matchOnDescription = e), this.update(); + } + get matchOnDetail() { + return this._matchOnDetail; + } + set matchOnDetail(e) { + (this._matchOnDetail = e), this.update(); + } + get matchOnLabel() { + return this._matchOnLabel; + } + set matchOnLabel(e) { + (this._matchOnLabel = e), this.update(); + } + get sortByLabel() { + return this._sortByLabel; + } + set sortByLabel(e) { + (this._sortByLabel = e), this.update(); + } + get autoFocusOnList() { + return this._autoFocusOnList; + } + set autoFocusOnList(e) { + (this._autoFocusOnList = e), this.update(); + } + get itemActivation() { + return this._itemActivation; + } + set itemActivation(e) { + this._itemActivation = e; + } + get activeItems() { + return this._activeItems; + } + set activeItems(e) { + (this._activeItems = e), + (this.activeItemsUpdated = !0), + this.update(); + } + get selectedItems() { + return this._selectedItems; + } + set selectedItems(e) { + (this._selectedItems = e), + (this.selectedItemsUpdated = !0), + this.update(); + } + get keyMods() { + return this._quickNavigate ? Fs.X : this.ui.keyMods; + } + set valueSelection(e) { + (this._valueSelection = e), + (this.valueSelectionUpdated = !0), + this.update(); + } + get validationMessage() { + return this._validationMessage; + } + set validationMessage(e) { + (this._validationMessage = e), this.update(); + } + get customButton() { + return this._customButton; + } + set customButton(e) { + (this._customButton = e), this.update(); + } + get customLabel() { + return this._customButtonLabel; + } + set customLabel(e) { + (this._customButtonLabel = e), this.update(); + } + get customHover() { + return this._customButtonHover; + } + set customHover(e) { + (this._customButtonHover = e), this.update(); + } + get ok() { + return this._ok; + } + set ok(e) { + (this._ok = e), this.update(); + } + get hideInput() { + return !!this._hideInput; + } + set hideInput(e) { + (this._hideInput = e), this.update(); + } + trySelectFirst() { + this.autoFocusOnList && + (this.canSelectMany || this.ui.list.focus(eo.First)); + } + show() { + this.visible || + (this.visibleDisposables.add( + this.ui.inputBox.onDidChange((e) => { + e !== this.value && + ((this._value = e), + this.ui.list.filter( + this.filterValue(this.ui.inputBox.value) + ) && this.trySelectFirst(), + this.onDidChangeValueEmitter.fire(e)); + }) + ), + this.visibleDisposables.add( + this.ui.inputBox.onMouseDown((e) => { + this.autoFocusOnList || this.ui.list.clearFocus(); + }) + ), + this.visibleDisposables.add( + (this._hideInput ? this.ui.list : this.ui.inputBox).onKeyDown( + (e) => { + switch (e.keyCode) { + case 18: + this.ui.list.focus(eo.Next), + this.canSelectMany && this.ui.list.domFocus(), + G.zB.stop(e, !0); + break; + case 16: + this.ui.list.getFocusedElements().length + ? this.ui.list.focus(eo.Previous) + : this.ui.list.focus(eo.Last), + this.canSelectMany && this.ui.list.domFocus(), + G.zB.stop(e, !0); + break; + case 12: + this.ui.list.focus(eo.NextPage), + this.canSelectMany && this.ui.list.domFocus(), + G.zB.stop(e, !0); + break; + case 11: + this.ui.list.focus(eo.PreviousPage), + this.canSelectMany && this.ui.list.domFocus(), + G.zB.stop(e, !0); + break; + case 17: + if (!this._canAcceptInBackground) return; + if (!this.ui.inputBox.isSelectionAtEnd()) return; + this.activeItems[0] && + ((this._selectedItems = [this.activeItems[0]]), + this.onDidChangeSelectionEmitter.fire( + this.selectedItems + ), + this.onDidAcceptEmitter.fire({ inBackground: !0 })); + break; + case 14: + (!e.ctrlKey && !e.metaKey) || + e.shiftKey || + e.altKey || + (this.ui.list.focus(eo.First), G.zB.stop(e, !0)); + break; + case 13: + (!e.ctrlKey && !e.metaKey) || + e.shiftKey || + e.altKey || + (this.ui.list.focus(eo.Last), G.zB.stop(e, !0)); + } + } + ) + ), + this.visibleDisposables.add( + this.ui.onDidAccept(() => { + !this.canSelectMany && + this.activeItems[0] && + ((this._selectedItems = [this.activeItems[0]]), + this.onDidChangeSelectionEmitter.fire(this.selectedItems)), + this.onDidAcceptEmitter.fire({ inBackground: !1 }); + }) + ), + this.visibleDisposables.add( + this.ui.onDidCustom(() => { + this.onDidCustomEmitter.fire(); + }) + ), + this.visibleDisposables.add( + this.ui.list.onDidChangeFocus((e) => { + this.activeItemsUpdated || + (this.activeItemsToConfirm !== this._activeItems && + (0, De.fS)(e, this._activeItems, (e, t) => e === t)) || + ((this._activeItems = e), + this.onDidChangeActiveEmitter.fire(e)); + }) + ), + this.visibleDisposables.add( + this.ui.list.onDidChangeSelection(({ items: e, event: t }) => { + this.canSelectMany + ? e.length && this.ui.list.setSelectedElements([]) + : (this.selectedItemsToConfirm !== this._selectedItems && + (0, De.fS)( + e, + this._selectedItems, + (e, t) => e === t + )) || + ((this._selectedItems = e), + this.onDidChangeSelectionEmitter.fire(e), + e.length && + this.onDidAcceptEmitter.fire({ + inBackground: + t instanceof MouseEvent && 1 === t.button, + })); + }) + ), + this.visibleDisposables.add( + this.ui.list.onChangedCheckedElements((e) => { + this.canSelectMany && + ((this.selectedItemsToConfirm !== this._selectedItems && + (0, De.fS)(e, this._selectedItems, (e, t) => e === t)) || + ((this._selectedItems = e), + this.onDidChangeSelectionEmitter.fire(e))); + }) + ), + this.visibleDisposables.add( + this.ui.list.onButtonTriggered((e) => + this.onDidTriggerItemButtonEmitter.fire(e) + ) + ), + this.visibleDisposables.add(this.registerQuickNavigation()), + (this.valueSelectionUpdated = !0)), + super.show(); + } + registerQuickNavigation() { + return G.nm(this.ui.container, G.tw.KEY_UP, (e) => { + if (this.canSelectMany || !this._quickNavigate) return; + const t = new jt.y(e), + i = t.keyCode; + this._quickNavigate.keybindings.some((e) => { + const [n, r] = e.getParts(); + return !( + r || + (n.shiftKey && 4 === i + ? t.ctrlKey || t.altKey || t.metaKey + : !( + (n.altKey && 6 === i) || + (n.ctrlKey && 5 === i) || + (n.metaKey && 57 === i) + )) + ); + }) && + (this.activeItems[0] && + ((this._selectedItems = [this.activeItems[0]]), + this.onDidChangeSelectionEmitter.fire(this.selectedItems), + this.onDidAcceptEmitter.fire({ inBackground: !1 })), + (this._quickNavigate = void 0)); + }); + } + update() { + if (!this.visible) return; + let e = !1, + t = !1; + this._hideInput && + this._items.length > 0 && + (this.ui.isScreenReaderOptimized() ? (t = !0) : (e = !0)), + G.og(this.ui.container, 'hidden-input', e); + const i = { + title: !!this.title || !!this.step || !!this.buttons.length, + description: !!this.description, + checkAll: this.canSelectMany, + inputBox: !e, + progressBar: !e, + visibleCount: !0, + count: this.canSelectMany, + ok: 'default' === this.ok ? this.canSelectMany : this.ok, + list: !0, + message: !!this.validationMessage, + customButton: this.customButton, + }; + if ( + (this.ui.setVisibilities(i), + super.update(), + this.ui.inputBox.value !== this.value && + (this.ui.inputBox.value = this.value), + this.valueSelectionUpdated && + ((this.valueSelectionUpdated = !1), + this.ui.inputBox.select( + this._valueSelection && { + start: this._valueSelection[0], + end: this._valueSelection[1], + } + )), + this.ui.inputBox.placeholder !== (this.placeholder || '') && + (this.ui.inputBox.placeholder = this.placeholder || ''), + t) + ) + this.ui.inputBox.ariaLabel = ''; + else { + const e = + this.ariaLabel || this.placeholder || wo.DEFAULT_ARIA_LABEL; + this.ui.inputBox.ariaLabel !== e && + (this.ui.inputBox.ariaLabel = e); + } + if ( + ((this.ui.list.matchOnDescription = this.matchOnDescription), + (this.ui.list.matchOnDetail = this.matchOnDetail), + (this.ui.list.matchOnLabel = this.matchOnLabel), + (this.ui.list.sortByLabel = this.sortByLabel), + this.itemsUpdated) + ) + switch ( + ((this.itemsUpdated = !1), + this.ui.list.setElements(this.items), + this.ui.list.filter(this.filterValue(this.ui.inputBox.value)), + (this.ui.checkAll.checked = this.ui.list.getAllVisibleChecked()), + this.ui.visibleCount.setCount(this.ui.list.getVisibleCount()), + this.ui.count.setCount(this.ui.list.getCheckedCount()), + this._itemActivation) + ) { + case Fs.j.NONE: + this._itemActivation = Fs.j.FIRST; + break; + case Fs.j.SECOND: + this.ui.list.focus(eo.Second), + (this._itemActivation = Fs.j.FIRST); + break; + case Fs.j.LAST: + this.ui.list.focus(eo.Last), + (this._itemActivation = Fs.j.FIRST); + break; + default: + this.trySelectFirst(); + } + this.ui.container.classList.contains('show-checkboxes') !== + !!this.canSelectMany && + (this.canSelectMany + ? this.ui.list.clearFocus() + : this.trySelectFirst()), + this.activeItemsUpdated && + ((this.activeItemsUpdated = !1), + (this.activeItemsToConfirm = this._activeItems), + this.ui.list.setFocusedElements(this.activeItems), + this.activeItemsToConfirm === this._activeItems && + (this.activeItemsToConfirm = null)), + this.selectedItemsUpdated && + ((this.selectedItemsUpdated = !1), + (this.selectedItemsToConfirm = this._selectedItems), + this.canSelectMany + ? this.ui.list.setCheckedElements(this.selectedItems) + : this.ui.list.setSelectedElements(this.selectedItems), + this.selectedItemsToConfirm === this._selectedItems && + (this.selectedItemsToConfirm = null)), + this.validationMessage + ? ((this.ui.message.textContent = this.validationMessage), + this.showMessageDecoration(Vt.Z.Error)) + : ((this.ui.message.textContent = null), + this.showMessageDecoration(Vt.Z.Ignore)), + (this.ui.customButton.label = this.customLabel || ''), + (this.ui.customButton.element.title = this.customHover || ''), + this.ui.setComboboxAccessibility(!0), + i.inputBox || this.ui.list.domFocus(); + } + } + wo.DEFAULT_ARIA_LABEL = (0, ii.N)( + 'quickInputBox.ariaLabel', + 'Type to narrow down results.' + ); + class Co extends _e.JT { + constructor(e) { + super(), + (this.options = e), + (this.comboboxAccessibility = !1), + (this.enabled = !0), + (this.onDidAcceptEmitter = this._register(new B.Q5())), + (this.onDidCustomEmitter = this._register(new B.Q5())), + (this.onDidTriggerButtonEmitter = this._register(new B.Q5())), + (this.keyMods = { ctrlCmd: !1, alt: !1 }), + (this.controller = null), + (this.onShowEmitter = this._register(new B.Q5())), + (this.onShow = this.onShowEmitter.event), + (this.onHideEmitter = this._register(new B.Q5())), + (this.onHide = this.onHideEmitter.event), + (this.idPrefix = e.idPrefix), + (this.parentElement = e.container), + (this.styles = e.styles), + this.registerKeyModsListeners(); + } + registerKeyModsListeners() { + const e = (e) => { + (this.keyMods.ctrlCmd = e.ctrlKey || e.metaKey), + (this.keyMods.alt = e.altKey); + }; + this._register(G.nm(window, G.tw.KEY_DOWN, e, !0)), + this._register(G.nm(window, G.tw.KEY_UP, e, !0)), + this._register(G.nm(window, G.tw.MOUSE_DOWN, e, !0)); + } + getUI() { + if (this.ui) return this.ui; + const e = G.R3( + this.parentElement, + bo('.quick-input-widget.show-file-icons') + ); + (e.tabIndex = -1), (e.style.display = 'none'); + const t = G.dS(e), + i = G.R3(e, bo('.quick-input-titlebar')), + n = this._register(new _r.o(i)); + n.domNode.classList.add('quick-input-left-action-bar'); + const r = G.R3(i, bo('.quick-input-title')), + s = this._register(new _r.o(i)); + s.domNode.classList.add('quick-input-right-action-bar'); + const o = G.R3(e, bo('.quick-input-description')), + a = G.R3(e, bo('.quick-input-header')), + l = G.R3(a, bo('input.quick-input-check-all')); + (l.type = 'checkbox'), + this._register( + G.mu(l, G.tw.CHANGE, (e) => { + const t = l.checked; + C.setAllVisibleChecked(t); + }) + ), + this._register( + G.nm(l, G.tw.CLICK, (e) => { + (e.x || e.y) && h.setFocus(); + }) + ); + const c = G.R3(a, bo('.quick-input-and-message')), + d = G.R3(c, bo('.quick-input-filter')), + h = this._register(new so(d)); + h.setAttribute('aria-describedby', `${this.idPrefix}message`); + const u = G.R3(d, bo('.quick-input-visible-count')); + u.setAttribute('aria-live', 'polite'), + u.setAttribute('aria-atomic', 'true'); + const g = new oo.Z(u, { + countFormat: (0, ii.N)( + { + key: 'quickInput.visibleCount', + comment: [ + 'This tells the user how many items are shown in a list of items to select from. The items can be anything. Currently not visible, but read by screen readers.', + ], + }, + '{0} Results' + ), + }), + f = G.R3(d, bo('.quick-input-count')); + f.setAttribute('aria-live', 'polite'); + const p = new oo.Z(f, { + countFormat: (0, ii.N)( + { + key: 'quickInput.countSelected', + comment: [ + 'This tells the user how many items are selected in a list of items to select from. The items can be anything.', + ], + }, + '{0} Selected' + ), + }), + m = G.R3(a, bo('.quick-input-action')), + _ = new mo(m); + (_.label = (0, ii.N)('ok', 'OK')), + this._register( + _.onDidClick((e) => { + this.onDidAcceptEmitter.fire(); + }) + ); + const b = G.R3(a, bo('.quick-input-action')), + v = new mo(b); + (v.label = (0, ii.N)('custom', 'Custom')), + this._register( + v.onDidClick((e) => { + this.onDidCustomEmitter.fire(); + }) + ); + const y = G.R3( + c, + bo(`#${this.idPrefix}message.quick-input-message`) + ), + w = new go(e); + G.cn(w.getContainer(), 'quick-input-progress'); + const C = this._register( + new to(e, this.idPrefix + 'list', this.options) + ); + this._register( + C.onChangedAllVisibleChecked((e) => { + l.checked = e; + }) + ), + this._register( + C.onChangedVisibleCount((e) => { + g.setCount(e); + }) + ), + this._register( + C.onChangedCheckedCount((e) => { + p.setCount(e); + }) + ), + this._register( + C.onLeave(() => { + setTimeout(() => { + h.setFocus(), + this.controller instanceof wo && + this.controller.canSelectMany && + C.clearFocus(); + }, 0); + }) + ), + this._register( + C.onDidChangeFocus(() => { + this.comboboxAccessibility && + this.getUI().inputBox.setAttribute( + 'aria-activedescendant', + this.getUI().list.getActiveDescendant() || '' + ); + }) + ); + const S = G.go(e); + return ( + this._register(S), + this._register( + G.nm( + e, + G.tw.FOCUS, + (e) => { + this.previousFocusElement = + e.relatedTarget instanceof HTMLElement + ? e.relatedTarget + : void 0; + }, + !0 + ) + ), + this._register( + S.onDidBlur(() => { + this.getUI().ignoreFocusOut || + this.options.ignoreFocusOut() || + this.hide(), + (this.previousFocusElement = void 0); + }) + ), + this._register( + G.nm(e, G.tw.FOCUS, (e) => { + h.setFocus(); + }) + ), + this._register( + G.nm(e, G.tw.KEY_DOWN, (t) => { + const i = new jt.y(t); + switch (i.keyCode) { + case 3: + G.zB.stop(t, !0), this.onDidAcceptEmitter.fire(); + break; + case 9: + G.zB.stop(t, !0), this.hide(); + break; + case 2: + if (!i.altKey && !i.ctrlKey && !i.metaKey) { + const n = ['.action-label.codicon']; + e.classList.contains('show-checkboxes') + ? n.push('input') + : n.push('input[type=text]'), + this.getUI().list.isDisplayed() && + n.push('.monaco-list'); + const r = e.querySelectorAll(n.join(', ')); + i.shiftKey && i.target === r[0] + ? (G.zB.stop(t, !0), r[r.length - 1].focus()) + : i.shiftKey || + i.target !== r[r.length - 1] || + (G.zB.stop(t, !0), r[0].focus()); + } + } + }) + ), + (this.ui = { + container: e, + styleSheet: t, + leftActionBar: n, + titleBar: i, + title: r, + description: o, + rightActionBar: s, + checkAll: l, + filterContainer: d, + inputBox: h, + visibleCountContainer: u, + visibleCount: g, + countContainer: f, + count: p, + okContainer: m, + ok: _, + message: y, + customButtonContainer: b, + customButton: v, + progressBar: w, + list: C, + onDidAccept: this.onDidAcceptEmitter.event, + onDidCustom: this.onDidCustomEmitter.event, + onDidTriggerButton: this.onDidTriggerButtonEmitter.event, + ignoreFocusOut: !1, + keyMods: this.keyMods, + isScreenReaderOptimized: () => + this.options.isScreenReaderOptimized(), + show: (e) => this.show(e), + hide: () => this.hide(), + setVisibilities: (e) => this.setVisibilities(e), + setComboboxAccessibility: (e) => + this.setComboboxAccessibility(e), + setEnabled: (e) => this.setEnabled(e), + setContextKey: (e) => this.options.setContextKey(e), + }), + this.updateStyles(), + this.ui + ); + } + pick(e, t = {}, i = F.T.None) { + return new Promise((n, r) => { + let s = (e) => { + (s = n), t.onKeyMods && t.onKeyMods(o.keyMods), n(e); + }; + if (i.isCancellationRequested) return void s(void 0); + const o = this.createQuickPick(); + let a; + const l = [ + o, + o.onDidAccept(() => { + if (o.canSelectMany) s(o.selectedItems.slice()), o.hide(); + else { + const e = o.activeItems[0]; + e && (s(e), o.hide()); + } + }), + o.onDidChangeActive((e) => { + const i = e[0]; + i && t.onDidFocus && t.onDidFocus(i); + }), + o.onDidChangeSelection((e) => { + if (!o.canSelectMany) { + const t = e[0]; + t && (s(t), o.hide()); + } + }), + o.onDidTriggerItemButton( + (e) => + t.onDidTriggerItemButton && + t.onDidTriggerItemButton( + Object.assign(Object.assign({}, e), { + removeItem: () => { + const t = o.items.indexOf(e.item); + if (-1 !== t) { + const e = o.items.slice(); + e.splice(t, 1), (o.items = e); + } + }, + }) + ) + ), + o.onDidChangeValue((e) => { + !a || + e || + (1 === o.activeItems.length && o.activeItems[0] === a) || + (o.activeItems = [a]); + }), + i.onCancellationRequested(() => { + o.hide(); + }), + o.onDidHide(() => { + (0, _e.B9)(l), s(void 0); + }), + ]; + (o.canSelectMany = !!t.canPickMany), + (o.placeholder = t.placeHolder), + (o.ignoreFocusOut = !!t.ignoreFocusLost), + (o.matchOnDescription = !!t.matchOnDescription), + (o.matchOnDetail = !!t.matchOnDetail), + (o.matchOnLabel = void 0 === t.matchOnLabel || t.matchOnLabel), + (o.autoFocusOnList = + void 0 === t.autoFocusOnList || t.autoFocusOnList), + (o.quickNavigate = t.quickNavigate), + (o.contextKey = t.contextKey), + (o.busy = !0), + Promise.all([e, t.activeItem]).then(([e, t]) => { + (a = t), + (o.busy = !1), + (o.items = e), + o.canSelectMany && + (o.selectedItems = e.filter( + (e) => 'separator' !== e.type && e.picked + )), + a && (o.activeItems = [a]); + }), + o.show(), + Promise.resolve(e).then(void 0, (e) => { + r(e), o.hide(); + }); + }); + } + createQuickPick() { + const e = this.getUI(); + return new wo(e); + } + show(e) { + const t = this.getUI(); + this.onShowEmitter.fire(); + const i = this.controller; + (this.controller = e), + i && i.didHide(), + this.setEnabled(!0), + t.leftActionBar.clear(), + (t.title.textContent = ''), + (t.description.textContent = ''), + t.rightActionBar.clear(), + (t.checkAll.checked = !1), + (t.inputBox.placeholder = ''), + (t.inputBox.password = !1), + t.inputBox.showDecoration(Vt.Z.Ignore), + t.visibleCount.setCount(0), + t.count.setCount(0), + (t.message.textContent = ''), + t.progressBar.stop(), + t.list.setElements([]), + (t.list.matchOnDescription = !1), + (t.list.matchOnDetail = !1), + (t.list.matchOnLabel = !0), + (t.list.sortByLabel = !0), + (t.ignoreFocusOut = !1), + this.setComboboxAccessibility(!1), + (t.inputBox.ariaLabel = ''); + const n = this.options.backKeybindingLabel(); + (vo.tooltip = n + ? (0, ii.N)('quickInput.backWithKeybinding', 'Back ({0})', n) + : (0, ii.N)('quickInput.back', 'Back')), + (t.container.style.display = ''), + this.updateLayout(), + t.inputBox.setFocus(); + } + setVisibilities(e) { + const t = this.getUI(); + (t.title.style.display = e.title ? '' : 'none'), + (t.description.style.display = e.description ? '' : 'none'), + (t.checkAll.style.display = e.checkAll ? '' : 'none'), + (t.filterContainer.style.display = e.inputBox ? '' : 'none'), + (t.visibleCountContainer.style.display = e.visibleCount + ? '' + : 'none'), + (t.countContainer.style.display = e.count ? '' : 'none'), + (t.okContainer.style.display = e.ok ? '' : 'none'), + (t.customButtonContainer.style.display = e.customButton + ? '' + : 'none'), + (t.message.style.display = e.message ? '' : 'none'), + (t.progressBar.getContainer().style.display = e.progressBar + ? '' + : 'none'), + t.list.display(!!e.list), + t.container.classList[e.checkAll ? 'add' : 'remove']( + 'show-checkboxes' + ), + this.updateLayout(); + } + setComboboxAccessibility(e) { + if (e !== this.comboboxAccessibility) { + const t = this.getUI(); + (this.comboboxAccessibility = e), + this.comboboxAccessibility + ? (t.inputBox.setAttribute('role', 'combobox'), + t.inputBox.setAttribute('aria-haspopup', 'true'), + t.inputBox.setAttribute('aria-autocomplete', 'list'), + t.inputBox.setAttribute( + 'aria-activedescendant', + t.list.getActiveDescendant() || '' + )) + : (t.inputBox.removeAttribute('role'), + t.inputBox.removeAttribute('aria-haspopup'), + t.inputBox.removeAttribute('aria-autocomplete'), + t.inputBox.removeAttribute('aria-activedescendant')); + } + } + setEnabled(e) { + if (e !== this.enabled) { + this.enabled = e; + for (const t of this.getUI().leftActionBar.viewItems) + t.getAction().enabled = e; + for (const t of this.getUI().rightActionBar.viewItems) + t.getAction().enabled = e; + (this.getUI().checkAll.disabled = !e), + (this.getUI().ok.enabled = e), + (this.getUI().list.enabled = e); + } + } + hide() { + var e; + const t = this.controller; + if (t) { + const i = !(null === (e = this.ui) || void 0 === e + ? void 0 + : e.container.contains(document.activeElement)); + (this.controller = null), + this.onHideEmitter.fire(), + (this.getUI().container.style.display = 'none'), + i || + (this.previousFocusElement && + this.previousFocusElement.offsetParent + ? (this.previousFocusElement.focus(), + (this.previousFocusElement = void 0)) + : this.options.returnFocus()), + t.didHide(); + } + } + layout(e, t) { + (this.dimension = e), + (this.titleBarOffset = t), + this.updateLayout(); + } + updateLayout() { + if (this.ui) { + this.ui.container.style.top = `${this.titleBarOffset}px`; + const e = this.ui.container.style, + t = Math.min(0.62 * this.dimension.width, Co.MAX_WIDTH); + (e.width = t + 'px'), + (e.marginLeft = '-' + t / 2 + 'px'), + this.ui.inputBox.layout(), + this.ui.list.layout( + this.dimension && 0.4 * this.dimension.height + ); + } + } + applyStyles(e) { + (this.styles = e), this.updateStyles(); + } + updateStyles() { + if (this.ui) { + const { + quickInputTitleBackground: e, + quickInputBackground: t, + quickInputForeground: i, + contrastBorder: n, + widgetShadow: r, + } = this.styles.widget; + (this.ui.titleBar.style.backgroundColor = e ? e.toString() : ''), + (this.ui.container.style.backgroundColor = t + ? t.toString() + : ''), + (this.ui.container.style.color = i ? i.toString() : ''), + (this.ui.container.style.border = n ? `1px solid ${n}` : ''), + (this.ui.container.style.boxShadow = r ? `0 5px 8px ${r}` : ''), + this.ui.inputBox.style(this.styles.inputBox), + this.ui.count.style(this.styles.countBadge), + this.ui.ok.style(this.styles.button), + this.ui.customButton.style(this.styles.button), + this.ui.progressBar.style(this.styles.progressBar), + this.ui.list.style(this.styles.list); + const s = []; + this.styles.list.listInactiveFocusForeground && + (s.push( + `.monaco-list .monaco-list-row.focused { color: ${this.styles.list.listInactiveFocusForeground}; }` + ), + s.push( + `.monaco-list .monaco-list-row.focused:hover { color: ${this.styles.list.listInactiveFocusForeground}; }` + )), + this.styles.list.pickerGroupBorder && + s.push( + `.quick-input-list .quick-input-list-entry { border-top-color: ${this.styles.list.pickerGroupBorder}; }` + ), + this.styles.list.pickerGroupForeground && + s.push( + `.quick-input-list .quick-input-list-separator { color: ${this.styles.list.pickerGroupForeground}; }` + ); + const o = s.join('\n'); + o !== this.ui.styleSheet.innerHTML && + (this.ui.styleSheet.innerHTML = o); + } + } + } + Co.MAX_WIDTH = 600; + var So = i(41157), + ko = i(90725), + xo = i(88289), + Lo = function (e, t) { + return function (i, n) { + t(i, n, e); + }; + }; + let Mo = class extends _e.JT { + constructor(e, t) { + super(), + (this.quickInputService = e), + (this.instantiationService = t), + (this.registry = _n.B.as(ko.IP.Quickaccess)), + (this.mapProviderToDescriptor = new Map()), + (this.lastAcceptedPickerValues = new Map()), + (this.visibleQuickAccess = void 0); + } + show(e = '', t) { + var i; + const [n, r] = this.getOrInstantiateProvider(e), + s = this.visibleQuickAccess, + o = null == s ? void 0 : s.descriptor; + if (s && r && o === r) + return ( + e === r.prefix || + (null == t ? void 0 : t.preserveValue) || + (s.picker.value = e), + void this.adjustValueSelection(s.picker, r, t) + ); + if (r && !(null == t ? void 0 : t.preserveValue)) { + let t; + if (s && o && o !== r) { + const e = s.value.substr(o.prefix.length); + e && (t = `${r.prefix}${e}`); + } + if (!t) { + const e = null == n ? void 0 : n.defaultFilterValue; + e === ko.Ry.LAST + ? (t = this.lastAcceptedPickerValues.get(r)) + : 'string' == typeof e && (t = `${r.prefix}${e}`); + } + 'string' == typeof t && (e = t); + } + const a = new _e.SL(), + l = a.add(this.quickInputService.createQuickPick()); + (l.value = e), + this.adjustValueSelection(l, r, t), + (l.placeholder = null == r ? void 0 : r.placeholder), + (l.quickNavigate = + null == t ? void 0 : t.quickNavigateConfiguration), + (l.hideInput = !!l.quickNavigate && !s), + ('number' == typeof (null == t ? void 0 : t.itemActivation) || + (null == t ? void 0 : t.quickNavigateConfiguration)) && + (l.itemActivation = + null !== (i = null == t ? void 0 : t.itemActivation) && + void 0 !== i + ? i + : So.jG.SECOND), + (l.contextKey = null == r ? void 0 : r.contextKey), + (l.filterValue = (e) => e.substring(r ? r.prefix.length : 0)), + (null == r ? void 0 : r.placeholder) && + (l.ariaLabel = null == r ? void 0 : r.placeholder); + const c = this.registerPickerListeners(l, n, r, e, a); + n && a.add(n.provide(l, c)), l.show(); + } + adjustValueSelection(e, t, i) { + var n; + let r; + (r = (null == i ? void 0 : i.preserveValue) + ? [e.value.length, e.value.length] + : [ + null !== (n = null == t ? void 0 : t.prefix.length) && + void 0 !== n + ? n + : 0, + e.value.length, + ]), + (e.valueSelection = r); + } + registerPickerListeners(e, t, i, n, r) { + const s = (this.visibleQuickAccess = { + picker: e, + descriptor: i, + value: n, + }); + r.add( + (0, _e.OF)(() => { + s === this.visibleQuickAccess && + (this.visibleQuickAccess = void 0); + }) + ), + r.add( + e.onDidChangeValue((e) => { + const [i] = this.getOrInstantiateProvider(e); + i !== t ? this.show(e, { preserveValue: !0 }) : (s.value = e); + }) + ), + i && + r.add( + e.onDidAccept(() => { + this.lastAcceptedPickerValues.set(i, e.value); + }) + ); + const o = r.add(new F.A()); + return ( + (0, xo.I)(e.onDidHide)(() => { + 0 === e.selectedItems.length && o.cancel(), r.dispose(); + }), + o.token + ); + } + getOrInstantiateProvider(e) { + const t = this.registry.getQuickAccessProvider(e); + if (!t) return [void 0, void 0]; + let i = this.mapProviderToDescriptor.get(t); + return ( + i || + ((i = this.instantiationService.createInstance(t.ctor)), + this.mapProviderToDescriptor.set(t, i)), + [i, t] + ); + } + }; + Mo = (function (e, t, i, n) { + var r, + s = arguments.length, + o = + s < 3 + ? t + : null === n + ? (n = Object.getOwnPropertyDescriptor(t, i)) + : n; + if ( + 'object' == typeof Reflect && + 'function' == typeof Reflect.decorate + ) + o = Reflect.decorate(e, t, i, n); + else + for (var a = e.length - 1; a >= 0; a--) + (r = e[a]) && + (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); + return s > 3 && o && Object.defineProperty(t, i, o), o; + })([Lo(0, So.eJ), Lo(1, Ui.TG)], Mo); + var Do = function (e, t) { + return function (i, n) { + t(i, n, e); + }; + }; + let No = class extends Ki.bB { + constructor(e, t, i, n, r) { + super(i), + (this.instantiationService = e), + (this.contextKeyService = t), + (this.accessibilityService = n), + (this.layoutService = r), + (this.contexts = new Map()); + } + get controller() { + return ( + this._controller || + (this._controller = this._register(this.createController())), + this._controller + ); + } + get quickAccess() { + return ( + this._quickAccess || + (this._quickAccess = this._register( + this.instantiationService.createInstance(Mo) + )), + this._quickAccess + ); + } + createController(e = this.layoutService, t) { + var i, n; + const r = { + idPrefix: 'quickInput_', + container: e.container, + ignoreFocusOut: () => !1, + isScreenReaderOptimized: () => + this.accessibilityService.isScreenReaderOptimized(), + backKeybindingLabel: () => {}, + setContextKey: (e) => this.setContextKey(e), + returnFocus: () => e.focus(), + createList: (e, t, i, n, r) => + this.instantiationService.createInstance( + ts.ev, + e, + t, + i, + n, + r + ), + styles: this.computeStyles(), + }, + s = this._register( + new Co(Object.assign(Object.assign({}, r), t)) + ); + return ( + s.layout( + e.dimension, + null !== + (n = + null === (i = e.offset) || void 0 === i ? void 0 : i.top) && + void 0 !== n + ? n + : 0 + ), + this._register( + e.onLayout((t) => { + var i, n; + return s.layout( + t, + null !== + (n = + null === (i = e.offset) || void 0 === i + ? void 0 + : i.top) && void 0 !== n + ? n + : 0 + ); + }) + ), + this._register(s.onShow(() => this.resetContextKeys())), + this._register(s.onHide(() => this.resetContextKeys())), + s + ); + } + setContextKey(e) { + let t; + e && + ((t = this.contexts.get(e)), + t || + ((t = new Vi.uy(e, !1).bindTo(this.contextKeyService)), + this.contexts.set(e, t))), + (t && t.get()) || (this.resetContextKeys(), t && t.set(!0)); + } + resetContextKeys() { + this.contexts.forEach((e) => { + e.get() && e.reset(); + }); + } + pick(e, t = {}, i = F.T.None) { + return this.controller.pick(e, t, i); + } + createQuickPick() { + return this.controller.createQuickPick(); + } + updateStyles() { + this.controller.applyStyles(this.computeStyles()); + } + computeStyles() { + return { + widget: Object.assign( + {}, + (0, Br.o)(this.theme, { + quickInputBackground: zn.zK, + quickInputForeground: zn.tZ, + quickInputTitleBackground: zn.lo, + contrastBorder: zn.lR, + widgetShadow: zn.rh, + }) + ), + inputBox: (0, Br.o)(this.theme, { + inputForeground: zn.zJ, + inputBackground: zn.sE, + inputBorder: zn.dt, + inputValidationInfoBackground: zn._l, + inputValidationInfoForeground: zn.YI, + inputValidationInfoBorder: zn.EP, + inputValidationWarningBackground: zn.RV, + inputValidationWarningForeground: zn.SU, + inputValidationWarningBorder: zn.C3, + inputValidationErrorBackground: zn.p, + inputValidationErrorForeground: zn._t, + inputValidationErrorBorder: zn.OZ, + }), + countBadge: (0, Br.o)(this.theme, { + badgeBackground: zn.g8, + badgeForeground: zn.qe, + badgeBorder: zn.lR, + }), + button: (0, Br.o)(this.theme, { + buttonForeground: zn.j5, + buttonBackground: zn.b7, + buttonHoverBackground: zn.GO, + buttonBorder: zn.lR, + }), + progressBar: (0, Br.o)(this.theme, { + progressBarBackground: zn.zR, + }), + list: (0, Br.o)(this.theme, { + listBackground: zn.zK, + listInactiveFocusForeground: zn._2, + listInactiveFocusBackground: zn._b, + listFocusOutline: zn.xL, + listInactiveFocusOutline: zn.xL, + pickerGroupBorder: zn.op, + pickerGroupForeground: zn.kJ, + }), + }; + } + }; + No = (function (e, t, i, n) { + var r, + s = arguments.length, + o = + s < 3 + ? t + : null === n + ? (n = Object.getOwnPropertyDescriptor(t, i)) + : n; + if ( + 'object' == typeof Reflect && + 'function' == typeof Reflect.decorate + ) + o = Reflect.decorate(e, t, i, n); + else + for (var a = e.length - 1; a >= 0; a--) + (r = e[a]) && + (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); + return s > 3 && o && Object.defineProperty(t, i, o), o; + })( + [Do(0, Ui.TG), Do(1, Vi.i6), Do(2, Ki.XE), Do(3, qi.F), Do(4, zr)], + No + ); + var Eo = function (e, t, i, n) { + var r, + s = arguments.length, + o = + s < 3 + ? t + : null === n + ? (n = Object.getOwnPropertyDescriptor(t, i)) + : n; + if ( + 'object' == typeof Reflect && + 'function' == typeof Reflect.decorate + ) + o = Reflect.decorate(e, t, i, n); + else + for (var a = e.length - 1; a >= 0; a--) + (r = e[a]) && + (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); + return s > 3 && o && Object.defineProperty(t, i, o), o; + }, + To = function (e, t) { + return function (i, n) { + t(i, n, e); + }; + }; + let Io = class extends No { + constructor(e, t, i, n, r, s) { + super(t, i, n, r, s), (this.host = void 0); + const o = Ao.get(e); + this.host = { + _serviceBrand: void 0, + get container() { + return o.widget.getDomNode(); + }, + get dimension() { + return e.getLayoutInfo(); + }, + get onLayout() { + return e.onDidLayoutChange; + }, + focus: () => e.focus(), + }; + } + createController() { + return super.createController(this.host); + } + }; + Io = Eo( + [To(1, Ui.TG), To(2, Vi.i6), To(3, Ki.XE), To(4, qi.F), To(5, zr)], + Io + ); + let Oo = class { + constructor(e, t) { + (this.instantiationService = e), + (this.codeEditorService = t), + (this.mapEditorToService = new Map()); + } + get activeService() { + const e = this.codeEditorService.getFocusedCodeEditor(); + if (!e) + throw new Error( + 'Quick input service needs a focused editor to work.' + ); + let t = this.mapEditorToService.get(e); + if (!t) { + const i = (t = this.instantiationService.createInstance(Io, e)); + this.mapEditorToService.set(e, t), + (0, xo.I)(e.onDidDispose)(() => { + i.dispose(), this.mapEditorToService.delete(e); + }); + } + return t; + } + get quickAccess() { + return this.activeService.quickAccess; + } + pick(e, t = {}, i = F.T.None) { + return this.activeService.pick(e, t, i); + } + createQuickPick() { + return this.activeService.createQuickPick(); + } + }; + Oo = Eo([To(0, Ui.TG), To(1, q.$)], Oo); + class Ao { + constructor(e) { + (this.editor = e), (this.widget = new Ro(this.editor)); + } + static get(e) { + return e.getContribution(Ao.ID); + } + dispose() { + this.widget.dispose(); + } + } + Ao.ID = 'editor.controller.quickInput'; + class Ro { + constructor(e) { + (this.codeEditor = e), + (this.domNode = document.createElement('div')), + this.codeEditor.addOverlayWidget(this); + } + getId() { + return Ro.ID; + } + getDomNode() { + return this.domNode; + } + getPosition() { + return { preference: 2 }; + } + dispose() { + this.codeEditor.removeOverlayWidget(this); + } + } + (Ro.ID = 'editor.contrib.quickInputWidget'), (0, Ps._K)(Ao.ID, Ao); + var Po, + Fo = i(37280); + !(function (e) { + const t = new Zr.y(); + class i { + constructor(e, t) { + (this._serviceId = e), (this._factory = t), (this._value = null); + } + get id() { + return this._serviceId; + } + get(e) { + if (!this._value) { + if ( + (e && (this._value = e[this._serviceId.toString()]), + this._value || (this._value = this._factory(e)), + !this._value) + ) + throw new Error( + 'Service ' + this._serviceId + ' is missing!' + ); + t.set(this._serviceId, this._value); + } + return this._value; + } + } + e.LazyStaticService = i; + let n = []; + function r(e, t) { + let r = new i(e, t); + return n.push(r), r; + } + (e.init = function (e) { + let t = new Zr.y(); + for (const [e, i] of (0, _s.d)()) t.set(e, i); + for (let i in e) e.hasOwnProperty(i) && t.set((0, Ui.yh)(i), e[i]); + n.forEach((i) => t.set(i.id, i.get(e))); + let i = new Qr(t, !0); + return t.set(Ui.TG, i), [t, i]; + }), + (e.instantiationService = r(Ui.TG, () => new Qr(t, !0))); + const s = new Di(); + (e.configurationService = r(qt.Ui, () => s)), + (e.resourceConfigurationService = r(ot.V, () => new Ni(s))), + (e.resourcePropertiesService = r(ot.y, () => new Ei(s))), + (e.contextService = r(mi.ec, () => new Ii())), + (e.labelService = r(es.e, () => new Ri())), + (e.telemetryService = r(Hr.b, () => new Ti())), + (e.dialogService = r($r.S, () => new Si())), + (e.notificationService = r(pi.lT, () => new ki())), + (e.markerService = r(is.lT, () => new os())), + (e.modeService = r(sn.h, (e) => new wn())), + (e.standaloneThemeService = r(Hi.Z, () => new rr())), + (e.logService = r(at.VZ, () => new at.d8())), + (e.undoRedoService = r( + Cs.t, + (t) => + new As(e.dialogService.get(t), e.notificationService.get(t)) + )), + (e.modelService = r( + st.q, + (t) => + new Cn.BR( + e.configurationService.get(t), + e.resourcePropertiesService.get(t), + e.standaloneThemeService.get(t), + e.logService.get(t), + e.undoRedoService.get(t) + ) + )), + (e.markerDecorationsService = r( + us.i, + (t) => new ms(e.modelService.get(t), e.markerService.get(t)) + )), + (e.codeEditorService = r( + q.$, + (t) => new An(e.standaloneThemeService.get(t)) + )), + (e.editorProgressService = r(Zi.e, () => new Ci())), + (e.storageService = r(as.Uy, () => new as.vm())), + (e.storageSyncService = r(Fo.u, () => new Fo.i())), + (e.editorWorkerService = r( + fe.p, + (t) => + new ht( + e.modelService.get(t), + e.resourceConfigurationService.get(t), + e.logService.get(t) + ) + )); + })(Po || (Po = {})); + class Bo extends _e.JT { + constructor(e, t) { + super(); + const [i, n] = Po.init(t); + (this._serviceCollection = i), (this._instantiationService = n); + const r = this.get(qt.Ui), + s = this.get(pi.lT), + o = this.get(Hr.b), + a = this.get(Ki.XE), + l = this.get(at.VZ); + let c = (e, i) => { + let n = null; + return ( + t && (n = t[e.toString()]), + n || (n = i()), + this._serviceCollection.set(e, n), + n + ); + }, + d = c(Vi.i6, () => this._register(new fr(r))); + c(qi.F, () => new vs(d, r)), c(ts.Lw, () => new ts.XN(a)); + let h = c(ee.H, () => new xi(this._instantiationService)), + u = c($i.d, () => this._register(new Li(d, h, o, s, l, e))), + g = c(zr, () => new Pi(Po.codeEditorService.get(q.$), e)); + c(So.eJ, () => new Oo(n, Po.codeEditorService.get(q.$))); + let f = c(zi.u, () => this._register(new Ur(g))); + c(Gi.p, () => new ws()), + c(zi.i, () => { + const e = new Vr(o, s, f, u, a); + return e.configure({ blockMouse: !1 }), this._register(e); + }), + c(ji.co, () => new ds(h)), + c(Ut.vu, () => new Ai(Po.modelService.get(st.q))); + } + get(e) { + let t = this._serviceCollection.get(e); + if (!t) throw new Error('Missing service ' + e); + return t; + } + set(e, t) { + this._serviceCollection.set(e, t); + } + has(e) { + return this._serviceCollection.has(e); + } + } + var Wo = i(89052); + function Yo(e, t, i) { + let n = new Bo(e, t), + r = null; + n.has(pe.S) || ((r = new wi(Po.modelService.get())), n.set(pe.S, r)), + n.has(te.v4) || n.set(te.v4, new ae(n.get(q.$), n.get(ee.H))); + let s = i(n); + return r && r.setEditor(s), s; + } + function Ho(e, t, i) { + return Po.modelService.get().createModel(e, t, i); + } + function jo(e, t) { + return 'boolean' == typeof e ? e : t; + } + function Vo(e, t) { + return 'string' == typeof e ? e : t; + } + function zo(e, t = !1) { + t && + (e = e.map(function (e) { + return e.toLowerCase(); + })); + const i = (function (e) { + const t = {}; + for (const i of e) t[i] = !0; + return t; + })(e); + return t + ? function (e) { + return ( + void 0 !== i[e.toLowerCase()] && + i.hasOwnProperty(e.toLowerCase()) + ); + } + : function (e) { + return void 0 !== i[e] && i.hasOwnProperty(e); + }; + } + function Uo(e, t) { + let i = 0; + for (; t.indexOf('@') >= 0 && i < 5; ) + i++, + (t = t.replace(/@(\w+)/g, function (i, n) { + let r = ''; + if ('string' == typeof e[n]) r = e[n]; + else { + if (!(e[n] && e[n] instanceof RegExp)) + throw void 0 === e[n] + ? Mt( + e, + "language definition does not contain attribute '" + + n + + "', used at: " + + t + ) + : Mt( + e, + "attribute reference '" + + n + + "' must be a string, used at: " + + t + ); + r = e[n].source; + } + return kt(r) ? '' : '(?:' + r + ')'; + })); + let n = (e.ignoreCase ? 'i' : '') + (e.unicode ? 'u' : ''); + return new RegExp(t, n); + } + function $o(e, t, i, n) { + let r = -1, + s = i, + o = i.match(/^\$(([sS]?)(\d\d?)|#)(.*)$/); + o && (o[3] && ((r = parseInt(o[3])), o[2] && (r += 100)), (s = o[4])); + let a, + l = '~', + c = s; + if ( + (s && 0 !== s.length + ? /^\w*$/.test(c) + ? (l = '==') + : ((o = s.match(/^(@|!@|~|!~|==|!=)(.*)$/)), + o && ((l = o[1]), (c = o[2]))) + : ((l = '!='), (c = '')), + ('~' !== l && '!~' !== l) || !/^(\w|\|)*$/.test(c)) + ) + if ('@' === l || '!@' === l) { + let i = e[c]; + if (!i) + throw Mt( + e, + "the @ match target '" + c + "' is not defined, in rule: " + t + ); + if ( + !(function (e, t) { + if (!t) return !1; + if (!Array.isArray(t)) return !1; + for (const e of t) if ('string' != typeof e) return !1; + return !0; + })(0, i) + ) + throw Mt( + e, + "the @ match target '" + + c + + "' must be an array of strings, in rule: " + + t + ); + let n = zo(i, e.ignoreCase); + a = function (e) { + return '@' === l ? n(e) : !n(e); + }; + } else if ('~' === l || '!~' === l) + if (c.indexOf('$') < 0) { + let t = Uo(e, '^' + c + '$'); + a = function (e) { + return '~' === l ? t.test(e) : !t.test(e); + }; + } else + a = function (t, i, n, r) { + return Uo(e, '^' + Dt(e, c, i, n, r) + '$').test(t); + }; + else if (c.indexOf('$') < 0) { + let t = xt(e, c); + a = function (e) { + return '==' === l ? e === t : e !== t; + }; + } else { + let t = xt(e, c); + a = function (i, n, r, s, o) { + let a = Dt(e, t, n, r, s); + return '==' === l ? i === a : i !== a; + }; + } + else { + let t = zo(c.split('|'), e.ignoreCase); + a = function (e) { + return '~' === l ? t(e) : !t(e); + }; + } + return -1 === r + ? { + name: i, + value: n, + test: function (e, t, i, n) { + return a(e, e, t, i, n); + }, + } + : { + name: i, + value: n, + test: function (e, t, i, n) { + let s = (function (e, t, i, n) { + if (n < 0) return e; + if (n < t.length) return t[n]; + if (n >= 100) { + n -= 100; + let e = i.split('.'); + if ((e.unshift(i), n < e.length)) return e[n]; + } + return null; + })(e, t, i, r); + return a(s || '', e, t, i, n); + }, + }; + } + function Ko(e, t, i) { + if (i) { + if ('string' == typeof i) return i; + if (i.token || '' === i.token) { + if ('string' != typeof i.token) + throw Mt( + e, + "a 'token' attribute must be of type string, in rule: " + t + ); + { + let n = { token: i.token }; + if ( + (i.token.indexOf('$') >= 0 && (n.tokenSubst = !0), + 'string' == typeof i.bracket) + ) + if ('@open' === i.bracket) n.bracket = 1; + else { + if ('@close' !== i.bracket) + throw Mt( + e, + "a 'bracket' attribute must be either '@open' or '@close', in rule: " + + t + ); + n.bracket = -1; + } + if (i.next) { + if ('string' != typeof i.next) + throw Mt( + e, + 'the next state must be a string value in rule: ' + t + ); + { + let r = i.next; + if ( + !/^(@pop|@push|@popall)$/.test(r) && + ('@' === r[0] && (r = r.substr(1)), + r.indexOf('$') < 0 && + !(function (e, t) { + let i = t; + for (; i && i.length > 0; ) { + if (e.stateNames[i]) return !0; + const t = i.lastIndexOf('.'); + i = t < 0 ? null : i.substr(0, t); + } + return !1; + })(e, Dt(e, r, '', [], ''))) + ) + throw Mt( + e, + "the next state '" + + i.next + + "' is not defined in rule: " + + t + ); + n.next = r; + } + } + return ( + 'number' == typeof i.goBack && (n.goBack = i.goBack), + 'string' == typeof i.switchTo && (n.switchTo = i.switchTo), + 'string' == typeof i.log && (n.log = i.log), + 'string' == typeof i.nextEmbedded && + ((n.nextEmbedded = i.nextEmbedded), (e.usesEmbedded = !0)), + n + ); + } + } + if (Array.isArray(i)) { + let n = []; + for (let r = 0, s = i.length; r < s; r++) n[r] = Ko(e, t, i[r]); + return { group: n }; + } + if (i.cases) { + let n = []; + for (let r in i.cases) + if (i.cases.hasOwnProperty(r)) { + const s = Ko(e, t, i.cases[r]); + '@default' === r || '@' === r || '' === r + ? n.push({ test: void 0, value: s, name: r }) + : '@eos' === r + ? n.push({ + test: function (e, t, i, n) { + return n; + }, + value: s, + name: r, + }) + : n.push($o(e, t, r, s)); + } + const r = e.defaultToken; + return { + test: function (e, t, i, s) { + for (const r of n) + if (!r.test || r.test(e, t, i, s)) return r.value; + return r; + }, + }; + } + throw Mt( + e, + "an action must be a string, an object with a 'token' or 'cases' attribute, or an array of actions; in rule: " + + t + ); + } + return { token: '' }; + } + class qo { + constructor(e) { + (this.regex = new RegExp('')), + (this.action = { token: '' }), + (this.matchOnlyAtLineStart = !1), + (this.name = ''), + (this.name = e); + } + setRegex(e, t) { + let i; + if ('string' == typeof t) i = t; + else { + if (!(t instanceof RegExp)) + throw Mt( + e, + 'rules must start with a match string or regular expression: ' + + this.name + ); + i = t.source; + } + (this.matchOnlyAtLineStart = i.length > 0 && '^' === i[0]), + (this.name = this.name + ': ' + i), + (this.regex = Uo( + e, + '^(?:' + (this.matchOnlyAtLineStart ? i.substr(1) : i) + ')' + )); + } + setAction(e, t) { + this.action = Ko(e, this.name, t); + } + } + class Go { + constructor(e) { + this._actual = e; + } + getInitialState() { + return this._actual.getInitialState(); + } + tokenize(e, t, i) { + throw new Error('Not supported!'); + } + tokenize2(e, t) { + let i = this._actual.tokenizeEncoded(e, t); + return new z.Hi(i.tokens, i.endState); + } + } + class Zo { + constructor(e, t, i) { + (this._standaloneThemeService = e), + (this._languageIdentifier = t), + (this._actual = i); + } + getInitialState() { + return this._actual.getInitialState(); + } + _toClassicTokens(e, t, i) { + let n = [], + r = 0; + for (let s = 0, o = e.length; s < o; s++) { + const o = e[s]; + let a = o.startIndex; + 0 === s ? (a = 0) : a < r && (a = r), + (n[s] = new z.WU(a + i, o.scopes, t)), + (r = a); + } + return n; + } + tokenize(e, t, i) { + let n, + r = this._actual.tokenize(e, t), + s = this._toClassicTokens( + r.tokens, + this._languageIdentifier.language, + i + ); + return (n = r.endState.equals(t) ? t : r.endState), new z.hG(s, n); + } + _toBinaryTokens(e, t) { + const i = this._languageIdentifier.id, + n = this._standaloneThemeService.getColorTheme().tokenTheme; + let r = [], + s = 0, + o = 0; + for (let a = 0, l = e.length; a < l; a++) { + const l = e[a], + c = n.match(i, l.scopes); + if (s > 0 && r[s - 1] === c) continue; + let d = l.startIndex; + 0 === a ? (d = 0) : d < o && (d = o), + (r[s++] = d + t), + (r[s++] = c), + (o = d); + } + let a = new Uint32Array(s); + for (let e = 0; e < s; e++) a[e] = r[e]; + return a; + } + tokenize2(e, t, i) { + let n, + r = this._actual.tokenize(e, t), + s = this._toBinaryTokens(r.tokens, i); + return (n = r.endState.equals(t) ? t : r.endState), new z.Hi(s, n); + } + } + function Jo(e) { + return e && 'function' == typeof e.then; + } + const Qo = self; + (P.BH.wrappingIndent.defaultValue = 0), + (P.BH.glyphMargin.defaultValue = !1), + (P.BH.autoIndent.defaultValue = 3), + (P.BH.overviewRulerLanes.defaultValue = 2); + const Xo = $(); + (Xo.editor = { + create: function (e, t, i) { + return Yo( + e, + i || {}, + (i) => + new nn( + e, + t, + i, + i.get(Ui.TG), + i.get(q.$), + i.get(ee.H), + i.get(Vi.i6), + i.get($i.d), + i.get(zi.u), + i.get(Hi.Z), + i.get(pi.lT), + i.get(qt.Ui), + i.get(qi.F) + ) + ); + }, + onDidCreateEditor: function (e) { + return Po.codeEditorService.get().onCodeEditorAdd((t) => { + e(t); + }); + }, + createDiffEditor: function (e, t, i) { + return Yo( + e, + i || {}, + (i) => + new rn( + e, + t, + i, + i.get(Ui.TG), + i.get(Vi.i6), + i.get($i.d), + i.get(zi.u), + i.get(fe.p), + i.get(q.$), + i.get(Hi.Z), + i.get(pi.lT), + i.get(qt.Ui), + i.get(zi.i), + i.get(Zi.e), + i.get(Gi.p) + ) + ); + }, + createDiffNavigator: function (e, t) { + return new le.F(e, t); + }, + createModel: function (e, t, i) { + if (((e = e || ''), !t)) { + let t = e.indexOf('\n'), + n = e; + return ( + -1 !== t && (n = e.substring(0, t)), + Ho( + e, + Po.modeService + .get() + .createByFilepathOrFirstLine(i || null, n), + i + ) + ); + } + return Ho(e, Po.modeService.get().create(t), i); + }, + setModelLanguage: function (e, t) { + Po.modelService.get().setMode(e, Po.modeService.get().create(t)); + }, + setModelMarkers: function (e, t, i) { + e && Po.markerService.get().changeOne(t, e.uri, i); + }, + getModelMarkers: function (e) { + return Po.markerService.get().read(e); + }, + getModels: function () { + return Po.modelService.get().getModels(); + }, + getModel: function (e) { + return Po.modelService.get().getModel(e); + }, + onDidCreateModel: function (e) { + return Po.modelService.get().onModelAdded(e); + }, + onWillDisposeModel: function (e) { + return Po.modelService.get().onModelRemoved(e); + }, + onDidChangeModelLanguage: function (e) { + return Po.modelService.get().onModelModeChanged((t) => { + e({ model: t.model, oldLanguage: t.oldModeId }); + }); + }, + createWebWorker: function (e) { + return (function (e, t) { + return new bt(e, t); + })(Po.modelService.get(), e); + }, + colorizeElement: function (e, t) { + const i = Po.standaloneThemeService.get(); + return ( + i.registerEditorContainer(e), + Wt.colorizeElement(i, Po.modeService.get(), e, t) + ); + }, + colorize: function (e, t, i) { + return ( + Po.standaloneThemeService + .get() + .registerEditorContainer(document.body), + Wt.colorize(Po.modeService.get(), e, t, i) + ); + }, + colorizeModelLine: function (e, t, i = 4) { + return ( + Po.standaloneThemeService + .get() + .registerEditorContainer(document.body), + Wt.colorizeModelLine(e, t, i) + ); + }, + tokenize: function (e, t) { + Po.modeService.get().triggerMode(t); + let i = + ((n = t), + ue.RW.get(n) || { + getInitialState: () => ge.nO, + tokenize: (e, t, i) => (0, ge.Ri)(n, e, t, i), + }); + var n; + let r = e.split(/\r\n|\r|\n/), + s = [], + o = i.getInitialState(); + for (let e = 0, t = r.length; e < t; e++) { + let t = r[e], + n = i.tokenize(t, o, 0); + (s[e] = n.tokens), (o = n.endState); + } + return s; + }, + defineTheme: function (e, t) { + Po.standaloneThemeService.get().defineTheme(e, t); + }, + setTheme: function (e) { + Po.standaloneThemeService.get().setTheme(e); + }, + remeasureFonts: function () { + (0, Wo.P)(); + }, + AccessibilitySupport: n, + ContentWidgetPositionPreference: l, + CursorChangeReason: c, + DefaultEndOfLine: d, + EditorAutoIndentStrategy: u, + EditorOption: g, + EndOfLinePreference: f, + EndOfLineSequence: p, + MinimapPosition: y, + MouseTargetType: w, + OverlayWidgetPositionPreference: C, + OverviewRulerLane: S, + RenderLineNumbersType: k, + RenderMinimap: x, + ScrollbarVisibility: M, + ScrollType: L, + TextEditorCursorBlinkingStyle: I, + TextEditorCursorStyle: O, + TrackedRangeStickiness: A, + WrappingIndent: R, + ConfigurationChangedEvent: P.Bb, + BareFontInfo: ce.E, + FontInfo: ce.p, + TextModelResolvedOptions: he.dJ, + FindMatch: he.tk, + EditorType: de.g, + EditorOptions: P.BH, + }), + (Xo.languages = { + register: function (e) { + mn.dQ.registerLanguage(e); + }, + getLanguages: function () { + let e = []; + return (e = e.concat(mn.dQ.getLanguages())), e; + }, + onLanguage: function (e, t) { + let i = Po.modeService.get().onDidCreateMode((n) => { + n.getId() === e && (i.dispose(), t()); + }); + return i; + }, + getEncodedLanguageId: function (e) { + let t = Po.modeService.get().getLanguageIdentifier(e); + return t ? t.id : 0; + }, + setLanguageConfiguration: function (e, t) { + let i = Po.modeService.get().getLanguageIdentifier(e); + if (!i) + throw new Error( + `Cannot set configuration for unknown language ${e}` + ); + return Me.zu.register(i, t); + }, + setTokensProvider: function (e, t) { + let i = Po.modeService.get().getLanguageIdentifier(e); + if (!i) + throw new Error( + `Cannot set tokens provider for unknown language ${e}` + ); + const n = (e) => + (function (e) { + return 'tokenizeEncoded' in e; + })(e) + ? new Go(e) + : new Zo(Po.standaloneThemeService.get(), i, e); + return Jo(t) + ? ue.RW.registerPromise( + e, + t.then((e) => n(e)) + ) + : ue.RW.register(e, n(t)); + }, + setMonarchTokensProvider: function (e, t) { + const i = (t) => + (function (e, t, i, n) { + return new Ft(e, t, i, n); + })( + Po.modeService.get(), + Po.standaloneThemeService.get(), + e, + (function (e, t) { + if (!t || 'object' != typeof t) + throw new Error( + 'Monarch: expecting a language definition object' + ); + let i = {}; + (i.languageId = e), + (i.noThrow = !1), + (i.maxStack = 100), + (i.start = 'string' == typeof t.start ? t.start : null), + (i.ignoreCase = jo(t.ignoreCase, !1)), + (i.unicode = jo(t.unicode, !1)), + (i.tokenPostfix = Vo(t.tokenPostfix, '.' + i.languageId)), + (i.defaultToken = Vo(t.defaultToken, 'source')), + (i.usesEmbedded = !1); + let n = t; + function r(e, s, o) { + for (const a of o) { + let o = a.include; + if (o) { + if ('string' != typeof o) + throw Mt( + i, + "an 'include' attribute must be a string at: " + e + ); + if ( + ('@' === o[0] && (o = o.substr(1)), !t.tokenizer[o]) + ) + throw Mt( + i, + "include target '" + + o + + "' is not defined at: " + + e + ); + r(e + '.' + o, s, t.tokenizer[o]); + } else { + const t = new qo(e); + if ( + Array.isArray(a) && + a.length >= 1 && + a.length <= 3 + ) + if ((t.setRegex(n, a[0]), a.length >= 3)) + if ('string' == typeof a[1]) + t.setAction(n, { token: a[1], next: a[2] }); + else { + if ('object' != typeof a[1]) + throw Mt( + i, + 'a next state as the last element of a rule can only be given if the action is either an object or a string, at: ' + + e + ); + { + const e = a[1]; + (e.next = a[2]), t.setAction(n, e); + } + } + else t.setAction(n, a[1]); + else { + if (!a.regex) + throw Mt( + i, + "a rule must either be an array, or an object with a 'regex' or 'include' field at: " + + e + ); + a.name && + 'string' == typeof a.name && + (t.name = a.name), + a.matchOnlyAtStart && + (t.matchOnlyAtLineStart = jo( + a.matchOnlyAtLineStart, + !1 + )), + t.setRegex(n, a.regex), + t.setAction(n, a.action); + } + s.push(t); + } + } + } + if ( + ((n.languageId = e), + (n.ignoreCase = i.ignoreCase), + (n.unicode = i.unicode), + (n.noThrow = i.noThrow), + (n.usesEmbedded = i.usesEmbedded), + (n.stateNames = t.tokenizer), + (n.defaultToken = i.defaultToken), + !t.tokenizer || 'object' != typeof t.tokenizer) + ) + throw Mt( + i, + "a language definition must define the 'tokenizer' attribute as an object" + ); + i.tokenizer = []; + for (let e in t.tokenizer) + if (t.tokenizer.hasOwnProperty(e)) { + i.start || (i.start = e); + const n = t.tokenizer[e]; + (i.tokenizer[e] = new Array()), + r('tokenizer.' + e, i.tokenizer[e], n); + } + if (((i.usesEmbedded = n.usesEmbedded), t.brackets)) { + if (!Array.isArray(t.brackets)) + throw Mt( + i, + "the 'brackets' attribute must be defined as an array" + ); + } else + t.brackets = [ + { open: '{', close: '}', token: 'delimiter.curly' }, + { open: '[', close: ']', token: 'delimiter.square' }, + { + open: '(', + close: ')', + token: 'delimiter.parenthesis', + }, + { open: '<', close: '>', token: 'delimiter.angle' }, + ]; + let s = []; + for (let e of t.brackets) { + let t = e; + if ( + (t && + Array.isArray(t) && + 3 === t.length && + (t = { token: t[2], open: t[0], close: t[1] }), + t.open === t.close) + ) + throw Mt( + i, + "open and close brackets in a 'brackets' attribute must be different: " + + t.open + + "\n hint: use the 'bracket' attribute if matching on equal brackets is required." + ); + if ( + 'string' != typeof t.open || + 'string' != typeof t.token || + 'string' != typeof t.close + ) + throw Mt( + i, + "every element in the 'brackets' array must be a '{open,close,token}' object or array" + ); + s.push({ + token: t.token + i.tokenPostfix, + open: xt(i, t.open), + close: xt(i, t.close), + }); + } + return (i.brackets = s), (i.noThrow = !0), i; + })(e, t) + ); + return Jo(t) + ? ue.RW.registerPromise( + e, + t.then((e) => i(e)) + ) + : ue.RW.register(e, i(t)); + }, + registerReferenceProvider: function (e, t) { + return ue.FL.register(e, t); + }, + registerRenameProvider: function (e, t) { + return ue.G0.register(e, t); + }, + registerCompletionItemProvider: function (e, t) { + return ue.KZ.register(e, t); + }, + registerSignatureHelpProvider: function (e, t) { + return ue.nD.register(e, t); + }, + registerHoverProvider: function (e, t) { + return ue.xp.register(e, { + provideHover: (e, i, n) => { + let r = e.getWordAtPosition(i); + return Promise.resolve(t.provideHover(e, i, n)).then((e) => { + if (e) + return ( + !e.range && + r && + (e.range = new j.e( + i.lineNumber, + r.startColumn, + i.lineNumber, + r.endColumn + )), + e.range || + (e.range = new j.e( + i.lineNumber, + i.column, + i.lineNumber, + i.column + )), + e + ); + }); + }, + }); + }, + registerDocumentSymbolProvider: function (e, t) { + return ue.vJ.register(e, t); + }, + registerDocumentHighlightProvider: function (e, t) { + return ue.vH.register(e, t); + }, + registerOnTypeRenameProvider: function (e, t) { + return ue.jC.register(e, t); + }, + registerDefinitionProvider: function (e, t) { + return ue.Ct.register(e, t); + }, + registerImplementationProvider: function (e, t) { + return ue.vI.register(e, t); + }, + registerTypeDefinitionProvider: function (e, t) { + return ue.tA.register(e, t); + }, + registerCodeLensProvider: function (e, t) { + return ue.He.register(e, t); + }, + registerCodeActionProvider: function (e, t) { + return ue.H9.register(e, { + provideCodeActions: (e, i, n, r) => { + let s = Po.markerService + .get() + .read({ resource: e.uri }) + .filter((e) => j.e.areIntersectingOrTouching(e, i)); + return t.provideCodeActions( + e, + i, + { markers: s, only: n.only }, + r + ); + }, + }); + }, + registerDocumentFormattingEditProvider: function (e, t) { + return ue.Az.register(e, t); + }, + registerDocumentRangeFormattingEditProvider: function (e, t) { + return ue.vN.register(e, t); + }, + registerOnTypeFormattingEditProvider: function (e, t) { + return ue.ln.register(e, t); + }, + registerLinkProvider: function (e, t) { + return ue.pM.register(e, t); + }, + registerColorProvider: function (e, t) { + return ue.OH.register(e, t); + }, + registerFoldingRangeProvider: function (e, t) { + return ue.aC.register(e, t); + }, + registerDeclarationProvider: function (e, t) { + return ue.RN.register(e, t); + }, + registerSelectionRangeProvider: function (e, t) { + return ue.AC.register(e, t); + }, + registerDocumentSemanticTokensProvider: function (e, t) { + return ue.wT.register(e, t); + }, + registerDocumentRangeSemanticTokensProvider: function (e, t) { + return ue.K7.register(e, t); + }, + DocumentHighlightKind: h, + CompletionItemKind: s, + CompletionItemTag: o, + CompletionItemInsertTextRule: r, + SymbolKind: E, + SymbolTag: T, + IndentAction: m, + CompletionTriggerKind: a, + SignatureHelpTriggerKind: N, + FoldingRangeKind: ue.AD, + }); + const ea = Xo.CancellationTokenSource, + ta = Xo.Emitter, + ia = Xo.KeyCode, + na = Xo.KeyMod, + ra = Xo.Position, + sa = Xo.Range, + oa = Xo.Selection, + aa = Xo.SelectionDirection, + la = Xo.MarkerSeverity, + ca = Xo.MarkerTag, + da = Xo.Uri, + ha = Xo.Token, + ua = Xo.editor, + ga = Xo.languages; + (Qo.monaco = Xo), + void 0 !== Qo.require && + 'function' == typeof Qo.require.config && + Qo.require.config({ + ignoreDuplicateModules: [ + 'vscode-languageserver-types', + 'vscode-languageserver-types/main', + 'vscode-languageserver-textdocument', + 'vscode-languageserver-textdocument/main', + 'vscode-nls', + 'vscode-nls/vscode-nls', + 'jsonc-parser', + 'jsonc-parser/main', + 'vscode-uri', + 'vscode-uri/index', + 'vs/basic-languages/typescript/typescript', + ], + }); + }, + 98368: (e, t, i) => { + 'use strict'; + i.r(t), + i.d(t, { + CancellationTokenSource: () => l.CancellationTokenSource, + Emitter: () => l.Emitter, + KeyCode: () => l.KeyCode, + KeyMod: () => l.KeyMod, + MarkerSeverity: () => l.MarkerSeverity, + MarkerTag: () => l.MarkerTag, + Position: () => l.Position, + Range: () => l.Range, + Selection: () => l.Selection, + SelectionDirection: () => l.SelectionDirection, + Token: () => l.Token, + Uri: () => l.Uri, + __esModule: () => l.__esModule, + editor: () => l.editor, + languages: () => l.languages, + }); + var n, + r, + s, + o, + a, + l = i(50158), + c = i(91429); + !(function (e) { + (e[(e.None = 0)] = 'None'), + (e[(e.CommonJS = 1)] = 'CommonJS'), + (e[(e.AMD = 2)] = 'AMD'), + (e[(e.UMD = 3)] = 'UMD'), + (e[(e.System = 4)] = 'System'), + (e[(e.ES2015 = 5)] = 'ES2015'), + (e[(e.ESNext = 99)] = 'ESNext'); + })(n || (n = {})), + (function (e) { + (e[(e.None = 0)] = 'None'), + (e[(e.Preserve = 1)] = 'Preserve'), + (e[(e.React = 2)] = 'React'), + (e[(e.ReactNative = 3)] = 'ReactNative'); + })(r || (r = {})), + (function (e) { + (e[(e.CarriageReturnLineFeed = 0)] = 'CarriageReturnLineFeed'), + (e[(e.LineFeed = 1)] = 'LineFeed'); + })(s || (s = {})), + (function (e) { + (e[(e.ES3 = 0)] = 'ES3'), + (e[(e.ES5 = 1)] = 'ES5'), + (e[(e.ES2015 = 2)] = 'ES2015'), + (e[(e.ES2016 = 3)] = 'ES2016'), + (e[(e.ES2017 = 4)] = 'ES2017'), + (e[(e.ES2018 = 5)] = 'ES2018'), + (e[(e.ES2019 = 6)] = 'ES2019'), + (e[(e.ES2020 = 7)] = 'ES2020'), + (e[(e.ESNext = 99)] = 'ESNext'), + (e[(e.JSON = 100)] = 'JSON'), + (e[(e.Latest = 99)] = 'Latest'); + })(o || (o = {})), + (function (e) { + (e[(e.Classic = 1)] = 'Classic'), (e[(e.NodeJs = 2)] = 'NodeJs'); + })(a || (a = {})); + var d = (function () { + function e(e, t, i) { + (this._onDidChange = new c.Q5()), + (this._onDidExtraLibsChange = new c.Q5()), + (this._extraLibs = Object.create(null)), + (this._removedExtraLibs = Object.create(null)), + (this._eagerModelSync = !1), + this.setCompilerOptions(e), + this.setDiagnosticsOptions(t), + this.setWorkerOptions(i), + (this._onDidExtraLibsChangeTimeout = -1); + } + return ( + Object.defineProperty(e.prototype, 'onDidChange', { + get: function () { + return this._onDidChange.event; + }, + enumerable: !1, + configurable: !0, + }), + Object.defineProperty(e.prototype, 'onDidExtraLibsChange', { + get: function () { + return this._onDidExtraLibsChange.event; + }, + enumerable: !1, + configurable: !0, + }), + Object.defineProperty(e.prototype, 'workerOptions', { + get: function () { + return this._workerOptions; + }, + enumerable: !1, + configurable: !0, + }), + (e.prototype.getExtraLibs = function () { + return this._extraLibs; + }), + (e.prototype.addExtraLib = function (e, t) { + var i, + n = this; + if ( + ((i = + void 0 === t + ? 'ts:extralib-' + + Math.random().toString(36).substring(2, 15) + : t), + this._extraLibs[i] && this._extraLibs[i].content === e) + ) + return { dispose: function () {} }; + var r = 1; + return ( + this._removedExtraLibs[i] && + (r = this._removedExtraLibs[i] + 1), + this._extraLibs[i] && (r = this._extraLibs[i].version + 1), + (this._extraLibs[i] = { content: e, version: r }), + this._fireOnDidExtraLibsChangeSoon(), + { + dispose: function () { + var e = n._extraLibs[i]; + e && + e.version === r && + (delete n._extraLibs[i], + (n._removedExtraLibs[i] = r), + n._fireOnDidExtraLibsChangeSoon()); + }, + } + ); + }), + (e.prototype.setExtraLibs = function (e) { + for (var t in this._extraLibs) + this._removedExtraLibs[t] = this._extraLibs[t].version; + if ( + ((this._extraLibs = Object.create(null)), e && e.length > 0) + ) + for (var i = 0, n = e; i < n.length; i++) { + var r = n[i], + s = + ((t = + r.filePath || + 'ts:extralib-' + + Math.random().toString(36).substring(2, 15)), + r.content), + o = 1; + this._removedExtraLibs[t] && + (o = this._removedExtraLibs[t] + 1), + (this._extraLibs[t] = { content: s, version: o }); + } + this._fireOnDidExtraLibsChangeSoon(); + }), + (e.prototype._fireOnDidExtraLibsChangeSoon = function () { + var e = this; + -1 === this._onDidExtraLibsChangeTimeout && + (this._onDidExtraLibsChangeTimeout = setTimeout(function () { + (e._onDidExtraLibsChangeTimeout = -1), + e._onDidExtraLibsChange.fire(void 0); + }, 0)); + }), + (e.prototype.getCompilerOptions = function () { + return this._compilerOptions; + }), + (e.prototype.setCompilerOptions = function (e) { + (this._compilerOptions = e || Object.create(null)), + this._onDidChange.fire(void 0); + }), + (e.prototype.getDiagnosticsOptions = function () { + return this._diagnosticsOptions; + }), + (e.prototype.setDiagnosticsOptions = function (e) { + (this._diagnosticsOptions = e || Object.create(null)), + this._onDidChange.fire(void 0); + }), + (e.prototype.setWorkerOptions = function (e) { + (this._workerOptions = e || Object.create(null)), + this._onDidChange.fire(void 0); + }), + (e.prototype.setMaximumWorkerIdleTime = function (e) {}), + (e.prototype.setEagerModelSync = function (e) { + this._eagerModelSync = e; + }), + (e.prototype.getEagerModelSync = function () { + return this._eagerModelSync; + }), + e + ); + })(), + h = new d( + { allowNonTsExtensions: !0, target: o.Latest }, + { noSemanticValidation: !1, noSyntaxValidation: !1 }, + {} + ), + u = new d( + { allowNonTsExtensions: !0, allowJs: !0, target: o.Latest }, + { noSemanticValidation: !0, noSyntaxValidation: !1 }, + {} + ); + function g() { + return i.e(8183).then(i.bind(i, 68183)); + } + (c.Mj.typescript = { + ModuleKind: n, + JsxEmit: r, + NewLineKind: s, + ScriptTarget: o, + ModuleResolutionKind: a, + typescriptVersion: '4.0.3', + typescriptDefaults: h, + javascriptDefaults: u, + getTypeScriptWorker: function () { + return g().then(function (e) { + return e.getTypeScriptWorker(); + }); + }, + getJavaScriptWorker: function () { + return g().then(function (e) { + return e.getJavaScriptWorker(); + }); + }, + }), + c.Mj.onLanguage('typescript', function () { + return g().then(function (e) { + return e.setupTypeScript(h); + }); + }), + c.Mj.onLanguage('javascript', function () { + return g().then(function (e) { + return e.setupJavaScript(u); + }); + }); + var f = i(61460), + p = (function () { + function e(e, t, i) { + (this._onDidChange = new f.Q5()), + (this._languageId = e), + this.setDiagnosticsOptions(t), + this.setModeConfiguration(i); + } + return ( + Object.defineProperty(e.prototype, 'onDidChange', { + get: function () { + return this._onDidChange.event; + }, + enumerable: !1, + configurable: !0, + }), + Object.defineProperty(e.prototype, 'languageId', { + get: function () { + return this._languageId; + }, + enumerable: !1, + configurable: !0, + }), + Object.defineProperty(e.prototype, 'modeConfiguration', { + get: function () { + return this._modeConfiguration; + }, + enumerable: !1, + configurable: !0, + }), + Object.defineProperty(e.prototype, 'diagnosticsOptions', { + get: function () { + return this._diagnosticsOptions; + }, + enumerable: !1, + configurable: !0, + }), + (e.prototype.setDiagnosticsOptions = function (e) { + (this._diagnosticsOptions = e || Object.create(null)), + this._onDidChange.fire(this); + }), + (e.prototype.setModeConfiguration = function (e) { + (this._modeConfiguration = e || Object.create(null)), + this._onDidChange.fire(this); + }), + e + ); + })(), + m = { + validate: !0, + lint: { + compatibleVendorPrefixes: 'ignore', + vendorPrefix: 'warning', + duplicateProperties: 'warning', + emptyRules: 'warning', + importStatement: 'ignore', + boxModel: 'ignore', + universalSelector: 'ignore', + zeroUnits: 'ignore', + fontFaceProperties: 'warning', + hexColorLength: 'error', + argumentsInColorFunction: 'error', + unknownProperties: 'warning', + ieHack: 'ignore', + unknownVendorSpecificProperties: 'ignore', + propertyIgnoredDueToDisplay: 'warning', + important: 'ignore', + float: 'ignore', + idSelector: 'ignore', + }, + }, + _ = { + completionItems: !0, + hovers: !0, + documentSymbols: !0, + definitions: !0, + references: !0, + documentHighlights: !0, + rename: !0, + colors: !0, + foldingRanges: !0, + diagnostics: !0, + selectionRanges: !0, + }, + b = new p('css', m, _), + v = new p('scss', m, _), + y = new p('less', m, _); + function w() { + return i.e(6917).then(i.bind(i, 46917)); + } + (f.Mj.css = { cssDefaults: b, lessDefaults: y, scssDefaults: v }), + f.Mj.onLanguage('less', function () { + w().then(function (e) { + return e.setupMode(y); + }); + }), + f.Mj.onLanguage('scss', function () { + w().then(function (e) { + return e.setupMode(v); + }); + }), + f.Mj.onLanguage('css', function () { + w().then(function (e) { + return e.setupMode(b); + }); + }), + i(72323); + var C = i(47650), + S = (function () { + function e(e, t, i) { + (this._onDidChange = new C.Q5()), + (this._languageId = e), + this.setOptions(t), + this.setModeConfiguration(i); + } + return ( + Object.defineProperty(e.prototype, 'onDidChange', { + get: function () { + return this._onDidChange.event; + }, + enumerable: !1, + configurable: !0, + }), + Object.defineProperty(e.prototype, 'languageId', { + get: function () { + return this._languageId; + }, + enumerable: !1, + configurable: !0, + }), + Object.defineProperty(e.prototype, 'options', { + get: function () { + return this._options; + }, + enumerable: !1, + configurable: !0, + }), + Object.defineProperty(e.prototype, 'modeConfiguration', { + get: function () { + return this._modeConfiguration; + }, + enumerable: !1, + configurable: !0, + }), + (e.prototype.setOptions = function (e) { + (this._options = e || Object.create(null)), + this._onDidChange.fire(this); + }), + (e.prototype.setModeConfiguration = function (e) { + (this._modeConfiguration = e || Object.create(null)), + this._onDidChange.fire(this); + }), + e + ); + })(), + k = { + tabSize: 4, + insertSpaces: !1, + wrapLineLength: 120, + unformatted: + 'default": "a, abbr, acronym, b, bdo, big, br, button, cite, code, dfn, em, i, img, input, kbd, label, map, object, q, samp, select, small, span, strong, sub, sup, textarea, tt, var', + contentUnformatted: 'pre', + indentInnerHtml: !1, + preserveNewLines: !0, + maxPreserveNewLines: null, + indentHandlebars: !1, + endWithNewline: !1, + extraLiners: 'head, body, /html', + wrapAttributes: 'auto', + }, + x = { format: k, suggest: { html5: !0 } }, + L = { format: k, suggest: { html5: !0, razor: !0 } }; + function M(e) { + return { + completionItems: !0, + hovers: !0, + documentSymbols: !0, + links: !0, + documentHighlights: !0, + rename: !0, + colors: !0, + foldingRanges: !0, + selectionRanges: !0, + diagnostics: e === D, + documentFormattingEdits: e === D, + documentRangeFormattingEdits: e === D, + }; + } + var D = 'html', + N = 'handlebars', + E = 'razor', + T = new S( + D, + { format: k, suggest: { html5: !0, angular1: !0, ionic: !0 } }, + M(D) + ), + I = new S(N, x, M(N)), + O = new S(E, L, M(E)); + function A() { + return i.e(5470).then(i.bind(i, 65470)); + } + (C.Mj.html = { + htmlDefaults: T, + razorDefaults: O, + handlebarDefaults: I, + }), + C.Mj.onLanguage(D, function () { + A().then(function (e) { + return e.setupMode(T); + }); + }), + C.Mj.onLanguage(N, function () { + A().then(function (e) { + return e.setupMode(I); + }); + }), + C.Mj.onLanguage(E, function () { + A().then(function (e) { + return e.setupMode(O); + }); + }); + var R = i(89587), + P = {}, + F = {}, + B = (function () { + function e(e) { + var t = this; + (this._languageId = e), + (this._loadingTriggered = !1), + (this._lazyLoadPromise = new Promise(function (e, i) { + (t._lazyLoadPromiseResolve = e), + (t._lazyLoadPromiseReject = i); + })); + } + return ( + (e.getOrCreate = function (t) { + return F[t] || (F[t] = new e(t)), F[t]; + }), + (e.prototype.whenLoaded = function () { + return this._lazyLoadPromise; + }), + (e.prototype.load = function () { + var e = this; + return ( + this._loadingTriggered || + ((this._loadingTriggered = !0), + P[this._languageId].loader().then( + function (t) { + return e._lazyLoadPromiseResolve(t); + }, + function (t) { + return e._lazyLoadPromiseReject(t); + } + )), + this._lazyLoadPromise + ); + }), + e + ); + })(); + function W(e) { + var t = e.id; + (P[t] = e), R.Mj.register(e); + var i = B.getOrCreate(t); + R.Mj.setMonarchTokensProvider( + t, + i.whenLoaded().then(function (e) { + return e.language; + }) + ), + R.Mj.onLanguage(t, function () { + i.load().then(function (e) { + R.Mj.setLanguageConfiguration(t, e.conf); + }); + }); + } + W({ + id: 'abap', + extensions: ['.abap'], + aliases: ['abap', 'ABAP'], + loader: function () { + return i.e(848).then(i.bind(i, 40848)); + }, + }), + W({ + id: 'apex', + extensions: ['.cls'], + aliases: ['Apex', 'apex'], + mimetypes: ['text/x-apex-source', 'text/x-apex'], + loader: function () { + return i.e(4386).then(i.bind(i, 54386)); + }, + }), + W({ + id: 'azcli', + extensions: ['.azcli'], + aliases: ['Azure CLI', 'azcli'], + loader: function () { + return i.e(1471).then(i.bind(i, 31471)); + }, + }), + W({ + id: 'bat', + extensions: ['.bat', '.cmd'], + aliases: ['Batch', 'bat'], + loader: function () { + return i.e(4129).then(i.bind(i, 84129)); + }, + }), + W({ + id: 'cameligo', + extensions: ['.mligo'], + aliases: ['Cameligo'], + loader: function () { + return i.e(1448).then(i.bind(i, 11448)); + }, + }), + W({ + id: 'clojure', + extensions: ['.clj', '.cljs', '.cljc', '.edn'], + aliases: ['clojure', 'Clojure'], + loader: function () { + return i.e(3036).then(i.bind(i, 33036)); + }, + }), + W({ + id: 'coffeescript', + extensions: ['.coffee'], + aliases: ['CoffeeScript', 'coffeescript', 'coffee'], + mimetypes: ['text/x-coffeescript', 'text/coffeescript'], + loader: function () { + return i.e(1147).then(i.bind(i, 21147)); + }, + }), + W({ + id: 'c', + extensions: ['.c', '.h'], + aliases: ['C', 'c'], + loader: function () { + return i.e(1960).then(i.bind(i, 71960)); + }, + }), + W({ + id: 'cpp', + extensions: ['.cpp', '.cc', '.cxx', '.hpp', '.hh', '.hxx'], + aliases: ['C++', 'Cpp', 'cpp'], + loader: function () { + return i.e(1960).then(i.bind(i, 71960)); + }, + }), + W({ + id: 'csharp', + extensions: ['.cs', '.csx', '.cake'], + aliases: ['C#', 'csharp'], + loader: function () { + return i.e(8719).then(i.bind(i, 18719)); + }, + }), + W({ + id: 'csp', + extensions: [], + aliases: ['CSP', 'csp'], + loader: function () { + return i.e(8946).then(i.bind(i, 68946)); + }, + }), + W({ + id: 'css', + extensions: ['.css'], + aliases: ['CSS', 'css'], + mimetypes: ['text/css'], + loader: function () { + return i.e(2075).then(i.bind(i, 62075)); + }, + }), + W({ + id: 'dart', + extensions: ['.dart'], + aliases: ['Dart', 'dart'], + mimetypes: ['text/x-dart-source', 'text/x-dart'], + loader: function () { + return i.e(9343).then(i.bind(i, 39343)); + }, + }), + W({ + id: 'dockerfile', + extensions: ['.dockerfile'], + filenames: ['Dockerfile'], + aliases: ['Dockerfile'], + loader: function () { + return i.e(5849).then(i.bind(i, 25849)); + }, + }), + W({ + id: 'fsharp', + extensions: ['.fs', '.fsi', '.ml', '.mli', '.fsx', '.fsscript'], + aliases: ['F#', 'FSharp', 'fsharp'], + loader: function () { + return i.e(6241).then(i.bind(i, 96241)); + }, + }), + W({ + id: 'go', + extensions: ['.go'], + aliases: ['Go'], + loader: function () { + return i.e(249).then(i.bind(i, 80249)); + }, + }), + W({ + id: 'graphql', + extensions: ['.graphql', '.gql'], + aliases: ['GraphQL', 'graphql', 'gql'], + mimetypes: ['application/graphql'], + loader: function () { + return i.e(6489).then(i.bind(i, 66489)); + }, + }), + W({ + id: 'handlebars', + extensions: ['.handlebars', '.hbs'], + aliases: ['Handlebars', 'handlebars'], + mimetypes: ['text/x-handlebars-template'], + loader: function () { + return i.e(5703).then(i.bind(i, 15703)); + }, + }), + W({ + id: 'hcl', + extensions: ['.tf', '.tfvars', '.hcl'], + aliases: ['Terraform', 'tf', 'HCL', 'hcl'], + loader: function () { + return i.e(3632).then(i.bind(i, 48534)); + }, + }), + W({ + id: 'html', + extensions: [ + '.html', + '.htm', + '.shtml', + '.xhtml', + '.mdoc', + '.jsp', + '.asp', + '.aspx', + '.jshtm', + ], + aliases: ['HTML', 'htm', 'html', 'xhtml'], + mimetypes: [ + 'text/html', + 'text/x-jshtm', + 'text/template', + 'text/ng-template', + ], + loader: function () { + return i.e(2571).then(i.bind(i, 2571)); + }, + }), + W({ + id: 'ini', + extensions: ['.ini', '.properties', '.gitconfig'], + filenames: [ + 'config', + '.gitattributes', + '.gitconfig', + '.editorconfig', + ], + aliases: ['Ini', 'ini'], + loader: function () { + return i.e(2798).then(i.bind(i, 52798)); + }, + }), + W({ + id: 'java', + extensions: ['.java', '.jav'], + aliases: ['Java', 'java'], + mimetypes: ['text/x-java-source', 'text/x-java'], + loader: function () { + return i.e(7043).then(i.bind(i, 17043)); + }, + }), + W({ + id: 'javascript', + extensions: ['.js', '.es6', '.jsx', '.mjs'], + firstLine: '^#!.*\\bnode', + filenames: ['jakefile'], + aliases: ['JavaScript', 'javascript', 'js'], + mimetypes: ['text/javascript'], + loader: function () { + return i.e(1134).then(i.bind(i, 41134)); + }, + }), + W({ + id: 'julia', + extensions: ['.jl'], + aliases: ['julia', 'Julia'], + loader: function () { + return i.e(4946).then(i.bind(i, 34946)); + }, + }), + W({ + id: 'kotlin', + extensions: ['.kt'], + aliases: ['Kotlin', 'kotlin'], + mimetypes: ['text/x-kotlin-source', 'text/x-kotlin'], + loader: function () { + return i.e(4368).then(i.bind(i, 84368)); + }, + }), + W({ + id: 'less', + extensions: ['.less'], + aliases: ['Less', 'less'], + mimetypes: ['text/x-less', 'text/less'], + loader: function () { + return i.e(5593).then(i.bind(i, 35593)); + }, + }), + W({ + id: 'lexon', + extensions: ['.lex'], + aliases: ['Lexon'], + loader: function () { + return i.e(4912).then(i.bind(i, 64912)); + }, + }), + W({ + id: 'lua', + extensions: ['.lua'], + aliases: ['Lua', 'lua'], + loader: function () { + return i.e(911).then(i.bind(i, 20911)); + }, + }), + W({ + id: 'markdown', + extensions: [ + '.md', + '.markdown', + '.mdown', + '.mkdn', + '.mkd', + '.mdwn', + '.mdtxt', + '.mdtext', + ], + aliases: ['Markdown', 'markdown'], + loader: function () { + return i.e(2954).then(i.bind(i, 42954)); + }, + }), + W({ + id: 'mips', + extensions: ['.s'], + aliases: ['MIPS', 'MIPS-V'], + mimetypes: ['text/x-mips', 'text/mips', 'text/plaintext'], + loader: function () { + return i.e(854).then(i.bind(i, 60854)); + }, + }), + W({ + id: 'msdax', + extensions: ['.dax', '.msdax'], + aliases: ['DAX', 'MSDAX'], + loader: function () { + return i.e(9398).then(i.bind(i, 79398)); + }, + }), + W({ + id: 'mysql', + extensions: [], + aliases: ['MySQL', 'mysql'], + loader: function () { + return i.e(1961).then(i.bind(i, 31961)); + }, + }), + W({ + id: 'objective-c', + extensions: ['.m'], + aliases: ['Objective-C'], + loader: function () { + return i.e(9537).then(i.bind(i, 79537)); + }, + }), + W({ + id: 'pascal', + extensions: ['.pas', '.p', '.pp'], + aliases: ['Pascal', 'pas'], + mimetypes: ['text/x-pascal-source', 'text/x-pascal'], + loader: function () { + return i.e(6082).then(i.bind(i, 86082)); + }, + }), + W({ + id: 'pascaligo', + extensions: ['.ligo'], + aliases: ['Pascaligo', 'ligo'], + loader: function () { + return i.e(8084).then(i.bind(i, 98084)); + }, + }), + W({ + id: 'perl', + extensions: ['.pl'], + aliases: ['Perl', 'pl'], + loader: function () { + return i.e(8070).then(i.bind(i, 8070)); + }, + }), + W({ + id: 'pgsql', + extensions: [], + aliases: ['PostgreSQL', 'postgres', 'pg', 'postgre'], + loader: function () { + return i.e(996).then(i.bind(i, 20996)); + }, + }), + W({ + id: 'php', + extensions: ['.php', '.php4', '.php5', '.phtml', '.ctp'], + aliases: ['PHP', 'php'], + mimetypes: ['application/x-php'], + loader: function () { + return i.e(7835).then(i.bind(i, 47835)); + }, + }), + W({ + id: 'postiats', + extensions: ['.dats', '.sats', '.hats'], + aliases: ['ATS', 'ATS/Postiats'], + loader: function () { + return i.e(8180).then(i.bind(i, 48180)); + }, + }), + W({ + id: 'powerquery', + extensions: ['.pq', '.pqm'], + aliases: ['PQ', 'M', 'Power Query', 'Power Query M'], + loader: function () { + return i.e(4407).then(i.bind(i, 94407)); + }, + }), + W({ + id: 'powershell', + extensions: ['.ps1', '.psm1', '.psd1'], + aliases: ['PowerShell', 'powershell', 'ps', 'ps1'], + loader: function () { + return i.e(7562).then(i.bind(i, 37562)); + }, + }), + W({ + id: 'pug', + extensions: ['.jade', '.pug'], + aliases: ['Pug', 'Jade', 'jade'], + loader: function () { + return i.e(2892).then(i.bind(i, 22892)); + }, + }), + W({ + id: 'python', + extensions: ['.py', '.rpy', '.pyw', '.cpy', '.gyp', '.gypi'], + aliases: ['Python', 'py'], + firstLine: '^#!/.*\\bpython[0-9.-]*\\b', + loader: function () { + return i.e(7287).then(i.bind(i, 37287)); + }, + }), + W({ + id: 'r', + extensions: ['.r', '.rhistory', '.rmd', '.rprofile', '.rt'], + aliases: ['R', 'r'], + loader: function () { + return i.e(2140).then(i.bind(i, 22140)); + }, + }), + W({ + id: 'razor', + extensions: ['.cshtml'], + aliases: ['Razor', 'razor'], + mimetypes: ['text/x-cshtml'], + loader: function () { + return i.e(6424).then(i.bind(i, 76424)); + }, + }), + W({ + id: 'redis', + extensions: ['.redis'], + aliases: ['redis'], + loader: function () { + return i.e(1259).then(i.bind(i, 91259)); + }, + }), + W({ + id: 'redshift', + extensions: [], + aliases: ['Redshift', 'redshift'], + loader: function () { + return i.e(6449).then(i.bind(i, 56449)); + }, + }), + W({ + id: 'restructuredtext', + extensions: ['.rst'], + aliases: ['reStructuredText', 'restructuredtext'], + loader: function () { + return i.e(1065).then(i.bind(i, 71065)); + }, + }), + W({ + id: 'ruby', + extensions: ['.rb', '.rbx', '.rjs', '.gemspec', '.pp'], + filenames: ['rakefile', 'Gemfile'], + aliases: ['Ruby', 'rb'], + loader: function () { + return i.e(9684).then(i.bind(i, 69684)); + }, + }), + W({ + id: 'rust', + extensions: ['.rs', '.rlib'], + aliases: ['Rust', 'rust'], + loader: function () { + return i.e(8715).then(i.bind(i, 8715)); + }, + }), + W({ + id: 'sb', + extensions: ['.sb'], + aliases: ['Small Basic', 'sb'], + loader: function () { + return i.e(5062).then(i.bind(i, 78)); + }, + }), + W({ + id: 'scala', + extensions: ['.scala', '.sc', '.sbt'], + aliases: ['Scala', 'scala', 'SBT', 'Sbt', 'sbt', 'Dotty', 'dotty'], + mimetypes: [ + 'text/x-scala-source', + 'text/x-scala', + 'text/x-sbt', + 'text/x-dotty', + ], + loader: function () { + return i.e(180).then(i.bind(i, 90180)); + }, + }), + W({ + id: 'scheme', + extensions: ['.scm', '.ss', '.sch', '.rkt'], + aliases: ['scheme', 'Scheme'], + loader: function () { + return i.e(2060).then(i.bind(i, 32060)); + }, + }), + W({ + id: 'scss', + extensions: ['.scss'], + aliases: ['Sass', 'sass', 'scss'], + mimetypes: ['text/x-scss', 'text/scss'], + loader: function () { + return i.e(525).then(i.bind(i, 90525)); + }, + }), + W({ + id: 'shell', + extensions: ['.sh', '.bash'], + aliases: ['Shell', 'sh'], + loader: function () { + return i.e(8670).then(i.bind(i, 88670)); + }, + }), + W({ + id: 'sol', + extensions: ['.sol'], + aliases: ['sol', 'solidity', 'Solidity'], + loader: function () { + return i.e(1156).then(i.bind(i, 1156)); + }, + }), + W({ + id: 'aes', + extensions: ['.aes'], + aliases: ['aes', 'sophia', 'Sophia'], + loader: function () { + return i.e(3919).then(i.bind(i, 63919)); + }, + }), + W({ + id: 'sql', + extensions: ['.sql'], + aliases: ['SQL'], + loader: function () { + return i.e(7778).then(i.bind(i, 27778)); + }, + }), + W({ + id: 'st', + extensions: ['.st', '.iecst', '.iecplc', '.lc3lib'], + aliases: ['StructuredText', 'scl', 'stl'], + loader: function () { + return i.e(6587).then(i.bind(i, 75458)); + }, + }), + W({ + id: 'swift', + aliases: ['Swift', 'swift'], + extensions: ['.swift'], + mimetypes: ['text/swift'], + loader: function () { + return i.e(2911).then(i.bind(i, 42911)); + }, + }), + W({ + id: 'systemverilog', + extensions: ['.sv', '.svh'], + aliases: ['SV', 'sv', 'SystemVerilog', 'systemverilog'], + loader: function () { + return i.e(1886).then(i.bind(i, 81886)); + }, + }), + W({ + id: 'verilog', + extensions: ['.v', '.vh'], + aliases: ['V', 'v', 'Verilog', 'verilog'], + loader: function () { + return i.e(1886).then(i.bind(i, 81886)); + }, + }), + W({ + id: 'tcl', + extensions: ['.tcl'], + aliases: ['tcl', 'Tcl', 'tcltk', 'TclTk', 'tcl/tk', 'Tcl/Tk'], + loader: function () { + return i.e(7637).then(i.bind(i, 57637)); + }, + }), + W({ + id: 'twig', + extensions: ['.twig'], + aliases: ['Twig', 'twig'], + mimetypes: ['text/x-twig'], + loader: function () { + return i.e(8424).then(i.bind(i, 98424)); + }, + }), + W({ + id: 'typescript', + extensions: ['.ts', '.tsx'], + aliases: ['TypeScript', 'ts', 'typescript'], + mimetypes: ['text/typescript'], + loader: function () { + return i.e(6717).then(i.bind(i, 96717)); + }, + }), + W({ + id: 'vb', + extensions: ['.vb'], + aliases: ['Visual Basic', 'vb'], + loader: function () { + return i.e(9907).then(i.bind(i, 39907)); + }, + }), + W({ + id: 'xml', + extensions: [ + '.xml', + '.dtd', + '.ascx', + '.csproj', + '.config', + '.wxi', + '.wxl', + '.wxs', + '.xaml', + '.svg', + '.svgz', + '.opf', + '.xsl', + ], + firstLine: '(\\<\\?xml.*)|(\\<svg)|(\\<\\!doctype\\s+svg)', + aliases: ['XML', 'xml'], + mimetypes: [ + 'text/xml', + 'application/xml', + 'application/xaml+xml', + 'application/xml-dtd', + ], + loader: function () { + return i.e(4902).then(i.bind(i, 4902)); + }, + }), + W({ + id: 'yaml', + extensions: ['.yaml', '.yml'], + aliases: ['YAML', 'yaml', 'YML', 'yml'], + mimetypes: ['application/x-yaml'], + loader: function () { + return i.e(3585).then(i.bind(i, 23585)); + }, + }), + i(18728), + i(95190), + i(68143), + i(75623), + i(17355), + i(17084), + i(84594), + i(77847), + i(62015), + i(9093), + i(53832), + i(64494), + i(89098), + i(76522), + i(42834), + i(7441), + i(93391), + i(62943), + i(23111), + i(76798); + var Y = i(70666), + H = i(24314), + j = i(51200), + V = i(71050), + z = i(88216), + U = i(86895), + $ = i(94565), + K = i(98401), + q = i(53725), + G = function (e, t, i, n) { + return new (i || (i = Promise))(function (r, s) { + function o(e) { + try { + l(n.next(e)); + } catch (e) { + s(e); + } + } + function a(e) { + try { + l(n.throw(e)); + } catch (e) { + s(e); + } + } + function l(e) { + var t; + e.done + ? r(e.value) + : ((t = e.value), + t instanceof i + ? t + : new i(function (e) { + e(t); + })).then(o, a); + } + l((n = n.apply(e, t || [])).next()); + }); + }; + function Z(e, t, i) { + return G(this, void 0, void 0, function* () { + const n = yield U.C3.create(e, i), + r = []; + for (const e of n.children.values()) + e instanceof U.sT + ? r.push(e.symbol) + : r.push(...q.$.map(e.children.values(), (e) => e.symbol)); + let s = []; + return i.isCancellationRequested + ? s + : (t ? Q(s, r, '') : (s = r), s.sort(J)); + }); + } + function J(e, t) { + return H.e.compareRangesUsingStarts(e.range, t.range); + } + function Q(e, t, i) { + for (let n of t) + e.push({ + kind: n.kind, + tags: n.tags, + name: n.name, + detail: n.detail, + containerName: n.containerName || i, + range: n.range, + selectionRange: n.selectionRange, + children: void 0, + }), + n.children && Q(e, n.children, n.name); + } + $.P.registerCommand( + '_executeDocumentSymbolProvider', + function (e, ...t) { + return G(this, void 0, void 0, function* () { + const [i] = t; + (0, K.p_)(Y.o.isUri(i)); + const n = e.get(j.q).getModel(i); + if (n) return Z(n, !1, V.T.None); + const r = yield e.get(z.S).createModelReference(i); + try { + return yield Z(r.object.textEditorModel, !1, V.T.None); + } finally { + r.dispose(); + } + }); + } + ), + i(92729), + i(10365), + i(42698), + i(25217), + i(80638), + i(83554), + i(42408), + i(34800), + i(38486), + i(40517), + i(55027), + i(4454), + i(81955), + i(78694), + i(24993); + var X = i(63580), + ee = i(16830), + te = i(84013); + class ie extends ee.R6 { + constructor() { + super({ + id: 'editor.action.forceRetokenize', + label: X.N('forceRetokenize', 'Developer: Force Retokenize'), + alias: 'Developer: Force Retokenize', + precondition: void 0, + }); + } + run(e, t) { + if (!t.hasModel()) return; + const i = t.getModel(); + i.resetTokenization(); + const n = new te.G(!0); + i.forceTokenization(i.getLineCount()), + n.stop(), + console.log(`tokenization took ${n.elapsed()}`); + } + } + (0, ee.Qr)(ie), + i(19720), + i(31725), + i(70185), + i(43497), + i(99453), + i(60661), + i(20913), + i(28609), + i(29477), + i(19646), + i(97830), + i(78944), + i(62097), + i(98936), + i(97720); + var ne = i(11640), + re = i(19192), + se = i(33108), + oe = i(38819), + ae = i(72065), + le = i(59422), + ce = i(52365), + de = function (e, t) { + return function (i, n) { + t(i, n, e); + }; + }; + let he = class extends re.J { + constructor(e, t, i, n, r, s, o) { + super(!0, e, t, i, n, r, s, o); + } + }; + (he = (function (e, t, i, n) { + var r, + s = arguments.length, + o = + s < 3 + ? t + : null === n + ? (n = Object.getOwnPropertyDescriptor(t, i)) + : n; + if ( + 'object' == typeof Reflect && + 'function' == typeof Reflect.decorate + ) + o = Reflect.decorate(e, t, i, n); + else + for (var a = e.length - 1; a >= 0; a--) + (r = e[a]) && + (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); + return s > 3 && o && Object.defineProperty(t, i, o), o; + })( + [ + de(1, oe.i6), + de(2, ne.$), + de(3, le.lT), + de(4, ae.TG), + de(5, ce.Uy), + de(6, se.Ui), + ], + he + )), + (0, ee._K)(re.J.ID, he), + i(15662); + }, + 29477: (e, t, i) => { + 'use strict'; + i.r(t); + var n = i(65321), + r = i(38626), + s = i(48764), + o = i(85152), + a = i(93794), + l = i(5976), + c = i(1432), + d = i(97295), + h = i(70666), + u = i(16830), + g = i(29102), + f = i(19720), + p = i(38819), + m = i(72065), + _ = i(91847), + b = i(50988), + v = i(73910), + y = i(97781), + w = i(20913), + C = function (e, t, i, n) { + var r, + s = arguments.length, + o = + s < 3 + ? t + : null === n + ? (n = Object.getOwnPropertyDescriptor(t, i)) + : n; + if ( + 'object' == typeof Reflect && + 'function' == typeof Reflect.decorate + ) + o = Reflect.decorate(e, t, i, n); + else + for (var a = e.length - 1; a >= 0; a--) + (r = e[a]) && + (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); + return s > 3 && o && Object.defineProperty(t, i, o), o; + }, + S = function (e, t) { + return function (i, n) { + t(i, n, e); + }; + }; + const k = new p.uy('accessibilityHelpWidgetVisible', !1); + let x = class e extends l.JT { + constructor(e, t) { + super(), + (this._editor = e), + (this._widget = this._register( + t.createInstance(L, this._editor) + )); + } + static get(t) { + return t.getContribution(e.ID); + } + show() { + this._widget.show(); + } + hide() { + this._widget.hide(); + } + }; + (x.ID = 'editor.contrib.accessibilityHelpController'), + (x = C([S(1, m.TG)], x)); + let L = class e extends a.$ { + constructor(e, t, i, s) { + super(), + (this._contextKeyService = t), + (this._keybindingService = i), + (this._openerService = s), + (this._editor = e), + (this._isVisibleKey = k.bindTo(this._contextKeyService)), + (this._domNode = (0, r.X)(document.createElement('div'))), + this._domNode.setClassName('accessibilityHelpWidget'), + this._domNode.setDisplay('none'), + this._domNode.setAttribute('role', 'dialog'), + this._domNode.setAttribute('aria-hidden', 'true'), + (this._contentDomNode = (0, r.X)(document.createElement('div'))), + this._contentDomNode.setAttribute('role', 'document'), + this._domNode.appendChild(this._contentDomNode), + (this._isVisible = !1), + this._register( + this._editor.onDidLayoutChange(() => { + this._isVisible && this._layout(); + }) + ), + this._register( + n.mu(this._contentDomNode.domNode, 'keydown', (e) => { + if ( + this._isVisible && + (e.equals(2083) && + ((0, o.Z9)(w.Oe.emergencyConfOn), + this._editor.updateOptions({ + accessibilitySupport: 'on', + }), + n.PO(this._contentDomNode.domNode), + this._buildContent(), + this._contentDomNode.domNode.focus(), + e.preventDefault(), + e.stopPropagation()), + e.equals(2086)) + ) { + (0, o.Z9)(w.Oe.openingDocs); + let t = this._editor.getRawOptions().accessibilityHelpUrl; + void 0 === t && + (t = 'https://go.microsoft.com/fwlink/?linkid=852450'), + this._openerService.open(h.o.parse(t)), + e.preventDefault(), + e.stopPropagation(); + } + }) + ), + this.onblur(this._contentDomNode.domNode, () => { + this.hide(); + }), + this._editor.addOverlayWidget(this); + } + dispose() { + this._editor.removeOverlayWidget(this), super.dispose(); + } + getId() { + return e.ID; + } + getDomNode() { + return this._domNode.domNode; + } + getPosition() { + return { preference: null }; + } + show() { + this._isVisible || + ((this._isVisible = !0), + this._isVisibleKey.set(!0), + this._layout(), + this._domNode.setDisplay('block'), + this._domNode.setAttribute('aria-hidden', 'false'), + (this._contentDomNode.domNode.tabIndex = 0), + this._buildContent(), + this._contentDomNode.domNode.focus()); + } + _descriptionForCommand(e, t, i) { + let n = this._keybindingService.lookupKeybinding(e); + return n ? d.WU(t, n.getAriaLabel()) : d.WU(i, e); + } + _buildContent() { + const e = this._editor.getOptions(), + t = this._editor.getSelections(); + let i = 0; + if (t) { + const e = this._editor.getModel(); + e && + t.forEach((t) => { + i += e.getValueLengthInRange(t); + }); + } + let n = (function (e, t) { + return e && 0 !== e.length + ? 1 === e.length + ? t + ? d.WU( + w.Oe.singleSelectionRange, + e[0].positionLineNumber, + e[0].positionColumn, + t + ) + : d.WU( + w.Oe.singleSelection, + e[0].positionLineNumber, + e[0].positionColumn + ) + : t + ? d.WU(w.Oe.multiSelectionRange, e.length, t) + : e.length > 0 + ? d.WU(w.Oe.multiSelection, e.length) + : '' + : w.Oe.noSelection; + })(t, i); + e.get(47) + ? e.get(72) + ? (n += w.Oe.readonlyDiffEditor) + : (n += w.Oe.editableDiffEditor) + : e.get(72) + ? (n += w.Oe.readonlyEditor) + : (n += w.Oe.editableEditor); + const r = c.dz + ? w.Oe.changeConfigToOnMac + : w.Oe.changeConfigToOnWinLinux; + switch (e.get(2)) { + case 0: + n += '\n\n - ' + r; + break; + case 2: + n += '\n\n - ' + w.Oe.auto_on; + break; + case 1: + (n += '\n\n - ' + w.Oe.auto_off), (n += ' ' + r); + } + e.get(116) + ? (n += + '\n\n - ' + + this._descriptionForCommand( + f.ToggleTabFocusModeAction.ID, + w.Oe.tabFocusModeOnMsg, + w.Oe.tabFocusModeOnMsgNoKb + )) + : (n += + '\n\n - ' + + this._descriptionForCommand( + f.ToggleTabFocusModeAction.ID, + w.Oe.tabFocusModeOffMsg, + w.Oe.tabFocusModeOffMsgNoKb + )), + (n += + '\n\n - ' + (c.dz ? w.Oe.openDocMac : w.Oe.openDocWinLinux)), + (n += '\n\n' + w.Oe.outroMsg), + this._contentDomNode.domNode.appendChild((0, s.BO)(n)), + this._contentDomNode.domNode.setAttribute('aria-label', n); + } + hide() { + this._isVisible && + ((this._isVisible = !1), + this._isVisibleKey.reset(), + this._domNode.setDisplay('none'), + this._domNode.setAttribute('aria-hidden', 'true'), + (this._contentDomNode.domNode.tabIndex = -1), + n.PO(this._contentDomNode.domNode), + this._editor.focus()); + } + _layout() { + let t = this._editor.getLayoutInfo(), + i = Math.max(5, Math.min(e.WIDTH, t.width - 40)), + n = Math.max(5, Math.min(e.HEIGHT, t.height - 40)); + this._domNode.setWidth(i), this._domNode.setHeight(n); + let r = Math.round((t.height - n) / 2); + this._domNode.setTop(r); + let s = Math.round((t.width - i) / 2); + this._domNode.setLeft(s); + } + }; + (L.ID = 'editor.contrib.accessibilityHelpWidget'), + (L.WIDTH = 500), + (L.HEIGHT = 300), + (L = C([S(1, p.i6), S(2, _.d), S(3, b.v4)], L)); + class M extends u.R6 { + constructor() { + super({ + id: 'editor.action.showAccessibilityHelp', + label: w.Oe.showAccessibilityHelpAction, + alias: 'Show Accessibility Help', + precondition: void 0, + kbOpts: { + kbExpr: g.u.focus, + primary: 571, + weight: 100, + linux: { primary: 1595, secondary: [571] }, + }, + }); + } + run(e, t) { + let i = x.get(t); + i && i.show(); + } + } + (0, u._K)(x.ID, x), (0, u.Qr)(M); + const D = u._l.bindToContribution(x.get); + (0, u.fK)( + new D({ + id: 'closeAccessibilityHelp', + precondition: k, + handler: (e) => e.hide(), + kbOpts: { + weight: 200, + kbExpr: g.u.focus, + primary: 9, + secondary: [1033], + }, + }) + ), + (0, y.Ic)((e, t) => { + const i = e.getColor(v.D0); + i && + t.addRule( + `.monaco-editor .accessibilityHelpWidget { background-color: ${i}; }` + ); + const n = e.getColor(v.Hf); + n && + t.addRule( + `.monaco-editor .accessibilityHelpWidget { color: ${n}; }` + ); + const r = e.getColor(v.rh); + r && + t.addRule( + `.monaco-editor .accessibilityHelpWidget { box-shadow: 0 2px 8px ${r}; }` + ); + const s = e.getColor(v.lR); + s && + t.addRule( + `.monaco-editor .accessibilityHelpWidget { border: 2px solid ${s}; }` + ); + }); + }, + 19646: (e, t, i) => { + 'use strict'; + i.r(t), i.d(t, { IPadShowKeyboard: () => a }); + var n = i(16268), + r = i(65321), + s = i(5976), + o = i(16830); + class a extends s.JT { + constructor(e) { + super(), + (this.editor = e), + (this.widget = null), + n.zc && + (this._register( + e.onDidChangeConfiguration(() => this.update()) + ), + this.update()); + } + update() { + const e = !this.editor.getOption(72); + !this.widget && e + ? (this.widget = new l(this.editor)) + : this.widget && + !e && + (this.widget.dispose(), (this.widget = null)); + } + dispose() { + super.dispose(), + this.widget && (this.widget.dispose(), (this.widget = null)); + } + } + a.ID = 'editor.contrib.iPadShowKeyboard'; + class l extends s.JT { + constructor(e) { + super(), + (this.editor = e), + (this._domNode = document.createElement('textarea')), + (this._domNode.className = 'iPadShowKeyboard'), + this._register( + r.nm(this._domNode, 'touchstart', (e) => { + this.editor.focus(); + }) + ), + this._register( + r.nm(this._domNode, 'focus', (e) => { + this.editor.focus(); + }) + ), + this.editor.addOverlayWidget(this); + } + dispose() { + this.editor.removeOverlayWidget(this), super.dispose(); + } + getId() { + return l.ID; + } + getDomNode() { + return this._domNode; + } + getPosition() { + return { preference: 1 }; + } + } + (l.ID = 'editor.contrib.ShowKeyboardWidget'), (0, o._K)(a.ID, a); + }, + 97830: (e, t, i) => { + 'use strict'; + i.r(t); + var n = i(65321), + r = i(41264), + s = i(5976), + o = i(16830), + a = i(43775), + l = i(28111), + c = i(71531), + d = i(12095), + h = i(73910), + u = i(97781), + g = i(20913), + f = function (e, t) { + return function (i, n) { + t(i, n, e); + }; + }; + let p = class e extends s.JT { + constructor(e, t, i) { + super(), + (this._editor = e), + (this._modeService = i), + (this._widget = null), + this._register(this._editor.onDidChangeModel((e) => this.stop())), + this._register( + this._editor.onDidChangeModelLanguage((e) => this.stop()) + ), + this._register(a.RW.onDidChange((e) => this.stop())), + this._register( + this._editor.onKeyUp((e) => 9 === e.keyCode && this.stop()) + ); + } + static get(t) { + return t.getContribution(e.ID); + } + dispose() { + this.stop(), super.dispose(); + } + launch() { + this._widget || + (this._editor.hasModel() && + (this._widget = new _(this._editor, this._modeService))); + } + stop() { + this._widget && (this._widget.dispose(), (this._widget = null)); + } + }; + (p.ID = 'editor.contrib.inspectTokens'), + (p = (function (e, t, i, n) { + var r, + s = arguments.length, + o = + s < 3 + ? t + : null === n + ? (n = Object.getOwnPropertyDescriptor(t, i)) + : n; + if ( + 'object' == typeof Reflect && + 'function' == typeof Reflect.decorate + ) + o = Reflect.decorate(e, t, i, n); + else + for (var a = e.length - 1; a >= 0; a--) + (r = e[a]) && + (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); + return s > 3 && o && Object.defineProperty(t, i, o), o; + })([f(1, d.Z), f(2, c.h)], p)); + class m extends o.R6 { + constructor() { + super({ + id: 'editor.action.inspectTokens', + label: g.ug.inspectTokensAction, + alias: 'Developer: Inspect Tokens', + precondition: void 0, + }); + } + run(e, t) { + let i = p.get(t); + i && i.launch(); + } + } + class _ extends s.JT { + constructor(e, t) { + var i; + super(), + (this.allowEditorOverflow = !0), + (this._editor = e), + (this._modeService = t), + (this._model = this._editor.getModel()), + (this._domNode = document.createElement('div')), + (this._domNode.className = 'tokens-inspect-widget'), + (this._tokenizationSupport = + ((i = this._model.getLanguageIdentifier()), + a.RW.get(i.language) || { + getInitialState: () => l.nO, + tokenize: (e, t, n) => (0, l.Ri)(i.language, e, t, n), + tokenize2: (e, t, n) => (0, l.mh)(i.id, e, t, n), + })), + this._compute(this._editor.getPosition()), + this._register( + this._editor.onDidChangeCursorPosition((e) => + this._compute(this._editor.getPosition()) + ) + ), + this._editor.addContentWidget(this); + } + dispose() { + this._editor.removeContentWidget(this), super.dispose(); + } + getId() { + return _._ID; + } + _compute(e) { + let t = this._getTokensAtLine(e.lineNumber), + i = 0; + for (let n = t.tokens1.length - 1; n >= 0; n--) { + let r = t.tokens1[n]; + if (e.column - 1 >= r.offset) { + i = n; + break; + } + } + let s = 0; + for (let i = t.tokens2.length >>> 1; i >= 0; i--) + if (e.column - 1 >= t.tokens2[i << 1]) { + s = i; + break; + } + let o = this._model.getLineContent(e.lineNumber), + a = ''; + if (i < t.tokens1.length) { + let e = t.tokens1[i].offset, + n = + i + 1 < t.tokens1.length ? t.tokens1[i + 1].offset : o.length; + a = o.substring(e, n); + } + (0, n.mc)( + this._domNode, + (0, n.$)( + 'h2.tm-token', + void 0, + (function (e) { + let t = ''; + for (let i = 0, n = e.length; i < n; i++) { + let n = e.charCodeAt(i); + switch (n) { + case 9: + t += '→'; + break; + case 32: + t += '·'; + break; + default: + t += String.fromCharCode(n); + } + } + return t; + })(a), + (0, n.$)( + 'span.tm-token-length', + void 0, + `${a.length} ${1 === a.length ? 'char' : 'chars'}` + ) + ) + ), + (0, n.R3)( + this._domNode, + (0, n.$)('hr.tokens-inspect-separator', { style: 'clear:both' }) + ); + const l = + 1 + (s << 1) < t.tokens2.length + ? this._decodeMetadata(t.tokens2[1 + (s << 1)]) + : null; + (0, n.R3)( + this._domNode, + (0, n.$)( + 'table.tm-metadata-table', + void 0, + (0, n.$)( + 'tbody', + void 0, + (0, n.$)( + 'tr', + void 0, + (0, n.$)('td.tm-metadata-key', void 0, 'language'), + (0, n.$)( + 'td.tm-metadata-value', + void 0, + `${l ? l.languageIdentifier.language : '-?-'}` + ) + ), + (0, n.$)( + 'tr', + void 0, + (0, n.$)('td.tm-metadata-key', void 0, 'token type'), + (0, n.$)( + 'td.tm-metadata-value', + void 0, + `${l ? this._tokenTypeToString(l.tokenType) : '-?-'}` + ) + ), + (0, n.$)( + 'tr', + void 0, + (0, n.$)('td.tm-metadata-key', void 0, 'font style'), + (0, n.$)( + 'td.tm-metadata-value', + void 0, + `${l ? this._fontStyleToString(l.fontStyle) : '-?-'}` + ) + ), + (0, n.$)( + 'tr', + void 0, + (0, n.$)('td.tm-metadata-key', void 0, 'foreground'), + (0, n.$)( + 'td.tm-metadata-value', + void 0, + `${l ? r.Il.Format.CSS.formatHex(l.foreground) : '-?-'}` + ) + ), + (0, n.$)( + 'tr', + void 0, + (0, n.$)('td.tm-metadata-key', void 0, 'background'), + (0, n.$)( + 'td.tm-metadata-value', + void 0, + `${l ? r.Il.Format.CSS.formatHex(l.background) : '-?-'}` + ) + ) + ) + ) + ), + (0, n.R3)(this._domNode, (0, n.$)('hr.tokens-inspect-separator')), + i < t.tokens1.length && + (0, n.R3)( + this._domNode, + (0, n.$)('span.tm-token-type', void 0, t.tokens1[i].type) + ), + this._editor.layoutContentWidget(this); + } + _decodeMetadata(e) { + let t = a.RW.getColorMap(), + i = a.NX.getLanguageId(e), + n = a.NX.getTokenType(e), + r = a.NX.getFontStyle(e), + s = a.NX.getForeground(e), + o = a.NX.getBackground(e); + return { + languageIdentifier: this._modeService.getLanguageIdentifier(i), + tokenType: n, + fontStyle: r, + foreground: t[s], + background: t[o], + }; + } + _tokenTypeToString(e) { + switch (e) { + case 0: + return 'Other'; + case 1: + return 'Comment'; + case 2: + return 'String'; + case 4: + return 'RegEx'; + default: + return '??'; + } + } + _fontStyleToString(e) { + let t = ''; + return ( + 1 & e && (t += 'italic '), + 2 & e && (t += 'bold '), + 4 & e && (t += 'underline '), + 0 === t.length && (t = '---'), + t + ); + } + _getTokensAtLine(e) { + let t = this._getStateBeforeLine(e), + i = this._tokenizationSupport.tokenize( + this._model.getLineContent(e), + t, + 0 + ), + n = this._tokenizationSupport.tokenize2( + this._model.getLineContent(e), + t, + 0 + ); + return { + startState: t, + tokens1: i.tokens, + tokens2: n.tokens, + endState: i.endState, + }; + } + _getStateBeforeLine(e) { + let t = this._tokenizationSupport.getInitialState(); + for (let i = 1; i < e; i++) + t = this._tokenizationSupport.tokenize( + this._model.getLineContent(i), + t, + 0 + ).endState; + return t; + } + getDomNode() { + return this._domNode; + } + getPosition() { + return { position: this._editor.getPosition(), preference: [2, 1] }; + } + } + (_._ID = 'editor.contrib.inspectTokensWidget'), + (0, o._K)(p.ID, p), + (0, o.Qr)(m), + (0, u.Ic)((e, t) => { + const i = e.getColor(h.CN); + if (i) { + let n = e.type === u.QP ? 2 : 1; + t.addRule( + `.monaco-editor .tokens-inspect-widget { border: ${n}px solid ${i}; }` + ), + t.addRule( + `.monaco-editor .tokens-inspect-widget .tokens-inspect-separator { background-color: ${i}; }` + ); + } + const n = e.getColor(h.yJ); + n && + t.addRule( + `.monaco-editor .tokens-inspect-widget { background-color: ${n}; }` + ); + const r = e.getColor(h.Sb); + r && + t.addRule( + `.monaco-editor .tokens-inspect-widget { color: ${r}; }` + ); + }); + }, + 97720: (e, t, i) => { + 'use strict'; + i.r(t), + i.d(t, { + GotoLineAction: () => z, + StandaloneCommandsQuickAccessProvider: () => V, + }); + var n, + r = i(89872), + s = i(90725), + o = i(20913), + a = i(11640), + l = i(63580), + c = i(71050), + d = i(5976), + h = i(15393), + u = function (e, t, i, n) { + return new (i || (i = Promise))(function (r, s) { + function o(e) { + try { + l(n.next(e)); + } catch (e) { + s(e); + } + } + function a(e) { + try { + l(n.throw(e)); + } catch (e) { + s(e); + } + } + function l(e) { + var t; + e.done + ? r(e.value) + : ((t = e.value), + t instanceof i + ? t + : new i(function (e) { + e(t); + })).then(o, a); + } + l((n = n.apply(e, t || [])).next()); + }); + }; + function g(e) { + const t = e; + return Array.isArray(t.items); + } + !(function (e) { + (e[(e.NO_ACTION = 0)] = 'NO_ACTION'), + (e[(e.CLOSE_PICKER = 1)] = 'CLOSE_PICKER'), + (e[(e.REFRESH_PICKER = 2)] = 'REFRESH_PICKER'), + (e[(e.REMOVE_ITEM = 3)] = 'REMOVE_ITEM'); + })(n || (n = {})); + class f extends d.JT { + constructor(e, t) { + super(), (this.prefix = e), (this.options = t); + } + provide(e, t) { + var i; + const r = new d.SL(); + let s; + (e.canAcceptInBackground = !!(null === (i = this.options) || + void 0 === i + ? void 0 + : i.canAcceptInBackground)), + (e.matchOnLabel = e.matchOnDescription = e.matchOnDetail = e.sortByLabel = !1); + const o = r.add(new d.XK()), + a = () => + u(this, void 0, void 0, function* () { + const i = (o.value = new d.SL()); + null == s || s.dispose(!0), (e.busy = !1), (s = new c.A(t)); + const n = s.token, + r = e.value.substr(this.prefix.length).trim(), + a = this.getPicks(r, i, n), + l = (t, i) => { + var n; + let s, o; + if ( + (g(t) ? ((s = t.items), (o = t.active)) : (s = t), + 0 === s.length) + ) { + if (i) return !1; + r.length > 0 && + (null === (n = this.options) || void 0 === n + ? void 0 + : n.noResultsPick) && + (s = [this.options.noResultsPick]); + } + return (e.items = s), o && (e.activeItems = [o]), !0; + }; + if (null === a); + else if ( + (function (e) { + const t = e; + return !!t.picks && t.additionalPicks instanceof Promise; + })(a) + ) { + let t = !1, + i = !1; + yield Promise.all([ + (() => + u(this, void 0, void 0, function* () { + yield (0, h.Vs)(f.FAST_PICKS_RACE_DELAY), + n.isCancellationRequested || + i || + (t = l(a.picks, !0)); + }))(), + (() => + u(this, void 0, void 0, function* () { + e.busy = !0; + try { + const r = yield a.additionalPicks; + if (n.isCancellationRequested) return; + let s, o, c, d; + if ( + (g(a.picks) + ? ((s = a.picks.items), (o = a.picks.active)) + : (s = a.picks), + g(r) ? ((c = r.items), (d = r.active)) : (c = r), + c.length > 0 || !t) + ) { + let t; + if (!o && !d) { + const i = e.activeItems[0]; + i && -1 !== s.indexOf(i) && (t = i); + } + l({ items: [...s, ...c], active: o || d || t }); + } + } finally { + n.isCancellationRequested || (e.busy = !1), + (i = !0); + } + }))(), + ]); + } else if (a instanceof Promise) { + e.busy = !0; + try { + const t = yield a; + if (n.isCancellationRequested) return; + l(t); + } finally { + n.isCancellationRequested || (e.busy = !1); + } + } else l(a); + }); + return ( + r.add(e.onDidChangeValue(() => a())), + a(), + r.add( + e.onDidAccept((t) => { + const [i] = e.selectedItems; + 'function' == typeof (null == i ? void 0 : i.accept) && + (t.inBackground || e.hide(), i.accept(e.keyMods, t)); + }) + ), + r.add( + e.onDidTriggerItemButton(({ button: i, item: r }) => + u(this, void 0, void 0, function* () { + var s, o; + if ('function' == typeof r.trigger) { + const l = + null !== + (o = + null === (s = r.buttons) || void 0 === s + ? void 0 + : s.indexOf(i)) && void 0 !== o + ? o + : -1; + if (l >= 0) { + const i = r.trigger(l, e.keyMods), + s = 'number' == typeof i ? i : yield i; + if (t.isCancellationRequested) return; + switch (s) { + case n.NO_ACTION: + break; + case n.CLOSE_PICKER: + e.hide(); + break; + case n.REFRESH_PICKER: + a(); + break; + case n.REMOVE_ITEM: + const t = e.items.indexOf(r); + if (-1 !== t) { + const i = e.items.slice(); + i.splice(t, 1), (e.items = i); + } + } + } + } + }) + ) + ), + r + ); + } + } + f.FAST_PICKS_RACE_DELAY = 200; + var p = i(75392), + m = i(98401), + _ = i(43702), + b = i(52365), + v = i(33108), + y = i(72065), + w = i(91847), + C = i(94565), + S = i(10829), + k = i(17301), + x = i(59422), + L = i(9488); + function M(e, t) { + return t && (e.stack || e.stacktrace) + ? l.N( + 'stackTrace.format', + '{0}: {1}', + N(e), + D(e.stack) || D(e.stacktrace) + ) + : N(e); + } + function D(e) { + return Array.isArray(e) ? e.join('\n') : e; + } + function N(e) { + return 'string' == typeof e.code && + 'number' == typeof e.errno && + 'string' == typeof e.syscall + ? l.N( + 'nodeExceptionMessage', + 'A system error occurred ({0})', + e.message + ) + : e.message || + l.N( + 'error.defaultMessage', + 'An unknown error occurred. Please consult the log for more details.' + ); + } + function E(e = null, t = !1) { + if (!e) + return l.N( + 'error.defaultMessage', + 'An unknown error occurred. Please consult the log for more details.' + ); + if (Array.isArray(e)) { + const i = L.kX(e), + n = E(i[0], t); + return i.length > 1 + ? l.N( + 'error.moreErrors', + '{0} ({1} errors in total)', + n, + i.length + ) + : n; + } + if (m.HD(e)) return e; + if (e.detail) { + const i = e.detail; + if (i.error) return M(i.error, t); + if (i.exception) return M(i.exception, t); + } + return e.stack + ? M(e, t) + : e.message + ? e.message + : l.N( + 'error.defaultMessage', + 'An unknown error occurred. Please consult the log for more details.' + ); + } + var T = i(37280), + I = function (e, t, i, n) { + var r, + s = arguments.length, + o = + s < 3 + ? t + : null === n + ? (n = Object.getOwnPropertyDescriptor(t, i)) + : n; + if ( + 'object' == typeof Reflect && + 'function' == typeof Reflect.decorate + ) + o = Reflect.decorate(e, t, i, n); + else + for (var a = e.length - 1; a >= 0; a--) + (r = e[a]) && + (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); + return s > 3 && o && Object.defineProperty(t, i, o), o; + }, + O = function (e, t) { + return function (i, n) { + t(i, n, e); + }; + }, + A = function (e, t, i, n) { + return new (i || (i = Promise))(function (r, s) { + function o(e) { + try { + l(n.next(e)); + } catch (e) { + s(e); + } + } + function a(e) { + try { + l(n.throw(e)); + } catch (e) { + s(e); + } + } + function l(e) { + var t; + e.done + ? r(e.value) + : ((t = e.value), + t instanceof i + ? t + : new i(function (e) { + e(t); + })).then(o, a); + } + l((n = n.apply(e, t || [])).next()); + }); + }; + let R = class e extends f { + constructor(t, i, n, r, s, o) { + super(e.PREFIX, t), + (this.options = t), + (this.instantiationService = i), + (this.keybindingService = n), + (this.commandService = r), + (this.telemetryService = s), + (this.notificationService = o), + (this.commandsHistory = this._register( + this.instantiationService.createInstance(P) + )); + } + getPicks(t, i, n) { + return A(this, void 0, void 0, function* () { + const r = yield this.getCommandPicks(i, n); + if (n.isCancellationRequested) return []; + const s = []; + for (const i of r) { + const n = (0, m.f6)(e.WORD_FILTER(t, i.label)), + r = i.commandAlias + ? (0, m.f6)(e.WORD_FILTER(t, i.commandAlias)) + : void 0; + n || r + ? ((i.highlights = { + label: n, + detail: this.options.showAlias ? r : void 0, + }), + s.push(i)) + : t === i.commandId && s.push(i); + } + const o = new Map(); + for (const e of s) { + const t = o.get(e.label); + t + ? ((e.description = e.commandId), + (t.description = t.commandId)) + : o.set(e.label, e); + } + s.sort((e, t) => { + const i = this.commandsHistory.peek(e.commandId), + n = this.commandsHistory.peek(t.commandId); + return i && n + ? i > n + ? -1 + : 1 + : i + ? -1 + : n + ? 1 + : e.label.localeCompare(t.label); + }); + const a = []; + let c = !1; + for (let e = 0; e < s.length; e++) { + const t = s[e], + i = this.keybindingService.lookupKeybinding(t.commandId), + n = i + ? (0, l.N)( + 'commandPickAriaLabelWithKeybinding', + '{0}, {1}', + t.label, + i.getAriaLabel() + ) + : t.label; + 0 === e && + this.commandsHistory.peek(t.commandId) && + (a.push({ + type: 'separator', + label: (0, l.N)('recentlyUsed', 'recently used'), + }), + (c = !0)), + 0 !== e && + c && + !this.commandsHistory.peek(t.commandId) && + (a.push({ + type: 'separator', + label: (0, l.N)('morecCommands', 'other commands'), + }), + (c = !1)), + a.push( + Object.assign(Object.assign({}, t), { + ariaLabel: n, + detail: + this.options.showAlias && t.commandAlias !== t.label + ? t.commandAlias + : void 0, + keybinding: i, + accept: () => + A(this, void 0, void 0, function* () { + this.commandsHistory.push(t.commandId), + this.telemetryService.publicLog2( + 'workbenchActionExecuted', + { id: t.commandId, from: 'quick open' } + ); + try { + yield this.commandService.executeCommand( + t.commandId + ); + } catch (e) { + (0, k.VV)(e) || + this.notificationService.error( + (0, l.N)( + 'canNotRun', + "Command '{0}' resulted in an error ({1})", + t.label, + E(e) + ) + ); + } + }), + }) + ); + } + return a; + }); + } + }; + (R.PREFIX = '>'), + (R.WORD_FILTER = (0, p.or)(p.Ji, p.KZ, p.ir)), + (R = I([O(1, y.TG), O(2, w.d), O(3, C.H), O(4, S.b), O(5, x.lT)], R)); + let P = class e extends d.JT { + constructor(t, i, n) { + super(), + (this.storageService = t), + (this.configurationService = i), + (this.configuredCommandsHistoryLength = 0), + n.registerStorageKey({ key: e.PREF_KEY_CACHE, version: 1 }), + n.registerStorageKey({ key: e.PREF_KEY_COUNTER, version: 1 }), + this.updateConfiguration(), + this.load(), + this.registerListeners(); + } + registerListeners() { + this._register( + this.configurationService.onDidChangeConfiguration(() => + this.updateConfiguration() + ) + ); + } + updateConfiguration() { + (this.configuredCommandsHistoryLength = e.getConfiguredCommandHistoryLength( + this.configurationService + )), + e.cache && + e.cache.limit !== this.configuredCommandsHistoryLength && + ((e.cache.limit = this.configuredCommandsHistoryLength), + e.saveState(this.storageService)); + } + load() { + const t = this.storageService.get(e.PREF_KEY_CACHE, 0); + let i; + if (t) + try { + i = JSON.parse(t); + } catch (e) {} + const n = (e.cache = new _.z6( + this.configuredCommandsHistoryLength, + 1 + )); + if (i) { + let e; + (e = i.usesLRU + ? i.entries + : i.entries.sort((e, t) => e.value - t.value)), + e.forEach((e) => n.set(e.key, e.value)); + } + e.counter = this.storageService.getNumber( + e.PREF_KEY_COUNTER, + 0, + e.counter + ); + } + push(t) { + e.cache && + (e.cache.set(t, e.counter++), e.saveState(this.storageService)); + } + peek(t) { + var i; + return null === (i = e.cache) || void 0 === i ? void 0 : i.peek(t); + } + static saveState(t) { + if (!e.cache) return; + const i = { usesLRU: !0, entries: [] }; + e.cache.forEach((e, t) => i.entries.push({ key: t, value: e })), + t.store(e.PREF_KEY_CACHE, JSON.stringify(i), 0), + t.store(e.PREF_KEY_COUNTER, e.counter, 0); + } + static getConfiguredCommandHistoryLength(t) { + var i, n; + const r = + null === + (n = + null === (i = t.getValue().workbench) || void 0 === i + ? void 0 + : i.commandPalette) || void 0 === n + ? void 0 + : n.history; + return 'number' == typeof r ? r : e.DEFAULT_COMMANDS_HISTORY_LENGTH; + } + }; + (P.DEFAULT_COMMANDS_HISTORY_LENGTH = 50), + (P.PREF_KEY_CACHE = 'commandPalette.mru.cache'), + (P.PREF_KEY_COUNTER = 'commandPalette.mru.counter'), + (P.counter = 1), + (P = I([O(0, b.Uy), O(1, v.Ui), O(2, T.u)], P)); + var F = i(73046); + class B extends R { + constructor(e, t, i, n, r, s) { + super(e, t, i, n, r, s); + } + getCodeEditorCommandPicks() { + const e = this.activeTextEditorControl; + if (!e) return []; + const t = []; + for (const i of e.getSupportedActions()) + t.push({ + commandId: i.id, + commandAlias: i.alias, + label: (0, F.QF)(i.label) || i.id, + }); + return t; + } + } + var W = i(16830), + Y = i(29102), + H = i(41157), + j = function (e, t) { + return function (i, n) { + t(i, n, e); + }; + }; + let V = class extends B { + constructor(e, t, i, n, r, s) { + super({ showAlias: !1 }, e, i, n, r, s), + (this.codeEditorService = t); + } + get activeTextEditorControl() { + return (0, m.f6)(this.codeEditorService.getFocusedCodeEditor()); + } + getCommandPicks() { + return ( + (e = this), + (t = void 0), + (n = function* () { + return this.getCodeEditorCommandPicks(); + }), + new ((i = void 0) || (i = Promise))(function (r, s) { + function o(e) { + try { + l(n.next(e)); + } catch (e) { + s(e); + } + } + function a(e) { + try { + l(n.throw(e)); + } catch (e) { + s(e); + } + } + function l(e) { + var t; + e.done + ? r(e.value) + : ((t = e.value), + t instanceof i + ? t + : new i(function (e) { + e(t); + })).then(o, a); + } + l((n = n.apply(e, t || [])).next()); + }) + ); + var e, t, i, n; + } + }; + (V = (function (e, t, i, n) { + var r, + s = arguments.length, + o = + s < 3 + ? t + : null === n + ? (n = Object.getOwnPropertyDescriptor(t, i)) + : n; + if ( + 'object' == typeof Reflect && + 'function' == typeof Reflect.decorate + ) + o = Reflect.decorate(e, t, i, n); + else + for (var a = e.length - 1; a >= 0; a--) + (r = e[a]) && + (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); + return s > 3 && o && Object.defineProperty(t, i, o), o; + })( + [j(0, y.TG), j(1, a.$), j(2, w.d), j(3, C.H), j(4, S.b), j(5, x.lT)], + V + )), + r.B.as(s.IP.Quickaccess).registerQuickAccessProvider({ + ctor: V, + prefix: V.PREFIX, + helpEntries: [ + { description: o.UX.quickCommandHelp, needsEditor: !0 }, + ], + }); + class z extends W.R6 { + constructor() { + super({ + id: 'editor.action.quickCommand', + label: o.UX.quickCommandActionLabel, + alias: 'Command Palette', + precondition: void 0, + kbOpts: { kbExpr: Y.u.focus, primary: 59, weight: 100 }, + contextMenuOpts: { group: 'z_commands', order: 1 }, + }); + } + run(e) { + e.get(H.eJ).quickAccess.show(V.PREFIX); + } + } + (0, W.Qr)(z); + }, + 62097: (e, t, i) => { + 'use strict'; + i.r(t), + i.d(t, { + GotoLineAction: () => y, + StandaloneGotoLineQuickAccessProvider: () => _, + }); + var n = i(63580), + r = i(5976), + s = i(98275), + o = i(65520); + class a extends s.X { + constructor() { + super({ canAcceptInBackground: !0 }); + } + provideWithoutTextEditor(e) { + const t = (0, n.N)( + 'cannotRunGotoLine', + 'Open a text editor first to go to a line.' + ); + return (e.items = [{ label: t }]), (e.ariaLabel = t), r.JT.None; + } + provideWithTextEditor(e, t, i) { + const n = new r.SL(); + n.add( + t.onDidAccept((i) => { + const [n] = t.selectedItems; + if (n) { + if (!this.isValidLineNumber(e, n.lineNumber)) return; + this.gotoLocation(e, { + range: this.toRange(n.lineNumber, n.column), + keyMods: t.keyMods, + preserveFocus: i.inBackground, + }), + i.inBackground || t.hide(); + } + }) + ); + const s = () => { + const i = this.parsePosition( + e, + t.value.trim().substr(a.PREFIX.length) + ), + n = this.getPickLabel(e, i.lineNumber, i.column); + if ( + ((t.items = [ + { lineNumber: i.lineNumber, column: i.column, label: n }, + ]), + (t.ariaLabel = n), + !this.isValidLineNumber(e, i.lineNumber)) + ) + return void this.clearDecorations(e); + const r = this.toRange(i.lineNumber, i.column); + e.revealRangeInCenter(r, 0), this.addDecorations(e, r); + }; + s(), n.add(t.onDidChangeValue(() => s())); + const l = (0, o.Pi)(e); + return ( + l && + 2 === l.getOptions().get(52).renderType && + (l.updateOptions({ lineNumbers: 'on' }), + n.add( + (0, r.OF)(() => l.updateOptions({ lineNumbers: 'relative' })) + )), + n + ); + } + toRange(e = 1, t = 1) { + return { + startLineNumber: e, + startColumn: t, + endLineNumber: e, + endColumn: t, + }; + } + parsePosition(e, t) { + const i = t + .split(/,|:|#/) + .map((e) => parseInt(e, 10)) + .filter((e) => !isNaN(e)), + n = this.lineCount(e) + 1; + return { lineNumber: i[0] > 0 ? i[0] : n + i[0], column: i[1] }; + } + getPickLabel(e, t, i) { + if (this.isValidLineNumber(e, t)) + return this.isValidColumn(e, t, i) + ? (0, n.N)( + 'gotoLineColumnLabel', + 'Go to line {0} and column {1}.', + t, + i + ) + : (0, n.N)('gotoLineLabel', 'Go to line {0}.', t); + const r = e.getPosition() || { lineNumber: 1, column: 1 }, + s = this.lineCount(e); + return s > 1 + ? (0, n.N)( + 'gotoLineLabelEmptyWithLimit', + 'Current Line: {0}, Character: {1}. Type a line number between 1 and {2} to navigate to.', + r.lineNumber, + r.column, + s + ) + : (0, n.N)( + 'gotoLineLabelEmpty', + 'Current Line: {0}, Character: {1}. Type a line number to navigate to.', + r.lineNumber, + r.column + ); + } + isValidLineNumber(e, t) { + return ( + !(!t || 'number' != typeof t) && t > 0 && t <= this.lineCount(e) + ); + } + isValidColumn(e, t, i) { + if (!i || 'number' != typeof i) return !1; + const n = this.getModel(e); + if (!n) return !1; + const r = { lineNumber: t, column: i }; + return n.validatePosition(r).equals(r); + } + lineCount(e) { + var t, i; + return null !== + (i = + null === (t = this.getModel(e)) || void 0 === t + ? void 0 + : t.getLineCount()) && void 0 !== i + ? i + : 0; + } + } + a.PREFIX = ':'; + var l = i(89872), + c = i(90725), + d = i(11640), + h = i(98401), + u = i(20913), + g = i(4669), + f = i(16830), + p = i(29102), + m = i(41157); + let _ = class extends a { + constructor(e) { + super(), + (this.editorService = e), + (this.onDidActiveTextEditorControlChange = g.ju.None); + } + get activeTextEditorControl() { + return (0, h.f6)(this.editorService.getFocusedCodeEditor()); + } + }; + var b, v; + (_ = (function (e, t, i, n) { + var r, + s = arguments.length, + o = + s < 3 + ? t + : null === n + ? (n = Object.getOwnPropertyDescriptor(t, i)) + : n; + if ( + 'object' == typeof Reflect && + 'function' == typeof Reflect.decorate + ) + o = Reflect.decorate(e, t, i, n); + else + for (var a = e.length - 1; a >= 0; a--) + (r = e[a]) && + (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); + return s > 3 && o && Object.defineProperty(t, i, o), o; + })( + [ + ((b = 0), + (v = d.$), + function (e, t) { + v(e, t, b); + }), + ], + _ + )), + l.B.as(c.IP.Quickaccess).registerQuickAccessProvider({ + ctor: _, + prefix: _.PREFIX, + helpEntries: [ + { description: u.qq.gotoLineActionLabel, needsEditor: !0 }, + ], + }); + class y extends f.R6 { + constructor() { + super({ + id: 'editor.action.gotoLine', + label: u.qq.gotoLineActionLabel, + alias: 'Go to Line/Column...', + precondition: void 0, + kbOpts: { + kbExpr: p.u.focus, + primary: 2085, + mac: { primary: 293 }, + weight: 100, + }, + }); + } + run(e) { + e.get(m.eJ).quickAccess.show(_.PREFIX); + } + } + (0, f.Qr)(y); + }, + 98936: (e, t, i) => { + 'use strict'; + i.r(t), + i.d(t, { + GotoLineAction: () => W, + StandaloneGotoSymbolQuickAccessProvider: () => P, + }); + var n = i(63580), + r = i(71050), + s = i(5976), + o = i(24314), + a = i(98275), + l = i(43775), + c = i(86895), + d = i(97295), + h = i(75392), + u = i(88721), + g = i(1432); + const f = [void 0, []]; + function p(e, t, i = 0, n = 0) { + const r = t; + return r.values && r.values.length > 1 + ? (function (e, t, i, n) { + let r = 0; + const s = []; + for (const o of t) { + const [t, a] = m(e, o, i, n); + if ('number' != typeof t) return f; + (r += t), s.push(...a); + } + return [r, _(s)]; + })(e, r.values, i, n) + : m(e, t, i, n); + } + function m(e, t, i, n) { + const r = (0, h.EW)( + t.original, + t.originalLowercase, + i, + e, + e.toLowerCase(), + n, + !0 + ); + return r ? [r[0], (0, h.mB)(r)] : f; + } + function _(e) { + const t = e.sort((e, t) => e.start - t.start), + i = []; + let n; + for (const e of t) + !n || ((s = e), (r = n).end < s.start || s.end < r.start) + ? ((n = e), i.push(e)) + : ((n.start = Math.min(n.start, e.start)), + (n.end = Math.max(n.end, e.end))); + var r, s; + return i; + } + function b(e) { + 'string' != typeof e && (e = ''); + const t = e.toLowerCase(), + { pathNormalized: i, normalized: n, normalizedLowercase: r } = v(e), + s = i.indexOf(u.ir) >= 0; + let o; + const a = e.split(' '); + if (a.length > 1) + for (const e of a) { + const { + pathNormalized: t, + normalized: i, + normalizedLowercase: n, + } = v(e); + i && + (o || (o = []), + o.push({ + original: e, + originalLowercase: e.toLowerCase(), + pathNormalized: t, + normalized: i, + normalizedLowercase: n, + })); + } + return { + original: e, + originalLowercase: t, + pathNormalized: i, + normalized: n, + normalizedLowercase: r, + values: o, + containsPathSeparator: s, + }; + } + function v(e) { + let t; + t = g.ED ? e.replace(/\//g, u.ir) : e.replace(/\\/g, u.ir); + const i = (0, d.R1)(t).replace(/\s/g, ''); + return { + pathNormalized: t, + normalized: i, + normalizedLowercase: i.toLowerCase(), + }; + } + function y(e) { + return Array.isArray(e) + ? b(e.map((e) => e.original).join(' ')) + : b(e.original); + } + var w = i(53725), + C = i(73046), + S = function (e, t, i, n) { + return new (i || (i = Promise))(function (r, s) { + function o(e) { + try { + l(n.next(e)); + } catch (e) { + s(e); + } + } + function a(e) { + try { + l(n.throw(e)); + } catch (e) { + s(e); + } + } + function l(e) { + var t; + e.done + ? r(e.value) + : ((t = e.value), + t instanceof i + ? t + : new i(function (e) { + e(t); + })).then(o, a); + } + l((n = n.apply(e, t || [])).next()); + }); + }; + class k extends a.X { + constructor(e = Object.create(null)) { + super(e), (this.options = e), (e.canAcceptInBackground = !0); + } + provideWithoutTextEditor(e) { + return ( + this.provideLabelPick( + e, + (0, n.N)( + 'cannotRunGotoSymbolWithoutEditor', + 'To go to a symbol, first open a text editor with symbol information.' + ) + ), + s.JT.None + ); + } + provideWithTextEditor(e, t, i) { + const n = this.getModel(e); + return n + ? l.vJ.has(n) + ? this.doProvideWithEditorSymbols(e, n, t, i) + : this.doProvideWithoutEditorSymbols(e, n, t, i) + : s.JT.None; + } + doProvideWithoutEditorSymbols(e, t, i, r) { + const o = new s.SL(); + return ( + this.provideLabelPick( + i, + (0, n.N)( + 'cannotRunGotoSymbolWithoutSymbolProvider', + 'The active text editor does not provide symbol information.' + ) + ), + (() => { + S(this, void 0, void 0, function* () { + (yield this.waitForLanguageSymbolRegistry(t, o)) && + !r.isCancellationRequested && + o.add(this.doProvideWithEditorSymbols(e, t, i, r)); + }); + })(), + o + ); + } + provideLabelPick(e, t) { + (e.items = [{ label: t, index: 0, kind: 14 }]), (e.ariaLabel = t); + } + waitForLanguageSymbolRegistry(e, t) { + return S(this, void 0, void 0, function* () { + if (l.vJ.has(e)) return !0; + let i; + const n = new Promise((e) => (i = e)), + r = t.add( + l.vJ.onDidChange(() => { + l.vJ.has(e) && (r.dispose(), i(!0)); + }) + ); + return t.add((0, s.OF)(() => i(!1))), n; + }); + } + doProvideWithEditorSymbols(e, t, i, o) { + const a = new s.SL(); + a.add( + i.onDidAccept((t) => { + const [n] = i.selectedItems; + n && + n.range && + (this.gotoLocation(e, { + range: n.range.selection, + keyMods: i.keyMods, + preserveFocus: t.inBackground, + }), + t.inBackground || i.hide()); + }) + ), + a.add( + i.onDidTriggerItemButton(({ item: t }) => { + t && + t.range && + (this.gotoLocation(e, { + range: t.range.selection, + keyMods: i.keyMods, + forceSideBySide: !0, + }), + i.hide()); + }) + ); + const l = this.getDocumentSymbols(t, !0, o); + let c; + const d = () => + S(this, void 0, void 0, function* () { + null == c || c.dispose(!0), + (i.busy = !1), + (c = new r.A(o)), + (i.busy = !0); + try { + const e = b(i.value.substr(k.PREFIX.length).trim()), + t = yield this.doGetSymbolPicks(l, e, void 0, c.token); + if (o.isCancellationRequested) return; + t.length > 0 + ? (i.items = t) + : e.original.length > 0 + ? this.provideLabelPick( + i, + (0, n.N)( + 'noMatchingSymbolResults', + 'No matching editor symbols' + ) + ) + : this.provideLabelPick( + i, + (0, n.N)('noSymbolResults', 'No editor symbols') + ); + } finally { + o.isCancellationRequested || (i.busy = !1); + } + }); + a.add(i.onDidChangeValue(() => d())), d(); + let h = !0; + return ( + a.add( + i.onDidChangeActive(() => { + const [t] = i.activeItems; + if (t && t.range) { + if (h) return void (h = !1); + e.revealRangeInCenter(t.range.selection, 0), + this.addDecorations(e, t.range.decoration); + } + }) + ), + a + ); + } + doGetSymbolPicks(e, t, i, r) { + return S(this, void 0, void 0, function* () { + const s = yield e; + if (r.isCancellationRequested) return []; + const a = 0 === t.original.indexOf(k.SCOPE_PREFIX), + c = a ? 1 : 0; + let h, u; + t.values && t.values.length > 1 + ? ((h = y(t.values[0])), (u = y(t.values.slice(1)))) + : (h = t); + const g = []; + for (let e = 0; e < s.length; e++) { + const r = s[e], + a = (0, d.fy)(r.name), + f = `$(symbol-${l.uZ.toString(r.kind) || 'property'}) ${a}`, + m = f.length - a.length; + let _, + b, + v, + y, + w = r.containerName; + if ( + ((null == i ? void 0 : i.extraContainerLabel) && + (w = w + ? `${i.extraContainerLabel} • ${w}` + : i.extraContainerLabel), + t.original.length > c) + ) { + let e = !1; + if ( + (h !== t && + (([_, b] = p( + f, + Object.assign(Object.assign({}, t), { values: void 0 }), + c, + m + )), + 'number' == typeof _ && (e = !0)), + 'number' != typeof _ && + (([_, b] = p(f, h, c, m)), 'number' != typeof _)) + ) + continue; + if (!e && u) { + if ( + (w && u.original.length > 0 && ([v, y] = p(w, u)), + 'number' != typeof v) + ) + continue; + 'number' == typeof _ && (_ += v); + } + } + const S = r.tags && r.tags.indexOf(1) >= 0; + g.push({ + index: e, + kind: r.kind, + score: _, + label: f, + ariaLabel: a, + description: w, + highlights: S ? void 0 : { label: b, description: y }, + range: { + selection: o.e.collapseToStart(r.selectionRange), + decoration: r.range, + }, + strikethrough: S, + buttons: (() => { + var e, t; + const i = ( + null === (e = this.options) || void 0 === e + ? void 0 + : e.openSideBySideDirection + ) + ? null === (t = this.options) || void 0 === t + ? void 0 + : t.openSideBySideDirection() + : void 0; + if (i) + return [ + { + iconClass: + 'right' === i + ? C.lA.splitHorizontal.classNames + : C.lA.splitVertical.classNames, + tooltip: + 'right' === i + ? (0, n.N)('openToSide', 'Open to the Side') + : (0, n.N)('openToBottom', 'Open to the Bottom'), + }, + ]; + })(), + }); + } + const f = g.sort((e, t) => + a ? this.compareByKindAndScore(e, t) : this.compareByScore(e, t) + ); + let m = []; + if (a) { + let e, + t, + i = 0; + function _() { + t && + 'number' == typeof e && + i > 0 && + (t.label = (0, d.WU)(L[e] || x, i)); + } + for (const n of f) + e !== n.kind + ? (_(), + (e = n.kind), + (i = 1), + (t = { type: 'separator' }), + m.push(t)) + : i++, + m.push(n); + _(); + } else f.length > 0 && (m = [{ label: (0, n.N)('symbols', 'symbols ({0})', g.length), type: 'separator' }, ...f]); + return m; + }); + } + compareByScore(e, t) { + if ('number' != typeof e.score && 'number' == typeof t.score) + return 1; + if ('number' == typeof e.score && 'number' != typeof t.score) + return -1; + if ('number' == typeof e.score && 'number' == typeof t.score) { + if (e.score > t.score) return -1; + if (e.score < t.score) return 1; + } + return e.index < t.index ? -1 : e.index > t.index ? 1 : 0; + } + compareByKindAndScore(e, t) { + const i = L[e.kind] || x, + n = L[t.kind] || x, + r = i.localeCompare(n); + return 0 === r ? this.compareByScore(e, t) : r; + } + getDocumentSymbols(e, t, i) { + return S(this, void 0, void 0, function* () { + const n = yield c.C3.create(e, i); + if (i.isCancellationRequested) return []; + const r = []; + for (const e of n.children.values()) + e instanceof c.sT + ? r.push(e.symbol) + : r.push(...w.$.map(e.children.values(), (e) => e.symbol)); + let s = []; + return ( + t ? this.flattenDocumentSymbols(s, r, '') : (s = r), + s.sort((e, t) => o.e.compareRangesUsingStarts(e.range, t.range)) + ); + }); + } + flattenDocumentSymbols(e, t, i) { + for (const n of t) + e.push({ + kind: n.kind, + tags: n.tags, + name: n.name, + detail: n.detail, + containerName: n.containerName || i, + range: n.range, + selectionRange: n.selectionRange, + children: void 0, + }), + n.children && + this.flattenDocumentSymbols(e, n.children, n.name); + } + } + (k.PREFIX = '@'), + (k.SCOPE_PREFIX = ':'), + (k.PREFIX_BY_CATEGORY = `${k.PREFIX}${k.SCOPE_PREFIX}`); + const x = (0, n.N)('property', 'properties ({0})'), + L = { + 5: (0, n.N)('method', 'methods ({0})'), + 11: (0, n.N)('function', 'functions ({0})'), + 8: (0, n.N)('_constructor', 'constructors ({0})'), + 12: (0, n.N)('variable', 'variables ({0})'), + 4: (0, n.N)('class', 'classes ({0})'), + 22: (0, n.N)('struct', 'structs ({0})'), + 23: (0, n.N)('event', 'events ({0})'), + 24: (0, n.N)('operator', 'operators ({0})'), + 10: (0, n.N)('interface', 'interfaces ({0})'), + 2: (0, n.N)('namespace', 'namespaces ({0})'), + 3: (0, n.N)('package', 'packages ({0})'), + 25: (0, n.N)('typeParameter', 'type parameters ({0})'), + 1: (0, n.N)('modules', 'modules ({0})'), + 6: (0, n.N)('property', 'properties ({0})'), + 9: (0, n.N)('enum', 'enumerations ({0})'), + 21: (0, n.N)('enumMember', 'enumeration members ({0})'), + 14: (0, n.N)('string', 'strings ({0})'), + 0: (0, n.N)('file', 'files ({0})'), + 17: (0, n.N)('array', 'arrays ({0})'), + 15: (0, n.N)('number', 'numbers ({0})'), + 16: (0, n.N)('boolean', 'booleans ({0})'), + 18: (0, n.N)('object', 'objects ({0})'), + 19: (0, n.N)('key', 'keys ({0})'), + 7: (0, n.N)('field', 'fields ({0})'), + 13: (0, n.N)('constant', 'constants ({0})'), + }; + var M = i(89872), + D = i(90725), + N = i(11640), + E = i(98401), + T = i(20913), + I = i(4669), + O = i(16830), + A = i(29102), + R = i(41157); + let P = class extends k { + constructor(e) { + super(), + (this.editorService = e), + (this.onDidActiveTextEditorControlChange = I.ju.None); + } + get activeTextEditorControl() { + return (0, E.f6)(this.editorService.getFocusedCodeEditor()); + } + }; + var F, B; + (P = (function (e, t, i, n) { + var r, + s = arguments.length, + o = + s < 3 + ? t + : null === n + ? (n = Object.getOwnPropertyDescriptor(t, i)) + : n; + if ( + 'object' == typeof Reflect && + 'function' == typeof Reflect.decorate + ) + o = Reflect.decorate(e, t, i, n); + else + for (var a = e.length - 1; a >= 0; a--) + (r = e[a]) && + (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); + return s > 3 && o && Object.defineProperty(t, i, o), o; + })( + [ + ((F = 0), + (B = N.$), + function (e, t) { + B(e, t, F); + }), + ], + P + )), + M.B.as(D.IP.Quickaccess).registerQuickAccessProvider({ + ctor: P, + prefix: k.PREFIX, + helpEntries: [ + { + description: T.aq.quickOutlineActionLabel, + prefix: k.PREFIX, + needsEditor: !0, + }, + { + description: T.aq.quickOutlineByCategoryActionLabel, + prefix: k.PREFIX_BY_CATEGORY, + needsEditor: !0, + }, + ], + }); + class W extends O.R6 { + constructor() { + super({ + id: 'editor.action.quickOutline', + label: T.aq.quickOutlineActionLabel, + alias: 'Go to Symbol...', + precondition: A.u.hasDocumentSymbolProvider, + kbOpts: { kbExpr: A.u.focus, primary: 3117, weight: 100 }, + contextMenuOpts: { group: 'navigation', order: 3 }, + }); + } + run(e) { + e.get(R.eJ).quickAccess.show(k.PREFIX); + } + } + (0, O.Qr)(W); + }, + 78944: (e, t, i) => { + 'use strict'; + i.r(t); + var n = i(89872), + r = i(90725), + s = i(20913), + o = i(41157), + a = i(63580), + l = i(5976); + let c = class e { + constructor(e) { + (this.quickInputService = e), + (this.registry = n.B.as(r.IP.Quickaccess)); + } + provide(t) { + const i = new l.SL(); + i.add( + t.onDidAccept(() => { + const [e] = t.selectedItems; + e && + this.quickInputService.quickAccess.show(e.prefix, { + preserveValue: !0, + }); + }) + ), + i.add( + t.onDidChangeValue((t) => { + const i = this.registry.getQuickAccessProvider( + t.substr(e.PREFIX.length) + ); + i && + i.prefix && + i.prefix !== e.PREFIX && + this.quickInputService.quickAccess.show(i.prefix, { + preserveValue: !0, + }); + }) + ); + const { + editorProviders: n, + globalProviders: r, + } = this.getQuickAccessProviders(); + return ( + (t.items = + 0 === n.length || 0 === r.length + ? [...(0 === n.length ? r : n)] + : [ + { + label: (0, a.N)('globalCommands', 'global commands'), + type: 'separator', + }, + ...r, + { + label: (0, a.N)('editorCommands', 'editor commands'), + type: 'separator', + }, + ...n, + ]), + i + ); + } + getQuickAccessProviders() { + const t = [], + i = []; + for (const n of this.registry + .getQuickAccessProviders() + .sort((e, t) => e.prefix.localeCompare(t.prefix))) + if (n.prefix !== e.PREFIX) + for (const e of n.helpEntries) { + const r = e.prefix || n.prefix, + s = r || '…'; + (e.needsEditor ? i : t).push({ + prefix: r, + label: s, + ariaLabel: (0, a.N)( + 'helpPickAriaLabel', + '{0}, {1}', + s, + e.description + ), + description: e.description, + }); + } + return { editorProviders: i, globalProviders: t }; + } + }; + var d, h; + (c.PREFIX = '?'), + (c = (function (e, t, i, n) { + var r, + s = arguments.length, + o = + s < 3 + ? t + : null === n + ? (n = Object.getOwnPropertyDescriptor(t, i)) + : n; + if ( + 'object' == typeof Reflect && + 'function' == typeof Reflect.decorate + ) + o = Reflect.decorate(e, t, i, n); + else + for (var a = e.length - 1; a >= 0; a--) + (r = e[a]) && + (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); + return s > 3 && o && Object.defineProperty(t, i, o), o; + })( + [ + ((d = 0), + (h = o.eJ), + function (e, t) { + h(e, t, d); + }), + ], + c + )), + n.B.as(r.IP.Quickaccess).registerQuickAccessProvider({ + ctor: c, + prefix: '', + helpEntries: [ + { description: s.ld.helpQuickAccessActionLabel, needsEditor: !0 }, + ], + }); + }, + 15662: (e, t, i) => { + 'use strict'; + i.r(t); + var n = i(16830), + r = i(12095), + s = i(20913); + class o extends n.R6 { + constructor() { + super({ + id: 'editor.action.toggleHighContrast', + label: s.xi.toggleHighContrast, + alias: 'Toggle High Contrast Theme', + precondition: void 0, + }), + (this._originalThemeName = null); + } + run(e, t) { + const i = e.get(r.Z); + this._originalThemeName + ? (i.setTheme(this._originalThemeName), + (this._originalThemeName = null)) + : ((this._originalThemeName = i.getColorTheme().themeName), + i.setTheme('hc-black')); + } + } + (0, n.Qr)(o); + }, + 12095: (e, t, i) => { + 'use strict'; + i.d(t, { Z: () => n }); + const n = (0, i(72065).yh)('themeService'); + }, + 61460: (e, t, i) => { + 'use strict'; + i.d(t, { + Q5: () => n.Emitter, + ZL: () => n.MarkerSeverity, + e6: () => n.Range, + Sf: () => n.Uri, + j6: () => n.editor, + Mj: () => n.languages, + }); + var n = i(50158); + }, + 47650: (e, t, i) => { + 'use strict'; + i.d(t, { + Q5: () => n.Emitter, + ZL: () => n.MarkerSeverity, + e6: () => n.Range, + Sf: () => n.Uri, + j6: () => n.editor, + Mj: () => n.languages, + }); + var n = i(50158); + }, + 61174: (e, t, i) => { + 'use strict'; + i.d(t, { + Q5: () => n.Emitter, + ZL: () => n.MarkerSeverity, + e6: () => n.Range, + j6: () => n.editor, + Mj: () => n.languages, + }); + var n = i(50158); + }, + 72323: (e, t, i) => { + 'use strict'; + i.r(t), i.d(t, { jsonDefaults: () => r }), i(50158); + var n = i(61174), + r = new ((function () { + function e(e, t, i) { + (this._onDidChange = new n.Q5()), + (this._languageId = e), + this.setDiagnosticsOptions(t), + this.setModeConfiguration(i); + } + return ( + Object.defineProperty(e.prototype, 'onDidChange', { + get: function () { + return this._onDidChange.event; + }, + enumerable: !1, + configurable: !0, + }), + Object.defineProperty(e.prototype, 'languageId', { + get: function () { + return this._languageId; + }, + enumerable: !1, + configurable: !0, + }), + Object.defineProperty(e.prototype, 'modeConfiguration', { + get: function () { + return this._modeConfiguration; + }, + enumerable: !1, + configurable: !0, + }), + Object.defineProperty(e.prototype, 'diagnosticsOptions', { + get: function () { + return this._diagnosticsOptions; + }, + enumerable: !1, + configurable: !0, + }), + (e.prototype.setDiagnosticsOptions = function (e) { + (this._diagnosticsOptions = e || Object.create(null)), + this._onDidChange.fire(this); + }), + (e.prototype.setModeConfiguration = function (e) { + (this._modeConfiguration = e || Object.create(null)), + this._onDidChange.fire(this); + }), + e + ); + })())( + 'json', + { + validate: !0, + allowComments: !0, + schemas: [], + enableSchemaRequest: !1, + }, + { + documentFormattingEdits: !0, + documentRangeFormattingEdits: !0, + completionItems: !0, + hovers: !0, + documentSymbols: !0, + tokens: !0, + colors: !0, + foldingRanges: !0, + diagnostics: !0, + selectionRanges: !0, + } + ); + (n.Mj.json = { jsonDefaults: r }), + n.Mj.register({ + id: 'json', + extensions: [ + '.json', + '.bowerrc', + '.jshintrc', + '.jscsrc', + '.eslintrc', + '.babelrc', + '.har', + ], + aliases: ['JSON', 'json'], + mimetypes: ['application/json'], + }), + n.Mj.onLanguage('json', function () { + i.e(7194) + .then(i.bind(i, 97194)) + .then(function (e) { + return e.setupMode(r); + }); + }); + }, + 91429: (e, t, i) => { + 'use strict'; + i.d(t, { + Q5: () => n.Emitter, + ZL: () => n.MarkerSeverity, + eB: () => n.MarkerTag, + e6: () => n.Range, + Sf: () => n.Uri, + j6: () => n.editor, + Mj: () => n.languages, + }); + var n = i(50158); + }, + 63580: (e, t, i) => { + 'use strict'; + function n(e, t, ...i) { + return (function (e, t) { + let i; + return ( + (i = + 0 === t.length + ? e + : e.replace(/\{(\d+)\}/g, function (e, i) { + const n = i[0]; + return void 0 !== t[n] ? t[n] : e; + })), + i + ); + })(t, i); + } + i.d(t, { N: () => n }); + }, + 31106: (e, t, i) => { + 'use strict'; + i.d(t, { F: () => s, U: () => o }); + var n = i(72065), + r = i(38819); + const s = (0, n.yh)('accessibilityService'), + o = new r.uy('accessibilityModeEnabled', !1); + }, + 58335: (e, t, i) => { + 'use strict'; + i.d(t, { Mm: () => N, bi: () => E, vr: () => L }); + var n = i(65321), + r = i(4850), + s = i(74741), + o = i(4669), + a = i(44742), + l = i(5976), + c = i(1432), + d = i(63580), + h = i(84144), + u = i(5606), + g = i(91847), + f = i(59422), + p = i(97781), + m = i(76033), + _ = i(10553), + b = i(59069); + class v extends s.Wi { + constructor(e, t) { + super(), + (this._onDidChangeVisibility = new o.Q5()), + (this.onDidChangeVisibility = this._onDidChangeVisibility.event), + (this._element = (0, n.R3)(e, (0, n.$)('.monaco-dropdown'))), + (this._label = (0, n.R3)( + this._element, + (0, n.$)('.dropdown-label') + )); + let i = t.labelRenderer; + i || (i = (e) => ((e.textContent = t.label || ''), null)); + for (const e of [n.tw.CLICK, n.tw.MOUSE_DOWN, _.t.Tap]) + this._register( + (0, n.nm)(this.element, e, (e) => n.zB.stop(e, !0)) + ); + for (const e of [n.tw.MOUSE_DOWN, _.t.Tap]) + this._register( + (0, n.nm)(this._label, e, (e) => { + (e instanceof MouseEvent && e.detail > 1) || + (this.visible ? this.hide() : this.show()); + }) + ); + this._register( + (0, n.nm)(this._label, n.tw.KEY_UP, (e) => { + const t = new b.y(e); + (t.equals(3) || t.equals(10)) && + (n.zB.stop(e, !0), this.visible ? this.hide() : this.show()); + }) + ); + const r = i(this._label); + r && this._register(r), this._register(_.o.addTarget(this._label)); + } + get element() { + return this._element; + } + show() { + this.visible || + ((this.visible = !0), this._onDidChangeVisibility.fire(!0)); + } + hide() { + this.visible && + ((this.visible = !1), this._onDidChangeVisibility.fire(!1)); + } + dispose() { + super.dispose(), + this.hide(), + this.boxContainer && + (this.boxContainer.remove(), (this.boxContainer = void 0)), + this.contents && + (this.contents.remove(), (this.contents = void 0)), + this._label && (this._label.remove(), (this._label = void 0)); + } + } + class y extends v { + constructor(e, t) { + super(e, t), + (this._actions = []), + (this._contextMenuProvider = t.contextMenuProvider), + (this.actions = t.actions || []), + (this.actionProvider = t.actionProvider), + (this.menuClassName = t.menuClassName || ''), + (this.menuAsChild = !!t.menuAsChild); + } + set menuOptions(e) { + this._menuOptions = e; + } + get menuOptions() { + return this._menuOptions; + } + get actions() { + return this.actionProvider + ? this.actionProvider.getActions() + : this._actions; + } + set actions(e) { + this._actions = e; + } + show() { + super.show(), + (0, n.cn)(this.element, 'active'), + this._contextMenuProvider.showContextMenu({ + getAnchor: () => this.element, + getActions: () => this.actions, + getActionsContext: () => + this.menuOptions ? this.menuOptions.context : null, + getActionViewItem: (e) => + this.menuOptions && this.menuOptions.actionViewItemProvider + ? this.menuOptions.actionViewItemProvider(e) + : void 0, + getKeyBinding: (e) => + this.menuOptions && this.menuOptions.getKeyBinding + ? this.menuOptions.getKeyBinding(e) + : void 0, + getMenuClassName: () => this.menuClassName, + onHide: () => this.onHide(), + actionRunner: this.menuOptions + ? this.menuOptions.actionRunner + : void 0, + anchorAlignment: this.menuOptions + ? this.menuOptions.anchorAlignment + : 0, + domForShadowRoot: this.menuAsChild ? this.element : void 0, + }); + } + hide() { + super.hide(); + } + onHide() { + this.hide(), (0, n.IV)(this.element, 'active'); + } + } + var w = i(9488); + class C extends m.Y { + constructor(e, t, i, n = {}) { + super(null, e, n), + (this.options = n), + (this._onDidChangeVisibility = this._register(new o.Q5())), + (this.menuActionsOrProvider = t), + (this.contextMenuProvider = i), + this.options.actionRunner && + (this.actionRunner = this.options.actionRunner); + } + render(e) { + const t = { + contextMenuProvider: this.contextMenuProvider, + labelRenderer: (e) => { + this.element = (0, n.R3)(e, (0, n.$)('a.action-label')); + const t = this.options.classNames + ? (0, w._2)(this.options.classNames) + : []; + return ( + t.find((e) => 'icon' === e) || t.push('codicon'), + (0, n.PT)(this.element, ...t), + (this.element.tabIndex = 0), + this.element.setAttribute('role', 'button'), + this.element.setAttribute('aria-haspopup', 'true'), + this.element.setAttribute('aria-expanded', 'false'), + (this.element.title = this._action.label || ''), + null + ); + }, + menuAsChild: this.options.menuAsChild, + }; + if ( + (Array.isArray(this.menuActionsOrProvider) + ? (t.actions = this.menuActionsOrProvider) + : (t.actionProvider = this.menuActionsOrProvider), + (this.dropdownMenu = this._register(new y(e, t))), + this._register( + this.dropdownMenu.onDidChangeVisibility((e) => { + var t; + null === (t = this.element) || + void 0 === t || + t.setAttribute('aria-expanded', `${e}`), + this._onDidChangeVisibility.fire(e); + }) + ), + (this.dropdownMenu.menuOptions = { + actionViewItemProvider: this.options.actionViewItemProvider, + actionRunner: this.actionRunner, + getKeyBinding: this.options.keybindingProvider, + context: this._context, + }), + this.options.anchorAlignmentProvider) + ) { + const e = this; + this.dropdownMenu.menuOptions = Object.assign( + Object.assign({}, this.dropdownMenu.menuOptions), + { + get anchorAlignment() { + return e.options.anchorAlignmentProvider(); + }, + } + ); + } + } + setActionContext(e) { + super.setActionContext(e), + this.dropdownMenu && + (this.dropdownMenu.menuOptions + ? (this.dropdownMenu.menuOptions.context = e) + : (this.dropdownMenu.menuOptions = { context: e })); + } + } + var S = function (e, t, i, n) { + var r, + s = arguments.length, + o = + s < 3 + ? t + : null === n + ? (n = Object.getOwnPropertyDescriptor(t, i)) + : n; + if ( + 'object' == typeof Reflect && + 'function' == typeof Reflect.decorate + ) + o = Reflect.decorate(e, t, i, n); + else + for (var a = e.length - 1; a >= 0; a--) + (r = e[a]) && + (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); + return s > 3 && o && Object.defineProperty(t, i, o), o; + }, + k = function (e, t) { + return function (i, n) { + t(i, n, e); + }; + }; + class x extends o.Q5 { + constructor(e) { + super(), + (this._subscriptions = new l.SL()), + (this._isPressed = !1), + (this._suppressAltKeyUp = !1), + this._subscriptions.add( + (0, r.j)( + document.body, + 'keydown' + )((e) => { + this.isPressed = e.altKey || ((c.ED || c.IJ) && e.shiftKey); + }) + ), + this._subscriptions.add( + (0, r.j)( + document.body, + 'keyup' + )((e) => { + this.isPressed && + this._suppressAltKeyUp && + e.preventDefault(), + (this._suppressAltKeyUp = !1), + (this.isPressed = !1); + }) + ), + this._subscriptions.add( + (0, r.j)( + document.body, + 'mouseleave' + )((e) => (this.isPressed = !1)) + ), + this._subscriptions.add( + (0, r.j)(document.body, 'blur')((e) => (this.isPressed = !1)) + ), + this._subscriptions.add( + e.onDidContextMenu(() => (this.isPressed = !1)) + ); + } + get isPressed() { + return this._isPressed; + } + set isPressed(e) { + (this._isPressed = e), this.fire(this._isPressed); + } + suppressAltKeyUp() { + this._suppressAltKeyUp = !0; + } + static getInstance(e) { + return x.instance || (x.instance = new x(e)), x.instance; + } + dispose() { + super.dispose(), this._subscriptions.dispose(); + } + } + function L(e, t, i, n) { + const r = e.getActions(t); + return ( + (function (e, t, i, n = (e) => 'navigation' === e) { + for (let r of e) { + let [e, o] = r; + if ( + (i && + (o = o.map((e) => + e instanceof h.U8 && e.alt ? e.alt : e + )), + n(e)) + ) + (Array.isArray(t) ? t : t.primary).unshift(...o); + else { + const e = Array.isArray(t) ? t : t.secondary; + e.length > 0 && e.push(new s.Z0()), e.push(...o); + } + } + })(r, i, !1, n), + (function (e) { + const t = new l.SL(); + for (const [, i] of e) for (const e of i) t.add(e); + return t; + })(r) + ); + } + const M = new a.R('menu-item-action-item-icon-'), + D = new Map(); + let N = class extends m.g { + constructor(e, t, i, n) { + super(void 0, e, { + icon: !(!e.class && !e.item.icon), + label: !e.class && !e.item.icon, + }), + (this._action = e), + (this._keybindingService = t), + (this._notificationService = i), + (this._wantsAltCommand = !1), + (this._itemClassDispose = this._register(new l.XK())), + (this._altKey = x.getInstance(n)); + } + get _commandAction() { + return (this._wantsAltCommand && this._action.alt) || this._action; + } + onClick(e) { + e.preventDefault(), + e.stopPropagation(), + this._altKey.isPressed && this._altKey.suppressAltKeyUp(), + this.actionRunner + .run(this._commandAction, this._context) + .then(void 0, (e) => this._notificationService.error(e)); + } + render(e) { + super.render(e), this._updateItemClass(this._action.item); + let t = !1, + i = this._altKey.isPressed; + const n = () => { + const e = t && i; + e !== this._wantsAltCommand && + ((this._wantsAltCommand = e), + this.updateLabel(), + this.updateTooltip(), + this.updateClass()); + }; + this._action.alt && + this._register( + this._altKey.event((e) => { + (i = e), n(); + }) + ), + this._register( + (0, r.j)( + e, + 'mouseleave' + )((e) => { + (t = !1), n(); + }) + ), + this._register( + (0, r.j)( + e, + 'mouseenter' + )((e) => { + (t = !0), n(); + }) + ); + } + updateLabel() { + this.options.label && + this.label && + (this.label.textContent = this._commandAction.label); + } + updateTooltip() { + if (this.label) { + const e = this._keybindingService.lookupKeybinding( + this._commandAction.id + ), + t = e && e.getLabel(), + i = this._commandAction.tooltip || this._commandAction.label; + this.label.title = t + ? (0, d.N)('titleAndKb', '{0} ({1})', i, t) + : i; + } + } + updateClass() { + this.options.icon && + (this._commandAction !== this._action + ? this._action.alt && + this._updateItemClass(this._action.alt.item) + : this._action.alt && this._updateItemClass(this._action.item)); + } + _updateItemClass(e) { + var t, i; + this._itemClassDispose.value = void 0; + const r = + this._commandAction.checked && + (null === (t = e.toggled) || void 0 === t ? void 0 : t.icon) + ? e.toggled.icon + : e.icon; + if (p.kS.isThemeIcon(r)) { + const e = p.kS.asClassName(r); + this.label && + e && + ((0, n.PT)(this.label, e), + (this._itemClassDispose.value = (0, l.OF)(() => { + this.label && (0, n.GK)(this.label, e); + }))); + } else if (r) { + let e; + if (null === (i = r.dark) || void 0 === i ? void 0 : i.scheme) { + const t = r.dark.toString(); + D.has(t) + ? (e = D.get(t)) + : ((e = M.nextId()), + (0, n.fk)( + `.icon.${e}`, + `background-image: ${(0, n.wY)(r.light || r.dark)}` + ), + (0, n.fk)( + `.vs-dark .icon.${e}, .hc-black .icon.${e}`, + `background-image: ${(0, n.wY)(r.dark)}` + ), + D.set(t, e)), + this.label && + ((0, n.PT)(this.label, 'icon', e), + (this._itemClassDispose.value = (0, l.OF)(() => { + this.label && (0, n.GK)(this.label, 'icon', e); + }))); + } + } + } + }; + N = S([k(1, g.d), k(2, f.lT), k(3, u.i)], N); + let E = class extends C { + constructor(e, t, i) { + var r; + const s = []; + if (e.item.icon) + if (p.kS.isThemeIcon(e.item.icon)) + s.push(p.kS.asClassName(e.item.icon)); + else if ( + null === (r = e.item.icon.dark) || void 0 === r + ? void 0 + : r.scheme + ) { + const t = e.item.icon.dark.toString(); + if (D.has(t)) s.push('icon', D.get(t)); + else { + const i = M.nextId(); + s.push('icon', i), + (0, n.fk)( + `.icon.${i}`, + `background-image: ${(0, n.wY)( + e.item.icon.light || e.item.icon.dark + )}` + ), + (0, n.fk)( + `.vs-dark .icon.${i}, .hc-black .icon.${i}`, + `background-image: ${(0, n.wY)(e.item.icon.dark)}` + ), + D.set(t, i); + } + } + super(e, e.actions, i, { classNames: s }); + } + }; + E = S([k(1, f.lT), k(2, u.i)], E); + }, + 84144: (e, t, i) => { + 'use strict'; + i.d(t, { + vr: () => g, + eH: () => f, + co: () => p, + BH: () => m, + NZ: () => b, + U8: () => v, + }); + var n = i(74741), + r = i(72065), + s = i(38819), + o = i(94565), + a = i(5976), + l = i(4669), + c = i(53725), + d = i(91741), + h = function (e, t, i, n) { + var r, + s = arguments.length, + o = + s < 3 + ? t + : null === n + ? (n = Object.getOwnPropertyDescriptor(t, i)) + : n; + if ( + 'object' == typeof Reflect && + 'function' == typeof Reflect.decorate + ) + o = Reflect.decorate(e, t, i, n); + else + for (var a = e.length - 1; a >= 0; a--) + (r = e[a]) && + (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); + return s > 3 && o && Object.defineProperty(t, i, o), o; + }, + u = function (e, t) { + return function (i, n) { + t(i, n, e); + }; + }; + function g(e) { + return void 0 !== e.command; + } + class f { + constructor(e) { + (this.id = f._idPool++), (this._debugName = e); + } + } + (f._idPool = 0), + (f.CommandPalette = new f('CommandPalette')), + (f.EditorContext = new f('EditorContext')), + (f.EditorContextPeek = new f('EditorContextPeek')), + (f.MenubarEditMenu = new f('MenubarEditMenu')), + (f.MenubarGoMenu = new f('MenubarGoMenu')), + (f.MenubarSelectionMenu = new f('MenubarSelectionMenu')); + const p = (0, r.yh)('menuService'), + m = new (class { + constructor() { + (this._commands = new Map()), + (this._menuItems = new Map()), + (this._onDidChangeMenu = new l.Q5()), + (this.onDidChangeMenu = this._onDidChangeMenu.event), + (this._commandPaletteChangeEvent = { + has: (e) => e === f.CommandPalette, + }); + } + addCommand(e) { + return this.addCommands(c.$.single(e)); + } + addCommands(e) { + for (const t of e) this._commands.set(t.id, t); + return ( + this._onDidChangeMenu.fire(this._commandPaletteChangeEvent), + (0, a.OF)(() => { + let t = !1; + for (const i of e) t = this._commands.delete(i.id) || t; + t && + this._onDidChangeMenu.fire(this._commandPaletteChangeEvent); + }) + ); + } + getCommand(e) { + return this._commands.get(e); + } + getCommands() { + const e = new Map(); + return this._commands.forEach((t, i) => e.set(i, t)), e; + } + appendMenuItem(e, t) { + return this.appendMenuItems(c.$.single({ id: e, item: t })); + } + appendMenuItems(e) { + const t = new Set(), + i = new d.S(); + for (const { id: n, item: r } of e) { + let e = this._menuItems.get(n); + e || ((e = new d.S()), this._menuItems.set(n, e)), + i.push(e.push(r)), + t.add(n); + } + return ( + this._onDidChangeMenu.fire(t), + (0, a.OF)(() => { + if (i.size > 0) { + for (let e of i) e(); + this._onDidChangeMenu.fire(t), i.clear(); + } + }) + ); + } + getMenuItems(e) { + let t; + return ( + (t = this._menuItems.has(e) ? [...this._menuItems.get(e)] : []), + e === f.CommandPalette && this._appendImplicitItems(t), + t + ); + } + _appendImplicitItems(e) { + const t = new Set(); + for (const i of e) + g(i) && (t.add(i.command.id), i.alt && t.add(i.alt.id)); + this._commands.forEach((i, n) => { + t.has(n) || e.push({ command: i }); + }); + } + })(); + let _ = class extends n.aU { + constructor(e, t, i) { + super(e, t), (this._commandService = i); + } + run(...e) { + return this._commandService.executeCommand(this.id, ...e); + } + }; + _ = h([u(2, o.H)], _); + class b extends n.wY { + constructor(e, t, i, r) { + super( + `submenuitem.${e.submenu.id}`, + 'string' == typeof e.title ? e.title : e.title.value, + () => { + const s = [], + o = t.createMenu(e.submenu, i), + a = o.getActions(r); + o.dispose(); + for (let e of a) { + const [, t] = e; + t.length > 0 && (s.push(...t), s.push(new n.Z0())); + } + return s.length && s.pop(), s; + }, + 'submenu' + ), + (this.item = e); + } + } + let v = class e extends _ { + constructor(t, i, n, r, s) { + if ( + ('string' == typeof t.title + ? super(t.id, t.title, s) + : super(t.id, t.title.value, s), + (this._cssClass = void 0), + (this._enabled = + !t.precondition || r.contextMatchesRules(t.precondition)), + (this._tooltip = t.tooltip + ? 'string' == typeof t.tooltip + ? t.tooltip + : t.tooltip.value + : void 0), + t.toggled) + ) { + const e = t.toggled.condition + ? t.toggled + : { condition: t.toggled }; + (this._checked = r.contextMatchesRules(e.condition)), + this._checked && + e.tooltip && + (this._tooltip = + 'string' == typeof e.tooltip ? e.tooltip : e.tooltip.value); + } + (this._options = n || {}), + (this.item = t), + (this.alt = i ? new e(i, void 0, this._options, r, s) : void 0); + } + dispose() { + this.alt && this.alt.dispose(), super.dispose(); + } + run(...e) { + let t = []; + return ( + this._options.arg && (t = [...t, this._options.arg]), + this._options.shouldForwardArgs && (t = [...t, ...e]), + super.run(...t) + ); + } + }; + v = h([u(3, s.i6), u(4, o.H)], v); + }, + 84972: (e, t, i) => { + 'use strict'; + i.d(t, { p: () => n }); + const n = (0, i(72065).yh)('clipboardService'); + }, + 94565: (e, t, i) => { + 'use strict'; + i.d(t, { H: () => c, P: () => d }); + var n = i(5976), + r = i(98401), + s = i(72065), + o = i(4669), + a = i(91741), + l = i(53725); + const c = (0, s.yh)('commandService'), + d = new (class { + constructor() { + (this._commands = new Map()), + (this._onDidRegisterCommand = new o.Q5()), + (this.onDidRegisterCommand = this._onDidRegisterCommand.event); + } + registerCommand(e, t) { + if (!e) throw new Error('invalid command'); + if ('string' == typeof e) { + if (!t) throw new Error('invalid command'); + return this.registerCommand({ id: e, handler: t }); + } + if (e.description) { + const t = []; + for (let i of e.description.args) t.push(i.constraint); + const i = e.handler; + e.handler = function (e, ...n) { + return (0, r.D8)(n, t), i(e, ...n); + }; + } + const { id: i } = e; + let s = this._commands.get(i); + s || ((s = new a.S()), this._commands.set(i, s)); + let o = s.unshift(e), + l = (0, n.OF)(() => { + o(); + const e = this._commands.get(i); + (null == e ? void 0 : e.isEmpty()) && + this._commands.delete(i); + }); + return this._onDidRegisterCommand.fire(i), l; + } + registerCommandAlias(e, t) { + return d.registerCommand(e, (e, ...i) => + e.get(c).executeCommand(t, ...i) + ); + } + getCommand(e) { + const t = this._commands.get(e); + if (t && !t.isEmpty()) return l.$.first(t); + } + getCommands() { + const e = new Map(); + for (const t of this._commands.keys()) { + const i = this.getCommand(t); + i && e.set(t, i); + } + return e; + } + })(); + }, + 33108: (e, t, i) => { + 'use strict'; + i.d(t, { + Ui: () => o, + Od: () => a, + KV: () => l, + xL: () => c, + Mt: () => h, + MR: () => u, + O4: () => g, + }); + var n = i(89872), + r = i(72065), + s = i(23193); + const o = (0, r.yh)('configurationService'); + function a(e, t) { + const i = Object.create(null); + for (let n in e) l(i, n, e[n], t); + return i; + } + function l(e, t, i, n) { + const r = t.split('.'), + s = r.pop(); + let o = e; + for (let e = 0; e < r.length; e++) { + let i = r[e], + s = o[i]; + switch (typeof s) { + case 'undefined': + s = o[i] = Object.create(null); + break; + case 'object': + break; + default: + return void n( + `Ignoring ${t} as ${r + .slice(0, e + 1) + .join('.')} is ${JSON.stringify(s)}` + ); + } + o = s; + } + if ('object' == typeof o && null !== o) + try { + o[s] = i; + } catch (e) { + n(`Ignoring ${t} as ${r.join('.')} is ${JSON.stringify(o)}`); + } + else n(`Ignoring ${t} as ${r.join('.')} is ${JSON.stringify(o)}`); + } + function c(e, t) { + d(e, t.split('.')); + } + function d(e, t) { + const i = t.shift(); + if (0 !== t.length) { + if (-1 !== Object.keys(e).indexOf(i)) { + const n = e[i]; + 'object' != typeof n || + Array.isArray(n) || + (d(n, t), 0 === Object.keys(n).length && delete e[i]); + } + } else delete e[i]; + } + function h(e, t, i) { + const n = (function (e, t) { + let i = e; + for (const e of t) { + if ('object' != typeof i || null === i) return; + i = i[e]; + } + return i; + })(e, t.split('.')); + return void 0 === n ? i : n; + } + function u() { + const e = n.B.as(s.IP.Configuration).getConfigurationProperties(); + return Object.keys(e); + } + function g() { + const e = Object.create(null), + t = n.B.as(s.IP.Configuration).getConfigurationProperties(); + for (let i in t) + l(e, i, t[i].default, (e) => + console.error(`Conflict in default settings: ${e}`) + ); + return e; + } + }, + 23193: (e, t, i) => { + 'use strict'; + i.d(t, { IP: () => l, G1: () => _, Uh: () => b }); + var n = i(63580), + r = i(4669), + s = i(89872), + o = i(98401), + a = i(81294); + const l = { Configuration: 'base.contributions.configuration' }, + c = { properties: {}, patternProperties: {} }, + d = { properties: {}, patternProperties: {} }, + h = { properties: {}, patternProperties: {} }, + u = { properties: {}, patternProperties: {} }, + g = { properties: {}, patternProperties: {} }, + f = { properties: {}, patternProperties: {} }, + p = 'vscode://schemas/settings/resourceLanguage', + m = s.B.as(a.I.JSONContribution), + _ = new RegExp('\\[.*\\]$'); + function b(e) { + return e.substring(1, e.length - 1); + } + const v = new (class { + constructor() { + (this.overrideIdentifiers = new Set()), + (this._onDidSchemaChange = new r.Q5()), + (this._onDidUpdateConfiguration = new r.Q5()), + (this.defaultValues = {}), + (this.defaultLanguageConfigurationOverridesNode = { + id: 'defaultOverrides', + title: n.N( + 'defaultLanguageConfigurationOverrides.title', + 'Default Language Configuration Overrides' + ), + properties: {}, + }), + (this.configurationContributors = [ + this.defaultLanguageConfigurationOverridesNode, + ]), + (this.resourceLanguageSettingsSchema = { + properties: {}, + patternProperties: {}, + additionalProperties: !1, + errorMessage: 'Unknown editor configuration setting', + allowTrailingCommas: !0, + allowComments: !0, + }), + (this.configurationProperties = {}), + (this.excludedConfigurationProperties = {}), + m.registerSchema(p, this.resourceLanguageSettingsSchema); + } + registerConfiguration(e, t = !0) { + this.registerConfigurations([e], t); + } + registerConfigurations(e, t = !0) { + const i = []; + e.forEach((e) => { + i.push(...this.validateAndRegisterProperties(e, t)), + this.configurationContributors.push(e), + this.registerJSONConfiguration(e); + }), + m.registerSchema(p, this.resourceLanguageSettingsSchema), + this._onDidSchemaChange.fire(), + this._onDidUpdateConfiguration.fire(i); + } + registerOverrideIdentifiers(e) { + for (const t of e) this.overrideIdentifiers.add(t); + this.updateOverridePropertyPatternKey(); + } + validateAndRegisterProperties(e, t = !0, i = 3) { + i = o.Jp(e.scope) ? i : e.scope; + let n = [], + r = e.properties; + if (r) + for (let e in r) { + if (t && y(e)) { + delete r[e]; + continue; + } + const s = r[e]; + this.updatePropertyDefaultValue(e, s), + _.test(e) + ? (s.scope = void 0) + : (s.scope = o.Jp(s.scope) ? i : s.scope), + !r[e].hasOwnProperty('included') || r[e].included + ? ((this.configurationProperties[e] = r[e]), + !r[e].deprecationMessage && + r[e].markdownDeprecationMessage && + (r[e].deprecationMessage = + r[e].markdownDeprecationMessage), + n.push(e)) + : ((this.excludedConfigurationProperties[e] = r[e]), + delete r[e]); + } + let s = e.allOf; + if (s) + for (let e of s) + n.push(...this.validateAndRegisterProperties(e, t, i)); + return n; + } + getConfigurationProperties() { + return this.configurationProperties; + } + registerJSONConfiguration(e) { + const t = (e) => { + let i = e.properties; + if (i) for (const e in i) this.updateSchema(e, i[e]); + let n = e.allOf; + n && n.forEach(t); + }; + t(e); + } + updateSchema(e, t) { + switch (((c.properties[e] = t), t.scope)) { + case 1: + d.properties[e] = t; + break; + case 2: + h.properties[e] = t; + break; + case 6: + u.properties[e] = t; + break; + case 3: + g.properties[e] = t; + break; + case 4: + f.properties[e] = t; + break; + case 5: + (f.properties[e] = t), + (this.resourceLanguageSettingsSchema.properties[e] = t); + } + } + updateOverridePropertyPatternKey() { + for (const e of this.overrideIdentifiers.values()) { + const t = `[${e}]`, + i = { + type: 'object', + description: n.N( + 'overrideSettings.defaultDescription', + 'Configure editor settings to be overridden for a language.' + ), + errorMessage: n.N( + 'overrideSettings.errorMessage', + 'This setting does not support per-language configuration.' + ), + $ref: p, + }; + this.updatePropertyDefaultValue(t, i), + (c.properties[t] = i), + (d.properties[t] = i), + (h.properties[t] = i), + (u.properties[t] = i), + (g.properties[t] = i), + (f.properties[t] = i); + } + this._onDidSchemaChange.fire(); + } + updatePropertyDefaultValue(e, t) { + let i = this.defaultValues[e]; + o.o8(i) && (i = t.default), + o.o8(i) && + (i = (function (e) { + switch (Array.isArray(e) ? e[0] : e) { + case 'boolean': + return !1; + case 'integer': + case 'number': + return 0; + case 'string': + return ''; + case 'array': + return []; + case 'object': + return {}; + default: + return null; + } + })(t.type)), + (t.default = i); + } + })(); + function y(e) { + return _.test(e) + ? n.N( + 'config.property.languageDefault', + "Cannot register '{0}'. This matches property pattern '\\\\[.*\\\\]$' for describing language specific editor settings. Use 'configurationDefaults' contribution.", + e + ) + : void 0 !== v.getConfigurationProperties()[e] + ? n.N( + 'config.property.duplicate', + "Cannot register '{0}'. This property is already registered.", + e + ) + : null; + } + s.B.add(l.Configuration, v); + }, + 38819: (e, t, i) => { + 'use strict'; + i.d(t, { Ao: () => l, uy: () => C, i6: () => S, Eq: () => k }); + var n = i(97295), + r = i(72065), + s = i(1432); + const o = new Map(); + o.set('false', !1), + o.set('true', !0), + o.set('isMac', s.dz), + o.set('isLinux', s.IJ), + o.set('isWindows', s.ED), + o.set('isWeb', s.$L), + o.set('isMacNative', s.dz && !s.$L); + const a = Object.prototype.hasOwnProperty; + class l { + static has(e) { + return u.create(e); + } + static equals(e, t) { + return g.create(e, t); + } + static regex(e, t) { + return b.create(e, t); + } + static not(e) { + return _.create(e); + } + static and(...e) { + return y.create(e); + } + static or(...e) { + return w.create(e); + } + static deserialize(e, t = !1) { + if (e) return this._deserializeOrExpression(e, t); + } + static _deserializeOrExpression(e, t) { + let i = e.split('||'); + return w.create(i.map((e) => this._deserializeAndExpression(e, t))); + } + static _deserializeAndExpression(e, t) { + let i = e.split('&&'); + return y.create(i.map((e) => this._deserializeOne(e, t))); + } + static _deserializeOne(e, t) { + if ((e = e.trim()).indexOf('!=') >= 0) { + let i = e.split('!='); + return m.create(i[0].trim(), this._deserializeValue(i[1], t)); + } + if (e.indexOf('==') >= 0) { + let i = e.split('=='); + return g.create(i[0].trim(), this._deserializeValue(i[1], t)); + } + if (e.indexOf('=~') >= 0) { + let i = e.split('=~'); + return b.create( + i[0].trim(), + this._deserializeRegexValue(i[1], t) + ); + } + if (e.indexOf(' in ') >= 0) { + let t = e.split(' in '); + return f.create(t[0].trim(), t[1].trim()); + } + return /^\!\s*/.test(e) + ? _.create(e.substr(1).trim()) + : u.create(e); + } + static _deserializeValue(e, t) { + if ('true' === (e = e.trim())) return !0; + if ('false' === e) return !1; + let i = /^'([^']*)'$/.exec(e); + return i ? i[1].trim() : e; + } + static _deserializeRegexValue(e, t) { + if ((0, n.m5)(e)) { + if (t) throw new Error('missing regexp-value for =~-expression'); + return ( + console.warn('missing regexp-value for =~-expression'), null + ); + } + let i = e.indexOf('/'), + r = e.lastIndexOf('/'); + if (i === r || i < 0) { + if (t) + throw new Error(`bad regexp-value '${e}', missing /-enclosure`); + return ( + console.warn(`bad regexp-value '${e}', missing /-enclosure`), + null + ); + } + let s = e.slice(i + 1, r), + o = 'i' === e[r + 1] ? 'i' : ''; + try { + return new RegExp(s, o); + } catch (i) { + if (t) + throw new Error(`bad regexp-value '${e}', parse error: ${i}`); + return ( + console.warn(`bad regexp-value '${e}', parse error: ${i}`), null + ); + } + } + } + function c(e, t) { + return e.cmp(t); + } + class d { + constructor() { + this.type = 0; + } + cmp(e) { + return this.type - e.type; + } + equals(e) { + return e.type === this.type; + } + evaluate(e) { + return !1; + } + serialize() { + return 'false'; + } + keys() { + return []; + } + negate() { + return h.INSTANCE; + } + } + d.INSTANCE = new d(); + class h { + constructor() { + this.type = 1; + } + cmp(e) { + return this.type - e.type; + } + equals(e) { + return e.type === this.type; + } + evaluate(e) { + return !0; + } + serialize() { + return 'true'; + } + keys() { + return []; + } + negate() { + return d.INSTANCE; + } + } + h.INSTANCE = new h(); + class u { + constructor(e) { + (this.key = e), (this.type = 2); + } + static create(e) { + const t = o.get(e); + return 'boolean' == typeof t + ? t + ? h.INSTANCE + : d.INSTANCE + : new u(e); + } + cmp(e) { + return e.type !== this.type + ? this.type - e.type + : this.key < e.key + ? -1 + : this.key > e.key + ? 1 + : 0; + } + equals(e) { + return e.type === this.type && this.key === e.key; + } + evaluate(e) { + return !!e.getValue(this.key); + } + serialize() { + return this.key; + } + keys() { + return [this.key]; + } + negate() { + return _.create(this.key); + } + } + class g { + constructor(e, t) { + (this.key = e), (this.value = t), (this.type = 4); + } + static create(e, t) { + if ('boolean' == typeof t) return t ? u.create(e) : _.create(e); + const i = o.get(e); + return 'boolean' == typeof i + ? t === (i ? 'true' : 'false') + ? h.INSTANCE + : d.INSTANCE + : new g(e, t); + } + cmp(e) { + return e.type !== this.type + ? this.type - e.type + : this.key < e.key + ? -1 + : this.key > e.key + ? 1 + : this.value < e.value + ? -1 + : this.value > e.value + ? 1 + : 0; + } + equals(e) { + return ( + e.type === this.type && + this.key === e.key && + this.value === e.value + ); + } + evaluate(e) { + return e.getValue(this.key) == this.value; + } + serialize() { + return this.key + " == '" + this.value + "'"; + } + keys() { + return [this.key]; + } + negate() { + return m.create(this.key, this.value); + } + } + class f { + constructor(e, t) { + (this.key = e), (this.valueKey = t), (this.type = 10); + } + static create(e, t) { + return new f(e, t); + } + cmp(e) { + return e.type !== this.type + ? this.type - e.type + : this.key < e.key + ? -1 + : this.key > e.key + ? 1 + : this.valueKey < e.valueKey + ? -1 + : this.valueKey > e.valueKey + ? 1 + : 0; + } + equals(e) { + return ( + e.type === this.type && + this.key === e.key && + this.valueKey === e.valueKey + ); + } + evaluate(e) { + const t = e.getValue(this.valueKey), + i = e.getValue(this.key); + return Array.isArray(t) + ? t.indexOf(i) >= 0 + : 'string' == typeof i && + 'object' == typeof t && + null !== t && + a.call(t, i); + } + serialize() { + return this.key + " in '" + this.valueKey + "'"; + } + keys() { + return [this.key, this.valueKey]; + } + negate() { + return p.create(this); + } + } + class p { + constructor(e) { + (this._actual = e), (this.type = 11); + } + static create(e) { + return new p(e); + } + cmp(e) { + return e.type !== this.type + ? this.type - e.type + : this._actual.cmp(e._actual); + } + equals(e) { + return e.type === this.type && this._actual.equals(e._actual); + } + evaluate(e) { + return !this._actual.evaluate(e); + } + serialize() { + throw new Error('Method not implemented.'); + } + keys() { + return this._actual.keys(); + } + negate() { + return this._actual; + } + } + class m { + constructor(e, t) { + (this.key = e), (this.value = t), (this.type = 5); + } + static create(e, t) { + if ('boolean' == typeof t) return t ? _.create(e) : u.create(e); + const i = o.get(e); + return 'boolean' == typeof i + ? t === (i ? 'true' : 'false') + ? d.INSTANCE + : h.INSTANCE + : new m(e, t); + } + cmp(e) { + return e.type !== this.type + ? this.type - e.type + : this.key < e.key + ? -1 + : this.key > e.key + ? 1 + : this.value < e.value + ? -1 + : this.value > e.value + ? 1 + : 0; + } + equals(e) { + return ( + e.type === this.type && + this.key === e.key && + this.value === e.value + ); + } + evaluate(e) { + return e.getValue(this.key) != this.value; + } + serialize() { + return this.key + " != '" + this.value + "'"; + } + keys() { + return [this.key]; + } + negate() { + return g.create(this.key, this.value); + } + } + class _ { + constructor(e) { + (this.key = e), (this.type = 3); + } + static create(e) { + const t = o.get(e); + return 'boolean' == typeof t + ? t + ? d.INSTANCE + : h.INSTANCE + : new _(e); + } + cmp(e) { + return e.type !== this.type + ? this.type - e.type + : this.key < e.key + ? -1 + : this.key > e.key + ? 1 + : 0; + } + equals(e) { + return e.type === this.type && this.key === e.key; + } + evaluate(e) { + return !e.getValue(this.key); + } + serialize() { + return '!' + this.key; + } + keys() { + return [this.key]; + } + negate() { + return u.create(this.key); + } + } + class b { + constructor(e, t) { + (this.key = e), (this.regexp = t), (this.type = 7); + } + static create(e, t) { + return new b(e, t); + } + cmp(e) { + if (e.type !== this.type) return this.type - e.type; + if (this.key < e.key) return -1; + if (this.key > e.key) return 1; + const t = this.regexp ? this.regexp.source : '', + i = e.regexp ? e.regexp.source : ''; + return t < i ? -1 : t > i ? 1 : 0; + } + equals(e) { + if (e.type === this.type) { + const t = this.regexp ? this.regexp.source : '', + i = e.regexp ? e.regexp.source : ''; + return this.key === e.key && t === i; + } + return !1; + } + evaluate(e) { + let t = e.getValue(this.key); + return !!this.regexp && this.regexp.test(t); + } + serialize() { + const e = this.regexp + ? `/${this.regexp.source}/${this.regexp.ignoreCase ? 'i' : ''}` + : '/invalid/'; + return `${this.key} =~ ${e}`; + } + keys() { + return [this.key]; + } + negate() { + return v.create(this); + } + } + class v { + constructor(e) { + (this._actual = e), (this.type = 8); + } + static create(e) { + return new v(e); + } + cmp(e) { + return e.type !== this.type + ? this.type - e.type + : this._actual.cmp(e._actual); + } + equals(e) { + return e.type === this.type && this._actual.equals(e._actual); + } + evaluate(e) { + return !this._actual.evaluate(e); + } + serialize() { + throw new Error('Method not implemented.'); + } + keys() { + return this._actual.keys(); + } + negate() { + return this._actual; + } + } + class y { + constructor(e) { + (this.expr = e), (this.type = 6); + } + static create(e) { + return y._normalizeArr(e); + } + cmp(e) { + if (e.type !== this.type) return this.type - e.type; + if (this.expr.length < e.expr.length) return -1; + if (this.expr.length > e.expr.length) return 1; + for (let t = 0, i = this.expr.length; t < i; t++) { + const i = c(this.expr[t], e.expr[t]); + if (0 !== i) return i; + } + return 0; + } + equals(e) { + if (e.type === this.type) { + if (this.expr.length !== e.expr.length) return !1; + for (let t = 0, i = this.expr.length; t < i; t++) + if (!this.expr[t].equals(e.expr[t])) return !1; + return !0; + } + return !1; + } + evaluate(e) { + for (let t = 0, i = this.expr.length; t < i; t++) + if (!this.expr[t].evaluate(e)) return !1; + return !0; + } + static _normalizeArr(e) { + const t = []; + let i = !1; + for (const n of e) + if (n) + if (1 !== n.type) { + if (0 === n.type) return d.INSTANCE; + 6 !== n.type ? t.push(n) : t.push(...n.expr); + } else i = !0; + if (0 === t.length && i) return h.INSTANCE; + if (0 !== t.length) { + if (1 === t.length) return t[0]; + for (t.sort(c); t.length > 1; ) { + const e = t[t.length - 1]; + if (9 !== e.type) break; + t.pop(); + const i = t.pop(), + n = w.create(e.expr.map((e) => y.create([e, i]))); + n && (t.push(n), t.sort(c)); + } + return new y(t); + } + } + serialize() { + return this.expr.map((e) => e.serialize()).join(' && '); + } + keys() { + const e = []; + for (let t of this.expr) e.push(...t.keys()); + return e; + } + negate() { + let e = []; + for (let t of this.expr) e.push(t.negate()); + return w.create(e); + } + } + class w { + constructor(e) { + (this.expr = e), (this.type = 9); + } + static create(e) { + const t = w._normalizeArr(e); + if (0 !== t.length) return 1 === t.length ? t[0] : new w(t); + } + cmp(e) { + if (e.type !== this.type) return this.type - e.type; + if (this.expr.length < e.expr.length) return -1; + if (this.expr.length > e.expr.length) return 1; + for (let t = 0, i = this.expr.length; t < i; t++) { + const i = c(this.expr[t], e.expr[t]); + if (0 !== i) return i; + } + return 0; + } + equals(e) { + if (e.type === this.type) { + if (this.expr.length !== e.expr.length) return !1; + for (let t = 0, i = this.expr.length; t < i; t++) + if (!this.expr[t].equals(e.expr[t])) return !1; + return !0; + } + return !1; + } + evaluate(e) { + for (let t = 0, i = this.expr.length; t < i; t++) + if (this.expr[t].evaluate(e)) return !0; + return !1; + } + static _normalizeArr(e) { + let t = [], + i = !1; + if (e) { + for (let n = 0, r = e.length; n < r; n++) { + const r = e[n]; + if (r) + if (0 !== r.type) { + if (1 === r.type) return [h.INSTANCE]; + 9 !== r.type ? t.push(r) : (t = t.concat(r.expr)); + } else i = !0; + } + if (0 === t.length && i) return [d.INSTANCE]; + t.sort(c); + } + return t; + } + serialize() { + return this.expr.map((e) => e.serialize()).join(' || '); + } + keys() { + const e = []; + for (let t of this.expr) e.push(...t.keys()); + return e; + } + negate() { + let e = []; + for (let t of this.expr) e.push(t.negate()); + const t = (e) => (9 === e.type ? e.expr : [e]); + for (; e.length > 1; ) { + const i = e.shift(), + n = e.shift(), + r = []; + for (const e of t(i)) for (const i of t(n)) r.push(l.and(e, i)); + e.unshift(l.or(...r)); + } + return e[0]; + } + } + class C extends u { + constructor(e, t) { + super(e), (this._defaultValue = t); + } + bindTo(e) { + return e.createKey(this.key, this._defaultValue); + } + getValue(e) { + return e.getContextKeyValue(this.key); + } + toNegated() { + return l.not(this.key); + } + } + const S = (0, r.yh)('contextKeyService'), + k = 'setContext'; + }, + 5606: (e, t, i) => { + 'use strict'; + i.d(t, { u: () => r, i: () => s }); + var n = i(72065); + const r = (0, n.yh)('contextViewService'), + s = (0, n.yh)('contextMenuService'); + }, + 28820: (e, t, i) => { + 'use strict'; + i.d(t, { S: () => n }); + const n = (0, i(72065).yh)('dialogService'); + }, + 97108: (e, t, i) => { + 'use strict'; + i.d(t, { M: () => n }); + class n { + constructor(e, t = [], i = !1) { + (this.ctor = e), + (this.staticArguments = t), + (this.supportsDelayedInstantiation = i); + } + } + }, + 65026: (e, t, i) => { + 'use strict'; + i.d(t, { z: () => s, d: () => o }); + var n = i(97108); + const r = []; + function s(e, t, i) { + r.push([e, new n.M(t, [], i)]); + } + function o() { + return r; + } + }, + 72065: (e, t, i) => { + 'use strict'; + var n; + i.d(t, { I8: () => n, TG: () => r, yh: () => o, jt: () => a }), + (function (e) { + (e.serviceIds = new Map()), + (e.DI_TARGET = '$di$target'), + (e.DI_DEPENDENCIES = '$di$dependencies'), + (e.getServiceDependencies = function (t) { + return t[e.DI_DEPENDENCIES] || []; + }); + })(n || (n = {})); + const r = o('instantiationService'); + function s(e, t, i, r) { + t[n.DI_TARGET] === t + ? t[n.DI_DEPENDENCIES].push({ id: e, index: i, optional: r }) + : ((t[n.DI_DEPENDENCIES] = [{ id: e, index: i, optional: r }]), + (t[n.DI_TARGET] = t)); + } + function o(e) { + if (n.serviceIds.has(e)) return n.serviceIds.get(e); + const t = function (e, i, n) { + if (3 !== arguments.length) + throw new Error( + '@IServiceName-decorator can only be used to decorate a parameter' + ); + s(t, e, n, !1); + }; + return (t.toString = () => e), n.serviceIds.set(e, t), t; + } + function a(e) { + return function (t, i, n) { + if (3 !== arguments.length) + throw new Error( + '@optional-decorator can only be used to decorate a parameter' + ); + s(e, t, n, !0); + }; + } + }, + 60972: (e, t, i) => { + 'use strict'; + i.d(t, { y: () => n }); + class n { + constructor(...e) { + this._entries = new Map(); + for (let [t, i] of e) this.set(t, i); + } + set(e, t) { + const i = this._entries.get(e); + return this._entries.set(e, t), i; + } + has(e) { + return this._entries.has(e); + } + get(e) { + return this._entries.get(e); + } + } + }, + 81294: (e, t, i) => { + 'use strict'; + i.d(t, { I: () => s }); + var n = i(89872), + r = i(4669); + const s = { JSONContribution: 'base.contributions.json' }, + o = new (class { + constructor() { + (this._onDidChangeSchema = new r.Q5()), (this.schemasById = {}); + } + registerSchema(e, t) { + var i; + (this.schemasById[ + ((i = e), + i.length > 0 && '#' === i.charAt(i.length - 1) + ? i.substring(0, i.length - 1) + : i) + ] = t), + this._onDidChangeSchema.fire(e); + } + notifySchemaChanged(e) { + this._onDidChangeSchema.fire(e); + } + })(); + n.B.add(s.JSONContribution, o); + }, + 91847: (e, t, i) => { + 'use strict'; + i.d(t, { d: () => n }); + const n = (0, i(72065).yh)('keybindingService'); + }, + 49989: (e, t, i) => { + 'use strict'; + i.d(t, { W: () => l }); + var n = i(22258), + r = i(1432), + s = i(94565), + o = i(89872); + class a { + constructor() { + (this._coreKeybindings = []), + (this._extensionKeybindings = []), + (this._cachedMergedKeybindings = null); + } + static bindToCurrentPlatform(e) { + if (1 === r.OS) { + if (e && e.win) return e.win; + } else if (2 === r.OS) { + if (e && e.mac) return e.mac; + } else if (e && e.linux) return e.linux; + return e; + } + registerKeybindingRule(e) { + const t = a.bindToCurrentPlatform(e); + if (t && t.primary) { + const i = (0, n.gm)(t.primary, r.OS); + i && + this._registerDefaultKeybinding( + i, + e.id, + e.args, + e.weight, + 0, + e.when + ); + } + if (t && Array.isArray(t.secondary)) + for (let i = 0, s = t.secondary.length; i < s; i++) { + const s = t.secondary[i], + o = (0, n.gm)(s, r.OS); + o && + this._registerDefaultKeybinding( + o, + e.id, + e.args, + e.weight, + -i - 1, + e.when + ); + } + } + registerCommandAndKeybindingRule(e) { + this.registerKeybindingRule(e), s.P.registerCommand(e); + } + static _mightProduceChar(e) { + return ( + (e >= 21 && e <= 30) || + (e >= 31 && e <= 56) || + 80 === e || + 81 === e || + 82 === e || + 83 === e || + 84 === e || + 85 === e || + 86 === e || + 110 === e || + 111 === e || + 87 === e || + 88 === e || + 89 === e || + 90 === e || + 91 === e || + 92 === e + ); + } + _assertNoCtrlAlt(e, t) { + e.ctrlKey && + e.altKey && + !e.metaKey && + a._mightProduceChar(e.keyCode) && + console.warn( + 'Ctrl+Alt+ keybindings should not be used by default under Windows. Offender: ', + e, + ' for ', + t + ); + } + _registerDefaultKeybinding(e, t, i, n, s, o) { + 1 === r.OS && this._assertNoCtrlAlt(e.parts[0], t), + this._coreKeybindings.push({ + keybinding: e, + command: t, + commandArgs: i, + when: o, + weight1: n, + weight2: s, + extensionId: null, + }), + (this._cachedMergedKeybindings = null); + } + getDefaultKeybindings() { + return ( + this._cachedMergedKeybindings || + ((this._cachedMergedKeybindings = [] + .concat(this._coreKeybindings) + .concat(this._extensionKeybindings)), + this._cachedMergedKeybindings.sort(c)), + this._cachedMergedKeybindings.slice(0) + ); + } + } + const l = new a(); + function c(e, t) { + return e.weight1 !== t.weight1 + ? e.weight1 - t.weight1 + : e.command < t.command + ? -1 + : e.command > t.command + ? 1 + : e.weight2 - t.weight2; + } + o.B.add('platform.keybindingsRegistry', l); + }, + 44349: (e, t, i) => { + 'use strict'; + i.d(t, { e: () => n }); + const n = (0, i(72065).yh)('labelService'); + }, + 58664: (e, t, i) => { + 'use strict'; + i.d(t, { + Lw: () => We, + XN: () => Ye, + ls: () => _t, + ev: () => ct, + CQ: () => Ve, + }); + var n = i(65321), + r = i(5976), + s = i(9488), + o = i(43799), + a = i(4669), + l = i(71050); + class c { + constructor(e, t) { + (this.renderer = e), (this.modelProvider = t); + } + get templateId() { + return this.renderer.templateId; + } + renderTemplate(e) { + return { + data: this.renderer.renderTemplate(e), + disposable: r.JT.None, + }; + } + renderElement(e, t, i, n) { + if ((i.disposable && i.disposable.dispose(), !i.data)) return; + const r = this.modelProvider(); + if (r.isResolved(e)) + return this.renderer.renderElement(r.get(e), e, i.data, n); + const s = new l.A(), + o = r.resolve(e, s.token); + (i.disposable = { dispose: () => s.cancel() }), + this.renderer.renderPlaceholder(e, i.data), + o.then((t) => this.renderer.renderElement(t, e, i.data, n)); + } + disposeTemplate(e) { + e.disposable && (e.disposable.dispose(), (e.disposable = void 0)), + e.data && + (this.renderer.disposeTemplate(e.data), (e.data = void 0)); + } + } + class d { + constructor(e, t) { + (this.modelProvider = e), (this.accessibilityProvider = t); + } + getWidgetAriaLabel() { + return this.accessibilityProvider.getWidgetAriaLabel(); + } + getAriaLabel(e) { + const t = this.modelProvider(); + return t.isResolved(e) + ? this.accessibilityProvider.getAriaLabel(t.get(e)) + : null; + } + } + var h, + u = i(63580), + g = i(33108), + f = i(23193), + p = i(38819), + m = i(72065), + _ = i(91847), + b = i(89872), + v = i(88810), + y = i(97781), + w = i(53725), + C = i(59069); + !(function (e) { + (e[(e.Unknown = 0)] = 'Unknown'), + (e[(e.Twistie = 1)] = 'Twistie'), + (e[(e.Element = 2)] = 'Element'); + })(h || (h = {})); + class S extends Error { + constructor(e, t) { + super(`TreeError [${e}] ${t}`); + } + } + class k { + constructor(e) { + (this.fn = e), (this._map = new WeakMap()); + } + map(e) { + let t = this._map.get(e); + return t || ((t = this.fn(e)), this._map.set(e, t)), t; + } + } + var x = i(23547), + L = i(25707), + M = i(4850), + D = i(75392); + function N(e) { + return 'object' == typeof e && 'visibility' in e && 'data' in e; + } + function E(e) { + switch (e) { + case !0: + return 1; + case !1: + return 0; + default: + return e; + } + } + function T(e) { + return 'boolean' == typeof e.collapsible; + } + class I { + constructor(e, t, i, n = {}) { + (this.user = e), + (this.list = t), + (this.rootRef = []), + (this.eventBufferer = new a.E7()), + (this._onDidChangeCollapseState = new a.Q5()), + (this.onDidChangeCollapseState = this.eventBufferer.wrapEvent( + this._onDidChangeCollapseState.event + )), + (this._onDidChangeRenderNodeCount = new a.Q5()), + (this.onDidChangeRenderNodeCount = this.eventBufferer.wrapEvent( + this._onDidChangeRenderNodeCount.event + )), + (this._onDidSplice = new a.Q5()), + (this.onDidSplice = this._onDidSplice.event), + (this.collapseByDefault = + void 0 !== n.collapseByDefault && n.collapseByDefault), + (this.filter = n.filter), + (this.autoExpandSingleChildren = + void 0 !== n.autoExpandSingleChildren && + n.autoExpandSingleChildren), + (this.root = { + parent: void 0, + element: i, + children: [], + depth: 0, + visibleChildrenCount: 0, + visibleChildIndex: -1, + collapsible: !1, + collapsed: !1, + renderNodeCount: 0, + visibility: 1, + visible: !0, + filterData: void 0, + }); + } + splice(e, t, i = w.$.empty(), n, r) { + if (0 === e.length) throw new S(this.user, 'Invalid tree location'); + const { + parentNode: s, + listIndex: o, + revealed: a, + visible: l, + } = this.getParentNodeWithListIndex(e), + c = [], + d = w.$.map(i, (e) => + this.createTreeNode(e, s, s.visible ? 1 : 0, a, c, n) + ), + h = e[e.length - 1]; + let u = 0; + for (let e = h; e >= 0 && e < s.children.length; e--) { + const t = s.children[e]; + if (t.visible) { + u = t.visibleChildIndex; + break; + } + } + const g = []; + let f = 0, + p = 0; + for (const e of d) + g.push(e), + (p += e.renderNodeCount), + e.visible && (e.visibleChildIndex = u + f++); + const m = s.children.splice(h, t, ...g); + let _ = 0; + for (const e of m) e.visible && _++; + if (0 !== _) + for (let e = h + g.length; e < s.children.length; e++) { + const t = s.children[e]; + t.visible && (t.visibleChildIndex -= _); + } + if (((s.visibleChildrenCount += f - _), a && l)) { + const e = m.reduce( + (e, t) => e + (t.visible ? t.renderNodeCount : 0), + 0 + ); + this._updateAncestorsRenderNodeCount(s, p - e), + this.list.splice(o, e, c); + } + if (m.length > 0 && r) { + const e = (t) => { + r(t), t.children.forEach(e); + }; + m.forEach(e); + } + this._onDidSplice.fire({ insertedNodes: g, deletedNodes: m }); + let b = s; + for (; b; ) { + if (2 === b.visibility) { + this.refilter(); + break; + } + b = b.parent; + } + } + rerender(e) { + if (0 === e.length) throw new S(this.user, 'Invalid tree location'); + const { + node: t, + listIndex: i, + revealed: n, + } = this.getTreeNodeWithListIndex(e); + t.visible && n && this.list.splice(i, 1, [t]); + } + has(e) { + return this.hasTreeNode(e); + } + getListIndex(e) { + const { + listIndex: t, + visible: i, + revealed: n, + } = this.getTreeNodeWithListIndex(e); + return i && n ? t : -1; + } + getListRenderCount(e) { + return this.getTreeNode(e).renderNodeCount; + } + isCollapsible(e) { + return this.getTreeNode(e).collapsible; + } + setCollapsible(e, t) { + const i = this.getTreeNode(e); + void 0 === t && (t = !i.collapsible); + const n = { collapsible: t }; + return this.eventBufferer.bufferEvents(() => + this._setCollapseState(e, n) + ); + } + isCollapsed(e) { + return this.getTreeNode(e).collapsed; + } + setCollapsed(e, t, i) { + const n = this.getTreeNode(e); + void 0 === t && (t = !n.collapsed); + const r = { collapsed: t, recursive: i || !1 }; + return this.eventBufferer.bufferEvents(() => + this._setCollapseState(e, r) + ); + } + _setCollapseState(e, t) { + const { + node: i, + listIndex: n, + revealed: r, + } = this.getTreeNodeWithListIndex(e), + s = this._setListNodeCollapseState(i, n, r, t); + if ( + i !== this.root && + this.autoExpandSingleChildren && + s && + !T(t) && + i.collapsible && + !i.collapsed && + !t.recursive + ) { + let n = -1; + for (let e = 0; e < i.children.length; e++) + if (i.children[e].visible) { + if (n > -1) { + n = -1; + break; + } + n = e; + } + n > -1 && this._setCollapseState([...e, n], t); + } + return s; + } + _setListNodeCollapseState(e, t, i, n) { + const r = this._setNodeCollapseState(e, n, !1); + if (!i || !e.visible || !r) return r; + const s = e.renderNodeCount, + o = this.updateNodeAfterCollapseChange(e), + a = s - (-1 === t ? 0 : 1); + return this.list.splice(t + 1, a, o.slice(1)), r; + } + _setNodeCollapseState(e, t, i) { + let n; + if ( + (e === this.root + ? (n = !1) + : (T(t) + ? ((n = e.collapsible !== t.collapsible), + (e.collapsible = t.collapsible)) + : e.collapsible + ? ((n = e.collapsed !== t.collapsed), + (e.collapsed = t.collapsed)) + : (n = !1), + n && + this._onDidChangeCollapseState.fire({ node: e, deep: i })), + !T(t) && t.recursive) + ) + for (const i of e.children) + n = this._setNodeCollapseState(i, t, !0) || n; + return n; + } + expandTo(e) { + this.eventBufferer.bufferEvents(() => { + let t = this.getTreeNode(e); + for (; t.parent; ) + (t = t.parent), + (e = e.slice(0, e.length - 1)), + t.collapsed && + this._setCollapseState(e, { collapsed: !1, recursive: !1 }); + }); + } + refilter() { + const e = this.root.renderNodeCount, + t = this.updateNodeAfterFilterChange(this.root); + this.list.splice(0, e, t); + } + createTreeNode(e, t, i, n, r, s) { + const o = { + parent: t, + element: e.element, + children: [], + depth: t.depth + 1, + visibleChildrenCount: 0, + visibleChildIndex: -1, + collapsible: + 'boolean' == typeof e.collapsible + ? e.collapsible + : void 0 !== e.collapsed, + collapsed: + void 0 === e.collapsed ? this.collapseByDefault : e.collapsed, + renderNodeCount: 1, + visibility: 1, + visible: !0, + filterData: void 0, + }, + a = this._filterNode(o, i); + (o.visibility = a), n && r.push(o); + const l = e.children || w.$.empty(), + c = n && 0 !== a && !o.collapsed, + d = w.$.map(l, (e) => this.createTreeNode(e, o, a, c, r, s)); + let h = 0, + u = 1; + for (const e of d) + o.children.push(e), + (u += e.renderNodeCount), + e.visible && (e.visibleChildIndex = h++); + return ( + (o.collapsible = o.collapsible || o.children.length > 0), + (o.visibleChildrenCount = h), + (o.visible = 2 === a ? h > 0 : 1 === a), + o.visible + ? o.collapsed || (o.renderNodeCount = u) + : ((o.renderNodeCount = 0), n && r.pop()), + s && s(o), + o + ); + } + updateNodeAfterCollapseChange(e) { + const t = e.renderNodeCount, + i = []; + return ( + this._updateNodeAfterCollapseChange(e, i), + this._updateAncestorsRenderNodeCount(e.parent, i.length - t), + i + ); + } + _updateNodeAfterCollapseChange(e, t) { + if (!1 === e.visible) return 0; + if ((t.push(e), (e.renderNodeCount = 1), !e.collapsed)) + for (const i of e.children) + e.renderNodeCount += this._updateNodeAfterCollapseChange(i, t); + return this._onDidChangeRenderNodeCount.fire(e), e.renderNodeCount; + } + updateNodeAfterFilterChange(e) { + const t = e.renderNodeCount, + i = []; + return ( + this._updateNodeAfterFilterChange(e, e.visible ? 1 : 0, i), + this._updateAncestorsRenderNodeCount(e.parent, i.length - t), + i + ); + } + _updateNodeAfterFilterChange(e, t, i, n = !0) { + let r; + if (e !== this.root) { + if (((r = this._filterNode(e, t)), 0 === r)) + return (e.visible = !1), (e.renderNodeCount = 0), !1; + n && i.push(e); + } + const s = i.length; + e.renderNodeCount = e === this.root ? 0 : 1; + let o = !1; + if (e.collapsed && 0 === r) e.visibleChildrenCount = 0; + else { + let t = 0; + for (const s of e.children) + (o = + this._updateNodeAfterFilterChange( + s, + r, + i, + n && !e.collapsed + ) || o), + s.visible && (s.visibleChildIndex = t++); + e.visibleChildrenCount = t; + } + return ( + e !== this.root && (e.visible = 2 === r ? o : 1 === r), + e.visible + ? e.collapsed || (e.renderNodeCount += i.length - s) + : ((e.renderNodeCount = 0), n && i.pop()), + this._onDidChangeRenderNodeCount.fire(e), + e.visible + ); + } + _updateAncestorsRenderNodeCount(e, t) { + if (0 !== t) + for (; e; ) + (e.renderNodeCount += t), + this._onDidChangeRenderNodeCount.fire(e), + (e = e.parent); + } + _filterNode(e, t) { + const i = this.filter ? this.filter.filter(e.element, t) : 1; + return 'boolean' == typeof i + ? ((e.filterData = void 0), i ? 1 : 0) + : N(i) + ? ((e.filterData = i.data), E(i.visibility)) + : ((e.filterData = void 0), E(i)); + } + hasTreeNode(e, t = this.root) { + if (!e || 0 === e.length) return !0; + const [i, ...n] = e; + return ( + !(i < 0 || i > t.children.length) && + this.hasTreeNode(n, t.children[i]) + ); + } + getTreeNode(e, t = this.root) { + if (!e || 0 === e.length) return t; + const [i, ...n] = e; + if (i < 0 || i > t.children.length) + throw new S(this.user, 'Invalid tree location'); + return this.getTreeNode(n, t.children[i]); + } + getTreeNodeWithListIndex(e) { + if (0 === e.length) + return { + node: this.root, + listIndex: -1, + revealed: !0, + visible: !1, + }; + const { + parentNode: t, + listIndex: i, + revealed: n, + visible: r, + } = this.getParentNodeWithListIndex(e), + s = e[e.length - 1]; + if (s < 0 || s > t.children.length) + throw new S(this.user, 'Invalid tree location'); + const o = t.children[s]; + return { + node: o, + listIndex: i, + revealed: n, + visible: r && o.visible, + }; + } + getParentNodeWithListIndex(e, t = this.root, i = 0, n = !0, r = !0) { + const [s, ...o] = e; + if (s < 0 || s > t.children.length) + throw new S(this.user, 'Invalid tree location'); + for (let e = 0; e < s; e++) i += t.children[e].renderNodeCount; + return ( + (n = n && !t.collapsed), + (r = r && t.visible), + 0 === o.length + ? { parentNode: t, listIndex: i, revealed: n, visible: r } + : this.getParentNodeWithListIndex(o, t.children[s], i + 1, n, r) + ); + } + getNode(e = []) { + return this.getTreeNode(e); + } + getNodeLocation(e) { + const t = []; + let i = e; + for (; i.parent; ) + t.push(i.parent.children.indexOf(i)), (i = i.parent); + return t.reverse(); + } + getParentNodeLocation(e) { + return 0 === e.length + ? void 0 + : 1 === e.length + ? [] + : (0, s.JH)(e)[0]; + } + } + var O = i(15393), + A = i(1432), + R = i(59870), + P = i(6626), + F = i(73046); + const B = (0, F.q5)('tree-item-expanded', F.lA.chevronDown), + W = (0, F.q5)('tree-filter-on-type-on', F.lA.listFilter), + Y = (0, F.q5)('tree-filter-on-type-off', F.lA.listSelection), + H = (0, F.q5)('tree-filter-clear', F.lA.close), + j = (0, F.q5)('tree-item-loading', F.lA.loading); + class V extends L.kX { + constructor(e) { + super(e.elements.map((e) => e.element)), (this.data = e); + } + } + function z(e) { + return e instanceof L.kX ? new V(e) : e; + } + class U { + constructor(e, t) { + (this.modelProvider = e), + (this.dnd = t), + (this.autoExpandDisposable = r.JT.None); + } + getDragURI(e) { + return this.dnd.getDragURI(e.element); + } + getDragLabel(e, t) { + if (this.dnd.getDragLabel) + return this.dnd.getDragLabel( + e.map((e) => e.element), + t + ); + } + onDragStart(e, t) { + this.dnd.onDragStart && this.dnd.onDragStart(z(e), t); + } + onDragOver(e, t, i, n, r = !0) { + const o = this.dnd.onDragOver(z(e), t && t.element, i, n), + a = this.autoExpandNode !== t; + if ( + (a && + (this.autoExpandDisposable.dispose(), + (this.autoExpandNode = t)), + void 0 === t) + ) + return o; + if ( + (a && + 'boolean' != typeof o && + o.autoExpand && + (this.autoExpandDisposable = (0, O.Vg)(() => { + const e = this.modelProvider(), + i = e.getNodeLocation(t); + e.isCollapsed(i) && e.setCollapsed(i, !1), + (this.autoExpandNode = void 0); + }, 500)), + 'boolean' == typeof o || + !o.accept || + void 0 === o.bubble || + o.feedback) + ) + return r + ? o + : { + accept: 'boolean' == typeof o ? o : o.accept, + effect: 'boolean' == typeof o ? void 0 : o.effect, + feedback: [i], + }; + if (1 === o.bubble) { + const i = this.modelProvider(), + r = i.getNodeLocation(t), + s = i.getParentNodeLocation(r), + o = i.getNode(s), + a = s && i.getListIndex(s); + return this.onDragOver(e, o, a, n, !1); + } + const l = this.modelProvider(), + c = l.getNodeLocation(t), + d = l.getListIndex(c), + h = l.getListRenderCount(c); + return Object.assign(Object.assign({}, o), { + feedback: (0, s.w6)(d, d + h), + }); + } + drop(e, t, i, n) { + this.autoExpandDisposable.dispose(), + (this.autoExpandNode = void 0), + this.dnd.drop(z(e), t && t.element, i, n); + } + onDragEnd(e) { + this.dnd.onDragEnd && this.dnd.onDragEnd(e); + } + } + class $ { + constructor(e) { + this.delegate = e; + } + getHeight(e) { + return this.delegate.getHeight(e.element); + } + getTemplateId(e) { + return this.delegate.getTemplateId(e.element); + } + hasDynamicHeight(e) { + return ( + !!this.delegate.hasDynamicHeight && + this.delegate.hasDynamicHeight(e.element) + ); + } + setDynamicHeight(e, t) { + this.delegate.setDynamicHeight && + this.delegate.setDynamicHeight(e.element, t); + } + } + var K; + !(function (e) { + (e.None = 'none'), (e.OnHover = 'onHover'), (e.Always = 'always'); + })(K || (K = {})); + class q { + constructor(e, t = []) { + (this._elements = t), + (this.onDidChange = a.ju.forEach(e, (e) => (this._elements = e))); + } + get elements() { + return this._elements; + } + } + class G { + constructor(e, t, i, n, s = {}) { + (this.renderer = e), + (this.modelProvider = t), + (this.activeNodes = n), + (this.renderedElements = new Map()), + (this.renderedNodes = new Map()), + (this.indent = G.DefaultIndent), + (this.hideTwistiesOfChildlessElements = !1), + (this.shouldRenderIndentGuides = !1), + (this.renderedIndentGuides = new P.r()), + (this.activeIndentNodes = new Set()), + (this.indentGuidesDisposable = r.JT.None), + (this.disposables = new r.SL()), + (this.templateId = e.templateId), + this.updateOptions(s), + a.ju.map(i, (e) => e.node)( + this.onDidChangeNodeTwistieState, + this, + this.disposables + ), + e.onDidChangeTwistieState && + e.onDidChangeTwistieState( + this.onDidChangeTwistieState, + this, + this.disposables + ); + } + updateOptions(e = {}) { + if ( + (void 0 !== e.indent && (this.indent = (0, R.u)(e.indent, 0, 40)), + void 0 !== e.renderIndentGuides) + ) { + const t = e.renderIndentGuides !== K.None; + if ( + t !== this.shouldRenderIndentGuides && + ((this.shouldRenderIndentGuides = t), + this.indentGuidesDisposable.dispose(), + t) + ) { + const e = new r.SL(); + this.activeNodes.onDidChange( + this._onDidChangeActiveNodes, + this, + e + ), + (this.indentGuidesDisposable = e), + this._onDidChangeActiveNodes(this.activeNodes.elements); + } + } + void 0 !== e.hideTwistiesOfChildlessElements && + (this.hideTwistiesOfChildlessElements = + e.hideTwistiesOfChildlessElements); + } + renderTemplate(e) { + const t = (0, n.R3)(e, (0, n.$)('.monaco-tl-row')), + i = (0, n.R3)(t, (0, n.$)('.monaco-tl-indent')), + s = (0, n.R3)(t, (0, n.$)('.monaco-tl-twistie')), + o = (0, n.R3)(t, (0, n.$)('.monaco-tl-contents')), + a = this.renderer.renderTemplate(o); + return { + container: e, + indent: i, + twistie: s, + indentGuidesDisposable: r.JT.None, + templateData: a, + }; + } + renderElement(e, t, i, n) { + 'number' == typeof n && + (this.renderedNodes.set(e, { templateData: i, height: n }), + this.renderedElements.set(e.element, e)); + const r = G.DefaultIndent + (e.depth - 1) * this.indent; + (i.twistie.style.paddingLeft = `${r}px`), + (i.indent.style.width = r + this.indent - 16 + 'px'), + this.renderTwistie(e, i), + 'number' == typeof n && this.renderIndentGuides(e, i), + this.renderer.renderElement(e, t, i.templateData, n); + } + disposeElement(e, t, i, n) { + i.indentGuidesDisposable.dispose(), + this.renderer.disposeElement && + this.renderer.disposeElement(e, t, i.templateData, n), + 'number' == typeof n && + (this.renderedNodes.delete(e), + this.renderedElements.delete(e.element)); + } + disposeTemplate(e) { + this.renderer.disposeTemplate(e.templateData); + } + onDidChangeTwistieState(e) { + const t = this.renderedElements.get(e); + t && this.onDidChangeNodeTwistieState(t); + } + onDidChangeNodeTwistieState(e) { + const t = this.renderedNodes.get(e); + t && + (this.renderTwistie(e, t.templateData), + this._onDidChangeActiveNodes(this.activeNodes.elements), + this.renderIndentGuides(e, t.templateData)); + } + renderTwistie(e, t) { + this.renderer.renderTwistie && + this.renderer.renderTwistie(e.element, t.twistie), + e.collapsible && + (!this.hideTwistiesOfChildlessElements || + e.visibleChildrenCount > 0) + ? ((0, n.PT)(t.twistie, B.classNames, 'collapsible'), + (0, n.og)(t.twistie, 'collapsed', e.collapsed)) + : (0, n.GK)( + t.twistie, + B.classNames, + 'collapsible', + 'collapsed' + ), + e.collapsible + ? t.container.setAttribute( + 'aria-expanded', + String(!e.collapsed) + ) + : t.container.removeAttribute('aria-expanded'); + } + renderIndentGuides(e, t) { + if ( + ((0, n.PO)(t.indent), + t.indentGuidesDisposable.dispose(), + !this.shouldRenderIndentGuides) + ) + return; + const i = new r.SL(), + s = this.modelProvider(); + let o = e; + for (;;) { + const e = s.getNodeLocation(o), + a = s.getParentNodeLocation(e); + if (!a) break; + const l = s.getNode(a), + c = (0, n.$)('.indent-guide', { + style: `width: ${this.indent}px`, + }); + this.activeIndentNodes.has(l) && (0, n.cn)(c, 'active'), + 0 === t.indent.childElementCount + ? t.indent.appendChild(c) + : t.indent.insertBefore(c, t.indent.firstElementChild), + this.renderedIndentGuides.add(l, c), + i.add((0, r.OF)(() => this.renderedIndentGuides.delete(l, c))), + (o = l); + } + t.indentGuidesDisposable = i; + } + _onDidChangeActiveNodes(e) { + if (!this.shouldRenderIndentGuides) return; + const t = new Set(), + i = this.modelProvider(); + e.forEach((e) => { + const n = i.getNodeLocation(e); + try { + const r = i.getParentNodeLocation(n); + e.collapsible && e.children.length > 0 && !e.collapsed + ? t.add(e) + : r && t.add(i.getNode(r)); + } catch (e) {} + }), + this.activeIndentNodes.forEach((e) => { + t.has(e) || + this.renderedIndentGuides.forEach(e, (e) => + (0, n.IV)(e, 'active') + ); + }), + t.forEach((e) => { + this.activeIndentNodes.has(e) || + this.renderedIndentGuides.forEach(e, (e) => + (0, n.cn)(e, 'active') + ); + }), + (this.activeIndentNodes = t); + } + dispose() { + this.renderedNodes.clear(), + this.renderedElements.clear(), + this.indentGuidesDisposable.dispose(), + (0, r.B9)(this.disposables); + } + } + G.DefaultIndent = 8; + class Z { + constructor(e, t, i) { + (this.tree = e), + (this.keyboardNavigationLabelProvider = t), + (this._filter = i), + (this._totalCount = 0), + (this._matchCount = 0), + (this._pattern = ''), + (this._lowercasePattern = ''), + (this.disposables = new r.SL()), + e.onWillRefilter(this.reset, this, this.disposables); + } + get totalCount() { + return this._totalCount; + } + get matchCount() { + return this._matchCount; + } + set pattern(e) { + (this._pattern = e), (this._lowercasePattern = e.toLowerCase()); + } + filter(e, t) { + if (this._filter) { + const i = this._filter.filter(e, t); + if (this.tree.options.simpleKeyboardNavigation) return i; + let n; + if ( + ((n = + 'boolean' == typeof i + ? i + ? 1 + : 0 + : N(i) + ? E(i.visibility) + : i), + 0 === n) + ) + return !1; + } + if ( + (this._totalCount++, + this.tree.options.simpleKeyboardNavigation || !this._pattern) + ) + return this._matchCount++, { data: D.CL.Default, visibility: !0 }; + const i = this.keyboardNavigationLabelProvider.getKeyboardNavigationLabel( + e + ), + n = i && i.toString(); + if (void 0 === n) return { data: D.CL.Default, visibility: !0 }; + const r = (0, D.EW)( + this._pattern, + this._lowercasePattern, + 0, + n, + n.toLowerCase(), + 0, + !0 + ); + return r + ? (this._matchCount++, { data: r, visibility: !0 }) + : this.tree.options.filterOnType + ? 2 + : { data: D.CL.Default, visibility: !0 }; + } + reset() { + (this._totalCount = 0), (this._matchCount = 0); + } + dispose() { + (0, r.B9)(this.disposables); + } + } + class J { + constructor(e, t, i, s, o) { + (this.tree = e), + (this.view = i), + (this.filter = s), + (this.keyboardNavigationDelegate = o), + (this._enabled = !1), + (this._pattern = ''), + (this._empty = !1), + (this._onDidChangeEmptyState = new a.Q5()), + (this.positionClassName = 'ne'), + (this.automaticKeyboardNavigation = !0), + (this.triggered = !1), + (this._onDidChangePattern = new a.Q5()), + (this.enabledDisposables = new r.SL()), + (this.disposables = new r.SL()), + (this.domNode = (0, n.$)( + `.monaco-list-type-filter.${this.positionClassName}` + )), + (this.domNode.draggable = !0), + (0, M.j)(this.domNode, 'dragstart')( + this.onDragStart, + this, + this.disposables + ), + (this.messageDomNode = (0, n.R3)( + i.getHTMLElement(), + (0, n.$)('.monaco-list-type-filter-message') + )), + (this.labelDomNode = (0, n.R3)( + this.domNode, + (0, n.$)('span.label') + )); + const l = (0, n.R3)(this.domNode, (0, n.$)('.controls')); + (this._filterOnType = !!e.options.filterOnType), + (this.filterOnTypeDomNode = (0, n.R3)( + l, + (0, n.$)('input.filter') + )), + (this.filterOnTypeDomNode.type = 'checkbox'), + (this.filterOnTypeDomNode.checked = this._filterOnType), + (this.filterOnTypeDomNode.tabIndex = -1), + this.updateFilterOnTypeTitleAndIcon(), + (0, M.j)(this.filterOnTypeDomNode, 'input')( + this.onDidChangeFilterOnType, + this, + this.disposables + ), + (this.clearDomNode = (0, n.R3)( + l, + (0, n.$)('button.clear' + H.cssSelector) + )), + (this.clearDomNode.tabIndex = -1), + (this.clearDomNode.title = (0, u.N)('clear', 'Clear')), + (this.keyboardNavigationEventFilter = + e.options.keyboardNavigationEventFilter), + t.onDidSplice(this.onDidSpliceModel, this, this.disposables), + this.updateOptions(e.options); + } + get enabled() { + return this._enabled; + } + get pattern() { + return this._pattern; + } + get filterOnType() { + return this._filterOnType; + } + updateOptions(e) { + e.simpleKeyboardNavigation ? this.disable() : this.enable(), + void 0 !== e.filterOnType && + ((this._filterOnType = !!e.filterOnType), + (this.filterOnTypeDomNode.checked = this._filterOnType)), + void 0 !== e.automaticKeyboardNavigation && + (this.automaticKeyboardNavigation = + e.automaticKeyboardNavigation), + this.tree.refilter(), + this.render(), + this.automaticKeyboardNavigation || this.onEventOrInput(''); + } + enable() { + if (this._enabled) return; + const e = a.ju + .chain((0, M.j)(this.view.getHTMLElement(), 'keydown')) + .filter( + (e) => + !(0, o.cK)(e.target) || + e.target === this.filterOnTypeDomNode + ) + .filter((e) => 'Dead' !== e.key && !/^Media/.test(e.key)) + .map((e) => new C.y(e)) + .filter(this.keyboardNavigationEventFilter || (() => !0)) + .filter( + () => this.automaticKeyboardNavigation || this.triggered + ) + .filter( + (e) => + (this.keyboardNavigationDelegate.mightProducePrintableCharacter( + e + ) && + !( + 18 === e.keyCode || + 16 === e.keyCode || + 15 === e.keyCode || + 17 === e.keyCode + )) || + ((this.pattern.length > 0 || this.triggered) && + (9 === e.keyCode || 1 === e.keyCode) && + !e.altKey && + !e.ctrlKey && + !e.metaKey) || + (1 === e.keyCode && + (A.dz ? e.altKey && !e.metaKey : e.ctrlKey) && + !e.shiftKey) + ) + .forEach((e) => { + e.stopPropagation(), e.preventDefault(); + }).event, + t = (0, M.j)(this.clearDomNode, 'click'); + a.ju + .chain(a.ju.any(e, t)) + .event(this.onEventOrInput, this, this.enabledDisposables), + (this.filter.pattern = ''), + this.tree.refilter(), + this.render(), + (this._enabled = !0), + (this.triggered = !1); + } + disable() { + this._enabled && + (this.domNode.remove(), + this.enabledDisposables.clear(), + this.tree.refilter(), + this.render(), + (this._enabled = !1), + (this.triggered = !1)); + } + onEventOrInput(e) { + 'string' == typeof e + ? this.onInput(e) + : e instanceof MouseEvent || + 9 === e.keyCode || + (1 === e.keyCode && (A.dz ? e.altKey : e.ctrlKey)) + ? this.onInput('') + : 1 === e.keyCode + ? this.onInput( + 0 === this.pattern.length + ? '' + : this.pattern.substr(0, this.pattern.length - 1) + ) + : this.onInput(this.pattern + e.browserEvent.key); + } + onInput(e) { + const t = this.view.getHTMLElement(); + e && !this.domNode.parentElement + ? t.append(this.domNode) + : !e && + this.domNode.parentElement && + (this.domNode.remove(), this.tree.domFocus()), + (this._pattern = e), + this._onDidChangePattern.fire(e), + (this.filter.pattern = e), + this.tree.refilter(), + e && + this.tree.focusNext( + 0, + !0, + void 0, + (e) => !D.CL.isDefault(e.filterData) + ); + const i = this.tree.getFocus(); + if (i.length > 0) { + const e = i[0]; + null === this.tree.getRelativeTop(e) && this.tree.reveal(e, 0.5); + } + this.render(), e || (this.triggered = !1); + } + onDragStart() { + const e = this.view.getHTMLElement(), + { left: t } = (0, n.i)(e), + i = e.clientWidth, + s = i / 2, + o = this.domNode.clientWidth, + a = new r.SL(); + let l = this.positionClassName; + const c = () => { + switch (l) { + case 'nw': + (this.domNode.style.top = '4px'), + (this.domNode.style.left = '4px'); + break; + case 'ne': + (this.domNode.style.top = '4px'), + (this.domNode.style.left = i - o - 6 + 'px'); + } + }; + c(), + (0, n.IV)(this.domNode, l), + (0, n.cn)(this.domNode, 'dragging'), + a.add((0, r.OF)(() => (0, n.IV)(this.domNode, 'dragging'))), + (0, M.j)(document, 'dragover')( + (e) => { + e.preventDefault(); + const i = e.screenX - t; + e.dataTransfer && (e.dataTransfer.dropEffect = 'none'), + (l = i < s ? 'nw' : 'ne'), + c(); + }, + null, + a + ), + (0, M.j)(this.domNode, 'dragend')( + () => { + (this.positionClassName = l), + (this.domNode.className = `monaco-list-type-filter ${this.positionClassName}`), + (this.domNode.style.top = ''), + (this.domNode.style.left = ''), + (0, r.B9)(a); + }, + null, + a + ), + (x.P$.CurrentDragAndDropData = new x.TN('vscode-ui')), + a.add((0, r.OF)(() => (x.P$.CurrentDragAndDropData = void 0))); + } + onDidSpliceModel() { + this._enabled && + 0 !== this.pattern.length && + (this.tree.refilter(), this.render()); + } + onDidChangeFilterOnType() { + this.tree.updateOptions({ + filterOnType: this.filterOnTypeDomNode.checked, + }), + this.tree.refilter(), + this.tree.domFocus(), + this.render(), + this.updateFilterOnTypeTitleAndIcon(); + } + updateFilterOnTypeTitleAndIcon() { + this.filterOnType + ? ((0, n.GK)(this.filterOnTypeDomNode, Y.classNames), + (0, n.PT)(this.filterOnTypeDomNode, W.classNames), + (this.filterOnTypeDomNode.title = (0, u.N)( + 'disable filter on type', + 'Disable Filter on Type' + ))) + : ((0, n.GK)(this.filterOnTypeDomNode, W.classNames), + (0, n.PT)(this.filterOnTypeDomNode, Y.classNames), + (this.filterOnTypeDomNode.title = (0, u.N)( + 'enable filter on type', + 'Enable Filter on Type' + ))); + } + render() { + const e = + this.filter.totalCount > 0 && 0 === this.filter.matchCount; + this.pattern && this.tree.options.filterOnType && e + ? ((this.messageDomNode.textContent = (0, u.N)( + 'empty', + 'No elements found' + )), + (this._empty = !0)) + : ((this.messageDomNode.innerText = ''), (this._empty = !1)), + (0, n.og)(this.domNode, 'no-matches', e), + (this.domNode.title = (0, u.N)( + 'found', + 'Matched {0} out of {1} elements', + this.filter.matchCount, + this.filter.totalCount + )), + (this.labelDomNode.textContent = + this.pattern.length > 16 + ? '…' + this.pattern.substr(this.pattern.length - 16) + : this.pattern), + this._onDidChangeEmptyState.fire(this._empty); + } + shouldAllowFocus(e) { + return ( + !(this.enabled && this.pattern && !this.filterOnType) || + (this.filter.totalCount > 0 && this.filter.matchCount <= 1) || + !D.CL.isDefault(e.filterData) + ); + } + dispose() { + this._enabled && + (this.domNode.remove(), + this.enabledDisposables.dispose(), + (this._enabled = !1), + (this.triggered = !1)), + this._onDidChangePattern.dispose(), + (0, r.B9)(this.disposables); + } + } + function Q(e) { + let t = h.Unknown; + return ( + (0, n.uU)( + e.browserEvent.target, + 'monaco-tl-twistie', + 'monaco-tl-row' + ) + ? (t = h.Twistie) + : (0, n.uU)( + e.browserEvent.target, + 'monaco-tl-contents', + 'monaco-tl-row' + ) && (t = h.Element), + { + browserEvent: e.browserEvent, + element: e.element ? e.element.element : null, + target: t, + } + ); + } + function X(e, t) { + t(e), e.children.forEach((e) => X(e, t)); + } + class ee { + constructor(e) { + (this.identityProvider = e), + (this.nodes = []), + (this._onDidChange = new a.Q5()), + (this.onDidChange = this._onDidChange.event); + } + get nodeSet() { + return ( + this._nodeSet || (this._nodeSet = this.createNodeSet()), + this._nodeSet + ); + } + set(e, t) { + (0, s.fS)(this.nodes, e) || this._set(e, !1, t); + } + _set(e, t, i) { + if ( + ((this.nodes = [...e]), + (this.elements = void 0), + (this._nodeSet = void 0), + !t) + ) { + const e = this; + this._onDidChange.fire({ + get elements() { + return e.get(); + }, + browserEvent: i, + }); + } + } + get() { + return ( + this.elements || + (this.elements = this.nodes.map((e) => e.element)), + [...this.elements] + ); + } + getNodes() { + return this.nodes; + } + has(e) { + return this.nodeSet.has(e); + } + onDidModelSplice({ insertedNodes: e, deletedNodes: t }) { + if (!this.identityProvider) { + const e = this.createNodeSet(), + i = (t) => e.delete(t); + return t.forEach((e) => X(e, i)), void this.set([...e.values()]); + } + const i = new Set(), + n = (e) => + i.add(this.identityProvider.getId(e.element).toString()); + t.forEach((e) => X(e, n)); + const r = new Map(), + s = (e) => + r.set(this.identityProvider.getId(e.element).toString(), e); + e.forEach((e) => X(e, s)); + const o = []; + for (const e of this.nodes) { + const t = this.identityProvider.getId(e.element).toString(); + if (i.has(t)) { + const e = r.get(t); + e && o.push(e); + } else o.push(e); + } + this._set(o, !0); + } + createNodeSet() { + const e = new Set(); + for (const t of this.nodes) e.add(t); + return e; + } + } + class te extends o.sx { + constructor(e, t) { + super(e), (this.tree = t); + } + onViewPointer(e) { + if ( + (0, o.cK)(e.browserEvent.target) || + (0, o.hD)(e.browserEvent.target) + ) + return; + const t = e.element; + if (!t) return super.onViewPointer(e); + if ( + this.isSelectionRangeChangeEvent(e) || + this.isSelectionSingleChangeEvent(e) + ) + return super.onViewPointer(e); + const i = e.browserEvent.target, + r = + (0, n.pv)(i, 'monaco-tl-twistie') || + ((0, n.pv)(i, 'monaco-icon-label') && + (0, n.pv)(i, 'folder-icon') && + e.browserEvent.offsetX < 16); + let s = !1; + if ( + ((s = + 'function' == typeof this.tree.expandOnlyOnTwistieClick + ? this.tree.expandOnlyOnTwistieClick(t.element) + : !!this.tree.expandOnlyOnTwistieClick), + s && !r) + ) + return super.onViewPointer(e); + if ( + this.tree.expandOnlyOnDoubleClick && + 2 !== e.browserEvent.detail && + !r + ) + return super.onViewPointer(e); + if (t.collapsible) { + const i = this.tree.model, + n = i.getNodeLocation(t), + o = e.browserEvent.altKey; + if ((i.setCollapsed(n, void 0, o), s && r)) return; + } + super.onViewPointer(e); + } + onDoubleClick(e) { + (0, n.pv)(e.browserEvent.target, 'monaco-tl-twistie') || + super.onDoubleClick(e); + } + } + class ie extends o.aV { + constructor(e, t, i, n, r, s, o) { + super(e, t, i, n, o), + (this.focusTrait = r), + (this.selectionTrait = s); + } + createMouseController(e) { + return new te(this, e.tree); + } + splice(e, t, i = []) { + if ((super.splice(e, t, i), 0 === i.length)) return; + const n = [], + r = []; + i.forEach((t, i) => { + this.focusTrait.has(t) && n.push(e + i), + this.selectionTrait.has(t) && r.push(e + i); + }), + n.length > 0 && + super.setFocus((0, s.cU)([...super.getFocus(), ...n])), + r.length > 0 && + super.setSelection((0, s.cU)([...super.getSelection(), ...r])); + } + setFocus(e, t, i = !1) { + super.setFocus(e, t), + i || + this.focusTrait.set( + e.map((e) => this.element(e)), + t + ); + } + setSelection(e, t, i = !1) { + super.setSelection(e, t), + i || + this.selectionTrait.set( + e.map((e) => this.element(e)), + t + ); + } + } + class ne { + constructor(e, t, i, s, l = {}) { + (this._options = l), + (this.eventBufferer = new a.E7()), + (this.disposables = new r.SL()), + (this._onWillRefilter = new a.Q5()), + (this.onWillRefilter = this._onWillRefilter.event), + (this._onDidUpdateOptions = new a.Q5()); + const c = new $(i), + d = new a.ZD(), + h = new a.ZD(), + u = new q(h.event); + this.renderers = s.map( + (e) => new G(e, () => this.model, d.event, u, l) + ); + for (let e of this.renderers) this.disposables.add(e); + let g; + var f, p; + l.keyboardNavigationLabelProvider && + ((g = new Z(this, l.keyboardNavigationLabelProvider, l.filter)), + (l = Object.assign(Object.assign({}, l), { filter: g })), + this.disposables.add(g)), + (this.focus = new ee(l.identityProvider)), + (this.selection = new ee(l.identityProvider)), + (this.view = new ie( + e, + t, + c, + this.renderers, + this.focus, + this.selection, + Object.assign( + Object.assign( + {}, + ((f = () => this.model), + (p = l) && + Object.assign(Object.assign({}, p), { + identityProvider: p.identityProvider && { + getId: (e) => p.identityProvider.getId(e.element), + }, + dnd: p.dnd && new U(f, p.dnd), + multipleSelectionController: p.multipleSelectionController && { + isSelectionSingleChangeEvent: (e) => + p.multipleSelectionController.isSelectionSingleChangeEvent( + Object.assign(Object.assign({}, e), { + element: e.element, + }) + ), + isSelectionRangeChangeEvent: (e) => + p.multipleSelectionController.isSelectionRangeChangeEvent( + Object.assign(Object.assign({}, e), { + element: e.element, + }) + ), + }, + accessibilityProvider: + p.accessibilityProvider && + Object.assign( + Object.assign({}, p.accessibilityProvider), + { + getSetSize(e) { + const t = f(), + i = t.getNodeLocation(e), + n = t.getParentNodeLocation(i); + return t.getNode(n).visibleChildrenCount; + }, + getPosInSet: (e) => e.visibleChildIndex + 1, + isChecked: + p.accessibilityProvider && + p.accessibilityProvider.isChecked + ? (e) => + p.accessibilityProvider.isChecked( + e.element + ) + : void 0, + getRole: + p.accessibilityProvider && + p.accessibilityProvider.getRole + ? (e) => + p.accessibilityProvider.getRole(e.element) + : () => 'treeitem', + getAriaLabel: (e) => + p.accessibilityProvider.getAriaLabel(e.element), + getWidgetAriaLabel: () => + p.accessibilityProvider.getWidgetAriaLabel(), + getWidgetRole: + p.accessibilityProvider && + p.accessibilityProvider.getWidgetRole + ? () => + p.accessibilityProvider.getWidgetRole() + : () => 'tree', + getAriaLevel: (e) => e.depth, + getActiveDescendantId: + p.accessibilityProvider.getActiveDescendantId && + ((e) => + p.accessibilityProvider.getActiveDescendantId( + e.element + )), + } + ), + keyboardNavigationLabelProvider: + p.keyboardNavigationLabelProvider && + Object.assign( + Object.assign( + {}, + p.keyboardNavigationLabelProvider + ), + { + getKeyboardNavigationLabel: (e) => + p.keyboardNavigationLabelProvider.getKeyboardNavigationLabel( + e.element + ), + } + ), + enableKeyboardNavigation: p.simpleKeyboardNavigation, + })) + ), + { tree: this } + ) + )), + (this.model = this.createModel(e, this.view, l)), + (d.input = this.model.onDidChangeCollapseState); + const m = a.ju.forEach(this.model.onDidSplice, (e) => { + this.eventBufferer.bufferEvents(() => { + this.focus.onDidModelSplice(e), + this.selection.onDidModelSplice(e); + }); + }); + if ( + (m(() => null, null, this.disposables), + (h.input = a.ju + .chain( + a.ju.any( + m, + this.focus.onDidChange, + this.selection.onDidChange + ) + ) + .debounce(() => null, 0) + .map(() => { + const e = new Set(); + for (const t of this.focus.getNodes()) e.add(t); + for (const t of this.selection.getNodes()) e.add(t); + return [...e.values()]; + }).event), + !1 !== l.keyboardSupport) + ) { + const e = a.ju + .chain(this.view.onKeyDown) + .filter((e) => !(0, o.cK)(e.target)) + .map((e) => new C.y(e)); + e + .filter((e) => 15 === e.keyCode) + .on(this.onLeftArrow, this, this.disposables), + e + .filter((e) => 17 === e.keyCode) + .on(this.onRightArrow, this, this.disposables), + e + .filter((e) => 10 === e.keyCode) + .on(this.onSpace, this, this.disposables); + } + if (l.keyboardNavigationLabelProvider) { + const e = l.keyboardNavigationDelegate || o.WK; + (this.typeFilterController = new J( + this, + this.model, + this.view, + g, + e + )), + (this.focusNavigationFilter = (e) => + this.typeFilterController.shouldAllowFocus(e)), + this.disposables.add(this.typeFilterController); + } + (this.styleElement = (0, n.dS)(this.view.getHTMLElement())), + (0, n.og)( + this.getHTMLElement(), + 'always', + this._options.renderIndentGuides === K.Always + ); + } + get onDidChangeFocus() { + return this.eventBufferer.wrapEvent(this.focus.onDidChange); + } + get onDidChangeSelection() { + return this.eventBufferer.wrapEvent(this.selection.onDidChange); + } + get onMouseDblClick() { + return a.ju.map(this.view.onMouseDblClick, Q); + } + get onPointer() { + return a.ju.map(this.view.onPointer, Q); + } + get onDidFocus() { + return this.view.onDidFocus; + } + get onDidChangeCollapseState() { + return this.model.onDidChangeCollapseState; + } + get expandOnlyOnDoubleClick() { + var e; + return ( + null !== (e = this._options.expandOnlyOnDoubleClick) && + void 0 !== e && + e + ); + } + get expandOnlyOnTwistieClick() { + return ( + void 0 !== this._options.expandOnlyOnTwistieClick && + this._options.expandOnlyOnTwistieClick + ); + } + get onDidDispose() { + return this.view.onDidDispose; + } + updateOptions(e = {}) { + this._options = Object.assign(Object.assign({}, this._options), e); + for (const t of this.renderers) t.updateOptions(e); + this.view.updateOptions({ + enableKeyboardNavigation: this._options.simpleKeyboardNavigation, + automaticKeyboardNavigation: this._options + .automaticKeyboardNavigation, + smoothScrolling: this._options.smoothScrolling, + horizontalScrolling: this._options.horizontalScrolling, + }), + this.typeFilterController && + this.typeFilterController.updateOptions(this._options), + this._onDidUpdateOptions.fire(this._options), + (0, n.og)( + this.getHTMLElement(), + 'always', + this._options.renderIndentGuides === K.Always + ); + } + get options() { + return this._options; + } + getHTMLElement() { + return this.view.getHTMLElement(); + } + get scrollTop() { + return this.view.scrollTop; + } + set scrollTop(e) { + this.view.scrollTop = e; + } + domFocus() { + this.view.domFocus(); + } + layout(e, t) { + this.view.layout(e, t); + } + style(e) { + const t = `.${this.view.domId}`, + i = []; + e.treeIndentGuidesStroke && + (i.push( + `.monaco-list${t}:hover .monaco-tl-indent > .indent-guide, .monaco-list${t}.always .monaco-tl-indent > .indent-guide { border-color: ${e.treeIndentGuidesStroke.transparent( + 0.4 + )}; }` + ), + i.push( + `.monaco-list${t} .monaco-tl-indent > .indent-guide.active { border-color: ${e.treeIndentGuidesStroke}; }` + )); + const n = i.join('\n'); + n !== this.styleElement.innerHTML && + (this.styleElement.innerHTML = n), + this.view.style(e); + } + collapse(e, t = !1) { + return this.model.setCollapsed(e, !0, t); + } + expand(e, t = !1) { + return this.model.setCollapsed(e, !1, t); + } + isCollapsible(e) { + return this.model.isCollapsible(e); + } + setCollapsible(e, t) { + return this.model.setCollapsible(e, t); + } + isCollapsed(e) { + return this.model.isCollapsed(e); + } + refilter() { + this._onWillRefilter.fire(void 0), this.model.refilter(); + } + setSelection(e, t) { + const i = e.map((e) => this.model.getNode(e)); + this.selection.set(i, t); + const n = e + .map((e) => this.model.getListIndex(e)) + .filter((e) => e > -1); + this.view.setSelection(n, t, !0); + } + getSelection() { + return this.selection.get(); + } + setFocus(e, t) { + const i = e.map((e) => this.model.getNode(e)); + this.focus.set(i, t); + const n = e + .map((e) => this.model.getListIndex(e)) + .filter((e) => e > -1); + this.view.setFocus(n, t, !0); + } + focusNext(e = 1, t = !1, i, n = this.focusNavigationFilter) { + this.view.focusNext(e, t, i, n); + } + getFocus() { + return this.focus.get(); + } + reveal(e, t) { + this.model.expandTo(e); + const i = this.model.getListIndex(e); + -1 !== i && this.view.reveal(i, t); + } + getRelativeTop(e) { + const t = this.model.getListIndex(e); + return -1 === t ? null : this.view.getRelativeTop(t); + } + onLeftArrow(e) { + e.preventDefault(), e.stopPropagation(); + const t = this.view.getFocusedElements(); + if (0 === t.length) return; + const i = t[0], + n = this.model.getNodeLocation(i); + if (!this.model.setCollapsed(n, !0)) { + const e = this.model.getParentNodeLocation(n); + if (!e) return; + const t = this.model.getListIndex(e); + this.view.reveal(t), this.view.setFocus([t]); + } + } + onRightArrow(e) { + e.preventDefault(), e.stopPropagation(); + const t = this.view.getFocusedElements(); + if (0 === t.length) return; + const i = t[0], + n = this.model.getNodeLocation(i); + if (!this.model.setCollapsed(n, !1)) { + if (!i.children.some((e) => e.visible)) return; + const [e] = this.view.getFocus(), + t = e + 1; + this.view.reveal(t), this.view.setFocus([t]); + } + } + onSpace(e) { + e.preventDefault(), e.stopPropagation(); + const t = this.view.getFocusedElements(); + if (0 === t.length) return; + const i = t[0], + n = this.model.getNodeLocation(i), + r = e.browserEvent.altKey; + this.model.setCollapsed(n, void 0, r); + } + dispose() { + (0, r.B9)(this.disposables), this.view.dispose(); + } + } + class re { + constructor(e, t, i = {}) { + (this.user = e), + (this.rootRef = null), + (this.nodes = new Map()), + (this.nodesByIdentity = new Map()), + (this.model = new I(e, t, null, i)), + (this.onDidSplice = this.model.onDidSplice), + (this.onDidChangeCollapseState = this.model.onDidChangeCollapseState), + (this.onDidChangeRenderNodeCount = this.model.onDidChangeRenderNodeCount), + i.sorter && + (this.sorter = { + compare: (e, t) => i.sorter.compare(e.element, t.element), + }), + (this.identityProvider = i.identityProvider); + } + setChildren(e, t = w.$.empty(), i, n) { + const r = this.getElementLocation(e); + this._setChildren(r, this.preserveCollapseState(t), i, n); + } + _setChildren(e, t = w.$.empty(), i, n) { + const r = new Set(), + s = new Set(); + this.model.splice( + [...e, 0], + Number.MAX_VALUE, + t, + (e) => { + if (null === e.element) return; + const t = e; + if ( + (r.add(t.element), + this.nodes.set(t.element, t), + this.identityProvider) + ) { + const e = this.identityProvider.getId(t.element).toString(); + s.add(e), this.nodesByIdentity.set(e, t); + } + i && i(t); + }, + (e) => { + if (null === e.element) return; + const t = e; + if ( + (r.has(t.element) || this.nodes.delete(t.element), + this.identityProvider) + ) { + const e = this.identityProvider.getId(t.element).toString(); + s.has(e) || this.nodesByIdentity.delete(e); + } + n && n(t); + } + ); + } + preserveCollapseState(e = w.$.empty()) { + return ( + this.sorter && + (e = (0, s.qt)([...e], this.sorter.compare.bind(this.sorter))), + w.$.map(e, (e) => { + let t = this.nodes.get(e.element); + if (!t && this.identityProvider) { + const i = this.identityProvider.getId(e.element).toString(); + t = this.nodesByIdentity.get(i); + } + if (!t) + return Object.assign(Object.assign({}, e), { + children: this.preserveCollapseState(e.children), + }); + const i = + 'boolean' == typeof e.collapsible + ? e.collapsible + : t.collapsible, + n = void 0 !== e.collapsed ? e.collapsed : t.collapsed; + return Object.assign(Object.assign({}, e), { + collapsible: i, + collapsed: n, + children: this.preserveCollapseState(e.children), + }); + }) + ); + } + rerender(e) { + const t = this.getElementLocation(e); + this.model.rerender(t); + } + has(e) { + return this.nodes.has(e); + } + getListIndex(e) { + const t = this.getElementLocation(e); + return this.model.getListIndex(t); + } + getListRenderCount(e) { + const t = this.getElementLocation(e); + return this.model.getListRenderCount(t); + } + isCollapsible(e) { + const t = this.getElementLocation(e); + return this.model.isCollapsible(t); + } + setCollapsible(e, t) { + const i = this.getElementLocation(e); + return this.model.setCollapsible(i, t); + } + isCollapsed(e) { + const t = this.getElementLocation(e); + return this.model.isCollapsed(t); + } + setCollapsed(e, t, i) { + const n = this.getElementLocation(e); + return this.model.setCollapsed(n, t, i); + } + expandTo(e) { + const t = this.getElementLocation(e); + this.model.expandTo(t); + } + refilter() { + this.model.refilter(); + } + getNode(e = null) { + if (null === e) return this.model.getNode(this.model.rootRef); + const t = this.nodes.get(e); + if (!t) throw new S(this.user, `Tree element not found: ${e}`); + return t; + } + getNodeLocation(e) { + return e.element; + } + getParentNodeLocation(e) { + if (null === e) + throw new S(this.user, 'Invalid getParentNodeLocation call'); + const t = this.nodes.get(e); + if (!t) throw new S(this.user, `Tree element not found: ${e}`); + const i = this.model.getNodeLocation(t), + n = this.model.getParentNodeLocation(i); + return this.model.getNode(n).element; + } + getElementLocation(e) { + if (null === e) return []; + const t = this.nodes.get(e); + if (!t) throw new S(this.user, `Tree element not found: ${e}`); + return this.model.getNodeLocation(t); + } + } + function se(e) { + return { + element: { + elements: [e.element], + incompressible: e.incompressible || !1, + }, + children: w.$.map(w.$.from(e.children), se), + collapsible: e.collapsible, + collapsed: e.collapsed, + }; + } + function oe(e) { + const t = [e.element], + i = e.incompressible || !1; + let n, r; + for ( + ; + ([r, n] = w.$.consume(w.$.from(e.children), 2)), + 1 === r.length && !(e = r[0]).incompressible; + + ) + t.push(e.element); + return { + element: { elements: t, incompressible: i }, + children: w.$.map(w.$.concat(r, n), oe), + collapsible: e.collapsible, + collapsed: e.collapsed, + }; + } + function ae(e, t = 0) { + let i; + return ( + (i = + t < e.element.elements.length - 1 + ? [ae(e, t + 1)] + : w.$.map(w.$.from(e.children), (e) => ae(e, 0))), + 0 === t && e.element.incompressible + ? { + element: e.element.elements[t], + children: i, + incompressible: !0, + collapsible: e.collapsible, + collapsed: e.collapsed, + } + : { + element: e.element.elements[t], + children: i, + collapsible: e.collapsible, + collapsed: e.collapsed, + } + ); + } + function le(e) { + return ae(e, 0); + } + function ce(e, t, i) { + return e.element === t + ? Object.assign(Object.assign({}, e), { children: i }) + : Object.assign(Object.assign({}, e), { + children: w.$.map(w.$.from(e.children), (e) => ce(e, t, i)), + }); + } + class de { + constructor(e, t, i = {}) { + (this.user = e), + (this.rootRef = null), + (this.nodes = new Map()), + (this.model = new re(e, t, i)), + (this.enabled = + void 0 === i.compressionEnabled || i.compressionEnabled); + } + get onDidSplice() { + return this.model.onDidSplice; + } + get onDidChangeCollapseState() { + return this.model.onDidChangeCollapseState; + } + get onDidChangeRenderNodeCount() { + return this.model.onDidChangeRenderNodeCount; + } + setChildren(e, t = w.$.empty()) { + if (null === e) { + const e = w.$.map(t, this.enabled ? oe : se); + return void this._setChildren(null, e); + } + const i = this.nodes.get(e); + if (!i) throw new Error('Unknown compressed tree node'); + const n = this.model.getNode(i), + r = this.model.getParentNodeLocation(i), + s = this.model.getNode(r), + o = ce(le(n), e, t), + a = (this.enabled ? oe : se)(o), + l = s.children.map((e) => (e === n ? a : e)); + this._setChildren(s.element, l); + } + setCompressionEnabled(e) { + if (e === this.enabled) return; + this.enabled = e; + const t = this.model.getNode().children, + i = w.$.map(t, le), + n = w.$.map(i, e ? oe : se); + this._setChildren(null, n); + } + _setChildren(e, t) { + const i = new Set(); + this.model.setChildren( + e, + t, + (e) => { + for (const t of e.element.elements) + i.add(t), this.nodes.set(t, e.element); + }, + (e) => { + for (const t of e.element.elements) + i.has(t) || this.nodes.delete(t); + } + ); + } + has(e) { + return this.nodes.has(e); + } + getListIndex(e) { + const t = this.getCompressedNode(e); + return this.model.getListIndex(t); + } + getListRenderCount(e) { + const t = this.getCompressedNode(e); + return this.model.getListRenderCount(t); + } + getNode(e) { + if (void 0 === e) return this.model.getNode(); + const t = this.getCompressedNode(e); + return this.model.getNode(t); + } + getNodeLocation(e) { + const t = this.model.getNodeLocation(e); + return null === t ? null : t.elements[t.elements.length - 1]; + } + getParentNodeLocation(e) { + const t = this.getCompressedNode(e), + i = this.model.getParentNodeLocation(t); + return null === i ? null : i.elements[i.elements.length - 1]; + } + isCollapsible(e) { + const t = this.getCompressedNode(e); + return this.model.isCollapsible(t); + } + setCollapsible(e, t) { + const i = this.getCompressedNode(e); + return this.model.setCollapsible(i, t); + } + isCollapsed(e) { + const t = this.getCompressedNode(e); + return this.model.isCollapsed(t); + } + setCollapsed(e, t, i) { + const n = this.getCompressedNode(e); + return this.model.setCollapsed(n, t, i); + } + expandTo(e) { + const t = this.getCompressedNode(e); + this.model.expandTo(t); + } + rerender(e) { + const t = this.getCompressedNode(e); + this.model.rerender(t); + } + refilter() { + this.model.refilter(); + } + getCompressedNode(e) { + if (null === e) return null; + const t = this.nodes.get(e); + if (!t) throw new S(this.user, `Tree element not found: ${e}`); + return t; + } + } + const he = (e) => e[e.length - 1]; + class ue { + constructor(e, t) { + (this.unwrapper = e), (this.node = t); + } + get element() { + return null === this.node.element + ? null + : this.unwrapper(this.node.element); + } + get children() { + return this.node.children.map((e) => new ue(this.unwrapper, e)); + } + get depth() { + return this.node.depth; + } + get visibleChildrenCount() { + return this.node.visibleChildrenCount; + } + get visibleChildIndex() { + return this.node.visibleChildIndex; + } + get collapsible() { + return this.node.collapsible; + } + get collapsed() { + return this.node.collapsed; + } + get visible() { + return this.node.visible; + } + get filterData() { + return this.node.filterData; + } + } + class ge { + constructor(e, t, i = {}) { + (this.rootRef = null), (this.elementMapper = i.elementMapper || he); + const n = (e) => this.elementMapper(e.elements); + (this.nodeMapper = new k((e) => new ue(n, e))), + (this.model = new de( + e, + (function (e, t) { + return { + splice(i, n, r) { + t.splice( + i, + n, + r.map((t) => e.map(t)) + ); + }, + updateElementHeight(e, i) { + t.updateElementHeight(e, i); + }, + }; + })(this.nodeMapper, t), + (function (e, t) { + return Object.assign(Object.assign({}, t), { + sorter: t.sorter && { + compare: (e, i) => + t.sorter.compare(e.elements[0], i.elements[0]), + }, + identityProvider: t.identityProvider && { + getId: (i) => t.identityProvider.getId(e(i)), + }, + filter: t.filter && { + filter: (i, n) => t.filter.filter(e(i), n), + }, + }); + })(n, i) + )); + } + get onDidSplice() { + return a.ju.map( + this.model.onDidSplice, + ({ insertedNodes: e, deletedNodes: t }) => ({ + insertedNodes: e.map((e) => this.nodeMapper.map(e)), + deletedNodes: t.map((e) => this.nodeMapper.map(e)), + }) + ); + } + get onDidChangeCollapseState() { + return a.ju.map( + this.model.onDidChangeCollapseState, + ({ node: e, deep: t }) => ({ + node: this.nodeMapper.map(e), + deep: t, + }) + ); + } + get onDidChangeRenderNodeCount() { + return a.ju.map(this.model.onDidChangeRenderNodeCount, (e) => + this.nodeMapper.map(e) + ); + } + setChildren(e, t = w.$.empty()) { + this.model.setChildren(e, t); + } + setCompressionEnabled(e) { + this.model.setCompressionEnabled(e); + } + has(e) { + return this.model.has(e); + } + getListIndex(e) { + return this.model.getListIndex(e); + } + getListRenderCount(e) { + return this.model.getListRenderCount(e); + } + getNode(e) { + return this.nodeMapper.map(this.model.getNode(e)); + } + getNodeLocation(e) { + return e.element; + } + getParentNodeLocation(e) { + return this.model.getParentNodeLocation(e); + } + isCollapsible(e) { + return this.model.isCollapsible(e); + } + setCollapsible(e, t) { + return this.model.setCollapsible(e, t); + } + isCollapsed(e) { + return this.model.isCollapsed(e); + } + setCollapsed(e, t, i) { + return this.model.setCollapsed(e, t, i); + } + expandTo(e) { + return this.model.expandTo(e); + } + rerender(e) { + return this.model.rerender(e); + } + refilter() { + return this.model.refilter(); + } + getCompressedTreeNode(e = null) { + return this.model.getNode(e); + } + } + var fe = i(49898); + class pe extends ne { + constructor(e, t, i, n, r = {}) { + super(e, t, i, n, r); + } + get onDidChangeCollapseState() { + return this.model.onDidChangeCollapseState; + } + setChildren(e, t = w.$.empty()) { + this.model.setChildren(e, t); + } + rerender(e) { + void 0 !== e ? this.model.rerender(e) : this.view.rerender(); + } + hasElement(e) { + return this.model.has(e); + } + createModel(e, t, i) { + return new re(e, t, i); + } + } + class me { + constructor(e, t) { + (this._compressedTreeNodeProvider = e), + (this.renderer = t), + (this.templateId = t.templateId), + t.onDidChangeTwistieState && + (this.onDidChangeTwistieState = t.onDidChangeTwistieState); + } + get compressedTreeNodeProvider() { + return this._compressedTreeNodeProvider(); + } + renderTemplate(e) { + return { + compressedTreeNode: void 0, + data: this.renderer.renderTemplate(e), + }; + } + renderElement(e, t, i, n) { + const r = this.compressedTreeNodeProvider.getCompressedTreeNode( + e.element + ); + 1 === r.element.elements.length + ? ((i.compressedTreeNode = void 0), + this.renderer.renderElement(e, t, i.data, n)) + : ((i.compressedTreeNode = r), + this.renderer.renderCompressedElements(r, t, i.data, n)); + } + disposeElement(e, t, i, n) { + i.compressedTreeNode + ? this.renderer.disposeCompressedElements && + this.renderer.disposeCompressedElements( + i.compressedTreeNode, + t, + i.data, + n + ) + : this.renderer.disposeElement && + this.renderer.disposeElement(e, t, i.data, n); + } + disposeTemplate(e) { + this.renderer.disposeTemplate(e.data); + } + renderTwistie(e, t) { + this.renderer.renderTwistie && this.renderer.renderTwistie(e, t); + } + } + !(function (e, t, i, n) { + var r, + s = arguments.length, + o = + s < 3 + ? t + : null === n + ? (n = Object.getOwnPropertyDescriptor(t, i)) + : n; + if ( + 'object' == typeof Reflect && + 'function' == typeof Reflect.decorate + ) + o = Reflect.decorate(e, t, i, n); + else + for (var a = e.length - 1; a >= 0; a--) + (r = e[a]) && + (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); + s > 3 && o && Object.defineProperty(t, i, o); + })([fe.H], me.prototype, 'compressedTreeNodeProvider', null); + class _e extends pe { + constructor(e, t, i, n, r = {}) { + const s = () => this; + super( + e, + t, + i, + n.map((e) => new me(s, e)), + (function (e, t) { + return ( + t && + Object.assign(Object.assign({}, t), { + keyboardNavigationLabelProvider: t.keyboardNavigationLabelProvider && { + getKeyboardNavigationLabel(i) { + let n; + try { + n = e().getCompressedTreeNode(i); + } catch (e) { + return t.keyboardNavigationLabelProvider.getKeyboardNavigationLabel( + i + ); + } + return 1 === n.element.elements.length + ? t.keyboardNavigationLabelProvider.getKeyboardNavigationLabel( + i + ) + : t.keyboardNavigationLabelProvider.getCompressedNodeKeyboardNavigationLabel( + n.element.elements + ); + }, + }, + }) + ); + })(s, r) + ); + } + setChildren(e, t = w.$.empty()) { + this.model.setChildren(e, t); + } + createModel(e, t, i) { + return new ge(e, t, i); + } + updateOptions(e = {}) { + super.updateOptions(e), + void 0 !== e.compressionEnabled && + this.model.setCompressionEnabled(e.compressionEnabled); + } + getCompressedTreeNode(e = null) { + return this.model.getCompressedTreeNode(e); + } + } + var be = i(17301), + ve = function (e, t, i, n) { + return new (i || (i = Promise))(function (r, s) { + function o(e) { + try { + l(n.next(e)); + } catch (e) { + s(e); + } + } + function a(e) { + try { + l(n.throw(e)); + } catch (e) { + s(e); + } + } + function l(e) { + var t; + e.done + ? r(e.value) + : ((t = e.value), + t instanceof i + ? t + : new i(function (e) { + e(t); + })).then(o, a); + } + l((n = n.apply(e, t || [])).next()); + }); + }; + function ye(e) { + return Object.assign(Object.assign({}, e), { + children: [], + refreshPromise: void 0, + stale: !0, + slow: !1, + collapsedByDefault: void 0, + }); + } + function we(e, t) { + return !!t.parent && (t.parent === e || we(e, t.parent)); + } + class Ce { + constructor(e) { + this.node = e; + } + get element() { + return this.node.element.element; + } + get children() { + return this.node.children.map((e) => new Ce(e)); + } + get depth() { + return this.node.depth; + } + get visibleChildrenCount() { + return this.node.visibleChildrenCount; + } + get visibleChildIndex() { + return this.node.visibleChildIndex; + } + get collapsible() { + return this.node.collapsible; + } + get collapsed() { + return this.node.collapsed; + } + get visible() { + return this.node.visible; + } + get filterData() { + return this.node.filterData; + } + } + class Se { + constructor(e, t, i) { + (this.renderer = e), + (this.nodeMapper = t), + (this.onDidChangeTwistieState = i), + (this.renderedNodes = new Map()), + (this.templateId = e.templateId); + } + renderTemplate(e) { + return { templateData: this.renderer.renderTemplate(e) }; + } + renderElement(e, t, i, n) { + this.renderer.renderElement( + this.nodeMapper.map(e), + t, + i.templateData, + n + ); + } + renderTwistie(e, t) { + return ( + e.slow ? (0, n.PT)(t, j.classNames) : (0, n.GK)(t, j.classNames), + !1 + ); + } + disposeElement(e, t, i, n) { + this.renderer.disposeElement && + this.renderer.disposeElement( + this.nodeMapper.map(e), + t, + i.templateData, + n + ); + } + disposeTemplate(e) { + this.renderer.disposeTemplate(e.templateData); + } + dispose() { + this.renderedNodes.clear(); + } + } + function ke(e) { + return { + browserEvent: e.browserEvent, + elements: e.elements.map((e) => e.element), + }; + } + function xe(e) { + return { + browserEvent: e.browserEvent, + element: e.element && e.element.element, + target: e.target, + }; + } + class Le extends L.kX { + constructor(e) { + super(e.elements.map((e) => e.element)), (this.data = e); + } + } + function Me(e) { + return e instanceof L.kX ? new Le(e) : e; + } + class De { + constructor(e) { + this.dnd = e; + } + getDragURI(e) { + return this.dnd.getDragURI(e.element); + } + getDragLabel(e, t) { + if (this.dnd.getDragLabel) + return this.dnd.getDragLabel( + e.map((e) => e.element), + t + ); + } + onDragStart(e, t) { + this.dnd.onDragStart && this.dnd.onDragStart(Me(e), t); + } + onDragOver(e, t, i, n, r = !0) { + return this.dnd.onDragOver(Me(e), t && t.element, i, n); + } + drop(e, t, i, n) { + this.dnd.drop(Me(e), t && t.element, i, n); + } + onDragEnd(e) { + this.dnd.onDragEnd && this.dnd.onDragEnd(e); + } + } + function Ne(e) { + return ( + e && + Object.assign(Object.assign({}, e), { + collapseByDefault: !0, + identityProvider: e.identityProvider && { + getId: (t) => e.identityProvider.getId(t.element), + }, + dnd: e.dnd && new De(e.dnd), + multipleSelectionController: e.multipleSelectionController && { + isSelectionSingleChangeEvent: (t) => + e.multipleSelectionController.isSelectionSingleChangeEvent( + Object.assign(Object.assign({}, t), { element: t.element }) + ), + isSelectionRangeChangeEvent: (t) => + e.multipleSelectionController.isSelectionRangeChangeEvent( + Object.assign(Object.assign({}, t), { element: t.element }) + ), + }, + accessibilityProvider: + e.accessibilityProvider && + Object.assign(Object.assign({}, e.accessibilityProvider), { + getPosInSet: void 0, + getSetSize: void 0, + getRole: e.accessibilityProvider.getRole + ? (t) => e.accessibilityProvider.getRole(t.element) + : () => 'treeitem', + isChecked: e.accessibilityProvider.isChecked + ? (t) => { + var i; + return !!(null === (i = e.accessibilityProvider) || + void 0 === i + ? void 0 + : i.isChecked(t.element)); + } + : void 0, + getAriaLabel: (t) => + e.accessibilityProvider.getAriaLabel(t.element), + getWidgetAriaLabel: () => + e.accessibilityProvider.getWidgetAriaLabel(), + getWidgetRole: e.accessibilityProvider.getWidgetRole + ? () => e.accessibilityProvider.getWidgetRole() + : () => 'tree', + getAriaLevel: + e.accessibilityProvider.getAriaLevel && + ((t) => e.accessibilityProvider.getAriaLevel(t.element)), + getActiveDescendantId: + e.accessibilityProvider.getActiveDescendantId && + ((t) => + e.accessibilityProvider.getActiveDescendantId(t.element)), + }), + filter: e.filter && { + filter: (t, i) => e.filter.filter(t.element, i), + }, + keyboardNavigationLabelProvider: + e.keyboardNavigationLabelProvider && + Object.assign( + Object.assign({}, e.keyboardNavigationLabelProvider), + { + getKeyboardNavigationLabel: (t) => + e.keyboardNavigationLabelProvider.getKeyboardNavigationLabel( + t.element + ), + } + ), + sorter: void 0, + expandOnlyOnTwistieClick: + void 0 === e.expandOnlyOnTwistieClick + ? void 0 + : 'function' != typeof e.expandOnlyOnTwistieClick + ? e.expandOnlyOnTwistieClick + : (t) => e.expandOnlyOnTwistieClick(t.element), + additionalScrollHeight: e.additionalScrollHeight, + }) + ); + } + function Ee(e, t) { + t(e), e.children.forEach((e) => Ee(e, t)); + } + class Te { + constructor(e, t, i, n, s, o = {}) { + (this.user = e), + (this.dataSource = s), + (this.nodes = new Map()), + (this.subTreeRefreshPromises = new Map()), + (this.refreshPromises = new Map()), + (this._onDidRender = new a.Q5()), + (this._onDidChangeNodeSlowState = new a.Q5()), + (this.nodeMapper = new k((e) => new Ce(e))), + (this.disposables = new r.SL()), + (this.identityProvider = o.identityProvider), + (this.autoExpandSingleChildren = + void 0 !== o.autoExpandSingleChildren && + o.autoExpandSingleChildren), + (this.sorter = o.sorter), + (this.collapseByDefault = o.collapseByDefault), + (this.tree = this.createTree(e, t, i, n, o)), + (this.root = ye({ + element: void 0, + parent: null, + hasChildren: !0, + })), + this.identityProvider && + (this.root = Object.assign(Object.assign({}, this.root), { + id: null, + })), + this.nodes.set(null, this.root), + this.tree.onDidChangeCollapseState( + this._onDidChangeCollapseState, + this, + this.disposables + ); + } + get onDidChangeFocus() { + return a.ju.map(this.tree.onDidChangeFocus, ke); + } + get onDidChangeSelection() { + return a.ju.map(this.tree.onDidChangeSelection, ke); + } + get onMouseDblClick() { + return a.ju.map(this.tree.onMouseDblClick, xe); + } + get onPointer() { + return a.ju.map(this.tree.onPointer, xe); + } + get onDidFocus() { + return this.tree.onDidFocus; + } + get onDidDispose() { + return this.tree.onDidDispose; + } + createTree(e, t, i, n, r) { + const s = new $(i), + o = n.map( + (e) => + new Se( + e, + this.nodeMapper, + this._onDidChangeNodeSlowState.event + ) + ), + a = Ne(r) || {}; + return new pe(e, t, s, o, a); + } + updateOptions(e = {}) { + this.tree.updateOptions(e); + } + getHTMLElement() { + return this.tree.getHTMLElement(); + } + get scrollTop() { + return this.tree.scrollTop; + } + set scrollTop(e) { + this.tree.scrollTop = e; + } + domFocus() { + this.tree.domFocus(); + } + layout(e, t) { + this.tree.layout(e, t); + } + style(e) { + this.tree.style(e); + } + getInput() { + return this.root.element; + } + setInput(e, t) { + return ve(this, void 0, void 0, function* () { + this.refreshPromises.forEach((e) => e.cancel()), + this.refreshPromises.clear(), + (this.root.element = e); + const i = t && { viewState: t, focus: [], selection: [] }; + yield this._updateChildren(e, !0, !1, i), + i && + (this.tree.setFocus(i.focus), + this.tree.setSelection(i.selection)), + t && + 'number' == typeof t.scrollTop && + (this.scrollTop = t.scrollTop); + }); + } + _updateChildren(e = this.root.element, t = !0, i = !1, n) { + return ve(this, void 0, void 0, function* () { + if (void 0 === this.root.element) + throw new S(this.user, 'Tree input not set'); + this.root.refreshPromise && + (yield this.root.refreshPromise, + yield a.ju.toPromise(this._onDidRender.event)); + const r = this.getDataNode(e); + if ((yield this.refreshAndRenderNode(r, t, n), i)) + try { + this.tree.rerender(r); + } catch (e) {} + }); + } + rerender(e) { + if (void 0 === e || e === this.root.element) + return void this.tree.rerender(); + const t = this.getDataNode(e); + this.tree.rerender(t); + } + collapse(e, t = !1) { + const i = this.getDataNode(e); + return this.tree.collapse(i === this.root ? null : i, t); + } + expand(e, t = !1) { + return ve(this, void 0, void 0, function* () { + if (void 0 === this.root.element) + throw new S(this.user, 'Tree input not set'); + this.root.refreshPromise && + (yield this.root.refreshPromise, + yield a.ju.toPromise(this._onDidRender.event)); + const i = this.getDataNode(e); + if (this.tree.hasElement(i) && !this.tree.isCollapsible(i)) + return !1; + if ( + (i.refreshPromise && + (yield this.root.refreshPromise, + yield a.ju.toPromise(this._onDidRender.event)), + i !== this.root && + !i.refreshPromise && + !this.tree.isCollapsed(i)) + ) + return !1; + const n = this.tree.expand(i === this.root ? null : i, t); + return ( + i.refreshPromise && + (yield this.root.refreshPromise, + yield a.ju.toPromise(this._onDidRender.event)), + n + ); + }); + } + setSelection(e, t) { + const i = e.map((e) => this.getDataNode(e)); + this.tree.setSelection(i, t); + } + getSelection() { + return this.tree.getSelection().map((e) => e.element); + } + setFocus(e, t) { + const i = e.map((e) => this.getDataNode(e)); + this.tree.setFocus(i, t); + } + getFocus() { + return this.tree.getFocus().map((e) => e.element); + } + reveal(e, t) { + this.tree.reveal(this.getDataNode(e), t); + } + getDataNode(e) { + const t = this.nodes.get(e === this.root.element ? null : e); + if (!t) throw new S(this.user, `Data tree node not found: ${e}`); + return t; + } + refreshAndRenderNode(e, t, i) { + return ve(this, void 0, void 0, function* () { + yield this.refreshNode(e, t, i), this.render(e, i); + }); + } + refreshNode(e, t, i) { + return ve(this, void 0, void 0, function* () { + let n; + return ( + this.subTreeRefreshPromises.forEach((r, s) => { + !n && + (function (e, t) { + return e === t || we(e, t) || we(t, e); + })(s, e) && + (n = r.then(() => this.refreshNode(e, t, i))); + }), + n || this.doRefreshSubTree(e, t, i) + ); + }); + } + doRefreshSubTree(e, t, i) { + return ve(this, void 0, void 0, function* () { + let n; + (e.refreshPromise = new Promise((e) => (n = e))), + this.subTreeRefreshPromises.set(e, e.refreshPromise), + e.refreshPromise.finally(() => { + (e.refreshPromise = void 0), + this.subTreeRefreshPromises.delete(e); + }); + try { + const r = yield this.doRefreshNode(e, t, i); + (e.stale = !1), + yield Promise.all( + r.map((e) => this.doRefreshSubTree(e, t, i)) + ); + } finally { + n(); + } + }); + } + doRefreshNode(e, t, i) { + return ve(this, void 0, void 0, function* () { + let n; + if ( + ((e.hasChildren = !!this.dataSource.hasChildren(e.element)), + e.hasChildren) + ) { + const t = (0, O.Vs)(800); + t.then( + () => { + (e.slow = !0), this._onDidChangeNodeSlowState.fire(e); + }, + (e) => null + ), + (n = this.doGetChildren(e).finally(() => t.cancel())); + } else n = Promise.resolve(w.$.empty()); + try { + const r = yield n; + return this.setChildren(e, r, t, i); + } catch (t) { + if ( + (e !== this.root && + this.tree.collapse(e === this.root ? null : e), + (0, be.VV)(t)) + ) + return []; + throw t; + } finally { + e.slow && + ((e.slow = !1), this._onDidChangeNodeSlowState.fire(e)); + } + }); + } + doGetChildren(e) { + let t = this.refreshPromises.get(e); + return ( + t || + ((t = (0, O.PG)(() => + ve(this, void 0, void 0, function* () { + const t = yield this.dataSource.getChildren(e.element); + return this.processChildren(t); + }) + )), + this.refreshPromises.set(e, t), + t.finally(() => { + this.refreshPromises.delete(e); + })) + ); + } + _onDidChangeCollapseState({ node: e, deep: t }) { + null !== e.element && + !e.collapsed && + e.element.stale && + (t + ? this.collapse(e.element.element) + : this.refreshAndRenderNode(e.element, !1).catch(be.dL)); + } + setChildren(e, t, i, n) { + const r = [...t]; + if (0 === e.children.length && 0 === r.length) return []; + const s = new Map(), + o = new Map(); + for (const t of e.children) + if ((s.set(t.element, t), this.identityProvider)) { + const e = this.tree.isCollapsed(t); + o.set(t.id, { node: t, collapsed: e }); + } + const a = [], + l = r.map((t) => { + const r = !!this.dataSource.hasChildren(t); + if (!this.identityProvider) { + const i = ye({ element: t, parent: e, hasChildren: r }); + return ( + r && + this.collapseByDefault && + !this.collapseByDefault(t) && + ((i.collapsedByDefault = !1), a.push(i)), + i + ); + } + const l = this.identityProvider.getId(t).toString(), + c = o.get(l); + if (c) { + const e = c.node; + return ( + s.delete(e.element), + this.nodes.delete(e.element), + this.nodes.set(t, e), + (e.element = t), + (e.hasChildren = r), + i + ? c.collapsed + ? (e.children.forEach((e) => + Ee(e, (e) => this.nodes.delete(e.element)) + ), + e.children.splice(0, e.children.length), + (e.stale = !0)) + : a.push(e) + : r && + this.collapseByDefault && + !this.collapseByDefault(t) && + ((e.collapsedByDefault = !1), a.push(e)), + e + ); + } + const d = ye({ element: t, parent: e, id: l, hasChildren: r }); + return ( + n && + n.viewState.focus && + n.viewState.focus.indexOf(l) > -1 && + n.focus.push(d), + n && + n.viewState.selection && + n.viewState.selection.indexOf(l) > -1 && + n.selection.push(d), + n && + n.viewState.expanded && + n.viewState.expanded.indexOf(l) > -1 + ? a.push(d) + : r && + this.collapseByDefault && + !this.collapseByDefault(t) && + ((d.collapsedByDefault = !1), a.push(d)), + d + ); + }); + for (const e of s.values()) + Ee(e, (e) => this.nodes.delete(e.element)); + for (const e of l) this.nodes.set(e.element, e); + return ( + e.children.splice(0, e.children.length, ...l), + e !== this.root && + this.autoExpandSingleChildren && + 1 === l.length && + 0 === a.length && + ((l[0].collapsedByDefault = !1), a.push(l[0])), + a + ); + } + render(e, t) { + const i = e.children.map((e) => this.asTreeElement(e, t)); + this.tree.setChildren(e === this.root ? null : e, i), + e !== this.root && this.tree.setCollapsible(e, e.hasChildren), + this._onDidRender.fire(); + } + asTreeElement(e, t) { + if (e.stale) + return { element: e, collapsible: e.hasChildren, collapsed: !0 }; + let i; + return ( + (i = + !( + t && + t.viewState.expanded && + e.id && + t.viewState.expanded.indexOf(e.id) > -1 + ) && e.collapsedByDefault), + (e.collapsedByDefault = void 0), + { + element: e, + children: e.hasChildren + ? w.$.map(e.children, (e) => this.asTreeElement(e, t)) + : [], + collapsible: e.hasChildren, + collapsed: i, + } + ); + } + processChildren(e) { + return ( + this.sorter && + (e = [...e].sort(this.sorter.compare.bind(this.sorter))), + e + ); + } + dispose() { + this.disposables.dispose(); + } + } + class Ie { + constructor(e) { + this.node = e; + } + get element() { + return { + elements: this.node.element.elements.map((e) => e.element), + incompressible: this.node.element.incompressible, + }; + } + get children() { + return this.node.children.map((e) => new Ie(e)); + } + get depth() { + return this.node.depth; + } + get visibleChildrenCount() { + return this.node.visibleChildrenCount; + } + get visibleChildIndex() { + return this.node.visibleChildIndex; + } + get collapsible() { + return this.node.collapsible; + } + get collapsed() { + return this.node.collapsed; + } + get visible() { + return this.node.visible; + } + get filterData() { + return this.node.filterData; + } + } + class Oe { + constructor(e, t, i, n) { + (this.renderer = e), + (this.nodeMapper = t), + (this.compressibleNodeMapperProvider = i), + (this.onDidChangeTwistieState = n), + (this.renderedNodes = new Map()), + (this.disposables = []), + (this.templateId = e.templateId); + } + renderTemplate(e) { + return { templateData: this.renderer.renderTemplate(e) }; + } + renderElement(e, t, i, n) { + this.renderer.renderElement( + this.nodeMapper.map(e), + t, + i.templateData, + n + ); + } + renderCompressedElements(e, t, i, n) { + this.renderer.renderCompressedElements( + this.compressibleNodeMapperProvider().map(e), + t, + i.templateData, + n + ); + } + renderTwistie(e, t) { + return ( + e.slow ? (0, n.PT)(t, j.classNames) : (0, n.GK)(t, j.classNames), + !1 + ); + } + disposeElement(e, t, i, n) { + this.renderer.disposeElement && + this.renderer.disposeElement( + this.nodeMapper.map(e), + t, + i.templateData, + n + ); + } + disposeCompressedElements(e, t, i, n) { + this.renderer.disposeCompressedElements && + this.renderer.disposeCompressedElements( + this.compressibleNodeMapperProvider().map(e), + t, + i.templateData, + n + ); + } + disposeTemplate(e) { + this.renderer.disposeTemplate(e.templateData); + } + dispose() { + this.renderedNodes.clear(), + (this.disposables = (0, r.B9)(this.disposables)); + } + } + class Ae extends Te { + constructor(e, t, i, n, r, s, o = {}) { + super(e, t, i, r, s, o), + (this.compressionDelegate = n), + (this.compressibleNodeMapper = new k((e) => new Ie(e))), + (this.filter = o.filter); + } + createTree(e, t, i, n, r) { + const s = new $(i), + o = n.map( + (e) => + new Oe( + e, + this.nodeMapper, + () => this.compressibleNodeMapper, + this._onDidChangeNodeSlowState.event + ) + ), + a = + (function (e) { + const t = e && Ne(e); + return ( + t && + Object.assign(Object.assign({}, t), { + keyboardNavigationLabelProvider: + t.keyboardNavigationLabelProvider && + Object.assign( + Object.assign({}, t.keyboardNavigationLabelProvider), + { + getCompressedNodeKeyboardNavigationLabel: (t) => + e.keyboardNavigationLabelProvider.getCompressedNodeKeyboardNavigationLabel( + t.map((e) => e.element) + ), + } + ), + }) + ); + })(r) || {}; + return new _e(e, t, s, o, a); + } + asTreeElement(e, t) { + return Object.assign( + { + incompressible: this.compressionDelegate.isIncompressible( + e.element + ), + }, + super.asTreeElement(e, t) + ); + } + updateOptions(e = {}) { + this.tree.updateOptions(e); + } + render(e, t) { + if (!this.identityProvider) return super.render(e, t); + const i = (e) => this.identityProvider.getId(e).toString(), + n = (e) => { + const t = new Set(); + for (const n of e) { + const e = this.tree.getCompressedTreeNode( + n === this.root ? null : n + ); + if (e.element) + for (const n of e.element.elements) t.add(i(n.element)); + } + return t; + }, + r = n(this.tree.getSelection()), + s = n(this.tree.getFocus()); + super.render(e, t); + const o = this.getSelection(); + let a = !1; + const l = this.getFocus(); + let c = !1; + const d = (e) => { + const t = e.element; + if (t) + for (let e = 0; e < t.elements.length; e++) { + const n = i(t.elements[e].element), + d = t.elements[t.elements.length - 1].element; + r.has(n) && -1 === o.indexOf(d) && (o.push(d), (a = !0)), + s.has(n) && -1 === l.indexOf(d) && (l.push(d), (c = !0)); + } + e.children.forEach(d); + }; + d(this.tree.getCompressedTreeNode(e === this.root ? null : e)), + a && this.setSelection(o), + c && this.setFocus(l); + } + processChildren(e) { + return ( + this.filter && + (e = w.$.filter(e, (e) => { + const t = + 'boolean' == typeof (i = this.filter.filter(e, 1)) + ? i + ? 1 + : 0 + : N(i) + ? E(i.visibility) + : E(i); + var i; + if (2 === t) + throw new Error( + 'Recursive tree visibility not supported in async data compressed trees' + ); + return 1 === t; + })), + super.processChildren(e) + ); + } + } + class Re extends ne { + constructor(e, t, i, n, r, s = {}) { + super(e, t, i, n, s), + (this.user = e), + (this.dataSource = r), + (this.identityProvider = s.identityProvider); + } + createModel(e, t, i) { + return new re(e, t, i); + } + } + var Pe = i(31106), + Fe = function (e, t, i, n) { + var r, + s = arguments.length, + o = + s < 3 + ? t + : null === n + ? (n = Object.getOwnPropertyDescriptor(t, i)) + : n; + if ( + 'object' == typeof Reflect && + 'function' == typeof Reflect.decorate + ) + o = Reflect.decorate(e, t, i, n); + else + for (var a = e.length - 1; a >= 0; a--) + (r = e[a]) && + (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); + return s > 3 && o && Object.defineProperty(t, i, o), o; + }, + Be = function (e, t) { + return function (i, n) { + t(i, n, e); + }; + }; + const We = (0, m.yh)('listService'); + let Ye = class { + constructor(e) { + (this._themeService = e), + (this.disposables = new r.SL()), + (this.lists = []), + (this._lastFocusedWidget = void 0), + (this._hasCreatedStyleController = !1); + } + get lastFocusedList() { + return this._lastFocusedWidget; + } + register(e, t) { + if (!this._hasCreatedStyleController) { + this._hasCreatedStyleController = !0; + const e = new o.wD((0, n.dS)(), ''); + this.disposables.add((0, v.Jl)(e, this._themeService)); + } + if (this.lists.some((t) => t.widget === e)) + throw new Error('Cannot register the same widget multiple times'); + const i = { widget: e, extraContextKeys: t }; + return ( + this.lists.push(i), + e.getHTMLElement() === document.activeElement && + (this._lastFocusedWidget = e), + (0, r.F8)( + e.onDidFocus(() => (this._lastFocusedWidget = e)), + (0, r.OF)(() => this.lists.splice(this.lists.indexOf(i), 1)), + e.onDidDispose(() => { + (this.lists = this.lists.filter((e) => e !== i)), + this._lastFocusedWidget === e && + (this._lastFocusedWidget = void 0); + }) + ) + ); + } + dispose() { + this.disposables.dispose(); + } + }; + Ye = Fe([Be(0, y.XE)], Ye); + const He = new p.uy('listFocus', !0), + je = new p.uy('listSupportsMultiselect', !0), + Ve = p.Ao.and(He, p.Ao.not('inputFocus')), + ze = new p.uy('listHasSelectionOrFocus', !1), + Ue = new p.uy('listDoubleSelection', !1), + $e = new p.uy('listMultiSelection', !1), + Ke = new p.uy('listSupportsKeyboardNavigation', !0), + qe = 'listAutomaticKeyboardNavigation', + Ge = new p.uy(qe, !0); + let Ze = !1; + function Je(e, t) { + const i = e.createScoped(t.getHTMLElement()); + return He.bindTo(i), i; + } + const Qe = 'workbench.list.multiSelectModifier', + Xe = 'workbench.list.openMode', + et = 'workbench.list.horizontalScrolling', + tt = 'workbench.list.keyboardNavigation', + it = 'workbench.list.automaticKeyboardNavigation', + nt = 'workbench.tree.indent', + rt = 'workbench.tree.renderIndentGuides', + st = 'workbench.list.smoothScrolling'; + function ot(e) { + return 'alt' === e.getValue(Qe); + } + class at extends r.JT { + constructor(e) { + super(), + (this.configurationService = e), + (this.useAltAsMultipleSelectionModifier = ot(e)), + this.registerListeners(); + } + registerListeners() { + this._register( + this.configurationService.onDidChangeConfiguration((e) => { + e.affectsConfiguration(Qe) && + (this.useAltAsMultipleSelectionModifier = ot( + this.configurationService + )); + }) + ); + } + isSelectionSingleChangeEvent(e) { + return this.useAltAsMultipleSelectionModifier + ? e.browserEvent.altKey + : (0, o.Zo)(e); + } + isSelectionRangeChangeEvent(e) { + return (0, o.wn)(e); + } + } + function lt(e, t, i) { + const n = new r.SL(), + s = Object.assign({}, e); + if ( + !1 !== e.multipleSelectionSupport && + !e.multipleSelectionController + ) { + const e = new at(t); + (s.multipleSelectionController = e), n.add(e); + } + return ( + (s.keyboardNavigationDelegate = { + mightProducePrintableCharacter: (e) => + i.mightProducePrintableCharacter(e), + }), + (s.smoothScrolling = t.getValue(st)), + [s, n] + ); + } + let ct = class extends o.aV { + constructor(e, t, i, n, r, s, o, a, l, c) { + const d = + void 0 !== r.horizontalScrolling + ? r.horizontalScrolling + : l.getValue(et), + [h, u] = lt(r, l, c); + super( + e, + t, + i, + n, + Object.assign( + Object.assign( + Object.assign( + { keyboardSupport: !1 }, + (0, v.o)(a.getColorTheme(), v.O2) + ), + h + ), + { horizontalScrolling: d } + ) + ), + this.disposables.add(u), + (this.contextKeyService = Je(s, this)), + (this.themeService = a), + je + .bindTo(this.contextKeyService) + .set(!(!1 === r.multipleSelectionSupport)), + (this.listHasSelectionOrFocus = ze.bindTo( + this.contextKeyService + )), + (this.listDoubleSelection = Ue.bindTo(this.contextKeyService)), + (this.listMultiSelection = $e.bindTo(this.contextKeyService)), + (this.horizontalScrolling = r.horizontalScrolling), + (this._useAltAsMultipleSelectionModifier = ot(l)), + this.disposables.add(this.contextKeyService), + this.disposables.add(o.register(this)), + r.overrideStyles && this.updateStyles(r.overrideStyles), + this.disposables.add( + this.onDidChangeSelection(() => { + const e = this.getSelection(), + t = this.getFocus(); + this.contextKeyService.bufferChangeEvents(() => { + this.listHasSelectionOrFocus.set( + e.length > 0 || t.length > 0 + ), + this.listMultiSelection.set(e.length > 1), + this.listDoubleSelection.set(2 === e.length); + }); + }) + ), + this.disposables.add( + this.onDidChangeFocus(() => { + const e = this.getSelection(), + t = this.getFocus(); + this.listHasSelectionOrFocus.set( + e.length > 0 || t.length > 0 + ); + }) + ), + this.disposables.add( + l.onDidChangeConfiguration((e) => { + e.affectsConfiguration(Qe) && + (this._useAltAsMultipleSelectionModifier = ot(l)); + let t = {}; + if ( + e.affectsConfiguration(et) && + void 0 === this.horizontalScrolling + ) { + const e = l.getValue(et); + t = Object.assign(Object.assign({}, t), { + horizontalScrolling: e, + }); + } + if (e.affectsConfiguration(st)) { + const e = l.getValue(st); + t = Object.assign(Object.assign({}, t), { + smoothScrolling: e, + }); + } + Object.keys(t).length > 0 && this.updateOptions(t); + }) + ); + } + updateOptions(e) { + super.updateOptions(e), + e.overrideStyles && this.updateStyles(e.overrideStyles); + } + dispose() { + super.dispose(), this._styler && this._styler.dispose(); + } + updateStyles(e) { + this._styler && this._styler.dispose(), + (this._styler = (0, v.Jl)(this, this.themeService, e)); + } + }; + ct = Fe( + [Be(5, p.i6), Be(6, We), Be(7, y.XE), Be(8, g.Ui), Be(9, _.d)], + ct + ); + let dt = class extends class { + constructor(e, t, i, n, r = {}) { + const s = () => this.model, + a = n.map((e) => new c(e, s)); + this.list = new o.aV( + e, + t, + i, + a, + (function (e, t) { + return Object.assign(Object.assign({}, t), { + accessibilityProvider: + t.accessibilityProvider && + new d(e, t.accessibilityProvider), + }); + })(s, r) + ); + } + updateOptions(e) { + this.list.updateOptions(e); + } + getHTMLElement() { + return this.list.getHTMLElement(); + } + get onDidFocus() { + return this.list.onDidFocus; + } + get onDidDispose() { + return this.list.onDidDispose; + } + get onMouseDblClick() { + return a.ju.map( + this.list.onMouseDblClick, + ({ element: e, index: t, browserEvent: i }) => ({ + element: void 0 === e ? void 0 : this._model.get(e), + index: t, + browserEvent: i, + }) + ); + } + get onPointer() { + return a.ju.map( + this.list.onPointer, + ({ element: e, index: t, browserEvent: i }) => ({ + element: void 0 === e ? void 0 : this._model.get(e), + index: t, + browserEvent: i, + }) + ); + } + get onDidChangeFocus() { + return a.ju.map( + this.list.onDidChangeFocus, + ({ elements: e, indexes: t, browserEvent: i }) => ({ + elements: e.map((e) => this._model.get(e)), + indexes: t, + browserEvent: i, + }) + ); + } + get onDidChangeSelection() { + return a.ju.map( + this.list.onDidChangeSelection, + ({ elements: e, indexes: t, browserEvent: i }) => ({ + elements: e.map((e) => this._model.get(e)), + indexes: t, + browserEvent: i, + }) + ); + } + get model() { + return this._model; + } + set model(e) { + (this._model = e), + this.list.splice(0, this.list.length, (0, s.w6)(e.length)); + } + getFocus() { + return this.list.getFocus(); + } + setSelection(e, t) { + this.list.setSelection(e, t); + } + getSelection() { + return this.list.getSelection(); + } + style(e) { + this.list.style(e); + } + dispose() { + this.list.dispose(); + } + } { + constructor(e, t, i, n, s, o, a, l, c, d) { + const h = + void 0 !== s.horizontalScrolling + ? s.horizontalScrolling + : c.getValue(et), + [u, g] = lt(s, c, d); + super( + e, + t, + i, + n, + Object.assign( + Object.assign( + Object.assign( + { keyboardSupport: !1 }, + (0, v.o)(l.getColorTheme(), v.O2) + ), + u + ), + { horizontalScrolling: h } + ) + ), + (this.disposables = new r.SL()), + this.disposables.add(g), + (this.contextKeyService = Je(o, this)), + (this.horizontalScrolling = s.horizontalScrolling), + je + .bindTo(this.contextKeyService) + .set(!(!1 === s.multipleSelectionSupport)), + (this._useAltAsMultipleSelectionModifier = ot(c)), + this.disposables.add(this.contextKeyService), + this.disposables.add(a.register(this)), + s.overrideStyles && + this.disposables.add((0, v.Jl)(this, l, s.overrideStyles)), + this.disposables.add( + c.onDidChangeConfiguration((e) => { + e.affectsConfiguration(Qe) && + (this._useAltAsMultipleSelectionModifier = ot(c)); + let t = {}; + if ( + e.affectsConfiguration(et) && + void 0 === this.horizontalScrolling + ) { + const e = c.getValue(et); + t = Object.assign(Object.assign({}, t), { + horizontalScrolling: e, + }); + } + if (e.affectsConfiguration(st)) { + const e = c.getValue(st); + t = Object.assign(Object.assign({}, t), { + smoothScrolling: e, + }); + } + Object.keys(t).length > 0 && this.updateOptions(t); + }) + ); + } + dispose() { + super.dispose(), this.disposables.dispose(); + } + }; + dt = Fe( + [Be(5, p.i6), Be(6, We), Be(7, y.XE), Be(8, g.Ui), Be(9, _.d)], + dt + ); + class ht extends r.JT { + constructor(e, t) { + var i, n; + super(), + (this.widget = e), + (this._onDidOpen = new a.Q5()), + (this.onDidOpen = this._onDidOpen.event), + (this.openOnFocus = + null !== (i = null == t ? void 0 : t.openOnFocus) && + void 0 !== i && + i), + this._register( + a.ju.filter( + this.widget.onDidChangeSelection, + (e) => e.browserEvent instanceof KeyboardEvent + )((e) => this.onSelectionFromKeyboard(e)) + ), + this._register( + this.widget.onPointer((e) => this.onPointer(e.browserEvent)) + ), + this._register( + this.widget.onMouseDblClick((e) => + this.onMouseDblClick(e.browserEvent) + ) + ), + this.openOnFocus && + this._register( + a.ju.filter( + this.widget.onDidChangeFocus, + (e) => e.browserEvent instanceof KeyboardEvent + )((e) => this.onFocusFromKeyboard(e)) + ), + 'boolean' != typeof (null == t ? void 0 : t.openOnSingleClick) && + (null == t ? void 0 : t.configurationService) + ? ((this.openOnSingleClick = + 'doubleClick' !== + (null == t ? void 0 : t.configurationService.getValue(Xe))), + this._register( + null == t + ? void 0 + : t.configurationService.onDidChangeConfiguration(() => { + this.openOnSingleClick = + 'doubleClick' !== + (null == t + ? void 0 + : t.configurationService.getValue(Xe)); + }) + )) + : (this.openOnSingleClick = + null === (n = null == t ? void 0 : t.openOnSingleClick) || + void 0 === n || + n); + } + onFocusFromKeyboard(e) { + const t = this.widget.getFocus(); + this.widget.setSelection(t, e.browserEvent); + const i = + 'boolean' != typeof e.browserEvent.preserveFocus || + e.browserEvent.preserveFocus; + this._open(i, !1, !1, e.browserEvent); + } + onSelectionFromKeyboard(e) { + if (1 !== e.elements.length) return; + const t = + 'boolean' != typeof e.browserEvent.preserveFocus || + e.browserEvent.preserveFocus; + this._open(t, !1, !1, e.browserEvent); + } + onPointer(e) { + if (!this.openOnSingleClick) return; + if (2 === e.detail) return; + const t = 1 === e.button, + i = e.ctrlKey || e.metaKey || e.altKey; + this._open(!0, t, i, e); + } + onMouseDblClick(e) { + if (!e) return; + const t = e.ctrlKey || e.metaKey || e.altKey; + this._open(!1, !0, t, e); + } + _open(e, t, i, n) { + this._onDidOpen.fire({ + editorOptions: { + preserveFocus: e, + pinned: t, + revealIfVisible: !0, + }, + sideBySide: i, + element: this.widget.getSelection()[0], + browserEvent: n, + }); + } + } + class ut extends ht { + constructor(e, t) { + super(e, t); + } + } + function gt(e, t) { + let i = !1; + return (n) => { + if (i) return (i = !1), !1; + const r = t.softDispatch(n, e); + return r && r.enterChord ? ((i = !0), !1) : ((i = !1), !0); + }; + } + let ft = class extends pe { + constructor(e, t, i, n, r, s, o, a, l, c, d) { + const { + options: h, + getAutomaticKeyboardNavigation: u, + disposable: g, + } = vt(t, r, s, l, c, d); + super(e, t, i, n, h), + this.disposables.add(g), + (this.internals = new yt( + this, + r, + u, + r.overrideStyles, + s, + o, + a, + l, + d + )), + this.disposables.add(this.internals); + } + }; + ft = Fe( + [ + Be(5, p.i6), + Be(6, We), + Be(7, y.XE), + Be(8, g.Ui), + Be(9, _.d), + Be(10, Pe.F), + ], + ft + ); + let pt = class extends _e { + constructor(e, t, i, n, r, s, o, a, l, c, d) { + const { + options: h, + getAutomaticKeyboardNavigation: u, + disposable: g, + } = vt(t, r, s, l, c, d); + super(e, t, i, n, h), + this.disposables.add(g), + (this.internals = new yt( + this, + r, + u, + r.overrideStyles, + s, + o, + a, + l, + d + )), + this.disposables.add(this.internals); + } + updateOptions(e = {}) { + super.updateOptions(e), + e.overrideStyles && + this.internals.updateStyleOverrides(e.overrideStyles); + } + }; + pt = Fe( + [ + Be(5, p.i6), + Be(6, We), + Be(7, y.XE), + Be(8, g.Ui), + Be(9, _.d), + Be(10, Pe.F), + ], + pt + ); + let mt = class extends Re { + constructor(e, t, i, n, r, s, o, a, l, c, d, h) { + const { + options: u, + getAutomaticKeyboardNavigation: g, + disposable: f, + } = vt(t, s, o, c, d, h); + super(e, t, i, n, r, u), + this.disposables.add(f), + (this.internals = new yt( + this, + s, + g, + s.overrideStyles, + o, + a, + l, + c, + h + )), + this.disposables.add(this.internals); + } + updateOptions(e = {}) { + super.updateOptions(e), + e.overrideStyles && + this.internals.updateStyleOverrides(e.overrideStyles); + } + }; + mt = Fe( + [ + Be(6, p.i6), + Be(7, We), + Be(8, y.XE), + Be(9, g.Ui), + Be(10, _.d), + Be(11, Pe.F), + ], + mt + ); + let _t = class extends Te { + constructor(e, t, i, n, r, s, o, a, l, c, d, h) { + const { + options: u, + getAutomaticKeyboardNavigation: g, + disposable: f, + } = vt(t, s, o, c, d, h); + super(e, t, i, n, r, u), + this.disposables.add(f), + (this.internals = new yt( + this, + s, + g, + s.overrideStyles, + o, + a, + l, + c, + h + )), + this.disposables.add(this.internals); + } + get onDidOpen() { + return this.internals.onDidOpen; + } + updateOptions(e = {}) { + super.updateOptions(e), + e.overrideStyles && + this.internals.updateStyleOverrides(e.overrideStyles); + } + }; + _t = Fe( + [ + Be(6, p.i6), + Be(7, We), + Be(8, y.XE), + Be(9, g.Ui), + Be(10, _.d), + Be(11, Pe.F), + ], + _t + ); + let bt = class extends Ae { + constructor(e, t, i, n, r, s, o, a, l, c, d, h, u) { + const { + options: g, + getAutomaticKeyboardNavigation: f, + disposable: p, + } = vt(t, o, a, d, h, u); + super(e, t, i, n, r, s, g), + this.disposables.add(p), + (this.internals = new yt( + this, + o, + f, + o.overrideStyles, + a, + l, + c, + d, + u + )), + this.disposables.add(this.internals); + } + }; + function vt(e, t, i, n, r, s) { + Ke.bindTo(i), Ze || (Ge.bindTo(i), (Ze = !0)); + const o = () => { + let e = i.getContextKeyValue(qe); + return e && (e = n.getValue(it)), e; + }, + a = s.isScreenReaderOptimized() ? 'simple' : n.getValue(tt), + l = + void 0 !== t.horizontalScrolling + ? t.horizontalScrolling + : n.getValue(et), + [c, d] = lt(t, n, r), + h = t.additionalScrollHeight; + return { + getAutomaticKeyboardNavigation: o, + disposable: d, + options: Object.assign(Object.assign({ keyboardSupport: !1 }, c), { + indent: n.getValue(nt), + renderIndentGuides: n.getValue(rt), + smoothScrolling: n.getValue(st), + automaticKeyboardNavigation: o(), + simpleKeyboardNavigation: 'simple' === a, + filterOnType: 'filter' === a, + horizontalScrolling: l, + keyboardNavigationEventFilter: gt(e, r), + additionalScrollHeight: h, + hideTwistiesOfChildlessElements: + t.hideTwistiesOfChildlessElements, + expandOnlyOnDoubleClick: 'doubleClick' === n.getValue(Xe), + }), + }; + } + bt = Fe( + [ + Be(7, p.i6), + Be(8, We), + Be(9, y.XE), + Be(10, g.Ui), + Be(11, _.d), + Be(12, Pe.F), + ], + bt + ); + let yt = class { + constructor(e, t, i, n, r, s, o, a, l) { + (this.tree = e), + (this.themeService = o), + (this.disposables = []), + (this.contextKeyService = Je(r, e)), + je + .bindTo(this.contextKeyService) + .set(!(!1 === t.multipleSelectionSupport)), + (this.hasSelectionOrFocus = ze.bindTo(this.contextKeyService)), + (this.hasDoubleSelection = Ue.bindTo(this.contextKeyService)), + (this.hasMultiSelection = $e.bindTo(this.contextKeyService)), + (this._useAltAsMultipleSelectionModifier = ot(a)); + const c = new Set(); + c.add(qe); + const d = () => { + const t = l.isScreenReaderOptimized() ? 'simple' : a.getValue(tt); + e.updateOptions({ + simpleKeyboardNavigation: 'simple' === t, + filterOnType: 'filter' === t, + }); + }; + this.updateStyleOverrides(n), + this.disposables.push( + this.contextKeyService, + s.register(e), + e.onDidChangeSelection(() => { + const t = e.getSelection(), + i = e.getFocus(); + this.contextKeyService.bufferChangeEvents(() => { + this.hasSelectionOrFocus.set(t.length > 0 || i.length > 0), + this.hasMultiSelection.set(t.length > 1), + this.hasDoubleSelection.set(2 === t.length); + }); + }), + e.onDidChangeFocus(() => { + const t = e.getSelection(), + i = e.getFocus(); + this.hasSelectionOrFocus.set(t.length > 0 || i.length > 0); + }), + a.onDidChangeConfiguration((n) => { + let r = {}; + if ( + (n.affectsConfiguration(Qe) && + (this._useAltAsMultipleSelectionModifier = ot(a)), + n.affectsConfiguration(nt)) + ) { + const e = a.getValue(nt); + r = Object.assign(Object.assign({}, r), { indent: e }); + } + if (n.affectsConfiguration(rt)) { + const e = a.getValue(rt); + r = Object.assign(Object.assign({}, r), { + renderIndentGuides: e, + }); + } + if (n.affectsConfiguration(st)) { + const e = a.getValue(st); + r = Object.assign(Object.assign({}, r), { + smoothScrolling: e, + }); + } + if ( + (n.affectsConfiguration(tt) && d(), + n.affectsConfiguration(it) && + (r = Object.assign(Object.assign({}, r), { + automaticKeyboardNavigation: i(), + })), + n.affectsConfiguration(et) && + void 0 === t.horizontalScrolling) + ) { + const e = a.getValue(et); + r = Object.assign(Object.assign({}, r), { + horizontalScrolling: e, + }); + } + n.affectsConfiguration(Xe) && + (r = Object.assign(Object.assign({}, r), { + expandOnlyOnDoubleClick: 'doubleClick' === a.getValue(Xe), + })), + Object.keys(r).length > 0 && e.updateOptions(r); + }), + this.contextKeyService.onDidChangeContext((t) => { + t.affectsSome(c) && + e.updateOptions({ automaticKeyboardNavigation: i() }); + }), + l.onDidChangeScreenReaderOptimized(() => d()) + ), + (this.navigator = new ut( + e, + Object.assign({ configurationService: a }, t) + )), + this.disposables.push(this.navigator); + } + get onDidOpen() { + return this.navigator.onDidOpen; + } + updateStyleOverrides(e) { + (0, r.B9)(this.styler), + (this.styler = e + ? (0, v.Jl)(this.tree, this.themeService, e) + : r.JT.None); + } + dispose() { + (this.disposables = (0, r.B9)(this.disposables)), + (0, r.B9)(this.styler), + (this.styler = void 0); + } + }; + (yt = Fe( + [Be(4, p.i6), Be(5, We), Be(6, y.XE), Be(7, g.Ui), Be(8, Pe.F)], + yt + )), + b.B.as(f.IP.Configuration).registerConfiguration({ + id: 'workbench', + order: 7, + title: (0, u.N)('workbenchConfigurationTitle', 'Workbench'), + type: 'object', + properties: { + [Qe]: { + type: 'string', + enum: ['ctrlCmd', 'alt'], + enumDescriptions: [ + (0, u.N)( + 'multiSelectModifier.ctrlCmd', + 'Maps to `Control` on Windows and Linux and to `Command` on macOS.' + ), + (0, u.N)( + 'multiSelectModifier.alt', + 'Maps to `Alt` on Windows and Linux and to `Option` on macOS.' + ), + ], + default: 'ctrlCmd', + description: (0, u.N)( + { + key: 'multiSelectModifier', + comment: [ + '- `ctrlCmd` refers to a value the setting can take and should not be localized.', + '- `Control` and `Command` refer to the modifier keys Ctrl or Cmd on the keyboard and can be localized.', + ], + }, + "The modifier to be used to add an item in trees and lists to a multi-selection with the mouse (for example in the explorer, open editors and scm view). The 'Open to Side' mouse gestures - if supported - will adapt such that they do not conflict with the multiselect modifier." + ), + }, + [Xe]: { + type: 'string', + enum: ['singleClick', 'doubleClick'], + default: 'singleClick', + description: (0, u.N)( + { + key: 'openModeModifier', + comment: [ + '`singleClick` and `doubleClick` refers to a value the setting can take and should not be localized.', + ], + }, + 'Controls how to open items in trees and lists using the mouse (if supported). For parents with children in trees, this setting will control if a single click expands the parent or a double click. Note that some trees and lists might choose to ignore this setting if it is not applicable. ' + ), + }, + [et]: { + type: 'boolean', + default: !1, + description: (0, u.N)( + 'horizontalScrolling setting', + 'Controls whether lists and trees support horizontal scrolling in the workbench. Warning: turning on this setting has a performance implication.' + ), + }, + [nt]: { + type: 'number', + default: 8, + minimum: 0, + maximum: 40, + description: (0, u.N)( + 'tree indent setting', + 'Controls tree indentation in pixels.' + ), + }, + [rt]: { + type: 'string', + enum: ['none', 'onHover', 'always'], + default: 'onHover', + description: (0, u.N)( + 'render tree indent guides', + 'Controls whether the tree should render indent guides.' + ), + }, + [st]: { + type: 'boolean', + default: !1, + description: (0, u.N)( + 'list smoothScrolling setting', + 'Controls whether lists and trees have smooth scrolling.' + ), + }, + [tt]: { + type: 'string', + enum: ['simple', 'highlight', 'filter'], + enumDescriptions: [ + (0, u.N)( + 'keyboardNavigationSettingKey.simple', + 'Simple keyboard navigation focuses elements which match the keyboard input. Matching is done only on prefixes.' + ), + (0, u.N)( + 'keyboardNavigationSettingKey.highlight', + 'Highlight keyboard navigation highlights elements which match the keyboard input. Further up and down navigation will traverse only the highlighted elements.' + ), + (0, u.N)( + 'keyboardNavigationSettingKey.filter', + 'Filter keyboard navigation will filter out and hide all the elements which do not match the keyboard input.' + ), + ], + default: 'highlight', + description: (0, u.N)( + 'keyboardNavigationSettingKey', + 'Controls the keyboard navigation style for lists and trees in the workbench. Can be simple, highlight and filter.' + ), + }, + [it]: { + type: 'boolean', + default: !0, + markdownDescription: (0, u.N)( + 'automatic keyboard navigation setting', + 'Controls whether keyboard navigation in lists and trees is automatically triggered simply by typing. If set to `false`, keyboard navigation is only triggered when executing the `list.toggleKeyboardNavigation` command, for which you can assign a keyboard shortcut.' + ), + }, + }, + }); + }, + 43557: (e, t, i) => { + 'use strict'; + i.d(t, { VZ: () => o, in: () => a, d8: () => d }); + var n = i(72065), + r = i(5976), + s = i(4669); + const o = (0, n.yh)('logService'); + var a; + !(function (e) { + (e[(e.Trace = 0)] = 'Trace'), + (e[(e.Debug = 1)] = 'Debug'), + (e[(e.Info = 2)] = 'Info'), + (e[(e.Warning = 3)] = 'Warning'), + (e[(e.Error = 4)] = 'Error'), + (e[(e.Critical = 5)] = 'Critical'), + (e[(e.Off = 6)] = 'Off'); + })(a || (a = {})); + const l = a.Info; + class c extends r.JT { + constructor() { + super(...arguments), + (this.level = l), + (this._onDidChangeLogLevel = this._register(new s.Q5())); + } + setLevel(e) { + this.level !== e && + ((this.level = e), this._onDidChangeLogLevel.fire(this.level)); + } + getLevel() { + return this.level; + } + } + class d extends c { + constructor(e = l) { + super(), this.setLevel(e); + } + trace(e, ...t) { + this.getLevel() <= a.Trace && + console.log('%cTRACE', 'color: #888', e, ...t); + } + info(e, ...t) { + this.getLevel() <= a.Info && + console.log('%c INFO', 'color: #33f', e, ...t); + } + error(e, ...t) { + this.getLevel() <= a.Error && + console.log('%c ERR', 'color: #f33', e, ...t); + } + dispose() {} + } + }, + 98674: (e, t, i) => { + 'use strict'; + i.d(t, { ZL: () => n, H0: () => r, lT: () => l }); + var n, + r, + s = i(72065), + o = i(63580), + a = i(14603); + !(function (e) { + (e[(e.Hint = 1)] = 'Hint'), + (e[(e.Info = 2)] = 'Info'), + (e[(e.Warning = 4)] = 'Warning'), + (e[(e.Error = 8)] = 'Error'); + })(n || (n = {})), + (function (e) { + e.compare = function (e, t) { + return t - e; + }; + const t = Object.create(null); + (t[e.Error] = (0, o.N)('sev.error', 'Error')), + (t[e.Warning] = (0, o.N)('sev.warning', 'Warning')), + (t[e.Info] = (0, o.N)('sev.info', 'Info')), + (e.toString = function (e) { + return t[e] || ''; + }), + (e.fromSeverity = function (t) { + switch (t) { + case a.Z.Error: + return e.Error; + case a.Z.Warning: + return e.Warning; + case a.Z.Info: + return e.Info; + case a.Z.Ignore: + return e.Hint; + } + }), + (e.toSeverity = function (t) { + switch (t) { + case e.Error: + return a.Z.Error; + case e.Warning: + return a.Z.Warning; + case e.Info: + return a.Z.Info; + case e.Hint: + return a.Z.Ignore; + } + }); + })(n || (n = {})), + (function (e) { + const t = ''; + function i(e, i) { + let r = [t]; + return ( + e.source ? r.push(e.source.replace('¦', '\\¦')) : r.push(t), + e.code + ? 'string' == typeof e.code + ? r.push(e.code.replace('¦', '\\¦')) + : r.push(e.code.value.replace('¦', '\\¦')) + : r.push(t), + void 0 !== e.severity && null !== e.severity + ? r.push(n.toString(e.severity)) + : r.push(t), + e.message && i + ? r.push(e.message.replace('¦', '\\¦')) + : r.push(t), + void 0 !== e.startLineNumber && null !== e.startLineNumber + ? r.push(e.startLineNumber.toString()) + : r.push(t), + void 0 !== e.startColumn && null !== e.startColumn + ? r.push(e.startColumn.toString()) + : r.push(t), + void 0 !== e.endLineNumber && null !== e.endLineNumber + ? r.push(e.endLineNumber.toString()) + : r.push(t), + void 0 !== e.endColumn && null !== e.endColumn + ? r.push(e.endColumn.toString()) + : r.push(t), + r.push(t), + r.join('¦') + ); + } + (e.makeKey = function (e) { + return i(e, !0); + }), + (e.makeKeyOptionalMessage = i); + })(r || (r = {})); + const l = (0, s.yh)('markerService'); + }, + 59422: (e, t, i) => { + 'use strict'; + i.d(t, { lT: () => n, EO: () => r }), i(14603); + const n = (0, i(72065).yh)('notificationService'); + class r {} + }, + 50988: (e, t, i) => { + 'use strict'; + i.d(t, { v4: () => l, SW: () => c, xn: () => d }); + var n = i(70666), + r = i(72065), + s = i(5976), + o = i(97295), + a = function (e, t, i, n) { + return new (i || (i = Promise))(function (r, s) { + function o(e) { + try { + l(n.next(e)); + } catch (e) { + s(e); + } + } + function a(e) { + try { + l(n.throw(e)); + } catch (e) { + s(e); + } + } + function l(e) { + var t; + e.done + ? r(e.value) + : ((t = e.value), + t instanceof i + ? t + : new i(function (e) { + e(t); + })).then(o, a); + } + l((n = n.apply(e, t || [])).next()); + }); + }; + const l = (0, r.yh)('openerService'), + c = Object.freeze({ + _serviceBrand: void 0, + registerOpener: () => s.JT.None, + registerValidator: () => s.JT.None, + registerExternalUriResolver: () => s.JT.None, + setExternalOpener() {}, + open() { + return a(this, void 0, void 0, function* () { + return !1; + }); + }, + resolveExternalUri(e) { + return a(this, void 0, void 0, function* () { + return { resolved: e, dispose() {} }; + }); + }, + }); + function d(e, t) { + return n.o.isUri(e) ? (0, o.qq)(e.scheme, t) : (0, o.ok)(e, t + ':'); + } + }, + 90535: (e, t, i) => { + 'use strict'; + i.d(t, { E: () => r, e: () => s }); + var n = i(72065); + class r { + constructor(e) { + this.callback = e; + } + report(e) { + (this._value = e), this.callback(this._value); + } + } + r.None = Object.freeze({ report() {} }); + const s = (0, n.yh)('editorProgressService'); + }, + 90725: (e, t, i) => { + 'use strict'; + i.d(t, { Ry: () => n, IP: () => a }); + var n, + r = i(89872), + s = i(9488), + o = i(5976); + !(function (e) { + (e[(e.PRESERVE = 0)] = 'PRESERVE'), (e[(e.LAST = 1)] = 'LAST'); + })(n || (n = {})); + const a = { Quickaccess: 'workbench.contributions.quickaccess' }; + r.B.add( + a.Quickaccess, + new (class { + constructor() { + (this.providers = []), (this.defaultProvider = void 0); + } + registerQuickAccessProvider(e) { + return ( + 0 === e.prefix.length + ? (this.defaultProvider = e) + : this.providers.push(e), + this.providers.sort( + (e, t) => t.prefix.length - e.prefix.length + ), + (0, o.OF)(() => { + this.providers.splice(this.providers.indexOf(e), 1), + this.defaultProvider === e && + (this.defaultProvider = void 0); + }) + ); + } + getQuickAccessProviders() { + return (0, s.kX)([this.defaultProvider, ...this.providers]); + } + getQuickAccessProvider(e) { + return ( + (e && this.providers.find((t) => e.startsWith(t.prefix))) || + this.defaultProvider + ); + } + })() + ); + }, + 41157: (e, t, i) => { + 'use strict'; + i.d(t, { jG: () => r.j, eJ: () => s }); + var n = i(72065), + r = i(67746); + const s = (0, n.yh)('quickInputService'); + }, + 89872: (e, t, i) => { + 'use strict'; + i.d(t, { B: () => s }); + var n = i(98401), + r = i(35146); + const s = new (class { + constructor() { + this.data = new Map(); + } + add(e, t) { + r.ok(n.HD(e)), + r.ok(n.Kn(t)), + r.ok( + !this.data.has(e), + 'There is already an extension with this id' + ), + this.data.set(e, t); + } + as(e) { + return this.data.get(e) || null; + } + })(); + }, + 52365: (e, t, i) => { + 'use strict'; + i.d(t, { Uy: () => a, fk: () => l, vm: () => c }); + var n = i(72065), + r = i(4669), + s = i(5976), + o = i(98401); + const a = (0, n.yh)('storageService'); + var l; + !(function (e) { + (e[(e.NONE = 0)] = 'NONE'), (e[(e.SHUTDOWN = 1)] = 'SHUTDOWN'); + })(l || (l = {})); + class c extends s.JT { + constructor() { + super(...arguments), + (this._onDidChangeStorage = this._register(new r.Q5())), + (this._onWillSaveState = this._register(new r.Q5())), + (this.onWillSaveState = this._onWillSaveState.event), + (this.globalCache = new Map()), + (this.workspaceCache = new Map()); + } + getCache(e) { + return 0 === e ? this.globalCache : this.workspaceCache; + } + get(e, t, i) { + const n = this.getCache(t).get(e); + return (0, o.Jp)(n) ? i : n; + } + getBoolean(e, t, i) { + const n = this.getCache(t).get(e); + return (0, o.Jp)(n) ? i : 'true' === n; + } + getNumber(e, t, i) { + const n = this.getCache(t).get(e); + return (0, o.Jp)(n) ? i : parseInt(n, 10); + } + store(e, t, i) { + if ((0, o.Jp)(t)) return this.remove(e, i); + const n = String(t); + return ( + this.getCache(i).get(e) === n || + (this.getCache(i).set(e, n), + this._onDidChangeStorage.fire({ scope: i, key: e })), + Promise.resolve() + ); + } + remove(e, t) { + return this.getCache(t).delete(e) + ? (this._onDidChangeStorage.fire({ scope: t, key: e }), + Promise.resolve()) + : Promise.resolve(); + } + } + }, + 10829: (e, t, i) => { + 'use strict'; + i.d(t, { b: () => n }); + const n = (0, i(72065).yh)('telemetryService'); + }, + 73910: (e, t, i) => { + 'use strict'; + i.d(t, { + IP: () => c, + P6: () => h, + dR: () => u, + Id: () => g, + XZ: () => f, + R8: () => p, + lR: () => m, + xL: () => _, + ur: () => b, + Sw: () => v, + rh: () => y, + sE: () => w, + zJ: () => C, + dt: () => S, + PR: () => k, + XE: () => x, + Pv: () => L, + _l: () => M, + YI: () => D, + EP: () => N, + RV: () => E, + SU: () => T, + C3: () => I, + p: () => O, + _t: () => A, + OZ: () => R, + j5: () => B, + b7: () => W, + GO: () => Y, + g8: () => H, + qe: () => j, + _w: () => V, + et: () => z, + AB: () => U, + yn: () => $, + zR: () => K, + lX: () => q, + b6: () => G, + uo: () => Z, + pW: () => J, + c6: () => Q, + T8: () => X, + Du: () => ee, + fE: () => te, + cv: () => ie, + NO: () => ne, + D0: () => re, + Hf: () => se, + D1: () => oe, + Ng: () => ae, + zK: () => le, + tZ: () => ce, + lo: () => de, + kJ: () => he, + op: () => ue, + hE: () => ge, + yb: () => fe, + ES: () => pe, + Rz: () => me, + g_: () => _e, + ny: () => be, + MU: () => ve, + jU: () => ye, + pn: () => we, + Ei: () => Ce, + gk: () => Se, + pt: () => ke, + yJ: () => xe, + Sb: () => Le, + CN: () => Me, + Lo: () => De, + _Y: () => Ne, + Fu: () => Ee, + sK: () => Te, + Cz: () => Ie, + ke: () => Oe, + yp: () => Ae, + P4: () => Re, + XL: () => Pe, + mH: () => Fe, + LL: () => Be, + L_: () => We, + _b: () => Ye, + _2: () => He, + dC: () => je, + M6: () => Ve, + rg: () => ze, + yt: () => Ue, + s$: () => $e, + mV: () => Ke, + $d: () => qe, + AS: () => Ge, + Gw: () => Ze, + vG: () => Je, + oS: () => Qe, + S: () => Xe, + Un: () => et, + Cd: () => tt, + DE: () => it, + Hz: () => nt, + jb: () => rt, + $D: () => st, + E3: () => ot, + ZG: () => at, + u2: () => lt, + Pk: () => ct, + I1: () => dt, + U6: () => ht, + Fm: () => ut, + SP: () => gt, + KT: () => ft, + ov: () => pt, + Gj: () => mt, + Iv: () => _t, + kV: () => bt, + CA: () => vt, + Xy: () => yt, + br: () => wt, + Jp: () => Ct, + BO: () => St, + OL: () => kt, + _j: () => xt, + Zn: () => Mt, + kw: () => Dt, + Sn: () => Et, + }); + var n = i(89872), + r = i(41264), + s = i(4669), + o = i(63580), + a = i(81294), + l = i(15393); + const c = { ColorContribution: 'base.contributions.colors' }, + d = new (class { + constructor() { + (this._onDidChangeSchema = new s.Q5()), + (this.onDidChangeSchema = this._onDidChangeSchema.event), + (this.colorSchema = { type: 'object', properties: {} }), + (this.colorReferenceSchema = { + type: 'string', + enum: [], + enumDescriptions: [], + }), + (this.colorsById = {}); + } + registerColor(e, t, i, n = !1, r) { + let s = { + id: e, + description: i, + defaults: t, + needsTransparency: n, + deprecationMessage: r, + }; + this.colorsById[e] = s; + let o = { + type: 'string', + description: i, + format: 'color-hex', + defaultSnippets: [{ body: '${1:#ff0000}' }], + }; + return ( + r && (o.deprecationMessage = r), + (this.colorSchema.properties[e] = o), + this.colorReferenceSchema.enum.push(e), + this.colorReferenceSchema.enumDescriptions.push(i), + this._onDidChangeSchema.fire(), + e + ); + } + resolveDefaultColor(e, t) { + const i = this.colorsById[e]; + if (i && i.defaults) return Et(i.defaults[t.type], t); + } + getColorSchema() { + return this.colorSchema; + } + toString() { + return Object.keys(this.colorsById) + .sort((e, t) => { + let i = -1 === e.indexOf('.') ? 0 : 1, + n = -1 === t.indexOf('.') ? 0 : 1; + return i !== n ? i - n : e.localeCompare(t); + }) + .map((e) => `- \`${e}\`: ${this.colorsById[e].description}`) + .join('\n'); + } + })(); + function h(e, t, i, n, r) { + return d.registerColor(e, t, i, n, r); + } + n.B.add(c.ColorContribution, d); + const u = h( + 'foreground', + { dark: '#CCCCCC', light: '#616161', hc: '#FFFFFF' }, + o.N( + 'foreground', + 'Overall foreground color. This color is only used if not overridden by a component.' + ) + ), + g = h( + 'errorForeground', + { dark: '#F48771', light: '#A1260D', hc: '#F48771' }, + o.N( + 'errorForeground', + 'Overall foreground color for error messages. This color is only used if not overridden by a component.' + ) + ), + f = h( + 'icon.foreground', + { dark: '#C5C5C5', light: '#424242', hc: '#FFFFFF' }, + o.N( + 'iconForeground', + 'The default color for icons in the workbench.' + ) + ), + p = h( + 'focusBorder', + { dark: '#007FD4', light: '#0090F1', hc: '#F38518' }, + o.N( + 'focusBorder', + 'Overall border color for focused elements. This color is only used if not overridden by a component.' + ) + ), + m = h( + 'contrastBorder', + { light: null, dark: null, hc: '#6FC3DF' }, + o.N( + 'contrastBorder', + 'An extra border around elements to separate them from others for greater contrast.' + ) + ), + _ = h( + 'contrastActiveBorder', + { light: null, dark: null, hc: p }, + o.N( + 'activeContrastBorder', + 'An extra border around active elements to separate them from others for greater contrast.' + ) + ), + b = h( + 'textLink.foreground', + { light: '#006AB1', dark: '#3794FF', hc: '#3794FF' }, + o.N('textLinkForeground', 'Foreground color for links in text.') + ), + v = h( + 'textCodeBlock.background', + { light: '#dcdcdc66', dark: '#0a0a0a66', hc: r.Il.black }, + o.N( + 'textCodeBlockBackground', + 'Background color for code blocks in text.' + ) + ), + y = h( + 'widget.shadow', + { dark: '#000000', light: '#A8A8A8', hc: null }, + o.N( + 'widgetShadow', + 'Shadow color of widgets such as find/replace inside the editor.' + ) + ), + w = h( + 'input.background', + { dark: '#3C3C3C', light: r.Il.white, hc: r.Il.black }, + o.N('inputBoxBackground', 'Input box background.') + ), + C = h( + 'input.foreground', + { dark: u, light: u, hc: u }, + o.N('inputBoxForeground', 'Input box foreground.') + ), + S = h( + 'input.border', + { dark: null, light: null, hc: m }, + o.N('inputBoxBorder', 'Input box border.') + ), + k = h( + 'inputOption.activeBorder', + { dark: '#007ACC00', light: '#007ACC00', hc: m }, + o.N( + 'inputBoxActiveOptionBorder', + 'Border color of activated options in input fields.' + ) + ), + x = h( + 'inputOption.activeBackground', + { dark: Mt(p, 0.4), light: Mt(p, 0.2), hc: r.Il.transparent }, + o.N( + 'inputOption.activeBackground', + 'Background color of activated options in input fields.' + ) + ), + L = h( + 'inputOption.activeForeground', + { dark: r.Il.white, light: r.Il.black, hc: null }, + o.N( + 'inputOption.activeForeground', + 'Foreground color of activated options in input fields.' + ) + ), + M = h( + 'inputValidation.infoBackground', + { dark: '#063B49', light: '#D6ECF2', hc: r.Il.black }, + o.N( + 'inputValidationInfoBackground', + 'Input validation background color for information severity.' + ) + ), + D = h( + 'inputValidation.infoForeground', + { dark: null, light: null, hc: null }, + o.N( + 'inputValidationInfoForeground', + 'Input validation foreground color for information severity.' + ) + ), + N = h( + 'inputValidation.infoBorder', + { dark: '#007acc', light: '#007acc', hc: m }, + o.N( + 'inputValidationInfoBorder', + 'Input validation border color for information severity.' + ) + ), + E = h( + 'inputValidation.warningBackground', + { dark: '#352A05', light: '#F6F5D2', hc: r.Il.black }, + o.N( + 'inputValidationWarningBackground', + 'Input validation background color for warning severity.' + ) + ), + T = h( + 'inputValidation.warningForeground', + { dark: null, light: null, hc: null }, + o.N( + 'inputValidationWarningForeground', + 'Input validation foreground color for warning severity.' + ) + ), + I = h( + 'inputValidation.warningBorder', + { dark: '#B89500', light: '#B89500', hc: m }, + o.N( + 'inputValidationWarningBorder', + 'Input validation border color for warning severity.' + ) + ), + O = h( + 'inputValidation.errorBackground', + { dark: '#5A1D1D', light: '#F2DEDE', hc: r.Il.black }, + o.N( + 'inputValidationErrorBackground', + 'Input validation background color for error severity.' + ) + ), + A = h( + 'inputValidation.errorForeground', + { dark: null, light: null, hc: null }, + o.N( + 'inputValidationErrorForeground', + 'Input validation foreground color for error severity.' + ) + ), + R = h( + 'inputValidation.errorBorder', + { dark: '#BE1100', light: '#BE1100', hc: m }, + o.N( + 'inputValidationErrorBorder', + 'Input validation border color for error severity.' + ) + ), + P = h( + 'dropdown.background', + { dark: '#3C3C3C', light: r.Il.white, hc: r.Il.black }, + o.N('dropdownBackground', 'Dropdown background.') + ), + F = h( + 'dropdown.foreground', + { dark: '#F0F0F0', light: null, hc: r.Il.white }, + o.N('dropdownForeground', 'Dropdown foreground.') + ), + B = h( + 'button.foreground', + { dark: r.Il.white, light: r.Il.white, hc: r.Il.white }, + o.N('buttonForeground', 'Button foreground color.') + ), + W = h( + 'button.background', + { dark: '#0E639C', light: '#007ACC', hc: null }, + o.N('buttonBackground', 'Button background color.') + ), + Y = h( + 'button.hoverBackground', + { dark: Lt(W, 0.2), light: xt(W, 0.2), hc: null }, + o.N( + 'buttonHoverBackground', + 'Button background color when hovering.' + ) + ), + H = h( + 'badge.background', + { dark: '#4D4D4D', light: '#C4C4C4', hc: r.Il.black }, + o.N( + 'badgeBackground', + 'Badge background color. Badges are small information labels, e.g. for search results count.' + ) + ), + j = h( + 'badge.foreground', + { dark: r.Il.white, light: '#333', hc: r.Il.white }, + o.N( + 'badgeForeground', + 'Badge foreground color. Badges are small information labels, e.g. for search results count.' + ) + ), + V = h( + 'scrollbar.shadow', + { dark: '#000000', light: '#DDDDDD', hc: null }, + o.N( + 'scrollbarShadow', + 'Scrollbar shadow to indicate that the view is scrolled.' + ) + ), + z = h( + 'scrollbarSlider.background', + { + dark: r.Il.fromHex('#797979').transparent(0.4), + light: r.Il.fromHex('#646464').transparent(0.4), + hc: Mt(m, 0.6), + }, + o.N( + 'scrollbarSliderBackground', + 'Scrollbar slider background color.' + ) + ), + U = h( + 'scrollbarSlider.hoverBackground', + { + dark: r.Il.fromHex('#646464').transparent(0.7), + light: r.Il.fromHex('#646464').transparent(0.7), + hc: Mt(m, 0.8), + }, + o.N( + 'scrollbarSliderHoverBackground', + 'Scrollbar slider background color when hovering.' + ) + ), + $ = h( + 'scrollbarSlider.activeBackground', + { + dark: r.Il.fromHex('#BFBFBF').transparent(0.4), + light: r.Il.fromHex('#000000').transparent(0.6), + hc: m, + }, + o.N( + 'scrollbarSliderActiveBackground', + 'Scrollbar slider background color when clicked on.' + ) + ), + K = h( + 'progressBar.background', + { + dark: r.Il.fromHex('#0E70C0'), + light: r.Il.fromHex('#0E70C0'), + hc: m, + }, + o.N( + 'progressBarBackground', + 'Background color of the progress bar that can show for long running operations.' + ) + ), + q = h( + 'editorError.foreground', + { dark: '#F48771', light: '#E51400', hc: null }, + o.N( + 'editorError.foreground', + 'Foreground color of error squigglies in the editor.' + ) + ), + G = h( + 'editorError.border', + { + dark: null, + light: null, + hc: r.Il.fromHex('#E47777').transparent(0.8), + }, + o.N('errorBorder', 'Border color of error boxes in the editor.') + ), + Z = h( + 'editorWarning.foreground', + { dark: '#CCA700', light: '#E9A700', hc: null }, + o.N( + 'editorWarning.foreground', + 'Foreground color of warning squigglies in the editor.' + ) + ), + J = h( + 'editorWarning.border', + { + dark: null, + light: null, + hc: r.Il.fromHex('#FFCC00').transparent(0.8), + }, + o.N('warningBorder', 'Border color of warning boxes in the editor.') + ), + Q = h( + 'editorInfo.foreground', + { dark: '#75BEFF', light: '#75BEFF', hc: null }, + o.N( + 'editorInfo.foreground', + 'Foreground color of info squigglies in the editor.' + ) + ), + X = h( + 'editorInfo.border', + { + dark: null, + light: null, + hc: r.Il.fromHex('#75BEFF').transparent(0.8), + }, + o.N('infoBorder', 'Border color of info boxes in the editor.') + ), + ee = h( + 'editorHint.foreground', + { + dark: r.Il.fromHex('#eeeeee').transparent(0.7), + light: '#6c6c6c', + hc: null, + }, + o.N( + 'editorHint.foreground', + 'Foreground color of hint squigglies in the editor.' + ) + ), + te = h( + 'editorHint.border', + { + dark: null, + light: null, + hc: r.Il.fromHex('#eeeeee').transparent(0.8), + }, + o.N('hintBorder', 'Border color of hint boxes in the editor.') + ), + ie = h( + 'editor.background', + { light: '#fffffe', dark: '#1E1E1E', hc: r.Il.black }, + o.N('editorBackground', 'Editor background color.') + ), + ne = h( + 'editor.foreground', + { light: '#333333', dark: '#BBBBBB', hc: r.Il.white }, + o.N('editorForeground', 'Editor default foreground color.') + ), + re = h( + 'editorWidget.background', + { dark: '#252526', light: '#F3F3F3', hc: '#0C141F' }, + o.N( + 'editorWidgetBackground', + 'Background color of editor widgets, such as find/replace.' + ) + ), + se = h( + 'editorWidget.foreground', + { dark: u, light: u, hc: u }, + o.N( + 'editorWidgetForeground', + 'Foreground color of editor widgets, such as find/replace.' + ) + ), + oe = h( + 'editorWidget.border', + { dark: '#454545', light: '#C8C8C8', hc: m }, + o.N( + 'editorWidgetBorder', + 'Border color of editor widgets. The color is only used if the widget chooses to have a border and if the color is not overridden by a widget.' + ) + ), + ae = h( + 'editorWidget.resizeBorder', + { light: null, dark: null, hc: null }, + o.N( + 'editorWidgetResizeBorder', + 'Border color of the resize bar of editor widgets. The color is only used if the widget chooses to have a resize border and if the color is not overridden by a widget.' + ) + ), + le = h( + 'quickInput.background', + { dark: re, light: re, hc: re }, + o.N( + 'pickerBackground', + 'Quick picker background color. The quick picker widget is the container for pickers like the command palette.' + ) + ), + ce = h( + 'quickInput.foreground', + { dark: se, light: se, hc: se }, + o.N( + 'pickerForeground', + 'Quick picker foreground color. The quick picker widget is the container for pickers like the command palette.' + ) + ), + de = h( + 'quickInputTitle.background', + { + dark: new r.Il(new r.VS(255, 255, 255, 0.105)), + light: new r.Il(new r.VS(0, 0, 0, 0.06)), + hc: '#000000', + }, + o.N( + 'pickerTitleBackground', + 'Quick picker title background color. The quick picker widget is the container for pickers like the command palette.' + ) + ), + he = h( + 'pickerGroup.foreground', + { dark: '#3794FF', light: '#0066BF', hc: r.Il.white }, + o.N( + 'pickerGroupForeground', + 'Quick picker color for grouping labels.' + ) + ), + ue = h( + 'pickerGroup.border', + { dark: '#3F3F46', light: '#CCCEDB', hc: r.Il.white }, + o.N('pickerGroupBorder', 'Quick picker color for grouping borders.') + ), + ge = h( + 'editor.selectionBackground', + { light: '#ADD6FF', dark: '#264F78', hc: '#f3f518' }, + o.N('editorSelectionBackground', 'Color of the editor selection.') + ), + fe = h( + 'editor.selectionForeground', + { light: null, dark: null, hc: '#000000' }, + o.N( + 'editorSelectionForeground', + 'Color of the selected text for high contrast.' + ) + ), + pe = h( + 'editor.inactiveSelectionBackground', + { light: Mt(ge, 0.5), dark: Mt(ge, 0.5), hc: Mt(ge, 0.5) }, + o.N( + 'editorInactiveSelection', + 'Color of the selection in an inactive editor. The color must not be opaque so as not to hide underlying decorations.' + ), + !0 + ), + me = h( + 'editor.selectionHighlightBackground', + { + light: Nt(ge, ie, 0.3, 0.6), + dark: Nt(ge, ie, 0.3, 0.6), + hc: null, + }, + o.N( + 'editorSelectionHighlight', + 'Color for regions with the same content as the selection. The color must not be opaque so as not to hide underlying decorations.' + ), + !0 + ), + _e = h( + 'editor.selectionHighlightBorder', + { light: null, dark: null, hc: _ }, + o.N( + 'editorSelectionHighlightBorder', + 'Border color for regions with the same content as the selection.' + ) + ), + be = h( + 'editor.findMatchBackground', + { light: '#A8AC94', dark: '#515C6A', hc: null }, + o.N('editorFindMatch', 'Color of the current search match.') + ), + ve = h( + 'editor.findMatchHighlightBackground', + { light: '#EA5C0055', dark: '#EA5C0055', hc: null }, + o.N( + 'findMatchHighlight', + 'Color of the other search matches. The color must not be opaque so as not to hide underlying decorations.' + ), + !0 + ), + ye = h( + 'editor.findRangeHighlightBackground', + { dark: '#3a3d4166', light: '#b4b4b44d', hc: null }, + o.N( + 'findRangeHighlight', + 'Color of the range limiting the search. The color must not be opaque so as not to hide underlying decorations.' + ), + !0 + ), + we = h( + 'editor.findMatchBorder', + { light: null, dark: null, hc: _ }, + o.N( + 'editorFindMatchBorder', + 'Border color of the current search match.' + ) + ), + Ce = h( + 'editor.findMatchHighlightBorder', + { light: null, dark: null, hc: _ }, + o.N( + 'findMatchHighlightBorder', + 'Border color of the other search matches.' + ) + ), + Se = h( + 'editor.findRangeHighlightBorder', + { dark: null, light: null, hc: Mt(_, 0.4) }, + o.N( + 'findRangeHighlightBorder', + 'Border color of the range limiting the search. The color must not be opaque so as not to hide underlying decorations.' + ), + !0 + ), + ke = h( + 'editor.hoverHighlightBackground', + { light: '#ADD6FF26', dark: '#264f7840', hc: '#ADD6FF26' }, + o.N( + 'hoverHighlight', + 'Highlight below the word for which a hover is shown. The color must not be opaque so as not to hide underlying decorations.' + ), + !0 + ), + xe = h( + 'editorHoverWidget.background', + { light: re, dark: re, hc: re }, + o.N('hoverBackground', 'Background color of the editor hover.') + ), + Le = h( + 'editorHoverWidget.foreground', + { light: se, dark: se, hc: se }, + o.N('hoverForeground', 'Foreground color of the editor hover.') + ), + Me = h( + 'editorHoverWidget.border', + { light: oe, dark: oe, hc: oe }, + o.N('hoverBorder', 'Border color of the editor hover.') + ), + De = h( + 'editorHoverWidget.statusBarBackground', + { dark: Lt(xe, 0.2), light: xt(xe, 0.05), hc: re }, + o.N( + 'statusBarBackground', + 'Background color of the editor hover status bar.' + ) + ), + Ne = h( + 'editorLink.activeForeground', + { dark: '#4E94CE', light: r.Il.blue, hc: r.Il.cyan }, + o.N('activeLinkForeground', 'Color of active links.') + ), + Ee = h( + 'editorLightBulb.foreground', + { dark: '#FFCC00', light: '#DDB100', hc: '#FFCC00' }, + o.N( + 'editorLightBulbForeground', + 'The color used for the lightbulb actions icon.' + ) + ), + Te = h( + 'editorLightBulbAutoFix.foreground', + { dark: '#75BEFF', light: '#007ACC', hc: '#75BEFF' }, + o.N( + 'editorLightBulbAutoFixForeground', + 'The color used for the lightbulb auto fix actions icon.' + ) + ), + Ie = new r.Il(new r.VS(155, 185, 85, 0.2)), + Oe = new r.Il(new r.VS(255, 0, 0, 0.2)), + Ae = h( + 'diffEditor.insertedTextBackground', + { dark: Ie, light: Ie, hc: null }, + o.N( + 'diffEditorInserted', + 'Background color for text that got inserted. The color must not be opaque so as not to hide underlying decorations.' + ), + !0 + ), + Re = h( + 'diffEditor.removedTextBackground', + { dark: Oe, light: Oe, hc: null }, + o.N( + 'diffEditorRemoved', + 'Background color for text that got removed. The color must not be opaque so as not to hide underlying decorations.' + ), + !0 + ), + Pe = h( + 'diffEditor.insertedTextBorder', + { dark: null, light: null, hc: '#33ff2eff' }, + o.N( + 'diffEditorInsertedOutline', + 'Outline color for the text that got inserted.' + ) + ), + Fe = h( + 'diffEditor.removedTextBorder', + { dark: null, light: null, hc: '#FF008F' }, + o.N( + 'diffEditorRemovedOutline', + 'Outline color for text that got removed.' + ) + ), + Be = h( + 'diffEditor.border', + { dark: null, light: null, hc: m }, + o.N( + 'diffEditorBorder', + 'Border color between the two text editors.' + ) + ), + We = h( + 'diffEditor.diagonalFill', + { dark: '#cccccc33', light: '#22222233', hc: null }, + o.N( + 'diffDiagonalFill', + "Color of the diff editor's diagonal fill. The diagonal fill is used in side-by-side diff views." + ) + ), + Ye = h( + 'list.focusBackground', + { dark: '#062F4A', light: '#D6EBFF', hc: null }, + o.N( + 'listFocusBackground', + 'List/Tree background color for the focused item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.' + ) + ), + He = h( + 'list.focusForeground', + { dark: null, light: null, hc: null }, + o.N( + 'listFocusForeground', + 'List/Tree foreground color for the focused item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.' + ) + ), + je = h( + 'list.activeSelectionBackground', + { dark: '#094771', light: '#0074E8', hc: null }, + o.N( + 'listActiveSelectionBackground', + 'List/Tree background color for the selected item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.' + ) + ), + Ve = h( + 'list.activeSelectionForeground', + { dark: r.Il.white, light: r.Il.white, hc: null }, + o.N( + 'listActiveSelectionForeground', + 'List/Tree foreground color for the selected item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.' + ) + ), + ze = h( + 'list.inactiveSelectionBackground', + { dark: '#37373D', light: '#E4E6F1', hc: null }, + o.N( + 'listInactiveSelectionBackground', + 'List/Tree background color for the selected item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.' + ) + ), + Ue = h( + 'list.inactiveSelectionForeground', + { dark: null, light: null, hc: null }, + o.N( + 'listInactiveSelectionForeground', + 'List/Tree foreground color for the selected item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.' + ) + ), + $e = h( + 'list.inactiveFocusBackground', + { dark: null, light: null, hc: null }, + o.N( + 'listInactiveFocusBackground', + 'List/Tree background color for the focused item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.' + ) + ), + Ke = h( + 'list.hoverBackground', + { dark: '#2A2D2E', light: '#F0F0F0', hc: null }, + o.N( + 'listHoverBackground', + 'List/Tree background when hovering over items using the mouse.' + ) + ), + qe = h( + 'list.hoverForeground', + { dark: null, light: null, hc: null }, + o.N( + 'listHoverForeground', + 'List/Tree foreground when hovering over items using the mouse.' + ) + ), + Ge = h( + 'list.dropBackground', + { dark: Ye, light: Ye, hc: null }, + o.N( + 'listDropBackground', + 'List/Tree drag and drop background when moving items around using the mouse.' + ) + ), + Ze = h( + 'list.highlightForeground', + { dark: '#0097fb', light: '#0066BF', hc: p }, + o.N( + 'highlight', + 'List/Tree foreground color of the match highlights when searching inside the list/tree.' + ) + ), + Je = h( + 'listFilterWidget.background', + { light: '#efc1ad', dark: '#653723', hc: r.Il.black }, + o.N( + 'listFilterWidgetBackground', + 'Background color of the type filter widget in lists and trees.' + ) + ), + Qe = h( + 'listFilterWidget.outline', + { dark: r.Il.transparent, light: r.Il.transparent, hc: '#f38518' }, + o.N( + 'listFilterWidgetOutline', + 'Outline color of the type filter widget in lists and trees.' + ) + ), + Xe = h( + 'listFilterWidget.noMatchesOutline', + { dark: '#BE1100', light: '#BE1100', hc: m }, + o.N( + 'listFilterWidgetNoMatchesOutline', + 'Outline color of the type filter widget in lists and trees, when there are no matches.' + ) + ), + et = h( + 'tree.indentGuidesStroke', + { dark: '#585858', light: '#a9a9a9', hc: '#a9a9a9' }, + o.N( + 'treeIndentGuidesStroke', + 'Tree stroke color for the indentation guides.' + ) + ), + tt = h( + 'menu.border', + { dark: null, light: null, hc: m }, + o.N('menuBorder', 'Border color of menus.') + ), + it = h( + 'menu.foreground', + { dark: F, light: u, hc: F }, + o.N('menuForeground', 'Foreground color of menu items.') + ), + nt = h( + 'menu.background', + { dark: P, light: P, hc: P }, + o.N('menuBackground', 'Background color of menu items.') + ), + rt = h( + 'menu.selectionForeground', + { dark: Ve, light: Ve, hc: Ve }, + o.N( + 'menuSelectionForeground', + 'Foreground color of the selected menu item in menus.' + ) + ), + st = h( + 'menu.selectionBackground', + { dark: je, light: je, hc: je }, + o.N( + 'menuSelectionBackground', + 'Background color of the selected menu item in menus.' + ) + ), + ot = h( + 'menu.selectionBorder', + { dark: null, light: null, hc: _ }, + o.N( + 'menuSelectionBorder', + 'Border color of the selected menu item in menus.' + ) + ), + at = h( + 'menu.separatorBackground', + { dark: '#BBBBBB', light: '#888888', hc: m }, + o.N( + 'menuSeparatorBackground', + 'Color of a separator menu item in menus.' + ) + ), + lt = h( + 'editor.snippetTabstopHighlightBackground', + { + dark: new r.Il(new r.VS(124, 124, 124, 0.3)), + light: new r.Il(new r.VS(10, 50, 100, 0.2)), + hc: new r.Il(new r.VS(124, 124, 124, 0.3)), + }, + o.N( + 'snippetTabstopHighlightBackground', + 'Highlight background color of a snippet tabstop.' + ) + ), + ct = h( + 'editor.snippetTabstopHighlightBorder', + { dark: null, light: null, hc: null }, + o.N( + 'snippetTabstopHighlightBorder', + 'Highlight border color of a snippet tabstop.' + ) + ), + dt = h( + 'editor.snippetFinalTabstopHighlightBackground', + { dark: null, light: null, hc: null }, + o.N( + 'snippetFinalTabstopHighlightBackground', + 'Highlight background color of the final tabstop of a snippet.' + ) + ), + ht = h( + 'editor.snippetFinalTabstopHighlightBorder', + { + dark: '#525252', + light: new r.Il(new r.VS(10, 50, 100, 0.5)), + hc: '#525252', + }, + o.N( + 'snippetFinalTabstopHighlightBorder', + 'Highlight border color of the final tabstop of a snippet.' + ) + ), + ut = h( + 'editorOverviewRuler.findMatchForeground', + { dark: '#d186167e', light: '#d186167e', hc: '#AB5A00' }, + o.N( + 'overviewRulerFindMatchForeground', + 'Overview ruler marker color for find matches. The color must not be opaque so as not to hide underlying decorations.' + ), + !0 + ), + gt = h( + 'editorOverviewRuler.selectionHighlightForeground', + { dark: '#A0A0A0CC', light: '#A0A0A0CC', hc: '#A0A0A0CC' }, + o.N( + 'overviewRulerSelectionHighlightForeground', + 'Overview ruler marker color for selection highlights. The color must not be opaque so as not to hide underlying decorations.' + ), + !0 + ), + ft = h( + 'minimap.findMatchHighlight', + { light: '#d18616', dark: '#d18616', hc: '#AB5A00' }, + o.N( + 'minimapFindMatchHighlight', + 'Minimap marker color for find matches.' + ), + !0 + ), + pt = h( + 'minimap.selectionHighlight', + { light: '#ADD6FF', dark: '#264F78', hc: '#ffffff' }, + o.N( + 'minimapSelectionHighlight', + 'Minimap marker color for the editor selection.' + ), + !0 + ), + mt = h( + 'minimap.errorHighlight', + { + dark: new r.Il(new r.VS(255, 18, 18, 0.7)), + light: new r.Il(new r.VS(255, 18, 18, 0.7)), + hc: new r.Il(new r.VS(255, 50, 50, 1)), + }, + o.N('minimapError', 'Minimap marker color for errors.') + ), + _t = h( + 'minimap.warningHighlight', + { dark: Z, light: Z, hc: J }, + o.N('overviewRuleWarning', 'Minimap marker color for warnings.') + ), + bt = h( + 'minimap.background', + { dark: null, light: null, hc: null }, + o.N('minimapBackground', 'Minimap background color.') + ), + vt = h( + 'minimapSlider.background', + { light: Mt(z, 0.5), dark: Mt(z, 0.5), hc: Mt(z, 0.5) }, + o.N('minimapSliderBackground', 'Minimap slider background color.') + ), + yt = h( + 'minimapSlider.hoverBackground', + { light: Mt(U, 0.5), dark: Mt(U, 0.5), hc: Mt(U, 0.5) }, + o.N( + 'minimapSliderHoverBackground', + 'Minimap slider background color when hovering.' + ) + ), + wt = h( + 'minimapSlider.activeBackground', + { light: Mt($, 0.5), dark: Mt($, 0.5), hc: Mt($, 0.5) }, + o.N( + 'minimapSliderActiveBackground', + 'Minimap slider background color when clicked on.' + ) + ), + Ct = h( + 'problemsErrorIcon.foreground', + { dark: q, light: q, hc: q }, + o.N( + 'problemsErrorIconForeground', + 'The color used for the problems error icon.' + ) + ), + St = h( + 'problemsWarningIcon.foreground', + { dark: Z, light: Z, hc: Z }, + o.N( + 'problemsWarningIconForeground', + 'The color used for the problems warning icon.' + ) + ), + kt = h( + 'problemsInfoIcon.foreground', + { dark: Q, light: Q, hc: Q }, + o.N( + 'problemsInfoIconForeground', + 'The color used for the problems info icon.' + ) + ); + function xt(e, t) { + return (i) => { + let n = Et(e, i); + if (n) return n.darken(t); + }; + } + function Lt(e, t) { + return (i) => { + let n = Et(e, i); + if (n) return n.lighten(t); + }; + } + function Mt(e, t) { + return (i) => { + let n = Et(e, i); + if (n) return n.transparent(t); + }; + } + function Dt(...e) { + return (t) => { + for (let i of e) { + let e = Et(i, t); + if (e) return e; + } + }; + } + function Nt(e, t, i, n) { + return (s) => { + let o = Et(e, s); + if (o) { + let e = Et(t, s); + return e + ? o.isDarkerThan(e) + ? r.Il.getLighterColor(o, e, i).transparent(n) + : r.Il.getDarkerColor(o, e, i).transparent(n) + : o.transparent(i * n); + } + }; + } + function Et(e, t) { + if (null !== e) + return 'string' == typeof e + ? '#' === e[0] + ? r.Il.fromHex(e) + : t.getColor(e) + : e instanceof r.Il + ? e + : 'function' == typeof e + ? e(t) + : void 0; + } + const Tt = 'vscode://schemas/workbench-colors'; + let It = n.B.as(a.I.JSONContribution); + It.registerSchema(Tt, d.getColorSchema()); + const Ot = new l.pY(() => It.notifySchemaChanged(Tt), 200); + d.onDidChangeSchema(() => { + Ot.isScheduled() || Ot.schedule(); + }); + }, + 88810: (e, t, i) => { + 'use strict'; + i.d(t, { + o: () => r, + WZ: () => o, + Jl: () => a, + O2: () => l, + tj: () => d, + }); + var n = i(73910); + function r(e, t) { + const i = Object.create(null); + for (let r in t) { + const s = t[r]; + s && (i[r] = (0, n.Sn)(s, e)); + } + return i; + } + function s(e, t, i) { + function n(n) { + const s = r(e.getColorTheme(), t); + 'function' == typeof i ? i(s) : i.style(s); + } + return n(e.getColorTheme()), e.onDidColorThemeChange(n); + } + function o(e, t, i) { + return s( + t, + { + badgeBackground: (i && i.badgeBackground) || n.g8, + badgeForeground: (i && i.badgeForeground) || n.qe, + badgeBorder: n.lR, + }, + e + ); + } + function a(e, t, i) { + return s(t, Object.assign(Object.assign({}, l), i || {}), e); + } + const l = { + listFocusBackground: n._b, + listFocusForeground: n._2, + listActiveSelectionBackground: (0, n._j)(n.dC, 0.1), + listActiveSelectionForeground: n.M6, + listFocusAndSelectionBackground: n.dC, + listFocusAndSelectionForeground: n.M6, + listInactiveSelectionBackground: n.rg, + listInactiveSelectionForeground: n.yt, + listInactiveFocusBackground: n.s$, + listHoverBackground: n.mV, + listHoverForeground: n.$d, + listDropBackground: n.AS, + listFocusOutline: n.xL, + listSelectionOutline: n.xL, + listHoverOutline: n.xL, + listFilterWidgetBackground: n.vG, + listFilterWidgetOutline: n.oS, + listFilterWidgetNoMatchesOutline: n.S, + listMatchesShadow: n.rh, + treeIndentGuidesStroke: n.Un, + }, + c = { + shadowColor: n.rh, + borderColor: n.Cd, + foregroundColor: n.DE, + backgroundColor: n.Hz, + selectionForegroundColor: n.jb, + selectionBackgroundColor: n.$D, + selectionBorderColor: n.E3, + separatorColor: n.ZG, + }; + function d(e, t, i) { + return s(t, Object.assign(Object.assign({}, c), i), e); + } + }, + 97781: (e, t, i) => { + 'use strict'; + i.d(t, { + XE: () => a, + EN: () => l, + kS: () => c, + QP: () => d, + m6: () => h, + IP: () => u, + Ic: () => f, + bB: () => p, + }); + var n = i(72065), + r = i(5976), + s = i(89872), + o = i(4669); + const a = (0, n.yh)('themeService'); + function l(e) { + return { id: e }; + } + var c; + !(function (e) { + e.isThemeIcon = function (e) { + return e && 'object' == typeof e && 'string' == typeof e.id; + }; + const t = /^\$\(([a-z.]+\/)?([a-z-~]+)\)$/i; + e.fromString = function (e) { + const i = t.exec(e); + if (!i) return; + let [, n, r] = i; + return n || (n = 'codicon/'), { id: n + r }; + }; + const i = /^(codicon\/)?([a-z-]+)(~[a-z]+)?$/i; + e.asClassName = function (e) { + const t = i.exec(e.id); + if (!t) return; + let [, , n, r] = t, + s = `codicon codicon-${n}`; + return r && (s += ` ${r.substr(1)}`), s; + }; + })(c || (c = {})); + const d = 'hc'; + function h(e) { + switch (e) { + case 'dark': + return 'vs-dark'; + case d: + return 'hc-black'; + default: + return 'vs'; + } + } + const u = { ThemingContribution: 'base.contributions.theming' }; + let g = new (class { + constructor() { + (this.themingParticipants = []), + (this.themingParticipants = []), + (this.onThemingParticipantAddedEmitter = new o.Q5()); + } + onColorThemeChange(e) { + return ( + this.themingParticipants.push(e), + this.onThemingParticipantAddedEmitter.fire(e), + (0, r.OF)(() => { + const t = this.themingParticipants.indexOf(e); + this.themingParticipants.splice(t, 1); + }) + ); + } + getThemingParticipants() { + return this.themingParticipants; + } + })(); + function f(e) { + return g.onColorThemeChange(e); + } + s.B.add(u.ThemingContribution, g); + class p extends r.JT { + constructor(e) { + super(), + (this.themeService = e), + (this.theme = e.getColorTheme()), + this._register( + this.themeService.onDidColorThemeChange((e) => + this.onThemeChange(e) + ) + ); + } + onThemeChange(e) { + (this.theme = e), this.updateStyles(); + } + updateStyles() {} + } + }, + 64862: (e, t, i) => { + 'use strict'; + i.d(t, { t: () => n, Y: () => r }); + const n = (0, i(72065).yh)('undoRedoService'); + class r { + constructor(e, t) { + (this.resource = e), (this.elements = t); + } + } + }, + 37280: (e, t, i) => { + 'use strict'; + i.d(t, { u: () => s, i: () => o }); + var n = i(4669), + r = i(5976); + const s = (0, i(72065).yh)('IStorageKeysSyncRegistryService'); + class o extends r.JT { + constructor() { + super(), + (this._storageKeys = new Map()), + (this._onDidChangeStorageKeys = this._register(new n.Q5())), + this._register((0, r.OF)(() => this._storageKeys.clear())); + } + get storageKeys() { + return [...this._storageKeys.values()]; + } + registerStorageKey(e) { + this._storageKeys.has(e.key) || + (this._storageKeys.set(e.key, e), + this._onDidChangeStorageKeys.fire(this.storageKeys)); + } + } + }, + 40382: (e, t, i) => { + 'use strict'; + i.d(t, { ec: () => o, md: () => c }); + var n = i(70666), + r = i(95935), + s = i(72065); + i(43702); + const o = (0, s.yh)('contextService'); + var a, l; + !(function (e) { + e.isIWorkspace = function (e) { + return !( + !e || + 'object' != typeof e || + 'string' != typeof e.id || + !Array.isArray(e.folders) + ); + }; + })(a || (a = {})), + (function (e) { + e.isIWorkspaceFolder = function (e) { + return !( + !e || + 'object' != typeof e || + !n.o.isUri(e.uri) || + 'string' != typeof e.name || + 'function' != typeof e.toResource + ); + }; + })(l || (l = {})); + class c { + constructor(e, t) { + (this.raw = t), + (this.uri = e.uri), + (this.index = e.index), + (this.name = e.name); + } + toResource(e) { + return r.Vo(this.uri, e); + } + toJSON() { + return { uri: this.uri, name: this.name, index: this.index }; + } + } + }, + 673: (e) => { + e.exports = (function e(t) { + 'use strict'; + var i = /^\0+/g, + n = /[\0\r\f]/g, + r = /: */g, + s = /zoo|gra/, + o = /([,: ])(transform)/g, + a = /,+\s*(?![^(]*[)])/g, + l = / +\s*(?![^(]*[)])/g, + c = / *[\0] */g, + d = /,\r+?/g, + h = /([\t\r\n ])*\f?&/g, + u = /:global\(((?:[^\(\)\[\]]*|\[.*\]|\([^\(\)]*\))*)\)/g, + g = /\W+/g, + f = /@(k\w+)\s*(\S*)\s*/, + p = /::(place)/g, + m = /:(read-only)/g, + _ = /\s+(?=[{\];=:>])/g, + b = /([[}=:>])\s+/g, + v = /(\{[^{]+?);(?=\})/g, + y = /\s{2,}/g, + w = /([^\(])(:+) */g, + C = /[svh]\w+-[tblr]{2}/, + S = /\(\s*(.*)\s*\)/g, + k = /([\s\S]*?);/g, + x = /-self|flex-/g, + L = /[^]*?(:[rp][el]a[\w-]+)[^]*/, + M = /stretch|:\s*\w+\-(?:conte|avail)/, + D = /([^-])(image-set\()/, + N = '-webkit-', + E = '-moz-', + T = '-ms-', + I = 59, + O = 125, + A = 123, + R = 40, + P = 41, + F = 10, + B = 13, + W = 64, + Y = 32, + H = 45, + j = 42, + V = 44, + z = 58, + U = 47, + $ = 62, + K = 43, + q = 126, + G = 107, + Z = 1, + J = 1, + Q = 0, + X = 1, + ee = 1, + te = 1, + ie = 0, + ne = 0, + re = 0, + se = [], + oe = [], + ae = 0, + le = null, + ce = 0, + de = 1, + he = '', + ue = '', + ge = ''; + function fe(e, t, r, s, o) { + for ( + var a, + l, + d = 0, + h = 0, + u = 0, + g = 0, + _ = 0, + b = 0, + v = 0, + y = 0, + C = 0, + k = 0, + x = 0, + L = 0, + M = 0, + D = 0, + E = 0, + T = 0, + W = 0, + ie = 0, + oe = 0, + le = r.length, + me = le - 1, + Ce = '', + Se = '', + ke = '', + xe = '', + Le = '', + Me = ''; + E < le; + + ) { + if ( + ((v = r.charCodeAt(E)), + E === me && + h + g + u + d !== 0 && + (0 !== h && (v = h === U ? F : U), + (g = u = d = 0), + le++, + me++), + h + g + u + d === 0) + ) { + if ( + E === me && + (T > 0 && (Se = Se.replace(n, '')), Se.trim().length > 0) + ) { + switch (v) { + case Y: + case 9: + case I: + case B: + case F: + break; + default: + Se += r.charAt(E); + } + v = I; + } + if (1 === W) + switch (v) { + case A: + case O: + case I: + case 34: + case 39: + case R: + case P: + case V: + W = 0; + case 9: + case B: + case F: + case Y: + break; + default: + for (W = 0, oe = E, _ = v, E--, v = I; oe < le; ) + switch (r.charCodeAt(oe++)) { + case F: + case B: + case I: + ++E, (v = _), (oe = le); + break; + case z: + T > 0 && (++E, (v = _)); + case A: + oe = le; + } + } + switch (v) { + case A: + for ( + _ = (Se = Se.trim()).charCodeAt(0), x = 1, oe = ++E; + E < le; + + ) { + switch ((v = r.charCodeAt(E))) { + case A: + x++; + break; + case O: + x--; + break; + case U: + switch ((b = r.charCodeAt(E + 1))) { + case j: + case U: + E = we(b, E, me, r); + } + break; + case 91: + v++; + case R: + v++; + case 34: + case 39: + for (; E++ < me && r.charCodeAt(E) !== v; ); + } + if (0 === x) break; + E++; + } + switch ( + ((ke = r.substring(oe, E)), + 0 === _ && + (_ = (Se = Se.replace(i, '').trim()).charCodeAt(0)), + _) + ) { + case 64: + switch ( + (T > 0 && (Se = Se.replace(n, '')), + (b = Se.charCodeAt(1))) + ) { + case 100: + case 109: + case 115: + case H: + a = t; + break; + default: + a = se; + } + if ( + ((oe = (ke = fe(t, a, ke, b, o + 1)).length), + re > 0 && 0 === oe && (oe = Se.length), + ae > 0 && + ((l = ye( + 3, + ke, + (a = pe(se, Se, ie)), + t, + J, + Z, + oe, + b, + o, + s + )), + (Se = a.join('')), + void 0 !== l && + 0 === (oe = (ke = l.trim()).length) && + ((b = 0), (ke = ''))), + oe > 0) + ) + switch (b) { + case 115: + Se = Se.replace(S, ve); + case 100: + case 109: + case H: + ke = Se + '{' + ke + '}'; + break; + case G: + (ke = + (Se = Se.replace( + f, + '$1 $2' + (de > 0 ? he : '') + )) + + '{' + + ke + + '}'), + (ke = + 1 === ee || (2 === ee && be('@' + ke, 3)) + ? '@' + N + ke + '@' + ke + : '@' + ke); + break; + default: + (ke = Se + ke), + 112 === s && ((xe += ke), (ke = '')); + } + else ke = ''; + break; + default: + ke = fe(t, pe(t, Se, ie), ke, s, o + 1); + } + (Le += ke), + (L = 0), + (W = 0), + (D = 0), + (T = 0), + (ie = 0), + (M = 0), + (Se = ''), + (ke = ''), + (v = r.charCodeAt(++E)); + break; + case O: + case I: + if ( + (oe = (Se = (T > 0 ? Se.replace(n, '') : Se).trim()) + .length) > 1 + ) + switch ( + (0 === D && + ((_ = Se.charCodeAt(0)) === H || + (_ > 96 && _ < 123)) && + (oe = (Se = Se.replace(' ', ':')).length), + ae > 0 && + void 0 !== + (l = ye(1, Se, t, e, J, Z, xe.length, s, o, s)) && + 0 === (oe = (Se = l.trim()).length) && + (Se = '\0\0'), + (_ = Se.charCodeAt(0)), + (b = Se.charCodeAt(1)), + _) + ) { + case 0: + break; + case 64: + if (105 === b || 99 === b) { + Me += Se + r.charAt(E); + break; + } + default: + if (Se.charCodeAt(oe - 1) === z) break; + xe += _e(Se, _, b, Se.charCodeAt(2)); + } + (L = 0), + (W = 0), + (D = 0), + (T = 0), + (ie = 0), + (Se = ''), + (v = r.charCodeAt(++E)); + } + } + switch (v) { + case B: + case F: + if (h + g + u + d + ne === 0) + switch (k) { + case P: + case 39: + case 34: + case 64: + case q: + case 62: + case j: + case 43: + case U: + case H: + case z: + case V: + case I: + case A: + case O: + break; + default: + D > 0 && (W = 1); + } + h === U + ? (h = 0) + : X + L === 0 && + s !== G && + Se.length > 0 && + ((T = 1), (Se += '\0')), + ae * ce > 0 && ye(0, Se, t, e, J, Z, xe.length, s, o, s), + (Z = 1), + J++; + break; + case I: + case O: + if (h + g + u + d === 0) { + Z++; + break; + } + default: + switch ((Z++, (Ce = r.charAt(E)), v)) { + case 9: + case Y: + if (g + d + h === 0) + switch (y) { + case V: + case z: + case 9: + case Y: + Ce = ''; + break; + default: + v !== Y && (Ce = ' '); + } + break; + case 0: + Ce = '\\0'; + break; + case 12: + Ce = '\\f'; + break; + case 11: + Ce = '\\v'; + break; + case 38: + g + h + d === 0 && + X > 0 && + ((ie = 1), (T = 1), (Ce = '\f' + Ce)); + break; + case 108: + if (g + h + d + Q === 0 && D > 0) + switch (E - D) { + case 2: + 112 === y && r.charCodeAt(E - 3) === z && (Q = y); + case 8: + 111 === C && (Q = C); + } + break; + case z: + g + h + d === 0 && (D = E); + break; + case V: + h + u + g + d === 0 && ((T = 1), (Ce += '\r')); + break; + case 34: + case 39: + 0 === h && (g = g === v ? 0 : 0 === g ? v : g); + break; + case 91: + g + h + u === 0 && d++; + break; + case 93: + g + h + u === 0 && d--; + break; + case P: + g + h + d === 0 && u--; + break; + case R: + if (g + h + d === 0) { + if (0 === L) + switch (2 * y + 3 * C) { + case 533: + break; + default: + (x = 0), (L = 1); + } + u++; + } + break; + case 64: + h + u + g + d + D + M === 0 && (M = 1); + break; + case j: + case U: + if (g + d + u > 0) break; + switch (h) { + case 0: + switch (2 * v + 3 * r.charCodeAt(E + 1)) { + case 235: + h = U; + break; + case 220: + (oe = E), (h = j); + } + break; + case j: + v === U && + y === j && + oe + 2 !== E && + (33 === r.charCodeAt(oe + 2) && + (xe += r.substring(oe, E + 1)), + (Ce = ''), + (h = 0)); + } + } + if (0 === h) { + if (X + g + d + M === 0 && s !== G && v !== I) + switch (v) { + case V: + case q: + case 62: + case 43: + case P: + case R: + if (0 === L) { + switch (y) { + case 9: + case Y: + case F: + case B: + Ce += '\0'; + break; + default: + Ce = '\0' + Ce + (v === V ? '' : '\0'); + } + T = 1; + } else + switch (v) { + case R: + D + 7 === E && 108 === y && (D = 0), (L = ++x); + break; + case P: + 0 == (L = --x) && ((T = 1), (Ce += '\0')); + } + break; + case 9: + case Y: + switch (y) { + case 0: + case A: + case O: + case I: + case V: + case 12: + case 9: + case Y: + case F: + case B: + break; + default: + 0 === L && ((T = 1), (Ce += '\0')); + } + } + (Se += Ce), v !== Y && 9 !== v && (k = v); + } + } + (C = y), (y = v), E++; + } + if ( + ((oe = xe.length), + re > 0 && + 0 === oe && + 0 === Le.length && + (0 === t[0].length) == 0 && + (109 !== s || (1 === t.length && (X > 0 ? ue : ge) === t[0])) && + (oe = t.join(',').length + 2), + oe > 0) + ) { + if ( + ((a = + 0 === X && s !== G + ? (function (e) { + for ( + var t, i, r = 0, s = e.length, o = Array(s); + r < s; + ++r + ) { + for ( + var a = e[r].split(c), + l = '', + d = 0, + h = 0, + u = 0, + g = 0, + f = a.length; + d < f; + ++d + ) + if (!(0 === (h = (i = a[d]).length) && f > 1)) { + if ( + ((u = l.charCodeAt(l.length - 1)), + (g = i.charCodeAt(0)), + (t = ''), + 0 !== d) + ) + switch (u) { + case j: + case q: + case $: + case K: + case Y: + case R: + break; + default: + t = ' '; + } + switch (g) { + case 38: + i = t + ue; + case q: + case $: + case K: + case Y: + case P: + case R: + break; + case 91: + i = t + i + ue; + break; + case z: + switch ( + 2 * i.charCodeAt(1) + + 3 * i.charCodeAt(2) + ) { + case 530: + if (te > 0) { + i = t + i.substring(8, h - 1); + break; + } + default: + (d < 1 || a[d - 1].length < 1) && + (i = t + ue + i); + } + break; + case V: + t = ''; + default: + i = + h > 1 && i.indexOf(':') > 0 + ? t + i.replace(w, '$1' + ue + '$2') + : t + i + ue; + } + l += i; + } + o[r] = l.replace(n, '').trim(); + } + return o; + })(t) + : t), + ae > 0 && + void 0 !== (l = ye(2, xe, a, e, J, Z, oe, s, o, s)) && + 0 === (xe = l).length) + ) + return Me + xe + Le; + if (((xe = a.join(',') + '{' + xe + '}'), ee * Q != 0)) { + switch ((2 !== ee || be(xe, 2) || (Q = 0), Q)) { + case 111: + xe = xe.replace(m, ':-moz-$1') + xe; + break; + case 112: + xe = + xe.replace(p, '::-webkit-input-$1') + + xe.replace(p, '::-moz-$1') + + xe.replace(p, ':-ms-input-$1') + + xe; + } + Q = 0; + } + } + return Me + xe + Le; + } + function pe(e, t, i) { + var n = t.trim().split(d), + r = n, + s = n.length, + o = e.length; + switch (o) { + case 0: + case 1: + for (var a = 0, l = 0 === o ? '' : e[0] + ' '; a < s; ++a) + r[a] = me(l, r[a], i, o).trim(); + break; + default: + a = 0; + var c = 0; + for (r = []; a < s; ++a) + for (var h = 0; h < o; ++h) + r[c++] = me(e[h] + ' ', n[a], i, o).trim(); + } + return r; + } + function me(e, t, i, n) { + var r = t, + s = r.charCodeAt(0); + switch ((s < 33 && (s = (r = r.trim()).charCodeAt(0)), s)) { + case 38: + switch (X + n) { + case 0: + case 1: + if (0 === e.trim().length) break; + default: + return r.replace(h, '$1' + e.trim()); + } + break; + case z: + switch (r.charCodeAt(1)) { + case 103: + if (te > 0 && X > 0) + return r.replace(u, '$1').replace(h, '$1' + ge); + break; + default: + return e.trim() + r.replace(h, '$1' + e.trim()); + } + default: + if (i * X > 0 && r.indexOf('\f') > 0) + return r.replace( + h, + (e.charCodeAt(0) === z ? '' : '$1') + e.trim() + ); + } + return e + r; + } + function _e(e, t, i, n) { + var c, + d = 0, + h = e + ';', + u = 2 * t + 3 * i + 4 * n; + if (944 === u) + return (function (e) { + var t = e.length, + i = e.indexOf(':', 9) + 1, + n = e.substring(0, i).trim(), + r = e.substring(i, t - 1).trim(); + switch (e.charCodeAt(9) * de) { + case 0: + break; + case H: + if (110 !== e.charCodeAt(10)) break; + default: + var s = r.split(((r = ''), a)), + o = 0; + for (i = 0, t = s.length; o < t; i = 0, ++o) { + for (var c = s[o], d = c.split(l); (c = d[i]); ) { + var h = c.charCodeAt(0); + if ( + 1 === de && + ((h > W && h < 90) || + (h > 96 && h < 123) || + 95 === h || + (h === H && c.charCodeAt(1) !== H)) + ) + switch ( + isNaN(parseFloat(c)) + + (-1 !== c.indexOf('(')) + ) { + case 1: + switch (c) { + case 'infinite': + case 'alternate': + case 'backwards': + case 'running': + case 'normal': + case 'forwards': + case 'both': + case 'none': + case 'linear': + case 'ease': + case 'ease-in': + case 'ease-out': + case 'ease-in-out': + case 'paused': + case 'reverse': + case 'alternate-reverse': + case 'inherit': + case 'initial': + case 'unset': + case 'step-start': + case 'step-end': + break; + default: + c += he; + } + } + d[i++] = c; + } + r += (0 === o ? '' : ',') + d.join(' '); + } + } + return ( + (r = n + r + ';'), + 1 === ee || (2 === ee && be(r, 1)) ? N + r + r : r + ); + })(h); + if (0 === ee || (2 === ee && !be(h, 1))) return h; + switch (u) { + case 1015: + return 97 === h.charCodeAt(10) ? N + h + h : h; + case 951: + return 116 === h.charCodeAt(3) ? N + h + h : h; + case 963: + return 110 === h.charCodeAt(5) ? N + h + h : h; + case 1009: + if (100 !== h.charCodeAt(4)) break; + case 969: + case 942: + return N + h + h; + case 978: + return N + h + E + h + h; + case 1019: + case 983: + return N + h + E + h + T + h + h; + case 883: + return h.charCodeAt(8) === H + ? N + h + h + : h.indexOf('image-set(', 11) > 0 + ? h.replace(D, '$1-webkit-$2') + h + : h; + case 932: + if (h.charCodeAt(4) === H) + switch (h.charCodeAt(5)) { + case 103: + return ( + N + + 'box-' + + h.replace('-grow', '') + + N + + h + + T + + h.replace('grow', 'positive') + + h + ); + case 115: + return N + h + T + h.replace('shrink', 'negative') + h; + case 98: + return ( + N + h + T + h.replace('basis', 'preferred-size') + h + ); + } + return N + h + T + h + h; + case 964: + return N + h + T + 'flex-' + h + h; + case 1023: + if (99 !== h.charCodeAt(8)) break; + return ( + (c = h + .substring(h.indexOf(':', 15)) + .replace('flex-', '') + .replace('space-between', 'justify')), + N + 'box-pack' + c + N + h + T + 'flex-pack' + c + h + ); + case 1005: + return s.test(h) + ? h.replace(r, ':' + N) + h.replace(r, ':' + E) + h + : h; + case 1e3: + switch ( + ((d = (c = h.substring(13).trim()).indexOf('-') + 1), + c.charCodeAt(0) + c.charCodeAt(d)) + ) { + case 226: + c = h.replace(C, 'tb'); + break; + case 232: + c = h.replace(C, 'tb-rl'); + break; + case 220: + c = h.replace(C, 'lr'); + break; + default: + return h; + } + return N + h + T + c + h; + case 1017: + if (-1 === h.indexOf('sticky', 9)) return h; + case 975: + switch ( + ((d = (h = e).length - 10), + (u = + (c = (33 === h.charCodeAt(d) ? h.substring(0, d) : h) + .substring(e.indexOf(':', 7) + 1) + .trim()).charCodeAt(0) + + (0 | c.charCodeAt(7)))) + ) { + case 203: + if (c.charCodeAt(8) < 111) break; + case 115: + h = h.replace(c, N + c) + ';' + h; + break; + case 207: + case 102: + h = + h.replace(c, N + (u > 102 ? 'inline-' : '') + 'box') + + ';' + + h.replace(c, N + c) + + ';' + + h.replace(c, T + c + 'box') + + ';' + + h; + } + return h + ';'; + case 938: + if (h.charCodeAt(5) === H) + switch (h.charCodeAt(6)) { + case 105: + return ( + (c = h.replace('-items', '')), + N + h + N + 'box-' + c + T + 'flex-' + c + h + ); + case 115: + return N + h + T + 'flex-item-' + h.replace(x, '') + h; + default: + return ( + N + + h + + T + + 'flex-line-pack' + + h.replace('align-content', '').replace(x, '') + + h + ); + } + break; + case 973: + case 989: + if (h.charCodeAt(3) !== H || 122 === h.charCodeAt(4)) break; + case 931: + case 953: + if (!0 === M.test(e)) + return 115 === + (c = e.substring(e.indexOf(':') + 1)).charCodeAt(0) + ? _e( + e.replace('stretch', 'fill-available'), + t, + i, + n + ).replace(':fill-available', ':stretch') + : h.replace(c, N + c) + + h.replace(c, E + c.replace('fill-', '')) + + h; + break; + case 962: + if ( + ((h = N + h + (102 === h.charCodeAt(5) ? T + h : '') + h), + i + n === 211 && + 105 === h.charCodeAt(13) && + h.indexOf('transform', 10) > 0) + ) + return ( + h + .substring(0, h.indexOf(';', 27) + 1) + .replace(o, '$1-webkit-$2') + h + ); + } + return h; + } + function be(e, t) { + var i = e.indexOf(1 === t ? ':' : '{'), + n = e.substring(0, 3 !== t ? i : 10), + r = e.substring(i + 1, e.length - 1); + return le(2 !== t ? n : n.replace(L, '$1'), r, t); + } + function ve(e, t) { + var i = _e(t, t.charCodeAt(0), t.charCodeAt(1), t.charCodeAt(2)); + return i !== t + ';' + ? i.replace(k, ' or ($1)').substring(4) + : '(' + t + ')'; + } + function ye(e, t, i, n, r, s, o, a, l, c) { + for (var d, h = 0, u = t; h < ae; ++h) + switch ((d = oe[h].call(Se, e, u, i, n, r, s, o, a, l, c))) { + case void 0: + case !1: + case !0: + case null: + break; + default: + u = d; + } + if (u !== t) return u; + } + function we(e, t, i, n) { + for (var r = t + 1; r < i; ++r) + switch (n.charCodeAt(r)) { + case U: + if (e === j && n.charCodeAt(r - 1) === j && t + 2 !== r) + return r + 1; + break; + case F: + if (e === U) return r + 1; + } + return r; + } + function Ce(e) { + for (var t in e) { + var i = e[t]; + switch (t) { + case 'keyframe': + de = 0 | i; + break; + case 'global': + te = 0 | i; + break; + case 'cascade': + X = 0 | i; + break; + case 'compress': + ie = 0 | i; + break; + case 'semicolon': + ne = 0 | i; + break; + case 'preserve': + re = 0 | i; + break; + case 'prefix': + (le = null), + i + ? 'function' != typeof i + ? (ee = 1) + : ((ee = 2), (le = i)) + : (ee = 0); + } + } + return Ce; + } + function Se(t, i) { + if (void 0 !== this && this.constructor === Se) return e(t); + var r = t, + s = r.charCodeAt(0); + s < 33 && (s = (r = r.trim()).charCodeAt(0)), + de > 0 && (he = r.replace(g, 91 === s ? '' : '-')), + (s = 1), + 1 === X ? (ge = r) : (ue = r); + var o, + a = [ge]; + ae > 0 && + void 0 !== (o = ye(-1, i, a, a, J, Z, 0, 0, 0, 0)) && + 'string' == typeof o && + (i = o); + var l = fe(se, a, i, 0, 0); + return ( + ae > 0 && + void 0 !== (o = ye(-2, l, a, a, J, Z, l.length, 0, 0, 0)) && + 'string' != typeof (l = o) && + (s = 0), + (he = ''), + (ge = ''), + (ue = ''), + (Q = 0), + (J = 1), + (Z = 1), + ie * s == 0 + ? l + : (function (e) { + return e + .replace(n, '') + .replace(_, '') + .replace(b, '$1') + .replace(v, '$1') + .replace(y, ' '); + })(l) + ); + } + return ( + (Se.use = function e(t) { + switch (t) { + case void 0: + case null: + ae = oe.length = 0; + break; + default: + if ('function' == typeof t) oe[ae++] = t; + else if ('object' == typeof t) + for (var i = 0, n = t.length; i < n; ++i) e(t[i]); + else ce = 0 | !!t; + } + return e; + }), + (Se.set = Ce), + void 0 !== t && Ce(t), + Se + ); + })(null); + }, + 73466: (e, t, i) => { + 'use strict'; + function n() {} + function r(e, t) { + for (const i in t) e[i] = t[i]; + return e; + } + function s(e) { + return e(); + } + function o() { + return Object.create(null); + } + function a(e) { + e.forEach(s); + } + function l(e) { + return 'function' == typeof e; + } + function c(e, t) { + return e != e + ? t == t + : e !== t || (e && 'object' == typeof e) || 'function' == typeof e; + } + function d(e) { + return 0 === Object.keys(e).length; + } + function h(e, ...t) { + if (null == e) return n; + const i = e.subscribe(...t); + return i.unsubscribe ? () => i.unsubscribe() : i; + } + function u(e) { + let t; + return h(e, (e) => (t = e))(), t; + } + function g(e, t, i, n) { + if (e) { + const r = f(e, t, i, n); + return e[0](r); + } + } + function f(e, t, i, n) { + return e[1] && n ? r(i.ctx.slice(), e[1](n(t))) : i.ctx; + } + function p(e, t, i, n, r, s, o) { + const a = (function (e, t, i, n) { + if (e[2] && n) { + const r = e[2](n(i)); + if (void 0 === t.dirty) return r; + if ('object' == typeof r) { + const e = [], + i = Math.max(t.dirty.length, r.length); + for (let n = 0; n < i; n += 1) e[n] = t.dirty[n] | r[n]; + return e; + } + return t.dirty | r; + } + return t.dirty; + })(t, n, r, s); + if (a) { + const r = f(t, i, n, o); + e.p(r, a); + } + } + function m(e) { + return null == e ? '' : e; + } + function _(e) { + return e && l(e.destroy) ? e.destroy : n; + } + new Set(); + let b = !1; + const v = new Set(); + function y(e, t) { + b && v.delete(t), t.parentNode !== e && e.appendChild(t); + } + function w(e, t, i) { + b && v.delete(t), + (t.parentNode !== e || (i && t.nextSibling !== i)) && + e.insertBefore(t, i || null); + } + function C(e) { + b ? v.add(e) : e.parentNode && e.parentNode.removeChild(e); + } + function S(e, t) { + for (let i = 0; i < e.length; i += 1) e[i] && e[i].d(t); + } + function k(e) { + return document.createElement(e); + } + function x(e) { + return document.createTextNode(e); + } + function L() { + return x(' '); + } + function M() { + return x(''); + } + function D(e, t, i, n) { + return ( + e.addEventListener(t, i, n), () => e.removeEventListener(t, i, n) + ); + } + function N(e, t, i) { + null == i + ? e.removeAttribute(t) + : e.getAttribute(t) !== i && e.setAttribute(t, i); + } + function E(e) { + return '' === e ? null : +e; + } + function T(e, t) { + (t = '' + t), e.wholeText !== t && (e.data = t); + } + function I(e, t) { + e.value = null == t ? '' : t; + } + let O; + function A(e) { + O = e; + } + function R() { + if (!O) + throw new Error('Function called outside component initialization'); + return O; + } + function P(e) { + R().$$.on_mount.push(e); + } + function F(e, t) { + const i = e.$$.callbacks[t.type]; + i && i.slice().forEach((e) => e(t)); + } + new Set(); + const B = [], + W = [], + Y = [], + H = [], + j = Promise.resolve(); + let V = !1; + function z() { + V || ((V = !0), j.then(G)); + } + function U() { + return z(), j; + } + function $(e) { + Y.push(e); + } + let K = !1; + const q = new Set(); + function G() { + if (!K) { + K = !0; + do { + for (let e = 0; e < B.length; e += 1) { + const t = B[e]; + A(t), Z(t.$$); + } + for (A(null), B.length = 0; W.length; ) W.pop()(); + for (let e = 0; e < Y.length; e += 1) { + const t = Y[e]; + q.has(t) || (q.add(t), t()); + } + Y.length = 0; + } while (B.length); + for (; H.length; ) H.pop()(); + (V = !1), (K = !1), q.clear(); + } + } + function Z(e) { + if (null !== e.fragment) { + e.update(), a(e.before_update); + const t = e.dirty; + (e.dirty = [-1]), + e.fragment && e.fragment.p(e.ctx, t), + e.after_update.forEach($); + } + } + const J = new Set(); + let Q, X; + function ee() { + Q = { r: 0, c: [], p: Q }; + } + function te() { + Q.r || a(Q.c), (Q = Q.p); + } + function ie(e, t) { + e && e.i && (J.delete(e), e.i(t)); + } + function ne(e, t, i, n) { + if (e && e.o) { + if (J.has(e)) return; + J.add(e), + Q.c.push(() => { + J.delete(e), n && (i && e.d(1), n()); + }), + e.o(t); + } + } + function re(e, t) { + const i = {}, + n = {}, + r = { $$scope: 1 }; + let s = e.length; + for (; s--; ) { + const o = e[s], + a = t[s]; + if (a) { + for (const e in o) e in a || (n[e] = 1); + for (const e in a) r[e] || ((i[e] = a[e]), (r[e] = 1)); + e[s] = a; + } else for (const e in o) r[e] = 1; + } + for (const e in n) e in i || (i[e] = void 0); + return i; + } + function se(e) { + return 'object' == typeof e && null !== e ? e : {}; + } + function oe(e) { + e && e.c(); + } + function ae(e, t, i, n) { + const { + fragment: r, + on_mount: o, + on_destroy: c, + after_update: d, + } = e.$$; + r && r.m(t, i), + n || + $(() => { + const t = o.map(s).filter(l); + c ? c.push(...t) : a(t), (e.$$.on_mount = []); + }), + d.forEach($); + } + function le(e, t) { + const i = e.$$; + null !== i.fragment && + (a(i.on_destroy), + i.fragment && i.fragment.d(t), + (i.on_destroy = i.fragment = null), + (i.ctx = [])); + } + function ce(e, t, i, r, s, l, c = [-1]) { + const d = O; + A(e); + const h = (e.$$ = { + fragment: null, + ctx: null, + props: l, + update: n, + not_equal: s, + bound: o(), + on_mount: [], + on_destroy: [], + on_disconnect: [], + before_update: [], + after_update: [], + context: new Map(d ? d.$$.context : t.context || []), + callbacks: o(), + dirty: c, + skip_bound: !1, + }); + let u = !1; + if ( + ((h.ctx = i + ? i(e, t.props || {}, (t, i, ...n) => { + const r = n.length ? n[0] : i; + return ( + h.ctx && + s(h.ctx[t], (h.ctx[t] = r)) && + (!h.skip_bound && h.bound[t] && h.bound[t](r), + u && + (function (e, t) { + -1 === e.$$.dirty[0] && + (B.push(e), z(), e.$$.dirty.fill(0)), + (e.$$.dirty[(t / 31) | 0] |= 1 << t % 31); + })(e, t)), + i + ); + }) + : []), + h.update(), + (u = !0), + a(h.before_update), + (h.fragment = !!r && r(h.ctx)), + t.target) + ) { + if (t.hydrate) { + b = !0; + const e = ((g = t.target), Array.from(g.childNodes)); + h.fragment && h.fragment.l(e), e.forEach(C); + } else h.fragment && h.fragment.c(); + t.intro && ie(e.$$.fragment), + ae(e, t.target, t.anchor, t.customElement), + (function () { + b = !1; + for (const e of v) e.parentNode.removeChild(e); + v.clear(); + })(), + G(); + } + var g; + A(d); + } + 'undefined' != typeof window + ? window + : 'undefined' != typeof globalThis + ? globalThis + : global, + new Set([ + 'allowfullscreen', + 'allowpaymentrequest', + 'async', + 'autofocus', + 'autoplay', + 'checked', + 'controls', + 'default', + 'defer', + 'disabled', + 'formnovalidate', + 'hidden', + 'ismap', + 'loop', + 'multiple', + 'muted', + 'nomodule', + 'novalidate', + 'open', + 'playsinline', + 'readonly', + 'required', + 'reversed', + 'selected', + ]), + 'function' == typeof HTMLElement && + (X = class extends HTMLElement { + constructor() { + super(), this.attachShadow({ mode: 'open' }); + } + connectedCallback() { + const { on_mount: e } = this.$$; + this.$$.on_disconnect = e.map(s).filter(l); + for (const e in this.$$.slotted) + this.appendChild(this.$$.slotted[e]); + } + attributeChangedCallback(e, t, i) { + this[e] = i; + } + disconnectedCallback() { + a(this.$$.on_disconnect); + } + $destroy() { + le(this, 1), (this.$destroy = n); + } + $on(e, t) { + const i = this.$$.callbacks[e] || (this.$$.callbacks[e] = []); + return ( + i.push(t), + () => { + const e = i.indexOf(t); + -1 !== e && i.splice(e, 1); + } + ); + } + $set(e) { + this.$$set && + !d(e) && + ((this.$$.skip_bound = !0), + this.$$set(e), + (this.$$.skip_bound = !1)); + } + }); + class de { + $destroy() { + le(this, 1), (this.$destroy = n); + } + $on(e, t) { + const i = this.$$.callbacks[e] || (this.$$.callbacks[e] = []); + return ( + i.push(t), + () => { + const e = i.indexOf(t); + -1 !== e && i.splice(e, 1); + } + ); + } + $set(e) { + this.$$set && + !d(e) && + ((this.$$.skip_bound = !0), + this.$$set(e), + (this.$$.skip_bound = !1)); + } + } + const he = []; + function ue(e, t) { + return { subscribe: ge(e, t).subscribe }; + } + function ge(e, t = n) { + let i; + const r = []; + function s(t) { + if (c(e, t) && ((e = t), i)) { + const t = !he.length; + for (let t = 0; t < r.length; t += 1) { + const i = r[t]; + i[1](), he.push(i, e); + } + if (t) { + for (let e = 0; e < he.length; e += 2) he[e][0](he[e + 1]); + he.length = 0; + } + } + } + return { + set: s, + update: function (t) { + s(t(e)); + }, + subscribe: function (o, a = n) { + const l = [o, a]; + return ( + r.push(l), + 1 === r.length && (i = t(s) || n), + o(e), + () => { + const e = r.indexOf(l); + -1 !== e && r.splice(e, 1), + 0 === r.length && (i(), (i = null)); + } + ); + }, + }; + } + function fe(e, t, i) { + const r = !Array.isArray(e), + s = r ? [e] : e, + o = t.length < 2; + return ue(i, (e) => { + let i = !1; + const c = []; + let d = 0, + u = n; + const g = () => { + if (d) return; + u(); + const i = t(r ? c[0] : c, e); + o ? e(i) : (u = l(i) ? i : n); + }, + f = s.map((e, t) => + h( + e, + (e) => { + (c[t] = e), (d &= ~(1 << t)), i && g(); + }, + () => { + d |= 1 << t; + } + ) + ); + return ( + (i = !0), + g(), + function () { + a(f), u(); + } + ); + }); + } + function pe(e) { + let t, i, n; + const s = [e[2]]; + var o = e[0]; + function a(e) { + let t = {}; + for (let e = 0; e < s.length; e += 1) t = r(t, s[e]); + return { props: t }; + } + return ( + o && ((t = new o(a())), t.$on('routeEvent', e[7])), + { + c() { + t && oe(t.$$.fragment), (i = M()); + }, + m(e, r) { + t && ae(t, e, r), w(e, i, r), (n = !0); + }, + p(e, n) { + const r = 4 & n ? re(s, [se(e[2])]) : {}; + if (o !== (o = e[0])) { + if (t) { + ee(); + const e = t; + ne(e.$$.fragment, 1, 0, () => { + le(e, 1); + }), + te(); + } + o + ? ((t = new o(a())), + t.$on('routeEvent', e[7]), + oe(t.$$.fragment), + ie(t.$$.fragment, 1), + ae(t, i.parentNode, i)) + : (t = null); + } else o && t.$set(r); + }, + i(e) { + n || (t && ie(t.$$.fragment, e), (n = !0)); + }, + o(e) { + t && ne(t.$$.fragment, e), (n = !1); + }, + d(e) { + e && C(i), t && le(t, e); + }, + } + ); + } + function me(e) { + let t, i, n; + const s = [{ params: e[1] }, e[2]]; + var o = e[0]; + function a(e) { + let t = {}; + for (let e = 0; e < s.length; e += 1) t = r(t, s[e]); + return { props: t }; + } + return ( + o && ((t = new o(a())), t.$on('routeEvent', e[6])), + { + c() { + t && oe(t.$$.fragment), (i = M()); + }, + m(e, r) { + t && ae(t, e, r), w(e, i, r), (n = !0); + }, + p(e, n) { + const r = + 6 & n + ? re(s, [2 & n && { params: e[1] }, 4 & n && se(e[2])]) + : {}; + if (o !== (o = e[0])) { + if (t) { + ee(); + const e = t; + ne(e.$$.fragment, 1, 0, () => { + le(e, 1); + }), + te(); + } + o + ? ((t = new o(a())), + t.$on('routeEvent', e[6]), + oe(t.$$.fragment), + ie(t.$$.fragment, 1), + ae(t, i.parentNode, i)) + : (t = null); + } else o && t.$set(r); + }, + i(e) { + n || (t && ie(t.$$.fragment, e), (n = !0)); + }, + o(e) { + t && ne(t.$$.fragment, e), (n = !1); + }, + d(e) { + e && C(i), t && le(t, e); + }, + } + ); + } + function _e(e) { + let t, i, n, r; + const s = [me, pe], + o = []; + function a(e, t) { + return e[1] ? 0 : 1; + } + return ( + (t = a(e)), + (i = o[t] = s[t](e)), + { + c() { + i.c(), (n = M()); + }, + m(e, i) { + o[t].m(e, i), w(e, n, i), (r = !0); + }, + p(e, [r]) { + let l = t; + (t = a(e)), + t === l + ? o[t].p(e, r) + : (ee(), + ne(o[l], 1, 1, () => { + o[l] = null; + }), + te(), + (i = o[t]), + i ? i.p(e, r) : ((i = o[t] = s[t](e)), i.c()), + ie(i, 1), + i.m(n.parentNode, n)); + }, + i(e) { + r || (ie(i), (r = !0)); + }, + o(e) { + ne(i), (r = !1); + }, + d(e) { + o[t].d(e), e && C(n); + }, + } + ); + } + function be() { + const e = window.location.href.indexOf('#/'); + let t = e > -1 ? window.location.href.substr(e + 1) : '/'; + const i = t.indexOf('?'); + let n = ''; + return ( + i > -1 && ((n = t.substr(i + 1)), (t = t.substr(0, i))), + { location: t, querystring: n } + ); + } + const ve = ue(null, function (e) { + e(be()); + const t = () => { + e(be()); + }; + return ( + window.addEventListener('hashchange', t, !1), + function () { + window.removeEventListener('hashchange', t, !1); + } + ); + }), + ye = fe(ve, (e) => e.location); + function we(e, t, i) { + let { routes: n = {} } = t, + { prefix: r = '' } = t, + { restoreScrollState: s = !1 } = t; + class o { + constructor(e, t) { + if ( + !t || + ('function' != typeof t && + ('object' != typeof t || !0 !== t._sveltesparouter)) + ) + throw Error('Invalid component object'); + if ( + !e || + ('string' == typeof e && + (e.length < 1 || + ('/' != e.charAt(0) && '*' != e.charAt(0)))) || + ('object' == typeof e && !(e instanceof RegExp)) + ) + throw Error( + 'Invalid value for "path" argument - strings must start with / or *' + ); + const { pattern: i, keys: n } = (function (e, t) { + if (e instanceof RegExp) return { keys: !1, pattern: e }; + var i, + n, + r, + s, + o = [], + a = '', + l = e.split('/'); + for (l[0] || l.shift(); (r = l.shift()); ) + '*' === (i = r[0]) + ? (o.push('wild'), (a += '/(.*)')) + : ':' === i + ? ((n = r.indexOf('?', 1)), + (s = r.indexOf('.', 1)), + o.push(r.substring(1, ~n ? n : ~s ? s : r.length)), + (a += ~n && !~s ? '(?:/([^/]+?))?' : '/([^/]+?)'), + ~s && (a += (~n ? '?' : '') + '\\' + r.substring(s))) + : (a += '/' + r); + return { keys: o, pattern: new RegExp('^' + a + '/?$', 'i') }; + })(e); + (this.path = e), + 'object' == typeof t && !0 === t._sveltesparouter + ? ((this.component = t.component), + (this.conditions = t.conditions || []), + (this.userData = t.userData), + (this.props = t.props || {})) + : ((this.component = () => Promise.resolve(t)), + (this.conditions = []), + (this.props = {})), + (this._pattern = i), + (this._keys = n); + } + match(e) { + if (r) + if ('string' == typeof r) { + if (!e.startsWith(r)) return null; + e = e.substr(r.length) || '/'; + } else if (r instanceof RegExp) { + const t = e.match(r); + if (!t || !t[0]) return null; + e = e.substr(t[0].length) || '/'; + } + const t = this._pattern.exec(e); + if (null === t) return null; + if (!1 === this._keys) return t; + const i = {}; + let n = 0; + for (; n < this._keys.length; ) { + try { + i[this._keys[n]] = decodeURIComponent(t[n + 1] || '') || null; + } catch (e) { + i[this._keys[n]] = null; + } + n++; + } + return i; + } + async checkConditions(e) { + for (let t = 0; t < this.conditions.length; t++) + if (!(await this.conditions[t](e))) return !1; + return !0; + } + } + const a = []; + n instanceof Map + ? n.forEach((e, t) => { + a.push(new o(t, e)); + }) + : Object.keys(n).forEach((e) => { + a.push(new o(e, n[e])); + }); + let l = null, + c = null, + d = {}; + const h = (function () { + const e = R(); + return (t, i) => { + const n = e.$$.callbacks[t]; + if (n) { + const r = (function (e, t) { + const i = document.createEvent('CustomEvent'); + return i.initCustomEvent(e, !1, !1, t), i; + })(t, i); + n.slice().forEach((t) => { + t.call(e, r); + }); + } + }; + })(); + async function u(e, t) { + await U(), h(e, t); + } + let g = null; + var f; + s && + (window.addEventListener('popstate', (e) => { + g = e.state && e.state.scrollY ? e.state : null; + }), + (f = () => { + g ? window.scrollTo(g.scrollX, g.scrollY) : window.scrollTo(0, 0); + }), + R().$$.after_update.push(f)); + let p = null, + m = null; + return ( + ve.subscribe(async (e) => { + p = e; + let t = 0; + for (; t < a.length; ) { + const n = a[t].match(e.location); + if (!n) { + t++; + continue; + } + const r = { + route: a[t].path, + location: e.location, + querystring: e.querystring, + userData: a[t].userData, + }; + if (!(await a[t].checkConditions(r))) + return ( + i(0, (l = null)), (m = null), void u('conditionsFailed', r) + ); + u('routeLoading', Object.assign({}, r)); + const s = a[t].component; + if (m != s) { + s.loading + ? (i(0, (l = s.loading)), + (m = s), + i(1, (c = s.loadingParams)), + i(2, (d = {})), + u( + 'routeLoaded', + Object.assign({}, r, { component: l, name: l.name }) + )) + : (i(0, (l = null)), (m = null)); + const t = await s(); + if (e != p) return; + i(0, (l = (t && t.default) || t)), (m = s); + } + return ( + n && 'object' == typeof n && Object.keys(n).length + ? i(1, (c = n)) + : i(1, (c = null)), + i(2, (d = a[t].props)), + void u( + 'routeLoaded', + Object.assign({}, r, { component: l, name: l.name }) + ) + ); + } + i(0, (l = null)), (m = null); + }), + (e.$$set = (e) => { + 'routes' in e && i(3, (n = e.routes)), + 'prefix' in e && i(4, (r = e.prefix)), + 'restoreScrollState' in e && i(5, (s = e.restoreScrollState)); + }), + (e.$$.update = () => { + 32 & e.$$.dirty && + (history.scrollRestoration = s ? 'manual' : 'auto'); + }), + [ + l, + c, + d, + n, + r, + s, + function (t) { + F(e, t); + }, + function (t) { + F(e, t); + }, + ] + ); + } + fe(ve, (e) => e.querystring); + const Ce = class extends de { + constructor(e) { + super(), + ce(this, e, we, _e, c, { + routes: 3, + prefix: 4, + restoreScrollState: 5, + }); + } + }, + Se = 'function' == typeof atob, + ke = 'function' == typeof btoa, + xe = 'function' == typeof Buffer, + Le = 'function' == typeof TextDecoder ? new TextDecoder() : void 0, + Me = 'function' == typeof TextEncoder ? new TextEncoder() : void 0, + De = [ + ...'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=', + ], + Ne = ((e) => { + let t = {}; + return e.forEach((e, i) => (t[e] = i)), t; + })(De), + Ee = /^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/, + Te = String.fromCharCode.bind(String), + Ie = + 'function' == typeof Uint8Array.from + ? Uint8Array.from.bind(Uint8Array) + : (e, t = (e) => e) => + new Uint8Array(Array.prototype.slice.call(e, 0).map(t)), + Oe = (e) => e.replace(/[^A-Za-z0-9\+\/]/g, ''), + Ae = ke + ? (e) => btoa(e) + : xe + ? (e) => Buffer.from(e, 'binary').toString('base64') + : (e) => { + let t, + i, + n, + r, + s = ''; + const o = e.length % 3; + for (let o = 0; o < e.length; ) { + if ( + (i = e.charCodeAt(o++)) > 255 || + (n = e.charCodeAt(o++)) > 255 || + (r = e.charCodeAt(o++)) > 255 + ) + throw new TypeError('invalid character found'); + (t = (i << 16) | (n << 8) | r), + (s += + De[(t >> 18) & 63] + + De[(t >> 12) & 63] + + De[(t >> 6) & 63] + + De[63 & t]); + } + return o ? s.slice(0, o - 3) + '==='.substring(o) : s; + }, + Re = xe + ? (e) => Buffer.from(e).toString('base64') + : (e) => { + let t = []; + for (let i = 0, n = e.length; i < n; i += 4096) + t.push(Te.apply(null, e.subarray(i, i + 4096))); + return Ae(t.join('')); + }, + Pe = (e) => { + if (e.length < 2) + return (t = e.charCodeAt(0)) < 128 + ? e + : t < 2048 + ? Te(192 | (t >>> 6)) + Te(128 | (63 & t)) + : Te(224 | ((t >>> 12) & 15)) + + Te(128 | ((t >>> 6) & 63)) + + Te(128 | (63 & t)); + var t = + 65536 + + 1024 * (e.charCodeAt(0) - 55296) + + (e.charCodeAt(1) - 56320); + return ( + Te(240 | ((t >>> 18) & 7)) + + Te(128 | ((t >>> 12) & 63)) + + Te(128 | ((t >>> 6) & 63)) + + Te(128 | (63 & t)) + ); + }, + Fe = /[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g, + Be = xe + ? (e) => Buffer.from(e, 'utf8').toString('base64') + : Me + ? (e) => Re(Me.encode(e)) + : (e) => Ae(e.replace(Fe, Pe)), + We = (e, t = !1) => + t + ? ((e) => + e + .replace(/[+\/]/g, (e) => ('+' == e ? '-' : '_')) + .replace(/=+$/m, ''))(Be(e)) + : Be(e), + Ye = /[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g, + He = (e) => { + switch (e.length) { + case 4: + var t = + (((7 & e.charCodeAt(0)) << 18) | + ((63 & e.charCodeAt(1)) << 12) | + ((63 & e.charCodeAt(2)) << 6) | + (63 & e.charCodeAt(3))) - + 65536; + return Te(55296 + (t >>> 10)) + Te(56320 + (1023 & t)); + case 3: + return Te( + ((15 & e.charCodeAt(0)) << 12) | + ((63 & e.charCodeAt(1)) << 6) | + (63 & e.charCodeAt(2)) + ); + default: + return Te( + ((31 & e.charCodeAt(0)) << 6) | (63 & e.charCodeAt(1)) + ); + } + }, + je = Se + ? (e) => atob(Oe(e)) + : xe + ? (e) => Buffer.from(e, 'base64').toString('binary') + : (e) => { + if (((e = e.replace(/\s+/g, '')), !Ee.test(e))) + throw new TypeError('malformed base64.'); + e += '=='.slice(2 - (3 & e.length)); + let t, + i, + n, + r = ''; + for (let s = 0; s < e.length; ) + (t = + (Ne[e.charAt(s++)] << 18) | + (Ne[e.charAt(s++)] << 12) | + ((i = Ne[e.charAt(s++)]) << 6) | + (n = Ne[e.charAt(s++)])), + (r += + 64 === i + ? Te((t >> 16) & 255) + : 64 === n + ? Te((t >> 16) & 255, (t >> 8) & 255) + : Te((t >> 16) & 255, (t >> 8) & 255, 255 & t)); + return r; + }, + Ve = xe + ? (e) => Ie(Buffer.from(e, 'base64')) + : (e) => Ie(je(e), (e) => e.charCodeAt(0)), + ze = xe + ? (e) => Buffer.from(e, 'base64').toString('utf8') + : Le + ? (e) => Le.decode(Ve(e)) + : (e) => je(e).replace(Ye, He), + Ue = We, + $e = (e) => We(e, !0), + Ke = (e) => ze(Oe(e.replace(/[-_]/g, (e) => ('-' == e ? '+' : '/')))), + qe = { + code: + 'graph TD\n A[Christmas] --\x3e|Get money| B(Go shopping)\n B --\x3e C{Let me think}\n C --\x3e|One| D[Laptop]\n C --\x3e|Two| E[iPhone]\n C --\x3e|Three| F[fa:fa-car Car]\n ', + mermaid: { + theme: + (window.matchMedia('(prefers-color-scheme: dark)').matches, + 'default'), + }, + }, + Ge = ge(qe), + Ze = (e) => { + let t; + try { + const i = Ke(e); + console.log('state from url', i), (t = JSON.parse(i)); + } catch (e) { + console.error('Init error', e), (t = qe); + } + Ge.set({ ...t, updateEditor: !0 }); + }, + Je = (e, t) => { + const i = u(Ge); + Ge.set({ ...i, code: e, updateEditor: t }); + }, + Qe = ge(void 0), + Xe = ge(void 0); + var et = i(21140), + tt = i.n(et); + function it(e) { + let t, i, n; + return { + c() { + (t = k('div')), + (i = x(e[1])), + N(t, 'id', 'error'), + N(t, 'class', (n = m(e[0]) + ' svelte-104hor5')); + }, + m(e, n) { + w(e, t, n), y(t, i); + }, + p(e, r) { + 2 & r && T(i, e[1]), + 1 & r && + n !== (n = m(e[0]) + ' svelte-104hor5') && + N(t, 'class', n); + }, + d(e) { + e && C(t); + }, + }; + } + function nt(e) { + let t, + i = e[1] && it(e); + return { + c() { + i && i.c(), (t = M()); + }, + m(e, n) { + i && i.m(e, n), w(e, t, n); + }, + p(e, [n]) { + e[1] + ? i + ? i.p(e, n) + : ((i = it(e)), i.c(), i.m(t.parentNode, t)) + : i && (i.d(1), (i = null)); + }, + i: n, + o: n, + d(e) { + i && i.d(e), e && C(t); + }, + }; + } + function rt(e, t, i) { + let n, + { classes: r = '' } = t, + { errorStore: s } = t; + return ( + s.subscribe((e) => { + i(1, (n = !!e && e.toString())); + }), + (e.$$set = (e) => { + 'classes' in e && i(0, (r = e.classes)), + 'errorStore' in e && i(2, (s = e.errorStore)); + }), + [r, n, s] + ); + } + const st = class extends de { + constructor(e) { + super(), ce(this, e, rt, nt, c, { classes: 0, errorStore: 2 }); + } + }, + ot = (e) => { + e.languages.register({ id: 'mermaid' }), + e.languages.setMonarchTokensProvider('mermaid', { + typeKeywords: [ + 'graph', + 'stateDiagram', + 'sequenceDiagram', + 'classDiagram', + 'pie', + 'flowchart', + 'gantt', + ], + keywords: ['patricipant', 'as'], + arrows: ['---', '===', '--\x3e', '==>'], + tokenizer: { + root: [ + [/[{}]/, 'delimiter.bracket'], + [ + /[a-z_$][\w$]*/, + { + cases: { + '@typeKeywords': 'keyword', + '@keywords': 'keyword', + }, + }, + ], + [/[-=>ox]+/, { cases: { '@arrows': 'transition' } }], + [/[\[\{\(}]+.+?[\)\]\}]+/, 'string'], + [/\".*\"/, 'string'], + ], + }, + whitespace: [ + [/[ \t\r\n]+/, 'white'], + [/\%\%.*$/, 'comment'], + ], + }), + e.editor.defineTheme('myCoolTheme', { + base: 'vs', + inherit: !1, + rules: [ + { token: 'keyword', foreground: '880000', fontStyle: 'bold' }, + { + token: 'custom-error', + foreground: 'ff0000', + fontStyle: 'bold', + }, + { token: 'string', foreground: 'AA8500' }, + { + token: 'transition', + foreground: '008800', + fontStyle: 'bold', + }, + { + token: 'delimiter.bracket', + foreground: '000000', + fontStyle: 'bold', + }, + ], + }), + e.languages.registerCompletionItemProvider('mermaid', { + provideCompletionItems: () => ({ + suggestions: [ + { + label: 'simpleText', + kind: e.languages.CompletionItemKind.Text, + insertText: 'simpleText', + }, + { + label: 'testing', + kind: e.languages.CompletionItemKind.Keyword, + insertText: 'testing(${1:condition})', + insertTextRules: + e.languages.CompletionItemInsertTextRule + .InsertAsSnippet, + }, + { + label: 'ifelse', + kind: e.languages.CompletionItemKind.Snippet, + insertText: [ + 'if (${1:condition}) {', + '\t$0', + '} else {', + '\t', + '}', + ].join('\n'), + insertTextRules: + e.languages.CompletionItemInsertTextRule + .InsertAsSnippet, + documentation: 'If-Else Statement', + }, + ], + }), + }); + }, + at = (e) => (t) => e && e.layout(); + var lt = i(36640), + ct = i(63844), + dt = i.n(ct)()({ strategy: 'scroll' }); + function ht(e, t) { + dt.listenTo(e, t); + var i = t; + return { + update: function (t) { + dt.removeListener(e, i), dt.listenTo(e, t), (i = t); + }, + destroy: function () { + dt.removeListener(e, i); + }, + }; + } + function ut(e) { + let t, i, n, r, s, o, a, c; + return ( + (s = new st({ props: { errorStore: Qe } })), + { + c() { + (t = k('div')), + (i = k('div')), + (r = L()), + oe(s.$$.fragment), + N(i, 'id', 'editor'), + N(i, 'class', 'svelte-129q4vv'), + N(t, 'id', 'editor-container'); + }, + m(l, d) { + w(l, t, d), + y(t, i), + y(t, r), + ae(s, t, null), + (o = !0), + a || ((c = _((n = ht.call(null, i, e[0])))), (a = !0)); + }, + p(e, [t]) { + n && l(n.update) && 1 & t && n.update.call(null, e[0]); + }, + i(e) { + o || (ie(s.$$.fragment, e), (o = !0)); + }, + o(e) { + ne(s.$$.fragment, e), (o = !1); + }, + d(e) { + e && C(t), le(s), (a = !1), c(); + }, + } + ); + } + function gt(e, t, i) { + let n; + const r = []; + let s = null, + o = () => {}; + const a = (e, t) => { + try { + tt().parse(e), + n && + (t && n.setValue(e), + r.forEach((e) => { + n.deltaDecorations(e, []); + })), + Je(e, !1), + Qe.set(void 0); + } catch (e) { + Qe.set('Syntax Error'), + console.log('Error in parsed', e.hash), + e.hash.line, + r.push( + n.deltaDecorations( + [], + [ + { + range: new lt.Range( + e.hash.loc.first_line, + e.hash.loc.last_line, + e.hash.loc.first_column, + e.hash.loc.last_column + ), + options: { inlineClassName: 'myInlineDecoration' }, + }, + ] + ) + ); + } + }; + return ( + Ge.subscribe((e) => { + e.updateEditor && a(e.code, !0); + }), + P(async () => { + ot(lt), + (s = document.getElementById('editor')), + (n = lt.editor.create(s, { + value: '', + theme: 'myCoolTheme', + language: 'mermaid', + })), + i(0, (o = at(n))), + n.onDidChangeModelContent(function (e) { + a(n.getValue(), !1); + }), + ot(lt); + }), + [o] + ); + } + const ft = class extends de { + constructor(e) { + super(), ce(this, e, gt, ut, c, {}); + } + }; + var pt = i(50158); + function mt(e) { + let t, i, n, r, s, o, a, c; + return ( + (s = new st({ props: { errorStore: Xe } })), + { + c() { + (t = k('div')), + (i = k('div')), + (r = L()), + oe(s.$$.fragment), + N(i, 'id', 'editor-conf'), + N(i, 'class', 'svelte-e1y9ss'), + N(t, 'id', 'editor-container'); + }, + m(l, d) { + w(l, t, d), + y(t, i), + y(t, r), + ae(s, t, null), + (o = !0), + a || ((c = _((n = ht.call(null, i, e[0])))), (a = !0)); + }, + p(e, [t]) { + n && l(n.update) && 1 & t && n.update.call(null, e[0]); + }, + i(e) { + o || (ie(s.$$.fragment, e), (o = !0)); + }, + o(e) { + ne(s.$$.fragment, e), (o = !1); + }, + d(e) { + e && C(t), le(s), (a = !1), c(); + }, + } + ); + } + function _t(e, t, i) { + let n, + r = () => {}; + const s = (e, t) => { + console.log(e), + t && n && n.setValue(JSON.stringify(e, null, 2)), + ((e, t) => { + const i = u(Ge); + Ge.set({ ...i, mermaid: e, updateEditor: !1 }); + })(e), + Xe.set(void 0); + }; + return ( + Ge.subscribe((e) => { + console.log(e.mermaid, e.updateEditor), + e.updateEditor && s(e.mermaid, !0); + }), + P(async () => { + console.log('Mounting config'); + const e = document.getElementById('editor-conf'); + (n = pt.editor.create(e, { + value: '', + theme: 'myCoolTheme', + language: 'json', + })), + i(0, (r = at(n))), + n.onDidChangeModelContent(function (e) { + try { + const e = JSON.parse(n.getValue()); + s(e, !1); + } catch (e) { + console.log('Error in parsed', e), Xe.set(e); + } + }), + ot(pt); + }), + [r] + ); + } + const bt = class extends de { + constructor(e) { + super(), ce(this, e, _t, mt, c, {}); + } + }; + function vt(e) { + let t, i, r; + return { + c() { + (t = k('div')), + (i = k('div')), + N(i, 'id', 'container'), + N(i, 'class', 'svelte-adxv1m'), + N(t, 'id', 'view'), + N(t, 'class', (r = e[1] + ' ' + e[0] + ' svelte-adxv1m')); + }, + m(n, r) { + w(n, t, r), y(t, i), e[4](i); + }, + p(e, [i]) { + 3 & i && + r !== (r = e[1] + ' ' + e[0] + ' svelte-adxv1m') && + N(t, 'class', r); + }, + i: n, + o: n, + d(i) { + i && C(t), e[4](null); + }, + }; + } + function yt(e, t, i) { + let n, + r, + { code: s = '' } = t, + { configClasses: o = '' } = t, + { codeClasses: a = '' } = t; + P(async () => { + Ge.subscribe((e) => { + try { + r && + e && + (i( + 3, + (s = e.code.replace(/</g, '<').replace(/>/g, '>')) + ), + i(2, (r.innerHTML = s), r), + (o = (o = s).replace(/^\s*%%.*\n/g, '\n')), + console.debug( + 'Detecting diagram type based on the text ' + o + ), + (t = o.match(/^\s*sequenceDiagram/) + ? 'sequence' + : o.match(/^\s*gantt/) + ? 'gantt' + : o.match(/^\s*classDiagram/) + ? 'class' + : o.match(/^\s*stateDiagram/) + ? 'state' + : o.match(/^\s*gitGraph/) + ? 'git' + : o.match(/^\s*flowchart/) + ? 'flowchart' + : o.match(/^\s*info/) + ? 'info' + : o.match(/^\s*pie/) + ? 'pie' + : 'flowchart'), + clearTimeout(n), + (n = setTimeout(function () { + console.log('ga:', 'send', 'event', 'render', t, t), + ga('send', 'event', t, 'render', 'render'); + }, 5e3)), + delete r.dataset.processed, + tt().initialize(Object.assign({}, e.mermaid)), + tt().init(void 0, r), + s && tt().render('graph-div', s, l)); + } catch (e) { + console.log('view fail', e); + } + var t, o; + }), + Qe.subscribe((e) => { + void 0 === e + ? i(1, (a = '')) + : (i(1, (a = 'error')), console.log('code error: ', e)); + }), + Xe.subscribe((e) => { + void 0 === e + ? i(0, (o = '')) + : (i(0, (o = 'error')), console.log('conf error: ', e)); + }); + }); + let l = function (e, t) {}; + return ( + (e.$$set = (e) => { + 'code' in e && i(3, (s = e.code)), + 'configClasses' in e && i(0, (o = e.configClasses)), + 'codeClasses' in e && i(1, (a = e.codeClasses)); + }), + [ + o, + a, + r, + s, + function (e) { + W[e ? 'unshift' : 'push'](() => { + (r = e), i(2, r); + }); + }, + ] + ); + } + const wt = class extends de { + constructor(e) { + super(), + ce(this, e, yt, vt, c, { + code: 3, + configClasses: 0, + codeClasses: 1, + }); + } + }; + function Ct(e) { + let t, i, n, r, s, o, a; + const l = e[4].default, + c = g(l, e, e[3], null); + return { + c() { + (t = k('div')), + (i = k('div')), + (n = x(e[0])), + (r = L()), + (s = k('div')), + c && c.c(), + N(i, 'id', 'title'), + N(i, 'class', 'padding svelte-m2i2uf'), + N(s, 'id', 'content'), + N(s, 'class', (o = m(e[1]) + ' svelte-m2i2uf')), + N(t, 'id', 'card'), + N(t, 'class', 'svelte-m2i2uf'); + }, + m(e, o) { + w(e, t, o), + y(t, i), + y(i, n), + y(t, r), + y(t, s), + c && c.m(s, null), + (a = !0); + }, + p(e, [t]) { + (!a || 1 & t) && T(n, e[0]), + c && c.p && (!a || 8 & t) && p(c, l, e, e[3], t, null, null), + (!a || (2 & t && o !== (o = m(e[1]) + ' svelte-m2i2uf'))) && + N(s, 'class', o); + }, + i(e) { + a || (ie(c, e), (a = !0)); + }, + o(e) { + ne(c, e), (a = !1); + }, + d(e) { + e && C(t), c && c.d(e); + }, + }; + } + function St(e, t, i) { + let { $$slots: n = {}, $$scope: r } = t, + { title: s = '' } = t, + { noPadding: o = !1 } = t, + a = 'padding'; + return ( + o && (a = ''), + (e.$$set = (e) => { + 'title' in e && i(0, (s = e.title)), + 'noPadding' in e && i(2, (o = e.noPadding)), + '$$scope' in e && i(3, (r = e.$$scope)); + }), + [s, a, o, r, n] + ); + } + const kt = class extends de { + constructor(e) { + super(), ce(this, e, St, Ct, c, { title: 0, noPadding: 2 }); + } + }; + function xt(e) { + let t, i; + const n = e[1].default, + r = g(n, e, e[0], null); + return { + c() { + (t = k('div')), + r && r.c(), + N(t, 'id', 'tag'), + N(t, 'class', 'svelte-1nm8e4l'); + }, + m(e, n) { + w(e, t, n), r && r.m(t, null), (i = !0); + }, + p(e, [t]) { + r && r.p && (!i || 1 & t) && p(r, n, e, e[0], t, null, null); + }, + i(e) { + i || (ie(r, e), (i = !0)); + }, + o(e) { + ne(r, e), (i = !1); + }, + d(e) { + e && C(t), r && r.d(e); + }, + }; + } + function Lt(e, t, i) { + let { $$slots: n = {}, $$scope: r } = t; + return ( + (e.$$set = (e) => { + '$$scope' in e && i(0, (r = e.$$scope)); + }), + [r, n] + ); + } + const Mt = class extends de { + constructor(e) { + super(), ce(this, e, Lt, xt, c, {}); + } + }; + var Dt = i(30381), + Nt = i.n(Dt); + function Et(e) { + let t, + i, + r, + s, + o, + l, + c, + d, + h, + u, + g, + f, + p, + m, + _, + b, + v, + S, + M, + T, + O, + A, + R, + P, + F, + B, + W, + Y, + H, + j, + V, + z, + U, + $, + K, + q, + G, + Z, + J, + Q, + X, + ee, + te, + ie, + ne, + re, + se, + oe, + ae, + le, + ce, + de, + he, + ue, + ge = e[7](), + fe = + ge && + (function (e) { + let t, i, n, r, s; + return { + c() { + (t = k('button')), + (i = k('a')), + (n = x('Copy Image')), + N(i, 'class', 'link-style svelte-187ys3m'), + N(i, 'href', e[0]), + N(i, 'download', ''), + N(t, 'class', 'button-style svelte-187ys3m'); + }, + m(o, a) { + w(o, t, a), + y(t, i), + y(i, n), + r || ((s = D(i, 'click', e[8])), (r = !0)); + }, + p(e, t) { + 1 & t && N(i, 'href', e[0]); + }, + d(e) { + e && C(t), (r = !1), s(); + }, + }; + })(e); + return { + c() { + (t = k('div')), + fe && fe.c(), + (i = L()), + (r = k('button')), + (s = k('a')), + (o = x('Download PNG')), + (l = L()), + (c = k('button')), + (d = k('a')), + (h = x('Link to view')), + (u = L()), + (g = k('button')), + (f = k('a')), + (p = x('Download SVG')), + (m = L()), + (_ = k('button')), + (b = k('a')), + (v = x('Link to Image')), + (S = L()), + (M = k('button')), + (T = k('a')), + (O = x('Link to SVG')), + (A = x('\n (markdown is base64 encoded for these urls)')), + (R = L()), + (P = k('div')), + (F = k('label')), + (F.textContent = 'Copy Markdown'), + (B = L()), + (W = k('br')), + (Y = L()), + (H = k('input')), + (j = x('\n\nPNG size:\n')), + (V = k('br')), + (z = L()), + (U = k('input')), + ($ = L()), + (K = k('label')), + (K.textContent = 'auto'), + (q = k('br')), + (G = L()), + (Z = k('input')), + (J = L()), + (Q = k('label')), + (Q.textContent = 'width'), + (X = L()), + (ee = k('input')), + (ie = k('br')), + (ne = L()), + (re = k('input')), + (se = L()), + (oe = k('label')), + (oe.textContent = 'height'), + (ae = L()), + (le = k('input')), + (de = k('br')), + N(s, 'class', 'link-style svelte-187ys3m'), + N(s, 'href', e[0]), + N(s, 'download', ''), + N(r, 'class', 'button-style svelte-187ys3m'), + N(d, 'class', 'link-style svelte-187ys3m'), + N(d, 'href', e[0]), + N(c, 'class', 'button-style svelte-187ys3m'), + N(f, 'class', 'link-style svelte-187ys3m'), + N(f, 'href', e[0]), + N(f, 'download', ''), + N(g, 'class', 'button-style svelte-187ys3m'), + N(b, 'class', 'link-style svelte-187ys3m'), + N(b, 'href', e[1]), + N(_, 'class', 'button-style svelte-187ys3m'), + N(T, 'class', 'link-style svelte-187ys3m'), + N(T, 'href', e[2]), + N(M, 'class', 'button-style svelte-187ys3m'), + N(t, 'id', 'links'), + N(t, 'class', 'svelte-187ys3m'), + N(F, 'for', 'markdown'), + N(F, 'class', 'button-style svelte-187ys3m'), + N(H, 'id', 'markdown'), + N(H, 'type', 'text'), + (H.value = e[3]), + N(H, 'class', 'svelte-187ys3m'), + N(P, 'id', 'copy-section'), + N(P, 'class', 'svelte-187ys3m'), + N(U, 'type', 'radio'), + (U.__value = 'auto'), + (U.value = U.__value), + N(U, 'id', 'autosize'), + e[13][0].push(U), + N(K, 'for', 'autosize'), + N(Z, 'type', 'radio'), + (Z.__value = 'width'), + (Z.value = Z.__value), + N(Z, 'id', 'width-active'), + e[13][0].push(Z), + N(Q, 'for', 'width'), + N(ee, 'id', 'width'), + N(ee, 'type', 'number'), + N(ee, 'min', '3'), + N(ee, 'max', '10000'), + (ee.disabled = te = 'width' !== e[4]), + N(re, 'type', 'radio'), + (re.__value = 'height'), + (re.value = re.__value), + N(re, 'id', 'height-active'), + e[13][0].push(re), + N(oe, 'for', 'height'), + N(le, 'id', 'height'), + N(le, 'type', 'number'), + N(le, 'min', '3'), + N(le, 'max', '10000'), + (le.disabled = ce = 'height' !== e[4]); + }, + m(n, a) { + w(n, t, a), + fe && fe.m(t, null), + y(t, i), + y(t, r), + y(r, s), + y(s, o), + y(t, l), + y(t, c), + y(c, d), + y(d, h), + y(t, u), + y(t, g), + y(g, f), + y(f, p), + y(t, m), + y(t, _), + y(_, b), + y(b, v), + y(t, S), + y(t, M), + y(M, T), + y(T, O), + y(t, A), + w(n, R, a), + w(n, P, a), + y(P, F), + y(P, B), + y(P, W), + y(P, Y), + y(P, H), + w(n, j, a), + w(n, V, a), + w(n, z, a), + w(n, U, a), + (U.checked = U.__value === e[4]), + w(n, $, a), + w(n, K, a), + w(n, q, a), + w(n, G, a), + w(n, Z, a), + (Z.checked = Z.__value === e[4]), + w(n, J, a), + w(n, Q, a), + w(n, X, a), + w(n, ee, a), + I(ee, e[5]), + w(n, ie, a), + w(n, ne, a), + w(n, re, a), + (re.checked = re.__value === e[4]), + w(n, se, a), + w(n, oe, a), + w(n, ae, a), + w(n, le, a), + I(le, e[6]), + w(n, de, a), + he || + ((ue = [ + D(s, 'click', e[9]), + D(f, 'click', e[10]), + D(H, 'click', e[11]), + D(U, 'change', e[12]), + D(Z, 'change', e[14]), + D(ee, 'input', e[15]), + D(re, 'change', e[16]), + D(le, 'input', e[17]), + ]), + (he = !0)); + }, + p(e, [t]) { + ge && fe.p(e, t), + 1 & t && N(s, 'href', e[0]), + 1 & t && N(d, 'href', e[0]), + 1 & t && N(f, 'href', e[0]), + 2 & t && N(b, 'href', e[1]), + 4 & t && N(T, 'href', e[2]), + 8 & t && H.value !== e[3] && (H.value = e[3]), + 16 & t && (U.checked = U.__value === e[4]), + 16 & t && (Z.checked = Z.__value === e[4]), + 16 & t && te !== (te = 'width' !== e[4]) && (ee.disabled = te), + 32 & t && E(ee.value) !== e[5] && I(ee, e[5]), + 16 & t && (re.checked = re.__value === e[4]), + 16 & t && ce !== (ce = 'height' !== e[4]) && (le.disabled = ce), + 64 & t && E(le.value) !== e[6] && I(le, e[6]); + }, + i: n, + o: n, + d(i) { + i && C(t), + fe && fe.d(), + i && C(R), + i && C(P), + i && C(j), + i && C(V), + i && C(z), + i && C(U), + e[13][0].splice(e[13][0].indexOf(U), 1), + i && C($), + i && C(K), + i && C(q), + i && C(G), + i && C(Z), + e[13][0].splice(e[13][0].indexOf(Z), 1), + i && C(J), + i && C(Q), + i && C(X), + i && C(ee), + i && C(ie), + i && C(ne), + i && C(re), + e[13][0].splice(e[13][0].indexOf(re), 1), + i && C(se), + i && C(oe), + i && C(ae), + i && C(le), + i && C(de), + (he = !1), + a(ue); + }, + }; + } + function Tt(e, t, i) { + const n = () => { + const e = document + .getElementById('container') + .innerHTML.replaceAll('<br>', '<br/>'); + return Ue(e); + }, + r = (e, t) => { + const i = document.createElement('canvas'), + r = document + .querySelector('#container svg') + .getBoundingClientRect(); + if (((i.width = r.width), (i.height = r.height), 'width' === u)) { + const e = r.height / r.width; + (i.width = g), (i.height = g * e); + } else if ('height' === u) { + const e = r.width / r.height; + (i.width = f * e), (i.height = f); + } + const s = i.getContext('2d'); + (s.fillStyle = 'white'), s.fillRect(0, 0, i.width, i.height); + const o = new Image(); + (o.onload = t(i, s, o)), + console.log('SVG', n()), + (o.src = `data:image/svg+xml;base64,${n()}`), + e.stopPropagation(), + e.preventDefault(); + }, + s = (e, t, i) => () => { + t.drawImage(i, 0, 0, e.width, e.height); + const n = document.createElement('a'); + (n.download = `mermaid-diagram-${Nt()().format( + 'YYYYMMDDHHmmss' + )}.png`), + (n.href = e + .toDataURL('image/png') + .replace('image/png', 'image/octet-stream')), + n.click(); + }, + o = (e, t, i) => () => { + t.drawImage(i, 0, 0, e.width, e.height), + e.toBlob((e) => { + try { + navigator.clipboard.write([ + new ClipboardItem({ [e.type]: e }), + ]); + } catch (e) { + console.error(e); + } + }); + }; + let a, + l, + c, + d, + h, + u = 'auto', + g = 1920, + f = 1080; + return ( + Ge.subscribe((e) => { + (l = $e(JSON.stringify(e))), + i( + 0, + (a = `${window.location.pathname.split('#')[0]}#/view/${l}`) + ), + i(1, (c = `https://mermaid.ink/img/${l}`)), + i(2, (d = `https://mermaid.ink/svg/${l}`)), + i( + 3, + (h = `[![](${c})](${window.location.protocol}//${window.location.host}${window.location.pathname}#/edit/${l})`) + ); + }), + [ + a, + c, + d, + h, + u, + g, + f, + () => window.hasOwnProperty('ClipboardItem'), + (e) => { + r(e, o); + }, + (e) => { + r(e, s); + }, + (e) => { + console.log('event', e.target), + (e.target.href = `data:image/svg+xml;base64,${n()}`), + (e.target.download = `mermaid-diagram-${Nt()().format( + 'YYYYMMDDHHmmss' + )}.svg`), + console.log('event', e); + }, + (e) => { + e.target.select(), document.execCommand('Copy'); + }, + function () { + (u = this.__value), i(4, u); + }, + [[]], + function () { + (u = this.__value), i(4, u); + }, + function () { + (g = E(this.value)), i(5, g); + }, + function () { + (u = this.__value), i(4, u); + }, + function () { + (f = E(this.value)), i(6, f); + }, + ] + ); + } + const It = class extends de { + constructor(e) { + super(), ce(this, e, Tt, Et, c, {}); + } + }, + Ot = { i8: '8.9.3' }; + function At(e, t, i) { + const n = e.slice(); + return (n[9] = t[i]), (n[11] = i), n; + } + function Rt(e, t, i) { + const n = e.slice(); + return (n[12] = t[i]), (n[11] = i), n; + } + function Pt(e) { + let t, + i, + n, + r, + s, + o = e[12] + ''; + function a(...t) { + return e[7](e[12], ...t); + } + return { + c() { + (t = k('button')), + (i = x(o)), + (n = L()), + N(t, 'class', 'button-style svelte-mx8k4g'); + }, + m(e, o) { + w(e, t, o), + y(t, i), + y(t, n), + r || ((s = D(t, 'click', a)), (r = !0)); + }, + p(t, i) { + e = t; + }, + d(e) { + e && C(t), (r = !1), s(); + }, + }; + } + function Ft(e) { + let t, i; + return ( + (t = new ft({ props: { data: e[1].data } })), + { + c() { + oe(t.$$.fragment); + }, + m(e, n) { + ae(t, e, n), (i = !0); + }, + p(e, i) { + const n = {}; + 2 & i && (n.data = e[1].data), t.$set(n); + }, + i(e) { + i || (ie(t.$$.fragment, e), (i = !0)); + }, + o(e) { + ne(t.$$.fragment, e), (i = !1); + }, + d(e) { + le(t, e); + }, + } + ); + } + function Bt(e) { + let t, i; + return ( + (t = new bt({})), + { + c() { + oe(t.$$.fragment); + }, + m(e, n) { + ae(t, e, n), (i = !0); + }, + i(e) { + i || (ie(t.$$.fragment, e), (i = !0)); + }, + o(e) { + ne(t.$$.fragment, e), (i = !1); + }, + d(e) { + le(t, e); + }, + } + ); + } + function Wt(e) { + let t, i; + return ( + (t = new wt({})), + { + c() { + oe(t.$$.fragment); + }, + m(e, n) { + ae(t, e, n), (i = !0); + }, + i(e) { + i || (ie(t.$$.fragment, e), (i = !0)); + }, + o(e) { + ne(t.$$.fragment, e), (i = !1); + }, + d(e) { + le(t, e); + }, + } + ); + } + function Yt(e) { + let t; + return { + c() { + t = x('No records.'); + }, + m(e, i) { + w(e, t, i); + }, + p: n, + d(e) { + e && C(t); + }, + }; + } + function Ht(e) { + let t, + i = e[2], + n = []; + for (let t = 0; t < i.length; t += 1) n[t] = jt(At(e, i, t)); + return { + c() { + for (let e = 0; e < n.length; e += 1) n[e].c(); + t = M(); + }, + m(e, i) { + for (let t = 0; t < n.length; t += 1) n[t].m(e, i); + w(e, t, i); + }, + p(e, r) { + if (100 & r) { + let s; + for (i = e[2], s = 0; s < i.length; s += 1) { + const o = At(e, i, s); + n[s] + ? n[s].p(o, r) + : ((n[s] = jt(o)), n[s].c(), n[s].m(t.parentNode, t)); + } + for (; s < n.length; s += 1) n[s].d(1); + n.length = i.length; + } + }, + d(e) { + S(n, e), e && C(t); + }, + }; + } + function jt(e) { + let t, + i, + n, + r, + s, + o = e[6](e[9].time) + ''; + function a(...t) { + return e[8](e[9], ...t); + } + return { + c() { + (t = k('button')), + (i = x(o)), + (n = L()), + N(t, 'class', 'button-style svelte-mx8k4g'); + }, + m(e, o) { + w(e, t, o), + y(t, i), + y(t, n), + r || ((s = D(t, 'click', a)), (r = !0)); + }, + p(t, n) { + (e = t), 4 & n && o !== (o = e[6](e[9].time) + '') && T(i, o); + }, + d(e) { + e && C(t), (r = !1), s(); + }, + }; + } + function Vt(e) { + let t, i, n, r, s; + function o(e, t) { + return e[2].length > 0 ? Ht : Yt; + } + let a = o(e), + l = a(e); + return { + c() { + (t = k('span')), + (t.textContent = + 'Automatically saves once every minute, up to 10 records.'), + (i = L()), + (n = k('br')), + (r = L()), + (s = k('div')), + l.c(), + N(t, 'id', 'historyLoaderSubTitle'), + N(t, 'class', 'svelte-mx8k4g'), + N(s, 'id', 'historyList'), + N(s, 'class', 'button-container svelte-mx8k4g'); + }, + m(e, o) { + w(e, t, o), + w(e, i, o), + w(e, n, o), + w(e, r, o), + w(e, s, o), + l.m(s, null); + }, + p(e, t) { + a === (a = o(e)) && l + ? l.p(e, t) + : (l.d(1), (l = a(e)), l && (l.c(), l.m(s, null))); + }, + d(e) { + e && C(t), e && C(i), e && C(n), e && C(r), e && C(s), l.d(); + }, + }; + } + function zt(e) { + let t; + return { + c() { + (t = k('div')), + (t.innerHTML = + '<button class="button-style svelte-mx8k4g"><a href="https://mermaid-js.github.io/mermaid/#/n00b-gettingStarted" target="_blank" class="link-style svelte-mx8k4g">Mermaid Documentation</a></button> \n <button class="button-style svelte-mx8k4g"><a href="https://github.com/mermaid-js/mermaid/blob/master/docs/getting-started/Tutorials.md" target="_blank" class="link-style svelte-mx8k4g">Live Editor Video Tutorials</a></button> \n <button class="button-style svelte-mx8k4g"><a href="https://github.com/mermaid-js/mermaid" target="_blank" class="link-style svelte-mx8k4g">Mermaid on GitHub</a></button> \n <button class="button-style svelte-mx8k4g"><a href="https://github.com/mermaid-js/mermaid-live-editor" target="_blank" class="link-style svelte-mx8k4g">Live Editor on GitHub</a></button> \n <button class="button-style svelte-mx8k4g"><a href="https://github.com/mermaid-js/mermaid-cli" target="_blank" class="link-style svelte-mx8k4g">Mermaid CLI</a></button>'), + N(t, 'class', 'button-container svelte-mx8k4g'); + }, + m(e, i) { + w(e, t, i); + }, + d(e) { + e && C(t); + }, + }; + } + function Ut(e) { + let t, i; + return ( + (t = new It({})), + { + c() { + oe(t.$$.fragment); + }, + m(e, n) { + ae(t, e, n), (i = !0); + }, + i(e) { + i || (ie(t.$$.fragment, e), (i = !0)); + }, + o(e) { + ne(t.$$.fragment, e), (i = !1); + }, + d(e) { + le(t, e); + }, + } + ); + } + function $t(e) { + let t; + return { + c() { + t = x(e[0]); + }, + m(e, i) { + w(e, t, i); + }, + p(e, i) { + 1 & i && T(t, e[0]); + }, + d(e) { + e && C(t); + }, + }; + } + function Kt(e) { + let t, + i, + n, + r, + s, + o, + a, + l, + c, + d, + h, + u, + g, + f, + p, + m, + _, + b, + v, + M, + D, + E, + T, + I, + O, + A, + R, + P, + F, + B, + W = Object.keys(e[3]), + Y = []; + for (let t = 0; t < W.length; t += 1) Y[t] = Pt(Rt(e, W, t)); + return ( + (h = new kt({ + props: { + title: 'Code', + noPadding: 'true', + $$slots: { default: [Ft] }, + $$scope: { ctx: e }, + }, + })), + (g = new kt({ + props: { + title: 'Mermaid Configuration', + $$slots: { default: [Bt] }, + $$scope: { ctx: e }, + }, + })), + (m = new kt({ + props: { + title: 'Preview', + $$slots: { default: [Wt] }, + $$scope: { ctx: e }, + }, + })), + (M = new kt({ + props: { + title: 'Editing history', + $$slots: { default: [Vt] }, + $$scope: { ctx: e }, + }, + })), + (E = new kt({ + props: { + title: 'Links', + $$slots: { default: [zt] }, + $$scope: { ctx: e }, + }, + })), + (O = new kt({ + props: { + title: 'Actions', + $$slots: { default: [Ut] }, + $$scope: { ctx: e }, + }, + })), + (F = new Mt({ + props: { + color: 'green', + $$slots: { default: [$t] }, + $$scope: { ctx: e }, + }, + })), + { + c() { + (t = k('div')), + (i = k('div')), + (i.innerHTML = + '<h1 id="app-title" class="svelte-mx8k4g">Mermaid Live Editor</h1>'), + (n = L()), + (r = k('div')), + (s = k('div')), + (o = k('span')), + (o.innerHTML = '<strong>Diagram presets:</strong>'), + (a = L()); + for (let e = 0; e < Y.length; e += 1) Y[e].c(); + (l = L()), + (c = k('div')), + (d = k('div')), + oe(h.$$.fragment), + (u = L()), + oe(g.$$.fragment), + (f = L()), + (p = k('div')), + oe(m.$$.fragment), + (_ = L()), + (b = k('div')), + (v = k('div')), + oe(M.$$.fragment), + (D = L()), + oe(E.$$.fragment), + (T = L()), + (I = k('div')), + oe(O.$$.fragment), + (A = L()), + (R = k('div')), + (P = x('Powered by mermaid\n ')), + oe(F.$$.fragment), + N(i, 'id', 'title-container'), + N(i, 'class', 'svelte-mx8k4g'), + N(o, 'id', 'sampleLoaderTitle'), + N(s, 'class', 'button-container svelte-mx8k4g'), + N(r, 'id', 'sampleLoader'), + N(r, 'class', 'svelte-mx8k4g'), + N(d, 'id', 'col1'), + N(d, 'class', 'svelte-mx8k4g'), + N(v, 'id', 'link-col1'), + N(v, 'class', 'svelte-mx8k4g'), + N(I, 'id', 'link-col2'), + N(I, 'class', 'svelte-mx8k4g'), + N(b, 'id', 'link-root'), + N(b, 'class', 'svelte-mx8k4g'), + N(p, 'id', 'col2'), + N(p, 'class', 'svelte-mx8k4g'), + N(c, 'id', 'editor-root'), + N(c, 'class', 'svelte-mx8k4g'), + N(R, 'id', 'power'), + N(R, 'class', 'svelte-mx8k4g'), + N(t, 'id', 'body'), + N(t, 'class', 'svelte-mx8k4g'); + }, + m(e, C) { + w(e, t, C), + y(t, i), + y(t, n), + y(t, r), + y(r, s), + y(s, o), + y(s, a); + for (let e = 0; e < Y.length; e += 1) Y[e].m(s, null); + y(t, l), + y(t, c), + y(c, d), + ae(h, d, null), + y(d, u), + ae(g, d, null), + y(c, f), + y(c, p), + ae(m, p, null), + y(p, _), + y(p, b), + y(b, v), + ae(M, v, null), + y(v, D), + ae(E, v, null), + y(b, T), + y(b, I), + ae(O, I, null), + y(t, A), + y(t, R), + y(R, P), + ae(F, R, null), + (B = !0); + }, + p(e, [t]) { + if (24 & t) { + let i; + for (W = Object.keys(e[3]), i = 0; i < W.length; i += 1) { + const n = Rt(e, W, i); + Y[i] + ? Y[i].p(n, t) + : ((Y[i] = Pt(n)), Y[i].c(), Y[i].m(s, null)); + } + for (; i < Y.length; i += 1) Y[i].d(1); + Y.length = W.length; + } + const i = {}; + 16386 & t && (i.$$scope = { dirty: t, ctx: e }), h.$set(i); + const n = {}; + 16384 & t && (n.$$scope = { dirty: t, ctx: e }), g.$set(n); + const r = {}; + 16384 & t && (r.$$scope = { dirty: t, ctx: e }), m.$set(r); + const o = {}; + 16388 & t && (o.$$scope = { dirty: t, ctx: e }), M.$set(o); + const a = {}; + 16384 & t && (a.$$scope = { dirty: t, ctx: e }), E.$set(a); + const l = {}; + 16384 & t && (l.$$scope = { dirty: t, ctx: e }), O.$set(l); + const c = {}; + 16385 & t && (c.$$scope = { dirty: t, ctx: e }), F.$set(c); + }, + i(e) { + B || + (ie(h.$$.fragment, e), + ie(g.$$.fragment, e), + ie(m.$$.fragment, e), + ie(M.$$.fragment, e), + ie(E.$$.fragment, e), + ie(O.$$.fragment, e), + ie(F.$$.fragment, e), + (B = !0)); + }, + o(e) { + ne(h.$$.fragment, e), + ne(g.$$.fragment, e), + ne(m.$$.fragment, e), + ne(M.$$.fragment, e), + ne(E.$$.fragment, e), + ne(O.$$.fragment, e), + ne(F.$$.fragment, e), + (B = !1); + }, + d(e) { + e && C(t), + S(Y, e), + le(h), + le(g), + le(m), + le(M), + le(E), + le(O), + le(F); + }, + } + ); + } + function qt(e, t, i) { + let { mermaidVersion: n = Ot.i8 } = t, + { params: r = {} } = t, + s = []; + P(async () => { + ga('send', 'pageview'), ga('send', 'event', 'version', n, n); + const e = '_mermaid_history_'; + i(2, (s = JSON.parse(localStorage.getItem(e) || '[]'))); + let t = s.length > 0 ? s[s.length - 1] : null; + var o; + r.data + ? Ze(r.data) + : t + ? ((o = { code: t.code, mermaid: {}, updateEditor: !0 }), + Ge.set(o)) + : a('Flow Chart'), + Ge.subscribe((e) => { + !(async function (e) { + if ( + !e || + e.length < 1 || + ('/' != e.charAt(0) && 0 !== e.indexOf('#/')) + ) + throw Error('Invalid parameter location'); + await U(); + const t = ('#' == e.charAt(0) ? '' : '#') + e; + try { + window.history.replaceState(void 0, void 0, t); + } catch (e) { + console.warn( + "Caught exception while replacing the current page. If you're running this in the Svelte REPL, please note that the `replace` method might not work in this environment." + ); + } + window.dispatchEvent(new Event('hashchange')); + })( + `/${u(ye).split('/')[1] || 'edit'}/` + $e(JSON.stringify(e)) + ); + }); + let l = null; + Ge.subscribe((e) => { + l = (e && e.code) || l; + }), + setInterval(() => { + l != t && + (s.unshift({ time: new Date().toISOString(), code: (t = l) }), + s.length > 10 && s.pop(), + localStorage.setItem(e, JSON.stringify(s))), + i(2, s); + }, 6e4); + }); + const o = { + 'Flow Chart': + 'graph TD\n A[Christmas] --\x3e|Get money| B(Go shopping)\n B --\x3e C{Let me think}\n C --\x3e|One| D[Laptop]\n C --\x3e|Two| E[iPhone]\n C --\x3e|Three| F[fa:fa-car Car]', + 'Sequence Diagram': + 'sequenceDiagram\n Alice->>+John: Hello John, how are you?\n Alice->>+John: John, can you hear me?\n John--\x3e>-Alice: Hi Alice, I can hear you!\n John--\x3e>-Alice: I feel great!\n ', + 'Class Diagram': + 'classDiagram\n Animal <|-- Duck\n Animal <|-- Fish\n Animal <|-- Zebra\n Animal : +int age\n Animal : +String gender\n Animal: +isMammal()\n Animal: +mate()\n class Duck{\n +String beakColor\n +swim()\n +quack()\n }\n class Fish{\n -int sizeInFeet\n -canEat()\n }\n class Zebra{\n +bool is_wild\n +run()\n }\n ', + 'State Diagram': + 'stateDiagram-v2\n [*] --\x3e Still\n Still --\x3e [*]\n Still --\x3e Moving\n Moving --\x3e Still\n Moving --\x3e Crash\n Crash --\x3e [*]\n ', + 'Gantt Chart': + 'gantt\n title A Gantt Diagram\n dateFormat YYYY-MM-DD\n section Section\n A task :a1, 2014-01-01, 30d\n Another task :after a1 , 20d\n section Another\n Task in sec :2014-01-12 , 12d\n another task : 24d\n ', + 'Pie Chart': + 'pie title Pets adopted by volunteers\n "Dogs" : 386\n "Cats" : 85\n "Rats" : 15\n ', + 'ER Diagram': + 'erDiagram\n CUSTOMER }|..|{ DELIVERY-ADDRESS : has\n CUSTOMER ||--o{ ORDER : places\n CUSTOMER ||--o{ INVOICE : "liable for"\n DELIVERY-ADDRESS ||--o{ ORDER : receives\n INVOICE ||--|{ ORDER : covers\n ORDER ||--|{ ORDER-ITEM : includes\n PRODUCT-CATEGORY ||--|{ PRODUCT : contains\n PRODUCT ||--o{ ORDER-ITEM : "ordered in"\n ', + }; + function a(e) { + l(o[e]); + } + function l(e) { + e && Je(e, !0); + } + return ( + (e.$$set = (e) => { + 'mermaidVersion' in e && i(0, (n = e.mermaidVersion)), + 'params' in e && i(1, (r = e.params)); + }), + [ + n, + r, + s, + o, + a, + l, + function (e) { + return `${Nt()(e).fromNow()} (${new Date(e).toLocaleString()})`; + }, + (e, t) => a(e), + (e, t) => l(e.code), + ] + ); + } + const Gt = class extends de { + constructor(e) { + super(), ce(this, e, qt, Kt, c, { mermaidVersion: 0, params: 1 }); + } + }; + function Zt(e) { + let t, i, r; + return ( + (i = new wt({})), + { + c() { + (t = k('div')), + oe(i.$$.fragment), + N(t, 'id', 'view-page'), + N(t, 'class', 'svelte-clxwlp'); + }, + m(e, n) { + w(e, t, n), ae(i, t, null), (r = !0); + }, + p: n, + i(e) { + r || (ie(i.$$.fragment, e), (r = !0)); + }, + o(e) { + ne(i.$$.fragment, e), (r = !1); + }, + d(e) { + e && C(t), le(i); + }, + } + ); + } + function Jt(e, t, i) { + let { params: n = {} } = t; + return ( + P(async () => { + ga('send', 'pageview'), n.data && Ze(n.data); + }), + (e.$$set = (e) => { + 'params' in e && i(0, (n = e.params)); + }), + [n] + ); + } + const Qt = class extends de { + constructor(e) { + super(), ce(this, e, Jt, Zt, c, { params: 0 }); + } + }; + function Xt(e) { + let t, i, r, s; + return ( + (r = new Ce({ props: { routes: e[0] } })), + { + c() { + (t = k('link')), + (i = L()), + oe(r.$$.fragment), + N( + t, + 'href', + 'https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;0,800;0,900;1,400;1,500;1,600;1,700;1,800;1,900&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap' + ), + N(t, 'rel', 'stylesheet'); + }, + m(e, n) { + y(document.head, t), w(e, i, n), ae(r, e, n), (s = !0); + }, + p: n, + i(e) { + s || (ie(r.$$.fragment, e), (s = !0)); + }, + o(e) { + ne(r.$$.fragment, e), (s = !1); + }, + d(e) { + C(t), e && C(i), le(r, e); + }, + } + ); + } + function ei(e) { + return [{ '/': Gt, '/edit/:data': Gt, '/view/:data': Qt, '*': Gt }]; + } + const ti = new (class extends de { + constructor(e) { + super(), ce(this, e, ei, Xt, c, {}); + } + })({ target: document.body, props: {} }); + window.app = ti; + }, + }, + n = {}; + function r(e) { + var t = n[e]; + if (void 0 !== t) return t.exports; + var s = (n[e] = { id: e, loaded: !1, exports: {} }); + return i[e].call(s.exports, s, s.exports, r), (s.loaded = !0), s.exports; + } + (r.m = i), + (r.n = (e) => { + var t = e && e.__esModule ? () => e.default : () => e; + return r.d(t, { a: t }), t; + }), + (r.d = (e, t) => { + for (var i in t) + r.o(t, i) && + !r.o(e, i) && + Object.defineProperty(e, i, { enumerable: !0, get: t[i] }); + }), + (r.f = {}), + (r.e = (e) => + Promise.all(Object.keys(r.f).reduce((t, i) => (r.f[i](e, t), t), []))), + (r.u = (e) => e + '.' + e + '.js'), + (r.miniCssF = (e) => {}), + (r.g = (function () { + if ('object' == typeof globalThis) return globalThis; + try { + return this || new Function('return this')(); + } catch (e) { + if ('object' == typeof window) return window; + } + })()), + (r.o = (e, t) => Object.prototype.hasOwnProperty.call(e, t)), + (e = {}), + (t = 'mermaid-live-editor:'), + (r.l = (i, n, s, o) => { + if (e[i]) e[i].push(n); + else { + var a, l; + if (void 0 !== s) + for ( + var c = document.getElementsByTagName('script'), d = 0; + d < c.length; + d++ + ) { + var h = c[d]; + if ( + h.getAttribute('src') == i || + h.getAttribute('data-webpack') == t + s + ) { + a = h; + break; + } + } + a || + ((l = !0), + ((a = document.createElement('script')).charset = 'utf-8'), + (a.timeout = 120), + r.nc && a.setAttribute('nonce', r.nc), + a.setAttribute('data-webpack', t + s), + (a.src = i)), + (e[i] = [n]); + var u = (t, n) => { + (a.onerror = a.onload = null), clearTimeout(g); + var r = e[i]; + if ( + (delete e[i], + a.parentNode && a.parentNode.removeChild(a), + r && r.forEach((e) => e(n)), + t) + ) + return t(n); + }, + g = setTimeout( + u.bind(null, void 0, { type: 'timeout', target: a }), + 12e4 + ); + (a.onerror = u.bind(null, a.onerror)), + (a.onload = u.bind(null, a.onload)), + l && document.head.appendChild(a); + } + }), + (r.r = (e) => { + 'undefined' != typeof Symbol && + Symbol.toStringTag && + Object.defineProperty(e, Symbol.toStringTag, { value: 'Module' }), + Object.defineProperty(e, '__esModule', { value: !0 }); + }), + (r.nmd = (e) => ((e.paths = []), e.children || (e.children = []), e)), + (() => { + var e; + r.g.importScripts && (e = r.g.location + ''); + var t = r.g.document; + if (!e && t && (t.currentScript && (e = t.currentScript.src), !e)) { + var i = t.getElementsByTagName('script'); + i.length && (e = i[i.length - 1].src); + } + if (!e) + throw new Error( + 'Automatic publicPath is not supported in this browser' + ); + (e = e + .replace(/#.*$/, '') + .replace(/\?.*$/, '') + .replace(/\/[^\/]+$/, '/')), + (r.p = e); + })(), + (() => { + var e = { 4296: 0 }; + r.f.j = (t, i) => { + var n = r.o(e, t) ? e[t] : void 0; + if (0 !== n) + if (n) i.push(n[2]); + else { + var s = new Promise((i, r) => (n = e[t] = [i, r])); + i.push((n[2] = s)); + var o = r.p + r.u(t), + a = new Error(); + r.l( + o, + (i) => { + if (r.o(e, t) && (0 !== (n = e[t]) && (e[t] = void 0), n)) { + var s = i && ('load' === i.type ? 'missing' : i.type), + o = i && i.target && i.target.src; + (a.message = + 'Loading chunk ' + t + ' failed.\n(' + s + ': ' + o + ')'), + (a.name = 'ChunkLoadError'), + (a.type = s), + (a.request = o), + n[1](a); + } + }, + 'chunk-' + t, + t + ); + } + }; + var t = (t, i) => { + var n, + s, + [o, a, l] = i, + c = 0; + for (n in a) r.o(a, n) && (r.m[n] = a[n]); + for (l && l(r), t && t(i); c < o.length; c++) + (s = o[c]), r.o(e, s) && e[s] && e[s][0](), (e[o[c]] = 0); + }, + i = (self.webpackChunkmermaid_live_editor = + self.webpackChunkmermaid_live_editor || []); + i.forEach(t.bind(null, 0)), (i.push = t.bind(null, i.push.bind(i))); + })(), + r(73466); +})(); diff --git a/docs/bundle.js.LICENSE.txt b/docs/bundle.js.LICENSE.txt new file mode 100644 index 00000000..e677720f --- /dev/null +++ b/docs/bundle.js.LICENSE.txt @@ -0,0 +1,803 @@ +/* + * __ ___ + * _____/ /___ __/ (_)____ + * / ___/ __/ / / / / / ___/ + * (__ ) /_/ /_/ / / (__ ) + * /____/\__/\__, /_/_/____/ + * /____/ + * + * light - weight css preprocessor @licence MIT + */ + +/*! + * Wait for document loaded before starting the execution + */ + +/*! ../../config */ + +/*! ../../dagre-wrapper/index.js */ + +/*! ../../logger */ + +/*! ../../mermaidAPI */ + +/*! ../../utils */ + +/*! ../common/common */ + +/*! ../config */ + +/*! ../createLabel */ + +/*! ../diagrams/class/svgDraw */ + +/*! ../intersect/index.js */ + +/*! ../logger */ + +/*! ../package.json */ + +/*! ../utils */ + +/*! ./../../../../node_modules/process/browser.js */ + +/*! ./../../../../node_modules/webpack/buildin/module.js */ + +/*! ./../process/browser.js */ + +/*! ./classDb */ + +/*! ./clusters */ + +/*! ./config */ + +/*! ./createLabel */ + +/*! ./defaultConfig */ + +/*! ./diagrams/class/classDb */ + +/*! ./diagrams/class/classRenderer */ + +/*! ./diagrams/class/classRenderer-v2 */ + +/*! ./diagrams/class/parser/classDiagram */ + +/*! ./diagrams/class/styles */ + +/*! ./diagrams/common/common */ + +/*! ./diagrams/er/erDb */ + +/*! ./diagrams/er/erRenderer */ + +/*! ./diagrams/er/parser/erDiagram */ + +/*! ./diagrams/er/styles */ + +/*! ./diagrams/flowchart/flowDb */ + +/*! ./diagrams/flowchart/flowRenderer */ + +/*! ./diagrams/flowchart/flowRenderer-v2 */ + +/*! ./diagrams/flowchart/parser/flow */ + +/*! ./diagrams/flowchart/styles */ + +/*! ./diagrams/gantt/ganttDb */ + +/*! ./diagrams/gantt/ganttRenderer */ + +/*! ./diagrams/gantt/parser/gantt */ + +/*! ./diagrams/gantt/styles */ + +/*! ./diagrams/git/gitGraphAst */ + +/*! ./diagrams/git/gitGraphRenderer */ + +/*! ./diagrams/git/parser/gitGraph */ + +/*! ./diagrams/git/styles */ + +/*! ./diagrams/info/infoDb */ + +/*! ./diagrams/info/infoRenderer */ + +/*! ./diagrams/info/parser/info */ + +/*! ./diagrams/info/styles */ + +/*! ./diagrams/pie/parser/pie */ + +/*! ./diagrams/pie/pieDb */ + +/*! ./diagrams/pie/pieRenderer */ + +/*! ./diagrams/pie/styles */ + +/*! ./diagrams/requirement/parser/requirementDiagram */ + +/*! ./diagrams/requirement/requirementDb */ + +/*! ./diagrams/requirement/requirementRenderer */ + +/*! ./diagrams/requirement/styles */ + +/*! ./diagrams/sequence/parser/sequenceDiagram */ + +/*! ./diagrams/sequence/sequenceDb */ + +/*! ./diagrams/sequence/sequenceRenderer */ + +/*! ./diagrams/sequence/styles */ + +/*! ./diagrams/state/parser/stateDiagram */ + +/*! ./diagrams/state/stateDb */ + +/*! ./diagrams/state/stateRenderer */ + +/*! ./diagrams/state/stateRenderer-v2 */ + +/*! ./diagrams/state/styles */ + +/*! ./diagrams/user-journey/journeyDb */ + +/*! ./diagrams/user-journey/journeyRenderer */ + +/*! ./diagrams/user-journey/parser/journey */ + +/*! ./diagrams/user-journey/styles */ + +/*! ./edges */ + +/*! ./erDb */ + +/*! ./erMarkers */ + +/*! ./errorRenderer */ + +/*! ./flowChartShapes */ + +/*! ./flowDb */ + +/*! ./ganttDb */ + +/*! ./gitGraphAst */ + +/*! ./id-cache.js */ + +/*! ./infoDb */ + +/*! ./intersect-circle.js */ + +/*! ./intersect-ellipse */ + +/*! ./intersect-ellipse.js */ + +/*! ./intersect-line */ + +/*! ./intersect-node.js */ + +/*! ./intersect-polygon.js */ + +/*! ./intersect-rect.js */ + +/*! ./intersect/index.js */ + +/*! ./intersect/intersect-rect */ + +/*! ./journeyDb */ + +/*! ./logger */ + +/*! ./markers */ + +/*! ./mermaid-graphlib */ + +/*! ./mermaidAPI */ + +/*! ./nodes */ + +/*! ./parser/classDiagram */ + +/*! ./parser/erDiagram */ + +/*! ./parser/flow */ + +/*! ./parser/gantt */ + +/*! ./parser/gitGraph */ + +/*! ./parser/info */ + +/*! ./parser/journey */ + +/*! ./parser/pie */ + +/*! ./parser/requirementDiagram */ + +/*! ./parser/sequenceDiagram */ + +/*! ./parser/stateDiagram */ + +/*! ./pieDb */ + +/*! ./requirementDb */ + +/*! ./requirementMarkers */ + +/*! ./sequenceDb */ + +/*! ./shapes */ + +/*! ./shapes/note */ + +/*! ./shapes/util */ + +/*! ./stateDb */ + +/*! ./styles */ + +/*! ./svgDraw */ + +/*! ./theme-base */ + +/*! ./theme-dark */ + +/*! ./theme-default */ + +/*! ./theme-forest */ + +/*! ./theme-helpers */ + +/*! ./theme-neutral */ + +/*! ./themes */ + +/*! ./util */ + +/*! ./utils */ + +/*! @braintree/sanitize-url */ + +/*! Check if previously processed */ + +/*! d3 */ + +/*! dagre */ + +/*! dagre-d3 */ + +/*! dagre-d3/lib/label/add-html-label.js */ + +/*! entity-decode/browser */ + +/*! exports provided: LEVELS, log, setLogLevel */ + +/*! exports provided: addClasses, addRelations, setConf, drawOld, draw, default */ + +/*! exports provided: addToRender, addToRenderV2, default */ + +/*! exports provided: bounds, drawActors, setConf, draw, default */ + +/*! exports provided: calcThemeVariables, default */ + +/*! exports provided: clear, insertEdgeLabel, positionEdgeLabel, intersection, insertEdge */ + +/*! exports provided: clusterDb, clear, extractDecendants, validate, findNonClusterChild, adjustClustersAndEdges, extractor, sortNodesByHierarchy */ + +/*! exports provided: default */ + +/*! exports provided: defaultConfig, updateCurrentConfig, setSiteConfig, saveConfigFromInitilize, updateSiteConfig, getSiteConfig, setConfig, getConfig, sanitize, addDirective, reset */ + +/*! exports provided: detectInit, detectDirective, detectType, isSubstringInArray, interpolateToCurve, formatUrl, runFunc, getStylesFromArray, generateId, random, assignWithDepth, getTextObj, drawSimpleText, wrapLabel, calculateTextHeight, calculateTextWidth, calculateTextDimensions, calculateSvgSizeAttrs, configureSvgSize, initIdGeneratior, default */ + +/*! exports provided: drawEdge, drawClass, parseMember, default */ + +/*! exports provided: drawRect, drawFace, drawCircle, drawText, drawLabel, drawSection, drawTask, drawBackgroundRect, getTextObj, getNoteRect, default */ + +/*! exports provided: drawRect, drawText, drawLabel, drawActor, anchorElement, drawActivation, drawLoop, drawBackgroundRect, insertArrowHead, insertArrowFilledHead, insertSequenceNumber, insertArrowCrossHead, getTextObj, getNoteRect, default */ + +/*! exports provided: drawStartState, drawDivider, drawSimpleState, drawDescrState, addTitleAndBox, drawText, drawNote, drawState, drawEdge */ + +/*! exports provided: encodeEntities, decodeEntities, default */ + +/*! exports provided: getRows, removeScript, sanitizeText, lineBreakRegex, hasBreaks, splitBreaks, default */ + +/*! exports provided: getThemeVariables */ + +/*! exports provided: insertCluster, getClusterTitleWidth, clear, positionCluster */ + +/*! exports provided: insertNode, setNodeElem, clear, positionNode */ + +/*! exports provided: labelHelper, updateNodeBounds, insertPolygonShape */ + +/*! exports provided: mkBorder */ + +/*! exports provided: name, version, description, main, keywords, scripts, repository, author, license, standard, dependencies, devDependencies, files, yarn-upgrade-all, sideEffects, husky, default */ + +/*! exports provided: parseDirective, addActor, addMessage, addSignal, getMessages, getActors, getActor, getActorKeys, getTitle, getTitleWrapped, enableSequenceNumbers, showSequenceNumbers, setWrap, autoWrap, clear, parseMessage, LINETYPE, ARROWTYPE, PLACEMENT, addNote, setTitle, apply, default */ + +/*! exports provided: parseDirective, addClass, lookUpDomId, clear, getClass, getClasses, getRelations, addRelation, addAnnotation, addMember, addMembers, cleanupLabel, setCssClass, setLink, setClickEvent, bindFunctions, lineType, relationType, default */ + +/*! exports provided: parseDirective, addState, clear, getState, getStates, logDocuments, getRelations, addRelation, cleanupLabel, lineType, relationType, default */ + +/*! exports provided: parseDirective, clear, setAxisFormat, getAxisFormat, setTodayMarker, getTodayMarker, setDateFormat, enableInclusiveEndDates, endDatesAreInclusive, enableTopAxis, topAxisEnabled, getDateFormat, setExcludes, getExcludes, setTitle, getTitle, addSection, getSections, getTasks, addTask, findTaskById, addTaskOrg, setLink, setClass, setClickEvent, bindFunctions, default */ + +/*! exports provided: parseDirective, clear, setTitle, getTitle, addSection, getSections, getTasks, addTask, addTaskOrg, default */ + +/*! exports provided: parseDirective, default */ + +/*! exports provided: parseDirective, lookUpDomId, addVertex, addSingleLink, addLink, updateLinkInterpolate, updateLink, addClass, setDirection, setClass, setLink, getTooltip, setClickEvent, bindFunctions, getDirection, getVertices, getEdges, getClasses, clear, setGen, defaultStyle, addSubGraph, getDepthFirstPos, indexNodes, getSubGraphs, firstGraph, default */ + +/*! exports provided: render */ + +/*! exports provided: set, get, keys, size, default */ + +/*! exports provided: setConf, addVertices, addEdges, getClasses, draw, default */ + +/*! exports provided: setConf, draw, bounds, drawTasks, default */ + +/*! exports provided: setConf, draw, default */ + +/*! exports provided: setConf, drawReqs, drawElements, draw, default */ + +/*! exports provided: setConf, getClasses, draw, default */ + +/*! exports provided: setDirection, setOptions, getOptions, commit, branch, merge, checkout, reset, prettyPrint, clear, getBranchesAsObjArray, getBranches, getCommits, getCommitsArray, getCurrentBranch, getDirection, getHead, default */ + +/*! exports provided: setMessage, getMessage, setInfo, getInfo, default */ + +/*! fs */ + +/*! graphlib */ + +/*! khroma */ + +/*! moment-mini */ + +/*! no static exports found */ + +/*! path */ + +/*! sequence config was passed as #1 */ + +/*! stylis */ + +/*!*********************!*\ + !*** external "d3" ***! + \*********************/ + +/*!**********************!*\ + !*** ./package.json ***! + \**********************/ + +/*!**********************!*\ + !*** ./src/utils.js ***! + \**********************/ + +/*!***********************!*\ + !*** ./src/config.js ***! + \***********************/ + +/*!***********************!*\ + !*** ./src/logger.js ***! + \***********************/ + +/*!***********************!*\ + !*** ./src/styles.js ***! + \***********************/ + +/*!************************!*\ + !*** ./src/mermaid.js ***! + \************************/ + +/*!************************!*\ + !*** external "dagre" ***! + \************************/ + +/*!*************************!*\ + !*** external "khroma" ***! + \*************************/ + +/*!*************************!*\ + !*** external "stylis" ***! + \*************************/ + +/*!***************************!*\ + !*** ./src/mermaidAPI.js ***! + \***************************/ + +/*!***************************!*\ + !*** external "dagre-d3" ***! + \***************************/ + +/*!***************************!*\ + !*** external "graphlib" ***! + \***************************/ + +/*!*****************************!*\ + !*** ./src/themes/index.js ***! + \*****************************/ + +/*!******************************!*\ + !*** ./src/defaultConfig.js ***! + \******************************/ + +/*!******************************!*\ + !*** ./src/errorRenderer.js ***! + \******************************/ + +/*!******************************!*\ + !*** external "moment-mini" ***! + \******************************/ + +/*!*********************************!*\ + !*** ./src/diagrams/er/erDb.js ***! + \*********************************/ + +/*!**********************************!*\ + !*** ./src/themes/theme-base.js ***! + \**********************************/ + +/*!**********************************!*\ + !*** ./src/themes/theme-dark.js ***! + \**********************************/ + +/*!***********************************!*\ + !*** (webpack)/buildin/module.js ***! + \***********************************/ + +/*!***********************************!*\ + !*** ./src/diagrams/er/styles.js ***! + \***********************************/ + +/*!***********************************!*\ + !*** ./src/diagrams/pie/pieDb.js ***! + \***********************************/ + +/*!************************************!*\ + !*** ./src/dagre-wrapper/edges.js ***! + \************************************/ + +/*!************************************!*\ + !*** ./src/dagre-wrapper/index.js ***! + \************************************/ + +/*!************************************!*\ + !*** ./src/dagre-wrapper/nodes.js ***! + \************************************/ + +/*!************************************!*\ + !*** ./src/diagrams/git/styles.js ***! + \************************************/ + +/*!************************************!*\ + !*** ./src/diagrams/pie/styles.js ***! + \************************************/ + +/*!************************************!*\ + !*** ./src/themes/theme-forest.js ***! + \************************************/ + +/*!*************************************!*\ + !*** ./src/diagrams/info/infoDb.js ***! + \*************************************/ + +/*!*************************************!*\ + !*** ./src/diagrams/info/styles.js ***! + \*************************************/ + +/*!*************************************!*\ + !*** ./src/themes/theme-default.js ***! + \*************************************/ + +/*!*************************************!*\ + !*** ./src/themes/theme-helpers.js ***! + \*************************************/ + +/*!*************************************!*\ + !*** ./src/themes/theme-neutral.js ***! + \*************************************/ + +/*!**************************************!*\ + !*** ./src/dagre-wrapper/markers.js ***! + \**************************************/ + +/*!**************************************!*\ + !*** ./src/diagrams/class/styles.js ***! + \**************************************/ + +/*!**************************************!*\ + !*** ./src/diagrams/er/erMarkers.js ***! + \**************************************/ + +/*!**************************************!*\ + !*** ./src/diagrams/gantt/styles.js ***! + \**************************************/ + +/*!**************************************!*\ + !*** ./src/diagrams/state/shapes.js ***! + \**************************************/ + +/*!**************************************!*\ + !*** ./src/diagrams/state/styles.js ***! + \**************************************/ + +/*!***************************************!*\ + !*** ./src/dagre-wrapper/clusters.js ***! + \***************************************/ + +/*!***************************************!*\ + !*** ./src/diagrams/class/classDb.js ***! + \***************************************/ + +/*!***************************************!*\ + !*** ./src/diagrams/class/svgDraw.js ***! + \***************************************/ + +/*!***************************************!*\ + !*** ./src/diagrams/common/common.js ***! + \***************************************/ + +/*!***************************************!*\ + !*** ./src/diagrams/er/erRenderer.js ***! + \***************************************/ + +/*!***************************************!*\ + !*** ./src/diagrams/gantt/ganttDb.js ***! + \***************************************/ + +/*!***************************************!*\ + !*** ./src/diagrams/state/stateDb.js ***! + \***************************************/ + +/*!****************************************!*\ + !*** ./src/diagrams/state/id-cache.js ***! + \****************************************/ + +/*!****************************************!*\ + !*** external "entity-decode/browser" ***! + \****************************************/ + +/*!*****************************************!*\ + !*** ./node_modules/process/browser.js ***! + \*****************************************/ + +/*!*****************************************!*\ + !*** ./src/diagrams/git/gitGraphAst.js ***! + \*****************************************/ + +/*!*****************************************!*\ + !*** ./src/diagrams/pie/pieRenderer.js ***! + \*****************************************/ + +/*!*****************************************!*\ + !*** ./src/diagrams/sequence/styles.js ***! + \*****************************************/ + +/*!******************************************!*\ + !*** ./src/dagre-wrapper/createLabel.js ***! + \******************************************/ + +/*!******************************************!*\ + !*** ./src/dagre-wrapper/shapes/note.js ***! + \******************************************/ + +/*!******************************************!*\ + !*** ./src/dagre-wrapper/shapes/util.js ***! + \******************************************/ + +/*!******************************************!*\ + !*** ./src/diagrams/flowchart/flowDb.js ***! + \******************************************/ + +/*!******************************************!*\ + !*** ./src/diagrams/flowchart/styles.js ***! + \******************************************/ + +/*!******************************************!*\ + !*** ./src/diagrams/sequence/svgDraw.js ***! + \******************************************/ + +/*!******************************************!*\ + !*** external "@braintree/sanitize-url" ***! + \******************************************/ + +/*!*******************************************!*\ + !*** ./src/diagrams/info/infoRenderer.js ***! + \*******************************************/ + +/*!*******************************************!*\ + !*** ./src/diagrams/pie/parser/pie.jison ***! + \*******************************************/ + +/*!********************************************!*\ + !*** ./src/diagrams/requirement/styles.js ***! + \********************************************/ + +/*!*********************************************!*\ + !*** ./src/diagrams/class/classRenderer.js ***! + \*********************************************/ + +/*!*********************************************!*\ + !*** ./src/diagrams/gantt/ganttRenderer.js ***! + \*********************************************/ + +/*!*********************************************!*\ + !*** ./src/diagrams/info/parser/info.jison ***! + \*********************************************/ + +/*!*********************************************!*\ + !*** ./src/diagrams/sequence/sequenceDb.js ***! + \*********************************************/ + +/*!*********************************************!*\ + !*** ./src/diagrams/state/stateRenderer.js ***! + \*********************************************/ + +/*!*********************************************!*\ + !*** ./src/diagrams/user-journey/styles.js ***! + \*********************************************/ + +/*!**********************************************!*\ + !*** ./src/dagre-wrapper/intersect/index.js ***! + \**********************************************/ + +/*!**********************************************!*\ + !*** ./src/diagrams/git/gitGraphRenderer.js ***! + \**********************************************/ + +/*!**********************************************!*\ + !*** ./src/diagrams/user-journey/svgDraw.js ***! + \**********************************************/ + +/*!***********************************************!*\ + !*** ./node_modules/path-browserify/index.js ***! + \***********************************************/ + +/*!***********************************************!*\ + !*** ./src/dagre-wrapper/mermaid-graphlib.js ***! + \***********************************************/ + +/*!***********************************************!*\ + !*** ./src/diagrams/gantt/parser/gantt.jison ***! + \***********************************************/ + +/*!************************************************!*\ + !*** ./src/diagrams/class/classRenderer-v2.js ***! + \************************************************/ + +/*!************************************************!*\ + !*** ./src/diagrams/er/parser/erDiagram.jison ***! + \************************************************/ + +/*!************************************************!*\ + !*** ./src/diagrams/flowchart/flowRenderer.js ***! + \************************************************/ + +/*!************************************************!*\ + !*** ./src/diagrams/git/parser/gitGraph.jison ***! + \************************************************/ + +/*!************************************************!*\ + !*** ./src/diagrams/state/stateRenderer-v2.js ***! + \************************************************/ + +/*!************************************************!*\ + !*** ./src/diagrams/user-journey/journeyDb.js ***! + \************************************************/ + +/*!**************************************************!*\ + !*** ./src/diagrams/flowchart/parser/flow.jison ***! + \**************************************************/ + +/*!***************************************************!*\ + !*** ./src/diagrams/flowchart/flowChartShapes.js ***! + \***************************************************/ + +/*!***************************************************!*\ + !*** ./src/diagrams/flowchart/flowRenderer-v2.js ***! + \***************************************************/ + +/*!***************************************************!*\ + !*** ./src/diagrams/requirement/requirementDb.js ***! + \***************************************************/ + +/*!***************************************************!*\ + !*** ./src/diagrams/sequence/sequenceRenderer.js ***! + \***************************************************/ + +/*!******************************************************!*\ + !*** ./node_modules/node-libs-browser/mock/empty.js ***! + \******************************************************/ + +/*!******************************************************!*\ + !*** ./src/diagrams/class/parser/classDiagram.jison ***! + \******************************************************/ + +/*!******************************************************!*\ + !*** ./src/diagrams/state/parser/stateDiagram.jison ***! + \******************************************************/ + +/*!******************************************************!*\ + !*** ./src/diagrams/user-journey/journeyRenderer.js ***! + \******************************************************/ + +/*!*******************************************************!*\ + !*** ./src/dagre-wrapper/intersect/intersect-line.js ***! + \*******************************************************/ + +/*!*******************************************************!*\ + !*** ./src/dagre-wrapper/intersect/intersect-node.js ***! + \*******************************************************/ + +/*!*******************************************************!*\ + !*** ./src/dagre-wrapper/intersect/intersect-rect.js ***! + \*******************************************************/ + +/*!*******************************************************!*\ + !*** external "dagre-d3/lib/label/add-html-label.js" ***! + \*******************************************************/ + +/*!********************************************************!*\ + !*** ./src/diagrams/requirement/requirementMarkers.js ***! + \********************************************************/ + +/*!********************************************************!*\ + !*** ./src/diagrams/user-journey/parser/journey.jison ***! + \********************************************************/ + +/*!*********************************************************!*\ + !*** ./src/dagre-wrapper/intersect/intersect-circle.js ***! + \*********************************************************/ + +/*!*********************************************************!*\ + !*** ./src/diagrams/requirement/requirementRenderer.js ***! + \*********************************************************/ + +/*!**********************************************************!*\ + !*** ./src/dagre-wrapper/intersect/intersect-ellipse.js ***! + \**********************************************************/ + +/*!**********************************************************!*\ + !*** ./src/dagre-wrapper/intersect/intersect-polygon.js ***! + \**********************************************************/ + +/*!************************************************************!*\ + !*** ./src/diagrams/sequence/parser/sequenceDiagram.jison ***! + \************************************************************/ + +/*!******************************************************************!*\ + !*** ./src/diagrams/requirement/parser/requirementDiagram.jison ***! + \******************************************************************/ + +/** + * @license + * Copyright (c) 2012-2013 Chris Pettitt + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + +//! moment.js + +//! moment.js locale configuration diff --git a/docs/codicon.ttf b/docs/codicon.ttf new file mode 100644 index 00000000..82acc899 Binary files /dev/null and b/docs/codicon.ttf differ diff --git a/docs/editor.worker.js b/docs/editor.worker.js new file mode 100644 index 00000000..fdacbc5f --- /dev/null +++ b/docs/editor.worker.js @@ -0,0 +1,4926 @@ +(() => { + 'use strict'; + var e = {}; + e.g = (function () { + if ('object' == typeof globalThis) return globalThis; + try { + return this || new Function('return this')(); + } catch (e) { + if ('object' == typeof window) return window; + } + })(); + const t = new (class { + constructor() { + (this.listeners = []), + (this.unexpectedErrorHandler = function (e) { + setTimeout(() => { + if (e.stack) throw new Error(e.message + '\n\n' + e.stack); + throw e; + }, 0); + }); + } + emit(e) { + this.listeners.forEach((t) => { + t(e); + }); + } + onUnexpectedError(e) { + this.unexpectedErrorHandler(e), this.emit(e); + } + onUnexpectedExternalError(e) { + this.unexpectedErrorHandler(e); + } + })(); + function n(e) { + var n; + ((n = e) instanceof Error && n.name === r && n.message === r) || + t.onUnexpectedError(e); + } + function i(e) { + if (e instanceof Error) { + let { name: t, message: n } = e; + return { + $isError: !0, + name: t, + message: n, + stack: e.stacktrace || e.stack, + }; + } + return e; + } + const r = 'Canceled'; + var s; + function o(e) {} + !(function (e) { + e.is = function (e) { + return ( + e && 'object' == typeof e && 'function' == typeof e[Symbol.iterator] + ); + }; + const t = Object.freeze([]); + (e.empty = function () { + return t; + }), + (e.single = function* (e) { + yield e; + }), + (e.from = function (e) { + return e || t; + }), + (e.first = function (e) { + return e[Symbol.iterator]().next().value; + }), + (e.some = function (e, t) { + for (const n of e) if (t(n)) return !0; + return !1; + }), + (e.filter = function* (e, t) { + for (const n of e) t(n) && (yield n); + }), + (e.map = function* (e, t) { + for (const n of e) yield t(n); + }), + (e.concat = function* (...e) { + for (const t of e) for (const e of t) yield e; + }), + (e.consume = function (t, n = Number.POSITIVE_INFINITY) { + const i = []; + if (0 === n) return [i, t]; + const r = t[Symbol.iterator](); + for (let t = 0; t < n; t++) { + const t = r.next(); + if (t.done) return [i, e.empty()]; + i.push(t.value); + } + return [i, { [Symbol.iterator]: () => r }]; + }); + })(s || (s = {})); + class a extends Error { + constructor(e) { + super( + `Encounter errors while disposing of store. Errors: [${e.join(', ')}]` + ), + (this.errors = e); + } + } + function l(e) { + if (s.is(e)) { + let t = []; + for (const n of e) + if (n) + try { + n.dispose(); + } catch (e) { + t.push(e); + } + if (1 === t.length) throw t[0]; + if (t.length > 1) throw new a(t); + return Array.isArray(e) ? [] : e; + } + if (e) return e.dispose(), e; + } + class u { + constructor() { + (this._toDispose = new Set()), (this._isDisposed = !1); + } + dispose() { + this._isDisposed || ((this._isDisposed = !0), this.clear()); + } + clear() { + try { + l(this._toDispose.values()); + } finally { + this._toDispose.clear(); + } + } + add(e) { + if (!e) return e; + if (e === this) + throw new Error('Cannot register a disposable on itself!'); + return ( + this._isDisposed + ? u.DISABLE_DISPOSED_WARNING || + console.warn( + new Error( + 'Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!' + ).stack + ) + : this._toDispose.add(e), + e + ); + } + } + u.DISABLE_DISPOSED_WARNING = !1; + class h { + constructor() { + this._store = new u(); + } + dispose() { + this._store.dispose(); + } + _register(e) { + if (e === this) + throw new Error('Cannot register a disposable on itself!'); + return this._store.add(e); + } + } + h.None = Object.freeze({ dispose() {} }); + const d = 'en'; + let c, + f, + m, + g = !1, + _ = !1, + p = !1, + C = !1, + b = !1, + L = !1, + N = null; + const S = + 'undefined' != typeof process && + void 0 !== process.versions && + void 0 !== process.versions.electron && + 'renderer' === process.type; + if ('object' != typeof navigator || S) { + if ('object' == typeof process) { + (g = 'win32' === process.platform), + (_ = 'darwin' === process.platform), + (p = 'linux' === process.platform), + (c = d), + (N = d); + const e = process.env.VSCODE_NLS_CONFIG; + if (e) + try { + const t = JSON.parse(e), + n = t.availableLanguages['*']; + (c = t.locale), (N = n || d), (f = t._translationsConfigFile); + } catch (e) {} + C = !0; + } + } else + (m = navigator.userAgent), + (g = m.indexOf('Windows') >= 0), + (_ = m.indexOf('Macintosh') >= 0), + (m.indexOf('Macintosh') >= 0 || + m.indexOf('iPad') >= 0 || + m.indexOf('iPhone') >= 0) && + !!navigator.maxTouchPoints && + navigator.maxTouchPoints > 0, + (p = m.indexOf('Linux') >= 0), + !0, + (c = navigator.language), + (N = c); + let E = 0; + _ ? (E = 1) : g ? (E = 3) : p && (E = 2); + const A = g, + y = _, + w = 'object' == typeof self ? self : 'object' == typeof e.g ? e.g : {}, + v = (function () { + if (w.setImmediate) return w.setImmediate.bind(w); + if ('function' == typeof w.postMessage && !w.importScripts) { + let e = []; + w.addEventListener('message', (t) => { + if (t.data && t.data.vscodeSetImmediateId) + for (let n = 0, i = e.length; n < i; n++) { + const i = e[n]; + if (i.id === t.data.vscodeSetImmediateId) + return e.splice(n, 1), void i.callback(); + } + }); + let t = 0; + return (n) => { + const i = ++t; + e.push({ id: i, callback: n }), + w.postMessage({ vscodeSetImmediateId: i }, '*'); + }; + } + if ( + 'undefined' != typeof process && + 'function' == typeof process.nextTick + ) + return process.nextTick.bind(process); + const e = Promise.resolve(); + return (t) => e.then(t); + })(); + function T(e) { + const t = []; + for (const n of (function (e) { + let t = [], + n = Object.getPrototypeOf(e); + for (; Object.prototype !== n; ) + (t = t.concat(Object.getOwnPropertyNames(n))), + (n = Object.getPrototypeOf(n)); + return t; + })(e)) + 'function' == typeof e[n] && t.push(n); + return t; + } + function O(e, t) { + const n = (e) => + function () { + const n = Array.prototype.slice.call(arguments, 0); + return t(e, n); + }; + let i = {}; + for (const t of e) i[t] = n(t); + return i; + } + class I { + constructor(e) { + (this._workerId = -1), + (this._handler = e), + (this._lastSentReq = 0), + (this._pendingReplies = Object.create(null)); + } + setWorkerId(e) { + this._workerId = e; + } + sendMessage(e, t) { + let n = String(++this._lastSentReq); + return new Promise((i, r) => { + (this._pendingReplies[n] = { resolve: i, reject: r }), + this._send({ vsWorker: this._workerId, req: n, method: e, args: t }); + }); + } + handleMessage(e) { + e && + e.vsWorker && + ((-1 !== this._workerId && e.vsWorker !== this._workerId) || + this._handleMessage(e)); + } + _handleMessage(e) { + if (e.seq) { + let t = e; + if (!this._pendingReplies[t.seq]) + return void console.warn('Got reply to unknown seq'); + let n = this._pendingReplies[t.seq]; + if ((delete this._pendingReplies[t.seq], t.err)) { + let e = t.err; + return ( + t.err.$isError && + ((e = new Error()), + (e.name = t.err.name), + (e.message = t.err.message), + (e.stack = t.err.stack)), + void n.reject(e) + ); + } + return void n.resolve(t.res); + } + let t = e, + n = t.req; + this._handler.handleMessage(t.method, t.args).then( + (e) => { + this._send({ vsWorker: this._workerId, seq: n, res: e, err: void 0 }); + }, + (e) => { + e.detail instanceof Error && (e.detail = i(e.detail)), + this._send({ + vsWorker: this._workerId, + seq: n, + res: void 0, + err: i(e), + }); + } + ); + } + _send(e) { + let t = []; + if (e.req) { + const n = e; + for (let e = 0; e < n.args.length; e++) + n.args[e] instanceof ArrayBuffer && t.push(n.args[e]); + } else { + const n = e; + n.res instanceof ArrayBuffer && t.push(n.res); + } + this._handler.sendMessage(e, t); + } + } + class M { + constructor(e, t) { + (this._requestHandlerFactory = t), + (this._requestHandler = null), + (this._protocol = new I({ + sendMessage: (t, n) => { + e(t, n); + }, + handleMessage: (e, t) => this._handleMessage(e, t), + })); + } + onmessage(e) { + this._protocol.handleMessage(e); + } + _handleMessage(e, t) { + if ('$initialize' === e) return this.initialize(t[0], t[1], t[2], t[3]); + if (!this._requestHandler || 'function' != typeof this._requestHandler[e]) + return Promise.reject( + new Error('Missing requestHandler or method: ' + e) + ); + try { + return Promise.resolve( + this._requestHandler[e].apply(this._requestHandler, t) + ); + } catch (e) { + return Promise.reject(e); + } + } + initialize(e, t, n, i) { + this._protocol.setWorkerId(e); + const r = O(i, (e, t) => this._protocol.sendMessage(e, t)); + return this._requestHandlerFactory + ? ((this._requestHandler = this._requestHandlerFactory(r)), + Promise.resolve(T(this._requestHandler))) + : (t && + (void 0 !== t.baseUrl && delete t.baseUrl, + void 0 !== t.paths && void 0 !== t.paths.vs && delete t.paths.vs, + (t.catchError = !0), + self.require.config(t)), + new Promise((e, t) => { + self.require( + [n], + (n) => { + (this._requestHandler = n.create(r)), + this._requestHandler + ? e(T(this._requestHandler)) + : t(new Error('No RequestHandler!')); + }, + t + ); + })); + } + } + function x(e, t) { + return R(e, t, 0, e.length - 1, []), e; + } + function R(e, t, n, i, r) { + if (i <= n) return; + const s = (n + (i - n) / 2) | 0; + R(e, t, n, s, r), + R(e, t, s + 1, i, r), + t(e[s], e[s + 1]) <= 0 || + (function (e, t, n, i, r, s) { + let o = n, + a = i + 1; + for (let t = n; t <= r; t++) s[t] = e[t]; + for (let l = n; l <= r; l++) + o > i + ? (e[l] = s[a++]) + : a > r + ? (e[l] = s[o++]) + : t(s[a], s[o]) < 0 + ? (e[l] = s[a++]) + : (e[l] = s[o++]); + })(e, t, n, s, i, r); + } + class P { + constructor(e, t, n, i) { + (this.originalStart = e), + (this.originalLength = t), + (this.modifiedStart = n), + (this.modifiedLength = i); + } + getOriginalEnd() { + return this.originalStart + this.originalLength; + } + getModifiedEnd() { + return this.modifiedStart + this.modifiedLength; + } + } + function U(e) { + return 55296 <= e && e <= 56319; + } + function k(e) { + return 56320 <= e && e <= 57343; + } + String.fromCharCode(65279); + class D { + constructor() { + this._data = JSON.parse( + '[0,0,0,51592,51592,11,44424,44424,11,72251,72254,5,7150,7150,7,48008,48008,11,55176,55176,11,128420,128420,14,3276,3277,5,9979,9980,14,46216,46216,11,49800,49800,11,53384,53384,11,70726,70726,5,122915,122916,5,129320,129327,14,2558,2558,5,5906,5908,5,9762,9763,14,43360,43388,8,45320,45320,11,47112,47112,11,48904,48904,11,50696,50696,11,52488,52488,11,54280,54280,11,70082,70083,1,71350,71350,7,73111,73111,5,127892,127893,14,128726,128727,14,129473,129474,14,2027,2035,5,2901,2902,5,3784,3789,5,6754,6754,5,8418,8420,5,9877,9877,14,11088,11088,14,44008,44008,5,44872,44872,11,45768,45768,11,46664,46664,11,47560,47560,11,48456,48456,11,49352,49352,11,50248,50248,11,51144,51144,11,52040,52040,11,52936,52936,11,53832,53832,11,54728,54728,11,69811,69814,5,70459,70460,5,71096,71099,7,71998,71998,5,72874,72880,5,119149,119149,7,127374,127374,14,128335,128335,14,128482,128482,14,128765,128767,14,129399,129400,14,129680,129685,14,1476,1477,5,2377,2380,7,2759,2760,5,3137,3140,7,3458,3459,7,4153,4154,5,6432,6434,5,6978,6978,5,7675,7679,5,9723,9726,14,9823,9823,14,9919,9923,14,10035,10036,14,42736,42737,5,43596,43596,5,44200,44200,11,44648,44648,11,45096,45096,11,45544,45544,11,45992,45992,11,46440,46440,11,46888,46888,11,47336,47336,11,47784,47784,11,48232,48232,11,48680,48680,11,49128,49128,11,49576,49576,11,50024,50024,11,50472,50472,11,50920,50920,11,51368,51368,11,51816,51816,11,52264,52264,11,52712,52712,11,53160,53160,11,53608,53608,11,54056,54056,11,54504,54504,11,54952,54952,11,68108,68111,5,69933,69940,5,70197,70197,7,70498,70499,7,70845,70845,5,71229,71229,5,71727,71735,5,72154,72155,5,72344,72345,5,73023,73029,5,94095,94098,5,121403,121452,5,126981,127182,14,127538,127546,14,127990,127990,14,128391,128391,14,128445,128449,14,128500,128505,14,128752,128752,14,129160,129167,14,129356,129356,14,129432,129442,14,129648,129651,14,129751,131069,14,173,173,4,1757,1757,1,2274,2274,1,2494,2494,5,2641,2641,5,2876,2876,5,3014,3016,7,3262,3262,7,3393,3396,5,3570,3571,7,3968,3972,5,4228,4228,7,6086,6086,5,6679,6680,5,6912,6915,5,7080,7081,5,7380,7392,5,8252,8252,14,9096,9096,14,9748,9749,14,9784,9786,14,9833,9850,14,9890,9894,14,9938,9938,14,9999,9999,14,10085,10087,14,12349,12349,14,43136,43137,7,43454,43456,7,43755,43755,7,44088,44088,11,44312,44312,11,44536,44536,11,44760,44760,11,44984,44984,11,45208,45208,11,45432,45432,11,45656,45656,11,45880,45880,11,46104,46104,11,46328,46328,11,46552,46552,11,46776,46776,11,47000,47000,11,47224,47224,11,47448,47448,11,47672,47672,11,47896,47896,11,48120,48120,11,48344,48344,11,48568,48568,11,48792,48792,11,49016,49016,11,49240,49240,11,49464,49464,11,49688,49688,11,49912,49912,11,50136,50136,11,50360,50360,11,50584,50584,11,50808,50808,11,51032,51032,11,51256,51256,11,51480,51480,11,51704,51704,11,51928,51928,11,52152,52152,11,52376,52376,11,52600,52600,11,52824,52824,11,53048,53048,11,53272,53272,11,53496,53496,11,53720,53720,11,53944,53944,11,54168,54168,11,54392,54392,11,54616,54616,11,54840,54840,11,55064,55064,11,65438,65439,5,69633,69633,5,69837,69837,1,70018,70018,7,70188,70190,7,70368,70370,7,70465,70468,7,70712,70719,5,70835,70840,5,70850,70851,5,71132,71133,5,71340,71340,7,71458,71461,5,71985,71989,7,72002,72002,7,72193,72202,5,72281,72283,5,72766,72766,7,72885,72886,5,73104,73105,5,92912,92916,5,113824,113827,4,119173,119179,5,121505,121519,5,125136,125142,5,127279,127279,14,127489,127490,14,127570,127743,14,127900,127901,14,128254,128254,14,128369,128370,14,128400,128400,14,128425,128432,14,128468,128475,14,128489,128494,14,128715,128720,14,128745,128745,14,128759,128760,14,129004,129023,14,129296,129304,14,129340,129342,14,129388,129392,14,129404,129407,14,129454,129455,14,129485,129487,14,129659,129663,14,129719,129727,14,917536,917631,5,13,13,2,1160,1161,5,1564,1564,4,1807,1807,1,2085,2087,5,2363,2363,7,2402,2403,5,2507,2508,7,2622,2624,7,2691,2691,7,2786,2787,5,2881,2884,5,3006,3006,5,3072,3072,5,3170,3171,5,3267,3268,7,3330,3331,7,3406,3406,1,3538,3540,5,3655,3662,5,3897,3897,5,4038,4038,5,4184,4185,5,4352,4447,8,6068,6069,5,6155,6157,5,6448,6449,7,6742,6742,5,6783,6783,5,6966,6970,5,7042,7042,7,7143,7143,7,7212,7219,5,7412,7412,5,8206,8207,4,8294,8303,4,8596,8601,14,9410,9410,14,9742,9742,14,9757,9757,14,9770,9770,14,9794,9794,14,9828,9828,14,9855,9855,14,9882,9882,14,9900,9903,14,9929,9933,14,9963,9967,14,9987,9988,14,10006,10006,14,10062,10062,14,10175,10175,14,11744,11775,5,42607,42607,5,43043,43044,7,43263,43263,5,43444,43445,7,43569,43570,5,43698,43700,5,43766,43766,5,44032,44032,11,44144,44144,11,44256,44256,11,44368,44368,11,44480,44480,11,44592,44592,11,44704,44704,11,44816,44816,11,44928,44928,11,45040,45040,11,45152,45152,11,45264,45264,11,45376,45376,11,45488,45488,11,45600,45600,11,45712,45712,11,45824,45824,11,45936,45936,11,46048,46048,11,46160,46160,11,46272,46272,11,46384,46384,11,46496,46496,11,46608,46608,11,46720,46720,11,46832,46832,11,46944,46944,11,47056,47056,11,47168,47168,11,47280,47280,11,47392,47392,11,47504,47504,11,47616,47616,11,47728,47728,11,47840,47840,11,47952,47952,11,48064,48064,11,48176,48176,11,48288,48288,11,48400,48400,11,48512,48512,11,48624,48624,11,48736,48736,11,48848,48848,11,48960,48960,11,49072,49072,11,49184,49184,11,49296,49296,11,49408,49408,11,49520,49520,11,49632,49632,11,49744,49744,11,49856,49856,11,49968,49968,11,50080,50080,11,50192,50192,11,50304,50304,11,50416,50416,11,50528,50528,11,50640,50640,11,50752,50752,11,50864,50864,11,50976,50976,11,51088,51088,11,51200,51200,11,51312,51312,11,51424,51424,11,51536,51536,11,51648,51648,11,51760,51760,11,51872,51872,11,51984,51984,11,52096,52096,11,52208,52208,11,52320,52320,11,52432,52432,11,52544,52544,11,52656,52656,11,52768,52768,11,52880,52880,11,52992,52992,11,53104,53104,11,53216,53216,11,53328,53328,11,53440,53440,11,53552,53552,11,53664,53664,11,53776,53776,11,53888,53888,11,54000,54000,11,54112,54112,11,54224,54224,11,54336,54336,11,54448,54448,11,54560,54560,11,54672,54672,11,54784,54784,11,54896,54896,11,55008,55008,11,55120,55120,11,64286,64286,5,66272,66272,5,68900,68903,5,69762,69762,7,69817,69818,5,69927,69931,5,70003,70003,5,70070,70078,5,70094,70094,7,70194,70195,7,70206,70206,5,70400,70401,5,70463,70463,7,70475,70477,7,70512,70516,5,70722,70724,5,70832,70832,5,70842,70842,5,70847,70848,5,71088,71089,7,71102,71102,7,71219,71226,5,71231,71232,5,71342,71343,7,71453,71455,5,71463,71467,5,71737,71738,5,71995,71996,5,72000,72000,7,72145,72147,7,72160,72160,5,72249,72249,7,72273,72278,5,72330,72342,5,72752,72758,5,72850,72871,5,72882,72883,5,73018,73018,5,73031,73031,5,73109,73109,5,73461,73462,7,94031,94031,5,94192,94193,7,119142,119142,7,119155,119162,4,119362,119364,5,121476,121476,5,122888,122904,5,123184,123190,5,126976,126979,14,127184,127231,14,127344,127345,14,127405,127461,14,127514,127514,14,127561,127567,14,127778,127779,14,127896,127896,14,127985,127986,14,127995,127999,5,128326,128328,14,128360,128366,14,128378,128378,14,128394,128397,14,128405,128406,14,128422,128423,14,128435,128443,14,128453,128464,14,128479,128480,14,128484,128487,14,128496,128498,14,128640,128709,14,128723,128724,14,128736,128741,14,128747,128748,14,128755,128755,14,128762,128762,14,128981,128991,14,129096,129103,14,129292,129292,14,129311,129311,14,129329,129330,14,129344,129349,14,129360,129374,14,129394,129394,14,129402,129402,14,129413,129425,14,129445,129450,14,129466,129471,14,129483,129483,14,129511,129535,14,129653,129655,14,129667,129670,14,129705,129711,14,129731,129743,14,917505,917505,4,917760,917999,5,10,10,3,127,159,4,768,879,5,1471,1471,5,1536,1541,1,1648,1648,5,1767,1768,5,1840,1866,5,2070,2073,5,2137,2139,5,2307,2307,7,2366,2368,7,2382,2383,7,2434,2435,7,2497,2500,5,2519,2519,5,2563,2563,7,2631,2632,5,2677,2677,5,2750,2752,7,2763,2764,7,2817,2817,5,2879,2879,5,2891,2892,7,2914,2915,5,3008,3008,5,3021,3021,5,3076,3076,5,3146,3149,5,3202,3203,7,3264,3265,7,3271,3272,7,3298,3299,5,3390,3390,5,3402,3404,7,3426,3427,5,3535,3535,5,3544,3550,7,3635,3635,7,3763,3763,7,3893,3893,5,3953,3966,5,3981,3991,5,4145,4145,7,4157,4158,5,4209,4212,5,4237,4237,5,4520,4607,10,5970,5971,5,6071,6077,5,6089,6099,5,6277,6278,5,6439,6440,5,6451,6456,7,6683,6683,5,6744,6750,5,6765,6770,7,6846,6846,5,6964,6964,5,6972,6972,5,7019,7027,5,7074,7077,5,7083,7085,5,7146,7148,7,7154,7155,7,7222,7223,5,7394,7400,5,7416,7417,5,8204,8204,5,8233,8233,4,8288,8292,4,8413,8416,5,8482,8482,14,8986,8987,14,9193,9203,14,9654,9654,14,9733,9733,14,9745,9745,14,9752,9752,14,9760,9760,14,9766,9766,14,9774,9775,14,9792,9792,14,9800,9811,14,9825,9826,14,9831,9831,14,9852,9853,14,9872,9873,14,9880,9880,14,9885,9887,14,9896,9897,14,9906,9916,14,9926,9927,14,9936,9936,14,9941,9960,14,9974,9974,14,9982,9985,14,9992,9997,14,10002,10002,14,10017,10017,14,10055,10055,14,10071,10071,14,10145,10145,14,11013,11015,14,11503,11505,5,12334,12335,5,12951,12951,14,42612,42621,5,43014,43014,5,43047,43047,7,43204,43205,5,43335,43345,5,43395,43395,7,43450,43451,7,43561,43566,5,43573,43574,5,43644,43644,5,43710,43711,5,43758,43759,7,44005,44005,5,44012,44012,7,44060,44060,11,44116,44116,11,44172,44172,11,44228,44228,11,44284,44284,11,44340,44340,11,44396,44396,11,44452,44452,11,44508,44508,11,44564,44564,11,44620,44620,11,44676,44676,11,44732,44732,11,44788,44788,11,44844,44844,11,44900,44900,11,44956,44956,11,45012,45012,11,45068,45068,11,45124,45124,11,45180,45180,11,45236,45236,11,45292,45292,11,45348,45348,11,45404,45404,11,45460,45460,11,45516,45516,11,45572,45572,11,45628,45628,11,45684,45684,11,45740,45740,11,45796,45796,11,45852,45852,11,45908,45908,11,45964,45964,11,46020,46020,11,46076,46076,11,46132,46132,11,46188,46188,11,46244,46244,11,46300,46300,11,46356,46356,11,46412,46412,11,46468,46468,11,46524,46524,11,46580,46580,11,46636,46636,11,46692,46692,11,46748,46748,11,46804,46804,11,46860,46860,11,46916,46916,11,46972,46972,11,47028,47028,11,47084,47084,11,47140,47140,11,47196,47196,11,47252,47252,11,47308,47308,11,47364,47364,11,47420,47420,11,47476,47476,11,47532,47532,11,47588,47588,11,47644,47644,11,47700,47700,11,47756,47756,11,47812,47812,11,47868,47868,11,47924,47924,11,47980,47980,11,48036,48036,11,48092,48092,11,48148,48148,11,48204,48204,11,48260,48260,11,48316,48316,11,48372,48372,11,48428,48428,11,48484,48484,11,48540,48540,11,48596,48596,11,48652,48652,11,48708,48708,11,48764,48764,11,48820,48820,11,48876,48876,11,48932,48932,11,48988,48988,11,49044,49044,11,49100,49100,11,49156,49156,11,49212,49212,11,49268,49268,11,49324,49324,11,49380,49380,11,49436,49436,11,49492,49492,11,49548,49548,11,49604,49604,11,49660,49660,11,49716,49716,11,49772,49772,11,49828,49828,11,49884,49884,11,49940,49940,11,49996,49996,11,50052,50052,11,50108,50108,11,50164,50164,11,50220,50220,11,50276,50276,11,50332,50332,11,50388,50388,11,50444,50444,11,50500,50500,11,50556,50556,11,50612,50612,11,50668,50668,11,50724,50724,11,50780,50780,11,50836,50836,11,50892,50892,11,50948,50948,11,51004,51004,11,51060,51060,11,51116,51116,11,51172,51172,11,51228,51228,11,51284,51284,11,51340,51340,11,51396,51396,11,51452,51452,11,51508,51508,11,51564,51564,11,51620,51620,11,51676,51676,11,51732,51732,11,51788,51788,11,51844,51844,11,51900,51900,11,51956,51956,11,52012,52012,11,52068,52068,11,52124,52124,11,52180,52180,11,52236,52236,11,52292,52292,11,52348,52348,11,52404,52404,11,52460,52460,11,52516,52516,11,52572,52572,11,52628,52628,11,52684,52684,11,52740,52740,11,52796,52796,11,52852,52852,11,52908,52908,11,52964,52964,11,53020,53020,11,53076,53076,11,53132,53132,11,53188,53188,11,53244,53244,11,53300,53300,11,53356,53356,11,53412,53412,11,53468,53468,11,53524,53524,11,53580,53580,11,53636,53636,11,53692,53692,11,53748,53748,11,53804,53804,11,53860,53860,11,53916,53916,11,53972,53972,11,54028,54028,11,54084,54084,11,54140,54140,11,54196,54196,11,54252,54252,11,54308,54308,11,54364,54364,11,54420,54420,11,54476,54476,11,54532,54532,11,54588,54588,11,54644,54644,11,54700,54700,11,54756,54756,11,54812,54812,11,54868,54868,11,54924,54924,11,54980,54980,11,55036,55036,11,55092,55092,11,55148,55148,11,55216,55238,9,65056,65071,5,65529,65531,4,68097,68099,5,68159,68159,5,69446,69456,5,69688,69702,5,69808,69810,7,69815,69816,7,69821,69821,1,69888,69890,5,69932,69932,7,69957,69958,7,70016,70017,5,70067,70069,7,70079,70080,7,70089,70092,5,70095,70095,5,70191,70193,5,70196,70196,5,70198,70199,5,70367,70367,5,70371,70378,5,70402,70403,7,70462,70462,5,70464,70464,5,70471,70472,7,70487,70487,5,70502,70508,5,70709,70711,7,70720,70721,7,70725,70725,7,70750,70750,5,70833,70834,7,70841,70841,7,70843,70844,7,70846,70846,7,70849,70849,7,71087,71087,5,71090,71093,5,71100,71101,5,71103,71104,5,71216,71218,7,71227,71228,7,71230,71230,7,71339,71339,5,71341,71341,5,71344,71349,5,71351,71351,5,71456,71457,7,71462,71462,7,71724,71726,7,71736,71736,7,71984,71984,5,71991,71992,7,71997,71997,7,71999,71999,1,72001,72001,1,72003,72003,5,72148,72151,5,72156,72159,7,72164,72164,7,72243,72248,5,72250,72250,1,72263,72263,5,72279,72280,7,72324,72329,1,72343,72343,7,72751,72751,7,72760,72765,5,72767,72767,5,72873,72873,7,72881,72881,7,72884,72884,7,73009,73014,5,73020,73021,5,73030,73030,1,73098,73102,7,73107,73108,7,73110,73110,7,73459,73460,5,78896,78904,4,92976,92982,5,94033,94087,7,94180,94180,5,113821,113822,5,119141,119141,5,119143,119145,5,119150,119154,5,119163,119170,5,119210,119213,5,121344,121398,5,121461,121461,5,121499,121503,5,122880,122886,5,122907,122913,5,122918,122922,5,123628,123631,5,125252,125258,5,126980,126980,14,127183,127183,14,127245,127247,14,127340,127343,14,127358,127359,14,127377,127386,14,127462,127487,6,127491,127503,14,127535,127535,14,127548,127551,14,127568,127569,14,127744,127777,14,127780,127891,14,127894,127895,14,127897,127899,14,127902,127984,14,127987,127989,14,127991,127994,14,128000,128253,14,128255,128317,14,128329,128334,14,128336,128359,14,128367,128368,14,128371,128377,14,128379,128390,14,128392,128393,14,128398,128399,14,128401,128404,14,128407,128419,14,128421,128421,14,128424,128424,14,128433,128434,14,128444,128444,14,128450,128452,14,128465,128467,14,128476,128478,14,128481,128481,14,128483,128483,14,128488,128488,14,128495,128495,14,128499,128499,14,128506,128591,14,128710,128714,14,128721,128722,14,128725,128725,14,128728,128735,14,128742,128744,14,128746,128746,14,128749,128751,14,128753,128754,14,128756,128758,14,128761,128761,14,128763,128764,14,128884,128895,14,128992,129003,14,129036,129039,14,129114,129119,14,129198,129279,14,129293,129295,14,129305,129310,14,129312,129319,14,129328,129328,14,129331,129338,14,129343,129343,14,129351,129355,14,129357,129359,14,129375,129387,14,129393,129393,14,129395,129398,14,129401,129401,14,129403,129403,14,129408,129412,14,129426,129431,14,129443,129444,14,129451,129453,14,129456,129465,14,129472,129472,14,129475,129482,14,129484,129484,14,129488,129510,14,129536,129647,14,129652,129652,14,129656,129658,14,129664,129666,14,129671,129679,14,129686,129704,14,129712,129718,14,129728,129730,14,129744,129750,14,917504,917504,4,917506,917535,4,917632,917759,4,918000,921599,4,0,9,4,11,12,4,14,31,4,169,169,14,174,174,14,1155,1159,5,1425,1469,5,1473,1474,5,1479,1479,5,1552,1562,5,1611,1631,5,1750,1756,5,1759,1764,5,1770,1773,5,1809,1809,5,1958,1968,5,2045,2045,5,2075,2083,5,2089,2093,5,2259,2273,5,2275,2306,5,2362,2362,5,2364,2364,5,2369,2376,5,2381,2381,5,2385,2391,5,2433,2433,5,2492,2492,5,2495,2496,7,2503,2504,7,2509,2509,5,2530,2531,5,2561,2562,5,2620,2620,5,2625,2626,5,2635,2637,5,2672,2673,5,2689,2690,5,2748,2748,5,2753,2757,5,2761,2761,7,2765,2765,5,2810,2815,5,2818,2819,7,2878,2878,5,2880,2880,7,2887,2888,7,2893,2893,5,2903,2903,5,2946,2946,5,3007,3007,7,3009,3010,7,3018,3020,7,3031,3031,5,3073,3075,7,3134,3136,5,3142,3144,5,3157,3158,5,3201,3201,5,3260,3260,5,3263,3263,5,3266,3266,5,3270,3270,5,3274,3275,7,3285,3286,5,3328,3329,5,3387,3388,5,3391,3392,7,3398,3400,7,3405,3405,5,3415,3415,5,3457,3457,5,3530,3530,5,3536,3537,7,3542,3542,5,3551,3551,5,3633,3633,5,3636,3642,5,3761,3761,5,3764,3772,5,3864,3865,5,3895,3895,5,3902,3903,7,3967,3967,7,3974,3975,5,3993,4028,5,4141,4144,5,4146,4151,5,4155,4156,7,4182,4183,7,4190,4192,5,4226,4226,5,4229,4230,5,4253,4253,5,4448,4519,9,4957,4959,5,5938,5940,5,6002,6003,5,6070,6070,7,6078,6085,7,6087,6088,7,6109,6109,5,6158,6158,4,6313,6313,5,6435,6438,7,6441,6443,7,6450,6450,5,6457,6459,5,6681,6682,7,6741,6741,7,6743,6743,7,6752,6752,5,6757,6764,5,6771,6780,5,6832,6845,5,6847,6848,5,6916,6916,7,6965,6965,5,6971,6971,7,6973,6977,7,6979,6980,7,7040,7041,5,7073,7073,7,7078,7079,7,7082,7082,7,7142,7142,5,7144,7145,5,7149,7149,5,7151,7153,5,7204,7211,7,7220,7221,7,7376,7378,5,7393,7393,7,7405,7405,5,7415,7415,7,7616,7673,5,8203,8203,4,8205,8205,13,8232,8232,4,8234,8238,4,8265,8265,14,8293,8293,4,8400,8412,5,8417,8417,5,8421,8432,5,8505,8505,14,8617,8618,14,9000,9000,14,9167,9167,14,9208,9210,14,9642,9643,14,9664,9664,14,9728,9732,14,9735,9741,14,9743,9744,14,9746,9746,14,9750,9751,14,9753,9756,14,9758,9759,14,9761,9761,14,9764,9765,14,9767,9769,14,9771,9773,14,9776,9783,14,9787,9791,14,9793,9793,14,9795,9799,14,9812,9822,14,9824,9824,14,9827,9827,14,9829,9830,14,9832,9832,14,9851,9851,14,9854,9854,14,9856,9861,14,9874,9876,14,9878,9879,14,9881,9881,14,9883,9884,14,9888,9889,14,9895,9895,14,9898,9899,14,9904,9905,14,9917,9918,14,9924,9925,14,9928,9928,14,9934,9935,14,9937,9937,14,9939,9940,14,9961,9962,14,9968,9973,14,9975,9978,14,9981,9981,14,9986,9986,14,9989,9989,14,9998,9998,14,10000,10001,14,10004,10004,14,10013,10013,14,10024,10024,14,10052,10052,14,10060,10060,14,10067,10069,14,10083,10084,14,10133,10135,14,10160,10160,14,10548,10549,14,11035,11036,14,11093,11093,14,11647,11647,5,12330,12333,5,12336,12336,14,12441,12442,5,12953,12953,14,42608,42610,5,42654,42655,5,43010,43010,5,43019,43019,5,43045,43046,5,43052,43052,5,43188,43203,7,43232,43249,5,43302,43309,5,43346,43347,7,43392,43394,5,43443,43443,5,43446,43449,5,43452,43453,5,43493,43493,5,43567,43568,7,43571,43572,7,43587,43587,5,43597,43597,7,43696,43696,5,43703,43704,5,43713,43713,5,43756,43757,5,43765,43765,7,44003,44004,7,44006,44007,7,44009,44010,7,44013,44013,5,44033,44059,12,44061,44087,12,44089,44115,12,44117,44143,12,44145,44171,12,44173,44199,12,44201,44227,12,44229,44255,12,44257,44283,12,44285,44311,12,44313,44339,12,44341,44367,12,44369,44395,12,44397,44423,12,44425,44451,12,44453,44479,12,44481,44507,12,44509,44535,12,44537,44563,12,44565,44591,12,44593,44619,12,44621,44647,12,44649,44675,12,44677,44703,12,44705,44731,12,44733,44759,12,44761,44787,12,44789,44815,12,44817,44843,12,44845,44871,12,44873,44899,12,44901,44927,12,44929,44955,12,44957,44983,12,44985,45011,12,45013,45039,12,45041,45067,12,45069,45095,12,45097,45123,12,45125,45151,12,45153,45179,12,45181,45207,12,45209,45235,12,45237,45263,12,45265,45291,12,45293,45319,12,45321,45347,12,45349,45375,12,45377,45403,12,45405,45431,12,45433,45459,12,45461,45487,12,45489,45515,12,45517,45543,12,45545,45571,12,45573,45599,12,45601,45627,12,45629,45655,12,45657,45683,12,45685,45711,12,45713,45739,12,45741,45767,12,45769,45795,12,45797,45823,12,45825,45851,12,45853,45879,12,45881,45907,12,45909,45935,12,45937,45963,12,45965,45991,12,45993,46019,12,46021,46047,12,46049,46075,12,46077,46103,12,46105,46131,12,46133,46159,12,46161,46187,12,46189,46215,12,46217,46243,12,46245,46271,12,46273,46299,12,46301,46327,12,46329,46355,12,46357,46383,12,46385,46411,12,46413,46439,12,46441,46467,12,46469,46495,12,46497,46523,12,46525,46551,12,46553,46579,12,46581,46607,12,46609,46635,12,46637,46663,12,46665,46691,12,46693,46719,12,46721,46747,12,46749,46775,12,46777,46803,12,46805,46831,12,46833,46859,12,46861,46887,12,46889,46915,12,46917,46943,12,46945,46971,12,46973,46999,12,47001,47027,12,47029,47055,12,47057,47083,12,47085,47111,12,47113,47139,12,47141,47167,12,47169,47195,12,47197,47223,12,47225,47251,12,47253,47279,12,47281,47307,12,47309,47335,12,47337,47363,12,47365,47391,12,47393,47419,12,47421,47447,12,47449,47475,12,47477,47503,12,47505,47531,12,47533,47559,12,47561,47587,12,47589,47615,12,47617,47643,12,47645,47671,12,47673,47699,12,47701,47727,12,47729,47755,12,47757,47783,12,47785,47811,12,47813,47839,12,47841,47867,12,47869,47895,12,47897,47923,12,47925,47951,12,47953,47979,12,47981,48007,12,48009,48035,12,48037,48063,12,48065,48091,12,48093,48119,12,48121,48147,12,48149,48175,12,48177,48203,12,48205,48231,12,48233,48259,12,48261,48287,12,48289,48315,12,48317,48343,12,48345,48371,12,48373,48399,12,48401,48427,12,48429,48455,12,48457,48483,12,48485,48511,12,48513,48539,12,48541,48567,12,48569,48595,12,48597,48623,12,48625,48651,12,48653,48679,12,48681,48707,12,48709,48735,12,48737,48763,12,48765,48791,12,48793,48819,12,48821,48847,12,48849,48875,12,48877,48903,12,48905,48931,12,48933,48959,12,48961,48987,12,48989,49015,12,49017,49043,12,49045,49071,12,49073,49099,12,49101,49127,12,49129,49155,12,49157,49183,12,49185,49211,12,49213,49239,12,49241,49267,12,49269,49295,12,49297,49323,12,49325,49351,12,49353,49379,12,49381,49407,12,49409,49435,12,49437,49463,12,49465,49491,12,49493,49519,12,49521,49547,12,49549,49575,12,49577,49603,12,49605,49631,12,49633,49659,12,49661,49687,12,49689,49715,12,49717,49743,12,49745,49771,12,49773,49799,12,49801,49827,12,49829,49855,12,49857,49883,12,49885,49911,12,49913,49939,12,49941,49967,12,49969,49995,12,49997,50023,12,50025,50051,12,50053,50079,12,50081,50107,12,50109,50135,12,50137,50163,12,50165,50191,12,50193,50219,12,50221,50247,12,50249,50275,12,50277,50303,12,50305,50331,12,50333,50359,12,50361,50387,12,50389,50415,12,50417,50443,12,50445,50471,12,50473,50499,12,50501,50527,12,50529,50555,12,50557,50583,12,50585,50611,12,50613,50639,12,50641,50667,12,50669,50695,12,50697,50723,12,50725,50751,12,50753,50779,12,50781,50807,12,50809,50835,12,50837,50863,12,50865,50891,12,50893,50919,12,50921,50947,12,50949,50975,12,50977,51003,12,51005,51031,12,51033,51059,12,51061,51087,12,51089,51115,12,51117,51143,12,51145,51171,12,51173,51199,12,51201,51227,12,51229,51255,12,51257,51283,12,51285,51311,12,51313,51339,12,51341,51367,12,51369,51395,12,51397,51423,12,51425,51451,12,51453,51479,12,51481,51507,12,51509,51535,12,51537,51563,12,51565,51591,12,51593,51619,12,51621,51647,12,51649,51675,12,51677,51703,12,51705,51731,12,51733,51759,12,51761,51787,12,51789,51815,12,51817,51843,12,51845,51871,12,51873,51899,12,51901,51927,12,51929,51955,12,51957,51983,12,51985,52011,12,52013,52039,12,52041,52067,12,52069,52095,12,52097,52123,12,52125,52151,12,52153,52179,12,52181,52207,12,52209,52235,12,52237,52263,12,52265,52291,12,52293,52319,12,52321,52347,12,52349,52375,12,52377,52403,12,52405,52431,12,52433,52459,12,52461,52487,12,52489,52515,12,52517,52543,12,52545,52571,12,52573,52599,12,52601,52627,12,52629,52655,12,52657,52683,12,52685,52711,12,52713,52739,12,52741,52767,12,52769,52795,12,52797,52823,12,52825,52851,12,52853,52879,12,52881,52907,12,52909,52935,12,52937,52963,12,52965,52991,12,52993,53019,12,53021,53047,12,53049,53075,12,53077,53103,12,53105,53131,12,53133,53159,12,53161,53187,12,53189,53215,12,53217,53243,12,53245,53271,12,53273,53299,12,53301,53327,12,53329,53355,12,53357,53383,12,53385,53411,12,53413,53439,12,53441,53467,12,53469,53495,12,53497,53523,12,53525,53551,12,53553,53579,12,53581,53607,12,53609,53635,12,53637,53663,12,53665,53691,12,53693,53719,12,53721,53747,12,53749,53775,12,53777,53803,12,53805,53831,12,53833,53859,12,53861,53887,12,53889,53915,12,53917,53943,12,53945,53971,12,53973,53999,12,54001,54027,12,54029,54055,12,54057,54083,12,54085,54111,12,54113,54139,12,54141,54167,12,54169,54195,12,54197,54223,12,54225,54251,12,54253,54279,12,54281,54307,12,54309,54335,12,54337,54363,12,54365,54391,12,54393,54419,12,54421,54447,12,54449,54475,12,54477,54503,12,54505,54531,12,54533,54559,12,54561,54587,12,54589,54615,12,54617,54643,12,54645,54671,12,54673,54699,12,54701,54727,12,54729,54755,12,54757,54783,12,54785,54811,12,54813,54839,12,54841,54867,12,54869,54895,12,54897,54923,12,54925,54951,12,54953,54979,12,54981,55007,12,55009,55035,12,55037,55063,12,55065,55091,12,55093,55119,12,55121,55147,12,55149,55175,12,55177,55203,12,55243,55291,10,65024,65039,5,65279,65279,4,65520,65528,4,66045,66045,5,66422,66426,5,68101,68102,5,68152,68154,5,68325,68326,5,69291,69292,5,69632,69632,7,69634,69634,7,69759,69761,5]' + ); + } + static getInstance() { + return D._INSTANCE || (D._INSTANCE = new D()), D._INSTANCE; + } + getGraphemeBreakType(e) { + if (e < 32) return 10 === e ? 3 : 13 === e ? 2 : 4; + if (e < 127) return 0; + const t = this._data, + n = t.length / 3; + let i = 1; + for (; i <= n; ) + if (e < t[3 * i]) i *= 2; + else { + if (!(e > t[3 * i + 1])) return t[3 * i + 2]; + i = 2 * i + 1; + } + return 0; + } + } + function F(e, t) { + return ((t << 5) - t + e) | 0; + } + function K(e, t) { + t = F(149417, t); + for (let n = 0, i = e.length; n < i; n++) t = F(e.charCodeAt(n), t); + return t; + } + function B(e, t, n = 32) { + const i = n - t; + return ((e << t) | ((~((1 << i) - 1) & e) >>> i)) >>> 0; + } + function W(e, t = 0, n = e.byteLength, i = 0) { + for (let r = 0; r < n; r++) e[t + r] = i; + } + function q(e, t = 32) { + return (function (e, t, n = '0') { + for (; e.length < t; ) e = n + e; + return e; + })((e >>> 0).toString(16), t / 4); + } + D._INSTANCE = null; + class H { + constructor() { + (this._h0 = 1732584193), + (this._h1 = 4023233417), + (this._h2 = 2562383102), + (this._h3 = 271733878), + (this._h4 = 3285377520), + (this._buff = new Uint8Array(67)), + (this._buffDV = new DataView(this._buff.buffer)), + (this._buffLen = 0), + (this._totalLen = 0), + (this._leftoverHighSurrogate = 0), + (this._finished = !1); + } + update(e) { + const t = e.length; + if (0 === t) return; + const n = this._buff; + let i, + r, + s = this._buffLen, + o = this._leftoverHighSurrogate; + for ( + 0 !== o + ? ((i = o), (r = -1), (o = 0)) + : ((i = e.charCodeAt(0)), (r = 0)); + ; + + ) { + let a = i; + if (U(i)) { + if (!(r + 1 < t)) { + o = i; + break; + } + { + const t = e.charCodeAt(r + 1); + k(t) + ? (r++, (a = t - 56320 + ((i - 55296) << 10) + 65536)) + : (a = 65533); + } + } else k(i) && (a = 65533); + if (((s = this._push(n, s, a)), r++, !(r < t))) break; + i = e.charCodeAt(r); + } + (this._buffLen = s), (this._leftoverHighSurrogate = o); + } + _push(e, t, n) { + return ( + n < 128 + ? (e[t++] = n) + : n < 2048 + ? ((e[t++] = 192 | ((1984 & n) >>> 6)), + (e[t++] = 128 | ((63 & n) >>> 0))) + : n < 65536 + ? ((e[t++] = 224 | ((61440 & n) >>> 12)), + (e[t++] = 128 | ((4032 & n) >>> 6)), + (e[t++] = 128 | ((63 & n) >>> 0))) + : ((e[t++] = 240 | ((1835008 & n) >>> 18)), + (e[t++] = 128 | ((258048 & n) >>> 12)), + (e[t++] = 128 | ((4032 & n) >>> 6)), + (e[t++] = 128 | ((63 & n) >>> 0))), + t >= 64 && + (this._step(), + (t -= 64), + (this._totalLen += 64), + (e[0] = e[64]), + (e[1] = e[65]), + (e[2] = e[66])), + t + ); + } + digest() { + return ( + this._finished || + ((this._finished = !0), + this._leftoverHighSurrogate && + ((this._leftoverHighSurrogate = 0), + (this._buffLen = this._push(this._buff, this._buffLen, 65533))), + (this._totalLen += this._buffLen), + this._wrapUp()), + q(this._h0) + q(this._h1) + q(this._h2) + q(this._h3) + q(this._h4) + ); + } + _wrapUp() { + (this._buff[this._buffLen++] = 128), + W(this._buff, this._buffLen), + this._buffLen > 56 && (this._step(), W(this._buff)); + const e = 8 * this._totalLen; + this._buffDV.setUint32(56, Math.floor(e / 4294967296), !1), + this._buffDV.setUint32(60, e % 4294967296, !1), + this._step(); + } + _step() { + const e = H._bigBlock32, + t = this._buffDV; + for (let n = 0; n < 64; n += 4) e.setUint32(n, t.getUint32(n, !1), !1); + for (let t = 64; t < 320; t += 4) + e.setUint32( + t, + B( + e.getUint32(t - 12, !1) ^ + e.getUint32(t - 32, !1) ^ + e.getUint32(t - 56, !1) ^ + e.getUint32(t - 64, !1), + 1 + ), + !1 + ); + let n, + i, + r, + s = this._h0, + o = this._h1, + a = this._h2, + l = this._h3, + u = this._h4; + for (let t = 0; t < 80; t++) + t < 20 + ? ((n = (o & a) | (~o & l)), (i = 1518500249)) + : t < 40 + ? ((n = o ^ a ^ l), (i = 1859775393)) + : t < 60 + ? ((n = (o & a) | (o & l) | (a & l)), (i = 2400959708)) + : ((n = o ^ a ^ l), (i = 3395469782)), + (r = (B(s, 5) + n + u + i + e.getUint32(4 * t, !1)) & 4294967295), + (u = l), + (l = a), + (a = B(o, 30)), + (o = s), + (s = r); + (this._h0 = (this._h0 + s) & 4294967295), + (this._h1 = (this._h1 + o) & 4294967295), + (this._h2 = (this._h2 + a) & 4294967295), + (this._h3 = (this._h3 + l) & 4294967295), + (this._h4 = (this._h4 + u) & 4294967295); + } + } + H._bigBlock32 = new DataView(new ArrayBuffer(320)); + class V { + constructor(e) { + this.source = e; + } + getElements() { + const e = this.source, + t = new Int32Array(e.length); + for (let n = 0, i = e.length; n < i; n++) t[n] = e.charCodeAt(n); + return t; + } + } + function Y(e, t, n) { + return new z(new V(e), new V(t)).ComputeDiff(n).changes; + } + class $ { + static Assert(e, t) { + if (!e) throw new Error(t); + } + } + class j { + static Copy(e, t, n, i, r) { + for (let s = 0; s < r; s++) n[i + s] = e[t + s]; + } + static Copy2(e, t, n, i, r) { + for (let s = 0; s < r; s++) n[i + s] = e[t + s]; + } + } + class G { + constructor() { + (this.m_changes = []), + (this.m_originalStart = 1073741824), + (this.m_modifiedStart = 1073741824), + (this.m_originalCount = 0), + (this.m_modifiedCount = 0); + } + MarkNextChange() { + (this.m_originalCount > 0 || this.m_modifiedCount > 0) && + this.m_changes.push( + new P( + this.m_originalStart, + this.m_originalCount, + this.m_modifiedStart, + this.m_modifiedCount + ) + ), + (this.m_originalCount = 0), + (this.m_modifiedCount = 0), + (this.m_originalStart = 1073741824), + (this.m_modifiedStart = 1073741824); + } + AddOriginalElement(e, t) { + (this.m_originalStart = Math.min(this.m_originalStart, e)), + (this.m_modifiedStart = Math.min(this.m_modifiedStart, t)), + this.m_originalCount++; + } + AddModifiedElement(e, t) { + (this.m_originalStart = Math.min(this.m_originalStart, e)), + (this.m_modifiedStart = Math.min(this.m_modifiedStart, t)), + this.m_modifiedCount++; + } + getChanges() { + return ( + (this.m_originalCount > 0 || this.m_modifiedCount > 0) && + this.MarkNextChange(), + this.m_changes + ); + } + getReverseChanges() { + return ( + (this.m_originalCount > 0 || this.m_modifiedCount > 0) && + this.MarkNextChange(), + this.m_changes.reverse(), + this.m_changes + ); + } + } + class z { + constructor(e, t, n = null) { + this.ContinueProcessingPredicate = n; + const [i, r, s] = z._getElements(e), + [o, a, l] = z._getElements(t); + (this._hasStrings = s && l), + (this._originalStringElements = i), + (this._originalElementsOrHash = r), + (this._modifiedStringElements = o), + (this._modifiedElementsOrHash = a), + (this.m_forwardHistory = []), + (this.m_reverseHistory = []); + } + static _isStringArray(e) { + return e.length > 0 && 'string' == typeof e[0]; + } + static _getElements(e) { + const t = e.getElements(); + if (z._isStringArray(t)) { + const e = new Int32Array(t.length); + for (let n = 0, i = t.length; n < i; n++) e[n] = K(t[n], 0); + return [t, e, !0]; + } + return t instanceof Int32Array + ? [[], t, !1] + : [[], new Int32Array(t), !1]; + } + ElementsAreEqual(e, t) { + return ( + this._originalElementsOrHash[e] === this._modifiedElementsOrHash[t] && + (!this._hasStrings || + this._originalStringElements[e] === this._modifiedStringElements[t]) + ); + } + OriginalElementsAreEqual(e, t) { + return ( + this._originalElementsOrHash[e] === this._originalElementsOrHash[t] && + (!this._hasStrings || + this._originalStringElements[e] === this._originalStringElements[t]) + ); + } + ModifiedElementsAreEqual(e, t) { + return ( + this._modifiedElementsOrHash[e] === this._modifiedElementsOrHash[t] && + (!this._hasStrings || + this._modifiedStringElements[e] === this._modifiedStringElements[t]) + ); + } + ComputeDiff(e) { + return this._ComputeDiff( + 0, + this._originalElementsOrHash.length - 1, + 0, + this._modifiedElementsOrHash.length - 1, + e + ); + } + _ComputeDiff(e, t, n, i, r) { + const s = [!1]; + let o = this.ComputeDiffRecursive(e, t, n, i, s); + return ( + r && (o = this.PrettifyChanges(o)), { quitEarly: s[0], changes: o } + ); + } + ComputeDiffRecursive(e, t, n, i, r) { + for (r[0] = !1; e <= t && n <= i && this.ElementsAreEqual(e, n); ) + e++, n++; + for (; t >= e && i >= n && this.ElementsAreEqual(t, i); ) t--, i--; + if (e > t || n > i) { + let r; + return ( + n <= i + ? ($.Assert( + e === t + 1, + 'originalStart should only be one more than originalEnd' + ), + (r = [new P(e, 0, n, i - n + 1)])) + : e <= t + ? ($.Assert( + n === i + 1, + 'modifiedStart should only be one more than modifiedEnd' + ), + (r = [new P(e, t - e + 1, n, 0)])) + : ($.Assert( + e === t + 1, + 'originalStart should only be one more than originalEnd' + ), + $.Assert( + n === i + 1, + 'modifiedStart should only be one more than modifiedEnd' + ), + (r = [])), + r + ); + } + const s = [0], + o = [0], + a = this.ComputeRecursionPoint(e, t, n, i, s, o, r), + l = s[0], + u = o[0]; + if (null !== a) return a; + if (!r[0]) { + const s = this.ComputeDiffRecursive(e, l, n, u, r); + let o = []; + return ( + (o = r[0] + ? [new P(l + 1, t - (l + 1) + 1, u + 1, i - (u + 1) + 1)] + : this.ComputeDiffRecursive(l + 1, t, u + 1, i, r)), + this.ConcatenateChanges(s, o) + ); + } + return [new P(e, t - e + 1, n, i - n + 1)]; + } + WALKTRACE(e, t, n, i, r, s, o, a, l, u, h, d, c, f, m, g, _, p) { + let C = null, + b = null, + L = new G(), + N = t, + S = n, + E = c[0] - g[0] - i, + A = -1073741824, + y = this.m_forwardHistory.length - 1; + do { + const t = E + e; + t === N || (t < S && l[t - 1] < l[t + 1]) + ? ((f = (h = l[t + 1]) - E - i), + h < A && L.MarkNextChange(), + (A = h), + L.AddModifiedElement(h + 1, f), + (E = t + 1 - e)) + : ((f = (h = l[t - 1] + 1) - E - i), + h < A && L.MarkNextChange(), + (A = h - 1), + L.AddOriginalElement(h, f + 1), + (E = t - 1 - e)), + y >= 0 && + ((e = (l = this.m_forwardHistory[y])[0]), + (N = 1), + (S = l.length - 1)); + } while (--y >= -1); + if (((C = L.getReverseChanges()), p[0])) { + let e = c[0] + 1, + t = g[0] + 1; + if (null !== C && C.length > 0) { + const n = C[C.length - 1]; + (e = Math.max(e, n.getOriginalEnd())), + (t = Math.max(t, n.getModifiedEnd())); + } + b = [new P(e, d - e + 1, t, m - t + 1)]; + } else { + (L = new G()), + (N = s), + (S = o), + (E = c[0] - g[0] - a), + (A = 1073741824), + (y = _ + ? this.m_reverseHistory.length - 1 + : this.m_reverseHistory.length - 2); + do { + const e = E + r; + e === N || (e < S && u[e - 1] >= u[e + 1]) + ? ((f = (h = u[e + 1] - 1) - E - a), + h > A && L.MarkNextChange(), + (A = h + 1), + L.AddOriginalElement(h + 1, f + 1), + (E = e + 1 - r)) + : ((f = (h = u[e - 1]) - E - a), + h > A && L.MarkNextChange(), + (A = h), + L.AddModifiedElement(h + 1, f + 1), + (E = e - 1 - r)), + y >= 0 && + ((r = (u = this.m_reverseHistory[y])[0]), + (N = 1), + (S = u.length - 1)); + } while (--y >= -1); + b = L.getChanges(); + } + return this.ConcatenateChanges(C, b); + } + ComputeRecursionPoint(e, t, n, i, r, s, o) { + let a = 0, + l = 0, + u = 0, + h = 0, + d = 0, + c = 0; + e--, + n--, + (r[0] = 0), + (s[0] = 0), + (this.m_forwardHistory = []), + (this.m_reverseHistory = []); + const f = t - e + (i - n), + m = f + 1, + g = new Int32Array(m), + _ = new Int32Array(m), + p = i - n, + C = t - e, + b = e - n, + L = t - i, + N = (C - p) % 2 == 0; + (g[p] = e), (_[C] = t), (o[0] = !1); + for (let S = 1; S <= f / 2 + 1; S++) { + let f = 0, + E = 0; + (u = this.ClipDiagonalBound(p - S, S, p, m)), + (h = this.ClipDiagonalBound(p + S, S, p, m)); + for (let e = u; e <= h; e += 2) { + (a = + e === u || (e < h && g[e - 1] < g[e + 1]) + ? g[e + 1] + : g[e - 1] + 1), + (l = a - (e - p) - b); + const n = a; + for (; a < t && l < i && this.ElementsAreEqual(a + 1, l + 1); ) + a++, l++; + if ( + ((g[e] = a), + a + l > f + E && ((f = a), (E = l)), + !N && Math.abs(e - C) <= S - 1 && a >= _[e]) + ) + return ( + (r[0] = a), + (s[0] = l), + n <= _[e] && S <= 1448 + ? this.WALKTRACE( + p, + u, + h, + b, + C, + d, + c, + L, + g, + _, + a, + t, + r, + l, + i, + s, + N, + o + ) + : null + ); + } + const A = (f - e + (E - n) - S) / 2; + if ( + null !== this.ContinueProcessingPredicate && + !this.ContinueProcessingPredicate(f, A) + ) + return ( + (o[0] = !0), + (r[0] = f), + (s[0] = E), + A > 0 && S <= 1448 + ? this.WALKTRACE( + p, + u, + h, + b, + C, + d, + c, + L, + g, + _, + a, + t, + r, + l, + i, + s, + N, + o + ) + : (e++, n++, [new P(e, t - e + 1, n, i - n + 1)]) + ); + (d = this.ClipDiagonalBound(C - S, S, C, m)), + (c = this.ClipDiagonalBound(C + S, S, C, m)); + for (let f = d; f <= c; f += 2) { + (a = + f === d || (f < c && _[f - 1] >= _[f + 1]) + ? _[f + 1] - 1 + : _[f - 1]), + (l = a - (f - C) - L); + const m = a; + for (; a > e && l > n && this.ElementsAreEqual(a, l); ) a--, l--; + if (((_[f] = a), N && Math.abs(f - p) <= S && a <= g[f])) + return ( + (r[0] = a), + (s[0] = l), + m >= g[f] && S <= 1448 + ? this.WALKTRACE( + p, + u, + h, + b, + C, + d, + c, + L, + g, + _, + a, + t, + r, + l, + i, + s, + N, + o + ) + : null + ); + } + if (S <= 1447) { + let e = new Int32Array(h - u + 2); + (e[0] = p - u + 1), + j.Copy2(g, u, e, 1, h - u + 1), + this.m_forwardHistory.push(e), + (e = new Int32Array(c - d + 2)), + (e[0] = C - d + 1), + j.Copy2(_, d, e, 1, c - d + 1), + this.m_reverseHistory.push(e); + } + } + return this.WALKTRACE( + p, + u, + h, + b, + C, + d, + c, + L, + g, + _, + a, + t, + r, + l, + i, + s, + N, + o + ); + } + PrettifyChanges(e) { + for (let t = 0; t < e.length; t++) { + const n = e[t], + i = + t < e.length - 1 + ? e[t + 1].originalStart + : this._originalElementsOrHash.length, + r = + t < e.length - 1 + ? e[t + 1].modifiedStart + : this._modifiedElementsOrHash.length, + s = n.originalLength > 0, + o = n.modifiedLength > 0; + for ( + ; + n.originalStart + n.originalLength < i && + n.modifiedStart + n.modifiedLength < r && + (!s || + this.OriginalElementsAreEqual( + n.originalStart, + n.originalStart + n.originalLength + )) && + (!o || + this.ModifiedElementsAreEqual( + n.modifiedStart, + n.modifiedStart + n.modifiedLength + )); + + ) + n.originalStart++, n.modifiedStart++; + let a = [null]; + t < e.length - 1 && + this.ChangesOverlap(e[t], e[t + 1], a) && + ((e[t] = a[0]), e.splice(t + 1, 1), t--); + } + for (let t = e.length - 1; t >= 0; t--) { + const n = e[t]; + let i = 0, + r = 0; + if (t > 0) { + const n = e[t - 1]; + n.originalLength > 0 && (i = n.originalStart + n.originalLength), + n.modifiedLength > 0 && (r = n.modifiedStart + n.modifiedLength); + } + const s = n.originalLength > 0, + o = n.modifiedLength > 0; + let a = 0, + l = this._boundaryScore( + n.originalStart, + n.originalLength, + n.modifiedStart, + n.modifiedLength + ); + for (let e = 1; ; e++) { + const t = n.originalStart - e, + u = n.modifiedStart - e; + if (t < i || u < r) break; + if (s && !this.OriginalElementsAreEqual(t, t + n.originalLength)) + break; + if (o && !this.ModifiedElementsAreEqual(u, u + n.modifiedLength)) + break; + const h = this._boundaryScore( + t, + n.originalLength, + u, + n.modifiedLength + ); + h > l && ((l = h), (a = e)); + } + (n.originalStart -= a), (n.modifiedStart -= a); + } + return e; + } + _OriginalIsBoundary(e) { + return ( + e <= 0 || + e >= this._originalElementsOrHash.length - 1 || + (this._hasStrings && /^\s*$/.test(this._originalStringElements[e])) + ); + } + _OriginalRegionIsBoundary(e, t) { + if (this._OriginalIsBoundary(e) || this._OriginalIsBoundary(e - 1)) + return !0; + if (t > 0) { + const n = e + t; + if (this._OriginalIsBoundary(n - 1) || this._OriginalIsBoundary(n)) + return !0; + } + return !1; + } + _ModifiedIsBoundary(e) { + return ( + e <= 0 || + e >= this._modifiedElementsOrHash.length - 1 || + (this._hasStrings && /^\s*$/.test(this._modifiedStringElements[e])) + ); + } + _ModifiedRegionIsBoundary(e, t) { + if (this._ModifiedIsBoundary(e) || this._ModifiedIsBoundary(e - 1)) + return !0; + if (t > 0) { + const n = e + t; + if (this._ModifiedIsBoundary(n - 1) || this._ModifiedIsBoundary(n)) + return !0; + } + return !1; + } + _boundaryScore(e, t, n, i) { + return ( + (this._OriginalRegionIsBoundary(e, t) ? 1 : 0) + + (this._ModifiedRegionIsBoundary(n, i) ? 1 : 0) + ); + } + ConcatenateChanges(e, t) { + let n = []; + if (0 === e.length || 0 === t.length) return t.length > 0 ? t : e; + if (this.ChangesOverlap(e[e.length - 1], t[0], n)) { + const i = new Array(e.length + t.length - 1); + return ( + j.Copy(e, 0, i, 0, e.length - 1), + (i[e.length - 1] = n[0]), + j.Copy(t, 1, i, e.length, t.length - 1), + i + ); + } + { + const n = new Array(e.length + t.length); + return ( + j.Copy(e, 0, n, 0, e.length), j.Copy(t, 0, n, e.length, t.length), n + ); + } + } + ChangesOverlap(e, t, n) { + if ( + ($.Assert( + e.originalStart <= t.originalStart, + 'Left change is not less than or equal to right change' + ), + $.Assert( + e.modifiedStart <= t.modifiedStart, + 'Left change is not less than or equal to right change' + ), + e.originalStart + e.originalLength >= t.originalStart || + e.modifiedStart + e.modifiedLength >= t.modifiedStart) + ) { + const i = e.originalStart; + let r = e.originalLength; + const s = e.modifiedStart; + let o = e.modifiedLength; + return ( + e.originalStart + e.originalLength >= t.originalStart && + (r = t.originalStart + t.originalLength - e.originalStart), + e.modifiedStart + e.modifiedLength >= t.modifiedStart && + (o = t.modifiedStart + t.modifiedLength - e.modifiedStart), + (n[0] = new P(i, r, s, o)), + !0 + ); + } + return (n[0] = null), !1; + } + ClipDiagonalBound(e, t, n, i) { + if (e >= 0 && e < i) return e; + const r = t % 2 == 0; + return e < 0 + ? r === (n % 2 == 0) + ? 0 + : 1 + : r === ((i - n - 1) % 2 == 0) + ? i - 1 + : i - 2; + } + } + const Q = + 'undefined' == typeof process + ? { + cwd: () => '/', + env: Object.create(null), + get platform() { + return A ? 'win32' : y ? 'darwin' : 'linux'; + }, + nextTick: (e) => v(e), + } + : process, + X = Q.cwd, + Z = Q.env, + J = Q.platform, + ee = 46, + te = 47, + ne = 92, + ie = 58; + class re extends Error { + constructor(e, t, n) { + let i; + 'string' == typeof t && 0 === t.indexOf('not ') + ? ((i = 'must not be'), (t = t.replace(/^not /, ''))) + : (i = 'must be'); + const r = -1 !== e.indexOf('.') ? 'property' : 'argument'; + let s = `The "${e}" ${r} ${i} of type ${t}`; + (s += '. Received type ' + typeof n), + super(s), + (this.code = 'ERR_INVALID_ARG_TYPE'); + } + } + function se(e, t) { + if ('string' != typeof e) throw new re(t, 'string', e); + } + function oe(e) { + return e === te || e === ne; + } + function ae(e) { + return e === te; + } + function le(e) { + return (e >= 65 && e <= 90) || (e >= 97 && e <= 122); + } + function ue(e, t, n, i) { + let r = '', + s = 0, + o = -1, + a = 0, + l = 0; + for (let u = 0; u <= e.length; ++u) { + if (u < e.length) l = e.charCodeAt(u); + else { + if (i(l)) break; + l = te; + } + if (i(l)) { + if (o === u - 1 || 1 === a); + else if (2 === a) { + if ( + r.length < 2 || + 2 !== s || + r.charCodeAt(r.length - 1) !== ee || + r.charCodeAt(r.length - 2) !== ee + ) { + if (r.length > 2) { + const e = r.lastIndexOf(n); + -1 === e + ? ((r = ''), (s = 0)) + : ((r = r.slice(0, e)), (s = r.length - 1 - r.lastIndexOf(n))), + (o = u), + (a = 0); + continue; + } + if (0 !== r.length) { + (r = ''), (s = 0), (o = u), (a = 0); + continue; + } + } + t && ((r += r.length > 0 ? `${n}..` : '..'), (s = 2)); + } else + r.length > 0 + ? (r += `${n}${e.slice(o + 1, u)}`) + : (r = e.slice(o + 1, u)), + (s = u - o - 1); + (o = u), (a = 0); + } else l === ee && -1 !== a ? ++a : (a = -1); + } + return r; + } + function he(e, t) { + if (null === t || 'object' != typeof t) + throw new re('pathObject', 'Object', t); + const n = t.dir || t.root, + i = t.base || `${t.name || ''}${t.ext || ''}`; + return n ? (n === t.root ? `${n}${i}` : `${n}${e}${i}`) : i; + } + const de = { + resolve(...e) { + let t = '', + n = '', + i = !1; + for (let r = e.length - 1; r >= -1; r--) { + let s; + if (r >= 0) { + if (((s = e[r]), se(s, 'path'), 0 === s.length)) continue; + } else + 0 === t.length + ? (s = X()) + : ((s = Z[`=${t}`] || X()), + (void 0 === s || + (s.slice(0, 2).toLowerCase() !== t.toLowerCase() && + s.charCodeAt(2) === ne)) && + (s = `${t}\\`)); + const o = s.length; + let a = 0, + l = '', + u = !1; + const h = s.charCodeAt(0); + if (1 === o) oe(h) && ((a = 1), (u = !0)); + else if (oe(h)) + if (((u = !0), oe(s.charCodeAt(1)))) { + let e = 2, + t = e; + for (; e < o && !oe(s.charCodeAt(e)); ) e++; + if (e < o && e !== t) { + const n = s.slice(t, e); + for (t = e; e < o && oe(s.charCodeAt(e)); ) e++; + if (e < o && e !== t) { + for (t = e; e < o && !oe(s.charCodeAt(e)); ) e++; + (e !== o && e === t) || + ((l = `\\\\${n}\\${s.slice(t, e)}`), (a = e)); + } + } + } else a = 1; + else + le(h) && + s.charCodeAt(1) === ie && + ((l = s.slice(0, 2)), + (a = 2), + o > 2 && oe(s.charCodeAt(2)) && ((u = !0), (a = 3))); + if (l.length > 0) + if (t.length > 0) { + if (l.toLowerCase() !== t.toLowerCase()) continue; + } else t = l; + if (i) { + if (t.length > 0) break; + } else if (((n = `${s.slice(a)}\\${n}`), (i = u), u && t.length > 0)) + break; + } + return (n = ue(n, !i, '\\', oe)), i ? `${t}\\${n}` : `${t}${n}` || '.'; + }, + normalize(e) { + se(e, 'path'); + const t = e.length; + if (0 === t) return '.'; + let n, + i = 0, + r = !1; + const s = e.charCodeAt(0); + if (1 === t) return ae(s) ? '\\' : e; + if (oe(s)) + if (((r = !0), oe(e.charCodeAt(1)))) { + let r = 2, + s = r; + for (; r < t && !oe(e.charCodeAt(r)); ) r++; + if (r < t && r !== s) { + const o = e.slice(s, r); + for (s = r; r < t && oe(e.charCodeAt(r)); ) r++; + if (r < t && r !== s) { + for (s = r; r < t && !oe(e.charCodeAt(r)); ) r++; + if (r === t) return `\\\\${o}\\${e.slice(s)}\\`; + r !== s && ((n = `\\\\${o}\\${e.slice(s, r)}`), (i = r)); + } + } + } else i = 1; + else + le(s) && + e.charCodeAt(1) === ie && + ((n = e.slice(0, 2)), + (i = 2), + t > 2 && oe(e.charCodeAt(2)) && ((r = !0), (i = 3))); + let o = i < t ? ue(e.slice(i), !r, '\\', oe) : ''; + return ( + 0 !== o.length || r || (o = '.'), + o.length > 0 && oe(e.charCodeAt(t - 1)) && (o += '\\'), + void 0 === n ? (r ? `\\${o}` : o) : r ? `${n}\\${o}` : `${n}${o}` + ); + }, + isAbsolute(e) { + se(e, 'path'); + const t = e.length; + if (0 === t) return !1; + const n = e.charCodeAt(0); + return ( + oe(n) || + (t > 2 && le(n) && e.charCodeAt(1) === ie && oe(e.charCodeAt(2))) + ); + }, + join(...e) { + if (0 === e.length) return '.'; + let t, n; + for (let i = 0; i < e.length; ++i) { + const r = e[i]; + se(r, 'path'), + r.length > 0 && (void 0 === t ? (t = n = r) : (t += `\\${r}`)); + } + if (void 0 === t) return '.'; + let i = !0, + r = 0; + if ('string' == typeof n && oe(n.charCodeAt(0))) { + ++r; + const e = n.length; + e > 1 && + oe(n.charCodeAt(1)) && + (++r, e > 2 && (oe(n.charCodeAt(2)) ? ++r : (i = !1))); + } + if (i) { + for (; r < t.length && oe(t.charCodeAt(r)); ) r++; + r >= 2 && (t = `\\${t.slice(r)}`); + } + return de.normalize(t); + }, + relative(e, t) { + if ((se(e, 'from'), se(t, 'to'), e === t)) return ''; + const n = de.resolve(e), + i = de.resolve(t); + if (n === i) return ''; + if ((e = n.toLowerCase()) === (t = i.toLowerCase())) return ''; + let r = 0; + for (; r < e.length && e.charCodeAt(r) === ne; ) r++; + let s = e.length; + for (; s - 1 > r && e.charCodeAt(s - 1) === ne; ) s--; + const o = s - r; + let a = 0; + for (; a < t.length && t.charCodeAt(a) === ne; ) a++; + let l = t.length; + for (; l - 1 > a && t.charCodeAt(l - 1) === ne; ) l--; + const u = l - a, + h = o < u ? o : u; + let d = -1, + c = 0; + for (; c < h; c++) { + const n = e.charCodeAt(r + c); + if (n !== t.charCodeAt(a + c)) break; + n === ne && (d = c); + } + if (c !== h) { + if (-1 === d) return i; + } else { + if (u > h) { + if (t.charCodeAt(a + c) === ne) return i.slice(a + c + 1); + if (2 === c) return i.slice(a + c); + } + o > h && (e.charCodeAt(r + c) === ne ? (d = c) : 2 === c && (d = 3)), + -1 === d && (d = 0); + } + let f = ''; + for (c = r + d + 1; c <= s; ++c) + (c !== s && e.charCodeAt(c) !== ne) || + (f += 0 === f.length ? '..' : '\\..'); + return ( + (a += d), + f.length > 0 + ? `${f}${i.slice(a, l)}` + : (i.charCodeAt(a) === ne && ++a, i.slice(a, l)) + ); + }, + toNamespacedPath(e) { + if ('string' != typeof e) return e; + if (0 === e.length) return ''; + const t = de.resolve(e); + if (t.length <= 2) return e; + if (t.charCodeAt(0) === ne) { + if (t.charCodeAt(1) === ne) { + const e = t.charCodeAt(2); + if (63 !== e && e !== ee) return `\\\\?\\UNC\\${t.slice(2)}`; + } + } else if ( + le(t.charCodeAt(0)) && + t.charCodeAt(1) === ie && + t.charCodeAt(2) === ne + ) + return `\\\\?\\${t}`; + return e; + }, + dirname(e) { + se(e, 'path'); + const t = e.length; + if (0 === t) return '.'; + let n = -1, + i = 0; + const r = e.charCodeAt(0); + if (1 === t) return oe(r) ? e : '.'; + if (oe(r)) { + if (((n = i = 1), oe(e.charCodeAt(1)))) { + let r = 2, + s = r; + for (; r < t && !oe(e.charCodeAt(r)); ) r++; + if (r < t && r !== s) { + for (s = r; r < t && oe(e.charCodeAt(r)); ) r++; + if (r < t && r !== s) { + for (s = r; r < t && !oe(e.charCodeAt(r)); ) r++; + if (r === t) return e; + r !== s && (n = i = r + 1); + } + } + } + } else + le(r) && + e.charCodeAt(1) === ie && + ((n = t > 2 && oe(e.charCodeAt(2)) ? 3 : 2), (i = n)); + let s = -1, + o = !0; + for (let n = t - 1; n >= i; --n) + if (oe(e.charCodeAt(n))) { + if (!o) { + s = n; + break; + } + } else o = !1; + if (-1 === s) { + if (-1 === n) return '.'; + s = n; + } + return e.slice(0, s); + }, + basename(e, t) { + void 0 !== t && se(t, 'ext'), se(e, 'path'); + let n, + i = 0, + r = -1, + s = !0; + if ( + (e.length >= 2 && + le(e.charCodeAt(0)) && + e.charCodeAt(1) === ie && + (i = 2), + void 0 !== t && t.length > 0 && t.length <= e.length) + ) { + if (t === e) return ''; + let o = t.length - 1, + a = -1; + for (n = e.length - 1; n >= i; --n) { + const l = e.charCodeAt(n); + if (oe(l)) { + if (!s) { + i = n + 1; + break; + } + } else + -1 === a && ((s = !1), (a = n + 1)), + o >= 0 && + (l === t.charCodeAt(o) + ? -1 == --o && (r = n) + : ((o = -1), (r = a))); + } + return i === r ? (r = a) : -1 === r && (r = e.length), e.slice(i, r); + } + for (n = e.length - 1; n >= i; --n) + if (oe(e.charCodeAt(n))) { + if (!s) { + i = n + 1; + break; + } + } else -1 === r && ((s = !1), (r = n + 1)); + return -1 === r ? '' : e.slice(i, r); + }, + extname(e) { + se(e, 'path'); + let t = 0, + n = -1, + i = 0, + r = -1, + s = !0, + o = 0; + e.length >= 2 && + e.charCodeAt(1) === ie && + le(e.charCodeAt(0)) && + (t = i = 2); + for (let a = e.length - 1; a >= t; --a) { + const t = e.charCodeAt(a); + if (oe(t)) { + if (!s) { + i = a + 1; + break; + } + } else + -1 === r && ((s = !1), (r = a + 1)), + t === ee + ? -1 === n + ? (n = a) + : 1 !== o && (o = 1) + : -1 !== n && (o = -1); + } + return -1 === n || + -1 === r || + 0 === o || + (1 === o && n === r - 1 && n === i + 1) + ? '' + : e.slice(n, r); + }, + format: he.bind(null, '\\'), + parse(e) { + se(e, 'path'); + const t = { root: '', dir: '', base: '', ext: '', name: '' }; + if (0 === e.length) return t; + const n = e.length; + let i = 0, + r = e.charCodeAt(0); + if (1 === n) + return oe(r) ? ((t.root = t.dir = e), t) : ((t.base = t.name = e), t); + if (oe(r)) { + if (((i = 1), oe(e.charCodeAt(1)))) { + let t = 2, + r = t; + for (; t < n && !oe(e.charCodeAt(t)); ) t++; + if (t < n && t !== r) { + for (r = t; t < n && oe(e.charCodeAt(t)); ) t++; + if (t < n && t !== r) { + for (r = t; t < n && !oe(e.charCodeAt(t)); ) t++; + t === n ? (i = t) : t !== r && (i = t + 1); + } + } + } + } else if (le(r) && e.charCodeAt(1) === ie) { + if (n <= 2) return (t.root = t.dir = e), t; + if (((i = 2), oe(e.charCodeAt(2)))) { + if (3 === n) return (t.root = t.dir = e), t; + i = 3; + } + } + i > 0 && (t.root = e.slice(0, i)); + let s = -1, + o = i, + a = -1, + l = !0, + u = e.length - 1, + h = 0; + for (; u >= i; --u) + if (((r = e.charCodeAt(u)), oe(r))) { + if (!l) { + o = u + 1; + break; + } + } else + -1 === a && ((l = !1), (a = u + 1)), + r === ee + ? -1 === s + ? (s = u) + : 1 !== h && (h = 1) + : -1 !== s && (h = -1); + return ( + -1 !== a && + (-1 === s || 0 === h || (1 === h && s === a - 1 && s === o + 1) + ? (t.base = t.name = e.slice(o, a)) + : ((t.name = e.slice(o, s)), + (t.base = e.slice(o, a)), + (t.ext = e.slice(s, a)))), + (t.dir = o > 0 && o !== i ? e.slice(0, o - 1) : t.root), + t + ); + }, + sep: '\\', + delimiter: ';', + win32: null, + posix: null, + }, + ce = { + resolve(...e) { + let t = '', + n = !1; + for (let i = e.length - 1; i >= -1 && !n; i--) { + const r = i >= 0 ? e[i] : X(); + se(r, 'path'), + 0 !== r.length && ((t = `${r}/${t}`), (n = r.charCodeAt(0) === te)); + } + return (t = ue(t, !n, '/', ae)), n ? `/${t}` : t.length > 0 ? t : '.'; + }, + normalize(e) { + if ((se(e, 'path'), 0 === e.length)) return '.'; + const t = e.charCodeAt(0) === te, + n = e.charCodeAt(e.length - 1) === te; + return 0 === (e = ue(e, !t, '/', ae)).length + ? t + ? '/' + : n + ? './' + : '.' + : (n && (e += '/'), t ? `/${e}` : e); + }, + isAbsolute: (e) => ( + se(e, 'path'), e.length > 0 && e.charCodeAt(0) === te + ), + join(...e) { + if (0 === e.length) return '.'; + let t; + for (let n = 0; n < e.length; ++n) { + const i = e[n]; + se(i, 'path'), + i.length > 0 && (void 0 === t ? (t = i) : (t += `/${i}`)); + } + return void 0 === t ? '.' : ce.normalize(t); + }, + relative(e, t) { + if ((se(e, 'from'), se(t, 'to'), e === t)) return ''; + if ((e = ce.resolve(e)) === (t = ce.resolve(t))) return ''; + const n = e.length, + i = n - 1, + r = t.length - 1, + s = i < r ? i : r; + let o = -1, + a = 0; + for (; a < s; a++) { + const n = e.charCodeAt(1 + a); + if (n !== t.charCodeAt(1 + a)) break; + n === te && (o = a); + } + if (a === s) + if (r > s) { + if (t.charCodeAt(1 + a) === te) return t.slice(1 + a + 1); + if (0 === a) return t.slice(1 + a); + } else + i > s && + (e.charCodeAt(1 + a) === te ? (o = a) : 0 === a && (o = 0)); + let l = ''; + for (a = 1 + o + 1; a <= n; ++a) + (a !== n && e.charCodeAt(a) !== te) || + (l += 0 === l.length ? '..' : '/..'); + return `${l}${t.slice(1 + o)}`; + }, + toNamespacedPath: (e) => e, + dirname(e) { + if ((se(e, 'path'), 0 === e.length)) return '.'; + const t = e.charCodeAt(0) === te; + let n = -1, + i = !0; + for (let t = e.length - 1; t >= 1; --t) + if (e.charCodeAt(t) === te) { + if (!i) { + n = t; + break; + } + } else i = !1; + return -1 === n ? (t ? '/' : '.') : t && 1 === n ? '//' : e.slice(0, n); + }, + basename(e, t) { + void 0 !== t && se(t, 'ext'), se(e, 'path'); + let n, + i = 0, + r = -1, + s = !0; + if (void 0 !== t && t.length > 0 && t.length <= e.length) { + if (t === e) return ''; + let o = t.length - 1, + a = -1; + for (n = e.length - 1; n >= 0; --n) { + const l = e.charCodeAt(n); + if (l === te) { + if (!s) { + i = n + 1; + break; + } + } else + -1 === a && ((s = !1), (a = n + 1)), + o >= 0 && + (l === t.charCodeAt(o) + ? -1 == --o && (r = n) + : ((o = -1), (r = a))); + } + return i === r ? (r = a) : -1 === r && (r = e.length), e.slice(i, r); + } + for (n = e.length - 1; n >= 0; --n) + if (e.charCodeAt(n) === te) { + if (!s) { + i = n + 1; + break; + } + } else -1 === r && ((s = !1), (r = n + 1)); + return -1 === r ? '' : e.slice(i, r); + }, + extname(e) { + se(e, 'path'); + let t = -1, + n = 0, + i = -1, + r = !0, + s = 0; + for (let o = e.length - 1; o >= 0; --o) { + const a = e.charCodeAt(o); + if (a !== te) + -1 === i && ((r = !1), (i = o + 1)), + a === ee + ? -1 === t + ? (t = o) + : 1 !== s && (s = 1) + : -1 !== t && (s = -1); + else if (!r) { + n = o + 1; + break; + } + } + return -1 === t || + -1 === i || + 0 === s || + (1 === s && t === i - 1 && t === n + 1) + ? '' + : e.slice(t, i); + }, + format: he.bind(null, '/'), + parse(e) { + se(e, 'path'); + const t = { root: '', dir: '', base: '', ext: '', name: '' }; + if (0 === e.length) return t; + const n = e.charCodeAt(0) === te; + let i; + n ? ((t.root = '/'), (i = 1)) : (i = 0); + let r = -1, + s = 0, + o = -1, + a = !0, + l = e.length - 1, + u = 0; + for (; l >= i; --l) { + const t = e.charCodeAt(l); + if (t !== te) + -1 === o && ((a = !1), (o = l + 1)), + t === ee + ? -1 === r + ? (r = l) + : 1 !== u && (u = 1) + : -1 !== r && (u = -1); + else if (!a) { + s = l + 1; + break; + } + } + if (-1 !== o) { + const i = 0 === s && n ? 1 : s; + -1 === r || 0 === u || (1 === u && r === o - 1 && r === s + 1) + ? (t.base = t.name = e.slice(i, o)) + : ((t.name = e.slice(i, r)), + (t.base = e.slice(i, o)), + (t.ext = e.slice(r, o))); + } + return s > 0 ? (t.dir = e.slice(0, s - 1)) : n && (t.dir = '/'), t; + }, + sep: '/', + delimiter: ':', + win32: null, + posix: null, + }; + (ce.win32 = de.win32 = de), + (ce.posix = de.posix = ce), + 'win32' === J ? de.normalize : ce.normalize, + 'win32' === J ? de.resolve : ce.resolve, + 'win32' === J ? de.relative : ce.relative, + 'win32' === J ? de.dirname : ce.dirname, + 'win32' === J ? de.basename : ce.basename, + 'win32' === J ? de.extname : ce.extname, + 'win32' === J ? de.sep : ce.sep; + const fe = /^\w[\w\d+.-]*$/, + me = /^\//, + ge = /^\/\//, + _e = '', + pe = '/', + Ce = /^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/; + class be { + constructor(e, t, n, i, r, s = !1) { + 'object' == typeof e + ? ((this.scheme = e.scheme || _e), + (this.authority = e.authority || _e), + (this.path = e.path || _e), + (this.query = e.query || _e), + (this.fragment = e.fragment || _e)) + : ((this.scheme = (function (e, t) { + return e || t ? e : 'file'; + })(e, s)), + (this.authority = t || _e), + (this.path = (function (e, t) { + switch (e) { + case 'https': + case 'http': + case 'file': + t ? t[0] !== pe && (t = pe + t) : (t = pe); + } + return t; + })(this.scheme, n || _e)), + (this.query = i || _e), + (this.fragment = r || _e), + (function (e, t) { + if (!e.scheme && t) + throw new Error( + `[UriError]: Scheme is missing: {scheme: "", authority: "${e.authority}", path: "${e.path}", query: "${e.query}", fragment: "${e.fragment}"}` + ); + if (e.scheme && !fe.test(e.scheme)) + throw new Error( + '[UriError]: Scheme contains illegal characters.' + ); + if (e.path) + if (e.authority) { + if (!me.test(e.path)) + throw new Error( + '[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character' + ); + } else if (ge.test(e.path)) + throw new Error( + '[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")' + ); + })(this, s)); + } + static isUri(e) { + return ( + e instanceof be || + (!!e && + 'string' == typeof e.authority && + 'string' == typeof e.fragment && + 'string' == typeof e.path && + 'string' == typeof e.query && + 'string' == typeof e.scheme && + 'function' == typeof e.fsPath && + 'function' == typeof e.with && + 'function' == typeof e.toString) + ); + } + get fsPath() { + return ye(this, !1); + } + with(e) { + if (!e) return this; + let { scheme: t, authority: n, path: i, query: r, fragment: s } = e; + return ( + void 0 === t ? (t = this.scheme) : null === t && (t = _e), + void 0 === n ? (n = this.authority) : null === n && (n = _e), + void 0 === i ? (i = this.path) : null === i && (i = _e), + void 0 === r ? (r = this.query) : null === r && (r = _e), + void 0 === s ? (s = this.fragment) : null === s && (s = _e), + t === this.scheme && + n === this.authority && + i === this.path && + r === this.query && + s === this.fragment + ? this + : new Ne(t, n, i, r, s) + ); + } + static parse(e, t = !1) { + const n = Ce.exec(e); + return n + ? new Ne( + n[2] || _e, + Oe(n[4] || _e), + Oe(n[5] || _e), + Oe(n[7] || _e), + Oe(n[9] || _e), + t + ) + : new Ne(_e, _e, _e, _e, _e); + } + static file(e) { + let t = _e; + if ((A && (e = e.replace(/\\/g, pe)), e[0] === pe && e[1] === pe)) { + const n = e.indexOf(pe, 2); + -1 === n + ? ((t = e.substring(2)), (e = pe)) + : ((t = e.substring(2, n)), (e = e.substring(n) || pe)); + } + return new Ne('file', t, e, _e, _e); + } + static from(e) { + return new Ne(e.scheme, e.authority, e.path, e.query, e.fragment); + } + static joinPath(e, ...t) { + if (!e.path) + throw new Error( + '[UriError]: cannot call joinPaths on URI without path' + ); + let n; + return ( + (n = + A && 'file' === e.scheme + ? be.file(de.join(ye(e, !0), ...t)).path + : ce.join(e.path, ...t)), + e.with({ path: n }) + ); + } + toString(e = !1) { + return we(this, e); + } + toJSON() { + return this; + } + static revive(e) { + if (e) { + if (e instanceof be) return e; + { + const t = new Ne(e); + return ( + (t._formatted = e.external), + (t._fsPath = e._sep === Le ? e.fsPath : null), + t + ); + } + } + return e; + } + } + const Le = A ? 1 : void 0; + class Ne extends be { + constructor() { + super(...arguments), (this._formatted = null), (this._fsPath = null); + } + get fsPath() { + return this._fsPath || (this._fsPath = ye(this, !1)), this._fsPath; + } + toString(e = !1) { + return e + ? we(this, !0) + : (this._formatted || (this._formatted = we(this, !1)), + this._formatted); + } + toJSON() { + const e = { $mid: 1 }; + return ( + this._fsPath && ((e.fsPath = this._fsPath), (e._sep = Le)), + this._formatted && (e.external = this._formatted), + this.path && (e.path = this.path), + this.scheme && (e.scheme = this.scheme), + this.authority && (e.authority = this.authority), + this.query && (e.query = this.query), + this.fragment && (e.fragment = this.fragment), + e + ); + } + } + const Se = { + 58: '%3A', + 47: '%2F', + 63: '%3F', + 35: '%23', + 91: '%5B', + 93: '%5D', + 64: '%40', + 33: '%21', + 36: '%24', + 38: '%26', + 39: '%27', + 40: '%28', + 41: '%29', + 42: '%2A', + 43: '%2B', + 44: '%2C', + 59: '%3B', + 61: '%3D', + 32: '%20', + }; + function Ee(e, t) { + let n, + i = -1; + for (let r = 0; r < e.length; r++) { + const s = e.charCodeAt(r); + if ( + (s >= 97 && s <= 122) || + (s >= 65 && s <= 90) || + (s >= 48 && s <= 57) || + 45 === s || + 46 === s || + 95 === s || + 126 === s || + (t && 47 === s) + ) + -1 !== i && ((n += encodeURIComponent(e.substring(i, r))), (i = -1)), + void 0 !== n && (n += e.charAt(r)); + else { + void 0 === n && (n = e.substr(0, r)); + const t = Se[s]; + void 0 !== t + ? (-1 !== i && + ((n += encodeURIComponent(e.substring(i, r))), (i = -1)), + (n += t)) + : -1 === i && (i = r); + } + } + return ( + -1 !== i && (n += encodeURIComponent(e.substring(i))), + void 0 !== n ? n : e + ); + } + function Ae(e) { + let t; + for (let n = 0; n < e.length; n++) { + const i = e.charCodeAt(n); + 35 === i || 63 === i + ? (void 0 === t && (t = e.substr(0, n)), (t += Se[i])) + : void 0 !== t && (t += e[n]); + } + return void 0 !== t ? t : e; + } + function ye(e, t) { + let n; + return ( + (n = + e.authority && e.path.length > 1 && 'file' === e.scheme + ? `//${e.authority}${e.path}` + : 47 === e.path.charCodeAt(0) && + ((e.path.charCodeAt(1) >= 65 && e.path.charCodeAt(1) <= 90) || + (e.path.charCodeAt(1) >= 97 && e.path.charCodeAt(1) <= 122)) && + 58 === e.path.charCodeAt(2) + ? t + ? e.path.substr(1) + : e.path[1].toLowerCase() + e.path.substr(2) + : e.path), + A && (n = n.replace(/\//g, '\\')), + n + ); + } + function we(e, t) { + const n = t ? Ae : Ee; + let i = '', + { scheme: r, authority: s, path: o, query: a, fragment: l } = e; + if ( + (r && ((i += r), (i += ':')), + (s || 'file' === r) && ((i += pe), (i += pe)), + s) + ) { + let e = s.indexOf('@'); + if (-1 !== e) { + const t = s.substr(0, e); + (s = s.substr(e + 1)), + (e = t.indexOf(':')), + -1 === e + ? (i += n(t, !1)) + : ((i += n(t.substr(0, e), !1)), + (i += ':'), + (i += n(t.substr(e + 1), !1))), + (i += '@'); + } + (s = s.toLowerCase()), + (e = s.indexOf(':')), + -1 === e + ? (i += n(s, !1)) + : ((i += n(s.substr(0, e), !1)), (i += s.substr(e))); + } + if (o) { + if (o.length >= 3 && 47 === o.charCodeAt(0) && 58 === o.charCodeAt(2)) { + const e = o.charCodeAt(1); + e >= 65 && + e <= 90 && + (o = `/${String.fromCharCode(e + 32)}:${o.substr(3)}`); + } else if (o.length >= 2 && 58 === o.charCodeAt(1)) { + const e = o.charCodeAt(0); + e >= 65 && + e <= 90 && + (o = `${String.fromCharCode(e + 32)}:${o.substr(2)}`); + } + i += n(o, !0); + } + return ( + a && ((i += '?'), (i += n(a, !1))), + l && ((i += '#'), (i += t ? l : Ee(l, !1))), + i + ); + } + function ve(e) { + try { + return decodeURIComponent(e); + } catch (t) { + return e.length > 3 ? e.substr(0, 3) + ve(e.substr(3)) : e; + } + } + const Te = /(%[0-9A-Za-z][0-9A-Za-z])+/g; + function Oe(e) { + return e.match(Te) ? e.replace(Te, (e) => ve(e)) : e; + } + class Ie { + constructor(e, t) { + (this.lineNumber = e), (this.column = t); + } + with(e = this.lineNumber, t = this.column) { + return e === this.lineNumber && t === this.column ? this : new Ie(e, t); + } + delta(e = 0, t = 0) { + return this.with(this.lineNumber + e, this.column + t); + } + equals(e) { + return Ie.equals(this, e); + } + static equals(e, t) { + return ( + (!e && !t) || + (!!e && !!t && e.lineNumber === t.lineNumber && e.column === t.column) + ); + } + isBefore(e) { + return Ie.isBefore(this, e); + } + static isBefore(e, t) { + return ( + e.lineNumber < t.lineNumber || + (!(t.lineNumber < e.lineNumber) && e.column < t.column) + ); + } + isBeforeOrEqual(e) { + return Ie.isBeforeOrEqual(this, e); + } + static isBeforeOrEqual(e, t) { + return ( + e.lineNumber < t.lineNumber || + (!(t.lineNumber < e.lineNumber) && e.column <= t.column) + ); + } + static compare(e, t) { + let n = 0 | e.lineNumber, + i = 0 | t.lineNumber; + return n === i ? (0 | e.column) - (0 | t.column) : n - i; + } + clone() { + return new Ie(this.lineNumber, this.column); + } + toString() { + return '(' + this.lineNumber + ',' + this.column + ')'; + } + static lift(e) { + return new Ie(e.lineNumber, e.column); + } + static isIPosition(e) { + return ( + e && 'number' == typeof e.lineNumber && 'number' == typeof e.column + ); + } + } + class Me { + constructor(e, t, n, i) { + e > n || (e === n && t > i) + ? ((this.startLineNumber = n), + (this.startColumn = i), + (this.endLineNumber = e), + (this.endColumn = t)) + : ((this.startLineNumber = e), + (this.startColumn = t), + (this.endLineNumber = n), + (this.endColumn = i)); + } + isEmpty() { + return Me.isEmpty(this); + } + static isEmpty(e) { + return ( + e.startLineNumber === e.endLineNumber && e.startColumn === e.endColumn + ); + } + containsPosition(e) { + return Me.containsPosition(this, e); + } + static containsPosition(e, t) { + return !( + t.lineNumber < e.startLineNumber || + t.lineNumber > e.endLineNumber || + (t.lineNumber === e.startLineNumber && t.column < e.startColumn) || + (t.lineNumber === e.endLineNumber && t.column > e.endColumn) + ); + } + containsRange(e) { + return Me.containsRange(this, e); + } + static containsRange(e, t) { + return !( + t.startLineNumber < e.startLineNumber || + t.endLineNumber < e.startLineNumber || + t.startLineNumber > e.endLineNumber || + t.endLineNumber > e.endLineNumber || + (t.startLineNumber === e.startLineNumber && + t.startColumn < e.startColumn) || + (t.endLineNumber === e.endLineNumber && t.endColumn > e.endColumn) + ); + } + strictContainsRange(e) { + return Me.strictContainsRange(this, e); + } + static strictContainsRange(e, t) { + return !( + t.startLineNumber < e.startLineNumber || + t.endLineNumber < e.startLineNumber || + t.startLineNumber > e.endLineNumber || + t.endLineNumber > e.endLineNumber || + (t.startLineNumber === e.startLineNumber && + t.startColumn <= e.startColumn) || + (t.endLineNumber === e.endLineNumber && t.endColumn >= e.endColumn) + ); + } + plusRange(e) { + return Me.plusRange(this, e); + } + static plusRange(e, t) { + let n, i, r, s; + return ( + t.startLineNumber < e.startLineNumber + ? ((n = t.startLineNumber), (i = t.startColumn)) + : t.startLineNumber === e.startLineNumber + ? ((n = t.startLineNumber), + (i = Math.min(t.startColumn, e.startColumn))) + : ((n = e.startLineNumber), (i = e.startColumn)), + t.endLineNumber > e.endLineNumber + ? ((r = t.endLineNumber), (s = t.endColumn)) + : t.endLineNumber === e.endLineNumber + ? ((r = t.endLineNumber), (s = Math.max(t.endColumn, e.endColumn))) + : ((r = e.endLineNumber), (s = e.endColumn)), + new Me(n, i, r, s) + ); + } + intersectRanges(e) { + return Me.intersectRanges(this, e); + } + static intersectRanges(e, t) { + let n = e.startLineNumber, + i = e.startColumn, + r = e.endLineNumber, + s = e.endColumn, + o = t.startLineNumber, + a = t.startColumn, + l = t.endLineNumber, + u = t.endColumn; + return ( + n < o ? ((n = o), (i = a)) : n === o && (i = Math.max(i, a)), + r > l ? ((r = l), (s = u)) : r === l && (s = Math.min(s, u)), + n > r || (n === r && i > s) ? null : new Me(n, i, r, s) + ); + } + equalsRange(e) { + return Me.equalsRange(this, e); + } + static equalsRange(e, t) { + return ( + !!e && + !!t && + e.startLineNumber === t.startLineNumber && + e.startColumn === t.startColumn && + e.endLineNumber === t.endLineNumber && + e.endColumn === t.endColumn + ); + } + getEndPosition() { + return Me.getEndPosition(this); + } + static getEndPosition(e) { + return new Ie(e.endLineNumber, e.endColumn); + } + getStartPosition() { + return Me.getStartPosition(this); + } + static getStartPosition(e) { + return new Ie(e.startLineNumber, e.startColumn); + } + toString() { + return ( + '[' + + this.startLineNumber + + ',' + + this.startColumn + + ' -> ' + + this.endLineNumber + + ',' + + this.endColumn + + ']' + ); + } + setEndPosition(e, t) { + return new Me(this.startLineNumber, this.startColumn, e, t); + } + setStartPosition(e, t) { + return new Me(e, t, this.endLineNumber, this.endColumn); + } + collapseToStart() { + return Me.collapseToStart(this); + } + static collapseToStart(e) { + return new Me( + e.startLineNumber, + e.startColumn, + e.startLineNumber, + e.startColumn + ); + } + static fromPositions(e, t = e) { + return new Me(e.lineNumber, e.column, t.lineNumber, t.column); + } + static lift(e) { + return e + ? new Me(e.startLineNumber, e.startColumn, e.endLineNumber, e.endColumn) + : null; + } + static isIRange(e) { + return ( + e && + 'number' == typeof e.startLineNumber && + 'number' == typeof e.startColumn && + 'number' == typeof e.endLineNumber && + 'number' == typeof e.endColumn + ); + } + static areIntersectingOrTouching(e, t) { + return !( + e.endLineNumber < t.startLineNumber || + (e.endLineNumber === t.startLineNumber && + e.endColumn < t.startColumn) || + t.endLineNumber < e.startLineNumber || + (t.endLineNumber === e.startLineNumber && t.endColumn < e.startColumn) + ); + } + static areIntersecting(e, t) { + return !( + e.endLineNumber < t.startLineNumber || + (e.endLineNumber === t.startLineNumber && + e.endColumn <= t.startColumn) || + t.endLineNumber < e.startLineNumber || + (t.endLineNumber === e.startLineNumber && t.endColumn <= e.startColumn) + ); + } + static compareRangesUsingStarts(e, t) { + if (e && t) { + const n = 0 | e.startLineNumber, + i = 0 | t.startLineNumber; + if (n === i) { + const n = 0 | e.startColumn, + i = 0 | t.startColumn; + if (n === i) { + const n = 0 | e.endLineNumber, + i = 0 | t.endLineNumber; + return n === i ? (0 | e.endColumn) - (0 | t.endColumn) : n - i; + } + return n - i; + } + return n - i; + } + return (e ? 1 : 0) - (t ? 1 : 0); + } + static compareRangesUsingEnds(e, t) { + return e.endLineNumber === t.endLineNumber + ? e.endColumn === t.endColumn + ? e.startLineNumber === t.startLineNumber + ? e.startColumn - t.startColumn + : e.startLineNumber - t.startLineNumber + : e.endColumn - t.endColumn + : e.endLineNumber - t.endLineNumber; + } + static spansMultipleLines(e) { + return e.endLineNumber > e.startLineNumber; + } + } + function xe(e, t, n, i) { + return new z(e, t, n).ComputeDiff(i); + } + class Re { + constructor(e) { + const t = [], + n = []; + for (let i = 0, r = e.length; i < r; i++) + (t[i] = Fe(e[i], 1)), (n[i] = Ke(e[i], 1)); + (this.lines = e), (this._startColumns = t), (this._endColumns = n); + } + getElements() { + const e = []; + for (let t = 0, n = this.lines.length; t < n; t++) + e[t] = this.lines[t].substring( + this._startColumns[t] - 1, + this._endColumns[t] - 1 + ); + return e; + } + getStartLineNumber(e) { + return e + 1; + } + getEndLineNumber(e) { + return e + 1; + } + createCharSequence(e, t, n) { + const i = [], + r = [], + s = []; + let o = 0; + for (let a = t; a <= n; a++) { + const t = this.lines[a], + n = e ? this._startColumns[a] : 1, + l = e ? this._endColumns[a] : t.length + 1; + for (let e = n; e < l; e++) + (i[o] = t.charCodeAt(e - 1)), (r[o] = a + 1), (s[o] = e), o++; + } + return new Pe(i, r, s); + } + } + class Pe { + constructor(e, t, n) { + (this._charCodes = e), (this._lineNumbers = t), (this._columns = n); + } + getElements() { + return this._charCodes; + } + getStartLineNumber(e) { + return this._lineNumbers[e]; + } + getStartColumn(e) { + return this._columns[e]; + } + getEndLineNumber(e) { + return this._lineNumbers[e]; + } + getEndColumn(e) { + return this._columns[e] + 1; + } + } + class Ue { + constructor(e, t, n, i, r, s, o, a) { + (this.originalStartLineNumber = e), + (this.originalStartColumn = t), + (this.originalEndLineNumber = n), + (this.originalEndColumn = i), + (this.modifiedStartLineNumber = r), + (this.modifiedStartColumn = s), + (this.modifiedEndLineNumber = o), + (this.modifiedEndColumn = a); + } + static createFromDiffChange(e, t, n) { + let i, r, s, o, a, l, u, h; + return ( + 0 === e.originalLength + ? ((i = 0), (r = 0), (s = 0), (o = 0)) + : ((i = t.getStartLineNumber(e.originalStart)), + (r = t.getStartColumn(e.originalStart)), + (s = t.getEndLineNumber(e.originalStart + e.originalLength - 1)), + (o = t.getEndColumn(e.originalStart + e.originalLength - 1))), + 0 === e.modifiedLength + ? ((a = 0), (l = 0), (u = 0), (h = 0)) + : ((a = n.getStartLineNumber(e.modifiedStart)), + (l = n.getStartColumn(e.modifiedStart)), + (u = n.getEndLineNumber(e.modifiedStart + e.modifiedLength - 1)), + (h = n.getEndColumn(e.modifiedStart + e.modifiedLength - 1))), + new Ue(i, r, s, o, a, l, u, h) + ); + } + } + class ke { + constructor(e, t, n, i, r) { + (this.originalStartLineNumber = e), + (this.originalEndLineNumber = t), + (this.modifiedStartLineNumber = n), + (this.modifiedEndLineNumber = i), + (this.charChanges = r); + } + static createFromDiffResult(e, t, n, i, r, s, o) { + let a, l, u, h, d; + if ( + (0 === t.originalLength + ? ((a = n.getStartLineNumber(t.originalStart) - 1), (l = 0)) + : ((a = n.getStartLineNumber(t.originalStart)), + (l = n.getEndLineNumber(t.originalStart + t.originalLength - 1))), + 0 === t.modifiedLength + ? ((u = i.getStartLineNumber(t.modifiedStart) - 1), (h = 0)) + : ((u = i.getStartLineNumber(t.modifiedStart)), + (h = i.getEndLineNumber(t.modifiedStart + t.modifiedLength - 1))), + s && + t.originalLength > 0 && + t.originalLength < 20 && + t.modifiedLength > 0 && + t.modifiedLength < 20 && + r()) + ) { + const s = n.createCharSequence( + e, + t.originalStart, + t.originalStart + t.originalLength - 1 + ), + a = i.createCharSequence( + e, + t.modifiedStart, + t.modifiedStart + t.modifiedLength - 1 + ); + let l = xe(s, a, r, !0).changes; + o && + (l = (function (e) { + if (e.length <= 1) return e; + const t = [e[0]]; + let n = t[0]; + for (let i = 1, r = e.length; i < r; i++) { + const r = e[i], + s = r.originalStart - (n.originalStart + n.originalLength), + o = r.modifiedStart - (n.modifiedStart + n.modifiedLength); + Math.min(s, o) < 3 + ? ((n.originalLength = + r.originalStart + r.originalLength - n.originalStart), + (n.modifiedLength = + r.modifiedStart + r.modifiedLength - n.modifiedStart)) + : (t.push(r), (n = r)); + } + return t; + })(l)), + (d = []); + for (let e = 0, t = l.length; e < t; e++) + d.push(Ue.createFromDiffChange(l[e], s, a)); + } + return new ke(a, l, u, h, d); + } + } + class De { + constructor(e, t, n) { + (this.shouldComputeCharChanges = n.shouldComputeCharChanges), + (this.shouldPostProcessCharChanges = n.shouldPostProcessCharChanges), + (this.shouldIgnoreTrimWhitespace = n.shouldIgnoreTrimWhitespace), + (this.shouldMakePrettyDiff = n.shouldMakePrettyDiff), + (this.originalLines = e), + (this.modifiedLines = t), + (this.original = new Re(e)), + (this.modified = new Re(t)), + (this.continueLineDiff = Be(n.maxComputationTime)), + (this.continueCharDiff = Be( + 0 === n.maxComputationTime ? 0 : Math.min(n.maxComputationTime, 5e3) + )); + } + computeDiff() { + if ( + 1 === this.original.lines.length && + 0 === this.original.lines[0].length + ) + return { + quitEarly: !1, + changes: [ + { + originalStartLineNumber: 1, + originalEndLineNumber: 1, + modifiedStartLineNumber: 1, + modifiedEndLineNumber: this.modified.lines.length, + charChanges: [ + { + modifiedEndColumn: 0, + modifiedEndLineNumber: 0, + modifiedStartColumn: 0, + modifiedStartLineNumber: 0, + originalEndColumn: 0, + originalEndLineNumber: 0, + originalStartColumn: 0, + originalStartLineNumber: 0, + }, + ], + }, + ], + }; + if ( + 1 === this.modified.lines.length && + 0 === this.modified.lines[0].length + ) + return { + quitEarly: !1, + changes: [ + { + originalStartLineNumber: 1, + originalEndLineNumber: this.original.lines.length, + modifiedStartLineNumber: 1, + modifiedEndLineNumber: 1, + charChanges: [ + { + modifiedEndColumn: 0, + modifiedEndLineNumber: 0, + modifiedStartColumn: 0, + modifiedStartLineNumber: 0, + originalEndColumn: 0, + originalEndLineNumber: 0, + originalStartColumn: 0, + originalStartLineNumber: 0, + }, + ], + }, + ], + }; + const e = xe( + this.original, + this.modified, + this.continueLineDiff, + this.shouldMakePrettyDiff + ), + t = e.changes, + n = e.quitEarly; + if (this.shouldIgnoreTrimWhitespace) { + const e = []; + for (let n = 0, i = t.length; n < i; n++) + e.push( + ke.createFromDiffResult( + this.shouldIgnoreTrimWhitespace, + t[n], + this.original, + this.modified, + this.continueCharDiff, + this.shouldComputeCharChanges, + this.shouldPostProcessCharChanges + ) + ); + return { quitEarly: n, changes: e }; + } + const i = []; + let r = 0, + s = 0; + for (let e = -1, n = t.length; e < n; e++) { + const o = e + 1 < n ? t[e + 1] : null, + a = o ? o.originalStart : this.originalLines.length, + l = o ? o.modifiedStart : this.modifiedLines.length; + for (; r < a && s < l; ) { + const e = this.originalLines[r], + t = this.modifiedLines[s]; + if (e !== t) { + { + let n = Fe(e, 1), + o = Fe(t, 1); + for ( + ; + n > 1 && o > 1 && e.charCodeAt(n - 2) === t.charCodeAt(o - 2); + + ) + n--, o--; + (n > 1 || o > 1) && + this._pushTrimWhitespaceCharChange(i, r + 1, 1, n, s + 1, 1, o); + } + { + let n = Ke(e, 1), + o = Ke(t, 1); + const a = e.length + 1, + l = t.length + 1; + for ( + ; + n < a && o < l && e.charCodeAt(n - 1) === e.charCodeAt(o - 1); + + ) + n++, o++; + (n < a || o < l) && + this._pushTrimWhitespaceCharChange(i, r + 1, n, a, s + 1, o, l); + } + } + r++, s++; + } + o && + (i.push( + ke.createFromDiffResult( + this.shouldIgnoreTrimWhitespace, + o, + this.original, + this.modified, + this.continueCharDiff, + this.shouldComputeCharChanges, + this.shouldPostProcessCharChanges + ) + ), + (r += o.originalLength), + (s += o.modifiedLength)); + } + return { quitEarly: n, changes: i }; + } + _pushTrimWhitespaceCharChange(e, t, n, i, r, s, o) { + if (this._mergeTrimWhitespaceCharChange(e, t, n, i, r, s, o)) return; + let a; + this.shouldComputeCharChanges && (a = [new Ue(t, n, t, i, r, s, r, o)]), + e.push(new ke(t, t, r, r, a)); + } + _mergeTrimWhitespaceCharChange(e, t, n, i, r, s, o) { + const a = e.length; + if (0 === a) return !1; + const l = e[a - 1]; + return ( + 0 !== l.originalEndLineNumber && + 0 !== l.modifiedEndLineNumber && + l.originalEndLineNumber + 1 === t && + l.modifiedEndLineNumber + 1 === r && + ((l.originalEndLineNumber = t), + (l.modifiedEndLineNumber = r), + this.shouldComputeCharChanges && + l.charChanges && + l.charChanges.push(new Ue(t, n, t, i, r, s, r, o)), + !0) + ); + } + } + function Fe(e, t) { + const n = (function (e) { + for (let t = 0, n = e.length; t < n; t++) { + const n = e.charCodeAt(t); + if (32 !== n && 9 !== n) return t; + } + return -1; + })(e); + return -1 === n ? t : n + 1; + } + function Ke(e, t) { + const n = (function (e, t = e.length - 1) { + for (let n = t; n >= 0; n--) { + const t = e.charCodeAt(n); + if (32 !== t && 9 !== t) return n; + } + return -1; + })(e); + return -1 === n ? t : n + 2; + } + function Be(e) { + if (0 === e) return () => !0; + const t = Date.now(); + return () => Date.now() - t < e; + } + function We(e) { + return e < 0 ? 0 : e > 255 ? 255 : 0 | e; + } + function qe(e) { + return e < 0 ? 0 : e > 4294967295 ? 4294967295 : 0 | e; + } + class He { + constructor(e, t) { + (this.index = e), (this.remainder = t); + } + } + class Ve { + constructor(e) { + (this.values = e), + (this.prefixSum = new Uint32Array(e.length)), + (this.prefixSumValidIndex = new Int32Array(1)), + (this.prefixSumValidIndex[0] = -1); + } + insertValues(e, t) { + e = qe(e); + const n = this.values, + i = this.prefixSum, + r = t.length; + return ( + 0 !== r && + ((this.values = new Uint32Array(n.length + r)), + this.values.set(n.subarray(0, e), 0), + this.values.set(n.subarray(e), e + r), + this.values.set(t, e), + e - 1 < this.prefixSumValidIndex[0] && + (this.prefixSumValidIndex[0] = e - 1), + (this.prefixSum = new Uint32Array(this.values.length)), + this.prefixSumValidIndex[0] >= 0 && + this.prefixSum.set(i.subarray(0, this.prefixSumValidIndex[0] + 1)), + !0) + ); + } + changeValue(e, t) { + return ( + (e = qe(e)), + (t = qe(t)), + this.values[e] !== t && + ((this.values[e] = t), + e - 1 < this.prefixSumValidIndex[0] && + (this.prefixSumValidIndex[0] = e - 1), + !0) + ); + } + removeValues(e, t) { + (e = qe(e)), (t = qe(t)); + const n = this.values, + i = this.prefixSum; + if (e >= n.length) return !1; + let r = n.length - e; + return ( + t >= r && (t = r), + 0 !== t && + ((this.values = new Uint32Array(n.length - t)), + this.values.set(n.subarray(0, e), 0), + this.values.set(n.subarray(e + t), e), + (this.prefixSum = new Uint32Array(this.values.length)), + e - 1 < this.prefixSumValidIndex[0] && + (this.prefixSumValidIndex[0] = e - 1), + this.prefixSumValidIndex[0] >= 0 && + this.prefixSum.set(i.subarray(0, this.prefixSumValidIndex[0] + 1)), + !0) + ); + } + getTotalValue() { + return 0 === this.values.length + ? 0 + : this._getAccumulatedValue(this.values.length - 1); + } + getAccumulatedValue(e) { + return e < 0 ? 0 : ((e = qe(e)), this._getAccumulatedValue(e)); + } + _getAccumulatedValue(e) { + if (e <= this.prefixSumValidIndex[0]) return this.prefixSum[e]; + let t = this.prefixSumValidIndex[0] + 1; + 0 === t && ((this.prefixSum[0] = this.values[0]), t++), + e >= this.values.length && (e = this.values.length - 1); + for (let n = t; n <= e; n++) + this.prefixSum[n] = this.prefixSum[n - 1] + this.values[n]; + return ( + (this.prefixSumValidIndex[0] = Math.max( + this.prefixSumValidIndex[0], + e + )), + this.prefixSum[e] + ); + } + getIndexOf(e) { + (e = Math.floor(e)), this.getTotalValue(); + let t = 0, + n = this.values.length - 1, + i = 0, + r = 0, + s = 0; + for (; t <= n; ) + if ( + ((i = (t + (n - t) / 2) | 0), + (r = this.prefixSum[i]), + (s = r - this.values[i]), + e < s) + ) + n = i - 1; + else { + if (!(e >= r)) break; + t = i + 1; + } + return new He(i, e - s); + } + } + const Ye = (function (e = '') { + let t = '(-?\\d*\\.\\d\\w*)|([^'; + for (const n of '`~!@#$%^&*()-=+[{]}\\|;:\'",.<>/?') + e.indexOf(n) >= 0 || (t += '\\' + n); + return (t += '\\s]+)'), new RegExp(t, 'g'); + })(), + $e = { maxLen: 1e3, windowSize: 15, timeBudget: 150 }; + function je(e, t, n, i, r = $e) { + if (n.length > r.maxLen) { + let s = e - r.maxLen / 2; + return ( + s < 0 ? ((i += e), (s = 0)) : (i += s), + je(e, t, (n = n.substring(s, e + r.maxLen / 2)), i, r) + ); + } + Date.now(); + const s = e - 1 - i; + let o = -1, + a = null; + for (let e = 1; ; e++) { + Date.now(), r.timeBudget; + const i = s - r.windowSize * e; + t.lastIndex = Math.max(0, i); + const l = Ge(t, n, s, o); + if (!l && a) break; + if (((a = l), i <= 0)) break; + o = i; + } + if (a) { + let e = { + word: a[0], + startColumn: i + 1 + a.index, + endColumn: i + 1 + a.index + a[0].length, + }; + return (t.lastIndex = 0), e; + } + return null; + } + function Ge(e, t, n, i) { + let r; + for (; (r = e.exec(t)); ) { + const t = r.index || 0; + if (t <= n && e.lastIndex >= n) return r; + if (i > 0 && t > i) return null; + } + return null; + } + class ze { + constructor(e) { + let t = We(e); + (this._defaultValue = t), + (this._asciiMap = ze._createAsciiMap(t)), + (this._map = new Map()); + } + static _createAsciiMap(e) { + let t = new Uint8Array(256); + for (let n = 0; n < 256; n++) t[n] = e; + return t; + } + set(e, t) { + let n = We(t); + e >= 0 && e < 256 ? (this._asciiMap[e] = n) : this._map.set(e, n); + } + get(e) { + return e >= 0 && e < 256 + ? this._asciiMap[e] + : this._map.get(e) || this._defaultValue; + } + } + class Qe { + constructor(e, t, n) { + const i = new Uint8Array(e * t); + for (let r = 0, s = e * t; r < s; r++) i[r] = n; + (this._data = i), (this.rows = e), (this.cols = t); + } + get(e, t) { + return this._data[e * this.cols + t]; + } + set(e, t, n) { + this._data[e * this.cols + t] = n; + } + } + class Xe { + constructor(e) { + let t = 0, + n = 0; + for (let i = 0, r = e.length; i < r; i++) { + let [r, s, o] = e[i]; + s > t && (t = s), r > n && (n = r), o > n && (n = o); + } + t++, n++; + let i = new Qe(n, t, 0); + for (let t = 0, n = e.length; t < n; t++) { + let [n, r, s] = e[t]; + i.set(n, r, s); + } + (this._states = i), (this._maxCharCode = t); + } + nextState(e, t) { + return t < 0 || t >= this._maxCharCode ? 0 : this._states.get(e, t); + } + } + let Ze = null, + Je = null; + class et { + static _createLink(e, t, n, i, r) { + let s = r - 1; + do { + const n = t.charCodeAt(s); + if (2 !== e.get(n)) break; + s--; + } while (s > i); + if (i > 0) { + const e = t.charCodeAt(i - 1), + n = t.charCodeAt(s); + ((40 === e && 41 === n) || + (91 === e && 93 === n) || + (123 === e && 125 === n)) && + s--; + } + return { + range: { + startLineNumber: n, + startColumn: i + 1, + endLineNumber: n, + endColumn: s + 2, + }, + url: t.substring(i, s + 1), + }; + } + static computeLinks( + e, + t = (function () { + return ( + null === Ze && + (Ze = new Xe([ + [1, 104, 2], + [1, 72, 2], + [1, 102, 6], + [1, 70, 6], + [2, 116, 3], + [2, 84, 3], + [3, 116, 4], + [3, 84, 4], + [4, 112, 5], + [4, 80, 5], + [5, 115, 9], + [5, 83, 9], + [5, 58, 10], + [6, 105, 7], + [6, 73, 7], + [7, 108, 8], + [7, 76, 8], + [8, 101, 9], + [8, 69, 9], + [9, 58, 10], + [10, 47, 11], + [11, 47, 12], + ])), + Ze + ); + })() + ) { + const n = (function () { + if (null === Je) { + Je = new ze(0); + const e = + ' \t<>\'"、。。、,.:;‘“〈《「『【〔([{「」}])〕】』」》〉”’`~…'; + for (let t = 0; t < e.length; t++) Je.set(e.charCodeAt(t), 1); + const t = '.,;'; + for (let e = 0; e < t.length; e++) Je.set(t.charCodeAt(e), 2); + } + return Je; + })(); + let i = []; + for (let r = 1, s = e.getLineCount(); r <= s; r++) { + const s = e.getLineContent(r), + o = s.length; + let a = 0, + l = 0, + u = 0, + h = 1, + d = !1, + c = !1, + f = !1, + m = !1; + for (; a < o; ) { + let e = !1; + const o = s.charCodeAt(a); + if (13 === h) { + let t; + switch (o) { + case 40: + (d = !0), (t = 0); + break; + case 41: + t = d ? 0 : 1; + break; + case 91: + (f = !0), (c = !0), (t = 0); + break; + case 93: + (f = !1), (t = c ? 0 : 1); + break; + case 123: + (m = !0), (t = 0); + break; + case 125: + t = m ? 0 : 1; + break; + case 39: + t = 34 === u || 96 === u ? 0 : 1; + break; + case 34: + t = 39 === u || 96 === u ? 0 : 1; + break; + case 96: + t = 39 === u || 34 === u ? 0 : 1; + break; + case 42: + t = 42 === u ? 1 : 0; + break; + case 124: + t = 124 === u ? 1 : 0; + break; + case 32: + t = f ? 0 : 1; + break; + default: + t = n.get(o); + } + 1 === t && (i.push(et._createLink(n, s, r, l, a)), (e = !0)); + } else if (12 === h) { + let t; + 91 === o ? ((c = !0), (t = 0)) : (t = n.get(o)), + 1 === t ? (e = !0) : (h = 13); + } else (h = t.nextState(h, o)), 0 === h && (e = !0); + e && ((h = 1), (d = !1), (c = !1), (m = !1), (l = a + 1), (u = o)), + a++; + } + 13 === h && i.push(et._createLink(n, s, r, l, o)); + } + return i; + } + } + class tt { + constructor() { + this._defaultValueSet = [ + ['true', 'false'], + ['True', 'False'], + [ + 'Private', + 'Public', + 'Friend', + 'ReadOnly', + 'Partial', + 'Protected', + 'WriteOnly', + ], + ['public', 'protected', 'private'], + ]; + } + navigateValueSet(e, t, n, i, r) { + if (e && t) { + let n = this.doNavigateValueSet(t, r); + if (n) return { range: e, value: n }; + } + if (n && i) { + let e = this.doNavigateValueSet(i, r); + if (e) return { range: n, value: e }; + } + return null; + } + doNavigateValueSet(e, t) { + let n = this.numberReplace(e, t); + return null !== n ? n : this.textReplace(e, t); + } + numberReplace(e, t) { + let n = Math.pow(10, e.length - (e.lastIndexOf('.') + 1)), + i = Number(e), + r = parseFloat(e); + return isNaN(i) || isNaN(r) || i !== r + ? null + : 0 !== i || t + ? ((i = Math.floor(i * n)), (i += t ? n : -n), String(i / n)) + : null; + } + textReplace(e, t) { + return this.valueSetsReplace(this._defaultValueSet, e, t); + } + valueSetsReplace(e, t, n) { + let i = null; + for (let r = 0, s = e.length; null === i && r < s; r++) + i = this.valueSetReplace(e[r], t, n); + return i; + } + valueSetReplace(e, t, n) { + let i = e.indexOf(t); + return i >= 0 + ? ((i += n ? 1 : -1), + i < 0 ? (i = e.length - 1) : (i %= e.length), + e[i]) + : null; + } + } + tt.INSTANCE = new tt(); + class nt { + constructor(e) { + (this.element = e), + (this.next = nt.Undefined), + (this.prev = nt.Undefined); + } + } + nt.Undefined = new nt(void 0); + class it { + constructor() { + (this._first = nt.Undefined), + (this._last = nt.Undefined), + (this._size = 0); + } + get size() { + return this._size; + } + isEmpty() { + return this._first === nt.Undefined; + } + clear() { + (this._first = nt.Undefined), + (this._last = nt.Undefined), + (this._size = 0); + } + unshift(e) { + return this._insert(e, !1); + } + push(e) { + return this._insert(e, !0); + } + _insert(e, t) { + const n = new nt(e); + if (this._first === nt.Undefined) (this._first = n), (this._last = n); + else if (t) { + const e = this._last; + (this._last = n), (n.prev = e), (e.next = n); + } else { + const e = this._first; + (this._first = n), (n.next = e), (e.prev = n); + } + this._size += 1; + let i = !1; + return () => { + i || ((i = !0), this._remove(n)); + }; + } + shift() { + if (this._first !== nt.Undefined) { + const e = this._first.element; + return this._remove(this._first), e; + } + } + pop() { + if (this._last !== nt.Undefined) { + const e = this._last.element; + return this._remove(this._last), e; + } + } + _remove(e) { + if (e.prev !== nt.Undefined && e.next !== nt.Undefined) { + const t = e.prev; + (t.next = e.next), (e.next.prev = t); + } else + e.prev === nt.Undefined && e.next === nt.Undefined + ? ((this._first = nt.Undefined), (this._last = nt.Undefined)) + : e.next === nt.Undefined + ? ((this._last = this._last.prev), (this._last.next = nt.Undefined)) + : e.prev === nt.Undefined && + ((this._first = this._first.next), + (this._first.prev = nt.Undefined)); + this._size -= 1; + } + *[Symbol.iterator]() { + let e = this._first; + for (; e !== nt.Undefined; ) yield e.element, (e = e.next); + } + toArray() { + const e = []; + for (let t = this._first; t !== nt.Undefined; t = t.next) + e.push(t.element); + return e; + } + } + var rt; + !(function (e) { + function t(e) { + return (t, n = null, i) => { + let r, + s = !1; + return ( + (r = e( + (e) => { + if (!s) return r ? r.dispose() : (s = !0), t.call(n, e); + }, + null, + i + )), + s && r.dispose(), + r + ); + }; + } + function n(e, t) { + return a((n, i = null, r) => e((e) => n.call(i, t(e)), null, r)); + } + function i(e, t) { + return a((n, i = null, r) => + e( + (e) => { + t(e), n.call(i, e); + }, + null, + r + ) + ); + } + function r(e, t) { + return a((n, i = null, r) => e((e) => t(e) && n.call(i, e), null, r)); + } + function s(e, t, i) { + let r = i; + return n(e, (e) => ((r = t(r, e)), r)); + } + function a(e) { + let t; + const n = new st({ + onFirstListenerAdd() { + t = e(n.fire, n); + }, + onLastListenerRemove() { + t.dispose(); + }, + }); + return n.event; + } + function u(e, t, n = 100, i = !1, r) { + let s, + o, + a, + l = 0; + const u = new st({ + leakWarningThreshold: r, + onFirstListenerAdd() { + s = e((e) => { + l++, + (o = t(o, e)), + i && !a && (u.fire(o), (o = void 0)), + clearTimeout(a), + (a = setTimeout(() => { + const e = o; + (o = void 0), (a = void 0), (!i || l > 1) && u.fire(e), (l = 0); + }, n)); + }); + }, + onLastListenerRemove() { + s.dispose(); + }, + }); + return u.event; + } + function d(e) { + let t, + n = !0; + return r(e, (e) => { + const i = n || e !== t; + return (n = !1), (t = e), i; + }); + } + (e.None = () => h.None), + (e.once = t), + (e.map = n), + (e.forEach = i), + (e.filter = r), + (e.signal = function (e) { + return e; + }), + (e.any = function (...e) { + return (t, n = null, i) => + (function (...e) { + return e.forEach(o), { dispose: () => l(e) }; + })(...e.map((e) => e((e) => t.call(n, e), null, i))); + }), + (e.reduce = s), + (e.snapshot = a), + (e.debounce = u), + (e.stopwatch = function (e) { + const i = new Date().getTime(); + return n(t(e), (e) => new Date().getTime() - i); + }), + (e.latch = d), + (e.buffer = function (e, t = !1, n = []) { + let i = n.slice(), + r = e((e) => { + i ? i.push(e) : o.fire(e); + }); + const s = () => { + i && i.forEach((e) => o.fire(e)), (i = null); + }, + o = new st({ + onFirstListenerAdd() { + r || (r = e((e) => o.fire(e))); + }, + onFirstListenerDidAdd() { + i && (t ? setTimeout(s) : s()); + }, + onLastListenerRemove() { + r && r.dispose(), (r = null); + }, + }); + return o.event; + }); + class c { + constructor(e) { + this.event = e; + } + map(e) { + return new c(n(this.event, e)); + } + forEach(e) { + return new c(i(this.event, e)); + } + filter(e) { + return new c(r(this.event, e)); + } + reduce(e, t) { + return new c(s(this.event, e, t)); + } + latch() { + return new c(d(this.event)); + } + debounce(e, t = 100, n = !1, i) { + return new c(u(this.event, e, t, n, i)); + } + on(e, t, n) { + return this.event(e, t, n); + } + once(e, n, i) { + return t(this.event)(e, n, i); + } + } + (e.chain = function (e) { + return new c(e); + }), + (e.fromNodeEventEmitter = function (e, t, n = (e) => e) { + const i = (...e) => r.fire(n(...e)), + r = new st({ + onFirstListenerAdd: () => e.on(t, i), + onLastListenerRemove: () => e.removeListener(t, i), + }); + return r.event; + }), + (e.fromDOMEventEmitter = function (e, t, n = (e) => e) { + const i = (...e) => r.fire(n(...e)), + r = new st({ + onFirstListenerAdd: () => e.addEventListener(t, i), + onLastListenerRemove: () => e.removeEventListener(t, i), + }); + return r.event; + }), + (e.fromPromise = function (e) { + const t = new st(); + let n = !1; + return ( + e + .then(void 0, () => null) + .then(() => { + n ? t.fire(void 0) : setTimeout(() => t.fire(void 0), 0); + }), + (n = !0), + t.event + ); + }), + (e.toPromise = function (e) { + return new Promise((n) => t(e)(n)); + }); + })(rt || (rt = {})); + class st { + constructor(e) { + (this._disposed = !1), (this._options = e), (this._leakageMon = void 0); + } + get event() { + return ( + this._event || + (this._event = (e, t, n) => { + this._listeners || (this._listeners = new it()); + const i = this._listeners.isEmpty(); + i && + this._options && + this._options.onFirstListenerAdd && + this._options.onFirstListenerAdd(this); + const r = this._listeners.push(t ? [e, t] : e); + let s, o; + return ( + i && + this._options && + this._options.onFirstListenerDidAdd && + this._options.onFirstListenerDidAdd(this), + this._options && + this._options.onListenerDidAdd && + this._options.onListenerDidAdd(this, e, t), + this._leakageMon && + (s = this._leakageMon.check(this._listeners.size)), + (o = { + dispose: () => { + s && s(), + (o.dispose = st._noop), + !this._disposed && + (r(), + this._options && this._options.onLastListenerRemove) && + ((this._listeners && !this._listeners.isEmpty()) || + this._options.onLastListenerRemove(this)); + }, + }), + n instanceof u ? n.add(o) : Array.isArray(n) && n.push(o), + o + ); + }), + this._event + ); + } + fire(e) { + if (this._listeners) { + this._deliveryQueue || (this._deliveryQueue = new it()); + for (let t of this._listeners) this._deliveryQueue.push([t, e]); + for (; this._deliveryQueue.size > 0; ) { + const [e, t] = this._deliveryQueue.shift(); + try { + 'function' == typeof e ? e.call(void 0, t) : e[0].call(e[1], t); + } catch (e) { + n(e); + } + } + } + } + dispose() { + this._listeners && this._listeners.clear(), + this._deliveryQueue && this._deliveryQueue.clear(), + this._leakageMon && this._leakageMon.dispose(), + (this._disposed = !0); + } + } + st._noop = function () {}; + const ot = Object.freeze(function (e, t) { + const n = setTimeout(e.bind(t), 0); + return { + dispose() { + clearTimeout(n); + }, + }; + }); + var at; + !(function (e) { + (e.isCancellationToken = function (t) { + return ( + t === e.None || + t === e.Cancelled || + t instanceof lt || + (!(!t || 'object' != typeof t) && + 'boolean' == typeof t.isCancellationRequested && + 'function' == typeof t.onCancellationRequested) + ); + }), + (e.None = Object.freeze({ + isCancellationRequested: !1, + onCancellationRequested: rt.None, + })), + (e.Cancelled = Object.freeze({ + isCancellationRequested: !0, + onCancellationRequested: ot, + })); + })(at || (at = {})); + class lt { + constructor() { + (this._isCancelled = !1), (this._emitter = null); + } + cancel() { + this._isCancelled || + ((this._isCancelled = !0), + this._emitter && (this._emitter.fire(void 0), this.dispose())); + } + get isCancellationRequested() { + return this._isCancelled; + } + get onCancellationRequested() { + return this._isCancelled + ? ot + : (this._emitter || (this._emitter = new st()), this._emitter.event); + } + dispose() { + this._emitter && (this._emitter.dispose(), (this._emitter = null)); + } + } + class ut { + constructor() { + (this._keyCodeToStr = []), (this._strToKeyCode = Object.create(null)); + } + define(e, t) { + (this._keyCodeToStr[e] = t), (this._strToKeyCode[t.toLowerCase()] = e); + } + keyCodeToStr(e) { + return this._keyCodeToStr[e]; + } + strToKeyCode(e) { + return this._strToKeyCode[e.toLowerCase()] || 0; + } + } + const ht = new ut(), + dt = new ut(), + ct = new ut(); + var ft, + mt, + gt, + _t, + pt, + Ct, + bt, + Lt, + Nt, + St, + Et, + At, + yt, + wt, + vt, + Tt, + Ot, + It, + Mt, + xt, + Rt, + Pt, + Ut, + kt, + Dt, + Ft, + Kt, + Bt, + Wt, + qt, + Ht, + Vt, + Yt, + $t; + !(function () { + function e(e, t, n = t, i = n) { + ht.define(e, t), dt.define(e, n), ct.define(e, i); + } + e(0, 'unknown'), + e(1, 'Backspace'), + e(2, 'Tab'), + e(3, 'Enter'), + e(4, 'Shift'), + e(5, 'Ctrl'), + e(6, 'Alt'), + e(7, 'PauseBreak'), + e(8, 'CapsLock'), + e(9, 'Escape'), + e(10, 'Space'), + e(11, 'PageUp'), + e(12, 'PageDown'), + e(13, 'End'), + e(14, 'Home'), + e(15, 'LeftArrow', 'Left'), + e(16, 'UpArrow', 'Up'), + e(17, 'RightArrow', 'Right'), + e(18, 'DownArrow', 'Down'), + e(19, 'Insert'), + e(20, 'Delete'), + e(21, '0'), + e(22, '1'), + e(23, '2'), + e(24, '3'), + e(25, '4'), + e(26, '5'), + e(27, '6'), + e(28, '7'), + e(29, '8'), + e(30, '9'), + e(31, 'A'), + e(32, 'B'), + e(33, 'C'), + e(34, 'D'), + e(35, 'E'), + e(36, 'F'), + e(37, 'G'), + e(38, 'H'), + e(39, 'I'), + e(40, 'J'), + e(41, 'K'), + e(42, 'L'), + e(43, 'M'), + e(44, 'N'), + e(45, 'O'), + e(46, 'P'), + e(47, 'Q'), + e(48, 'R'), + e(49, 'S'), + e(50, 'T'), + e(51, 'U'), + e(52, 'V'), + e(53, 'W'), + e(54, 'X'), + e(55, 'Y'), + e(56, 'Z'), + e(57, 'Meta'), + e(58, 'ContextMenu'), + e(59, 'F1'), + e(60, 'F2'), + e(61, 'F3'), + e(62, 'F4'), + e(63, 'F5'), + e(64, 'F6'), + e(65, 'F7'), + e(66, 'F8'), + e(67, 'F9'), + e(68, 'F10'), + e(69, 'F11'), + e(70, 'F12'), + e(71, 'F13'), + e(72, 'F14'), + e(73, 'F15'), + e(74, 'F16'), + e(75, 'F17'), + e(76, 'F18'), + e(77, 'F19'), + e(78, 'NumLock'), + e(79, 'ScrollLock'), + e(80, ';', ';', 'OEM_1'), + e(81, '=', '=', 'OEM_PLUS'), + e(82, ',', ',', 'OEM_COMMA'), + e(83, '-', '-', 'OEM_MINUS'), + e(84, '.', '.', 'OEM_PERIOD'), + e(85, '/', '/', 'OEM_2'), + e(86, '`', '`', 'OEM_3'), + e(110, 'ABNT_C1'), + e(111, 'ABNT_C2'), + e(87, '[', '[', 'OEM_4'), + e(88, '\\', '\\', 'OEM_5'), + e(89, ']', ']', 'OEM_6'), + e(90, "'", "'", 'OEM_7'), + e(91, 'OEM_8'), + e(92, 'OEM_102'), + e(93, 'NumPad0'), + e(94, 'NumPad1'), + e(95, 'NumPad2'), + e(96, 'NumPad3'), + e(97, 'NumPad4'), + e(98, 'NumPad5'), + e(99, 'NumPad6'), + e(100, 'NumPad7'), + e(101, 'NumPad8'), + e(102, 'NumPad9'), + e(103, 'NumPad_Multiply'), + e(104, 'NumPad_Add'), + e(105, 'NumPad_Separator'), + e(106, 'NumPad_Subtract'), + e(107, 'NumPad_Decimal'), + e(108, 'NumPad_Divide'); + })(), + (function (e) { + (e.toString = function (e) { + return ht.keyCodeToStr(e); + }), + (e.fromString = function (e) { + return ht.strToKeyCode(e); + }), + (e.toUserSettingsUS = function (e) { + return dt.keyCodeToStr(e); + }), + (e.toUserSettingsGeneral = function (e) { + return ct.keyCodeToStr(e); + }), + (e.fromUserSettings = function (e) { + return dt.strToKeyCode(e) || ct.strToKeyCode(e); + }); + })(ft || (ft = {})); + class jt extends Me { + constructor(e, t, n, i) { + super(e, t, n, i), + (this.selectionStartLineNumber = e), + (this.selectionStartColumn = t), + (this.positionLineNumber = n), + (this.positionColumn = i); + } + toString() { + return ( + '[' + + this.selectionStartLineNumber + + ',' + + this.selectionStartColumn + + ' -> ' + + this.positionLineNumber + + ',' + + this.positionColumn + + ']' + ); + } + equalsSelection(e) { + return jt.selectionsEqual(this, e); + } + static selectionsEqual(e, t) { + return ( + e.selectionStartLineNumber === t.selectionStartLineNumber && + e.selectionStartColumn === t.selectionStartColumn && + e.positionLineNumber === t.positionLineNumber && + e.positionColumn === t.positionColumn + ); + } + getDirection() { + return this.selectionStartLineNumber === this.startLineNumber && + this.selectionStartColumn === this.startColumn + ? 0 + : 1; + } + setEndPosition(e, t) { + return 0 === this.getDirection() + ? new jt(this.startLineNumber, this.startColumn, e, t) + : new jt(e, t, this.startLineNumber, this.startColumn); + } + getPosition() { + return new Ie(this.positionLineNumber, this.positionColumn); + } + setStartPosition(e, t) { + return 0 === this.getDirection() + ? new jt(e, t, this.endLineNumber, this.endColumn) + : new jt(this.endLineNumber, this.endColumn, e, t); + } + static fromPositions(e, t = e) { + return new jt(e.lineNumber, e.column, t.lineNumber, t.column); + } + static liftSelection(e) { + return new jt( + e.selectionStartLineNumber, + e.selectionStartColumn, + e.positionLineNumber, + e.positionColumn + ); + } + static selectionsArrEqual(e, t) { + if ((e && !t) || (!e && t)) return !1; + if (!e && !t) return !0; + if (e.length !== t.length) return !1; + for (let n = 0, i = e.length; n < i; n++) + if (!this.selectionsEqual(e[n], t[n])) return !1; + return !0; + } + static isISelection(e) { + return ( + e && + 'number' == typeof e.selectionStartLineNumber && + 'number' == typeof e.selectionStartColumn && + 'number' == typeof e.positionLineNumber && + 'number' == typeof e.positionColumn + ); + } + static createWithDirection(e, t, n, i, r) { + return 0 === r ? new jt(e, t, n, i) : new jt(n, i, e, t); + } + } + !(function (e) { + (e[(e.Unknown = 0)] = 'Unknown'), + (e[(e.Disabled = 1)] = 'Disabled'), + (e[(e.Enabled = 2)] = 'Enabled'); + })(mt || (mt = {})), + (function (e) { + (e[(e.KeepWhitespace = 1)] = 'KeepWhitespace'), + (e[(e.InsertAsSnippet = 4)] = 'InsertAsSnippet'); + })(gt || (gt = {})), + (function (e) { + (e[(e.Method = 0)] = 'Method'), + (e[(e.Function = 1)] = 'Function'), + (e[(e.Constructor = 2)] = 'Constructor'), + (e[(e.Field = 3)] = 'Field'), + (e[(e.Variable = 4)] = 'Variable'), + (e[(e.Class = 5)] = 'Class'), + (e[(e.Struct = 6)] = 'Struct'), + (e[(e.Interface = 7)] = 'Interface'), + (e[(e.Module = 8)] = 'Module'), + (e[(e.Property = 9)] = 'Property'), + (e[(e.Event = 10)] = 'Event'), + (e[(e.Operator = 11)] = 'Operator'), + (e[(e.Unit = 12)] = 'Unit'), + (e[(e.Value = 13)] = 'Value'), + (e[(e.Constant = 14)] = 'Constant'), + (e[(e.Enum = 15)] = 'Enum'), + (e[(e.EnumMember = 16)] = 'EnumMember'), + (e[(e.Keyword = 17)] = 'Keyword'), + (e[(e.Text = 18)] = 'Text'), + (e[(e.Color = 19)] = 'Color'), + (e[(e.File = 20)] = 'File'), + (e[(e.Reference = 21)] = 'Reference'), + (e[(e.Customcolor = 22)] = 'Customcolor'), + (e[(e.Folder = 23)] = 'Folder'), + (e[(e.TypeParameter = 24)] = 'TypeParameter'), + (e[(e.User = 25)] = 'User'), + (e[(e.Issue = 26)] = 'Issue'), + (e[(e.Snippet = 27)] = 'Snippet'); + })(_t || (_t = {})), + (function (e) { + e[(e.Deprecated = 1)] = 'Deprecated'; + })(pt || (pt = {})), + (function (e) { + (e[(e.Invoke = 0)] = 'Invoke'), + (e[(e.TriggerCharacter = 1)] = 'TriggerCharacter'), + (e[(e.TriggerForIncompleteCompletions = 2)] = + 'TriggerForIncompleteCompletions'); + })(Ct || (Ct = {})), + (function (e) { + (e[(e.EXACT = 0)] = 'EXACT'), + (e[(e.ABOVE = 1)] = 'ABOVE'), + (e[(e.BELOW = 2)] = 'BELOW'); + })(bt || (bt = {})), + (function (e) { + (e[(e.NotSet = 0)] = 'NotSet'), + (e[(e.ContentFlush = 1)] = 'ContentFlush'), + (e[(e.RecoverFromMarkers = 2)] = 'RecoverFromMarkers'), + (e[(e.Explicit = 3)] = 'Explicit'), + (e[(e.Paste = 4)] = 'Paste'), + (e[(e.Undo = 5)] = 'Undo'), + (e[(e.Redo = 6)] = 'Redo'); + })(Lt || (Lt = {})), + (function (e) { + (e[(e.LF = 1)] = 'LF'), (e[(e.CRLF = 2)] = 'CRLF'); + })(Nt || (Nt = {})), + (function (e) { + (e[(e.Text = 0)] = 'Text'), + (e[(e.Read = 1)] = 'Read'), + (e[(e.Write = 2)] = 'Write'); + })(St || (St = {})), + (function (e) { + (e[(e.None = 0)] = 'None'), + (e[(e.Keep = 1)] = 'Keep'), + (e[(e.Brackets = 2)] = 'Brackets'), + (e[(e.Advanced = 3)] = 'Advanced'), + (e[(e.Full = 4)] = 'Full'); + })(Et || (Et = {})), + (function (e) { + (e[(e.acceptSuggestionOnCommitCharacter = 0)] = + 'acceptSuggestionOnCommitCharacter'), + (e[(e.acceptSuggestionOnEnter = 1)] = 'acceptSuggestionOnEnter'), + (e[(e.accessibilitySupport = 2)] = 'accessibilitySupport'), + (e[(e.accessibilityPageSize = 3)] = 'accessibilityPageSize'), + (e[(e.ariaLabel = 4)] = 'ariaLabel'), + (e[(e.autoClosingBrackets = 5)] = 'autoClosingBrackets'), + (e[(e.autoClosingOvertype = 6)] = 'autoClosingOvertype'), + (e[(e.autoClosingQuotes = 7)] = 'autoClosingQuotes'), + (e[(e.autoIndent = 8)] = 'autoIndent'), + (e[(e.automaticLayout = 9)] = 'automaticLayout'), + (e[(e.autoSurround = 10)] = 'autoSurround'), + (e[(e.codeLens = 11)] = 'codeLens'), + (e[(e.colorDecorators = 12)] = 'colorDecorators'), + (e[(e.columnSelection = 13)] = 'columnSelection'), + (e[(e.comments = 14)] = 'comments'), + (e[(e.contextmenu = 15)] = 'contextmenu'), + (e[(e.copyWithSyntaxHighlighting = 16)] = 'copyWithSyntaxHighlighting'), + (e[(e.cursorBlinking = 17)] = 'cursorBlinking'), + (e[(e.cursorSmoothCaretAnimation = 18)] = 'cursorSmoothCaretAnimation'), + (e[(e.cursorStyle = 19)] = 'cursorStyle'), + (e[(e.cursorSurroundingLines = 20)] = 'cursorSurroundingLines'), + (e[(e.cursorSurroundingLinesStyle = 21)] = + 'cursorSurroundingLinesStyle'), + (e[(e.cursorWidth = 22)] = 'cursorWidth'), + (e[(e.disableLayerHinting = 23)] = 'disableLayerHinting'), + (e[(e.disableMonospaceOptimizations = 24)] = + 'disableMonospaceOptimizations'), + (e[(e.dragAndDrop = 25)] = 'dragAndDrop'), + (e[(e.emptySelectionClipboard = 26)] = 'emptySelectionClipboard'), + (e[(e.extraEditorClassName = 27)] = 'extraEditorClassName'), + (e[(e.fastScrollSensitivity = 28)] = 'fastScrollSensitivity'), + (e[(e.find = 29)] = 'find'), + (e[(e.fixedOverflowWidgets = 30)] = 'fixedOverflowWidgets'), + (e[(e.folding = 31)] = 'folding'), + (e[(e.foldingStrategy = 32)] = 'foldingStrategy'), + (e[(e.foldingHighlight = 33)] = 'foldingHighlight'), + (e[(e.unfoldOnClickAfterEndOfLine = 34)] = + 'unfoldOnClickAfterEndOfLine'), + (e[(e.fontFamily = 35)] = 'fontFamily'), + (e[(e.fontInfo = 36)] = 'fontInfo'), + (e[(e.fontLigatures = 37)] = 'fontLigatures'), + (e[(e.fontSize = 38)] = 'fontSize'), + (e[(e.fontWeight = 39)] = 'fontWeight'), + (e[(e.formatOnPaste = 40)] = 'formatOnPaste'), + (e[(e.formatOnType = 41)] = 'formatOnType'), + (e[(e.glyphMargin = 42)] = 'glyphMargin'), + (e[(e.gotoLocation = 43)] = 'gotoLocation'), + (e[(e.hideCursorInOverviewRuler = 44)] = 'hideCursorInOverviewRuler'), + (e[(e.highlightActiveIndentGuide = 45)] = 'highlightActiveIndentGuide'), + (e[(e.hover = 46)] = 'hover'), + (e[(e.inDiffEditor = 47)] = 'inDiffEditor'), + (e[(e.letterSpacing = 48)] = 'letterSpacing'), + (e[(e.lightbulb = 49)] = 'lightbulb'), + (e[(e.lineDecorationsWidth = 50)] = 'lineDecorationsWidth'), + (e[(e.lineHeight = 51)] = 'lineHeight'), + (e[(e.lineNumbers = 52)] = 'lineNumbers'), + (e[(e.lineNumbersMinChars = 53)] = 'lineNumbersMinChars'), + (e[(e.links = 54)] = 'links'), + (e[(e.matchBrackets = 55)] = 'matchBrackets'), + (e[(e.minimap = 56)] = 'minimap'), + (e[(e.mouseStyle = 57)] = 'mouseStyle'), + (e[(e.mouseWheelScrollSensitivity = 58)] = + 'mouseWheelScrollSensitivity'), + (e[(e.mouseWheelZoom = 59)] = 'mouseWheelZoom'), + (e[(e.multiCursorMergeOverlapping = 60)] = + 'multiCursorMergeOverlapping'), + (e[(e.multiCursorModifier = 61)] = 'multiCursorModifier'), + (e[(e.multiCursorPaste = 62)] = 'multiCursorPaste'), + (e[(e.occurrencesHighlight = 63)] = 'occurrencesHighlight'), + (e[(e.overviewRulerBorder = 64)] = 'overviewRulerBorder'), + (e[(e.overviewRulerLanes = 65)] = 'overviewRulerLanes'), + (e[(e.padding = 66)] = 'padding'), + (e[(e.parameterHints = 67)] = 'parameterHints'), + (e[(e.peekWidgetDefaultFocus = 68)] = 'peekWidgetDefaultFocus'), + (e[(e.definitionLinkOpensInPeek = 69)] = 'definitionLinkOpensInPeek'), + (e[(e.quickSuggestions = 70)] = 'quickSuggestions'), + (e[(e.quickSuggestionsDelay = 71)] = 'quickSuggestionsDelay'), + (e[(e.readOnly = 72)] = 'readOnly'), + (e[(e.renameOnType = 73)] = 'renameOnType'), + (e[(e.renderControlCharacters = 74)] = 'renderControlCharacters'), + (e[(e.renderIndentGuides = 75)] = 'renderIndentGuides'), + (e[(e.renderFinalNewline = 76)] = 'renderFinalNewline'), + (e[(e.renderLineHighlight = 77)] = 'renderLineHighlight'), + (e[(e.renderLineHighlightOnlyWhenFocus = 78)] = + 'renderLineHighlightOnlyWhenFocus'), + (e[(e.renderValidationDecorations = 79)] = + 'renderValidationDecorations'), + (e[(e.renderWhitespace = 80)] = 'renderWhitespace'), + (e[(e.revealHorizontalRightPadding = 81)] = + 'revealHorizontalRightPadding'), + (e[(e.roundedSelection = 82)] = 'roundedSelection'), + (e[(e.rulers = 83)] = 'rulers'), + (e[(e.scrollbar = 84)] = 'scrollbar'), + (e[(e.scrollBeyondLastColumn = 85)] = 'scrollBeyondLastColumn'), + (e[(e.scrollBeyondLastLine = 86)] = 'scrollBeyondLastLine'), + (e[(e.scrollPredominantAxis = 87)] = 'scrollPredominantAxis'), + (e[(e.selectionClipboard = 88)] = 'selectionClipboard'), + (e[(e.selectionHighlight = 89)] = 'selectionHighlight'), + (e[(e.selectOnLineNumbers = 90)] = 'selectOnLineNumbers'), + (e[(e.showFoldingControls = 91)] = 'showFoldingControls'), + (e[(e.showUnused = 92)] = 'showUnused'), + (e[(e.snippetSuggestions = 93)] = 'snippetSuggestions'), + (e[(e.smoothScrolling = 94)] = 'smoothScrolling'), + (e[(e.stopRenderingLineAfter = 95)] = 'stopRenderingLineAfter'), + (e[(e.suggest = 96)] = 'suggest'), + (e[(e.suggestFontSize = 97)] = 'suggestFontSize'), + (e[(e.suggestLineHeight = 98)] = 'suggestLineHeight'), + (e[(e.suggestOnTriggerCharacters = 99)] = 'suggestOnTriggerCharacters'), + (e[(e.suggestSelection = 100)] = 'suggestSelection'), + (e[(e.tabCompletion = 101)] = 'tabCompletion'), + (e[(e.tabIndex = 102)] = 'tabIndex'), + (e[(e.unusualLineTerminators = 103)] = 'unusualLineTerminators'), + (e[(e.useTabStops = 104)] = 'useTabStops'), + (e[(e.wordSeparators = 105)] = 'wordSeparators'), + (e[(e.wordWrap = 106)] = 'wordWrap'), + (e[(e.wordWrapBreakAfterCharacters = 107)] = + 'wordWrapBreakAfterCharacters'), + (e[(e.wordWrapBreakBeforeCharacters = 108)] = + 'wordWrapBreakBeforeCharacters'), + (e[(e.wordWrapColumn = 109)] = 'wordWrapColumn'), + (e[(e.wordWrapMinified = 110)] = 'wordWrapMinified'), + (e[(e.wrappingIndent = 111)] = 'wrappingIndent'), + (e[(e.wrappingStrategy = 112)] = 'wrappingStrategy'), + (e[(e.showDeprecated = 113)] = 'showDeprecated'), + (e[(e.editorClassName = 114)] = 'editorClassName'), + (e[(e.pixelRatio = 115)] = 'pixelRatio'), + (e[(e.tabFocusMode = 116)] = 'tabFocusMode'), + (e[(e.layoutInfo = 117)] = 'layoutInfo'), + (e[(e.wrappingInfo = 118)] = 'wrappingInfo'); + })(At || (At = {})), + (function (e) { + (e[(e.TextDefined = 0)] = 'TextDefined'), + (e[(e.LF = 1)] = 'LF'), + (e[(e.CRLF = 2)] = 'CRLF'); + })(yt || (yt = {})), + (function (e) { + (e[(e.LF = 0)] = 'LF'), (e[(e.CRLF = 1)] = 'CRLF'); + })(wt || (wt = {})), + (function (e) { + (e[(e.None = 0)] = 'None'), + (e[(e.Indent = 1)] = 'Indent'), + (e[(e.IndentOutdent = 2)] = 'IndentOutdent'), + (e[(e.Outdent = 3)] = 'Outdent'); + })(vt || (vt = {})), + (function (e) { + (e[(e.Unknown = 0)] = 'Unknown'), + (e[(e.Backspace = 1)] = 'Backspace'), + (e[(e.Tab = 2)] = 'Tab'), + (e[(e.Enter = 3)] = 'Enter'), + (e[(e.Shift = 4)] = 'Shift'), + (e[(e.Ctrl = 5)] = 'Ctrl'), + (e[(e.Alt = 6)] = 'Alt'), + (e[(e.PauseBreak = 7)] = 'PauseBreak'), + (e[(e.CapsLock = 8)] = 'CapsLock'), + (e[(e.Escape = 9)] = 'Escape'), + (e[(e.Space = 10)] = 'Space'), + (e[(e.PageUp = 11)] = 'PageUp'), + (e[(e.PageDown = 12)] = 'PageDown'), + (e[(e.End = 13)] = 'End'), + (e[(e.Home = 14)] = 'Home'), + (e[(e.LeftArrow = 15)] = 'LeftArrow'), + (e[(e.UpArrow = 16)] = 'UpArrow'), + (e[(e.RightArrow = 17)] = 'RightArrow'), + (e[(e.DownArrow = 18)] = 'DownArrow'), + (e[(e.Insert = 19)] = 'Insert'), + (e[(e.Delete = 20)] = 'Delete'), + (e[(e.KEY_0 = 21)] = 'KEY_0'), + (e[(e.KEY_1 = 22)] = 'KEY_1'), + (e[(e.KEY_2 = 23)] = 'KEY_2'), + (e[(e.KEY_3 = 24)] = 'KEY_3'), + (e[(e.KEY_4 = 25)] = 'KEY_4'), + (e[(e.KEY_5 = 26)] = 'KEY_5'), + (e[(e.KEY_6 = 27)] = 'KEY_6'), + (e[(e.KEY_7 = 28)] = 'KEY_7'), + (e[(e.KEY_8 = 29)] = 'KEY_8'), + (e[(e.KEY_9 = 30)] = 'KEY_9'), + (e[(e.KEY_A = 31)] = 'KEY_A'), + (e[(e.KEY_B = 32)] = 'KEY_B'), + (e[(e.KEY_C = 33)] = 'KEY_C'), + (e[(e.KEY_D = 34)] = 'KEY_D'), + (e[(e.KEY_E = 35)] = 'KEY_E'), + (e[(e.KEY_F = 36)] = 'KEY_F'), + (e[(e.KEY_G = 37)] = 'KEY_G'), + (e[(e.KEY_H = 38)] = 'KEY_H'), + (e[(e.KEY_I = 39)] = 'KEY_I'), + (e[(e.KEY_J = 40)] = 'KEY_J'), + (e[(e.KEY_K = 41)] = 'KEY_K'), + (e[(e.KEY_L = 42)] = 'KEY_L'), + (e[(e.KEY_M = 43)] = 'KEY_M'), + (e[(e.KEY_N = 44)] = 'KEY_N'), + (e[(e.KEY_O = 45)] = 'KEY_O'), + (e[(e.KEY_P = 46)] = 'KEY_P'), + (e[(e.KEY_Q = 47)] = 'KEY_Q'), + (e[(e.KEY_R = 48)] = 'KEY_R'), + (e[(e.KEY_S = 49)] = 'KEY_S'), + (e[(e.KEY_T = 50)] = 'KEY_T'), + (e[(e.KEY_U = 51)] = 'KEY_U'), + (e[(e.KEY_V = 52)] = 'KEY_V'), + (e[(e.KEY_W = 53)] = 'KEY_W'), + (e[(e.KEY_X = 54)] = 'KEY_X'), + (e[(e.KEY_Y = 55)] = 'KEY_Y'), + (e[(e.KEY_Z = 56)] = 'KEY_Z'), + (e[(e.Meta = 57)] = 'Meta'), + (e[(e.ContextMenu = 58)] = 'ContextMenu'), + (e[(e.F1 = 59)] = 'F1'), + (e[(e.F2 = 60)] = 'F2'), + (e[(e.F3 = 61)] = 'F3'), + (e[(e.F4 = 62)] = 'F4'), + (e[(e.F5 = 63)] = 'F5'), + (e[(e.F6 = 64)] = 'F6'), + (e[(e.F7 = 65)] = 'F7'), + (e[(e.F8 = 66)] = 'F8'), + (e[(e.F9 = 67)] = 'F9'), + (e[(e.F10 = 68)] = 'F10'), + (e[(e.F11 = 69)] = 'F11'), + (e[(e.F12 = 70)] = 'F12'), + (e[(e.F13 = 71)] = 'F13'), + (e[(e.F14 = 72)] = 'F14'), + (e[(e.F15 = 73)] = 'F15'), + (e[(e.F16 = 74)] = 'F16'), + (e[(e.F17 = 75)] = 'F17'), + (e[(e.F18 = 76)] = 'F18'), + (e[(e.F19 = 77)] = 'F19'), + (e[(e.NumLock = 78)] = 'NumLock'), + (e[(e.ScrollLock = 79)] = 'ScrollLock'), + (e[(e.US_SEMICOLON = 80)] = 'US_SEMICOLON'), + (e[(e.US_EQUAL = 81)] = 'US_EQUAL'), + (e[(e.US_COMMA = 82)] = 'US_COMMA'), + (e[(e.US_MINUS = 83)] = 'US_MINUS'), + (e[(e.US_DOT = 84)] = 'US_DOT'), + (e[(e.US_SLASH = 85)] = 'US_SLASH'), + (e[(e.US_BACKTICK = 86)] = 'US_BACKTICK'), + (e[(e.US_OPEN_SQUARE_BRACKET = 87)] = 'US_OPEN_SQUARE_BRACKET'), + (e[(e.US_BACKSLASH = 88)] = 'US_BACKSLASH'), + (e[(e.US_CLOSE_SQUARE_BRACKET = 89)] = 'US_CLOSE_SQUARE_BRACKET'), + (e[(e.US_QUOTE = 90)] = 'US_QUOTE'), + (e[(e.OEM_8 = 91)] = 'OEM_8'), + (e[(e.OEM_102 = 92)] = 'OEM_102'), + (e[(e.NUMPAD_0 = 93)] = 'NUMPAD_0'), + (e[(e.NUMPAD_1 = 94)] = 'NUMPAD_1'), + (e[(e.NUMPAD_2 = 95)] = 'NUMPAD_2'), + (e[(e.NUMPAD_3 = 96)] = 'NUMPAD_3'), + (e[(e.NUMPAD_4 = 97)] = 'NUMPAD_4'), + (e[(e.NUMPAD_5 = 98)] = 'NUMPAD_5'), + (e[(e.NUMPAD_6 = 99)] = 'NUMPAD_6'), + (e[(e.NUMPAD_7 = 100)] = 'NUMPAD_7'), + (e[(e.NUMPAD_8 = 101)] = 'NUMPAD_8'), + (e[(e.NUMPAD_9 = 102)] = 'NUMPAD_9'), + (e[(e.NUMPAD_MULTIPLY = 103)] = 'NUMPAD_MULTIPLY'), + (e[(e.NUMPAD_ADD = 104)] = 'NUMPAD_ADD'), + (e[(e.NUMPAD_SEPARATOR = 105)] = 'NUMPAD_SEPARATOR'), + (e[(e.NUMPAD_SUBTRACT = 106)] = 'NUMPAD_SUBTRACT'), + (e[(e.NUMPAD_DECIMAL = 107)] = 'NUMPAD_DECIMAL'), + (e[(e.NUMPAD_DIVIDE = 108)] = 'NUMPAD_DIVIDE'), + (e[(e.KEY_IN_COMPOSITION = 109)] = 'KEY_IN_COMPOSITION'), + (e[(e.ABNT_C1 = 110)] = 'ABNT_C1'), + (e[(e.ABNT_C2 = 111)] = 'ABNT_C2'), + (e[(e.MAX_VALUE = 112)] = 'MAX_VALUE'); + })(Tt || (Tt = {})), + (function (e) { + (e[(e.Hint = 1)] = 'Hint'), + (e[(e.Info = 2)] = 'Info'), + (e[(e.Warning = 4)] = 'Warning'), + (e[(e.Error = 8)] = 'Error'); + })(Ot || (Ot = {})), + (function (e) { + (e[(e.Unnecessary = 1)] = 'Unnecessary'), + (e[(e.Deprecated = 2)] = 'Deprecated'); + })(It || (It = {})), + (function (e) { + (e[(e.Inline = 1)] = 'Inline'), (e[(e.Gutter = 2)] = 'Gutter'); + })(Mt || (Mt = {})), + (function (e) { + (e[(e.UNKNOWN = 0)] = 'UNKNOWN'), + (e[(e.TEXTAREA = 1)] = 'TEXTAREA'), + (e[(e.GUTTER_GLYPH_MARGIN = 2)] = 'GUTTER_GLYPH_MARGIN'), + (e[(e.GUTTER_LINE_NUMBERS = 3)] = 'GUTTER_LINE_NUMBERS'), + (e[(e.GUTTER_LINE_DECORATIONS = 4)] = 'GUTTER_LINE_DECORATIONS'), + (e[(e.GUTTER_VIEW_ZONE = 5)] = 'GUTTER_VIEW_ZONE'), + (e[(e.CONTENT_TEXT = 6)] = 'CONTENT_TEXT'), + (e[(e.CONTENT_EMPTY = 7)] = 'CONTENT_EMPTY'), + (e[(e.CONTENT_VIEW_ZONE = 8)] = 'CONTENT_VIEW_ZONE'), + (e[(e.CONTENT_WIDGET = 9)] = 'CONTENT_WIDGET'), + (e[(e.OVERVIEW_RULER = 10)] = 'OVERVIEW_RULER'), + (e[(e.SCROLLBAR = 11)] = 'SCROLLBAR'), + (e[(e.OVERLAY_WIDGET = 12)] = 'OVERLAY_WIDGET'), + (e[(e.OUTSIDE_EDITOR = 13)] = 'OUTSIDE_EDITOR'); + })(xt || (xt = {})), + (function (e) { + (e[(e.TOP_RIGHT_CORNER = 0)] = 'TOP_RIGHT_CORNER'), + (e[(e.BOTTOM_RIGHT_CORNER = 1)] = 'BOTTOM_RIGHT_CORNER'), + (e[(e.TOP_CENTER = 2)] = 'TOP_CENTER'); + })(Rt || (Rt = {})), + (function (e) { + (e[(e.Left = 1)] = 'Left'), + (e[(e.Center = 2)] = 'Center'), + (e[(e.Right = 4)] = 'Right'), + (e[(e.Full = 7)] = 'Full'); + })(Pt || (Pt = {})), + (function (e) { + (e[(e.Off = 0)] = 'Off'), + (e[(e.On = 1)] = 'On'), + (e[(e.Relative = 2)] = 'Relative'), + (e[(e.Interval = 3)] = 'Interval'), + (e[(e.Custom = 4)] = 'Custom'); + })(Ut || (Ut = {})), + (function (e) { + (e[(e.None = 0)] = 'None'), + (e[(e.Text = 1)] = 'Text'), + (e[(e.Blocks = 2)] = 'Blocks'); + })(kt || (kt = {})), + (function (e) { + (e[(e.Smooth = 0)] = 'Smooth'), (e[(e.Immediate = 1)] = 'Immediate'); + })(Dt || (Dt = {})), + (function (e) { + (e[(e.Auto = 1)] = 'Auto'), + (e[(e.Hidden = 2)] = 'Hidden'), + (e[(e.Visible = 3)] = 'Visible'); + })(Ft || (Ft = {})), + (function (e) { + (e[(e.LTR = 0)] = 'LTR'), (e[(e.RTL = 1)] = 'RTL'); + })(Kt || (Kt = {})), + (function (e) { + (e[(e.Invoke = 1)] = 'Invoke'), + (e[(e.TriggerCharacter = 2)] = 'TriggerCharacter'), + (e[(e.ContentChange = 3)] = 'ContentChange'); + })(Bt || (Bt = {})), + (function (e) { + (e[(e.File = 0)] = 'File'), + (e[(e.Module = 1)] = 'Module'), + (e[(e.Namespace = 2)] = 'Namespace'), + (e[(e.Package = 3)] = 'Package'), + (e[(e.Class = 4)] = 'Class'), + (e[(e.Method = 5)] = 'Method'), + (e[(e.Property = 6)] = 'Property'), + (e[(e.Field = 7)] = 'Field'), + (e[(e.Constructor = 8)] = 'Constructor'), + (e[(e.Enum = 9)] = 'Enum'), + (e[(e.Interface = 10)] = 'Interface'), + (e[(e.Function = 11)] = 'Function'), + (e[(e.Variable = 12)] = 'Variable'), + (e[(e.Constant = 13)] = 'Constant'), + (e[(e.String = 14)] = 'String'), + (e[(e.Number = 15)] = 'Number'), + (e[(e.Boolean = 16)] = 'Boolean'), + (e[(e.Array = 17)] = 'Array'), + (e[(e.Object = 18)] = 'Object'), + (e[(e.Key = 19)] = 'Key'), + (e[(e.Null = 20)] = 'Null'), + (e[(e.EnumMember = 21)] = 'EnumMember'), + (e[(e.Struct = 22)] = 'Struct'), + (e[(e.Event = 23)] = 'Event'), + (e[(e.Operator = 24)] = 'Operator'), + (e[(e.TypeParameter = 25)] = 'TypeParameter'); + })(Wt || (Wt = {})), + (function (e) { + e[(e.Deprecated = 1)] = 'Deprecated'; + })(qt || (qt = {})), + (function (e) { + (e[(e.Hidden = 0)] = 'Hidden'), + (e[(e.Blink = 1)] = 'Blink'), + (e[(e.Smooth = 2)] = 'Smooth'), + (e[(e.Phase = 3)] = 'Phase'), + (e[(e.Expand = 4)] = 'Expand'), + (e[(e.Solid = 5)] = 'Solid'); + })(Ht || (Ht = {})), + (function (e) { + (e[(e.Line = 1)] = 'Line'), + (e[(e.Block = 2)] = 'Block'), + (e[(e.Underline = 3)] = 'Underline'), + (e[(e.LineThin = 4)] = 'LineThin'), + (e[(e.BlockOutline = 5)] = 'BlockOutline'), + (e[(e.UnderlineThin = 6)] = 'UnderlineThin'); + })(Vt || (Vt = {})), + (function (e) { + (e[(e.AlwaysGrowsWhenTypingAtEdges = 0)] = + 'AlwaysGrowsWhenTypingAtEdges'), + (e[(e.NeverGrowsWhenTypingAtEdges = 1)] = + 'NeverGrowsWhenTypingAtEdges'), + (e[(e.GrowsOnlyWhenTypingBefore = 2)] = 'GrowsOnlyWhenTypingBefore'), + (e[(e.GrowsOnlyWhenTypingAfter = 3)] = 'GrowsOnlyWhenTypingAfter'); + })(Yt || (Yt = {})), + (function (e) { + (e[(e.None = 0)] = 'None'), + (e[(e.Same = 1)] = 'Same'), + (e[(e.Indent = 2)] = 'Indent'), + (e[(e.DeepIndent = 3)] = 'DeepIndent'); + })($t || ($t = {})); + class Gt { + static chord(e, t) { + return (function (e, t) { + return (e | (((65535 & t) << 16) >>> 0)) >>> 0; + })(e, t); + } + } + (Gt.CtrlCmd = 2048), (Gt.Shift = 1024), (Gt.Alt = 512), (Gt.WinCtrl = 256); + var zt = function (e, t, n, i) { + return new (n || (n = Promise))(function (r, s) { + function o(e) { + try { + l(i.next(e)); + } catch (e) { + s(e); + } + } + function a(e) { + try { + l(i.throw(e)); + } catch (e) { + s(e); + } + } + function l(e) { + var t; + e.done + ? r(e.value) + : ((t = e.value), + t instanceof n + ? t + : new n(function (e) { + e(t); + })).then(o, a); + } + l((i = i.apply(e, t || [])).next()); + }); + }; + class Qt extends class { + constructor(e, t, n, i) { + (this._uri = e), + (this._lines = t), + (this._eol = n), + (this._versionId = i), + (this._lineStarts = null), + (this._cachedTextValue = null); + } + dispose() { + this._lines.length = 0; + } + getText() { + return ( + null === this._cachedTextValue && + (this._cachedTextValue = this._lines.join(this._eol)), + this._cachedTextValue + ); + } + onEvents(e) { + e.eol && + e.eol !== this._eol && + ((this._eol = e.eol), (this._lineStarts = null)); + const t = e.changes; + for (const e of t) + this._acceptDeleteRange(e.range), + this._acceptInsertText( + new Ie(e.range.startLineNumber, e.range.startColumn), + e.text + ); + (this._versionId = e.versionId), (this._cachedTextValue = null); + } + _ensureLineStarts() { + if (!this._lineStarts) { + const e = this._eol.length, + t = this._lines.length, + n = new Uint32Array(t); + for (let i = 0; i < t; i++) n[i] = this._lines[i].length + e; + this._lineStarts = new Ve(n); + } + } + _setLineText(e, t) { + (this._lines[e] = t), + this._lineStarts && + this._lineStarts.changeValue( + e, + this._lines[e].length + this._eol.length + ); + } + _acceptDeleteRange(e) { + if (e.startLineNumber !== e.endLineNumber) + this._setLineText( + e.startLineNumber - 1, + this._lines[e.startLineNumber - 1].substring(0, e.startColumn - 1) + + this._lines[e.endLineNumber - 1].substring(e.endColumn - 1) + ), + this._lines.splice( + e.startLineNumber, + e.endLineNumber - e.startLineNumber + ), + this._lineStarts && + this._lineStarts.removeValues( + e.startLineNumber, + e.endLineNumber - e.startLineNumber + ); + else { + if (e.startColumn === e.endColumn) return; + this._setLineText( + e.startLineNumber - 1, + this._lines[e.startLineNumber - 1].substring(0, e.startColumn - 1) + + this._lines[e.startLineNumber - 1].substring(e.endColumn - 1) + ); + } + } + _acceptInsertText(e, t) { + if (0 === t.length) return; + let n = t.split(/\r\n|\r|\n/); + if (1 === n.length) + return void this._setLineText( + e.lineNumber - 1, + this._lines[e.lineNumber - 1].substring(0, e.column - 1) + + n[0] + + this._lines[e.lineNumber - 1].substring(e.column - 1) + ); + (n[n.length - 1] += this._lines[e.lineNumber - 1].substring( + e.column - 1 + )), + this._setLineText( + e.lineNumber - 1, + this._lines[e.lineNumber - 1].substring(0, e.column - 1) + n[0] + ); + let i = new Uint32Array(n.length - 1); + for (let t = 1; t < n.length; t++) + this._lines.splice(e.lineNumber + t - 1, 0, n[t]), + (i[t - 1] = n[t].length + this._eol.length); + this._lineStarts && this._lineStarts.insertValues(e.lineNumber, i); + } + } { + get uri() { + return this._uri; + } + get version() { + return this._versionId; + } + get eol() { + return this._eol; + } + getValue() { + return this.getText(); + } + getLinesContent() { + return this._lines.slice(0); + } + getLineCount() { + return this._lines.length; + } + getLineContent(e) { + return this._lines[e - 1]; + } + getWordAtPosition(e, t) { + let n = je( + e.column, + (function (e) { + let t = Ye; + if (e && e instanceof RegExp) + if (e.global) t = e; + else { + let n = 'g'; + e.ignoreCase && (n += 'i'), + e.multiline && (n += 'm'), + e.unicode && (n += 'u'), + (t = new RegExp(e.source, n)); + } + return (t.lastIndex = 0), t; + })(t), + this._lines[e.lineNumber - 1], + 0 + ); + return n + ? new Me(e.lineNumber, n.startColumn, e.lineNumber, n.endColumn) + : null; + } + words(e) { + const t = this._lines, + n = this._wordenize.bind(this); + let i = 0, + r = '', + s = 0, + o = []; + return { + *[Symbol.iterator]() { + for (;;) + if (s < o.length) { + const e = r.substring(o[s].start, o[s].end); + (s += 1), yield e; + } else { + if (!(i < t.length)) break; + (r = t[i]), (o = n(r, e)), (s = 0), (i += 1); + } + }, + }; + } + getLineWords(e, t) { + let n = this._lines[e - 1], + i = this._wordenize(n, t), + r = []; + for (const e of i) + r.push({ + word: n.substring(e.start, e.end), + startColumn: e.start + 1, + endColumn: e.end + 1, + }); + return r; + } + _wordenize(e, t) { + const n = []; + let i; + for (t.lastIndex = 0; (i = t.exec(e)) && 0 !== i[0].length; ) + n.push({ start: i.index, end: i.index + i[0].length }); + return n; + } + getValueInRange(e) { + if ((e = this._validateRange(e)).startLineNumber === e.endLineNumber) + return this._lines[e.startLineNumber - 1].substring( + e.startColumn - 1, + e.endColumn - 1 + ); + let t = this._eol, + n = e.startLineNumber - 1, + i = e.endLineNumber - 1, + r = []; + r.push(this._lines[n].substring(e.startColumn - 1)); + for (let e = n + 1; e < i; e++) r.push(this._lines[e]); + return r.push(this._lines[i].substring(0, e.endColumn - 1)), r.join(t); + } + offsetAt(e) { + return ( + (e = this._validatePosition(e)), + this._ensureLineStarts(), + this._lineStarts.getAccumulatedValue(e.lineNumber - 2) + (e.column - 1) + ); + } + positionAt(e) { + (e = Math.floor(e)), (e = Math.max(0, e)), this._ensureLineStarts(); + let t = this._lineStarts.getIndexOf(e), + n = this._lines[t.index].length; + return { lineNumber: 1 + t.index, column: 1 + Math.min(t.remainder, n) }; + } + _validateRange(e) { + const t = this._validatePosition({ + lineNumber: e.startLineNumber, + column: e.startColumn, + }), + n = this._validatePosition({ + lineNumber: e.endLineNumber, + column: e.endColumn, + }); + return t.lineNumber !== e.startLineNumber || + t.column !== e.startColumn || + n.lineNumber !== e.endLineNumber || + n.column !== e.endColumn + ? { + startLineNumber: t.lineNumber, + startColumn: t.column, + endLineNumber: n.lineNumber, + endColumn: n.column, + } + : e; + } + _validatePosition(e) { + if (!Ie.isIPosition(e)) throw new Error('bad position'); + let { lineNumber: t, column: n } = e, + i = !1; + if (t < 1) (t = 1), (n = 1), (i = !0); + else if (t > this._lines.length) + (t = this._lines.length), (n = this._lines[t - 1].length + 1), (i = !0); + else { + let e = this._lines[t - 1].length + 1; + n < 1 ? ((n = 1), (i = !0)) : n > e && ((n = e), (i = !0)); + } + return i ? { lineNumber: t, column: n } : e; + } + } + class Xt { + constructor(e, t) { + (this._host = e), + (this._models = Object.create(null)), + (this._foreignModuleFactory = t), + (this._foreignModule = null); + } + dispose() { + this._models = Object.create(null); + } + _getModel(e) { + return this._models[e]; + } + _getModels() { + let e = []; + return ( + Object.keys(this._models).forEach((t) => e.push(this._models[t])), e + ); + } + acceptNewModel(e) { + this._models[e.url] = new Qt( + be.parse(e.url), + e.lines, + e.EOL, + e.versionId + ); + } + acceptModelChanged(e, t) { + this._models[e] && this._models[e].onEvents(t); + } + acceptRemovedModel(e) { + this._models[e] && delete this._models[e]; + } + computeDiff(e, t, n, i) { + return zt(this, void 0, void 0, function* () { + const r = this._getModel(e), + s = this._getModel(t); + if (!r || !s) return null; + const o = r.getLinesContent(), + a = s.getLinesContent(), + l = new De(o, a, { + shouldComputeCharChanges: !0, + shouldPostProcessCharChanges: !0, + shouldIgnoreTrimWhitespace: n, + shouldMakePrettyDiff: !0, + maxComputationTime: i, + }).computeDiff(), + u = !(l.changes.length > 0) && this._modelsAreIdentical(r, s); + return { quitEarly: l.quitEarly, identical: u, changes: l.changes }; + }); + } + _modelsAreIdentical(e, t) { + const n = e.getLineCount(); + if (n !== t.getLineCount()) return !1; + for (let i = 1; i <= n; i++) + if (e.getLineContent(i) !== t.getLineContent(i)) return !1; + return !0; + } + computeMoreMinimalEdits(e, t) { + return zt(this, void 0, void 0, function* () { + const n = this._getModel(e); + if (!n) return t; + const i = []; + let r; + t = x(t, (e, t) => + e.range && t.range + ? Me.compareRangesUsingStarts(e.range, t.range) + : (e.range ? 0 : 1) - (t.range ? 0 : 1) + ); + for (let { range: e, text: s, eol: o } of t) { + if (('number' == typeof o && (r = o), Me.isEmpty(e) && !s)) continue; + const t = n.getValueInRange(e); + if (((s = s.replace(/\r\n|\n|\r/g, n.eol)), t === s)) continue; + if (Math.max(s.length, t.length) > Xt._diffLimit) { + i.push({ range: e, text: s }); + continue; + } + const a = Y(t, s, !1), + l = n.offsetAt(Me.lift(e).getStartPosition()); + for (const e of a) { + const t = n.positionAt(l + e.originalStart), + r = n.positionAt(l + e.originalStart + e.originalLength), + o = { + text: s.substr(e.modifiedStart, e.modifiedLength), + range: { + startLineNumber: t.lineNumber, + startColumn: t.column, + endLineNumber: r.lineNumber, + endColumn: r.column, + }, + }; + n.getValueInRange(o.range) !== o.text && i.push(o); + } + } + return ( + 'number' == typeof r && + i.push({ + eol: r, + text: '', + range: { + startLineNumber: 0, + startColumn: 0, + endLineNumber: 0, + endColumn: 0, + }, + }), + i + ); + }); + } + computeLinks(e) { + return zt(this, void 0, void 0, function* () { + let t = this._getModel(e); + return t + ? (function (e) { + return e && + 'function' == typeof e.getLineCount && + 'function' == typeof e.getLineContent + ? et.computeLinks(e) + : []; + })(t) + : null; + }); + } + textualSuggest(e, t, n, i) { + return zt(this, void 0, void 0, function* () { + const r = this._getModel(e); + if (!r) return null; + const s = [], + o = new Set(), + a = new RegExp(n, i), + l = r.getWordAtPosition(t, a); + l && o.add(r.getValueInRange(l)); + for (let e of r.words(a)) + if ( + !o.has(e) && + (o.add(e), + isNaN(Number(e)) && (s.push(e), o.size > Xt._suggestionsLimit)) + ) + break; + return s; + }); + } + computeWordRanges(e, t, n, i) { + return zt(this, void 0, void 0, function* () { + let r = this._getModel(e); + if (!r) return Object.create(null); + const s = new RegExp(n, i), + o = Object.create(null); + for (let e = t.startLineNumber; e < t.endLineNumber; e++) { + let t = r.getLineWords(e, s); + for (const n of t) { + if (!isNaN(Number(n.word))) continue; + let t = o[n.word]; + t || ((t = []), (o[n.word] = t)), + t.push({ + startLineNumber: e, + startColumn: n.startColumn, + endLineNumber: e, + endColumn: n.endColumn, + }); + } + } + return o; + }); + } + navigateValueSet(e, t, n, i, r) { + return zt(this, void 0, void 0, function* () { + let s = this._getModel(e); + if (!s) return null; + let o = new RegExp(i, r); + t.startColumn === t.endColumn && + (t = { + startLineNumber: t.startLineNumber, + startColumn: t.startColumn, + endLineNumber: t.endLineNumber, + endColumn: t.endColumn + 1, + }); + let a = s.getValueInRange(t), + l = s.getWordAtPosition( + { lineNumber: t.startLineNumber, column: t.startColumn }, + o + ); + if (!l) return null; + let u = s.getValueInRange(l); + return tt.INSTANCE.navigateValueSet(t, a, l, u, n); + }); + } + loadForeignModule(e, t, n) { + let i = { + host: O(n, (e, t) => this._host.fhr(e, t)), + getMirrorModels: () => this._getModels(), + }; + return this._foreignModuleFactory + ? ((this._foreignModule = this._foreignModuleFactory(i, t)), + Promise.resolve(T(this._foreignModule))) + : Promise.reject(new Error('Unexpected usage')); + } + fmr(e, t) { + if (!this._foreignModule || 'function' != typeof this._foreignModule[e]) + return Promise.reject( + new Error('Missing requestHandler or method: ' + e) + ); + try { + return Promise.resolve( + this._foreignModule[e].apply(this._foreignModule, t) + ); + } catch (e) { + return Promise.reject(e); + } + } + } + (Xt._diffLimit = 1e5), + (Xt._suggestionsLimit = 1e4), + 'function' == typeof importScripts && + (w.monaco = { + editor: void 0, + languages: void 0, + CancellationTokenSource: class { + constructor(e) { + (this._token = void 0), + (this._parentListener = void 0), + (this._parentListener = + e && e.onCancellationRequested(this.cancel, this)); + } + get token() { + return this._token || (this._token = new lt()), this._token; + } + cancel() { + this._token + ? this._token instanceof lt && this._token.cancel() + : (this._token = at.Cancelled); + } + dispose(e = !1) { + e && this.cancel(), + this._parentListener && this._parentListener.dispose(), + this._token + ? this._token instanceof lt && this._token.dispose() + : (this._token = at.None); + } + }, + Emitter: st, + KeyCode: Tt, + KeyMod: Gt, + Position: Ie, + Range: Me, + Selection: jt, + SelectionDirection: Kt, + MarkerSeverity: Ot, + MarkerTag: It, + Uri: be, + Token: class { + constructor(e, t, n) { + (this.offset = 0 | e), (this.type = t), (this.language = n); + } + toString() { + return '(' + this.offset + ', ' + this.type + ')'; + } + }, + }); + let Zt = !1; + self.onmessage = (e) => { + Zt || + (function (e) { + if (Zt) return; + Zt = !0; + const t = new M( + (e) => { + self.postMessage(e); + }, + (e) => new Xt(e, null) + ); + self.onmessage = (e) => { + t.onmessage(e.data); + }; + })(); + }; +})(); diff --git a/docs/favicon.png b/docs/favicon.png new file mode 100644 index 00000000..5a015fd6 Binary files /dev/null and b/docs/favicon.png differ diff --git a/docs/index.html b/docs/index.html new file mode 100644 index 00000000..b77ea5b3 --- /dev/null +++ b/docs/index.html @@ -0,0 +1,60 @@ +<!DOCTYPE html> +<html> + <head> + <meta charset="utf8" /> + <meta name="viewport" content="width=device-width" /> + + <title>Mermaid live editor + + + + + + + + + + + Online FlowChart & Diagrams Editor - Mermaid Live Editor + + + + + + + + diff --git a/docs/json.worker.js b/docs/json.worker.js new file mode 100644 index 00000000..35e67664 --- /dev/null +++ b/docs/json.worker.js @@ -0,0 +1,11563 @@ +(() => { + 'use strict'; + var e = {}; + e.g = (function () { + if ('object' == typeof globalThis) return globalThis; + try { + return this || new Function('return this')(); + } catch (e) { + if ('object' == typeof window) return window; + } + })(); + const t = new (class { + constructor() { + (this.listeners = []), + (this.unexpectedErrorHandler = function (e) { + setTimeout(() => { + if (e.stack) throw new Error(e.message + '\n\n' + e.stack); + throw e; + }, 0); + }); + } + emit(e) { + this.listeners.forEach((t) => { + t(e); + }); + } + onUnexpectedError(e) { + this.unexpectedErrorHandler(e), this.emit(e); + } + onUnexpectedExternalError(e) { + this.unexpectedErrorHandler(e); + } + })(); + function n(e) { + var n; + ((n = e) instanceof Error && n.name === i && n.message === i) || + t.onUnexpectedError(e); + } + function r(e) { + if (e instanceof Error) { + let { name: t, message: n } = e; + return { + $isError: !0, + name: t, + message: n, + stack: e.stacktrace || e.stack, + }; + } + return e; + } + const i = 'Canceled'; + var o; + function s(e) {} + !(function (e) { + e.is = function (e) { + return ( + e && 'object' == typeof e && 'function' == typeof e[Symbol.iterator] + ); + }; + const t = Object.freeze([]); + (e.empty = function () { + return t; + }), + (e.single = function* (e) { + yield e; + }), + (e.from = function (e) { + return e || t; + }), + (e.first = function (e) { + return e[Symbol.iterator]().next().value; + }), + (e.some = function (e, t) { + for (const n of e) if (t(n)) return !0; + return !1; + }), + (e.filter = function* (e, t) { + for (const n of e) t(n) && (yield n); + }), + (e.map = function* (e, t) { + for (const n of e) yield t(n); + }), + (e.concat = function* (...e) { + for (const t of e) for (const e of t) yield e; + }), + (e.consume = function (t, n = Number.POSITIVE_INFINITY) { + const r = []; + if (0 === n) return [r, t]; + const i = t[Symbol.iterator](); + for (let t = 0; t < n; t++) { + const t = i.next(); + if (t.done) return [r, e.empty()]; + r.push(t.value); + } + return [r, { [Symbol.iterator]: () => i }]; + }); + })(o || (o = {})); + class a extends Error { + constructor(e) { + super( + `Encounter errors while disposing of store. Errors: [${e.join(', ')}]` + ), + (this.errors = e); + } + } + function u(e) { + if (o.is(e)) { + let t = []; + for (const n of e) + if (n) + try { + n.dispose(); + } catch (e) { + t.push(e); + } + if (1 === t.length) throw t[0]; + if (t.length > 1) throw new a(t); + return Array.isArray(e) ? [] : e; + } + if (e) return e.dispose(), e; + } + class l { + constructor() { + (this._toDispose = new Set()), (this._isDisposed = !1); + } + dispose() { + this._isDisposed || ((this._isDisposed = !0), this.clear()); + } + clear() { + try { + u(this._toDispose.values()); + } finally { + this._toDispose.clear(); + } + } + add(e) { + if (!e) return e; + if (e === this) + throw new Error('Cannot register a disposable on itself!'); + return ( + this._isDisposed + ? l.DISABLE_DISPOSED_WARNING || + console.warn( + new Error( + 'Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!' + ).stack + ) + : this._toDispose.add(e), + e + ); + } + } + l.DISABLE_DISPOSED_WARNING = !1; + class c { + constructor() { + this._store = new l(); + } + dispose() { + this._store.dispose(); + } + _register(e) { + if (e === this) + throw new Error('Cannot register a disposable on itself!'); + return this._store.add(e); + } + } + c.None = Object.freeze({ dispose() {} }); + const h = 'en'; + let f, + d, + m, + g = !1, + p = !1, + v = !1, + y = !1, + b = !1, + C = !1, + _ = null; + const S = + 'undefined' != typeof process && + void 0 !== process.versions && + void 0 !== process.versions.electron && + 'renderer' === process.type; + if ('object' != typeof navigator || S) { + if ('object' == typeof process) { + (g = 'win32' === process.platform), + (p = 'darwin' === process.platform), + (v = 'linux' === process.platform), + (f = h), + (_ = h); + const e = process.env.VSCODE_NLS_CONFIG; + if (e) + try { + const t = JSON.parse(e), + n = t.availableLanguages['*']; + (f = t.locale), (_ = n || h), (d = t._translationsConfigFile); + } catch (e) {} + y = !0; + } + } else + (m = navigator.userAgent), + (g = m.indexOf('Windows') >= 0), + (p = m.indexOf('Macintosh') >= 0), + (m.indexOf('Macintosh') >= 0 || + m.indexOf('iPad') >= 0 || + m.indexOf('iPhone') >= 0) && + !!navigator.maxTouchPoints && + navigator.maxTouchPoints > 0, + (v = m.indexOf('Linux') >= 0), + !0, + (f = navigator.language), + (_ = f); + let E = 0; + p ? (E = 1) : g ? (E = 3) : v && (E = 2); + const A = g, + x = p, + N = 'object' == typeof self ? self : 'object' == typeof e.g ? e.g : {}, + L = (function () { + if (N.setImmediate) return N.setImmediate.bind(N); + if ('function' == typeof N.postMessage && !N.importScripts) { + let e = []; + N.addEventListener('message', (t) => { + if (t.data && t.data.vscodeSetImmediateId) + for (let n = 0, r = e.length; n < r; n++) { + const r = e[n]; + if (r.id === t.data.vscodeSetImmediateId) + return e.splice(n, 1), void r.callback(); + } + }); + let t = 0; + return (n) => { + const r = ++t; + e.push({ id: r, callback: n }), + N.postMessage({ vscodeSetImmediateId: r }, '*'); + }; + } + if ( + 'undefined' != typeof process && + 'function' == typeof process.nextTick + ) + return process.nextTick.bind(process); + const e = Promise.resolve(); + return (t) => e.then(t); + })(); + function w(e) { + const t = []; + for (const n of (function (e) { + let t = [], + n = Object.getPrototypeOf(e); + for (; Object.prototype !== n; ) + (t = t.concat(Object.getOwnPropertyNames(n))), + (n = Object.getPrototypeOf(n)); + return t; + })(e)) + 'function' == typeof e[n] && t.push(n); + return t; + } + function T(e, t) { + const n = (e) => + function () { + const n = Array.prototype.slice.call(arguments, 0); + return t(e, n); + }; + let r = {}; + for (const t of e) r[t] = n(t); + return r; + } + class k { + constructor(e) { + (this._workerId = -1), + (this._handler = e), + (this._lastSentReq = 0), + (this._pendingReplies = Object.create(null)); + } + setWorkerId(e) { + this._workerId = e; + } + sendMessage(e, t) { + let n = String(++this._lastSentReq); + return new Promise((r, i) => { + (this._pendingReplies[n] = { resolve: r, reject: i }), + this._send({ vsWorker: this._workerId, req: n, method: e, args: t }); + }); + } + handleMessage(e) { + e && + e.vsWorker && + ((-1 !== this._workerId && e.vsWorker !== this._workerId) || + this._handleMessage(e)); + } + _handleMessage(e) { + if (e.seq) { + let t = e; + if (!this._pendingReplies[t.seq]) + return void console.warn('Got reply to unknown seq'); + let n = this._pendingReplies[t.seq]; + if ((delete this._pendingReplies[t.seq], t.err)) { + let e = t.err; + return ( + t.err.$isError && + ((e = new Error()), + (e.name = t.err.name), + (e.message = t.err.message), + (e.stack = t.err.stack)), + void n.reject(e) + ); + } + return void n.resolve(t.res); + } + let t = e, + n = t.req; + this._handler.handleMessage(t.method, t.args).then( + (e) => { + this._send({ vsWorker: this._workerId, seq: n, res: e, err: void 0 }); + }, + (e) => { + e.detail instanceof Error && (e.detail = r(e.detail)), + this._send({ + vsWorker: this._workerId, + seq: n, + res: void 0, + err: r(e), + }); + } + ); + } + _send(e) { + let t = []; + if (e.req) { + const n = e; + for (let e = 0; e < n.args.length; e++) + n.args[e] instanceof ArrayBuffer && t.push(n.args[e]); + } else { + const n = e; + n.res instanceof ArrayBuffer && t.push(n.res); + } + this._handler.sendMessage(e, t); + } + } + class O { + constructor(e, t) { + (this._requestHandlerFactory = t), + (this._requestHandler = null), + (this._protocol = new k({ + sendMessage: (t, n) => { + e(t, n); + }, + handleMessage: (e, t) => this._handleMessage(e, t), + })); + } + onmessage(e) { + this._protocol.handleMessage(e); + } + _handleMessage(e, t) { + if ('$initialize' === e) return this.initialize(t[0], t[1], t[2], t[3]); + if (!this._requestHandler || 'function' != typeof this._requestHandler[e]) + return Promise.reject( + new Error('Missing requestHandler or method: ' + e) + ); + try { + return Promise.resolve( + this._requestHandler[e].apply(this._requestHandler, t) + ); + } catch (e) { + return Promise.reject(e); + } + } + initialize(e, t, n, r) { + this._protocol.setWorkerId(e); + const i = T(r, (e, t) => this._protocol.sendMessage(e, t)); + return this._requestHandlerFactory + ? ((this._requestHandler = this._requestHandlerFactory(i)), + Promise.resolve(w(this._requestHandler))) + : (t && + (void 0 !== t.baseUrl && delete t.baseUrl, + void 0 !== t.paths && void 0 !== t.paths.vs && delete t.paths.vs, + (t.catchError = !0), + self.require.config(t)), + new Promise((e, t) => { + self.require( + [n], + (n) => { + (this._requestHandler = n.create(i)), + this._requestHandler + ? e(w(this._requestHandler)) + : t(new Error('No RequestHandler!')); + }, + t + ); + })); + } + } + function I(e, t) { + return M(e, t, 0, e.length - 1, []), e; + } + function M(e, t, n, r, i) { + if (r <= n) return; + const o = (n + (r - n) / 2) | 0; + M(e, t, n, o, i), + M(e, t, o + 1, r, i), + t(e[o], e[o + 1]) <= 0 || + (function (e, t, n, r, i, o) { + let s = n, + a = r + 1; + for (let t = n; t <= i; t++) o[t] = e[t]; + for (let u = n; u <= i; u++) + s > r + ? (e[u] = o[a++]) + : a > i + ? (e[u] = o[s++]) + : t(o[a], o[s]) < 0 + ? (e[u] = o[a++]) + : (e[u] = o[s++]); + })(e, t, n, o, r, i); + } + class P { + constructor(e, t, n, r) { + (this.originalStart = e), + (this.originalLength = t), + (this.modifiedStart = n), + (this.modifiedLength = r); + } + getOriginalEnd() { + return this.originalStart + this.originalLength; + } + getModifiedEnd() { + return this.modifiedStart + this.modifiedLength; + } + } + function R(e) { + return 55296 <= e && e <= 56319; + } + function D(e) { + return 56320 <= e && e <= 57343; + } + String.fromCharCode(65279); + class F { + constructor() { + this._data = JSON.parse( + '[0,0,0,51592,51592,11,44424,44424,11,72251,72254,5,7150,7150,7,48008,48008,11,55176,55176,11,128420,128420,14,3276,3277,5,9979,9980,14,46216,46216,11,49800,49800,11,53384,53384,11,70726,70726,5,122915,122916,5,129320,129327,14,2558,2558,5,5906,5908,5,9762,9763,14,43360,43388,8,45320,45320,11,47112,47112,11,48904,48904,11,50696,50696,11,52488,52488,11,54280,54280,11,70082,70083,1,71350,71350,7,73111,73111,5,127892,127893,14,128726,128727,14,129473,129474,14,2027,2035,5,2901,2902,5,3784,3789,5,6754,6754,5,8418,8420,5,9877,9877,14,11088,11088,14,44008,44008,5,44872,44872,11,45768,45768,11,46664,46664,11,47560,47560,11,48456,48456,11,49352,49352,11,50248,50248,11,51144,51144,11,52040,52040,11,52936,52936,11,53832,53832,11,54728,54728,11,69811,69814,5,70459,70460,5,71096,71099,7,71998,71998,5,72874,72880,5,119149,119149,7,127374,127374,14,128335,128335,14,128482,128482,14,128765,128767,14,129399,129400,14,129680,129685,14,1476,1477,5,2377,2380,7,2759,2760,5,3137,3140,7,3458,3459,7,4153,4154,5,6432,6434,5,6978,6978,5,7675,7679,5,9723,9726,14,9823,9823,14,9919,9923,14,10035,10036,14,42736,42737,5,43596,43596,5,44200,44200,11,44648,44648,11,45096,45096,11,45544,45544,11,45992,45992,11,46440,46440,11,46888,46888,11,47336,47336,11,47784,47784,11,48232,48232,11,48680,48680,11,49128,49128,11,49576,49576,11,50024,50024,11,50472,50472,11,50920,50920,11,51368,51368,11,51816,51816,11,52264,52264,11,52712,52712,11,53160,53160,11,53608,53608,11,54056,54056,11,54504,54504,11,54952,54952,11,68108,68111,5,69933,69940,5,70197,70197,7,70498,70499,7,70845,70845,5,71229,71229,5,71727,71735,5,72154,72155,5,72344,72345,5,73023,73029,5,94095,94098,5,121403,121452,5,126981,127182,14,127538,127546,14,127990,127990,14,128391,128391,14,128445,128449,14,128500,128505,14,128752,128752,14,129160,129167,14,129356,129356,14,129432,129442,14,129648,129651,14,129751,131069,14,173,173,4,1757,1757,1,2274,2274,1,2494,2494,5,2641,2641,5,2876,2876,5,3014,3016,7,3262,3262,7,3393,3396,5,3570,3571,7,3968,3972,5,4228,4228,7,6086,6086,5,6679,6680,5,6912,6915,5,7080,7081,5,7380,7392,5,8252,8252,14,9096,9096,14,9748,9749,14,9784,9786,14,9833,9850,14,9890,9894,14,9938,9938,14,9999,9999,14,10085,10087,14,12349,12349,14,43136,43137,7,43454,43456,7,43755,43755,7,44088,44088,11,44312,44312,11,44536,44536,11,44760,44760,11,44984,44984,11,45208,45208,11,45432,45432,11,45656,45656,11,45880,45880,11,46104,46104,11,46328,46328,11,46552,46552,11,46776,46776,11,47000,47000,11,47224,47224,11,47448,47448,11,47672,47672,11,47896,47896,11,48120,48120,11,48344,48344,11,48568,48568,11,48792,48792,11,49016,49016,11,49240,49240,11,49464,49464,11,49688,49688,11,49912,49912,11,50136,50136,11,50360,50360,11,50584,50584,11,50808,50808,11,51032,51032,11,51256,51256,11,51480,51480,11,51704,51704,11,51928,51928,11,52152,52152,11,52376,52376,11,52600,52600,11,52824,52824,11,53048,53048,11,53272,53272,11,53496,53496,11,53720,53720,11,53944,53944,11,54168,54168,11,54392,54392,11,54616,54616,11,54840,54840,11,55064,55064,11,65438,65439,5,69633,69633,5,69837,69837,1,70018,70018,7,70188,70190,7,70368,70370,7,70465,70468,7,70712,70719,5,70835,70840,5,70850,70851,5,71132,71133,5,71340,71340,7,71458,71461,5,71985,71989,7,72002,72002,7,72193,72202,5,72281,72283,5,72766,72766,7,72885,72886,5,73104,73105,5,92912,92916,5,113824,113827,4,119173,119179,5,121505,121519,5,125136,125142,5,127279,127279,14,127489,127490,14,127570,127743,14,127900,127901,14,128254,128254,14,128369,128370,14,128400,128400,14,128425,128432,14,128468,128475,14,128489,128494,14,128715,128720,14,128745,128745,14,128759,128760,14,129004,129023,14,129296,129304,14,129340,129342,14,129388,129392,14,129404,129407,14,129454,129455,14,129485,129487,14,129659,129663,14,129719,129727,14,917536,917631,5,13,13,2,1160,1161,5,1564,1564,4,1807,1807,1,2085,2087,5,2363,2363,7,2402,2403,5,2507,2508,7,2622,2624,7,2691,2691,7,2786,2787,5,2881,2884,5,3006,3006,5,3072,3072,5,3170,3171,5,3267,3268,7,3330,3331,7,3406,3406,1,3538,3540,5,3655,3662,5,3897,3897,5,4038,4038,5,4184,4185,5,4352,4447,8,6068,6069,5,6155,6157,5,6448,6449,7,6742,6742,5,6783,6783,5,6966,6970,5,7042,7042,7,7143,7143,7,7212,7219,5,7412,7412,5,8206,8207,4,8294,8303,4,8596,8601,14,9410,9410,14,9742,9742,14,9757,9757,14,9770,9770,14,9794,9794,14,9828,9828,14,9855,9855,14,9882,9882,14,9900,9903,14,9929,9933,14,9963,9967,14,9987,9988,14,10006,10006,14,10062,10062,14,10175,10175,14,11744,11775,5,42607,42607,5,43043,43044,7,43263,43263,5,43444,43445,7,43569,43570,5,43698,43700,5,43766,43766,5,44032,44032,11,44144,44144,11,44256,44256,11,44368,44368,11,44480,44480,11,44592,44592,11,44704,44704,11,44816,44816,11,44928,44928,11,45040,45040,11,45152,45152,11,45264,45264,11,45376,45376,11,45488,45488,11,45600,45600,11,45712,45712,11,45824,45824,11,45936,45936,11,46048,46048,11,46160,46160,11,46272,46272,11,46384,46384,11,46496,46496,11,46608,46608,11,46720,46720,11,46832,46832,11,46944,46944,11,47056,47056,11,47168,47168,11,47280,47280,11,47392,47392,11,47504,47504,11,47616,47616,11,47728,47728,11,47840,47840,11,47952,47952,11,48064,48064,11,48176,48176,11,48288,48288,11,48400,48400,11,48512,48512,11,48624,48624,11,48736,48736,11,48848,48848,11,48960,48960,11,49072,49072,11,49184,49184,11,49296,49296,11,49408,49408,11,49520,49520,11,49632,49632,11,49744,49744,11,49856,49856,11,49968,49968,11,50080,50080,11,50192,50192,11,50304,50304,11,50416,50416,11,50528,50528,11,50640,50640,11,50752,50752,11,50864,50864,11,50976,50976,11,51088,51088,11,51200,51200,11,51312,51312,11,51424,51424,11,51536,51536,11,51648,51648,11,51760,51760,11,51872,51872,11,51984,51984,11,52096,52096,11,52208,52208,11,52320,52320,11,52432,52432,11,52544,52544,11,52656,52656,11,52768,52768,11,52880,52880,11,52992,52992,11,53104,53104,11,53216,53216,11,53328,53328,11,53440,53440,11,53552,53552,11,53664,53664,11,53776,53776,11,53888,53888,11,54000,54000,11,54112,54112,11,54224,54224,11,54336,54336,11,54448,54448,11,54560,54560,11,54672,54672,11,54784,54784,11,54896,54896,11,55008,55008,11,55120,55120,11,64286,64286,5,66272,66272,5,68900,68903,5,69762,69762,7,69817,69818,5,69927,69931,5,70003,70003,5,70070,70078,5,70094,70094,7,70194,70195,7,70206,70206,5,70400,70401,5,70463,70463,7,70475,70477,7,70512,70516,5,70722,70724,5,70832,70832,5,70842,70842,5,70847,70848,5,71088,71089,7,71102,71102,7,71219,71226,5,71231,71232,5,71342,71343,7,71453,71455,5,71463,71467,5,71737,71738,5,71995,71996,5,72000,72000,7,72145,72147,7,72160,72160,5,72249,72249,7,72273,72278,5,72330,72342,5,72752,72758,5,72850,72871,5,72882,72883,5,73018,73018,5,73031,73031,5,73109,73109,5,73461,73462,7,94031,94031,5,94192,94193,7,119142,119142,7,119155,119162,4,119362,119364,5,121476,121476,5,122888,122904,5,123184,123190,5,126976,126979,14,127184,127231,14,127344,127345,14,127405,127461,14,127514,127514,14,127561,127567,14,127778,127779,14,127896,127896,14,127985,127986,14,127995,127999,5,128326,128328,14,128360,128366,14,128378,128378,14,128394,128397,14,128405,128406,14,128422,128423,14,128435,128443,14,128453,128464,14,128479,128480,14,128484,128487,14,128496,128498,14,128640,128709,14,128723,128724,14,128736,128741,14,128747,128748,14,128755,128755,14,128762,128762,14,128981,128991,14,129096,129103,14,129292,129292,14,129311,129311,14,129329,129330,14,129344,129349,14,129360,129374,14,129394,129394,14,129402,129402,14,129413,129425,14,129445,129450,14,129466,129471,14,129483,129483,14,129511,129535,14,129653,129655,14,129667,129670,14,129705,129711,14,129731,129743,14,917505,917505,4,917760,917999,5,10,10,3,127,159,4,768,879,5,1471,1471,5,1536,1541,1,1648,1648,5,1767,1768,5,1840,1866,5,2070,2073,5,2137,2139,5,2307,2307,7,2366,2368,7,2382,2383,7,2434,2435,7,2497,2500,5,2519,2519,5,2563,2563,7,2631,2632,5,2677,2677,5,2750,2752,7,2763,2764,7,2817,2817,5,2879,2879,5,2891,2892,7,2914,2915,5,3008,3008,5,3021,3021,5,3076,3076,5,3146,3149,5,3202,3203,7,3264,3265,7,3271,3272,7,3298,3299,5,3390,3390,5,3402,3404,7,3426,3427,5,3535,3535,5,3544,3550,7,3635,3635,7,3763,3763,7,3893,3893,5,3953,3966,5,3981,3991,5,4145,4145,7,4157,4158,5,4209,4212,5,4237,4237,5,4520,4607,10,5970,5971,5,6071,6077,5,6089,6099,5,6277,6278,5,6439,6440,5,6451,6456,7,6683,6683,5,6744,6750,5,6765,6770,7,6846,6846,5,6964,6964,5,6972,6972,5,7019,7027,5,7074,7077,5,7083,7085,5,7146,7148,7,7154,7155,7,7222,7223,5,7394,7400,5,7416,7417,5,8204,8204,5,8233,8233,4,8288,8292,4,8413,8416,5,8482,8482,14,8986,8987,14,9193,9203,14,9654,9654,14,9733,9733,14,9745,9745,14,9752,9752,14,9760,9760,14,9766,9766,14,9774,9775,14,9792,9792,14,9800,9811,14,9825,9826,14,9831,9831,14,9852,9853,14,9872,9873,14,9880,9880,14,9885,9887,14,9896,9897,14,9906,9916,14,9926,9927,14,9936,9936,14,9941,9960,14,9974,9974,14,9982,9985,14,9992,9997,14,10002,10002,14,10017,10017,14,10055,10055,14,10071,10071,14,10145,10145,14,11013,11015,14,11503,11505,5,12334,12335,5,12951,12951,14,42612,42621,5,43014,43014,5,43047,43047,7,43204,43205,5,43335,43345,5,43395,43395,7,43450,43451,7,43561,43566,5,43573,43574,5,43644,43644,5,43710,43711,5,43758,43759,7,44005,44005,5,44012,44012,7,44060,44060,11,44116,44116,11,44172,44172,11,44228,44228,11,44284,44284,11,44340,44340,11,44396,44396,11,44452,44452,11,44508,44508,11,44564,44564,11,44620,44620,11,44676,44676,11,44732,44732,11,44788,44788,11,44844,44844,11,44900,44900,11,44956,44956,11,45012,45012,11,45068,45068,11,45124,45124,11,45180,45180,11,45236,45236,11,45292,45292,11,45348,45348,11,45404,45404,11,45460,45460,11,45516,45516,11,45572,45572,11,45628,45628,11,45684,45684,11,45740,45740,11,45796,45796,11,45852,45852,11,45908,45908,11,45964,45964,11,46020,46020,11,46076,46076,11,46132,46132,11,46188,46188,11,46244,46244,11,46300,46300,11,46356,46356,11,46412,46412,11,46468,46468,11,46524,46524,11,46580,46580,11,46636,46636,11,46692,46692,11,46748,46748,11,46804,46804,11,46860,46860,11,46916,46916,11,46972,46972,11,47028,47028,11,47084,47084,11,47140,47140,11,47196,47196,11,47252,47252,11,47308,47308,11,47364,47364,11,47420,47420,11,47476,47476,11,47532,47532,11,47588,47588,11,47644,47644,11,47700,47700,11,47756,47756,11,47812,47812,11,47868,47868,11,47924,47924,11,47980,47980,11,48036,48036,11,48092,48092,11,48148,48148,11,48204,48204,11,48260,48260,11,48316,48316,11,48372,48372,11,48428,48428,11,48484,48484,11,48540,48540,11,48596,48596,11,48652,48652,11,48708,48708,11,48764,48764,11,48820,48820,11,48876,48876,11,48932,48932,11,48988,48988,11,49044,49044,11,49100,49100,11,49156,49156,11,49212,49212,11,49268,49268,11,49324,49324,11,49380,49380,11,49436,49436,11,49492,49492,11,49548,49548,11,49604,49604,11,49660,49660,11,49716,49716,11,49772,49772,11,49828,49828,11,49884,49884,11,49940,49940,11,49996,49996,11,50052,50052,11,50108,50108,11,50164,50164,11,50220,50220,11,50276,50276,11,50332,50332,11,50388,50388,11,50444,50444,11,50500,50500,11,50556,50556,11,50612,50612,11,50668,50668,11,50724,50724,11,50780,50780,11,50836,50836,11,50892,50892,11,50948,50948,11,51004,51004,11,51060,51060,11,51116,51116,11,51172,51172,11,51228,51228,11,51284,51284,11,51340,51340,11,51396,51396,11,51452,51452,11,51508,51508,11,51564,51564,11,51620,51620,11,51676,51676,11,51732,51732,11,51788,51788,11,51844,51844,11,51900,51900,11,51956,51956,11,52012,52012,11,52068,52068,11,52124,52124,11,52180,52180,11,52236,52236,11,52292,52292,11,52348,52348,11,52404,52404,11,52460,52460,11,52516,52516,11,52572,52572,11,52628,52628,11,52684,52684,11,52740,52740,11,52796,52796,11,52852,52852,11,52908,52908,11,52964,52964,11,53020,53020,11,53076,53076,11,53132,53132,11,53188,53188,11,53244,53244,11,53300,53300,11,53356,53356,11,53412,53412,11,53468,53468,11,53524,53524,11,53580,53580,11,53636,53636,11,53692,53692,11,53748,53748,11,53804,53804,11,53860,53860,11,53916,53916,11,53972,53972,11,54028,54028,11,54084,54084,11,54140,54140,11,54196,54196,11,54252,54252,11,54308,54308,11,54364,54364,11,54420,54420,11,54476,54476,11,54532,54532,11,54588,54588,11,54644,54644,11,54700,54700,11,54756,54756,11,54812,54812,11,54868,54868,11,54924,54924,11,54980,54980,11,55036,55036,11,55092,55092,11,55148,55148,11,55216,55238,9,65056,65071,5,65529,65531,4,68097,68099,5,68159,68159,5,69446,69456,5,69688,69702,5,69808,69810,7,69815,69816,7,69821,69821,1,69888,69890,5,69932,69932,7,69957,69958,7,70016,70017,5,70067,70069,7,70079,70080,7,70089,70092,5,70095,70095,5,70191,70193,5,70196,70196,5,70198,70199,5,70367,70367,5,70371,70378,5,70402,70403,7,70462,70462,5,70464,70464,5,70471,70472,7,70487,70487,5,70502,70508,5,70709,70711,7,70720,70721,7,70725,70725,7,70750,70750,5,70833,70834,7,70841,70841,7,70843,70844,7,70846,70846,7,70849,70849,7,71087,71087,5,71090,71093,5,71100,71101,5,71103,71104,5,71216,71218,7,71227,71228,7,71230,71230,7,71339,71339,5,71341,71341,5,71344,71349,5,71351,71351,5,71456,71457,7,71462,71462,7,71724,71726,7,71736,71736,7,71984,71984,5,71991,71992,7,71997,71997,7,71999,71999,1,72001,72001,1,72003,72003,5,72148,72151,5,72156,72159,7,72164,72164,7,72243,72248,5,72250,72250,1,72263,72263,5,72279,72280,7,72324,72329,1,72343,72343,7,72751,72751,7,72760,72765,5,72767,72767,5,72873,72873,7,72881,72881,7,72884,72884,7,73009,73014,5,73020,73021,5,73030,73030,1,73098,73102,7,73107,73108,7,73110,73110,7,73459,73460,5,78896,78904,4,92976,92982,5,94033,94087,7,94180,94180,5,113821,113822,5,119141,119141,5,119143,119145,5,119150,119154,5,119163,119170,5,119210,119213,5,121344,121398,5,121461,121461,5,121499,121503,5,122880,122886,5,122907,122913,5,122918,122922,5,123628,123631,5,125252,125258,5,126980,126980,14,127183,127183,14,127245,127247,14,127340,127343,14,127358,127359,14,127377,127386,14,127462,127487,6,127491,127503,14,127535,127535,14,127548,127551,14,127568,127569,14,127744,127777,14,127780,127891,14,127894,127895,14,127897,127899,14,127902,127984,14,127987,127989,14,127991,127994,14,128000,128253,14,128255,128317,14,128329,128334,14,128336,128359,14,128367,128368,14,128371,128377,14,128379,128390,14,128392,128393,14,128398,128399,14,128401,128404,14,128407,128419,14,128421,128421,14,128424,128424,14,128433,128434,14,128444,128444,14,128450,128452,14,128465,128467,14,128476,128478,14,128481,128481,14,128483,128483,14,128488,128488,14,128495,128495,14,128499,128499,14,128506,128591,14,128710,128714,14,128721,128722,14,128725,128725,14,128728,128735,14,128742,128744,14,128746,128746,14,128749,128751,14,128753,128754,14,128756,128758,14,128761,128761,14,128763,128764,14,128884,128895,14,128992,129003,14,129036,129039,14,129114,129119,14,129198,129279,14,129293,129295,14,129305,129310,14,129312,129319,14,129328,129328,14,129331,129338,14,129343,129343,14,129351,129355,14,129357,129359,14,129375,129387,14,129393,129393,14,129395,129398,14,129401,129401,14,129403,129403,14,129408,129412,14,129426,129431,14,129443,129444,14,129451,129453,14,129456,129465,14,129472,129472,14,129475,129482,14,129484,129484,14,129488,129510,14,129536,129647,14,129652,129652,14,129656,129658,14,129664,129666,14,129671,129679,14,129686,129704,14,129712,129718,14,129728,129730,14,129744,129750,14,917504,917504,4,917506,917535,4,917632,917759,4,918000,921599,4,0,9,4,11,12,4,14,31,4,169,169,14,174,174,14,1155,1159,5,1425,1469,5,1473,1474,5,1479,1479,5,1552,1562,5,1611,1631,5,1750,1756,5,1759,1764,5,1770,1773,5,1809,1809,5,1958,1968,5,2045,2045,5,2075,2083,5,2089,2093,5,2259,2273,5,2275,2306,5,2362,2362,5,2364,2364,5,2369,2376,5,2381,2381,5,2385,2391,5,2433,2433,5,2492,2492,5,2495,2496,7,2503,2504,7,2509,2509,5,2530,2531,5,2561,2562,5,2620,2620,5,2625,2626,5,2635,2637,5,2672,2673,5,2689,2690,5,2748,2748,5,2753,2757,5,2761,2761,7,2765,2765,5,2810,2815,5,2818,2819,7,2878,2878,5,2880,2880,7,2887,2888,7,2893,2893,5,2903,2903,5,2946,2946,5,3007,3007,7,3009,3010,7,3018,3020,7,3031,3031,5,3073,3075,7,3134,3136,5,3142,3144,5,3157,3158,5,3201,3201,5,3260,3260,5,3263,3263,5,3266,3266,5,3270,3270,5,3274,3275,7,3285,3286,5,3328,3329,5,3387,3388,5,3391,3392,7,3398,3400,7,3405,3405,5,3415,3415,5,3457,3457,5,3530,3530,5,3536,3537,7,3542,3542,5,3551,3551,5,3633,3633,5,3636,3642,5,3761,3761,5,3764,3772,5,3864,3865,5,3895,3895,5,3902,3903,7,3967,3967,7,3974,3975,5,3993,4028,5,4141,4144,5,4146,4151,5,4155,4156,7,4182,4183,7,4190,4192,5,4226,4226,5,4229,4230,5,4253,4253,5,4448,4519,9,4957,4959,5,5938,5940,5,6002,6003,5,6070,6070,7,6078,6085,7,6087,6088,7,6109,6109,5,6158,6158,4,6313,6313,5,6435,6438,7,6441,6443,7,6450,6450,5,6457,6459,5,6681,6682,7,6741,6741,7,6743,6743,7,6752,6752,5,6757,6764,5,6771,6780,5,6832,6845,5,6847,6848,5,6916,6916,7,6965,6965,5,6971,6971,7,6973,6977,7,6979,6980,7,7040,7041,5,7073,7073,7,7078,7079,7,7082,7082,7,7142,7142,5,7144,7145,5,7149,7149,5,7151,7153,5,7204,7211,7,7220,7221,7,7376,7378,5,7393,7393,7,7405,7405,5,7415,7415,7,7616,7673,5,8203,8203,4,8205,8205,13,8232,8232,4,8234,8238,4,8265,8265,14,8293,8293,4,8400,8412,5,8417,8417,5,8421,8432,5,8505,8505,14,8617,8618,14,9000,9000,14,9167,9167,14,9208,9210,14,9642,9643,14,9664,9664,14,9728,9732,14,9735,9741,14,9743,9744,14,9746,9746,14,9750,9751,14,9753,9756,14,9758,9759,14,9761,9761,14,9764,9765,14,9767,9769,14,9771,9773,14,9776,9783,14,9787,9791,14,9793,9793,14,9795,9799,14,9812,9822,14,9824,9824,14,9827,9827,14,9829,9830,14,9832,9832,14,9851,9851,14,9854,9854,14,9856,9861,14,9874,9876,14,9878,9879,14,9881,9881,14,9883,9884,14,9888,9889,14,9895,9895,14,9898,9899,14,9904,9905,14,9917,9918,14,9924,9925,14,9928,9928,14,9934,9935,14,9937,9937,14,9939,9940,14,9961,9962,14,9968,9973,14,9975,9978,14,9981,9981,14,9986,9986,14,9989,9989,14,9998,9998,14,10000,10001,14,10004,10004,14,10013,10013,14,10024,10024,14,10052,10052,14,10060,10060,14,10067,10069,14,10083,10084,14,10133,10135,14,10160,10160,14,10548,10549,14,11035,11036,14,11093,11093,14,11647,11647,5,12330,12333,5,12336,12336,14,12441,12442,5,12953,12953,14,42608,42610,5,42654,42655,5,43010,43010,5,43019,43019,5,43045,43046,5,43052,43052,5,43188,43203,7,43232,43249,5,43302,43309,5,43346,43347,7,43392,43394,5,43443,43443,5,43446,43449,5,43452,43453,5,43493,43493,5,43567,43568,7,43571,43572,7,43587,43587,5,43597,43597,7,43696,43696,5,43703,43704,5,43713,43713,5,43756,43757,5,43765,43765,7,44003,44004,7,44006,44007,7,44009,44010,7,44013,44013,5,44033,44059,12,44061,44087,12,44089,44115,12,44117,44143,12,44145,44171,12,44173,44199,12,44201,44227,12,44229,44255,12,44257,44283,12,44285,44311,12,44313,44339,12,44341,44367,12,44369,44395,12,44397,44423,12,44425,44451,12,44453,44479,12,44481,44507,12,44509,44535,12,44537,44563,12,44565,44591,12,44593,44619,12,44621,44647,12,44649,44675,12,44677,44703,12,44705,44731,12,44733,44759,12,44761,44787,12,44789,44815,12,44817,44843,12,44845,44871,12,44873,44899,12,44901,44927,12,44929,44955,12,44957,44983,12,44985,45011,12,45013,45039,12,45041,45067,12,45069,45095,12,45097,45123,12,45125,45151,12,45153,45179,12,45181,45207,12,45209,45235,12,45237,45263,12,45265,45291,12,45293,45319,12,45321,45347,12,45349,45375,12,45377,45403,12,45405,45431,12,45433,45459,12,45461,45487,12,45489,45515,12,45517,45543,12,45545,45571,12,45573,45599,12,45601,45627,12,45629,45655,12,45657,45683,12,45685,45711,12,45713,45739,12,45741,45767,12,45769,45795,12,45797,45823,12,45825,45851,12,45853,45879,12,45881,45907,12,45909,45935,12,45937,45963,12,45965,45991,12,45993,46019,12,46021,46047,12,46049,46075,12,46077,46103,12,46105,46131,12,46133,46159,12,46161,46187,12,46189,46215,12,46217,46243,12,46245,46271,12,46273,46299,12,46301,46327,12,46329,46355,12,46357,46383,12,46385,46411,12,46413,46439,12,46441,46467,12,46469,46495,12,46497,46523,12,46525,46551,12,46553,46579,12,46581,46607,12,46609,46635,12,46637,46663,12,46665,46691,12,46693,46719,12,46721,46747,12,46749,46775,12,46777,46803,12,46805,46831,12,46833,46859,12,46861,46887,12,46889,46915,12,46917,46943,12,46945,46971,12,46973,46999,12,47001,47027,12,47029,47055,12,47057,47083,12,47085,47111,12,47113,47139,12,47141,47167,12,47169,47195,12,47197,47223,12,47225,47251,12,47253,47279,12,47281,47307,12,47309,47335,12,47337,47363,12,47365,47391,12,47393,47419,12,47421,47447,12,47449,47475,12,47477,47503,12,47505,47531,12,47533,47559,12,47561,47587,12,47589,47615,12,47617,47643,12,47645,47671,12,47673,47699,12,47701,47727,12,47729,47755,12,47757,47783,12,47785,47811,12,47813,47839,12,47841,47867,12,47869,47895,12,47897,47923,12,47925,47951,12,47953,47979,12,47981,48007,12,48009,48035,12,48037,48063,12,48065,48091,12,48093,48119,12,48121,48147,12,48149,48175,12,48177,48203,12,48205,48231,12,48233,48259,12,48261,48287,12,48289,48315,12,48317,48343,12,48345,48371,12,48373,48399,12,48401,48427,12,48429,48455,12,48457,48483,12,48485,48511,12,48513,48539,12,48541,48567,12,48569,48595,12,48597,48623,12,48625,48651,12,48653,48679,12,48681,48707,12,48709,48735,12,48737,48763,12,48765,48791,12,48793,48819,12,48821,48847,12,48849,48875,12,48877,48903,12,48905,48931,12,48933,48959,12,48961,48987,12,48989,49015,12,49017,49043,12,49045,49071,12,49073,49099,12,49101,49127,12,49129,49155,12,49157,49183,12,49185,49211,12,49213,49239,12,49241,49267,12,49269,49295,12,49297,49323,12,49325,49351,12,49353,49379,12,49381,49407,12,49409,49435,12,49437,49463,12,49465,49491,12,49493,49519,12,49521,49547,12,49549,49575,12,49577,49603,12,49605,49631,12,49633,49659,12,49661,49687,12,49689,49715,12,49717,49743,12,49745,49771,12,49773,49799,12,49801,49827,12,49829,49855,12,49857,49883,12,49885,49911,12,49913,49939,12,49941,49967,12,49969,49995,12,49997,50023,12,50025,50051,12,50053,50079,12,50081,50107,12,50109,50135,12,50137,50163,12,50165,50191,12,50193,50219,12,50221,50247,12,50249,50275,12,50277,50303,12,50305,50331,12,50333,50359,12,50361,50387,12,50389,50415,12,50417,50443,12,50445,50471,12,50473,50499,12,50501,50527,12,50529,50555,12,50557,50583,12,50585,50611,12,50613,50639,12,50641,50667,12,50669,50695,12,50697,50723,12,50725,50751,12,50753,50779,12,50781,50807,12,50809,50835,12,50837,50863,12,50865,50891,12,50893,50919,12,50921,50947,12,50949,50975,12,50977,51003,12,51005,51031,12,51033,51059,12,51061,51087,12,51089,51115,12,51117,51143,12,51145,51171,12,51173,51199,12,51201,51227,12,51229,51255,12,51257,51283,12,51285,51311,12,51313,51339,12,51341,51367,12,51369,51395,12,51397,51423,12,51425,51451,12,51453,51479,12,51481,51507,12,51509,51535,12,51537,51563,12,51565,51591,12,51593,51619,12,51621,51647,12,51649,51675,12,51677,51703,12,51705,51731,12,51733,51759,12,51761,51787,12,51789,51815,12,51817,51843,12,51845,51871,12,51873,51899,12,51901,51927,12,51929,51955,12,51957,51983,12,51985,52011,12,52013,52039,12,52041,52067,12,52069,52095,12,52097,52123,12,52125,52151,12,52153,52179,12,52181,52207,12,52209,52235,12,52237,52263,12,52265,52291,12,52293,52319,12,52321,52347,12,52349,52375,12,52377,52403,12,52405,52431,12,52433,52459,12,52461,52487,12,52489,52515,12,52517,52543,12,52545,52571,12,52573,52599,12,52601,52627,12,52629,52655,12,52657,52683,12,52685,52711,12,52713,52739,12,52741,52767,12,52769,52795,12,52797,52823,12,52825,52851,12,52853,52879,12,52881,52907,12,52909,52935,12,52937,52963,12,52965,52991,12,52993,53019,12,53021,53047,12,53049,53075,12,53077,53103,12,53105,53131,12,53133,53159,12,53161,53187,12,53189,53215,12,53217,53243,12,53245,53271,12,53273,53299,12,53301,53327,12,53329,53355,12,53357,53383,12,53385,53411,12,53413,53439,12,53441,53467,12,53469,53495,12,53497,53523,12,53525,53551,12,53553,53579,12,53581,53607,12,53609,53635,12,53637,53663,12,53665,53691,12,53693,53719,12,53721,53747,12,53749,53775,12,53777,53803,12,53805,53831,12,53833,53859,12,53861,53887,12,53889,53915,12,53917,53943,12,53945,53971,12,53973,53999,12,54001,54027,12,54029,54055,12,54057,54083,12,54085,54111,12,54113,54139,12,54141,54167,12,54169,54195,12,54197,54223,12,54225,54251,12,54253,54279,12,54281,54307,12,54309,54335,12,54337,54363,12,54365,54391,12,54393,54419,12,54421,54447,12,54449,54475,12,54477,54503,12,54505,54531,12,54533,54559,12,54561,54587,12,54589,54615,12,54617,54643,12,54645,54671,12,54673,54699,12,54701,54727,12,54729,54755,12,54757,54783,12,54785,54811,12,54813,54839,12,54841,54867,12,54869,54895,12,54897,54923,12,54925,54951,12,54953,54979,12,54981,55007,12,55009,55035,12,55037,55063,12,55065,55091,12,55093,55119,12,55121,55147,12,55149,55175,12,55177,55203,12,55243,55291,10,65024,65039,5,65279,65279,4,65520,65528,4,66045,66045,5,66422,66426,5,68101,68102,5,68152,68154,5,68325,68326,5,69291,69292,5,69632,69632,7,69634,69634,7,69759,69761,5]' + ); + } + static getInstance() { + return F._INSTANCE || (F._INSTANCE = new F()), F._INSTANCE; + } + getGraphemeBreakType(e) { + if (e < 32) return 10 === e ? 3 : 13 === e ? 2 : 4; + if (e < 127) return 0; + const t = this._data, + n = t.length / 3; + let r = 1; + for (; r <= n; ) + if (e < t[3 * r]) r *= 2; + else { + if (!(e > t[3 * r + 1])) return t[3 * r + 2]; + r = 2 * r + 1; + } + return 0; + } + } + function j(e, t) { + return ((t << 5) - t + e) | 0; + } + function U(e, t) { + t = j(149417, t); + for (let n = 0, r = e.length; n < r; n++) t = j(e.charCodeAt(n), t); + return t; + } + function V(e, t, n = 32) { + const r = n - t; + return ((e << t) | ((~((1 << r) - 1) & e) >>> r)) >>> 0; + } + function $(e, t = 0, n = e.byteLength, r = 0) { + for (let i = 0; i < n; i++) e[t + i] = r; + } + function W(e, t = 32) { + return (function (e, t, n = '0') { + for (; e.length < t; ) e = n + e; + return e; + })((e >>> 0).toString(16), t / 4); + } + F._INSTANCE = null; + class q { + constructor() { + (this._h0 = 1732584193), + (this._h1 = 4023233417), + (this._h2 = 2562383102), + (this._h3 = 271733878), + (this._h4 = 3285377520), + (this._buff = new Uint8Array(67)), + (this._buffDV = new DataView(this._buff.buffer)), + (this._buffLen = 0), + (this._totalLen = 0), + (this._leftoverHighSurrogate = 0), + (this._finished = !1); + } + update(e) { + const t = e.length; + if (0 === t) return; + const n = this._buff; + let r, + i, + o = this._buffLen, + s = this._leftoverHighSurrogate; + for ( + 0 !== s + ? ((r = s), (i = -1), (s = 0)) + : ((r = e.charCodeAt(0)), (i = 0)); + ; + + ) { + let a = r; + if (R(r)) { + if (!(i + 1 < t)) { + s = r; + break; + } + { + const t = e.charCodeAt(i + 1); + D(t) + ? (i++, (a = t - 56320 + ((r - 55296) << 10) + 65536)) + : (a = 65533); + } + } else D(r) && (a = 65533); + if (((o = this._push(n, o, a)), i++, !(i < t))) break; + r = e.charCodeAt(i); + } + (this._buffLen = o), (this._leftoverHighSurrogate = s); + } + _push(e, t, n) { + return ( + n < 128 + ? (e[t++] = n) + : n < 2048 + ? ((e[t++] = 192 | ((1984 & n) >>> 6)), + (e[t++] = 128 | ((63 & n) >>> 0))) + : n < 65536 + ? ((e[t++] = 224 | ((61440 & n) >>> 12)), + (e[t++] = 128 | ((4032 & n) >>> 6)), + (e[t++] = 128 | ((63 & n) >>> 0))) + : ((e[t++] = 240 | ((1835008 & n) >>> 18)), + (e[t++] = 128 | ((258048 & n) >>> 12)), + (e[t++] = 128 | ((4032 & n) >>> 6)), + (e[t++] = 128 | ((63 & n) >>> 0))), + t >= 64 && + (this._step(), + (t -= 64), + (this._totalLen += 64), + (e[0] = e[64]), + (e[1] = e[65]), + (e[2] = e[66])), + t + ); + } + digest() { + return ( + this._finished || + ((this._finished = !0), + this._leftoverHighSurrogate && + ((this._leftoverHighSurrogate = 0), + (this._buffLen = this._push(this._buff, this._buffLen, 65533))), + (this._totalLen += this._buffLen), + this._wrapUp()), + W(this._h0) + W(this._h1) + W(this._h2) + W(this._h3) + W(this._h4) + ); + } + _wrapUp() { + (this._buff[this._buffLen++] = 128), + $(this._buff, this._buffLen), + this._buffLen > 56 && (this._step(), $(this._buff)); + const e = 8 * this._totalLen; + this._buffDV.setUint32(56, Math.floor(e / 4294967296), !1), + this._buffDV.setUint32(60, e % 4294967296, !1), + this._step(); + } + _step() { + const e = q._bigBlock32, + t = this._buffDV; + for (let n = 0; n < 64; n += 4) e.setUint32(n, t.getUint32(n, !1), !1); + for (let t = 64; t < 320; t += 4) + e.setUint32( + t, + V( + e.getUint32(t - 12, !1) ^ + e.getUint32(t - 32, !1) ^ + e.getUint32(t - 56, !1) ^ + e.getUint32(t - 64, !1), + 1 + ), + !1 + ); + let n, + r, + i, + o = this._h0, + s = this._h1, + a = this._h2, + u = this._h3, + l = this._h4; + for (let t = 0; t < 80; t++) + t < 20 + ? ((n = (s & a) | (~s & u)), (r = 1518500249)) + : t < 40 + ? ((n = s ^ a ^ u), (r = 1859775393)) + : t < 60 + ? ((n = (s & a) | (s & u) | (a & u)), (r = 2400959708)) + : ((n = s ^ a ^ u), (r = 3395469782)), + (i = (V(o, 5) + n + l + r + e.getUint32(4 * t, !1)) & 4294967295), + (l = u), + (u = a), + (a = V(s, 30)), + (s = o), + (o = i); + (this._h0 = (this._h0 + o) & 4294967295), + (this._h1 = (this._h1 + s) & 4294967295), + (this._h2 = (this._h2 + a) & 4294967295), + (this._h3 = (this._h3 + u) & 4294967295), + (this._h4 = (this._h4 + l) & 4294967295); + } + } + q._bigBlock32 = new DataView(new ArrayBuffer(320)); + class K { + constructor(e) { + this.source = e; + } + getElements() { + const e = this.source, + t = new Int32Array(e.length); + for (let n = 0, r = e.length; n < r; n++) t[n] = e.charCodeAt(n); + return t; + } + } + function B(e, t, n) { + return new z(new K(e), new K(t)).ComputeDiff(n).changes; + } + class H { + static Assert(e, t) { + if (!e) throw new Error(t); + } + } + class Y { + static Copy(e, t, n, r, i) { + for (let o = 0; o < i; o++) n[r + o] = e[t + o]; + } + static Copy2(e, t, n, r, i) { + for (let o = 0; o < i; o++) n[r + o] = e[t + o]; + } + } + class G { + constructor() { + (this.m_changes = []), + (this.m_originalStart = 1073741824), + (this.m_modifiedStart = 1073741824), + (this.m_originalCount = 0), + (this.m_modifiedCount = 0); + } + MarkNextChange() { + (this.m_originalCount > 0 || this.m_modifiedCount > 0) && + this.m_changes.push( + new P( + this.m_originalStart, + this.m_originalCount, + this.m_modifiedStart, + this.m_modifiedCount + ) + ), + (this.m_originalCount = 0), + (this.m_modifiedCount = 0), + (this.m_originalStart = 1073741824), + (this.m_modifiedStart = 1073741824); + } + AddOriginalElement(e, t) { + (this.m_originalStart = Math.min(this.m_originalStart, e)), + (this.m_modifiedStart = Math.min(this.m_modifiedStart, t)), + this.m_originalCount++; + } + AddModifiedElement(e, t) { + (this.m_originalStart = Math.min(this.m_originalStart, e)), + (this.m_modifiedStart = Math.min(this.m_modifiedStart, t)), + this.m_modifiedCount++; + } + getChanges() { + return ( + (this.m_originalCount > 0 || this.m_modifiedCount > 0) && + this.MarkNextChange(), + this.m_changes + ); + } + getReverseChanges() { + return ( + (this.m_originalCount > 0 || this.m_modifiedCount > 0) && + this.MarkNextChange(), + this.m_changes.reverse(), + this.m_changes + ); + } + } + class z { + constructor(e, t, n = null) { + this.ContinueProcessingPredicate = n; + const [r, i, o] = z._getElements(e), + [s, a, u] = z._getElements(t); + (this._hasStrings = o && u), + (this._originalStringElements = r), + (this._originalElementsOrHash = i), + (this._modifiedStringElements = s), + (this._modifiedElementsOrHash = a), + (this.m_forwardHistory = []), + (this.m_reverseHistory = []); + } + static _isStringArray(e) { + return e.length > 0 && 'string' == typeof e[0]; + } + static _getElements(e) { + const t = e.getElements(); + if (z._isStringArray(t)) { + const e = new Int32Array(t.length); + for (let n = 0, r = t.length; n < r; n++) e[n] = U(t[n], 0); + return [t, e, !0]; + } + return t instanceof Int32Array + ? [[], t, !1] + : [[], new Int32Array(t), !1]; + } + ElementsAreEqual(e, t) { + return ( + this._originalElementsOrHash[e] === this._modifiedElementsOrHash[t] && + (!this._hasStrings || + this._originalStringElements[e] === this._modifiedStringElements[t]) + ); + } + OriginalElementsAreEqual(e, t) { + return ( + this._originalElementsOrHash[e] === this._originalElementsOrHash[t] && + (!this._hasStrings || + this._originalStringElements[e] === this._originalStringElements[t]) + ); + } + ModifiedElementsAreEqual(e, t) { + return ( + this._modifiedElementsOrHash[e] === this._modifiedElementsOrHash[t] && + (!this._hasStrings || + this._modifiedStringElements[e] === this._modifiedStringElements[t]) + ); + } + ComputeDiff(e) { + return this._ComputeDiff( + 0, + this._originalElementsOrHash.length - 1, + 0, + this._modifiedElementsOrHash.length - 1, + e + ); + } + _ComputeDiff(e, t, n, r, i) { + const o = [!1]; + let s = this.ComputeDiffRecursive(e, t, n, r, o); + return ( + i && (s = this.PrettifyChanges(s)), { quitEarly: o[0], changes: s } + ); + } + ComputeDiffRecursive(e, t, n, r, i) { + for (i[0] = !1; e <= t && n <= r && this.ElementsAreEqual(e, n); ) + e++, n++; + for (; t >= e && r >= n && this.ElementsAreEqual(t, r); ) t--, r--; + if (e > t || n > r) { + let i; + return ( + n <= r + ? (H.Assert( + e === t + 1, + 'originalStart should only be one more than originalEnd' + ), + (i = [new P(e, 0, n, r - n + 1)])) + : e <= t + ? (H.Assert( + n === r + 1, + 'modifiedStart should only be one more than modifiedEnd' + ), + (i = [new P(e, t - e + 1, n, 0)])) + : (H.Assert( + e === t + 1, + 'originalStart should only be one more than originalEnd' + ), + H.Assert( + n === r + 1, + 'modifiedStart should only be one more than modifiedEnd' + ), + (i = [])), + i + ); + } + const o = [0], + s = [0], + a = this.ComputeRecursionPoint(e, t, n, r, o, s, i), + u = o[0], + l = s[0]; + if (null !== a) return a; + if (!i[0]) { + const o = this.ComputeDiffRecursive(e, u, n, l, i); + let s = []; + return ( + (s = i[0] + ? [new P(u + 1, t - (u + 1) + 1, l + 1, r - (l + 1) + 1)] + : this.ComputeDiffRecursive(u + 1, t, l + 1, r, i)), + this.ConcatenateChanges(o, s) + ); + } + return [new P(e, t - e + 1, n, r - n + 1)]; + } + WALKTRACE(e, t, n, r, i, o, s, a, u, l, c, h, f, d, m, g, p, v) { + let y = null, + b = null, + C = new G(), + _ = t, + S = n, + E = f[0] - g[0] - r, + A = -1073741824, + x = this.m_forwardHistory.length - 1; + do { + const t = E + e; + t === _ || (t < S && u[t - 1] < u[t + 1]) + ? ((d = (c = u[t + 1]) - E - r), + c < A && C.MarkNextChange(), + (A = c), + C.AddModifiedElement(c + 1, d), + (E = t + 1 - e)) + : ((d = (c = u[t - 1] + 1) - E - r), + c < A && C.MarkNextChange(), + (A = c - 1), + C.AddOriginalElement(c, d + 1), + (E = t - 1 - e)), + x >= 0 && + ((e = (u = this.m_forwardHistory[x])[0]), + (_ = 1), + (S = u.length - 1)); + } while (--x >= -1); + if (((y = C.getReverseChanges()), v[0])) { + let e = f[0] + 1, + t = g[0] + 1; + if (null !== y && y.length > 0) { + const n = y[y.length - 1]; + (e = Math.max(e, n.getOriginalEnd())), + (t = Math.max(t, n.getModifiedEnd())); + } + b = [new P(e, h - e + 1, t, m - t + 1)]; + } else { + (C = new G()), + (_ = o), + (S = s), + (E = f[0] - g[0] - a), + (A = 1073741824), + (x = p + ? this.m_reverseHistory.length - 1 + : this.m_reverseHistory.length - 2); + do { + const e = E + i; + e === _ || (e < S && l[e - 1] >= l[e + 1]) + ? ((d = (c = l[e + 1] - 1) - E - a), + c > A && C.MarkNextChange(), + (A = c + 1), + C.AddOriginalElement(c + 1, d + 1), + (E = e + 1 - i)) + : ((d = (c = l[e - 1]) - E - a), + c > A && C.MarkNextChange(), + (A = c), + C.AddModifiedElement(c + 1, d + 1), + (E = e - 1 - i)), + x >= 0 && + ((i = (l = this.m_reverseHistory[x])[0]), + (_ = 1), + (S = l.length - 1)); + } while (--x >= -1); + b = C.getChanges(); + } + return this.ConcatenateChanges(y, b); + } + ComputeRecursionPoint(e, t, n, r, i, o, s) { + let a = 0, + u = 0, + l = 0, + c = 0, + h = 0, + f = 0; + e--, + n--, + (i[0] = 0), + (o[0] = 0), + (this.m_forwardHistory = []), + (this.m_reverseHistory = []); + const d = t - e + (r - n), + m = d + 1, + g = new Int32Array(m), + p = new Int32Array(m), + v = r - n, + y = t - e, + b = e - n, + C = t - r, + _ = (y - v) % 2 == 0; + (g[v] = e), (p[y] = t), (s[0] = !1); + for (let S = 1; S <= d / 2 + 1; S++) { + let d = 0, + E = 0; + (l = this.ClipDiagonalBound(v - S, S, v, m)), + (c = this.ClipDiagonalBound(v + S, S, v, m)); + for (let e = l; e <= c; e += 2) { + (a = + e === l || (e < c && g[e - 1] < g[e + 1]) + ? g[e + 1] + : g[e - 1] + 1), + (u = a - (e - v) - b); + const n = a; + for (; a < t && u < r && this.ElementsAreEqual(a + 1, u + 1); ) + a++, u++; + if ( + ((g[e] = a), + a + u > d + E && ((d = a), (E = u)), + !_ && Math.abs(e - y) <= S - 1 && a >= p[e]) + ) + return ( + (i[0] = a), + (o[0] = u), + n <= p[e] && S <= 1448 + ? this.WALKTRACE( + v, + l, + c, + b, + y, + h, + f, + C, + g, + p, + a, + t, + i, + u, + r, + o, + _, + s + ) + : null + ); + } + const A = (d - e + (E - n) - S) / 2; + if ( + null !== this.ContinueProcessingPredicate && + !this.ContinueProcessingPredicate(d, A) + ) + return ( + (s[0] = !0), + (i[0] = d), + (o[0] = E), + A > 0 && S <= 1448 + ? this.WALKTRACE( + v, + l, + c, + b, + y, + h, + f, + C, + g, + p, + a, + t, + i, + u, + r, + o, + _, + s + ) + : (e++, n++, [new P(e, t - e + 1, n, r - n + 1)]) + ); + (h = this.ClipDiagonalBound(y - S, S, y, m)), + (f = this.ClipDiagonalBound(y + S, S, y, m)); + for (let d = h; d <= f; d += 2) { + (a = + d === h || (d < f && p[d - 1] >= p[d + 1]) + ? p[d + 1] - 1 + : p[d - 1]), + (u = a - (d - y) - C); + const m = a; + for (; a > e && u > n && this.ElementsAreEqual(a, u); ) a--, u--; + if (((p[d] = a), _ && Math.abs(d - v) <= S && a <= g[d])) + return ( + (i[0] = a), + (o[0] = u), + m >= g[d] && S <= 1448 + ? this.WALKTRACE( + v, + l, + c, + b, + y, + h, + f, + C, + g, + p, + a, + t, + i, + u, + r, + o, + _, + s + ) + : null + ); + } + if (S <= 1447) { + let e = new Int32Array(c - l + 2); + (e[0] = v - l + 1), + Y.Copy2(g, l, e, 1, c - l + 1), + this.m_forwardHistory.push(e), + (e = new Int32Array(f - h + 2)), + (e[0] = y - h + 1), + Y.Copy2(p, h, e, 1, f - h + 1), + this.m_reverseHistory.push(e); + } + } + return this.WALKTRACE( + v, + l, + c, + b, + y, + h, + f, + C, + g, + p, + a, + t, + i, + u, + r, + o, + _, + s + ); + } + PrettifyChanges(e) { + for (let t = 0; t < e.length; t++) { + const n = e[t], + r = + t < e.length - 1 + ? e[t + 1].originalStart + : this._originalElementsOrHash.length, + i = + t < e.length - 1 + ? e[t + 1].modifiedStart + : this._modifiedElementsOrHash.length, + o = n.originalLength > 0, + s = n.modifiedLength > 0; + for ( + ; + n.originalStart + n.originalLength < r && + n.modifiedStart + n.modifiedLength < i && + (!o || + this.OriginalElementsAreEqual( + n.originalStart, + n.originalStart + n.originalLength + )) && + (!s || + this.ModifiedElementsAreEqual( + n.modifiedStart, + n.modifiedStart + n.modifiedLength + )); + + ) + n.originalStart++, n.modifiedStart++; + let a = [null]; + t < e.length - 1 && + this.ChangesOverlap(e[t], e[t + 1], a) && + ((e[t] = a[0]), e.splice(t + 1, 1), t--); + } + for (let t = e.length - 1; t >= 0; t--) { + const n = e[t]; + let r = 0, + i = 0; + if (t > 0) { + const n = e[t - 1]; + n.originalLength > 0 && (r = n.originalStart + n.originalLength), + n.modifiedLength > 0 && (i = n.modifiedStart + n.modifiedLength); + } + const o = n.originalLength > 0, + s = n.modifiedLength > 0; + let a = 0, + u = this._boundaryScore( + n.originalStart, + n.originalLength, + n.modifiedStart, + n.modifiedLength + ); + for (let e = 1; ; e++) { + const t = n.originalStart - e, + l = n.modifiedStart - e; + if (t < r || l < i) break; + if (o && !this.OriginalElementsAreEqual(t, t + n.originalLength)) + break; + if (s && !this.ModifiedElementsAreEqual(l, l + n.modifiedLength)) + break; + const c = this._boundaryScore( + t, + n.originalLength, + l, + n.modifiedLength + ); + c > u && ((u = c), (a = e)); + } + (n.originalStart -= a), (n.modifiedStart -= a); + } + return e; + } + _OriginalIsBoundary(e) { + return ( + e <= 0 || + e >= this._originalElementsOrHash.length - 1 || + (this._hasStrings && /^\s*$/.test(this._originalStringElements[e])) + ); + } + _OriginalRegionIsBoundary(e, t) { + if (this._OriginalIsBoundary(e) || this._OriginalIsBoundary(e - 1)) + return !0; + if (t > 0) { + const n = e + t; + if (this._OriginalIsBoundary(n - 1) || this._OriginalIsBoundary(n)) + return !0; + } + return !1; + } + _ModifiedIsBoundary(e) { + return ( + e <= 0 || + e >= this._modifiedElementsOrHash.length - 1 || + (this._hasStrings && /^\s*$/.test(this._modifiedStringElements[e])) + ); + } + _ModifiedRegionIsBoundary(e, t) { + if (this._ModifiedIsBoundary(e) || this._ModifiedIsBoundary(e - 1)) + return !0; + if (t > 0) { + const n = e + t; + if (this._ModifiedIsBoundary(n - 1) || this._ModifiedIsBoundary(n)) + return !0; + } + return !1; + } + _boundaryScore(e, t, n, r) { + return ( + (this._OriginalRegionIsBoundary(e, t) ? 1 : 0) + + (this._ModifiedRegionIsBoundary(n, r) ? 1 : 0) + ); + } + ConcatenateChanges(e, t) { + let n = []; + if (0 === e.length || 0 === t.length) return t.length > 0 ? t : e; + if (this.ChangesOverlap(e[e.length - 1], t[0], n)) { + const r = new Array(e.length + t.length - 1); + return ( + Y.Copy(e, 0, r, 0, e.length - 1), + (r[e.length - 1] = n[0]), + Y.Copy(t, 1, r, e.length, t.length - 1), + r + ); + } + { + const n = new Array(e.length + t.length); + return ( + Y.Copy(e, 0, n, 0, e.length), Y.Copy(t, 0, n, e.length, t.length), n + ); + } + } + ChangesOverlap(e, t, n) { + if ( + (H.Assert( + e.originalStart <= t.originalStart, + 'Left change is not less than or equal to right change' + ), + H.Assert( + e.modifiedStart <= t.modifiedStart, + 'Left change is not less than or equal to right change' + ), + e.originalStart + e.originalLength >= t.originalStart || + e.modifiedStart + e.modifiedLength >= t.modifiedStart) + ) { + const r = e.originalStart; + let i = e.originalLength; + const o = e.modifiedStart; + let s = e.modifiedLength; + return ( + e.originalStart + e.originalLength >= t.originalStart && + (i = t.originalStart + t.originalLength - e.originalStart), + e.modifiedStart + e.modifiedLength >= t.modifiedStart && + (s = t.modifiedStart + t.modifiedLength - e.modifiedStart), + (n[0] = new P(r, i, o, s)), + !0 + ); + } + return (n[0] = null), !1; + } + ClipDiagonalBound(e, t, n, r) { + if (e >= 0 && e < r) return e; + const i = t % 2 == 0; + return e < 0 + ? i === (n % 2 == 0) + ? 0 + : 1 + : i === ((r - n - 1) % 2 == 0) + ? r - 1 + : r - 2; + } + } + const J = + 'undefined' == typeof process + ? { + cwd: () => '/', + env: Object.create(null), + get platform() { + return A ? 'win32' : x ? 'darwin' : 'linux'; + }, + nextTick: (e) => L(e), + } + : process, + Q = J.cwd, + Z = J.env, + X = J.platform, + ee = 46, + te = 47, + ne = 92, + re = 58; + class ie extends Error { + constructor(e, t, n) { + let r; + 'string' == typeof t && 0 === t.indexOf('not ') + ? ((r = 'must not be'), (t = t.replace(/^not /, ''))) + : (r = 'must be'); + const i = -1 !== e.indexOf('.') ? 'property' : 'argument'; + let o = `The "${e}" ${i} ${r} of type ${t}`; + (o += '. Received type ' + typeof n), + super(o), + (this.code = 'ERR_INVALID_ARG_TYPE'); + } + } + function oe(e, t) { + if ('string' != typeof e) throw new ie(t, 'string', e); + } + function se(e) { + return e === te || e === ne; + } + function ae(e) { + return e === te; + } + function ue(e) { + return (e >= 65 && e <= 90) || (e >= 97 && e <= 122); + } + function le(e, t, n, r) { + let i = '', + o = 0, + s = -1, + a = 0, + u = 0; + for (let l = 0; l <= e.length; ++l) { + if (l < e.length) u = e.charCodeAt(l); + else { + if (r(u)) break; + u = te; + } + if (r(u)) { + if (s === l - 1 || 1 === a); + else if (2 === a) { + if ( + i.length < 2 || + 2 !== o || + i.charCodeAt(i.length - 1) !== ee || + i.charCodeAt(i.length - 2) !== ee + ) { + if (i.length > 2) { + const e = i.lastIndexOf(n); + -1 === e + ? ((i = ''), (o = 0)) + : ((i = i.slice(0, e)), (o = i.length - 1 - i.lastIndexOf(n))), + (s = l), + (a = 0); + continue; + } + if (0 !== i.length) { + (i = ''), (o = 0), (s = l), (a = 0); + continue; + } + } + t && ((i += i.length > 0 ? `${n}..` : '..'), (o = 2)); + } else + i.length > 0 + ? (i += `${n}${e.slice(s + 1, l)}`) + : (i = e.slice(s + 1, l)), + (o = l - s - 1); + (s = l), (a = 0); + } else u === ee && -1 !== a ? ++a : (a = -1); + } + return i; + } + function ce(e, t) { + if (null === t || 'object' != typeof t) + throw new ie('pathObject', 'Object', t); + const n = t.dir || t.root, + r = t.base || `${t.name || ''}${t.ext || ''}`; + return n ? (n === t.root ? `${n}${r}` : `${n}${e}${r}`) : r; + } + const he = { + resolve(...e) { + let t = '', + n = '', + r = !1; + for (let i = e.length - 1; i >= -1; i--) { + let o; + if (i >= 0) { + if (((o = e[i]), oe(o, 'path'), 0 === o.length)) continue; + } else + 0 === t.length + ? (o = Q()) + : ((o = Z[`=${t}`] || Q()), + (void 0 === o || + (o.slice(0, 2).toLowerCase() !== t.toLowerCase() && + o.charCodeAt(2) === ne)) && + (o = `${t}\\`)); + const s = o.length; + let a = 0, + u = '', + l = !1; + const c = o.charCodeAt(0); + if (1 === s) se(c) && ((a = 1), (l = !0)); + else if (se(c)) + if (((l = !0), se(o.charCodeAt(1)))) { + let e = 2, + t = e; + for (; e < s && !se(o.charCodeAt(e)); ) e++; + if (e < s && e !== t) { + const n = o.slice(t, e); + for (t = e; e < s && se(o.charCodeAt(e)); ) e++; + if (e < s && e !== t) { + for (t = e; e < s && !se(o.charCodeAt(e)); ) e++; + (e !== s && e === t) || + ((u = `\\\\${n}\\${o.slice(t, e)}`), (a = e)); + } + } + } else a = 1; + else + ue(c) && + o.charCodeAt(1) === re && + ((u = o.slice(0, 2)), + (a = 2), + s > 2 && se(o.charCodeAt(2)) && ((l = !0), (a = 3))); + if (u.length > 0) + if (t.length > 0) { + if (u.toLowerCase() !== t.toLowerCase()) continue; + } else t = u; + if (r) { + if (t.length > 0) break; + } else if (((n = `${o.slice(a)}\\${n}`), (r = l), l && t.length > 0)) + break; + } + return (n = le(n, !r, '\\', se)), r ? `${t}\\${n}` : `${t}${n}` || '.'; + }, + normalize(e) { + oe(e, 'path'); + const t = e.length; + if (0 === t) return '.'; + let n, + r = 0, + i = !1; + const o = e.charCodeAt(0); + if (1 === t) return ae(o) ? '\\' : e; + if (se(o)) + if (((i = !0), se(e.charCodeAt(1)))) { + let i = 2, + o = i; + for (; i < t && !se(e.charCodeAt(i)); ) i++; + if (i < t && i !== o) { + const s = e.slice(o, i); + for (o = i; i < t && se(e.charCodeAt(i)); ) i++; + if (i < t && i !== o) { + for (o = i; i < t && !se(e.charCodeAt(i)); ) i++; + if (i === t) return `\\\\${s}\\${e.slice(o)}\\`; + i !== o && ((n = `\\\\${s}\\${e.slice(o, i)}`), (r = i)); + } + } + } else r = 1; + else + ue(o) && + e.charCodeAt(1) === re && + ((n = e.slice(0, 2)), + (r = 2), + t > 2 && se(e.charCodeAt(2)) && ((i = !0), (r = 3))); + let s = r < t ? le(e.slice(r), !i, '\\', se) : ''; + return ( + 0 !== s.length || i || (s = '.'), + s.length > 0 && se(e.charCodeAt(t - 1)) && (s += '\\'), + void 0 === n ? (i ? `\\${s}` : s) : i ? `${n}\\${s}` : `${n}${s}` + ); + }, + isAbsolute(e) { + oe(e, 'path'); + const t = e.length; + if (0 === t) return !1; + const n = e.charCodeAt(0); + return ( + se(n) || + (t > 2 && ue(n) && e.charCodeAt(1) === re && se(e.charCodeAt(2))) + ); + }, + join(...e) { + if (0 === e.length) return '.'; + let t, n; + for (let r = 0; r < e.length; ++r) { + const i = e[r]; + oe(i, 'path'), + i.length > 0 && (void 0 === t ? (t = n = i) : (t += `\\${i}`)); + } + if (void 0 === t) return '.'; + let r = !0, + i = 0; + if ('string' == typeof n && se(n.charCodeAt(0))) { + ++i; + const e = n.length; + e > 1 && + se(n.charCodeAt(1)) && + (++i, e > 2 && (se(n.charCodeAt(2)) ? ++i : (r = !1))); + } + if (r) { + for (; i < t.length && se(t.charCodeAt(i)); ) i++; + i >= 2 && (t = `\\${t.slice(i)}`); + } + return he.normalize(t); + }, + relative(e, t) { + if ((oe(e, 'from'), oe(t, 'to'), e === t)) return ''; + const n = he.resolve(e), + r = he.resolve(t); + if (n === r) return ''; + if ((e = n.toLowerCase()) === (t = r.toLowerCase())) return ''; + let i = 0; + for (; i < e.length && e.charCodeAt(i) === ne; ) i++; + let o = e.length; + for (; o - 1 > i && e.charCodeAt(o - 1) === ne; ) o--; + const s = o - i; + let a = 0; + for (; a < t.length && t.charCodeAt(a) === ne; ) a++; + let u = t.length; + for (; u - 1 > a && t.charCodeAt(u - 1) === ne; ) u--; + const l = u - a, + c = s < l ? s : l; + let h = -1, + f = 0; + for (; f < c; f++) { + const n = e.charCodeAt(i + f); + if (n !== t.charCodeAt(a + f)) break; + n === ne && (h = f); + } + if (f !== c) { + if (-1 === h) return r; + } else { + if (l > c) { + if (t.charCodeAt(a + f) === ne) return r.slice(a + f + 1); + if (2 === f) return r.slice(a + f); + } + s > c && (e.charCodeAt(i + f) === ne ? (h = f) : 2 === f && (h = 3)), + -1 === h && (h = 0); + } + let d = ''; + for (f = i + h + 1; f <= o; ++f) + (f !== o && e.charCodeAt(f) !== ne) || + (d += 0 === d.length ? '..' : '\\..'); + return ( + (a += h), + d.length > 0 + ? `${d}${r.slice(a, u)}` + : (r.charCodeAt(a) === ne && ++a, r.slice(a, u)) + ); + }, + toNamespacedPath(e) { + if ('string' != typeof e) return e; + if (0 === e.length) return ''; + const t = he.resolve(e); + if (t.length <= 2) return e; + if (t.charCodeAt(0) === ne) { + if (t.charCodeAt(1) === ne) { + const e = t.charCodeAt(2); + if (63 !== e && e !== ee) return `\\\\?\\UNC\\${t.slice(2)}`; + } + } else if ( + ue(t.charCodeAt(0)) && + t.charCodeAt(1) === re && + t.charCodeAt(2) === ne + ) + return `\\\\?\\${t}`; + return e; + }, + dirname(e) { + oe(e, 'path'); + const t = e.length; + if (0 === t) return '.'; + let n = -1, + r = 0; + const i = e.charCodeAt(0); + if (1 === t) return se(i) ? e : '.'; + if (se(i)) { + if (((n = r = 1), se(e.charCodeAt(1)))) { + let i = 2, + o = i; + for (; i < t && !se(e.charCodeAt(i)); ) i++; + if (i < t && i !== o) { + for (o = i; i < t && se(e.charCodeAt(i)); ) i++; + if (i < t && i !== o) { + for (o = i; i < t && !se(e.charCodeAt(i)); ) i++; + if (i === t) return e; + i !== o && (n = r = i + 1); + } + } + } + } else + ue(i) && + e.charCodeAt(1) === re && + ((n = t > 2 && se(e.charCodeAt(2)) ? 3 : 2), (r = n)); + let o = -1, + s = !0; + for (let n = t - 1; n >= r; --n) + if (se(e.charCodeAt(n))) { + if (!s) { + o = n; + break; + } + } else s = !1; + if (-1 === o) { + if (-1 === n) return '.'; + o = n; + } + return e.slice(0, o); + }, + basename(e, t) { + void 0 !== t && oe(t, 'ext'), oe(e, 'path'); + let n, + r = 0, + i = -1, + o = !0; + if ( + (e.length >= 2 && + ue(e.charCodeAt(0)) && + e.charCodeAt(1) === re && + (r = 2), + void 0 !== t && t.length > 0 && t.length <= e.length) + ) { + if (t === e) return ''; + let s = t.length - 1, + a = -1; + for (n = e.length - 1; n >= r; --n) { + const u = e.charCodeAt(n); + if (se(u)) { + if (!o) { + r = n + 1; + break; + } + } else + -1 === a && ((o = !1), (a = n + 1)), + s >= 0 && + (u === t.charCodeAt(s) + ? -1 == --s && (i = n) + : ((s = -1), (i = a))); + } + return r === i ? (i = a) : -1 === i && (i = e.length), e.slice(r, i); + } + for (n = e.length - 1; n >= r; --n) + if (se(e.charCodeAt(n))) { + if (!o) { + r = n + 1; + break; + } + } else -1 === i && ((o = !1), (i = n + 1)); + return -1 === i ? '' : e.slice(r, i); + }, + extname(e) { + oe(e, 'path'); + let t = 0, + n = -1, + r = 0, + i = -1, + o = !0, + s = 0; + e.length >= 2 && + e.charCodeAt(1) === re && + ue(e.charCodeAt(0)) && + (t = r = 2); + for (let a = e.length - 1; a >= t; --a) { + const t = e.charCodeAt(a); + if (se(t)) { + if (!o) { + r = a + 1; + break; + } + } else + -1 === i && ((o = !1), (i = a + 1)), + t === ee + ? -1 === n + ? (n = a) + : 1 !== s && (s = 1) + : -1 !== n && (s = -1); + } + return -1 === n || + -1 === i || + 0 === s || + (1 === s && n === i - 1 && n === r + 1) + ? '' + : e.slice(n, i); + }, + format: ce.bind(null, '\\'), + parse(e) { + oe(e, 'path'); + const t = { root: '', dir: '', base: '', ext: '', name: '' }; + if (0 === e.length) return t; + const n = e.length; + let r = 0, + i = e.charCodeAt(0); + if (1 === n) + return se(i) ? ((t.root = t.dir = e), t) : ((t.base = t.name = e), t); + if (se(i)) { + if (((r = 1), se(e.charCodeAt(1)))) { + let t = 2, + i = t; + for (; t < n && !se(e.charCodeAt(t)); ) t++; + if (t < n && t !== i) { + for (i = t; t < n && se(e.charCodeAt(t)); ) t++; + if (t < n && t !== i) { + for (i = t; t < n && !se(e.charCodeAt(t)); ) t++; + t === n ? (r = t) : t !== i && (r = t + 1); + } + } + } + } else if (ue(i) && e.charCodeAt(1) === re) { + if (n <= 2) return (t.root = t.dir = e), t; + if (((r = 2), se(e.charCodeAt(2)))) { + if (3 === n) return (t.root = t.dir = e), t; + r = 3; + } + } + r > 0 && (t.root = e.slice(0, r)); + let o = -1, + s = r, + a = -1, + u = !0, + l = e.length - 1, + c = 0; + for (; l >= r; --l) + if (((i = e.charCodeAt(l)), se(i))) { + if (!u) { + s = l + 1; + break; + } + } else + -1 === a && ((u = !1), (a = l + 1)), + i === ee + ? -1 === o + ? (o = l) + : 1 !== c && (c = 1) + : -1 !== o && (c = -1); + return ( + -1 !== a && + (-1 === o || 0 === c || (1 === c && o === a - 1 && o === s + 1) + ? (t.base = t.name = e.slice(s, a)) + : ((t.name = e.slice(s, o)), + (t.base = e.slice(s, a)), + (t.ext = e.slice(o, a)))), + (t.dir = s > 0 && s !== r ? e.slice(0, s - 1) : t.root), + t + ); + }, + sep: '\\', + delimiter: ';', + win32: null, + posix: null, + }, + fe = { + resolve(...e) { + let t = '', + n = !1; + for (let r = e.length - 1; r >= -1 && !n; r--) { + const i = r >= 0 ? e[r] : Q(); + oe(i, 'path'), + 0 !== i.length && ((t = `${i}/${t}`), (n = i.charCodeAt(0) === te)); + } + return (t = le(t, !n, '/', ae)), n ? `/${t}` : t.length > 0 ? t : '.'; + }, + normalize(e) { + if ((oe(e, 'path'), 0 === e.length)) return '.'; + const t = e.charCodeAt(0) === te, + n = e.charCodeAt(e.length - 1) === te; + return 0 === (e = le(e, !t, '/', ae)).length + ? t + ? '/' + : n + ? './' + : '.' + : (n && (e += '/'), t ? `/${e}` : e); + }, + isAbsolute: (e) => ( + oe(e, 'path'), e.length > 0 && e.charCodeAt(0) === te + ), + join(...e) { + if (0 === e.length) return '.'; + let t; + for (let n = 0; n < e.length; ++n) { + const r = e[n]; + oe(r, 'path'), + r.length > 0 && (void 0 === t ? (t = r) : (t += `/${r}`)); + } + return void 0 === t ? '.' : fe.normalize(t); + }, + relative(e, t) { + if ((oe(e, 'from'), oe(t, 'to'), e === t)) return ''; + if ((e = fe.resolve(e)) === (t = fe.resolve(t))) return ''; + const n = e.length, + r = n - 1, + i = t.length - 1, + o = r < i ? r : i; + let s = -1, + a = 0; + for (; a < o; a++) { + const n = e.charCodeAt(1 + a); + if (n !== t.charCodeAt(1 + a)) break; + n === te && (s = a); + } + if (a === o) + if (i > o) { + if (t.charCodeAt(1 + a) === te) return t.slice(1 + a + 1); + if (0 === a) return t.slice(1 + a); + } else + r > o && + (e.charCodeAt(1 + a) === te ? (s = a) : 0 === a && (s = 0)); + let u = ''; + for (a = 1 + s + 1; a <= n; ++a) + (a !== n && e.charCodeAt(a) !== te) || + (u += 0 === u.length ? '..' : '/..'); + return `${u}${t.slice(1 + s)}`; + }, + toNamespacedPath: (e) => e, + dirname(e) { + if ((oe(e, 'path'), 0 === e.length)) return '.'; + const t = e.charCodeAt(0) === te; + let n = -1, + r = !0; + for (let t = e.length - 1; t >= 1; --t) + if (e.charCodeAt(t) === te) { + if (!r) { + n = t; + break; + } + } else r = !1; + return -1 === n ? (t ? '/' : '.') : t && 1 === n ? '//' : e.slice(0, n); + }, + basename(e, t) { + void 0 !== t && oe(t, 'ext'), oe(e, 'path'); + let n, + r = 0, + i = -1, + o = !0; + if (void 0 !== t && t.length > 0 && t.length <= e.length) { + if (t === e) return ''; + let s = t.length - 1, + a = -1; + for (n = e.length - 1; n >= 0; --n) { + const u = e.charCodeAt(n); + if (u === te) { + if (!o) { + r = n + 1; + break; + } + } else + -1 === a && ((o = !1), (a = n + 1)), + s >= 0 && + (u === t.charCodeAt(s) + ? -1 == --s && (i = n) + : ((s = -1), (i = a))); + } + return r === i ? (i = a) : -1 === i && (i = e.length), e.slice(r, i); + } + for (n = e.length - 1; n >= 0; --n) + if (e.charCodeAt(n) === te) { + if (!o) { + r = n + 1; + break; + } + } else -1 === i && ((o = !1), (i = n + 1)); + return -1 === i ? '' : e.slice(r, i); + }, + extname(e) { + oe(e, 'path'); + let t = -1, + n = 0, + r = -1, + i = !0, + o = 0; + for (let s = e.length - 1; s >= 0; --s) { + const a = e.charCodeAt(s); + if (a !== te) + -1 === r && ((i = !1), (r = s + 1)), + a === ee + ? -1 === t + ? (t = s) + : 1 !== o && (o = 1) + : -1 !== t && (o = -1); + else if (!i) { + n = s + 1; + break; + } + } + return -1 === t || + -1 === r || + 0 === o || + (1 === o && t === r - 1 && t === n + 1) + ? '' + : e.slice(t, r); + }, + format: ce.bind(null, '/'), + parse(e) { + oe(e, 'path'); + const t = { root: '', dir: '', base: '', ext: '', name: '' }; + if (0 === e.length) return t; + const n = e.charCodeAt(0) === te; + let r; + n ? ((t.root = '/'), (r = 1)) : (r = 0); + let i = -1, + o = 0, + s = -1, + a = !0, + u = e.length - 1, + l = 0; + for (; u >= r; --u) { + const t = e.charCodeAt(u); + if (t !== te) + -1 === s && ((a = !1), (s = u + 1)), + t === ee + ? -1 === i + ? (i = u) + : 1 !== l && (l = 1) + : -1 !== i && (l = -1); + else if (!a) { + o = u + 1; + break; + } + } + if (-1 !== s) { + const r = 0 === o && n ? 1 : o; + -1 === i || 0 === l || (1 === l && i === s - 1 && i === o + 1) + ? (t.base = t.name = e.slice(r, s)) + : ((t.name = e.slice(r, i)), + (t.base = e.slice(r, s)), + (t.ext = e.slice(i, s))); + } + return o > 0 ? (t.dir = e.slice(0, o - 1)) : n && (t.dir = '/'), t; + }, + sep: '/', + delimiter: ':', + win32: null, + posix: null, + }; + (fe.win32 = he.win32 = he), + (fe.posix = he.posix = fe), + 'win32' === X ? he.normalize : fe.normalize, + 'win32' === X ? he.resolve : fe.resolve, + 'win32' === X ? he.relative : fe.relative, + 'win32' === X ? he.dirname : fe.dirname, + 'win32' === X ? he.basename : fe.basename, + 'win32' === X ? he.extname : fe.extname, + 'win32' === X ? he.sep : fe.sep; + const de = /^\w[\w\d+.-]*$/, + me = /^\//, + ge = /^\/\//, + pe = '', + ve = '/', + ye = /^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/; + class be { + constructor(e, t, n, r, i, o = !1) { + 'object' == typeof e + ? ((this.scheme = e.scheme || pe), + (this.authority = e.authority || pe), + (this.path = e.path || pe), + (this.query = e.query || pe), + (this.fragment = e.fragment || pe)) + : ((this.scheme = (function (e, t) { + return e || t ? e : 'file'; + })(e, o)), + (this.authority = t || pe), + (this.path = (function (e, t) { + switch (e) { + case 'https': + case 'http': + case 'file': + t ? t[0] !== ve && (t = ve + t) : (t = ve); + } + return t; + })(this.scheme, n || pe)), + (this.query = r || pe), + (this.fragment = i || pe), + (function (e, t) { + if (!e.scheme && t) + throw new Error( + `[UriError]: Scheme is missing: {scheme: "", authority: "${e.authority}", path: "${e.path}", query: "${e.query}", fragment: "${e.fragment}"}` + ); + if (e.scheme && !de.test(e.scheme)) + throw new Error( + '[UriError]: Scheme contains illegal characters.' + ); + if (e.path) + if (e.authority) { + if (!me.test(e.path)) + throw new Error( + '[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character' + ); + } else if (ge.test(e.path)) + throw new Error( + '[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")' + ); + })(this, o)); + } + static isUri(e) { + return ( + e instanceof be || + (!!e && + 'string' == typeof e.authority && + 'string' == typeof e.fragment && + 'string' == typeof e.path && + 'string' == typeof e.query && + 'string' == typeof e.scheme && + 'function' == typeof e.fsPath && + 'function' == typeof e.with && + 'function' == typeof e.toString) + ); + } + get fsPath() { + return xe(this, !1); + } + with(e) { + if (!e) return this; + let { scheme: t, authority: n, path: r, query: i, fragment: o } = e; + return ( + void 0 === t ? (t = this.scheme) : null === t && (t = pe), + void 0 === n ? (n = this.authority) : null === n && (n = pe), + void 0 === r ? (r = this.path) : null === r && (r = pe), + void 0 === i ? (i = this.query) : null === i && (i = pe), + void 0 === o ? (o = this.fragment) : null === o && (o = pe), + t === this.scheme && + n === this.authority && + r === this.path && + i === this.query && + o === this.fragment + ? this + : new _e(t, n, r, i, o) + ); + } + static parse(e, t = !1) { + const n = ye.exec(e); + return n + ? new _e( + n[2] || pe, + Te(n[4] || pe), + Te(n[5] || pe), + Te(n[7] || pe), + Te(n[9] || pe), + t + ) + : new _e(pe, pe, pe, pe, pe); + } + static file(e) { + let t = pe; + if ((A && (e = e.replace(/\\/g, ve)), e[0] === ve && e[1] === ve)) { + const n = e.indexOf(ve, 2); + -1 === n + ? ((t = e.substring(2)), (e = ve)) + : ((t = e.substring(2, n)), (e = e.substring(n) || ve)); + } + return new _e('file', t, e, pe, pe); + } + static from(e) { + return new _e(e.scheme, e.authority, e.path, e.query, e.fragment); + } + static joinPath(e, ...t) { + if (!e.path) + throw new Error( + '[UriError]: cannot call joinPaths on URI without path' + ); + let n; + return ( + (n = + A && 'file' === e.scheme + ? be.file(he.join(xe(e, !0), ...t)).path + : fe.join(e.path, ...t)), + e.with({ path: n }) + ); + } + toString(e = !1) { + return Ne(this, e); + } + toJSON() { + return this; + } + static revive(e) { + if (e) { + if (e instanceof be) return e; + { + const t = new _e(e); + return ( + (t._formatted = e.external), + (t._fsPath = e._sep === Ce ? e.fsPath : null), + t + ); + } + } + return e; + } + } + const Ce = A ? 1 : void 0; + class _e extends be { + constructor() { + super(...arguments), (this._formatted = null), (this._fsPath = null); + } + get fsPath() { + return this._fsPath || (this._fsPath = xe(this, !1)), this._fsPath; + } + toString(e = !1) { + return e + ? Ne(this, !0) + : (this._formatted || (this._formatted = Ne(this, !1)), + this._formatted); + } + toJSON() { + const e = { $mid: 1 }; + return ( + this._fsPath && ((e.fsPath = this._fsPath), (e._sep = Ce)), + this._formatted && (e.external = this._formatted), + this.path && (e.path = this.path), + this.scheme && (e.scheme = this.scheme), + this.authority && (e.authority = this.authority), + this.query && (e.query = this.query), + this.fragment && (e.fragment = this.fragment), + e + ); + } + } + const Se = { + 58: '%3A', + 47: '%2F', + 63: '%3F', + 35: '%23', + 91: '%5B', + 93: '%5D', + 64: '%40', + 33: '%21', + 36: '%24', + 38: '%26', + 39: '%27', + 40: '%28', + 41: '%29', + 42: '%2A', + 43: '%2B', + 44: '%2C', + 59: '%3B', + 61: '%3D', + 32: '%20', + }; + function Ee(e, t) { + let n, + r = -1; + for (let i = 0; i < e.length; i++) { + const o = e.charCodeAt(i); + if ( + (o >= 97 && o <= 122) || + (o >= 65 && o <= 90) || + (o >= 48 && o <= 57) || + 45 === o || + 46 === o || + 95 === o || + 126 === o || + (t && 47 === o) + ) + -1 !== r && ((n += encodeURIComponent(e.substring(r, i))), (r = -1)), + void 0 !== n && (n += e.charAt(i)); + else { + void 0 === n && (n = e.substr(0, i)); + const t = Se[o]; + void 0 !== t + ? (-1 !== r && + ((n += encodeURIComponent(e.substring(r, i))), (r = -1)), + (n += t)) + : -1 === r && (r = i); + } + } + return ( + -1 !== r && (n += encodeURIComponent(e.substring(r))), + void 0 !== n ? n : e + ); + } + function Ae(e) { + let t; + for (let n = 0; n < e.length; n++) { + const r = e.charCodeAt(n); + 35 === r || 63 === r + ? (void 0 === t && (t = e.substr(0, n)), (t += Se[r])) + : void 0 !== t && (t += e[n]); + } + return void 0 !== t ? t : e; + } + function xe(e, t) { + let n; + return ( + (n = + e.authority && e.path.length > 1 && 'file' === e.scheme + ? `//${e.authority}${e.path}` + : 47 === e.path.charCodeAt(0) && + ((e.path.charCodeAt(1) >= 65 && e.path.charCodeAt(1) <= 90) || + (e.path.charCodeAt(1) >= 97 && e.path.charCodeAt(1) <= 122)) && + 58 === e.path.charCodeAt(2) + ? t + ? e.path.substr(1) + : e.path[1].toLowerCase() + e.path.substr(2) + : e.path), + A && (n = n.replace(/\//g, '\\')), + n + ); + } + function Ne(e, t) { + const n = t ? Ae : Ee; + let r = '', + { scheme: i, authority: o, path: s, query: a, fragment: u } = e; + if ( + (i && ((r += i), (r += ':')), + (o || 'file' === i) && ((r += ve), (r += ve)), + o) + ) { + let e = o.indexOf('@'); + if (-1 !== e) { + const t = o.substr(0, e); + (o = o.substr(e + 1)), + (e = t.indexOf(':')), + -1 === e + ? (r += n(t, !1)) + : ((r += n(t.substr(0, e), !1)), + (r += ':'), + (r += n(t.substr(e + 1), !1))), + (r += '@'); + } + (o = o.toLowerCase()), + (e = o.indexOf(':')), + -1 === e + ? (r += n(o, !1)) + : ((r += n(o.substr(0, e), !1)), (r += o.substr(e))); + } + if (s) { + if (s.length >= 3 && 47 === s.charCodeAt(0) && 58 === s.charCodeAt(2)) { + const e = s.charCodeAt(1); + e >= 65 && + e <= 90 && + (s = `/${String.fromCharCode(e + 32)}:${s.substr(3)}`); + } else if (s.length >= 2 && 58 === s.charCodeAt(1)) { + const e = s.charCodeAt(0); + e >= 65 && + e <= 90 && + (s = `${String.fromCharCode(e + 32)}:${s.substr(2)}`); + } + r += n(s, !0); + } + return ( + a && ((r += '?'), (r += n(a, !1))), + u && ((r += '#'), (r += t ? u : Ee(u, !1))), + r + ); + } + function Le(e) { + try { + return decodeURIComponent(e); + } catch (t) { + return e.length > 3 ? e.substr(0, 3) + Le(e.substr(3)) : e; + } + } + const we = /(%[0-9A-Za-z][0-9A-Za-z])+/g; + function Te(e) { + return e.match(we) ? e.replace(we, (e) => Le(e)) : e; + } + class ke { + constructor(e, t) { + (this.lineNumber = e), (this.column = t); + } + with(e = this.lineNumber, t = this.column) { + return e === this.lineNumber && t === this.column ? this : new ke(e, t); + } + delta(e = 0, t = 0) { + return this.with(this.lineNumber + e, this.column + t); + } + equals(e) { + return ke.equals(this, e); + } + static equals(e, t) { + return ( + (!e && !t) || + (!!e && !!t && e.lineNumber === t.lineNumber && e.column === t.column) + ); + } + isBefore(e) { + return ke.isBefore(this, e); + } + static isBefore(e, t) { + return ( + e.lineNumber < t.lineNumber || + (!(t.lineNumber < e.lineNumber) && e.column < t.column) + ); + } + isBeforeOrEqual(e) { + return ke.isBeforeOrEqual(this, e); + } + static isBeforeOrEqual(e, t) { + return ( + e.lineNumber < t.lineNumber || + (!(t.lineNumber < e.lineNumber) && e.column <= t.column) + ); + } + static compare(e, t) { + let n = 0 | e.lineNumber, + r = 0 | t.lineNumber; + return n === r ? (0 | e.column) - (0 | t.column) : n - r; + } + clone() { + return new ke(this.lineNumber, this.column); + } + toString() { + return '(' + this.lineNumber + ',' + this.column + ')'; + } + static lift(e) { + return new ke(e.lineNumber, e.column); + } + static isIPosition(e) { + return ( + e && 'number' == typeof e.lineNumber && 'number' == typeof e.column + ); + } + } + class Oe { + constructor(e, t, n, r) { + e > n || (e === n && t > r) + ? ((this.startLineNumber = n), + (this.startColumn = r), + (this.endLineNumber = e), + (this.endColumn = t)) + : ((this.startLineNumber = e), + (this.startColumn = t), + (this.endLineNumber = n), + (this.endColumn = r)); + } + isEmpty() { + return Oe.isEmpty(this); + } + static isEmpty(e) { + return ( + e.startLineNumber === e.endLineNumber && e.startColumn === e.endColumn + ); + } + containsPosition(e) { + return Oe.containsPosition(this, e); + } + static containsPosition(e, t) { + return !( + t.lineNumber < e.startLineNumber || + t.lineNumber > e.endLineNumber || + (t.lineNumber === e.startLineNumber && t.column < e.startColumn) || + (t.lineNumber === e.endLineNumber && t.column > e.endColumn) + ); + } + containsRange(e) { + return Oe.containsRange(this, e); + } + static containsRange(e, t) { + return !( + t.startLineNumber < e.startLineNumber || + t.endLineNumber < e.startLineNumber || + t.startLineNumber > e.endLineNumber || + t.endLineNumber > e.endLineNumber || + (t.startLineNumber === e.startLineNumber && + t.startColumn < e.startColumn) || + (t.endLineNumber === e.endLineNumber && t.endColumn > e.endColumn) + ); + } + strictContainsRange(e) { + return Oe.strictContainsRange(this, e); + } + static strictContainsRange(e, t) { + return !( + t.startLineNumber < e.startLineNumber || + t.endLineNumber < e.startLineNumber || + t.startLineNumber > e.endLineNumber || + t.endLineNumber > e.endLineNumber || + (t.startLineNumber === e.startLineNumber && + t.startColumn <= e.startColumn) || + (t.endLineNumber === e.endLineNumber && t.endColumn >= e.endColumn) + ); + } + plusRange(e) { + return Oe.plusRange(this, e); + } + static plusRange(e, t) { + let n, r, i, o; + return ( + t.startLineNumber < e.startLineNumber + ? ((n = t.startLineNumber), (r = t.startColumn)) + : t.startLineNumber === e.startLineNumber + ? ((n = t.startLineNumber), + (r = Math.min(t.startColumn, e.startColumn))) + : ((n = e.startLineNumber), (r = e.startColumn)), + t.endLineNumber > e.endLineNumber + ? ((i = t.endLineNumber), (o = t.endColumn)) + : t.endLineNumber === e.endLineNumber + ? ((i = t.endLineNumber), (o = Math.max(t.endColumn, e.endColumn))) + : ((i = e.endLineNumber), (o = e.endColumn)), + new Oe(n, r, i, o) + ); + } + intersectRanges(e) { + return Oe.intersectRanges(this, e); + } + static intersectRanges(e, t) { + let n = e.startLineNumber, + r = e.startColumn, + i = e.endLineNumber, + o = e.endColumn, + s = t.startLineNumber, + a = t.startColumn, + u = t.endLineNumber, + l = t.endColumn; + return ( + n < s ? ((n = s), (r = a)) : n === s && (r = Math.max(r, a)), + i > u ? ((i = u), (o = l)) : i === u && (o = Math.min(o, l)), + n > i || (n === i && r > o) ? null : new Oe(n, r, i, o) + ); + } + equalsRange(e) { + return Oe.equalsRange(this, e); + } + static equalsRange(e, t) { + return ( + !!e && + !!t && + e.startLineNumber === t.startLineNumber && + e.startColumn === t.startColumn && + e.endLineNumber === t.endLineNumber && + e.endColumn === t.endColumn + ); + } + getEndPosition() { + return Oe.getEndPosition(this); + } + static getEndPosition(e) { + return new ke(e.endLineNumber, e.endColumn); + } + getStartPosition() { + return Oe.getStartPosition(this); + } + static getStartPosition(e) { + return new ke(e.startLineNumber, e.startColumn); + } + toString() { + return ( + '[' + + this.startLineNumber + + ',' + + this.startColumn + + ' -> ' + + this.endLineNumber + + ',' + + this.endColumn + + ']' + ); + } + setEndPosition(e, t) { + return new Oe(this.startLineNumber, this.startColumn, e, t); + } + setStartPosition(e, t) { + return new Oe(e, t, this.endLineNumber, this.endColumn); + } + collapseToStart() { + return Oe.collapseToStart(this); + } + static collapseToStart(e) { + return new Oe( + e.startLineNumber, + e.startColumn, + e.startLineNumber, + e.startColumn + ); + } + static fromPositions(e, t = e) { + return new Oe(e.lineNumber, e.column, t.lineNumber, t.column); + } + static lift(e) { + return e + ? new Oe(e.startLineNumber, e.startColumn, e.endLineNumber, e.endColumn) + : null; + } + static isIRange(e) { + return ( + e && + 'number' == typeof e.startLineNumber && + 'number' == typeof e.startColumn && + 'number' == typeof e.endLineNumber && + 'number' == typeof e.endColumn + ); + } + static areIntersectingOrTouching(e, t) { + return !( + e.endLineNumber < t.startLineNumber || + (e.endLineNumber === t.startLineNumber && + e.endColumn < t.startColumn) || + t.endLineNumber < e.startLineNumber || + (t.endLineNumber === e.startLineNumber && t.endColumn < e.startColumn) + ); + } + static areIntersecting(e, t) { + return !( + e.endLineNumber < t.startLineNumber || + (e.endLineNumber === t.startLineNumber && + e.endColumn <= t.startColumn) || + t.endLineNumber < e.startLineNumber || + (t.endLineNumber === e.startLineNumber && t.endColumn <= e.startColumn) + ); + } + static compareRangesUsingStarts(e, t) { + if (e && t) { + const n = 0 | e.startLineNumber, + r = 0 | t.startLineNumber; + if (n === r) { + const n = 0 | e.startColumn, + r = 0 | t.startColumn; + if (n === r) { + const n = 0 | e.endLineNumber, + r = 0 | t.endLineNumber; + return n === r ? (0 | e.endColumn) - (0 | t.endColumn) : n - r; + } + return n - r; + } + return n - r; + } + return (e ? 1 : 0) - (t ? 1 : 0); + } + static compareRangesUsingEnds(e, t) { + return e.endLineNumber === t.endLineNumber + ? e.endColumn === t.endColumn + ? e.startLineNumber === t.startLineNumber + ? e.startColumn - t.startColumn + : e.startLineNumber - t.startLineNumber + : e.endColumn - t.endColumn + : e.endLineNumber - t.endLineNumber; + } + static spansMultipleLines(e) { + return e.endLineNumber > e.startLineNumber; + } + } + function Ie(e, t, n, r) { + return new z(e, t, n).ComputeDiff(r); + } + class Me { + constructor(e) { + const t = [], + n = []; + for (let r = 0, i = e.length; r < i; r++) + (t[r] = je(e[r], 1)), (n[r] = Ue(e[r], 1)); + (this.lines = e), (this._startColumns = t), (this._endColumns = n); + } + getElements() { + const e = []; + for (let t = 0, n = this.lines.length; t < n; t++) + e[t] = this.lines[t].substring( + this._startColumns[t] - 1, + this._endColumns[t] - 1 + ); + return e; + } + getStartLineNumber(e) { + return e + 1; + } + getEndLineNumber(e) { + return e + 1; + } + createCharSequence(e, t, n) { + const r = [], + i = [], + o = []; + let s = 0; + for (let a = t; a <= n; a++) { + const t = this.lines[a], + n = e ? this._startColumns[a] : 1, + u = e ? this._endColumns[a] : t.length + 1; + for (let e = n; e < u; e++) + (r[s] = t.charCodeAt(e - 1)), (i[s] = a + 1), (o[s] = e), s++; + } + return new Pe(r, i, o); + } + } + class Pe { + constructor(e, t, n) { + (this._charCodes = e), (this._lineNumbers = t), (this._columns = n); + } + getElements() { + return this._charCodes; + } + getStartLineNumber(e) { + return this._lineNumbers[e]; + } + getStartColumn(e) { + return this._columns[e]; + } + getEndLineNumber(e) { + return this._lineNumbers[e]; + } + getEndColumn(e) { + return this._columns[e] + 1; + } + } + class Re { + constructor(e, t, n, r, i, o, s, a) { + (this.originalStartLineNumber = e), + (this.originalStartColumn = t), + (this.originalEndLineNumber = n), + (this.originalEndColumn = r), + (this.modifiedStartLineNumber = i), + (this.modifiedStartColumn = o), + (this.modifiedEndLineNumber = s), + (this.modifiedEndColumn = a); + } + static createFromDiffChange(e, t, n) { + let r, i, o, s, a, u, l, c; + return ( + 0 === e.originalLength + ? ((r = 0), (i = 0), (o = 0), (s = 0)) + : ((r = t.getStartLineNumber(e.originalStart)), + (i = t.getStartColumn(e.originalStart)), + (o = t.getEndLineNumber(e.originalStart + e.originalLength - 1)), + (s = t.getEndColumn(e.originalStart + e.originalLength - 1))), + 0 === e.modifiedLength + ? ((a = 0), (u = 0), (l = 0), (c = 0)) + : ((a = n.getStartLineNumber(e.modifiedStart)), + (u = n.getStartColumn(e.modifiedStart)), + (l = n.getEndLineNumber(e.modifiedStart + e.modifiedLength - 1)), + (c = n.getEndColumn(e.modifiedStart + e.modifiedLength - 1))), + new Re(r, i, o, s, a, u, l, c) + ); + } + } + class De { + constructor(e, t, n, r, i) { + (this.originalStartLineNumber = e), + (this.originalEndLineNumber = t), + (this.modifiedStartLineNumber = n), + (this.modifiedEndLineNumber = r), + (this.charChanges = i); + } + static createFromDiffResult(e, t, n, r, i, o, s) { + let a, u, l, c, h; + if ( + (0 === t.originalLength + ? ((a = n.getStartLineNumber(t.originalStart) - 1), (u = 0)) + : ((a = n.getStartLineNumber(t.originalStart)), + (u = n.getEndLineNumber(t.originalStart + t.originalLength - 1))), + 0 === t.modifiedLength + ? ((l = r.getStartLineNumber(t.modifiedStart) - 1), (c = 0)) + : ((l = r.getStartLineNumber(t.modifiedStart)), + (c = r.getEndLineNumber(t.modifiedStart + t.modifiedLength - 1))), + o && + t.originalLength > 0 && + t.originalLength < 20 && + t.modifiedLength > 0 && + t.modifiedLength < 20 && + i()) + ) { + const o = n.createCharSequence( + e, + t.originalStart, + t.originalStart + t.originalLength - 1 + ), + a = r.createCharSequence( + e, + t.modifiedStart, + t.modifiedStart + t.modifiedLength - 1 + ); + let u = Ie(o, a, i, !0).changes; + s && + (u = (function (e) { + if (e.length <= 1) return e; + const t = [e[0]]; + let n = t[0]; + for (let r = 1, i = e.length; r < i; r++) { + const i = e[r], + o = i.originalStart - (n.originalStart + n.originalLength), + s = i.modifiedStart - (n.modifiedStart + n.modifiedLength); + Math.min(o, s) < 3 + ? ((n.originalLength = + i.originalStart + i.originalLength - n.originalStart), + (n.modifiedLength = + i.modifiedStart + i.modifiedLength - n.modifiedStart)) + : (t.push(i), (n = i)); + } + return t; + })(u)), + (h = []); + for (let e = 0, t = u.length; e < t; e++) + h.push(Re.createFromDiffChange(u[e], o, a)); + } + return new De(a, u, l, c, h); + } + } + class Fe { + constructor(e, t, n) { + (this.shouldComputeCharChanges = n.shouldComputeCharChanges), + (this.shouldPostProcessCharChanges = n.shouldPostProcessCharChanges), + (this.shouldIgnoreTrimWhitespace = n.shouldIgnoreTrimWhitespace), + (this.shouldMakePrettyDiff = n.shouldMakePrettyDiff), + (this.originalLines = e), + (this.modifiedLines = t), + (this.original = new Me(e)), + (this.modified = new Me(t)), + (this.continueLineDiff = Ve(n.maxComputationTime)), + (this.continueCharDiff = Ve( + 0 === n.maxComputationTime ? 0 : Math.min(n.maxComputationTime, 5e3) + )); + } + computeDiff() { + if ( + 1 === this.original.lines.length && + 0 === this.original.lines[0].length + ) + return { + quitEarly: !1, + changes: [ + { + originalStartLineNumber: 1, + originalEndLineNumber: 1, + modifiedStartLineNumber: 1, + modifiedEndLineNumber: this.modified.lines.length, + charChanges: [ + { + modifiedEndColumn: 0, + modifiedEndLineNumber: 0, + modifiedStartColumn: 0, + modifiedStartLineNumber: 0, + originalEndColumn: 0, + originalEndLineNumber: 0, + originalStartColumn: 0, + originalStartLineNumber: 0, + }, + ], + }, + ], + }; + if ( + 1 === this.modified.lines.length && + 0 === this.modified.lines[0].length + ) + return { + quitEarly: !1, + changes: [ + { + originalStartLineNumber: 1, + originalEndLineNumber: this.original.lines.length, + modifiedStartLineNumber: 1, + modifiedEndLineNumber: 1, + charChanges: [ + { + modifiedEndColumn: 0, + modifiedEndLineNumber: 0, + modifiedStartColumn: 0, + modifiedStartLineNumber: 0, + originalEndColumn: 0, + originalEndLineNumber: 0, + originalStartColumn: 0, + originalStartLineNumber: 0, + }, + ], + }, + ], + }; + const e = Ie( + this.original, + this.modified, + this.continueLineDiff, + this.shouldMakePrettyDiff + ), + t = e.changes, + n = e.quitEarly; + if (this.shouldIgnoreTrimWhitespace) { + const e = []; + for (let n = 0, r = t.length; n < r; n++) + e.push( + De.createFromDiffResult( + this.shouldIgnoreTrimWhitespace, + t[n], + this.original, + this.modified, + this.continueCharDiff, + this.shouldComputeCharChanges, + this.shouldPostProcessCharChanges + ) + ); + return { quitEarly: n, changes: e }; + } + const r = []; + let i = 0, + o = 0; + for (let e = -1, n = t.length; e < n; e++) { + const s = e + 1 < n ? t[e + 1] : null, + a = s ? s.originalStart : this.originalLines.length, + u = s ? s.modifiedStart : this.modifiedLines.length; + for (; i < a && o < u; ) { + const e = this.originalLines[i], + t = this.modifiedLines[o]; + if (e !== t) { + { + let n = je(e, 1), + s = je(t, 1); + for ( + ; + n > 1 && s > 1 && e.charCodeAt(n - 2) === t.charCodeAt(s - 2); + + ) + n--, s--; + (n > 1 || s > 1) && + this._pushTrimWhitespaceCharChange(r, i + 1, 1, n, o + 1, 1, s); + } + { + let n = Ue(e, 1), + s = Ue(t, 1); + const a = e.length + 1, + u = t.length + 1; + for ( + ; + n < a && s < u && e.charCodeAt(n - 1) === e.charCodeAt(s - 1); + + ) + n++, s++; + (n < a || s < u) && + this._pushTrimWhitespaceCharChange(r, i + 1, n, a, o + 1, s, u); + } + } + i++, o++; + } + s && + (r.push( + De.createFromDiffResult( + this.shouldIgnoreTrimWhitespace, + s, + this.original, + this.modified, + this.continueCharDiff, + this.shouldComputeCharChanges, + this.shouldPostProcessCharChanges + ) + ), + (i += s.originalLength), + (o += s.modifiedLength)); + } + return { quitEarly: n, changes: r }; + } + _pushTrimWhitespaceCharChange(e, t, n, r, i, o, s) { + if (this._mergeTrimWhitespaceCharChange(e, t, n, r, i, o, s)) return; + let a; + this.shouldComputeCharChanges && (a = [new Re(t, n, t, r, i, o, i, s)]), + e.push(new De(t, t, i, i, a)); + } + _mergeTrimWhitespaceCharChange(e, t, n, r, i, o, s) { + const a = e.length; + if (0 === a) return !1; + const u = e[a - 1]; + return ( + 0 !== u.originalEndLineNumber && + 0 !== u.modifiedEndLineNumber && + u.originalEndLineNumber + 1 === t && + u.modifiedEndLineNumber + 1 === i && + ((u.originalEndLineNumber = t), + (u.modifiedEndLineNumber = i), + this.shouldComputeCharChanges && + u.charChanges && + u.charChanges.push(new Re(t, n, t, r, i, o, i, s)), + !0) + ); + } + } + function je(e, t) { + const n = (function (e) { + for (let t = 0, n = e.length; t < n; t++) { + const n = e.charCodeAt(t); + if (32 !== n && 9 !== n) return t; + } + return -1; + })(e); + return -1 === n ? t : n + 1; + } + function Ue(e, t) { + const n = (function (e, t = e.length - 1) { + for (let n = t; n >= 0; n--) { + const t = e.charCodeAt(n); + if (32 !== t && 9 !== t) return n; + } + return -1; + })(e); + return -1 === n ? t : n + 2; + } + function Ve(e) { + if (0 === e) return () => !0; + const t = Date.now(); + return () => Date.now() - t < e; + } + function $e(e) { + return e < 0 ? 0 : e > 255 ? 255 : 0 | e; + } + function We(e) { + return e < 0 ? 0 : e > 4294967295 ? 4294967295 : 0 | e; + } + class qe { + constructor(e, t) { + (this.index = e), (this.remainder = t); + } + } + class Ke { + constructor(e) { + (this.values = e), + (this.prefixSum = new Uint32Array(e.length)), + (this.prefixSumValidIndex = new Int32Array(1)), + (this.prefixSumValidIndex[0] = -1); + } + insertValues(e, t) { + e = We(e); + const n = this.values, + r = this.prefixSum, + i = t.length; + return ( + 0 !== i && + ((this.values = new Uint32Array(n.length + i)), + this.values.set(n.subarray(0, e), 0), + this.values.set(n.subarray(e), e + i), + this.values.set(t, e), + e - 1 < this.prefixSumValidIndex[0] && + (this.prefixSumValidIndex[0] = e - 1), + (this.prefixSum = new Uint32Array(this.values.length)), + this.prefixSumValidIndex[0] >= 0 && + this.prefixSum.set(r.subarray(0, this.prefixSumValidIndex[0] + 1)), + !0) + ); + } + changeValue(e, t) { + return ( + (e = We(e)), + (t = We(t)), + this.values[e] !== t && + ((this.values[e] = t), + e - 1 < this.prefixSumValidIndex[0] && + (this.prefixSumValidIndex[0] = e - 1), + !0) + ); + } + removeValues(e, t) { + (e = We(e)), (t = We(t)); + const n = this.values, + r = this.prefixSum; + if (e >= n.length) return !1; + let i = n.length - e; + return ( + t >= i && (t = i), + 0 !== t && + ((this.values = new Uint32Array(n.length - t)), + this.values.set(n.subarray(0, e), 0), + this.values.set(n.subarray(e + t), e), + (this.prefixSum = new Uint32Array(this.values.length)), + e - 1 < this.prefixSumValidIndex[0] && + (this.prefixSumValidIndex[0] = e - 1), + this.prefixSumValidIndex[0] >= 0 && + this.prefixSum.set(r.subarray(0, this.prefixSumValidIndex[0] + 1)), + !0) + ); + } + getTotalValue() { + return 0 === this.values.length + ? 0 + : this._getAccumulatedValue(this.values.length - 1); + } + getAccumulatedValue(e) { + return e < 0 ? 0 : ((e = We(e)), this._getAccumulatedValue(e)); + } + _getAccumulatedValue(e) { + if (e <= this.prefixSumValidIndex[0]) return this.prefixSum[e]; + let t = this.prefixSumValidIndex[0] + 1; + 0 === t && ((this.prefixSum[0] = this.values[0]), t++), + e >= this.values.length && (e = this.values.length - 1); + for (let n = t; n <= e; n++) + this.prefixSum[n] = this.prefixSum[n - 1] + this.values[n]; + return ( + (this.prefixSumValidIndex[0] = Math.max( + this.prefixSumValidIndex[0], + e + )), + this.prefixSum[e] + ); + } + getIndexOf(e) { + (e = Math.floor(e)), this.getTotalValue(); + let t = 0, + n = this.values.length - 1, + r = 0, + i = 0, + o = 0; + for (; t <= n; ) + if ( + ((r = (t + (n - t) / 2) | 0), + (i = this.prefixSum[r]), + (o = i - this.values[r]), + e < o) + ) + n = r - 1; + else { + if (!(e >= i)) break; + t = r + 1; + } + return new qe(r, e - o); + } + } + const Be = (function (e = '') { + let t = '(-?\\d*\\.\\d\\w*)|([^'; + for (const n of '`~!@#$%^&*()-=+[{]}\\|;:\'",.<>/?') + e.indexOf(n) >= 0 || (t += '\\' + n); + return (t += '\\s]+)'), new RegExp(t, 'g'); + })(), + He = { maxLen: 1e3, windowSize: 15, timeBudget: 150 }; + function Ye(e, t, n, r, i = He) { + if (n.length > i.maxLen) { + let o = e - i.maxLen / 2; + return ( + o < 0 ? ((r += e), (o = 0)) : (r += o), + Ye(e, t, (n = n.substring(o, e + i.maxLen / 2)), r, i) + ); + } + Date.now(); + const o = e - 1 - r; + let s = -1, + a = null; + for (let e = 1; ; e++) { + Date.now(), i.timeBudget; + const r = o - i.windowSize * e; + t.lastIndex = Math.max(0, r); + const u = Ge(t, n, o, s); + if (!u && a) break; + if (((a = u), r <= 0)) break; + s = r; + } + if (a) { + let e = { + word: a[0], + startColumn: r + 1 + a.index, + endColumn: r + 1 + a.index + a[0].length, + }; + return (t.lastIndex = 0), e; + } + return null; + } + function Ge(e, t, n, r) { + let i; + for (; (i = e.exec(t)); ) { + const t = i.index || 0; + if (t <= n && e.lastIndex >= n) return i; + if (r > 0 && t > r) return null; + } + return null; + } + class ze { + constructor(e) { + let t = $e(e); + (this._defaultValue = t), + (this._asciiMap = ze._createAsciiMap(t)), + (this._map = new Map()); + } + static _createAsciiMap(e) { + let t = new Uint8Array(256); + for (let n = 0; n < 256; n++) t[n] = e; + return t; + } + set(e, t) { + let n = $e(t); + e >= 0 && e < 256 ? (this._asciiMap[e] = n) : this._map.set(e, n); + } + get(e) { + return e >= 0 && e < 256 + ? this._asciiMap[e] + : this._map.get(e) || this._defaultValue; + } + } + class Je { + constructor(e, t, n) { + const r = new Uint8Array(e * t); + for (let i = 0, o = e * t; i < o; i++) r[i] = n; + (this._data = r), (this.rows = e), (this.cols = t); + } + get(e, t) { + return this._data[e * this.cols + t]; + } + set(e, t, n) { + this._data[e * this.cols + t] = n; + } + } + class Qe { + constructor(e) { + let t = 0, + n = 0; + for (let r = 0, i = e.length; r < i; r++) { + let [i, o, s] = e[r]; + o > t && (t = o), i > n && (n = i), s > n && (n = s); + } + t++, n++; + let r = new Je(n, t, 0); + for (let t = 0, n = e.length; t < n; t++) { + let [n, i, o] = e[t]; + r.set(n, i, o); + } + (this._states = r), (this._maxCharCode = t); + } + nextState(e, t) { + return t < 0 || t >= this._maxCharCode ? 0 : this._states.get(e, t); + } + } + let Ze = null, + Xe = null; + class et { + static _createLink(e, t, n, r, i) { + let o = i - 1; + do { + const n = t.charCodeAt(o); + if (2 !== e.get(n)) break; + o--; + } while (o > r); + if (r > 0) { + const e = t.charCodeAt(r - 1), + n = t.charCodeAt(o); + ((40 === e && 41 === n) || + (91 === e && 93 === n) || + (123 === e && 125 === n)) && + o--; + } + return { + range: { + startLineNumber: n, + startColumn: r + 1, + endLineNumber: n, + endColumn: o + 2, + }, + url: t.substring(r, o + 1), + }; + } + static computeLinks( + e, + t = (function () { + return ( + null === Ze && + (Ze = new Qe([ + [1, 104, 2], + [1, 72, 2], + [1, 102, 6], + [1, 70, 6], + [2, 116, 3], + [2, 84, 3], + [3, 116, 4], + [3, 84, 4], + [4, 112, 5], + [4, 80, 5], + [5, 115, 9], + [5, 83, 9], + [5, 58, 10], + [6, 105, 7], + [6, 73, 7], + [7, 108, 8], + [7, 76, 8], + [8, 101, 9], + [8, 69, 9], + [9, 58, 10], + [10, 47, 11], + [11, 47, 12], + ])), + Ze + ); + })() + ) { + const n = (function () { + if (null === Xe) { + Xe = new ze(0); + const e = + ' \t<>\'"、。。、,.:;‘“〈《「『【〔([{「」}])〕】』」》〉”’`~…'; + for (let t = 0; t < e.length; t++) Xe.set(e.charCodeAt(t), 1); + const t = '.,;'; + for (let e = 0; e < t.length; e++) Xe.set(t.charCodeAt(e), 2); + } + return Xe; + })(); + let r = []; + for (let i = 1, o = e.getLineCount(); i <= o; i++) { + const o = e.getLineContent(i), + s = o.length; + let a = 0, + u = 0, + l = 0, + c = 1, + h = !1, + f = !1, + d = !1, + m = !1; + for (; a < s; ) { + let e = !1; + const s = o.charCodeAt(a); + if (13 === c) { + let t; + switch (s) { + case 40: + (h = !0), (t = 0); + break; + case 41: + t = h ? 0 : 1; + break; + case 91: + (d = !0), (f = !0), (t = 0); + break; + case 93: + (d = !1), (t = f ? 0 : 1); + break; + case 123: + (m = !0), (t = 0); + break; + case 125: + t = m ? 0 : 1; + break; + case 39: + t = 34 === l || 96 === l ? 0 : 1; + break; + case 34: + t = 39 === l || 96 === l ? 0 : 1; + break; + case 96: + t = 39 === l || 34 === l ? 0 : 1; + break; + case 42: + t = 42 === l ? 1 : 0; + break; + case 124: + t = 124 === l ? 1 : 0; + break; + case 32: + t = d ? 0 : 1; + break; + default: + t = n.get(s); + } + 1 === t && (r.push(et._createLink(n, o, i, u, a)), (e = !0)); + } else if (12 === c) { + let t; + 91 === s ? ((f = !0), (t = 0)) : (t = n.get(s)), + 1 === t ? (e = !0) : (c = 13); + } else (c = t.nextState(c, s)), 0 === c && (e = !0); + e && ((c = 1), (h = !1), (f = !1), (m = !1), (u = a + 1), (l = s)), + a++; + } + 13 === c && r.push(et._createLink(n, o, i, u, s)); + } + return r; + } + } + class tt { + constructor() { + this._defaultValueSet = [ + ['true', 'false'], + ['True', 'False'], + [ + 'Private', + 'Public', + 'Friend', + 'ReadOnly', + 'Partial', + 'Protected', + 'WriteOnly', + ], + ['public', 'protected', 'private'], + ]; + } + navigateValueSet(e, t, n, r, i) { + if (e && t) { + let n = this.doNavigateValueSet(t, i); + if (n) return { range: e, value: n }; + } + if (n && r) { + let e = this.doNavigateValueSet(r, i); + if (e) return { range: n, value: e }; + } + return null; + } + doNavigateValueSet(e, t) { + let n = this.numberReplace(e, t); + return null !== n ? n : this.textReplace(e, t); + } + numberReplace(e, t) { + let n = Math.pow(10, e.length - (e.lastIndexOf('.') + 1)), + r = Number(e), + i = parseFloat(e); + return isNaN(r) || isNaN(i) || r !== i + ? null + : 0 !== r || t + ? ((r = Math.floor(r * n)), (r += t ? n : -n), String(r / n)) + : null; + } + textReplace(e, t) { + return this.valueSetsReplace(this._defaultValueSet, e, t); + } + valueSetsReplace(e, t, n) { + let r = null; + for (let i = 0, o = e.length; null === r && i < o; i++) + r = this.valueSetReplace(e[i], t, n); + return r; + } + valueSetReplace(e, t, n) { + let r = e.indexOf(t); + return r >= 0 + ? ((r += n ? 1 : -1), + r < 0 ? (r = e.length - 1) : (r %= e.length), + e[r]) + : null; + } + } + tt.INSTANCE = new tt(); + class nt { + constructor(e) { + (this.element = e), + (this.next = nt.Undefined), + (this.prev = nt.Undefined); + } + } + nt.Undefined = new nt(void 0); + class rt { + constructor() { + (this._first = nt.Undefined), + (this._last = nt.Undefined), + (this._size = 0); + } + get size() { + return this._size; + } + isEmpty() { + return this._first === nt.Undefined; + } + clear() { + (this._first = nt.Undefined), + (this._last = nt.Undefined), + (this._size = 0); + } + unshift(e) { + return this._insert(e, !1); + } + push(e) { + return this._insert(e, !0); + } + _insert(e, t) { + const n = new nt(e); + if (this._first === nt.Undefined) (this._first = n), (this._last = n); + else if (t) { + const e = this._last; + (this._last = n), (n.prev = e), (e.next = n); + } else { + const e = this._first; + (this._first = n), (n.next = e), (e.prev = n); + } + this._size += 1; + let r = !1; + return () => { + r || ((r = !0), this._remove(n)); + }; + } + shift() { + if (this._first !== nt.Undefined) { + const e = this._first.element; + return this._remove(this._first), e; + } + } + pop() { + if (this._last !== nt.Undefined) { + const e = this._last.element; + return this._remove(this._last), e; + } + } + _remove(e) { + if (e.prev !== nt.Undefined && e.next !== nt.Undefined) { + const t = e.prev; + (t.next = e.next), (e.next.prev = t); + } else + e.prev === nt.Undefined && e.next === nt.Undefined + ? ((this._first = nt.Undefined), (this._last = nt.Undefined)) + : e.next === nt.Undefined + ? ((this._last = this._last.prev), (this._last.next = nt.Undefined)) + : e.prev === nt.Undefined && + ((this._first = this._first.next), + (this._first.prev = nt.Undefined)); + this._size -= 1; + } + *[Symbol.iterator]() { + let e = this._first; + for (; e !== nt.Undefined; ) yield e.element, (e = e.next); + } + toArray() { + const e = []; + for (let t = this._first; t !== nt.Undefined; t = t.next) + e.push(t.element); + return e; + } + } + var it; + !(function (e) { + function t(e) { + return (t, n = null, r) => { + let i, + o = !1; + return ( + (i = e( + (e) => { + if (!o) return i ? i.dispose() : (o = !0), t.call(n, e); + }, + null, + r + )), + o && i.dispose(), + i + ); + }; + } + function n(e, t) { + return a((n, r = null, i) => e((e) => n.call(r, t(e)), null, i)); + } + function r(e, t) { + return a((n, r = null, i) => + e( + (e) => { + t(e), n.call(r, e); + }, + null, + i + ) + ); + } + function i(e, t) { + return a((n, r = null, i) => e((e) => t(e) && n.call(r, e), null, i)); + } + function o(e, t, r) { + let i = r; + return n(e, (e) => ((i = t(i, e)), i)); + } + function a(e) { + let t; + const n = new ot({ + onFirstListenerAdd() { + t = e(n.fire, n); + }, + onLastListenerRemove() { + t.dispose(); + }, + }); + return n.event; + } + function l(e, t, n = 100, r = !1, i) { + let o, + s, + a, + u = 0; + const l = new ot({ + leakWarningThreshold: i, + onFirstListenerAdd() { + o = e((e) => { + u++, + (s = t(s, e)), + r && !a && (l.fire(s), (s = void 0)), + clearTimeout(a), + (a = setTimeout(() => { + const e = s; + (s = void 0), (a = void 0), (!r || u > 1) && l.fire(e), (u = 0); + }, n)); + }); + }, + onLastListenerRemove() { + o.dispose(); + }, + }); + return l.event; + } + function h(e) { + let t, + n = !0; + return i(e, (e) => { + const r = n || e !== t; + return (n = !1), (t = e), r; + }); + } + (e.None = () => c.None), + (e.once = t), + (e.map = n), + (e.forEach = r), + (e.filter = i), + (e.signal = function (e) { + return e; + }), + (e.any = function (...e) { + return (t, n = null, r) => + (function (...e) { + return e.forEach(s), { dispose: () => u(e) }; + })(...e.map((e) => e((e) => t.call(n, e), null, r))); + }), + (e.reduce = o), + (e.snapshot = a), + (e.debounce = l), + (e.stopwatch = function (e) { + const r = new Date().getTime(); + return n(t(e), (e) => new Date().getTime() - r); + }), + (e.latch = h), + (e.buffer = function (e, t = !1, n = []) { + let r = n.slice(), + i = e((e) => { + r ? r.push(e) : s.fire(e); + }); + const o = () => { + r && r.forEach((e) => s.fire(e)), (r = null); + }, + s = new ot({ + onFirstListenerAdd() { + i || (i = e((e) => s.fire(e))); + }, + onFirstListenerDidAdd() { + r && (t ? setTimeout(o) : o()); + }, + onLastListenerRemove() { + i && i.dispose(), (i = null); + }, + }); + return s.event; + }); + class f { + constructor(e) { + this.event = e; + } + map(e) { + return new f(n(this.event, e)); + } + forEach(e) { + return new f(r(this.event, e)); + } + filter(e) { + return new f(i(this.event, e)); + } + reduce(e, t) { + return new f(o(this.event, e, t)); + } + latch() { + return new f(h(this.event)); + } + debounce(e, t = 100, n = !1, r) { + return new f(l(this.event, e, t, n, r)); + } + on(e, t, n) { + return this.event(e, t, n); + } + once(e, n, r) { + return t(this.event)(e, n, r); + } + } + (e.chain = function (e) { + return new f(e); + }), + (e.fromNodeEventEmitter = function (e, t, n = (e) => e) { + const r = (...e) => i.fire(n(...e)), + i = new ot({ + onFirstListenerAdd: () => e.on(t, r), + onLastListenerRemove: () => e.removeListener(t, r), + }); + return i.event; + }), + (e.fromDOMEventEmitter = function (e, t, n = (e) => e) { + const r = (...e) => i.fire(n(...e)), + i = new ot({ + onFirstListenerAdd: () => e.addEventListener(t, r), + onLastListenerRemove: () => e.removeEventListener(t, r), + }); + return i.event; + }), + (e.fromPromise = function (e) { + const t = new ot(); + let n = !1; + return ( + e + .then(void 0, () => null) + .then(() => { + n ? t.fire(void 0) : setTimeout(() => t.fire(void 0), 0); + }), + (n = !0), + t.event + ); + }), + (e.toPromise = function (e) { + return new Promise((n) => t(e)(n)); + }); + })(it || (it = {})); + class ot { + constructor(e) { + (this._disposed = !1), (this._options = e), (this._leakageMon = void 0); + } + get event() { + return ( + this._event || + (this._event = (e, t, n) => { + this._listeners || (this._listeners = new rt()); + const r = this._listeners.isEmpty(); + r && + this._options && + this._options.onFirstListenerAdd && + this._options.onFirstListenerAdd(this); + const i = this._listeners.push(t ? [e, t] : e); + let o, s; + return ( + r && + this._options && + this._options.onFirstListenerDidAdd && + this._options.onFirstListenerDidAdd(this), + this._options && + this._options.onListenerDidAdd && + this._options.onListenerDidAdd(this, e, t), + this._leakageMon && + (o = this._leakageMon.check(this._listeners.size)), + (s = { + dispose: () => { + o && o(), + (s.dispose = ot._noop), + !this._disposed && + (i(), + this._options && this._options.onLastListenerRemove) && + ((this._listeners && !this._listeners.isEmpty()) || + this._options.onLastListenerRemove(this)); + }, + }), + n instanceof l ? n.add(s) : Array.isArray(n) && n.push(s), + s + ); + }), + this._event + ); + } + fire(e) { + if (this._listeners) { + this._deliveryQueue || (this._deliveryQueue = new rt()); + for (let t of this._listeners) this._deliveryQueue.push([t, e]); + for (; this._deliveryQueue.size > 0; ) { + const [e, t] = this._deliveryQueue.shift(); + try { + 'function' == typeof e ? e.call(void 0, t) : e[0].call(e[1], t); + } catch (e) { + n(e); + } + } + } + } + dispose() { + this._listeners && this._listeners.clear(), + this._deliveryQueue && this._deliveryQueue.clear(), + this._leakageMon && this._leakageMon.dispose(), + (this._disposed = !0); + } + } + ot._noop = function () {}; + const st = Object.freeze(function (e, t) { + const n = setTimeout(e.bind(t), 0); + return { + dispose() { + clearTimeout(n); + }, + }; + }); + var at; + !(function (e) { + (e.isCancellationToken = function (t) { + return ( + t === e.None || + t === e.Cancelled || + t instanceof ut || + (!(!t || 'object' != typeof t) && + 'boolean' == typeof t.isCancellationRequested && + 'function' == typeof t.onCancellationRequested) + ); + }), + (e.None = Object.freeze({ + isCancellationRequested: !1, + onCancellationRequested: it.None, + })), + (e.Cancelled = Object.freeze({ + isCancellationRequested: !0, + onCancellationRequested: st, + })); + })(at || (at = {})); + class ut { + constructor() { + (this._isCancelled = !1), (this._emitter = null); + } + cancel() { + this._isCancelled || + ((this._isCancelled = !0), + this._emitter && (this._emitter.fire(void 0), this.dispose())); + } + get isCancellationRequested() { + return this._isCancelled; + } + get onCancellationRequested() { + return this._isCancelled + ? st + : (this._emitter || (this._emitter = new ot()), this._emitter.event); + } + dispose() { + this._emitter && (this._emitter.dispose(), (this._emitter = null)); + } + } + class lt { + constructor() { + (this._keyCodeToStr = []), (this._strToKeyCode = Object.create(null)); + } + define(e, t) { + (this._keyCodeToStr[e] = t), (this._strToKeyCode[t.toLowerCase()] = e); + } + keyCodeToStr(e) { + return this._keyCodeToStr[e]; + } + strToKeyCode(e) { + return this._strToKeyCode[e.toLowerCase()] || 0; + } + } + const ct = new lt(), + ht = new lt(), + ft = new lt(); + var dt, + mt, + gt, + pt, + vt, + yt, + bt, + Ct, + _t, + St, + Et, + At, + xt, + Nt, + Lt, + wt, + Tt, + kt, + Ot, + It, + Mt, + Pt, + Rt, + Dt, + Ft, + jt, + Ut, + Vt, + $t, + Wt, + qt, + Kt, + Bt, + Ht; + !(function () { + function e(e, t, n = t, r = n) { + ct.define(e, t), ht.define(e, n), ft.define(e, r); + } + e(0, 'unknown'), + e(1, 'Backspace'), + e(2, 'Tab'), + e(3, 'Enter'), + e(4, 'Shift'), + e(5, 'Ctrl'), + e(6, 'Alt'), + e(7, 'PauseBreak'), + e(8, 'CapsLock'), + e(9, 'Escape'), + e(10, 'Space'), + e(11, 'PageUp'), + e(12, 'PageDown'), + e(13, 'End'), + e(14, 'Home'), + e(15, 'LeftArrow', 'Left'), + e(16, 'UpArrow', 'Up'), + e(17, 'RightArrow', 'Right'), + e(18, 'DownArrow', 'Down'), + e(19, 'Insert'), + e(20, 'Delete'), + e(21, '0'), + e(22, '1'), + e(23, '2'), + e(24, '3'), + e(25, '4'), + e(26, '5'), + e(27, '6'), + e(28, '7'), + e(29, '8'), + e(30, '9'), + e(31, 'A'), + e(32, 'B'), + e(33, 'C'), + e(34, 'D'), + e(35, 'E'), + e(36, 'F'), + e(37, 'G'), + e(38, 'H'), + e(39, 'I'), + e(40, 'J'), + e(41, 'K'), + e(42, 'L'), + e(43, 'M'), + e(44, 'N'), + e(45, 'O'), + e(46, 'P'), + e(47, 'Q'), + e(48, 'R'), + e(49, 'S'), + e(50, 'T'), + e(51, 'U'), + e(52, 'V'), + e(53, 'W'), + e(54, 'X'), + e(55, 'Y'), + e(56, 'Z'), + e(57, 'Meta'), + e(58, 'ContextMenu'), + e(59, 'F1'), + e(60, 'F2'), + e(61, 'F3'), + e(62, 'F4'), + e(63, 'F5'), + e(64, 'F6'), + e(65, 'F7'), + e(66, 'F8'), + e(67, 'F9'), + e(68, 'F10'), + e(69, 'F11'), + e(70, 'F12'), + e(71, 'F13'), + e(72, 'F14'), + e(73, 'F15'), + e(74, 'F16'), + e(75, 'F17'), + e(76, 'F18'), + e(77, 'F19'), + e(78, 'NumLock'), + e(79, 'ScrollLock'), + e(80, ';', ';', 'OEM_1'), + e(81, '=', '=', 'OEM_PLUS'), + e(82, ',', ',', 'OEM_COMMA'), + e(83, '-', '-', 'OEM_MINUS'), + e(84, '.', '.', 'OEM_PERIOD'), + e(85, '/', '/', 'OEM_2'), + e(86, '`', '`', 'OEM_3'), + e(110, 'ABNT_C1'), + e(111, 'ABNT_C2'), + e(87, '[', '[', 'OEM_4'), + e(88, '\\', '\\', 'OEM_5'), + e(89, ']', ']', 'OEM_6'), + e(90, "'", "'", 'OEM_7'), + e(91, 'OEM_8'), + e(92, 'OEM_102'), + e(93, 'NumPad0'), + e(94, 'NumPad1'), + e(95, 'NumPad2'), + e(96, 'NumPad3'), + e(97, 'NumPad4'), + e(98, 'NumPad5'), + e(99, 'NumPad6'), + e(100, 'NumPad7'), + e(101, 'NumPad8'), + e(102, 'NumPad9'), + e(103, 'NumPad_Multiply'), + e(104, 'NumPad_Add'), + e(105, 'NumPad_Separator'), + e(106, 'NumPad_Subtract'), + e(107, 'NumPad_Decimal'), + e(108, 'NumPad_Divide'); + })(), + (function (e) { + (e.toString = function (e) { + return ct.keyCodeToStr(e); + }), + (e.fromString = function (e) { + return ct.strToKeyCode(e); + }), + (e.toUserSettingsUS = function (e) { + return ht.keyCodeToStr(e); + }), + (e.toUserSettingsGeneral = function (e) { + return ft.keyCodeToStr(e); + }), + (e.fromUserSettings = function (e) { + return ht.strToKeyCode(e) || ft.strToKeyCode(e); + }); + })(dt || (dt = {})); + class Yt extends Oe { + constructor(e, t, n, r) { + super(e, t, n, r), + (this.selectionStartLineNumber = e), + (this.selectionStartColumn = t), + (this.positionLineNumber = n), + (this.positionColumn = r); + } + toString() { + return ( + '[' + + this.selectionStartLineNumber + + ',' + + this.selectionStartColumn + + ' -> ' + + this.positionLineNumber + + ',' + + this.positionColumn + + ']' + ); + } + equalsSelection(e) { + return Yt.selectionsEqual(this, e); + } + static selectionsEqual(e, t) { + return ( + e.selectionStartLineNumber === t.selectionStartLineNumber && + e.selectionStartColumn === t.selectionStartColumn && + e.positionLineNumber === t.positionLineNumber && + e.positionColumn === t.positionColumn + ); + } + getDirection() { + return this.selectionStartLineNumber === this.startLineNumber && + this.selectionStartColumn === this.startColumn + ? 0 + : 1; + } + setEndPosition(e, t) { + return 0 === this.getDirection() + ? new Yt(this.startLineNumber, this.startColumn, e, t) + : new Yt(e, t, this.startLineNumber, this.startColumn); + } + getPosition() { + return new ke(this.positionLineNumber, this.positionColumn); + } + setStartPosition(e, t) { + return 0 === this.getDirection() + ? new Yt(e, t, this.endLineNumber, this.endColumn) + : new Yt(this.endLineNumber, this.endColumn, e, t); + } + static fromPositions(e, t = e) { + return new Yt(e.lineNumber, e.column, t.lineNumber, t.column); + } + static liftSelection(e) { + return new Yt( + e.selectionStartLineNumber, + e.selectionStartColumn, + e.positionLineNumber, + e.positionColumn + ); + } + static selectionsArrEqual(e, t) { + if ((e && !t) || (!e && t)) return !1; + if (!e && !t) return !0; + if (e.length !== t.length) return !1; + for (let n = 0, r = e.length; n < r; n++) + if (!this.selectionsEqual(e[n], t[n])) return !1; + return !0; + } + static isISelection(e) { + return ( + e && + 'number' == typeof e.selectionStartLineNumber && + 'number' == typeof e.selectionStartColumn && + 'number' == typeof e.positionLineNumber && + 'number' == typeof e.positionColumn + ); + } + static createWithDirection(e, t, n, r, i) { + return 0 === i ? new Yt(e, t, n, r) : new Yt(n, r, e, t); + } + } + !(function (e) { + (e[(e.Unknown = 0)] = 'Unknown'), + (e[(e.Disabled = 1)] = 'Disabled'), + (e[(e.Enabled = 2)] = 'Enabled'); + })(mt || (mt = {})), + (function (e) { + (e[(e.KeepWhitespace = 1)] = 'KeepWhitespace'), + (e[(e.InsertAsSnippet = 4)] = 'InsertAsSnippet'); + })(gt || (gt = {})), + (function (e) { + (e[(e.Method = 0)] = 'Method'), + (e[(e.Function = 1)] = 'Function'), + (e[(e.Constructor = 2)] = 'Constructor'), + (e[(e.Field = 3)] = 'Field'), + (e[(e.Variable = 4)] = 'Variable'), + (e[(e.Class = 5)] = 'Class'), + (e[(e.Struct = 6)] = 'Struct'), + (e[(e.Interface = 7)] = 'Interface'), + (e[(e.Module = 8)] = 'Module'), + (e[(e.Property = 9)] = 'Property'), + (e[(e.Event = 10)] = 'Event'), + (e[(e.Operator = 11)] = 'Operator'), + (e[(e.Unit = 12)] = 'Unit'), + (e[(e.Value = 13)] = 'Value'), + (e[(e.Constant = 14)] = 'Constant'), + (e[(e.Enum = 15)] = 'Enum'), + (e[(e.EnumMember = 16)] = 'EnumMember'), + (e[(e.Keyword = 17)] = 'Keyword'), + (e[(e.Text = 18)] = 'Text'), + (e[(e.Color = 19)] = 'Color'), + (e[(e.File = 20)] = 'File'), + (e[(e.Reference = 21)] = 'Reference'), + (e[(e.Customcolor = 22)] = 'Customcolor'), + (e[(e.Folder = 23)] = 'Folder'), + (e[(e.TypeParameter = 24)] = 'TypeParameter'), + (e[(e.User = 25)] = 'User'), + (e[(e.Issue = 26)] = 'Issue'), + (e[(e.Snippet = 27)] = 'Snippet'); + })(pt || (pt = {})), + (function (e) { + e[(e.Deprecated = 1)] = 'Deprecated'; + })(vt || (vt = {})), + (function (e) { + (e[(e.Invoke = 0)] = 'Invoke'), + (e[(e.TriggerCharacter = 1)] = 'TriggerCharacter'), + (e[(e.TriggerForIncompleteCompletions = 2)] = + 'TriggerForIncompleteCompletions'); + })(yt || (yt = {})), + (function (e) { + (e[(e.EXACT = 0)] = 'EXACT'), + (e[(e.ABOVE = 1)] = 'ABOVE'), + (e[(e.BELOW = 2)] = 'BELOW'); + })(bt || (bt = {})), + (function (e) { + (e[(e.NotSet = 0)] = 'NotSet'), + (e[(e.ContentFlush = 1)] = 'ContentFlush'), + (e[(e.RecoverFromMarkers = 2)] = 'RecoverFromMarkers'), + (e[(e.Explicit = 3)] = 'Explicit'), + (e[(e.Paste = 4)] = 'Paste'), + (e[(e.Undo = 5)] = 'Undo'), + (e[(e.Redo = 6)] = 'Redo'); + })(Ct || (Ct = {})), + (function (e) { + (e[(e.LF = 1)] = 'LF'), (e[(e.CRLF = 2)] = 'CRLF'); + })(_t || (_t = {})), + (function (e) { + (e[(e.Text = 0)] = 'Text'), + (e[(e.Read = 1)] = 'Read'), + (e[(e.Write = 2)] = 'Write'); + })(St || (St = {})), + (function (e) { + (e[(e.None = 0)] = 'None'), + (e[(e.Keep = 1)] = 'Keep'), + (e[(e.Brackets = 2)] = 'Brackets'), + (e[(e.Advanced = 3)] = 'Advanced'), + (e[(e.Full = 4)] = 'Full'); + })(Et || (Et = {})), + (function (e) { + (e[(e.acceptSuggestionOnCommitCharacter = 0)] = + 'acceptSuggestionOnCommitCharacter'), + (e[(e.acceptSuggestionOnEnter = 1)] = 'acceptSuggestionOnEnter'), + (e[(e.accessibilitySupport = 2)] = 'accessibilitySupport'), + (e[(e.accessibilityPageSize = 3)] = 'accessibilityPageSize'), + (e[(e.ariaLabel = 4)] = 'ariaLabel'), + (e[(e.autoClosingBrackets = 5)] = 'autoClosingBrackets'), + (e[(e.autoClosingOvertype = 6)] = 'autoClosingOvertype'), + (e[(e.autoClosingQuotes = 7)] = 'autoClosingQuotes'), + (e[(e.autoIndent = 8)] = 'autoIndent'), + (e[(e.automaticLayout = 9)] = 'automaticLayout'), + (e[(e.autoSurround = 10)] = 'autoSurround'), + (e[(e.codeLens = 11)] = 'codeLens'), + (e[(e.colorDecorators = 12)] = 'colorDecorators'), + (e[(e.columnSelection = 13)] = 'columnSelection'), + (e[(e.comments = 14)] = 'comments'), + (e[(e.contextmenu = 15)] = 'contextmenu'), + (e[(e.copyWithSyntaxHighlighting = 16)] = 'copyWithSyntaxHighlighting'), + (e[(e.cursorBlinking = 17)] = 'cursorBlinking'), + (e[(e.cursorSmoothCaretAnimation = 18)] = 'cursorSmoothCaretAnimation'), + (e[(e.cursorStyle = 19)] = 'cursorStyle'), + (e[(e.cursorSurroundingLines = 20)] = 'cursorSurroundingLines'), + (e[(e.cursorSurroundingLinesStyle = 21)] = + 'cursorSurroundingLinesStyle'), + (e[(e.cursorWidth = 22)] = 'cursorWidth'), + (e[(e.disableLayerHinting = 23)] = 'disableLayerHinting'), + (e[(e.disableMonospaceOptimizations = 24)] = + 'disableMonospaceOptimizations'), + (e[(e.dragAndDrop = 25)] = 'dragAndDrop'), + (e[(e.emptySelectionClipboard = 26)] = 'emptySelectionClipboard'), + (e[(e.extraEditorClassName = 27)] = 'extraEditorClassName'), + (e[(e.fastScrollSensitivity = 28)] = 'fastScrollSensitivity'), + (e[(e.find = 29)] = 'find'), + (e[(e.fixedOverflowWidgets = 30)] = 'fixedOverflowWidgets'), + (e[(e.folding = 31)] = 'folding'), + (e[(e.foldingStrategy = 32)] = 'foldingStrategy'), + (e[(e.foldingHighlight = 33)] = 'foldingHighlight'), + (e[(e.unfoldOnClickAfterEndOfLine = 34)] = + 'unfoldOnClickAfterEndOfLine'), + (e[(e.fontFamily = 35)] = 'fontFamily'), + (e[(e.fontInfo = 36)] = 'fontInfo'), + (e[(e.fontLigatures = 37)] = 'fontLigatures'), + (e[(e.fontSize = 38)] = 'fontSize'), + (e[(e.fontWeight = 39)] = 'fontWeight'), + (e[(e.formatOnPaste = 40)] = 'formatOnPaste'), + (e[(e.formatOnType = 41)] = 'formatOnType'), + (e[(e.glyphMargin = 42)] = 'glyphMargin'), + (e[(e.gotoLocation = 43)] = 'gotoLocation'), + (e[(e.hideCursorInOverviewRuler = 44)] = 'hideCursorInOverviewRuler'), + (e[(e.highlightActiveIndentGuide = 45)] = 'highlightActiveIndentGuide'), + (e[(e.hover = 46)] = 'hover'), + (e[(e.inDiffEditor = 47)] = 'inDiffEditor'), + (e[(e.letterSpacing = 48)] = 'letterSpacing'), + (e[(e.lightbulb = 49)] = 'lightbulb'), + (e[(e.lineDecorationsWidth = 50)] = 'lineDecorationsWidth'), + (e[(e.lineHeight = 51)] = 'lineHeight'), + (e[(e.lineNumbers = 52)] = 'lineNumbers'), + (e[(e.lineNumbersMinChars = 53)] = 'lineNumbersMinChars'), + (e[(e.links = 54)] = 'links'), + (e[(e.matchBrackets = 55)] = 'matchBrackets'), + (e[(e.minimap = 56)] = 'minimap'), + (e[(e.mouseStyle = 57)] = 'mouseStyle'), + (e[(e.mouseWheelScrollSensitivity = 58)] = + 'mouseWheelScrollSensitivity'), + (e[(e.mouseWheelZoom = 59)] = 'mouseWheelZoom'), + (e[(e.multiCursorMergeOverlapping = 60)] = + 'multiCursorMergeOverlapping'), + (e[(e.multiCursorModifier = 61)] = 'multiCursorModifier'), + (e[(e.multiCursorPaste = 62)] = 'multiCursorPaste'), + (e[(e.occurrencesHighlight = 63)] = 'occurrencesHighlight'), + (e[(e.overviewRulerBorder = 64)] = 'overviewRulerBorder'), + (e[(e.overviewRulerLanes = 65)] = 'overviewRulerLanes'), + (e[(e.padding = 66)] = 'padding'), + (e[(e.parameterHints = 67)] = 'parameterHints'), + (e[(e.peekWidgetDefaultFocus = 68)] = 'peekWidgetDefaultFocus'), + (e[(e.definitionLinkOpensInPeek = 69)] = 'definitionLinkOpensInPeek'), + (e[(e.quickSuggestions = 70)] = 'quickSuggestions'), + (e[(e.quickSuggestionsDelay = 71)] = 'quickSuggestionsDelay'), + (e[(e.readOnly = 72)] = 'readOnly'), + (e[(e.renameOnType = 73)] = 'renameOnType'), + (e[(e.renderControlCharacters = 74)] = 'renderControlCharacters'), + (e[(e.renderIndentGuides = 75)] = 'renderIndentGuides'), + (e[(e.renderFinalNewline = 76)] = 'renderFinalNewline'), + (e[(e.renderLineHighlight = 77)] = 'renderLineHighlight'), + (e[(e.renderLineHighlightOnlyWhenFocus = 78)] = + 'renderLineHighlightOnlyWhenFocus'), + (e[(e.renderValidationDecorations = 79)] = + 'renderValidationDecorations'), + (e[(e.renderWhitespace = 80)] = 'renderWhitespace'), + (e[(e.revealHorizontalRightPadding = 81)] = + 'revealHorizontalRightPadding'), + (e[(e.roundedSelection = 82)] = 'roundedSelection'), + (e[(e.rulers = 83)] = 'rulers'), + (e[(e.scrollbar = 84)] = 'scrollbar'), + (e[(e.scrollBeyondLastColumn = 85)] = 'scrollBeyondLastColumn'), + (e[(e.scrollBeyondLastLine = 86)] = 'scrollBeyondLastLine'), + (e[(e.scrollPredominantAxis = 87)] = 'scrollPredominantAxis'), + (e[(e.selectionClipboard = 88)] = 'selectionClipboard'), + (e[(e.selectionHighlight = 89)] = 'selectionHighlight'), + (e[(e.selectOnLineNumbers = 90)] = 'selectOnLineNumbers'), + (e[(e.showFoldingControls = 91)] = 'showFoldingControls'), + (e[(e.showUnused = 92)] = 'showUnused'), + (e[(e.snippetSuggestions = 93)] = 'snippetSuggestions'), + (e[(e.smoothScrolling = 94)] = 'smoothScrolling'), + (e[(e.stopRenderingLineAfter = 95)] = 'stopRenderingLineAfter'), + (e[(e.suggest = 96)] = 'suggest'), + (e[(e.suggestFontSize = 97)] = 'suggestFontSize'), + (e[(e.suggestLineHeight = 98)] = 'suggestLineHeight'), + (e[(e.suggestOnTriggerCharacters = 99)] = 'suggestOnTriggerCharacters'), + (e[(e.suggestSelection = 100)] = 'suggestSelection'), + (e[(e.tabCompletion = 101)] = 'tabCompletion'), + (e[(e.tabIndex = 102)] = 'tabIndex'), + (e[(e.unusualLineTerminators = 103)] = 'unusualLineTerminators'), + (e[(e.useTabStops = 104)] = 'useTabStops'), + (e[(e.wordSeparators = 105)] = 'wordSeparators'), + (e[(e.wordWrap = 106)] = 'wordWrap'), + (e[(e.wordWrapBreakAfterCharacters = 107)] = + 'wordWrapBreakAfterCharacters'), + (e[(e.wordWrapBreakBeforeCharacters = 108)] = + 'wordWrapBreakBeforeCharacters'), + (e[(e.wordWrapColumn = 109)] = 'wordWrapColumn'), + (e[(e.wordWrapMinified = 110)] = 'wordWrapMinified'), + (e[(e.wrappingIndent = 111)] = 'wrappingIndent'), + (e[(e.wrappingStrategy = 112)] = 'wrappingStrategy'), + (e[(e.showDeprecated = 113)] = 'showDeprecated'), + (e[(e.editorClassName = 114)] = 'editorClassName'), + (e[(e.pixelRatio = 115)] = 'pixelRatio'), + (e[(e.tabFocusMode = 116)] = 'tabFocusMode'), + (e[(e.layoutInfo = 117)] = 'layoutInfo'), + (e[(e.wrappingInfo = 118)] = 'wrappingInfo'); + })(At || (At = {})), + (function (e) { + (e[(e.TextDefined = 0)] = 'TextDefined'), + (e[(e.LF = 1)] = 'LF'), + (e[(e.CRLF = 2)] = 'CRLF'); + })(xt || (xt = {})), + (function (e) { + (e[(e.LF = 0)] = 'LF'), (e[(e.CRLF = 1)] = 'CRLF'); + })(Nt || (Nt = {})), + (function (e) { + (e[(e.None = 0)] = 'None'), + (e[(e.Indent = 1)] = 'Indent'), + (e[(e.IndentOutdent = 2)] = 'IndentOutdent'), + (e[(e.Outdent = 3)] = 'Outdent'); + })(Lt || (Lt = {})), + (function (e) { + (e[(e.Unknown = 0)] = 'Unknown'), + (e[(e.Backspace = 1)] = 'Backspace'), + (e[(e.Tab = 2)] = 'Tab'), + (e[(e.Enter = 3)] = 'Enter'), + (e[(e.Shift = 4)] = 'Shift'), + (e[(e.Ctrl = 5)] = 'Ctrl'), + (e[(e.Alt = 6)] = 'Alt'), + (e[(e.PauseBreak = 7)] = 'PauseBreak'), + (e[(e.CapsLock = 8)] = 'CapsLock'), + (e[(e.Escape = 9)] = 'Escape'), + (e[(e.Space = 10)] = 'Space'), + (e[(e.PageUp = 11)] = 'PageUp'), + (e[(e.PageDown = 12)] = 'PageDown'), + (e[(e.End = 13)] = 'End'), + (e[(e.Home = 14)] = 'Home'), + (e[(e.LeftArrow = 15)] = 'LeftArrow'), + (e[(e.UpArrow = 16)] = 'UpArrow'), + (e[(e.RightArrow = 17)] = 'RightArrow'), + (e[(e.DownArrow = 18)] = 'DownArrow'), + (e[(e.Insert = 19)] = 'Insert'), + (e[(e.Delete = 20)] = 'Delete'), + (e[(e.KEY_0 = 21)] = 'KEY_0'), + (e[(e.KEY_1 = 22)] = 'KEY_1'), + (e[(e.KEY_2 = 23)] = 'KEY_2'), + (e[(e.KEY_3 = 24)] = 'KEY_3'), + (e[(e.KEY_4 = 25)] = 'KEY_4'), + (e[(e.KEY_5 = 26)] = 'KEY_5'), + (e[(e.KEY_6 = 27)] = 'KEY_6'), + (e[(e.KEY_7 = 28)] = 'KEY_7'), + (e[(e.KEY_8 = 29)] = 'KEY_8'), + (e[(e.KEY_9 = 30)] = 'KEY_9'), + (e[(e.KEY_A = 31)] = 'KEY_A'), + (e[(e.KEY_B = 32)] = 'KEY_B'), + (e[(e.KEY_C = 33)] = 'KEY_C'), + (e[(e.KEY_D = 34)] = 'KEY_D'), + (e[(e.KEY_E = 35)] = 'KEY_E'), + (e[(e.KEY_F = 36)] = 'KEY_F'), + (e[(e.KEY_G = 37)] = 'KEY_G'), + (e[(e.KEY_H = 38)] = 'KEY_H'), + (e[(e.KEY_I = 39)] = 'KEY_I'), + (e[(e.KEY_J = 40)] = 'KEY_J'), + (e[(e.KEY_K = 41)] = 'KEY_K'), + (e[(e.KEY_L = 42)] = 'KEY_L'), + (e[(e.KEY_M = 43)] = 'KEY_M'), + (e[(e.KEY_N = 44)] = 'KEY_N'), + (e[(e.KEY_O = 45)] = 'KEY_O'), + (e[(e.KEY_P = 46)] = 'KEY_P'), + (e[(e.KEY_Q = 47)] = 'KEY_Q'), + (e[(e.KEY_R = 48)] = 'KEY_R'), + (e[(e.KEY_S = 49)] = 'KEY_S'), + (e[(e.KEY_T = 50)] = 'KEY_T'), + (e[(e.KEY_U = 51)] = 'KEY_U'), + (e[(e.KEY_V = 52)] = 'KEY_V'), + (e[(e.KEY_W = 53)] = 'KEY_W'), + (e[(e.KEY_X = 54)] = 'KEY_X'), + (e[(e.KEY_Y = 55)] = 'KEY_Y'), + (e[(e.KEY_Z = 56)] = 'KEY_Z'), + (e[(e.Meta = 57)] = 'Meta'), + (e[(e.ContextMenu = 58)] = 'ContextMenu'), + (e[(e.F1 = 59)] = 'F1'), + (e[(e.F2 = 60)] = 'F2'), + (e[(e.F3 = 61)] = 'F3'), + (e[(e.F4 = 62)] = 'F4'), + (e[(e.F5 = 63)] = 'F5'), + (e[(e.F6 = 64)] = 'F6'), + (e[(e.F7 = 65)] = 'F7'), + (e[(e.F8 = 66)] = 'F8'), + (e[(e.F9 = 67)] = 'F9'), + (e[(e.F10 = 68)] = 'F10'), + (e[(e.F11 = 69)] = 'F11'), + (e[(e.F12 = 70)] = 'F12'), + (e[(e.F13 = 71)] = 'F13'), + (e[(e.F14 = 72)] = 'F14'), + (e[(e.F15 = 73)] = 'F15'), + (e[(e.F16 = 74)] = 'F16'), + (e[(e.F17 = 75)] = 'F17'), + (e[(e.F18 = 76)] = 'F18'), + (e[(e.F19 = 77)] = 'F19'), + (e[(e.NumLock = 78)] = 'NumLock'), + (e[(e.ScrollLock = 79)] = 'ScrollLock'), + (e[(e.US_SEMICOLON = 80)] = 'US_SEMICOLON'), + (e[(e.US_EQUAL = 81)] = 'US_EQUAL'), + (e[(e.US_COMMA = 82)] = 'US_COMMA'), + (e[(e.US_MINUS = 83)] = 'US_MINUS'), + (e[(e.US_DOT = 84)] = 'US_DOT'), + (e[(e.US_SLASH = 85)] = 'US_SLASH'), + (e[(e.US_BACKTICK = 86)] = 'US_BACKTICK'), + (e[(e.US_OPEN_SQUARE_BRACKET = 87)] = 'US_OPEN_SQUARE_BRACKET'), + (e[(e.US_BACKSLASH = 88)] = 'US_BACKSLASH'), + (e[(e.US_CLOSE_SQUARE_BRACKET = 89)] = 'US_CLOSE_SQUARE_BRACKET'), + (e[(e.US_QUOTE = 90)] = 'US_QUOTE'), + (e[(e.OEM_8 = 91)] = 'OEM_8'), + (e[(e.OEM_102 = 92)] = 'OEM_102'), + (e[(e.NUMPAD_0 = 93)] = 'NUMPAD_0'), + (e[(e.NUMPAD_1 = 94)] = 'NUMPAD_1'), + (e[(e.NUMPAD_2 = 95)] = 'NUMPAD_2'), + (e[(e.NUMPAD_3 = 96)] = 'NUMPAD_3'), + (e[(e.NUMPAD_4 = 97)] = 'NUMPAD_4'), + (e[(e.NUMPAD_5 = 98)] = 'NUMPAD_5'), + (e[(e.NUMPAD_6 = 99)] = 'NUMPAD_6'), + (e[(e.NUMPAD_7 = 100)] = 'NUMPAD_7'), + (e[(e.NUMPAD_8 = 101)] = 'NUMPAD_8'), + (e[(e.NUMPAD_9 = 102)] = 'NUMPAD_9'), + (e[(e.NUMPAD_MULTIPLY = 103)] = 'NUMPAD_MULTIPLY'), + (e[(e.NUMPAD_ADD = 104)] = 'NUMPAD_ADD'), + (e[(e.NUMPAD_SEPARATOR = 105)] = 'NUMPAD_SEPARATOR'), + (e[(e.NUMPAD_SUBTRACT = 106)] = 'NUMPAD_SUBTRACT'), + (e[(e.NUMPAD_DECIMAL = 107)] = 'NUMPAD_DECIMAL'), + (e[(e.NUMPAD_DIVIDE = 108)] = 'NUMPAD_DIVIDE'), + (e[(e.KEY_IN_COMPOSITION = 109)] = 'KEY_IN_COMPOSITION'), + (e[(e.ABNT_C1 = 110)] = 'ABNT_C1'), + (e[(e.ABNT_C2 = 111)] = 'ABNT_C2'), + (e[(e.MAX_VALUE = 112)] = 'MAX_VALUE'); + })(wt || (wt = {})), + (function (e) { + (e[(e.Hint = 1)] = 'Hint'), + (e[(e.Info = 2)] = 'Info'), + (e[(e.Warning = 4)] = 'Warning'), + (e[(e.Error = 8)] = 'Error'); + })(Tt || (Tt = {})), + (function (e) { + (e[(e.Unnecessary = 1)] = 'Unnecessary'), + (e[(e.Deprecated = 2)] = 'Deprecated'); + })(kt || (kt = {})), + (function (e) { + (e[(e.Inline = 1)] = 'Inline'), (e[(e.Gutter = 2)] = 'Gutter'); + })(Ot || (Ot = {})), + (function (e) { + (e[(e.UNKNOWN = 0)] = 'UNKNOWN'), + (e[(e.TEXTAREA = 1)] = 'TEXTAREA'), + (e[(e.GUTTER_GLYPH_MARGIN = 2)] = 'GUTTER_GLYPH_MARGIN'), + (e[(e.GUTTER_LINE_NUMBERS = 3)] = 'GUTTER_LINE_NUMBERS'), + (e[(e.GUTTER_LINE_DECORATIONS = 4)] = 'GUTTER_LINE_DECORATIONS'), + (e[(e.GUTTER_VIEW_ZONE = 5)] = 'GUTTER_VIEW_ZONE'), + (e[(e.CONTENT_TEXT = 6)] = 'CONTENT_TEXT'), + (e[(e.CONTENT_EMPTY = 7)] = 'CONTENT_EMPTY'), + (e[(e.CONTENT_VIEW_ZONE = 8)] = 'CONTENT_VIEW_ZONE'), + (e[(e.CONTENT_WIDGET = 9)] = 'CONTENT_WIDGET'), + (e[(e.OVERVIEW_RULER = 10)] = 'OVERVIEW_RULER'), + (e[(e.SCROLLBAR = 11)] = 'SCROLLBAR'), + (e[(e.OVERLAY_WIDGET = 12)] = 'OVERLAY_WIDGET'), + (e[(e.OUTSIDE_EDITOR = 13)] = 'OUTSIDE_EDITOR'); + })(It || (It = {})), + (function (e) { + (e[(e.TOP_RIGHT_CORNER = 0)] = 'TOP_RIGHT_CORNER'), + (e[(e.BOTTOM_RIGHT_CORNER = 1)] = 'BOTTOM_RIGHT_CORNER'), + (e[(e.TOP_CENTER = 2)] = 'TOP_CENTER'); + })(Mt || (Mt = {})), + (function (e) { + (e[(e.Left = 1)] = 'Left'), + (e[(e.Center = 2)] = 'Center'), + (e[(e.Right = 4)] = 'Right'), + (e[(e.Full = 7)] = 'Full'); + })(Pt || (Pt = {})), + (function (e) { + (e[(e.Off = 0)] = 'Off'), + (e[(e.On = 1)] = 'On'), + (e[(e.Relative = 2)] = 'Relative'), + (e[(e.Interval = 3)] = 'Interval'), + (e[(e.Custom = 4)] = 'Custom'); + })(Rt || (Rt = {})), + (function (e) { + (e[(e.None = 0)] = 'None'), + (e[(e.Text = 1)] = 'Text'), + (e[(e.Blocks = 2)] = 'Blocks'); + })(Dt || (Dt = {})), + (function (e) { + (e[(e.Smooth = 0)] = 'Smooth'), (e[(e.Immediate = 1)] = 'Immediate'); + })(Ft || (Ft = {})), + (function (e) { + (e[(e.Auto = 1)] = 'Auto'), + (e[(e.Hidden = 2)] = 'Hidden'), + (e[(e.Visible = 3)] = 'Visible'); + })(jt || (jt = {})), + (function (e) { + (e[(e.LTR = 0)] = 'LTR'), (e[(e.RTL = 1)] = 'RTL'); + })(Ut || (Ut = {})), + (function (e) { + (e[(e.Invoke = 1)] = 'Invoke'), + (e[(e.TriggerCharacter = 2)] = 'TriggerCharacter'), + (e[(e.ContentChange = 3)] = 'ContentChange'); + })(Vt || (Vt = {})), + (function (e) { + (e[(e.File = 0)] = 'File'), + (e[(e.Module = 1)] = 'Module'), + (e[(e.Namespace = 2)] = 'Namespace'), + (e[(e.Package = 3)] = 'Package'), + (e[(e.Class = 4)] = 'Class'), + (e[(e.Method = 5)] = 'Method'), + (e[(e.Property = 6)] = 'Property'), + (e[(e.Field = 7)] = 'Field'), + (e[(e.Constructor = 8)] = 'Constructor'), + (e[(e.Enum = 9)] = 'Enum'), + (e[(e.Interface = 10)] = 'Interface'), + (e[(e.Function = 11)] = 'Function'), + (e[(e.Variable = 12)] = 'Variable'), + (e[(e.Constant = 13)] = 'Constant'), + (e[(e.String = 14)] = 'String'), + (e[(e.Number = 15)] = 'Number'), + (e[(e.Boolean = 16)] = 'Boolean'), + (e[(e.Array = 17)] = 'Array'), + (e[(e.Object = 18)] = 'Object'), + (e[(e.Key = 19)] = 'Key'), + (e[(e.Null = 20)] = 'Null'), + (e[(e.EnumMember = 21)] = 'EnumMember'), + (e[(e.Struct = 22)] = 'Struct'), + (e[(e.Event = 23)] = 'Event'), + (e[(e.Operator = 24)] = 'Operator'), + (e[(e.TypeParameter = 25)] = 'TypeParameter'); + })($t || ($t = {})), + (function (e) { + e[(e.Deprecated = 1)] = 'Deprecated'; + })(Wt || (Wt = {})), + (function (e) { + (e[(e.Hidden = 0)] = 'Hidden'), + (e[(e.Blink = 1)] = 'Blink'), + (e[(e.Smooth = 2)] = 'Smooth'), + (e[(e.Phase = 3)] = 'Phase'), + (e[(e.Expand = 4)] = 'Expand'), + (e[(e.Solid = 5)] = 'Solid'); + })(qt || (qt = {})), + (function (e) { + (e[(e.Line = 1)] = 'Line'), + (e[(e.Block = 2)] = 'Block'), + (e[(e.Underline = 3)] = 'Underline'), + (e[(e.LineThin = 4)] = 'LineThin'), + (e[(e.BlockOutline = 5)] = 'BlockOutline'), + (e[(e.UnderlineThin = 6)] = 'UnderlineThin'); + })(Kt || (Kt = {})), + (function (e) { + (e[(e.AlwaysGrowsWhenTypingAtEdges = 0)] = + 'AlwaysGrowsWhenTypingAtEdges'), + (e[(e.NeverGrowsWhenTypingAtEdges = 1)] = + 'NeverGrowsWhenTypingAtEdges'), + (e[(e.GrowsOnlyWhenTypingBefore = 2)] = 'GrowsOnlyWhenTypingBefore'), + (e[(e.GrowsOnlyWhenTypingAfter = 3)] = 'GrowsOnlyWhenTypingAfter'); + })(Bt || (Bt = {})), + (function (e) { + (e[(e.None = 0)] = 'None'), + (e[(e.Same = 1)] = 'Same'), + (e[(e.Indent = 2)] = 'Indent'), + (e[(e.DeepIndent = 3)] = 'DeepIndent'); + })(Ht || (Ht = {})); + class Gt { + static chord(e, t) { + return (function (e, t) { + return (e | (((65535 & t) << 16) >>> 0)) >>> 0; + })(e, t); + } + } + (Gt.CtrlCmd = 2048), (Gt.Shift = 1024), (Gt.Alt = 512), (Gt.WinCtrl = 256); + var zt = function (e, t, n, r) { + return new (n || (n = Promise))(function (i, o) { + function s(e) { + try { + u(r.next(e)); + } catch (e) { + o(e); + } + } + function a(e) { + try { + u(r.throw(e)); + } catch (e) { + o(e); + } + } + function u(e) { + var t; + e.done + ? i(e.value) + : ((t = e.value), + t instanceof n + ? t + : new n(function (e) { + e(t); + })).then(s, a); + } + u((r = r.apply(e, t || [])).next()); + }); + }; + class Jt extends class { + constructor(e, t, n, r) { + (this._uri = e), + (this._lines = t), + (this._eol = n), + (this._versionId = r), + (this._lineStarts = null), + (this._cachedTextValue = null); + } + dispose() { + this._lines.length = 0; + } + getText() { + return ( + null === this._cachedTextValue && + (this._cachedTextValue = this._lines.join(this._eol)), + this._cachedTextValue + ); + } + onEvents(e) { + e.eol && + e.eol !== this._eol && + ((this._eol = e.eol), (this._lineStarts = null)); + const t = e.changes; + for (const e of t) + this._acceptDeleteRange(e.range), + this._acceptInsertText( + new ke(e.range.startLineNumber, e.range.startColumn), + e.text + ); + (this._versionId = e.versionId), (this._cachedTextValue = null); + } + _ensureLineStarts() { + if (!this._lineStarts) { + const e = this._eol.length, + t = this._lines.length, + n = new Uint32Array(t); + for (let r = 0; r < t; r++) n[r] = this._lines[r].length + e; + this._lineStarts = new Ke(n); + } + } + _setLineText(e, t) { + (this._lines[e] = t), + this._lineStarts && + this._lineStarts.changeValue( + e, + this._lines[e].length + this._eol.length + ); + } + _acceptDeleteRange(e) { + if (e.startLineNumber !== e.endLineNumber) + this._setLineText( + e.startLineNumber - 1, + this._lines[e.startLineNumber - 1].substring(0, e.startColumn - 1) + + this._lines[e.endLineNumber - 1].substring(e.endColumn - 1) + ), + this._lines.splice( + e.startLineNumber, + e.endLineNumber - e.startLineNumber + ), + this._lineStarts && + this._lineStarts.removeValues( + e.startLineNumber, + e.endLineNumber - e.startLineNumber + ); + else { + if (e.startColumn === e.endColumn) return; + this._setLineText( + e.startLineNumber - 1, + this._lines[e.startLineNumber - 1].substring(0, e.startColumn - 1) + + this._lines[e.startLineNumber - 1].substring(e.endColumn - 1) + ); + } + } + _acceptInsertText(e, t) { + if (0 === t.length) return; + let n = t.split(/\r\n|\r|\n/); + if (1 === n.length) + return void this._setLineText( + e.lineNumber - 1, + this._lines[e.lineNumber - 1].substring(0, e.column - 1) + + n[0] + + this._lines[e.lineNumber - 1].substring(e.column - 1) + ); + (n[n.length - 1] += this._lines[e.lineNumber - 1].substring( + e.column - 1 + )), + this._setLineText( + e.lineNumber - 1, + this._lines[e.lineNumber - 1].substring(0, e.column - 1) + n[0] + ); + let r = new Uint32Array(n.length - 1); + for (let t = 1; t < n.length; t++) + this._lines.splice(e.lineNumber + t - 1, 0, n[t]), + (r[t - 1] = n[t].length + this._eol.length); + this._lineStarts && this._lineStarts.insertValues(e.lineNumber, r); + } + } { + get uri() { + return this._uri; + } + get version() { + return this._versionId; + } + get eol() { + return this._eol; + } + getValue() { + return this.getText(); + } + getLinesContent() { + return this._lines.slice(0); + } + getLineCount() { + return this._lines.length; + } + getLineContent(e) { + return this._lines[e - 1]; + } + getWordAtPosition(e, t) { + let n = Ye( + e.column, + (function (e) { + let t = Be; + if (e && e instanceof RegExp) + if (e.global) t = e; + else { + let n = 'g'; + e.ignoreCase && (n += 'i'), + e.multiline && (n += 'm'), + e.unicode && (n += 'u'), + (t = new RegExp(e.source, n)); + } + return (t.lastIndex = 0), t; + })(t), + this._lines[e.lineNumber - 1], + 0 + ); + return n + ? new Oe(e.lineNumber, n.startColumn, e.lineNumber, n.endColumn) + : null; + } + words(e) { + const t = this._lines, + n = this._wordenize.bind(this); + let r = 0, + i = '', + o = 0, + s = []; + return { + *[Symbol.iterator]() { + for (;;) + if (o < s.length) { + const e = i.substring(s[o].start, s[o].end); + (o += 1), yield e; + } else { + if (!(r < t.length)) break; + (i = t[r]), (s = n(i, e)), (o = 0), (r += 1); + } + }, + }; + } + getLineWords(e, t) { + let n = this._lines[e - 1], + r = this._wordenize(n, t), + i = []; + for (const e of r) + i.push({ + word: n.substring(e.start, e.end), + startColumn: e.start + 1, + endColumn: e.end + 1, + }); + return i; + } + _wordenize(e, t) { + const n = []; + let r; + for (t.lastIndex = 0; (r = t.exec(e)) && 0 !== r[0].length; ) + n.push({ start: r.index, end: r.index + r[0].length }); + return n; + } + getValueInRange(e) { + if ((e = this._validateRange(e)).startLineNumber === e.endLineNumber) + return this._lines[e.startLineNumber - 1].substring( + e.startColumn - 1, + e.endColumn - 1 + ); + let t = this._eol, + n = e.startLineNumber - 1, + r = e.endLineNumber - 1, + i = []; + i.push(this._lines[n].substring(e.startColumn - 1)); + for (let e = n + 1; e < r; e++) i.push(this._lines[e]); + return i.push(this._lines[r].substring(0, e.endColumn - 1)), i.join(t); + } + offsetAt(e) { + return ( + (e = this._validatePosition(e)), + this._ensureLineStarts(), + this._lineStarts.getAccumulatedValue(e.lineNumber - 2) + (e.column - 1) + ); + } + positionAt(e) { + (e = Math.floor(e)), (e = Math.max(0, e)), this._ensureLineStarts(); + let t = this._lineStarts.getIndexOf(e), + n = this._lines[t.index].length; + return { lineNumber: 1 + t.index, column: 1 + Math.min(t.remainder, n) }; + } + _validateRange(e) { + const t = this._validatePosition({ + lineNumber: e.startLineNumber, + column: e.startColumn, + }), + n = this._validatePosition({ + lineNumber: e.endLineNumber, + column: e.endColumn, + }); + return t.lineNumber !== e.startLineNumber || + t.column !== e.startColumn || + n.lineNumber !== e.endLineNumber || + n.column !== e.endColumn + ? { + startLineNumber: t.lineNumber, + startColumn: t.column, + endLineNumber: n.lineNumber, + endColumn: n.column, + } + : e; + } + _validatePosition(e) { + if (!ke.isIPosition(e)) throw new Error('bad position'); + let { lineNumber: t, column: n } = e, + r = !1; + if (t < 1) (t = 1), (n = 1), (r = !0); + else if (t > this._lines.length) + (t = this._lines.length), (n = this._lines[t - 1].length + 1), (r = !0); + else { + let e = this._lines[t - 1].length + 1; + n < 1 ? ((n = 1), (r = !0)) : n > e && ((n = e), (r = !0)); + } + return r ? { lineNumber: t, column: n } : e; + } + } + class Qt { + constructor(e, t) { + (this._host = e), + (this._models = Object.create(null)), + (this._foreignModuleFactory = t), + (this._foreignModule = null); + } + dispose() { + this._models = Object.create(null); + } + _getModel(e) { + return this._models[e]; + } + _getModels() { + let e = []; + return ( + Object.keys(this._models).forEach((t) => e.push(this._models[t])), e + ); + } + acceptNewModel(e) { + this._models[e.url] = new Jt( + be.parse(e.url), + e.lines, + e.EOL, + e.versionId + ); + } + acceptModelChanged(e, t) { + this._models[e] && this._models[e].onEvents(t); + } + acceptRemovedModel(e) { + this._models[e] && delete this._models[e]; + } + computeDiff(e, t, n, r) { + return zt(this, void 0, void 0, function* () { + const i = this._getModel(e), + o = this._getModel(t); + if (!i || !o) return null; + const s = i.getLinesContent(), + a = o.getLinesContent(), + u = new Fe(s, a, { + shouldComputeCharChanges: !0, + shouldPostProcessCharChanges: !0, + shouldIgnoreTrimWhitespace: n, + shouldMakePrettyDiff: !0, + maxComputationTime: r, + }).computeDiff(), + l = !(u.changes.length > 0) && this._modelsAreIdentical(i, o); + return { quitEarly: u.quitEarly, identical: l, changes: u.changes }; + }); + } + _modelsAreIdentical(e, t) { + const n = e.getLineCount(); + if (n !== t.getLineCount()) return !1; + for (let r = 1; r <= n; r++) + if (e.getLineContent(r) !== t.getLineContent(r)) return !1; + return !0; + } + computeMoreMinimalEdits(e, t) { + return zt(this, void 0, void 0, function* () { + const n = this._getModel(e); + if (!n) return t; + const r = []; + let i; + t = I(t, (e, t) => + e.range && t.range + ? Oe.compareRangesUsingStarts(e.range, t.range) + : (e.range ? 0 : 1) - (t.range ? 0 : 1) + ); + for (let { range: e, text: o, eol: s } of t) { + if (('number' == typeof s && (i = s), Oe.isEmpty(e) && !o)) continue; + const t = n.getValueInRange(e); + if (((o = o.replace(/\r\n|\n|\r/g, n.eol)), t === o)) continue; + if (Math.max(o.length, t.length) > Qt._diffLimit) { + r.push({ range: e, text: o }); + continue; + } + const a = B(t, o, !1), + u = n.offsetAt(Oe.lift(e).getStartPosition()); + for (const e of a) { + const t = n.positionAt(u + e.originalStart), + i = n.positionAt(u + e.originalStart + e.originalLength), + s = { + text: o.substr(e.modifiedStart, e.modifiedLength), + range: { + startLineNumber: t.lineNumber, + startColumn: t.column, + endLineNumber: i.lineNumber, + endColumn: i.column, + }, + }; + n.getValueInRange(s.range) !== s.text && r.push(s); + } + } + return ( + 'number' == typeof i && + r.push({ + eol: i, + text: '', + range: { + startLineNumber: 0, + startColumn: 0, + endLineNumber: 0, + endColumn: 0, + }, + }), + r + ); + }); + } + computeLinks(e) { + return zt(this, void 0, void 0, function* () { + let t = this._getModel(e); + return t + ? (function (e) { + return e && + 'function' == typeof e.getLineCount && + 'function' == typeof e.getLineContent + ? et.computeLinks(e) + : []; + })(t) + : null; + }); + } + textualSuggest(e, t, n, r) { + return zt(this, void 0, void 0, function* () { + const i = this._getModel(e); + if (!i) return null; + const o = [], + s = new Set(), + a = new RegExp(n, r), + u = i.getWordAtPosition(t, a); + u && s.add(i.getValueInRange(u)); + for (let e of i.words(a)) + if ( + !s.has(e) && + (s.add(e), + isNaN(Number(e)) && (o.push(e), s.size > Qt._suggestionsLimit)) + ) + break; + return o; + }); + } + computeWordRanges(e, t, n, r) { + return zt(this, void 0, void 0, function* () { + let i = this._getModel(e); + if (!i) return Object.create(null); + const o = new RegExp(n, r), + s = Object.create(null); + for (let e = t.startLineNumber; e < t.endLineNumber; e++) { + let t = i.getLineWords(e, o); + for (const n of t) { + if (!isNaN(Number(n.word))) continue; + let t = s[n.word]; + t || ((t = []), (s[n.word] = t)), + t.push({ + startLineNumber: e, + startColumn: n.startColumn, + endLineNumber: e, + endColumn: n.endColumn, + }); + } + } + return s; + }); + } + navigateValueSet(e, t, n, r, i) { + return zt(this, void 0, void 0, function* () { + let o = this._getModel(e); + if (!o) return null; + let s = new RegExp(r, i); + t.startColumn === t.endColumn && + (t = { + startLineNumber: t.startLineNumber, + startColumn: t.startColumn, + endLineNumber: t.endLineNumber, + endColumn: t.endColumn + 1, + }); + let a = o.getValueInRange(t), + u = o.getWordAtPosition( + { lineNumber: t.startLineNumber, column: t.startColumn }, + s + ); + if (!u) return null; + let l = o.getValueInRange(u); + return tt.INSTANCE.navigateValueSet(t, a, u, l, n); + }); + } + loadForeignModule(e, t, n) { + let r = { + host: T(n, (e, t) => this._host.fhr(e, t)), + getMirrorModels: () => this._getModels(), + }; + return this._foreignModuleFactory + ? ((this._foreignModule = this._foreignModuleFactory(r, t)), + Promise.resolve(w(this._foreignModule))) + : Promise.reject(new Error('Unexpected usage')); + } + fmr(e, t) { + if (!this._foreignModule || 'function' != typeof this._foreignModule[e]) + return Promise.reject( + new Error('Missing requestHandler or method: ' + e) + ); + try { + return Promise.resolve( + this._foreignModule[e].apply(this._foreignModule, t) + ); + } catch (e) { + return Promise.reject(e); + } + } + } + (Qt._diffLimit = 1e5), + (Qt._suggestionsLimit = 1e4), + 'function' == typeof importScripts && + (N.monaco = { + editor: void 0, + languages: void 0, + CancellationTokenSource: class { + constructor(e) { + (this._token = void 0), + (this._parentListener = void 0), + (this._parentListener = + e && e.onCancellationRequested(this.cancel, this)); + } + get token() { + return this._token || (this._token = new ut()), this._token; + } + cancel() { + this._token + ? this._token instanceof ut && this._token.cancel() + : (this._token = at.Cancelled); + } + dispose(e = !1) { + e && this.cancel(), + this._parentListener && this._parentListener.dispose(), + this._token + ? this._token instanceof ut && this._token.dispose() + : (this._token = at.None); + } + }, + Emitter: ot, + KeyCode: wt, + KeyMod: Gt, + Position: ke, + Range: Oe, + Selection: Yt, + SelectionDirection: Ut, + MarkerSeverity: Tt, + MarkerTag: kt, + Uri: be, + Token: class { + constructor(e, t, n) { + (this.offset = 0 | e), (this.type = t), (this.language = n); + } + toString() { + return '(' + this.offset + ', ' + this.type + ')'; + } + }, + }); + let Zt = !1; + function Xt(e) { + if (Zt) return; + Zt = !0; + const t = new O( + (e) => { + self.postMessage(e); + }, + (t) => new Qt(t, e) + ); + self.onmessage = (e) => { + t.onmessage(e.data); + }; + } + function en(e, t) { + void 0 === t && (t = !1); + var n = e.length, + r = 0, + i = '', + o = 0, + s = 16, + a = 0, + u = 0, + l = 0, + c = 0, + h = 0; + function f(t, n) { + for (var i = 0, o = 0; i < t || !n; ) { + var s = e.charCodeAt(r); + if (s >= 48 && s <= 57) o = 16 * o + s - 48; + else if (s >= 65 && s <= 70) o = 16 * o + s - 65 + 10; + else { + if (!(s >= 97 && s <= 102)) break; + o = 16 * o + s - 97 + 10; + } + r++, i++; + } + return i < t && (o = -1), o; + } + function d() { + if (((i = ''), (h = 0), (o = r), (u = a), (c = l), r >= n)) + return (o = n), (s = 17); + var t = e.charCodeAt(r); + if (tn(t)) { + do { + r++, (i += String.fromCharCode(t)), (t = e.charCodeAt(r)); + } while (tn(t)); + return (s = 15); + } + if (nn(t)) + return ( + r++, + (i += String.fromCharCode(t)), + 13 === t && 10 === e.charCodeAt(r) && (r++, (i += '\n')), + a++, + (l = r), + (s = 14) + ); + switch (t) { + case 123: + return r++, (s = 1); + case 125: + return r++, (s = 2); + case 91: + return r++, (s = 3); + case 93: + return r++, (s = 4); + case 58: + return r++, (s = 6); + case 44: + return r++, (s = 5); + case 34: + return ( + r++, + (i = (function () { + for (var t = '', i = r; ; ) { + if (r >= n) { + (t += e.substring(i, r)), (h = 2); + break; + } + var o = e.charCodeAt(r); + if (34 === o) { + (t += e.substring(i, r)), r++; + break; + } + if (92 !== o) { + if (o >= 0 && o <= 31) { + if (nn(o)) { + (t += e.substring(i, r)), (h = 2); + break; + } + h = 6; + } + r++; + } else { + if (((t += e.substring(i, r)), ++r >= n)) { + h = 2; + break; + } + switch (e.charCodeAt(r++)) { + case 34: + t += '"'; + break; + case 92: + t += '\\'; + break; + case 47: + t += '/'; + break; + case 98: + t += '\b'; + break; + case 102: + t += '\f'; + break; + case 110: + t += '\n'; + break; + case 114: + t += '\r'; + break; + case 116: + t += '\t'; + break; + case 117: + var s = f(4, !0); + s >= 0 ? (t += String.fromCharCode(s)) : (h = 4); + break; + default: + h = 5; + } + i = r; + } + } + return t; + })()), + (s = 10) + ); + case 47: + var d = r - 1; + if (47 === e.charCodeAt(r + 1)) { + for (r += 2; r < n && !nn(e.charCodeAt(r)); ) r++; + return (i = e.substring(d, r)), (s = 12); + } + if (42 === e.charCodeAt(r + 1)) { + r += 2; + for (var g = n - 1, p = !1; r < g; ) { + var v = e.charCodeAt(r); + if (42 === v && 47 === e.charCodeAt(r + 1)) { + (r += 2), (p = !0); + break; + } + r++, + nn(v) && + (13 === v && 10 === e.charCodeAt(r) && r++, a++, (l = r)); + } + return p || (r++, (h = 1)), (i = e.substring(d, r)), (s = 13); + } + return (i += String.fromCharCode(t)), r++, (s = 16); + case 45: + if ( + ((i += String.fromCharCode(t)), ++r === n || !rn(e.charCodeAt(r))) + ) + return (s = 16); + case 48: + case 49: + case 50: + case 51: + case 52: + case 53: + case 54: + case 55: + case 56: + case 57: + return ( + (i += (function () { + var t = r; + if (48 === e.charCodeAt(r)) r++; + else for (r++; r < e.length && rn(e.charCodeAt(r)); ) r++; + if (r < e.length && 46 === e.charCodeAt(r)) { + if (!(++r < e.length && rn(e.charCodeAt(r)))) + return (h = 3), e.substring(t, r); + for (r++; r < e.length && rn(e.charCodeAt(r)); ) r++; + } + var n = r; + if ( + r < e.length && + (69 === e.charCodeAt(r) || 101 === e.charCodeAt(r)) + ) + if ( + (((++r < e.length && 43 === e.charCodeAt(r)) || + 45 === e.charCodeAt(r)) && + r++, + r < e.length && rn(e.charCodeAt(r))) + ) { + for (r++; r < e.length && rn(e.charCodeAt(r)); ) r++; + n = r; + } else h = 3; + return e.substring(t, n); + })()), + (s = 11) + ); + default: + for (; r < n && m(t); ) r++, (t = e.charCodeAt(r)); + if (o !== r) { + switch ((i = e.substring(o, r))) { + case 'true': + return (s = 8); + case 'false': + return (s = 9); + case 'null': + return (s = 7); + } + return (s = 16); + } + return (i += String.fromCharCode(t)), r++, (s = 16); + } + } + function m(e) { + if (tn(e) || nn(e)) return !1; + switch (e) { + case 125: + case 93: + case 123: + case 91: + case 34: + case 58: + case 44: + case 47: + return !1; + } + return !0; + } + return { + setPosition: function (e) { + (r = e), (i = ''), (o = 0), (s = 16), (h = 0); + }, + getPosition: function () { + return r; + }, + scan: t + ? function () { + var e; + do { + e = d(); + } while (e >= 12 && e <= 15); + return e; + } + : d, + getToken: function () { + return s; + }, + getTokenValue: function () { + return i; + }, + getTokenOffset: function () { + return o; + }, + getTokenLength: function () { + return r - o; + }, + getTokenStartLine: function () { + return u; + }, + getTokenStartCharacter: function () { + return o - c; + }, + getTokenError: function () { + return h; + }, + }; + } + function tn(e) { + return ( + 32 === e || + 9 === e || + 11 === e || + 12 === e || + 160 === e || + 5760 === e || + (e >= 8192 && e <= 8203) || + 8239 === e || + 8287 === e || + 12288 === e || + 65279 === e + ); + } + function nn(e) { + return 10 === e || 13 === e || 8232 === e || 8233 === e; + } + function rn(e) { + return e >= 48 && e <= 57; + } + function on(e, t) { + for (var n = '', r = 0; r < t; r++) n += e; + return n; + } + function sn(e, t) { + return -1 !== '\r\n'.indexOf(e.charAt(t)); + } + var an; + (self.onmessage = (e) => { + Zt || Xt(null); + }), + (function (e) { + e.DEFAULT = { allowTrailingComma: !1 }; + })(an || (an = {})); + var un, + ln, + cn, + hn, + fn, + dn, + mn, + gn, + pn, + vn, + yn, + bn, + Cn, + _n, + Sn, + En, + An, + xn, + Nn, + Ln, + wn = en, + Tn = function (e, t, n) { + void 0 === t && (t = []), void 0 === n && (n = an.DEFAULT); + var r = null, + i = [], + o = []; + function s(e) { + Array.isArray(i) ? i.push(e) : null !== r && (i[r] = e); + } + return ( + (function (e, t, n) { + void 0 === n && (n = an.DEFAULT); + var r = en(e, !1); + function i(e) { + return e + ? function () { + return e( + r.getTokenOffset(), + r.getTokenLength(), + r.getTokenStartLine(), + r.getTokenStartCharacter() + ); + } + : function () { + return !0; + }; + } + function o(e) { + return e + ? function (t) { + return e( + t, + r.getTokenOffset(), + r.getTokenLength(), + r.getTokenStartLine(), + r.getTokenStartCharacter() + ); + } + : function () { + return !0; + }; + } + var s = i(t.onObjectBegin), + a = o(t.onObjectProperty), + u = i(t.onObjectEnd), + l = i(t.onArrayBegin), + c = i(t.onArrayEnd), + h = o(t.onLiteralValue), + f = o(t.onSeparator), + d = i(t.onComment), + m = o(t.onError), + g = n && n.disallowComments, + p = n && n.allowTrailingComma; + function v() { + for (;;) { + var e = r.scan(); + switch (r.getTokenError()) { + case 4: + y(14); + break; + case 5: + y(15); + break; + case 3: + y(13); + break; + case 1: + g || y(11); + break; + case 2: + y(12); + break; + case 6: + y(16); + } + switch (e) { + case 12: + case 13: + g ? y(10) : d(); + break; + case 16: + y(1); + break; + case 15: + case 14: + break; + default: + return e; + } + } + } + function y(e, t, n) { + if ( + (void 0 === t && (t = []), + void 0 === n && (n = []), + m(e), + t.length + n.length > 0) + ) + for (var i = r.getToken(); 17 !== i; ) { + if (-1 !== t.indexOf(i)) { + v(); + break; + } + if (-1 !== n.indexOf(i)) break; + i = v(); + } + } + function b(e) { + var t = r.getTokenValue(); + return e ? h(t) : a(t), v(), !0; + } + v(), + 17 === r.getToken() + ? !!n.allowEmptyContent || y(4, [], []) + : (function e() { + switch (r.getToken()) { + case 3: + return (function () { + l(), v(); + for ( + var t = !1; + 4 !== r.getToken() && 17 !== r.getToken(); + + ) { + if (5 === r.getToken()) { + if ( + (t || y(4, [], []), + f(','), + v(), + 4 === r.getToken() && p) + ) + break; + } else t && y(6, [], []); + e() || y(4, [], [4, 5]), (t = !0); + } + return ( + c(), 4 !== r.getToken() ? y(8, [4], []) : v(), !0 + ); + })(); + case 1: + return (function () { + s(), v(); + for ( + var t = !1; + 2 !== r.getToken() && 17 !== r.getToken(); + + ) { + if (5 === r.getToken()) { + if ( + (t || y(4, [], []), + f(','), + v(), + 2 === r.getToken() && p) + ) + break; + } else t && y(6, [], []); + (10 !== r.getToken() + ? (y(3, [], [2, 5]), 0) + : (b(!1), + 6 === r.getToken() + ? (f(':'), v(), e() || y(4, [], [2, 5])) + : y(5, [], [2, 5]), + 1)) || y(4, [], [2, 5]), + (t = !0); + } + return ( + u(), 2 !== r.getToken() ? y(7, [2], []) : v(), !0 + ); + })(); + case 10: + return b(!0); + default: + return (function () { + switch (r.getToken()) { + case 11: + var e = 0; + try { + 'number' != + typeof (e = JSON.parse(r.getTokenValue())) && + (y(2), (e = 0)); + } catch (e) { + y(2); + } + h(e); + break; + case 7: + h(null); + break; + case 8: + h(!0); + break; + case 9: + h(!1); + break; + default: + return !1; + } + return v(), !0; + })(); + } + })() + ? 17 !== r.getToken() && y(9, [], []) + : y(4, [], []); + })( + e, + { + onObjectBegin: function () { + var e = {}; + s(e), o.push(i), (i = e), (r = null); + }, + onObjectProperty: function (e) { + r = e; + }, + onObjectEnd: function () { + i = o.pop(); + }, + onArrayBegin: function () { + var e = []; + s(e), o.push(i), (i = e), (r = null); + }, + onArrayEnd: function () { + i = o.pop(); + }, + onLiteralValue: s, + onError: function (e, n, r) { + t.push({ error: e, offset: n, length: r }); + }, + }, + n + ), + i[0] + ); + }, + kn = function e(t, n, r) { + if ( + (void 0 === r && (r = !1), + (function (e, t, n) { + return ( + void 0 === n && (n = !1), + (t >= e.offset && t < e.offset + e.length) || + (n && t === e.offset + e.length) + ); + })(t, n, r)) + ) { + var i = t.children; + if (Array.isArray(i)) + for (var o = 0; o < i.length && i[o].offset <= n; o++) { + var s = e(i[o], n, r); + if (s) return s; + } + return t; + } + }, + On = function e(t) { + if (!t.parent || !t.parent.children) return []; + var n = e(t.parent); + if ('property' === t.parent.type) { + var r = t.parent.children[0].value; + n.push(r); + } else if ('array' === t.parent.type) { + var i = t.parent.children.indexOf(t); + -1 !== i && n.push(i); + } + return n; + }, + In = function e(t) { + switch (t.type) { + case 'array': + return t.children.map(e); + case 'object': + for ( + var n = Object.create(null), r = 0, i = t.children; + r < i.length; + r++ + ) { + var o = i[r], + s = o.children[1]; + s && (n[o.children[0].value] = e(s)); + } + return n; + case 'null': + case 'string': + case 'number': + case 'boolean': + return t.value; + default: + return; + } + }; + function Mn(e, t) { + if (e === t) return !0; + if (null == e || null == t) return !1; + if (typeof e != typeof t) return !1; + if ('object' != typeof e) return !1; + if (Array.isArray(e) !== Array.isArray(t)) return !1; + var n, r; + if (Array.isArray(e)) { + if (e.length !== t.length) return !1; + for (n = 0; n < e.length; n++) if (!Mn(e[n], t[n])) return !1; + } else { + var i = []; + for (r in e) i.push(r); + i.sort(); + var o = []; + for (r in t) o.push(r); + if ((o.sort(), !Mn(i, o))) return !1; + for (n = 0; n < i.length; n++) if (!Mn(e[i[n]], t[i[n]])) return !1; + } + return !0; + } + function Pn(e) { + return 'number' == typeof e; + } + function Rn(e) { + return void 0 !== e; + } + function Dn(e) { + return 'boolean' == typeof e; + } + !(function (e) { + (e.create = function (e, t) { + return { line: e, character: t }; + }), + (e.is = function (e) { + var t = e; + return ( + fr.objectLiteral(t) && fr.number(t.line) && fr.number(t.character) + ); + }); + })(un || (un = {})), + (function (e) { + (e.create = function (e, t, n, r) { + if (fr.number(e) && fr.number(t) && fr.number(n) && fr.number(r)) + return { start: un.create(e, t), end: un.create(n, r) }; + if (un.is(e) && un.is(t)) return { start: e, end: t }; + throw new Error( + 'Range#create called with invalid arguments[' + + e + + ', ' + + t + + ', ' + + n + + ', ' + + r + + ']' + ); + }), + (e.is = function (e) { + var t = e; + return fr.objectLiteral(t) && un.is(t.start) && un.is(t.end); + }); + })(ln || (ln = {})), + (function (e) { + (e.create = function (e, t) { + return { uri: e, range: t }; + }), + (e.is = function (e) { + var t = e; + return ( + fr.defined(t) && + ln.is(t.range) && + (fr.string(t.uri) || fr.undefined(t.uri)) + ); + }); + })(cn || (cn = {})), + (function (e) { + (e.create = function (e, t, n, r) { + return { + targetUri: e, + targetRange: t, + targetSelectionRange: n, + originSelectionRange: r, + }; + }), + (e.is = function (e) { + var t = e; + return ( + fr.defined(t) && + ln.is(t.targetRange) && + fr.string(t.targetUri) && + (ln.is(t.targetSelectionRange) || + fr.undefined(t.targetSelectionRange)) && + (ln.is(t.originSelectionRange) || + fr.undefined(t.originSelectionRange)) + ); + }); + })(hn || (hn = {})), + (function (e) { + (e.create = function (e, t, n, r) { + return { red: e, green: t, blue: n, alpha: r }; + }), + (e.is = function (e) { + var t = e; + return ( + fr.number(t.red) && + fr.number(t.green) && + fr.number(t.blue) && + fr.number(t.alpha) + ); + }); + })(fn || (fn = {})), + (function (e) { + (e.create = function (e, t) { + return { range: e, color: t }; + }), + (e.is = function (e) { + var t = e; + return ln.is(t.range) && fn.is(t.color); + }); + })(dn || (dn = {})), + (function (e) { + (e.create = function (e, t, n) { + return { label: e, textEdit: t, additionalTextEdits: n }; + }), + (e.is = function (e) { + var t = e; + return ( + fr.string(t.label) && + (fr.undefined(t.textEdit) || Sn.is(t)) && + (fr.undefined(t.additionalTextEdits) || + fr.typedArray(t.additionalTextEdits, Sn.is)) + ); + }); + })(mn || (mn = {})), + (function (e) { + (e.Comment = 'comment'), (e.Imports = 'imports'), (e.Region = 'region'); + })(gn || (gn = {})), + (function (e) { + (e.create = function (e, t, n, r, i) { + var o = { startLine: e, endLine: t }; + return ( + fr.defined(n) && (o.startCharacter = n), + fr.defined(r) && (o.endCharacter = r), + fr.defined(i) && (o.kind = i), + o + ); + }), + (e.is = function (e) { + var t = e; + return ( + fr.number(t.startLine) && + fr.number(t.startLine) && + (fr.undefined(t.startCharacter) || fr.number(t.startCharacter)) && + (fr.undefined(t.endCharacter) || fr.number(t.endCharacter)) && + (fr.undefined(t.kind) || fr.string(t.kind)) + ); + }); + })(pn || (pn = {})), + (function (e) { + (e.create = function (e, t) { + return { location: e, message: t }; + }), + (e.is = function (e) { + var t = e; + return fr.defined(t) && cn.is(t.location) && fr.string(t.message); + }); + })(vn || (vn = {})), + (function (e) { + (e.Error = 1), (e.Warning = 2), (e.Information = 3), (e.Hint = 4); + })(yn || (yn = {})), + (function (e) { + (e.Unnecessary = 1), (e.Deprecated = 2); + })(bn || (bn = {})), + (function (e) { + (e.create = function (e, t, n, r, i, o) { + var s = { range: e, message: t }; + return ( + fr.defined(n) && (s.severity = n), + fr.defined(r) && (s.code = r), + fr.defined(i) && (s.source = i), + fr.defined(o) && (s.relatedInformation = o), + s + ); + }), + (e.is = function (e) { + var t = e; + return ( + fr.defined(t) && + ln.is(t.range) && + fr.string(t.message) && + (fr.number(t.severity) || fr.undefined(t.severity)) && + (fr.number(t.code) || fr.string(t.code) || fr.undefined(t.code)) && + (fr.string(t.source) || fr.undefined(t.source)) && + (fr.undefined(t.relatedInformation) || + fr.typedArray(t.relatedInformation, vn.is)) + ); + }); + })(Cn || (Cn = {})), + (function (e) { + (e.create = function (e, t) { + for (var n = [], r = 2; r < arguments.length; r++) + n[r - 2] = arguments[r]; + var i = { title: e, command: t }; + return fr.defined(n) && n.length > 0 && (i.arguments = n), i; + }), + (e.is = function (e) { + var t = e; + return fr.defined(t) && fr.string(t.title) && fr.string(t.command); + }); + })(_n || (_n = {})), + (function (e) { + (e.replace = function (e, t) { + return { range: e, newText: t }; + }), + (e.insert = function (e, t) { + return { range: { start: e, end: e }, newText: t }; + }), + (e.del = function (e) { + return { range: e, newText: '' }; + }), + (e.is = function (e) { + var t = e; + return fr.objectLiteral(t) && fr.string(t.newText) && ln.is(t.range); + }); + })(Sn || (Sn = {})), + (function (e) { + (e.create = function (e, t) { + return { textDocument: e, edits: t }; + }), + (e.is = function (e) { + var t = e; + return ( + fr.defined(t) && jn.is(t.textDocument) && Array.isArray(t.edits) + ); + }); + })(En || (En = {})), + (function (e) { + (e.create = function (e, t) { + var n = { kind: 'create', uri: e }; + return ( + void 0 === t || + (void 0 === t.overwrite && void 0 === t.ignoreIfExists) || + (n.options = t), + n + ); + }), + (e.is = function (e) { + var t = e; + return ( + t && + 'create' === t.kind && + fr.string(t.uri) && + (void 0 === t.options || + ((void 0 === t.options.overwrite || + fr.boolean(t.options.overwrite)) && + (void 0 === t.options.ignoreIfExists || + fr.boolean(t.options.ignoreIfExists)))) + ); + }); + })(An || (An = {})), + (function (e) { + (e.create = function (e, t, n) { + var r = { kind: 'rename', oldUri: e, newUri: t }; + return ( + void 0 === n || + (void 0 === n.overwrite && void 0 === n.ignoreIfExists) || + (r.options = n), + r + ); + }), + (e.is = function (e) { + var t = e; + return ( + t && + 'rename' === t.kind && + fr.string(t.oldUri) && + fr.string(t.newUri) && + (void 0 === t.options || + ((void 0 === t.options.overwrite || + fr.boolean(t.options.overwrite)) && + (void 0 === t.options.ignoreIfExists || + fr.boolean(t.options.ignoreIfExists)))) + ); + }); + })(xn || (xn = {})), + (function (e) { + (e.create = function (e, t) { + var n = { kind: 'delete', uri: e }; + return ( + void 0 === t || + (void 0 === t.recursive && void 0 === t.ignoreIfNotExists) || + (n.options = t), + n + ); + }), + (e.is = function (e) { + var t = e; + return ( + t && + 'delete' === t.kind && + fr.string(t.uri) && + (void 0 === t.options || + ((void 0 === t.options.recursive || + fr.boolean(t.options.recursive)) && + (void 0 === t.options.ignoreIfNotExists || + fr.boolean(t.options.ignoreIfNotExists)))) + ); + }); + })(Nn || (Nn = {})), + (function (e) { + e.is = function (e) { + var t = e; + return ( + t && + (void 0 !== t.changes || void 0 !== t.documentChanges) && + (void 0 === t.documentChanges || + t.documentChanges.every(function (e) { + return fr.string(e.kind) + ? An.is(e) || xn.is(e) || Nn.is(e) + : En.is(e); + })) + ); + }; + })(Ln || (Ln = {})); + var Fn, + jn, + Un, + Vn, + $n, + Wn, + qn, + Kn, + Bn, + Hn, + Yn, + Gn, + zn, + Jn, + Qn, + Zn, + Xn, + er, + tr, + nr, + rr, + ir, + or, + sr, + ar, + ur, + lr, + cr, + hr = (function () { + function e(e) { + this.edits = e; + } + return ( + (e.prototype.insert = function (e, t) { + this.edits.push(Sn.insert(e, t)); + }), + (e.prototype.replace = function (e, t) { + this.edits.push(Sn.replace(e, t)); + }), + (e.prototype.delete = function (e) { + this.edits.push(Sn.del(e)); + }), + (e.prototype.add = function (e) { + this.edits.push(e); + }), + (e.prototype.all = function () { + return this.edits; + }), + (e.prototype.clear = function () { + this.edits.splice(0, this.edits.length); + }), + e + ); + })(); + !(function () { + function e(e) { + var t = this; + (this._textEditChanges = Object.create(null)), + e && + ((this._workspaceEdit = e), + e.documentChanges + ? e.documentChanges.forEach(function (e) { + if (En.is(e)) { + var n = new hr(e.edits); + t._textEditChanges[e.textDocument.uri] = n; + } + }) + : e.changes && + Object.keys(e.changes).forEach(function (n) { + var r = new hr(e.changes[n]); + t._textEditChanges[n] = r; + })); + } + Object.defineProperty(e.prototype, 'edit', { + get: function () { + return this._workspaceEdit; + }, + enumerable: !0, + configurable: !0, + }), + (e.prototype.getTextEditChange = function (e) { + if (jn.is(e)) { + if ( + (this._workspaceEdit || + (this._workspaceEdit = { documentChanges: [] }), + !this._workspaceEdit.documentChanges) + ) + throw new Error( + 'Workspace edit is not configured for document changes.' + ); + var t = e; + if (!(r = this._textEditChanges[t.uri])) { + var n = { textDocument: t, edits: (i = []) }; + this._workspaceEdit.documentChanges.push(n), + (r = new hr(i)), + (this._textEditChanges[t.uri] = r); + } + return r; + } + if ( + (this._workspaceEdit || + (this._workspaceEdit = { changes: Object.create(null) }), + !this._workspaceEdit.changes) + ) + throw new Error( + 'Workspace edit is not configured for normal text edit changes.' + ); + var r; + if (!(r = this._textEditChanges[e])) { + var i = []; + (this._workspaceEdit.changes[e] = i), + (r = new hr(i)), + (this._textEditChanges[e] = r); + } + return r; + }), + (e.prototype.createFile = function (e, t) { + this.checkDocumentChanges(), + this._workspaceEdit.documentChanges.push(An.create(e, t)); + }), + (e.prototype.renameFile = function (e, t, n) { + this.checkDocumentChanges(), + this._workspaceEdit.documentChanges.push(xn.create(e, t, n)); + }), + (e.prototype.deleteFile = function (e, t) { + this.checkDocumentChanges(), + this._workspaceEdit.documentChanges.push(Nn.create(e, t)); + }), + (e.prototype.checkDocumentChanges = function () { + if (!this._workspaceEdit || !this._workspaceEdit.documentChanges) + throw new Error( + 'Workspace edit is not configured for document changes.' + ); + }); + })(), + (function (e) { + (e.create = function (e) { + return { uri: e }; + }), + (e.is = function (e) { + var t = e; + return fr.defined(t) && fr.string(t.uri); + }); + })(Fn || (Fn = {})), + (function (e) { + (e.create = function (e, t) { + return { uri: e, version: t }; + }), + (e.is = function (e) { + var t = e; + return ( + fr.defined(t) && + fr.string(t.uri) && + (null === t.version || fr.number(t.version)) + ); + }); + })(jn || (jn = {})), + (function (e) { + (e.create = function (e, t, n, r) { + return { uri: e, languageId: t, version: n, text: r }; + }), + (e.is = function (e) { + var t = e; + return ( + fr.defined(t) && + fr.string(t.uri) && + fr.string(t.languageId) && + fr.number(t.version) && + fr.string(t.text) + ); + }); + })(Un || (Un = {})), + (function (e) { + (e.PlainText = 'plaintext'), (e.Markdown = 'markdown'); + })(Vn || (Vn = {})), + (function (e) { + e.is = function (t) { + var n = t; + return n === e.PlainText || n === e.Markdown; + }; + })(Vn || (Vn = {})), + (function (e) { + e.is = function (e) { + var t = e; + return fr.objectLiteral(e) && Vn.is(t.kind) && fr.string(t.value); + }; + })($n || ($n = {})), + (function (e) { + (e.Text = 1), + (e.Method = 2), + (e.Function = 3), + (e.Constructor = 4), + (e.Field = 5), + (e.Variable = 6), + (e.Class = 7), + (e.Interface = 8), + (e.Module = 9), + (e.Property = 10), + (e.Unit = 11), + (e.Value = 12), + (e.Enum = 13), + (e.Keyword = 14), + (e.Snippet = 15), + (e.Color = 16), + (e.File = 17), + (e.Reference = 18), + (e.Folder = 19), + (e.EnumMember = 20), + (e.Constant = 21), + (e.Struct = 22), + (e.Event = 23), + (e.Operator = 24), + (e.TypeParameter = 25); + })(Wn || (Wn = {})), + (function (e) { + (e.PlainText = 1), (e.Snippet = 2); + })(qn || (qn = {})), + (function (e) { + e.Deprecated = 1; + })(Kn || (Kn = {})), + (function (e) { + e.create = function (e) { + return { label: e }; + }; + })(Bn || (Bn = {})), + (function (e) { + e.create = function (e, t) { + return { items: e || [], isIncomplete: !!t }; + }; + })(Hn || (Hn = {})), + (function (e) { + (e.fromPlainText = function (e) { + return e.replace(/[\\`*_{}[\]()#+\-.!]/g, '\\$&'); + }), + (e.is = function (e) { + var t = e; + return ( + fr.string(t) || + (fr.objectLiteral(t) && fr.string(t.language) && fr.string(t.value)) + ); + }); + })(Yn || (Yn = {})), + (function (e) { + e.is = function (e) { + var t = e; + return ( + !!t && + fr.objectLiteral(t) && + ($n.is(t.contents) || + Yn.is(t.contents) || + fr.typedArray(t.contents, Yn.is)) && + (void 0 === e.range || ln.is(e.range)) + ); + }; + })(Gn || (Gn = {})), + (function (e) { + e.create = function (e, t) { + return t ? { label: e, documentation: t } : { label: e }; + }; + })(zn || (zn = {})), + (function (e) { + e.create = function (e, t) { + for (var n = [], r = 2; r < arguments.length; r++) + n[r - 2] = arguments[r]; + var i = { label: e }; + return ( + fr.defined(t) && (i.documentation = t), + fr.defined(n) ? (i.parameters = n) : (i.parameters = []), + i + ); + }; + })(Jn || (Jn = {})), + (function (e) { + (e.Text = 1), (e.Read = 2), (e.Write = 3); + })(Qn || (Qn = {})), + (function (e) { + e.create = function (e, t) { + var n = { range: e }; + return fr.number(t) && (n.kind = t), n; + }; + })(Zn || (Zn = {})), + (function (e) { + (e.File = 1), + (e.Module = 2), + (e.Namespace = 3), + (e.Package = 4), + (e.Class = 5), + (e.Method = 6), + (e.Property = 7), + (e.Field = 8), + (e.Constructor = 9), + (e.Enum = 10), + (e.Interface = 11), + (e.Function = 12), + (e.Variable = 13), + (e.Constant = 14), + (e.String = 15), + (e.Number = 16), + (e.Boolean = 17), + (e.Array = 18), + (e.Object = 19), + (e.Key = 20), + (e.Null = 21), + (e.EnumMember = 22), + (e.Struct = 23), + (e.Event = 24), + (e.Operator = 25), + (e.TypeParameter = 26); + })(Xn || (Xn = {})), + (function (e) { + e.Deprecated = 1; + })(er || (er = {})), + (function (e) { + e.create = function (e, t, n, r, i) { + var o = { name: e, kind: t, location: { uri: r, range: n } }; + return i && (o.containerName = i), o; + }; + })(tr || (tr = {})), + (function (e) { + (e.create = function (e, t, n, r, i, o) { + var s = { name: e, detail: t, kind: n, range: r, selectionRange: i }; + return void 0 !== o && (s.children = o), s; + }), + (e.is = function (e) { + var t = e; + return ( + t && + fr.string(t.name) && + fr.number(t.kind) && + ln.is(t.range) && + ln.is(t.selectionRange) && + (void 0 === t.detail || fr.string(t.detail)) && + (void 0 === t.deprecated || fr.boolean(t.deprecated)) && + (void 0 === t.children || Array.isArray(t.children)) + ); + }); + })(nr || (nr = {})), + (function (e) { + (e.Empty = ''), + (e.QuickFix = 'quickfix'), + (e.Refactor = 'refactor'), + (e.RefactorExtract = 'refactor.extract'), + (e.RefactorInline = 'refactor.inline'), + (e.RefactorRewrite = 'refactor.rewrite'), + (e.Source = 'source'), + (e.SourceOrganizeImports = 'source.organizeImports'), + (e.SourceFixAll = 'source.fixAll'); + })(rr || (rr = {})), + (function (e) { + (e.create = function (e, t) { + var n = { diagnostics: e }; + return null != t && (n.only = t), n; + }), + (e.is = function (e) { + var t = e; + return ( + fr.defined(t) && + fr.typedArray(t.diagnostics, Cn.is) && + (void 0 === t.only || fr.typedArray(t.only, fr.string)) + ); + }); + })(ir || (ir = {})), + (function (e) { + (e.create = function (e, t, n) { + var r = { title: e }; + return ( + _n.is(t) ? (r.command = t) : (r.edit = t), + void 0 !== n && (r.kind = n), + r + ); + }), + (e.is = function (e) { + var t = e; + return ( + t && + fr.string(t.title) && + (void 0 === t.diagnostics || fr.typedArray(t.diagnostics, Cn.is)) && + (void 0 === t.kind || fr.string(t.kind)) && + (void 0 !== t.edit || void 0 !== t.command) && + (void 0 === t.command || _n.is(t.command)) && + (void 0 === t.isPreferred || fr.boolean(t.isPreferred)) && + (void 0 === t.edit || Ln.is(t.edit)) + ); + }); + })(or || (or = {})), + (function (e) { + (e.create = function (e, t) { + var n = { range: e }; + return fr.defined(t) && (n.data = t), n; + }), + (e.is = function (e) { + var t = e; + return ( + fr.defined(t) && + ln.is(t.range) && + (fr.undefined(t.command) || _n.is(t.command)) + ); + }); + })(sr || (sr = {})), + (function (e) { + (e.create = function (e, t) { + return { tabSize: e, insertSpaces: t }; + }), + (e.is = function (e) { + var t = e; + return ( + fr.defined(t) && fr.number(t.tabSize) && fr.boolean(t.insertSpaces) + ); + }); + })(ar || (ar = {})), + (function (e) { + (e.create = function (e, t, n) { + return { range: e, target: t, data: n }; + }), + (e.is = function (e) { + var t = e; + return ( + fr.defined(t) && + ln.is(t.range) && + (fr.undefined(t.target) || fr.string(t.target)) + ); + }); + })(ur || (ur = {})), + (function (e) { + (e.create = function (e, t) { + return { range: e, parent: t }; + }), + (e.is = function (t) { + var n = t; + return ( + void 0 !== n && + ln.is(n.range) && + (void 0 === n.parent || e.is(n.parent)) + ); + }); + })(lr || (lr = {})), + (function (e) { + function t(e, n) { + if (e.length <= 1) return e; + var r = (e.length / 2) | 0, + i = e.slice(0, r), + o = e.slice(r); + t(i, n), t(o, n); + for (var s = 0, a = 0, u = 0; s < i.length && a < o.length; ) { + var l = n(i[s], o[a]); + e[u++] = l <= 0 ? i[s++] : o[a++]; + } + for (; s < i.length; ) e[u++] = i[s++]; + for (; a < o.length; ) e[u++] = o[a++]; + return e; + } + (e.create = function (e, t, n, r) { + return new dr(e, t, n, r); + }), + (e.is = function (e) { + var t = e; + return !!( + fr.defined(t) && + fr.string(t.uri) && + (fr.undefined(t.languageId) || fr.string(t.languageId)) && + fr.number(t.lineCount) && + fr.func(t.getText) && + fr.func(t.positionAt) && + fr.func(t.offsetAt) + ); + }), + (e.applyEdits = function (e, n) { + for ( + var r = e.getText(), + i = t(n, function (e, t) { + var n = e.range.start.line - t.range.start.line; + return 0 === n + ? e.range.start.character - t.range.start.character + : n; + }), + o = r.length, + s = i.length - 1; + s >= 0; + s-- + ) { + var a = i[s], + u = e.offsetAt(a.range.start), + l = e.offsetAt(a.range.end); + if (!(l <= o)) throw new Error('Overlapping edit'); + (r = r.substring(0, u) + a.newText + r.substring(l, r.length)), + (o = u); + } + return r; + }); + })(cr || (cr = {})); + var fr, + dr = (function () { + function e(e, t, n, r) { + (this._uri = e), + (this._languageId = t), + (this._version = n), + (this._content = r), + (this._lineOffsets = void 0); + } + return ( + Object.defineProperty(e.prototype, 'uri', { + get: function () { + return this._uri; + }, + enumerable: !0, + configurable: !0, + }), + Object.defineProperty(e.prototype, 'languageId', { + get: function () { + return this._languageId; + }, + enumerable: !0, + configurable: !0, + }), + Object.defineProperty(e.prototype, 'version', { + get: function () { + return this._version; + }, + enumerable: !0, + configurable: !0, + }), + (e.prototype.getText = function (e) { + if (e) { + var t = this.offsetAt(e.start), + n = this.offsetAt(e.end); + return this._content.substring(t, n); + } + return this._content; + }), + (e.prototype.update = function (e, t) { + (this._content = e.text), + (this._version = t), + (this._lineOffsets = void 0); + }), + (e.prototype.getLineOffsets = function () { + if (void 0 === this._lineOffsets) { + for ( + var e = [], t = this._content, n = !0, r = 0; + r < t.length; + r++ + ) { + n && (e.push(r), (n = !1)); + var i = t.charAt(r); + (n = '\r' === i || '\n' === i), + '\r' === i && + r + 1 < t.length && + '\n' === t.charAt(r + 1) && + r++; + } + n && t.length > 0 && e.push(t.length), (this._lineOffsets = e); + } + return this._lineOffsets; + }), + (e.prototype.positionAt = function (e) { + e = Math.max(Math.min(e, this._content.length), 0); + var t = this.getLineOffsets(), + n = 0, + r = t.length; + if (0 === r) return un.create(0, e); + for (; n < r; ) { + var i = Math.floor((n + r) / 2); + t[i] > e ? (r = i) : (n = i + 1); + } + var o = n - 1; + return un.create(o, e - t[o]); + }), + (e.prototype.offsetAt = function (e) { + var t = this.getLineOffsets(); + if (e.line >= t.length) return this._content.length; + if (e.line < 0) return 0; + var n = t[e.line], + r = e.line + 1 < t.length ? t[e.line + 1] : this._content.length; + return Math.max(Math.min(n + e.character, r), n); + }), + Object.defineProperty(e.prototype, 'lineCount', { + get: function () { + return this.getLineOffsets().length; + }, + enumerable: !0, + configurable: !0, + }), + e + ); + })(); + !(function (e) { + var t = Object.prototype.toString; + (e.defined = function (e) { + return void 0 !== e; + }), + (e.undefined = function (e) { + return void 0 === e; + }), + (e.boolean = function (e) { + return !0 === e || !1 === e; + }), + (e.string = function (e) { + return '[object String]' === t.call(e); + }), + (e.number = function (e) { + return '[object Number]' === t.call(e); + }), + (e.func = function (e) { + return '[object Function]' === t.call(e); + }), + (e.objectLiteral = function (e) { + return null !== e && 'object' == typeof e; + }), + (e.typedArray = function (e, t) { + return Array.isArray(e) && e.every(t); + }); + })(fr || (fr = {})); + var mr, + gr, + pr, + vr = (function () { + function e(e, t, n, r) { + (this._uri = e), + (this._languageId = t), + (this._version = n), + (this._content = r), + (this._lineOffsets = void 0); + } + return ( + Object.defineProperty(e.prototype, 'uri', { + get: function () { + return this._uri; + }, + enumerable: !0, + configurable: !0, + }), + Object.defineProperty(e.prototype, 'languageId', { + get: function () { + return this._languageId; + }, + enumerable: !0, + configurable: !0, + }), + Object.defineProperty(e.prototype, 'version', { + get: function () { + return this._version; + }, + enumerable: !0, + configurable: !0, + }), + (e.prototype.getText = function (e) { + if (e) { + var t = this.offsetAt(e.start), + n = this.offsetAt(e.end); + return this._content.substring(t, n); + } + return this._content; + }), + (e.prototype.update = function (t, n) { + for (var r = 0, i = t; r < i.length; r++) { + var o = i[r]; + if (e.isIncremental(o)) { + var s = Cr(o.range), + a = this.offsetAt(s.start), + u = this.offsetAt(s.end); + this._content = + this._content.substring(0, a) + + o.text + + this._content.substring(u, this._content.length); + var l = Math.max(s.start.line, 0), + c = Math.max(s.end.line, 0), + h = this._lineOffsets, + f = br(o.text, !1, a); + if (c - l === f.length) + for (var d = 0, m = f.length; d < m; d++) h[d + l + 1] = f[d]; + else + f.length < 1e4 + ? h.splice.apply(h, [l + 1, c - l].concat(f)) + : (this._lineOffsets = h = h + .slice(0, l + 1) + .concat(f, h.slice(c + 1))); + var g = o.text.length - (u - a); + if (0 !== g) + for (d = l + 1 + f.length, m = h.length; d < m; d++) + h[d] = h[d] + g; + } else { + if (!e.isFull(o)) + throw new Error('Unknown change event received'); + (this._content = o.text), (this._lineOffsets = void 0); + } + } + this._version = n; + }), + (e.prototype.getLineOffsets = function () { + return ( + void 0 === this._lineOffsets && + (this._lineOffsets = br(this._content, !0)), + this._lineOffsets + ); + }), + (e.prototype.positionAt = function (e) { + e = Math.max(Math.min(e, this._content.length), 0); + var t = this.getLineOffsets(), + n = 0, + r = t.length; + if (0 === r) return { line: 0, character: e }; + for (; n < r; ) { + var i = Math.floor((n + r) / 2); + t[i] > e ? (r = i) : (n = i + 1); + } + var o = n - 1; + return { line: o, character: e - t[o] }; + }), + (e.prototype.offsetAt = function (e) { + var t = this.getLineOffsets(); + if (e.line >= t.length) return this._content.length; + if (e.line < 0) return 0; + var n = t[e.line], + r = e.line + 1 < t.length ? t[e.line + 1] : this._content.length; + return Math.max(Math.min(n + e.character, r), n); + }), + Object.defineProperty(e.prototype, 'lineCount', { + get: function () { + return this.getLineOffsets().length; + }, + enumerable: !0, + configurable: !0, + }), + (e.isIncremental = function (e) { + var t = e; + return ( + null != t && + 'string' == typeof t.text && + void 0 !== t.range && + (void 0 === t.rangeLength || 'number' == typeof t.rangeLength) + ); + }), + (e.isFull = function (e) { + var t = e; + return ( + null != t && + 'string' == typeof t.text && + void 0 === t.range && + void 0 === t.rangeLength + ); + }), + e + ); + })(); + function yr(e, t) { + if (e.length <= 1) return e; + var n = (e.length / 2) | 0, + r = e.slice(0, n), + i = e.slice(n); + yr(r, t), yr(i, t); + for (var o = 0, s = 0, a = 0; o < r.length && s < i.length; ) { + var u = t(r[o], i[s]); + e[a++] = u <= 0 ? r[o++] : i[s++]; + } + for (; o < r.length; ) e[a++] = r[o++]; + for (; s < i.length; ) e[a++] = i[s++]; + return e; + } + function br(e, t, n) { + void 0 === n && (n = 0); + for (var r = t ? [n] : [], i = 0; i < e.length; i++) { + var o = e.charCodeAt(i); + (13 !== o && 10 !== o) || + (13 === o && i + 1 < e.length && 10 === e.charCodeAt(i + 1) && i++, + r.push(n + i + 1)); + } + return r; + } + function Cr(e) { + var t = e.start, + n = e.end; + return t.line > n.line || (t.line === n.line && t.character > n.character) + ? { start: n, end: t } + : e; + } + function _r(e) { + var t = Cr(e.range); + return t !== e.range ? { newText: e.newText, range: t } : e; + } + function Sr(e, t) { + return 0 === t.length + ? e + : e.replace(/\{(\d+)\}/g, function (e, n) { + var r = n[0]; + return void 0 !== t[r] ? t[r] : e; + }); + } + function Er(e, t) { + for (var n = [], r = 2; r < arguments.length; r++) n[r - 2] = arguments[r]; + return Sr(t, n); + } + function Ar(e) { + return Er; + } + !(function (e) { + (e.create = function (e, t, n, r) { + return new vr(e, t, n, r); + }), + (e.update = function (e, t, n) { + if (e instanceof vr) return e.update(t, n), e; + throw new Error( + 'TextDocument.update: document must be created by TextDocument.create' + ); + }), + (e.applyEdits = function (e, t) { + for ( + var n = e.getText(), + r = 0, + i = [], + o = 0, + s = yr(t.map(_r), function (e, t) { + var n = e.range.start.line - t.range.start.line; + return 0 === n + ? e.range.start.character - t.range.start.character + : n; + }); + o < s.length; + o++ + ) { + var a = s[o], + u = e.offsetAt(a.range.start); + if (u < r) throw new Error('Overlapping edit'); + u > r && i.push(n.substring(r, u)), + a.newText.length && i.push(a.newText), + (r = e.offsetAt(a.range.end)); + } + return i.push(n.substr(r)), i.join(''); + }); + })(mr || (mr = {})), + (function (e) { + (e[(e.Undefined = 0)] = 'Undefined'), + (e[(e.EnumValueMismatch = 1)] = 'EnumValueMismatch'), + (e[(e.UnexpectedEndOfComment = 257)] = 'UnexpectedEndOfComment'), + (e[(e.UnexpectedEndOfString = 258)] = 'UnexpectedEndOfString'), + (e[(e.UnexpectedEndOfNumber = 259)] = 'UnexpectedEndOfNumber'), + (e[(e.InvalidUnicode = 260)] = 'InvalidUnicode'), + (e[(e.InvalidEscapeCharacter = 261)] = 'InvalidEscapeCharacter'), + (e[(e.InvalidCharacter = 262)] = 'InvalidCharacter'), + (e[(e.PropertyExpected = 513)] = 'PropertyExpected'), + (e[(e.CommaExpected = 514)] = 'CommaExpected'), + (e[(e.ColonExpected = 515)] = 'ColonExpected'), + (e[(e.ValueExpected = 516)] = 'ValueExpected'), + (e[(e.CommaOrCloseBacketExpected = 517)] = + 'CommaOrCloseBacketExpected'), + (e[(e.CommaOrCloseBraceExpected = 518)] = 'CommaOrCloseBraceExpected'), + (e[(e.TrailingComma = 519)] = 'TrailingComma'), + (e[(e.DuplicateKey = 520)] = 'DuplicateKey'), + (e[(e.CommentNotPermitted = 521)] = 'CommentNotPermitted'), + (e[(e.SchemaResolveError = 768)] = 'SchemaResolveError'); + })(gr || (gr = {})), + (function (e) { + e.LATEST = { + textDocument: { + completion: { + completionItem: { + documentationFormat: [Vn.Markdown, Vn.PlainText], + commitCharactersSupport: !0, + }, + }, + }, + }; + })(pr || (pr = {})); + var xr, + Nr, + Lr = + ((xr = function (e, t) { + return (xr = + Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && + function (e, t) { + e.__proto__ = t; + }) || + function (e, t) { + for (var n in t) t.hasOwnProperty(n) && (e[n] = t[n]); + })(e, t); + }), + function (e, t) { + function n() { + this.constructor = e; + } + xr(e, t), + (e.prototype = + null === t + ? Object.create(t) + : ((n.prototype = t.prototype), new n())); + }), + wr = Ar(), + Tr = { + 'color-hex': { + errorMessage: wr( + 'colorHexFormatWarning', + 'Invalid color format. Use #RGB, #RGBA, #RRGGBB or #RRGGBBAA.' + ), + pattern: /^#([0-9A-Fa-f]{3,4}|([0-9A-Fa-f]{2}){3,4})$/, + }, + 'date-time': { + errorMessage: wr( + 'dateTimeFormatWarning', + 'String is not a RFC3339 date-time.' + ), + pattern: /^(\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9]|60)(\.[0-9]+)?(Z|(\+|-)([01][0-9]|2[0-3]):([0-5][0-9]))$/i, + }, + date: { + errorMessage: wr('dateFormatWarning', 'String is not a RFC3339 date.'), + pattern: /^(\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$/i, + }, + time: { + errorMessage: wr('timeFormatWarning', 'String is not a RFC3339 time.'), + pattern: /^([01][0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9]|60)(\.[0-9]+)?(Z|(\+|-)([01][0-9]|2[0-3]):([0-5][0-9]))$/i, + }, + email: { + errorMessage: wr( + 'emailFormatWarning', + 'String is not an e-mail address.' + ), + pattern: /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/, + }, + }, + kr = (function () { + function e(e, t, n) { + void 0 === n && (n = 0), + (this.offset = t), + (this.length = n), + (this.parent = e); + } + return ( + Object.defineProperty(e.prototype, 'children', { + get: function () { + return []; + }, + enumerable: !1, + configurable: !0, + }), + (e.prototype.toString = function () { + return ( + 'type: ' + + this.type + + ' (' + + this.offset + + '/' + + this.length + + ')' + + (this.parent ? ' parent: {' + this.parent.toString() + '}' : '') + ); + }), + e + ); + })(), + Or = (function (e) { + function t(t, n) { + var r = e.call(this, t, n) || this; + return (r.type = 'null'), (r.value = null), r; + } + return Lr(t, e), t; + })(kr), + Ir = (function (e) { + function t(t, n, r) { + var i = e.call(this, t, r) || this; + return (i.type = 'boolean'), (i.value = n), i; + } + return Lr(t, e), t; + })(kr), + Mr = (function (e) { + function t(t, n) { + var r = e.call(this, t, n) || this; + return (r.type = 'array'), (r.items = []), r; + } + return ( + Lr(t, e), + Object.defineProperty(t.prototype, 'children', { + get: function () { + return this.items; + }, + enumerable: !1, + configurable: !0, + }), + t + ); + })(kr), + Pr = (function (e) { + function t(t, n) { + var r = e.call(this, t, n) || this; + return ( + (r.type = 'number'), (r.isInteger = !0), (r.value = Number.NaN), r + ); + } + return Lr(t, e), t; + })(kr), + Rr = (function (e) { + function t(t, n, r) { + var i = e.call(this, t, n, r) || this; + return (i.type = 'string'), (i.value = ''), i; + } + return Lr(t, e), t; + })(kr), + Dr = (function (e) { + function t(t, n, r) { + var i = e.call(this, t, n) || this; + return (i.type = 'property'), (i.colonOffset = -1), (i.keyNode = r), i; + } + return ( + Lr(t, e), + Object.defineProperty(t.prototype, 'children', { + get: function () { + return this.valueNode + ? [this.keyNode, this.valueNode] + : [this.keyNode]; + }, + enumerable: !1, + configurable: !0, + }), + t + ); + })(kr), + Fr = (function (e) { + function t(t, n) { + var r = e.call(this, t, n) || this; + return (r.type = 'object'), (r.properties = []), r; + } + return ( + Lr(t, e), + Object.defineProperty(t.prototype, 'children', { + get: function () { + return this.properties; + }, + enumerable: !1, + configurable: !0, + }), + t + ); + })(kr); + function jr(e) { + return Dn(e) ? (e ? {} : { not: {} }) : e; + } + !(function (e) { + (e[(e.Key = 0)] = 'Key'), (e[(e.Enum = 1)] = 'Enum'); + })(Nr || (Nr = {})); + var Ur = (function () { + function e(e, t) { + void 0 === e && (e = -1), + (this.focusOffset = e), + (this.exclude = t), + (this.schemas = []); + } + return ( + (e.prototype.add = function (e) { + this.schemas.push(e); + }), + (e.prototype.merge = function (e) { + Array.prototype.push.apply(this.schemas, e.schemas); + }), + (e.prototype.include = function (e) { + return ( + (-1 === this.focusOffset || Kr(e, this.focusOffset)) && + e !== this.exclude + ); + }), + (e.prototype.newSub = function () { + return new e(-1, this.exclude); + }), + e + ); + })(), + Vr = (function () { + function e() {} + return ( + Object.defineProperty(e.prototype, 'schemas', { + get: function () { + return []; + }, + enumerable: !1, + configurable: !0, + }), + (e.prototype.add = function (e) {}), + (e.prototype.merge = function (e) {}), + (e.prototype.include = function (e) { + return !0; + }), + (e.prototype.newSub = function () { + return this; + }), + (e.instance = new e()), + e + ); + })(), + $r = (function () { + function e() { + (this.problems = []), + (this.propertiesMatches = 0), + (this.propertiesValueMatches = 0), + (this.primaryValueMatches = 0), + (this.enumValueMatch = !1), + (this.enumValues = void 0); + } + return ( + (e.prototype.hasProblems = function () { + return !!this.problems.length; + }), + (e.prototype.mergeAll = function (e) { + for (var t = 0, n = e; t < n.length; t++) { + var r = n[t]; + this.merge(r); + } + }), + (e.prototype.merge = function (e) { + this.problems = this.problems.concat(e.problems); + }), + (e.prototype.mergeEnumValues = function (e) { + if ( + !this.enumValueMatch && + !e.enumValueMatch && + this.enumValues && + e.enumValues + ) { + this.enumValues = this.enumValues.concat(e.enumValues); + for (var t = 0, n = this.problems; t < n.length; t++) { + var r = n[t]; + r.code === gr.EnumValueMismatch && + (r.message = wr( + 'enumWarning', + 'Value is not accepted. Valid values: {0}.', + this.enumValues + .map(function (e) { + return JSON.stringify(e); + }) + .join(', ') + )); + } + } + }), + (e.prototype.mergePropertyMatch = function (e) { + this.merge(e), + this.propertiesMatches++, + (e.enumValueMatch || (!e.hasProblems() && e.propertiesMatches)) && + this.propertiesValueMatches++, + e.enumValueMatch && + e.enumValues && + 1 === e.enumValues.length && + this.primaryValueMatches++; + }), + (e.prototype.compare = function (e) { + var t = this.hasProblems(); + return t !== e.hasProblems() + ? t + ? -1 + : 1 + : this.enumValueMatch !== e.enumValueMatch + ? e.enumValueMatch + ? -1 + : 1 + : this.primaryValueMatches !== e.primaryValueMatches + ? this.primaryValueMatches - e.primaryValueMatches + : this.propertiesValueMatches !== e.propertiesValueMatches + ? this.propertiesValueMatches - e.propertiesValueMatches + : this.propertiesMatches - e.propertiesMatches; + }), + e + ); + })(); + function Wr(e) { + return In(e); + } + function qr(e) { + return On(e); + } + function Kr(e, t, n) { + return ( + void 0 === n && (n = !1), + (t >= e.offset && t < e.offset + e.length) || + (n && t === e.offset + e.length) + ); + } + var Br = (function () { + function e(e, t, n) { + void 0 === t && (t = []), + void 0 === n && (n = []), + (this.root = e), + (this.syntaxErrors = t), + (this.comments = n); + } + return ( + (e.prototype.getNodeFromOffset = function (e, t) { + if ((void 0 === t && (t = !1), this.root)) return kn(this.root, e, t); + }), + (e.prototype.visit = function (e) { + if (this.root) { + var t = function (n) { + var r = e(n), + i = n.children; + if (Array.isArray(i)) + for (var o = 0; o < i.length && r; o++) r = t(i[o]); + return r; + }; + t(this.root); + } + }), + (e.prototype.validate = function (e, t) { + if (this.root && t) { + var n = new $r(); + return ( + Hr(this.root, t, n, Vr.instance), + n.problems.map(function (t) { + var n = ln.create( + e.positionAt(t.location.offset), + e.positionAt(t.location.offset + t.location.length) + ); + return Cn.create(n, t.message, t.severity, t.code); + }) + ); + } + }), + (e.prototype.getMatchingSchemas = function (e, t, n) { + void 0 === t && (t = -1); + var r = new Ur(t, n); + return this.root && e && Hr(this.root, e, new $r(), r), r.schemas; + }), + e + ); + })(); + function Hr(e, t, n, r) { + if (e && r.include(e)) { + var i = e; + switch (i.type) { + case 'object': + !(function (e, t, n, r) { + for ( + var i = Object.create(null), o = [], s = 0, a = e.properties; + s < a.length; + s++ + ) + (i[(U = (p = a[s]).keyNode.value)] = p.valueNode), o.push(U); + if (Array.isArray(t.required)) + for (var u = 0, l = t.required; u < l.length; u++) + if (!i[(E = l[u])]) { + var c = + e.parent && + 'property' === e.parent.type && + e.parent.keyNode, + h = c + ? { offset: c.offset, length: c.length } + : { offset: e.offset, length: 1 }; + n.problems.push({ + location: h, + severity: yn.Warning, + message: wr( + 'MissingRequiredPropWarning', + 'Missing property "{0}".', + E + ), + }); + } + var f = function (e) { + for (var t = o.indexOf(e); t >= 0; ) + o.splice(t, 1), (t = o.indexOf(e)); + }; + if (t.properties) + for ( + var d = 0, m = Object.keys(t.properties); + d < m.length; + d++ + ) { + f((E = m[d])); + var g = t.properties[E]; + if ((T = i[E])) + if (Dn(g)) + if (g) n.propertiesMatches++, n.propertiesValueMatches++; + else { + var p = T.parent; + n.problems.push({ + location: { + offset: p.keyNode.offset, + length: p.keyNode.length, + }, + severity: yn.Warning, + message: + t.errorMessage || + wr( + 'DisallowedExtraPropWarning', + 'Property {0} is not allowed.', + E + ), + }); + } + else Hr(T, g, (N = new $r()), r), n.mergePropertyMatch(N); + } + if (t.patternProperties) + for ( + var v = 0, y = Object.keys(t.patternProperties); + v < y.length; + v++ + ) + for ( + var b = y[v], C = new RegExp(b), _ = 0, S = o.slice(0); + _ < S.length; + _++ + ) { + var E = S[_]; + C.test(E) && + (f(E), + (T = i[E]) && + (Dn((g = t.patternProperties[b])) + ? g + ? (n.propertiesMatches++, n.propertiesValueMatches++) + : ((p = T.parent), + n.problems.push({ + location: { + offset: p.keyNode.offset, + length: p.keyNode.length, + }, + severity: yn.Warning, + message: + t.errorMessage || + wr( + 'DisallowedExtraPropWarning', + 'Property {0} is not allowed.', + E + ), + })) + : (Hr(T, g, (N = new $r()), r), + n.mergePropertyMatch(N)))); + } + if ('object' == typeof t.additionalProperties) { + for (var A = 0, x = o; A < x.length; A++) + if ((T = i[(E = x[A])])) { + var N = new $r(); + Hr(T, t.additionalProperties, N, r), n.mergePropertyMatch(N); + } + } else if (!1 === t.additionalProperties && o.length > 0) + for (var L = 0, w = o; L < w.length; L++) { + var T; + (T = i[(E = w[L])]) && + ((p = T.parent), + n.problems.push({ + location: { + offset: p.keyNode.offset, + length: p.keyNode.length, + }, + severity: yn.Warning, + message: + t.errorMessage || + wr( + 'DisallowedExtraPropWarning', + 'Property {0} is not allowed.', + E + ), + })); + } + if ( + (Pn(t.maxProperties) && + e.properties.length > t.maxProperties && + n.problems.push({ + location: { offset: e.offset, length: e.length }, + severity: yn.Warning, + message: wr( + 'MaxPropWarning', + 'Object has more properties than limit of {0}.', + t.maxProperties + ), + }), + Pn(t.minProperties) && + e.properties.length < t.minProperties && + n.problems.push({ + location: { offset: e.offset, length: e.length }, + severity: yn.Warning, + message: wr( + 'MinPropWarning', + 'Object has fewer properties than the required number of {0}', + t.minProperties + ), + }), + t.dependencies) + ) + for ( + var k = 0, O = Object.keys(t.dependencies); + k < O.length; + k++ + ) + if (i[(U = O[k])]) { + var I = t.dependencies[U]; + if (Array.isArray(I)) + for (var M = 0, P = I; M < P.length; M++) { + var R = P[M]; + i[R] + ? n.propertiesValueMatches++ + : n.problems.push({ + location: { offset: e.offset, length: e.length }, + severity: yn.Warning, + message: wr( + 'RequiredDependentPropWarning', + 'Object is missing property {0} required by property {1}.', + R, + U + ), + }); + } + else + (g = jr(I)) && + (Hr(e, g, (N = new $r()), r), n.mergePropertyMatch(N)); + } + var D = jr(t.propertyNames); + if (D) + for (var F = 0, j = e.properties; F < j.length; F++) { + var U; + (U = j[F].keyNode) && Hr(U, D, n, Vr.instance); + } + })(i, t, n, r); + break; + case 'array': + !(function (e, t, n, r) { + if (Array.isArray(t.items)) { + for (var i = t.items, o = 0; o < i.length; o++) { + var s = jr(i[o]), + a = new $r(); + (f = e.items[o]) + ? (Hr(f, s, a, r), n.mergePropertyMatch(a)) + : e.items.length >= i.length && n.propertiesValueMatches++; + } + if (e.items.length > i.length) + if ('object' == typeof t.additionalItems) + for (var u = i.length; u < e.items.length; u++) + (a = new $r()), + Hr(e.items[u], t.additionalItems, a, r), + n.mergePropertyMatch(a); + else + !1 === t.additionalItems && + n.problems.push({ + location: { offset: e.offset, length: e.length }, + severity: yn.Warning, + message: wr( + 'additionalItemsWarning', + 'Array has too many items according to schema. Expected {0} or fewer.', + i.length + ), + }); + } else { + var l = jr(t.items); + if (l) + for (var c = 0, h = e.items; c < h.length; c++) { + var f; + Hr((f = h[c]), l, (a = new $r()), r), n.mergePropertyMatch(a); + } + } + var d = jr(t.contains); + if ( + (d && + (e.items.some(function (e) { + var t = new $r(); + return Hr(e, d, t, Vr.instance), !t.hasProblems(); + }) || + n.problems.push({ + location: { offset: e.offset, length: e.length }, + severity: yn.Warning, + message: + t.errorMessage || + wr( + 'requiredItemMissingWarning', + 'Array does not contain required item.' + ), + })), + Pn(t.minItems) && + e.items.length < t.minItems && + n.problems.push({ + location: { offset: e.offset, length: e.length }, + severity: yn.Warning, + message: wr( + 'minItemsWarning', + 'Array has too few items. Expected {0} or more.', + t.minItems + ), + }), + Pn(t.maxItems) && + e.items.length > t.maxItems && + n.problems.push({ + location: { offset: e.offset, length: e.length }, + severity: yn.Warning, + message: wr( + 'maxItemsWarning', + 'Array has too many items. Expected {0} or fewer.', + t.maxItems + ), + }), + !0 === t.uniqueItems) + ) { + var m = Wr(e); + m.some(function (e, t) { + return t !== m.lastIndexOf(e); + }) && + n.problems.push({ + location: { offset: e.offset, length: e.length }, + severity: yn.Warning, + message: wr( + 'uniqueItemsWarning', + 'Array has duplicate items.' + ), + }); + } + })(i, t, n, r); + break; + case 'string': + !(function (e, t, n, r) { + if ( + (Pn(t.minLength) && + e.value.length < t.minLength && + n.problems.push({ + location: { offset: e.offset, length: e.length }, + severity: yn.Warning, + message: wr( + 'minLengthWarning', + 'String is shorter than the minimum length of {0}.', + t.minLength + ), + }), + Pn(t.maxLength) && + e.value.length > t.maxLength && + n.problems.push({ + location: { offset: e.offset, length: e.length }, + severity: yn.Warning, + message: wr( + 'maxLengthWarning', + 'String is longer than the maximum length of {0}.', + t.maxLength + ), + }), + 'string' == typeof t.pattern && + (new RegExp(t.pattern).test(e.value) || + n.problems.push({ + location: { offset: e.offset, length: e.length }, + severity: yn.Warning, + message: + t.patternErrorMessage || + t.errorMessage || + wr( + 'patternWarning', + 'String does not match the pattern of "{0}".', + t.pattern + ), + })), + t.format) + ) + switch (t.format) { + case 'uri': + case 'uri-reference': + var i = void 0; + if (e.value) { + var o = /^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/.exec( + e.value + ); + o + ? o[2] || + 'uri' !== t.format || + (i = wr( + 'uriSchemeMissing', + 'URI with a scheme is expected.' + )) + : (i = wr('uriMissing', 'URI is expected.')); + } else i = wr('uriEmpty', 'URI expected.'); + i && + n.problems.push({ + location: { offset: e.offset, length: e.length }, + severity: yn.Warning, + message: + t.patternErrorMessage || + t.errorMessage || + wr('uriFormatWarning', 'String is not a URI: {0}', i), + }); + break; + case 'color-hex': + case 'date-time': + case 'date': + case 'time': + case 'email': + var s = Tr[t.format]; + (e.value && s.pattern.exec(e.value)) || + n.problems.push({ + location: { offset: e.offset, length: e.length }, + severity: yn.Warning, + message: + t.patternErrorMessage || + t.errorMessage || + s.errorMessage, + }); + } + })(i, t, n); + break; + case 'number': + !(function (e, t, n, r) { + var i = e.value; + function o(e) { + var t, + n = /^(-?\d+)(?:\.(\d+))?(?:e([-+]\d+))?$/.exec(e.toString()); + return ( + n && { + value: Number(n[1] + (n[2] || '')), + multiplier: + ((null === (t = n[2]) || void 0 === t + ? void 0 + : t.length) || 0) - (parseInt(n[3]) || 0), + } + ); + } + if (Pn(t.multipleOf)) { + var s = -1; + if (Number.isInteger(t.multipleOf)) s = i % t.multipleOf; + else { + var a = o(t.multipleOf), + u = o(i); + if (a && u) { + var l = Math.pow(10, Math.abs(u.multiplier - a.multiplier)); + u.multiplier < a.multiplier ? (u.value *= l) : (a.value *= l), + (s = u.value % a.value); + } + } + 0 !== s && + n.problems.push({ + location: { offset: e.offset, length: e.length }, + severity: yn.Warning, + message: wr( + 'multipleOfWarning', + 'Value is not divisible by {0}.', + t.multipleOf + ), + }); + } + function c(e, t) { + return Pn(t) ? t : Dn(t) && t ? e : void 0; + } + function h(e, t) { + if (!Dn(t) || !t) return e; + } + var f = c(t.minimum, t.exclusiveMinimum); + Pn(f) && + i <= f && + n.problems.push({ + location: { offset: e.offset, length: e.length }, + severity: yn.Warning, + message: wr( + 'exclusiveMinimumWarning', + 'Value is below the exclusive minimum of {0}.', + f + ), + }); + var d = c(t.maximum, t.exclusiveMaximum); + Pn(d) && + i >= d && + n.problems.push({ + location: { offset: e.offset, length: e.length }, + severity: yn.Warning, + message: wr( + 'exclusiveMaximumWarning', + 'Value is above the exclusive maximum of {0}.', + d + ), + }); + var m = h(t.minimum, t.exclusiveMinimum); + Pn(m) && + i < m && + n.problems.push({ + location: { offset: e.offset, length: e.length }, + severity: yn.Warning, + message: wr( + 'minimumWarning', + 'Value is below the minimum of {0}.', + m + ), + }); + var g = h(t.maximum, t.exclusiveMaximum); + Pn(g) && + i > g && + n.problems.push({ + location: { offset: e.offset, length: e.length }, + severity: yn.Warning, + message: wr( + 'maximumWarning', + 'Value is above the maximum of {0}.', + g + ), + }); + })(i, t, n); + break; + case 'property': + return Hr(i.valueNode, t, n, r); + } + !(function () { + function e(e) { + return ( + i.type === e || + ('integer' === e && 'number' === i.type && i.isInteger) + ); + } + if ( + (Array.isArray(t.type) + ? t.type.some(e) || + n.problems.push({ + location: { offset: i.offset, length: i.length }, + severity: yn.Warning, + message: + t.errorMessage || + wr( + 'typeArrayMismatchWarning', + 'Incorrect type. Expected one of {0}.', + t.type.join(', ') + ), + }) + : t.type && + (e(t.type) || + n.problems.push({ + location: { offset: i.offset, length: i.length }, + severity: yn.Warning, + message: + t.errorMessage || + wr( + 'typeMismatchWarning', + 'Incorrect type. Expected "{0}".', + t.type + ), + })), + Array.isArray(t.allOf)) + ) + for (var o = 0, s = t.allOf; o < s.length; o++) { + var a = s[o]; + Hr(i, jr(a), n, r); + } + var u = jr(t.not); + if (u) { + var l = new $r(), + c = r.newSub(); + Hr(i, u, l, c), + l.hasProblems() || + n.problems.push({ + location: { offset: i.offset, length: i.length }, + severity: yn.Warning, + message: wr( + 'notSchemaWarning', + 'Matches a schema that is not allowed.' + ), + }); + for (var h = 0, f = c.schemas; h < f.length; h++) { + var d = f[h]; + (d.inverted = !d.inverted), r.add(d); + } + } + var m = function (e, t) { + for (var o = [], s = void 0, a = 0, u = e; a < u.length; a++) { + var l = jr(u[a]), + c = new $r(), + h = r.newSub(); + if ((Hr(i, l, c, h), c.hasProblems() || o.push(l), s)) + if (t || c.hasProblems() || s.validationResult.hasProblems()) { + var f = c.compare(s.validationResult); + f > 0 + ? (s = { schema: l, validationResult: c, matchingSchemas: h }) + : 0 === f && + (s.matchingSchemas.merge(h), + s.validationResult.mergeEnumValues(c)); + } else + s.matchingSchemas.merge(h), + (s.validationResult.propertiesMatches += c.propertiesMatches), + (s.validationResult.propertiesValueMatches += + c.propertiesValueMatches); + else s = { schema: l, validationResult: c, matchingSchemas: h }; + } + return ( + o.length > 1 && + t && + n.problems.push({ + location: { offset: i.offset, length: 1 }, + severity: yn.Warning, + message: wr( + 'oneOfWarning', + 'Matches multiple schemas when only one must validate.' + ), + }), + s && + (n.merge(s.validationResult), + (n.propertiesMatches += s.validationResult.propertiesMatches), + (n.propertiesValueMatches += + s.validationResult.propertiesValueMatches), + r.merge(s.matchingSchemas)), + o.length + ); + }; + Array.isArray(t.anyOf) && m(t.anyOf, !1), + Array.isArray(t.oneOf) && m(t.oneOf, !0); + var g = function (e) { + var t = new $r(), + o = r.newSub(); + Hr(i, jr(e), t, o), + n.merge(t), + (n.propertiesMatches += t.propertiesMatches), + (n.propertiesValueMatches += t.propertiesValueMatches), + r.merge(o); + }, + p = jr(t.if); + if ( + (p && + (function (e, t, n) { + var o = jr(e), + s = new $r(), + a = r.newSub(); + Hr(i, o, s, a), + r.merge(a), + s.hasProblems() ? n && g(n) : t && g(t); + })(p, jr(t.then), jr(t.else)), + Array.isArray(t.enum)) + ) { + for (var v = Wr(i), y = !1, b = 0, C = t.enum; b < C.length; b++) { + if (Mn(v, C[b])) { + y = !0; + break; + } + } + (n.enumValues = t.enum), + (n.enumValueMatch = y), + y || + n.problems.push({ + location: { offset: i.offset, length: i.length }, + severity: yn.Warning, + code: gr.EnumValueMismatch, + message: + t.errorMessage || + wr( + 'enumWarning', + 'Value is not accepted. Valid values: {0}.', + t.enum + .map(function (e) { + return JSON.stringify(e); + }) + .join(', ') + ), + }); + } + Rn(t.const) && + (Mn((v = Wr(i)), t.const) + ? (n.enumValueMatch = !0) + : (n.problems.push({ + location: { offset: i.offset, length: i.length }, + severity: yn.Warning, + code: gr.EnumValueMismatch, + message: + t.errorMessage || + wr( + 'constWarning', + 'Value must be {0}.', + JSON.stringify(t.const) + ), + }), + (n.enumValueMatch = !1)), + (n.enumValues = [t.const])), + t.deprecationMessage && + i.parent && + n.problems.push({ + location: { offset: i.parent.offset, length: i.parent.length }, + severity: yn.Warning, + message: t.deprecationMessage, + }); + })(), + r.add({ node: i, schema: t }); + } + } + function Yr(e, t, n) { + if (null !== e && 'object' == typeof e) { + var r = t + '\t'; + if (Array.isArray(e)) { + if (0 === e.length) return '[]'; + for (var i = '[\n', o = 0; o < e.length; o++) + (i += r + Yr(e[o], r, n)), + o < e.length - 1 && (i += ','), + (i += '\n'); + return i + (t + ']'); + } + var s = Object.keys(e); + if (0 === s.length) return '{}'; + for (i = '{\n', o = 0; o < s.length; o++) { + var a = s[o]; + (i += r + JSON.stringify(a) + ': ' + Yr(e[a], r, n)), + o < s.length - 1 && (i += ','), + (i += '\n'); + } + return i + (t + '}'); + } + return n(e); + } + function Gr(e, t) { + var n = e.length - t.length; + return n > 0 ? e.lastIndexOf(t) === n : 0 === n && e === t; + } + function zr(e) { + return e + .replace(/[\-\\\{\}\+\?\|\^\$\.\,\[\]\(\)\#\s]/g, '\\$&') + .replace(/[\*]/g, '.*'); + } + var Jr = Ar(), + Qr = (function () { + function e(e, t, n, r) { + void 0 === t && (t = []), + void 0 === n && (n = Promise), + void 0 === r && (r = {}), + (this.schemaService = e), + (this.contributions = t), + (this.promiseConstructor = n), + (this.clientCapabilities = r); + } + return ( + (e.prototype.doResolve = function (e) { + for (var t = this.contributions.length - 1; t >= 0; t--) { + var n = this.contributions[t].resolveCompletion; + if (n) { + var r = n(e); + if (r) return r; + } + } + return this.promiseConstructor.resolve(e); + }), + (e.prototype.doComplete = function (e, t, n) { + var r = this, + i = { items: [], isIncomplete: !1 }, + o = e.getText(), + s = e.offsetAt(t), + a = n.getNodeFromOffset(s, !0); + if (this.isInComment(e, a ? a.offset : 0, s)) + return Promise.resolve(i); + if (a && s === a.offset + a.length && s > 0) { + var u = o[s - 1]; + (('object' === a.type && '}' === u) || + ('array' === a.type && ']' === u)) && + (a = a.parent); + } + var l, + c = this.getCurrentWord(e, s); + if ( + !a || + ('string' !== a.type && + 'number' !== a.type && + 'boolean' !== a.type && + 'null' !== a.type) + ) { + var h = s - c.length; + h > 0 && '"' === o[h - 1] && h--, + (l = ln.create(e.positionAt(h), t)); + } else + l = ln.create( + e.positionAt(a.offset), + e.positionAt(a.offset + a.length) + ); + var f = {}, + d = { + add: function (e) { + var t = e.label, + n = f[t]; + if (n) n.documentation || (n.documentation = e.documentation); + else { + if ((t = t.replace(/[\n]/g, '↵')).length > 60) { + var r = t.substr(0, 57).trim() + '...'; + f[r] || (t = r); + } + l && + void 0 !== e.insertText && + (e.textEdit = Sn.replace(l, e.insertText)), + (e.label = t), + (f[t] = e), + i.items.push(e); + } + }, + setAsIncomplete: function () { + i.isIncomplete = !0; + }, + error: function (e) { + console.error(e); + }, + log: function (e) { + console.log(e); + }, + getNumberOfProposals: function () { + return i.items.length; + }, + }; + return this.schemaService + .getSchemaForResource(e.uri, n) + .then(function (t) { + var u = [], + h = !0, + m = '', + g = void 0; + if (a && 'string' === a.type) { + var p = a.parent; + p && + 'property' === p.type && + p.keyNode === a && + ((h = !p.valueNode), + (g = p), + (m = o.substr(a.offset + 1, a.length - 2)), + p && (a = p.parent)); + } + if (a && 'object' === a.type) { + if (a.offset === s) return i; + a.properties.forEach(function (e) { + (g && g === e) || (f[e.keyNode.value] = Bn.create('__')); + }); + var v = ''; + h && (v = r.evaluateSeparatorAfter(e, e.offsetAt(l.end))), + t + ? r.getPropertyCompletions(t, n, a, h, v, d) + : r.getSchemaLessPropertyCompletions(n, a, m, d); + var y = qr(a); + r.contributions.forEach(function (t) { + var n = t.collectPropertyCompletions( + e.uri, + y, + c, + h, + '' === v, + d + ); + n && u.push(n); + }), + !t && + c.length > 0 && + '"' !== o.charAt(s - c.length - 1) && + (d.add({ + kind: Wn.Property, + label: r.getLabelForValue(c), + insertText: r.getInsertTextForProperty(c, void 0, !1, v), + insertTextFormat: qn.Snippet, + documentation: '', + }), + d.setAsIncomplete()); + } + var b = {}; + return ( + t + ? r.getValueCompletions(t, n, a, s, e, d, b) + : r.getSchemaLessValueCompletions(n, a, s, e, d), + r.contributions.length > 0 && + r.getContributedValueCompletions(n, a, s, e, d, u), + r.promiseConstructor.all(u).then(function () { + if (0 === d.getNumberOfProposals()) { + var t = s; + !a || + ('string' !== a.type && + 'number' !== a.type && + 'boolean' !== a.type && + 'null' !== a.type) || + (t = a.offset + a.length); + var n = r.evaluateSeparatorAfter(e, t); + r.addFillerValueCompletions(b, n, d); + } + return i; + }) + ); + }); + }), + (e.prototype.getPropertyCompletions = function (e, t, n, r, i, o) { + var s = this; + t.getMatchingSchemas(e.schema, n.offset).forEach(function (e) { + if (e.node === n && !e.inverted) { + var t = e.schema.properties; + t && + Object.keys(t).forEach(function (e) { + var n = t[e]; + if ( + 'object' == typeof n && + !n.deprecationMessage && + !n.doNotSuggest + ) { + var a = { + kind: Wn.Property, + label: e, + insertText: s.getInsertTextForProperty(e, n, r, i), + insertTextFormat: qn.Snippet, + filterText: s.getFilterTextForValue(e), + documentation: + s.fromMarkup(n.markdownDescription) || + n.description || + '', + }; + void 0 !== n.suggestSortText && + (a.sortText = n.suggestSortText), + a.insertText && + Gr(a.insertText, '$1' + i) && + (a.command = { + title: 'Suggest', + command: 'editor.action.triggerSuggest', + }), + o.add(a); + } + }); + var a = e.schema.propertyNames; + if ( + 'object' == typeof a && + !a.deprecationMessage && + !a.doNotSuggest + ) { + var u = function (e, t) { + void 0 === t && (t = void 0); + var n = { + kind: Wn.Property, + label: e, + insertText: s.getInsertTextForProperty(e, void 0, r, i), + insertTextFormat: qn.Snippet, + filterText: s.getFilterTextForValue(e), + documentation: + t || + s.fromMarkup(a.markdownDescription) || + a.description || + '', + }; + void 0 !== a.suggestSortText && + (n.sortText = a.suggestSortText), + n.insertText && + Gr(n.insertText, '$1' + i) && + (n.command = { + title: 'Suggest', + command: 'editor.action.triggerSuggest', + }), + o.add(n); + }; + if (a.enum) + for (var l = 0; l < a.enum.length; l++) { + var c = void 0; + a.markdownEnumDescriptions && + l < a.markdownEnumDescriptions.length + ? (c = s.fromMarkup(a.markdownEnumDescriptions[l])) + : a.enumDescriptions && + l < a.enumDescriptions.length && + (c = a.enumDescriptions[l]), + u(a.enum[l], c); + } + a.const && u(a.const); + } + } + }); + }), + (e.prototype.getSchemaLessPropertyCompletions = function (e, t, n, r) { + var i = this, + o = function (e) { + e.properties.forEach(function (e) { + var t = e.keyNode.value; + r.add({ + kind: Wn.Property, + label: t, + insertText: i.getInsertTextForValue(t, ''), + insertTextFormat: qn.Snippet, + filterText: i.getFilterTextForValue(t), + documentation: '', + }); + }); + }; + if (t.parent) + if ('property' === t.parent.type) { + var s = t.parent.keyNode.value; + e.visit(function (e) { + return ( + 'property' === e.type && + e !== t.parent && + e.keyNode.value === s && + e.valueNode && + 'object' === e.valueNode.type && + o(e.valueNode), + !0 + ); + }); + } else + 'array' === t.parent.type && + t.parent.items.forEach(function (e) { + 'object' === e.type && e !== t && o(e); + }); + else + 'object' === t.type && + r.add({ + kind: Wn.Property, + label: '$schema', + insertText: this.getInsertTextForProperty( + '$schema', + void 0, + !0, + '' + ), + insertTextFormat: qn.Snippet, + documentation: '', + filterText: this.getFilterTextForValue('$schema'), + }); + }), + (e.prototype.getSchemaLessValueCompletions = function (e, t, n, r, i) { + var o = this, + s = n; + if ( + (!t || + ('string' !== t.type && + 'number' !== t.type && + 'boolean' !== t.type && + 'null' !== t.type) || + ((s = t.offset + t.length), (t = t.parent)), + !t) + ) + return ( + i.add({ + kind: this.getSuggestionKind('object'), + label: 'Empty object', + insertText: this.getInsertTextForValue({}, ''), + insertTextFormat: qn.Snippet, + documentation: '', + }), + void i.add({ + kind: this.getSuggestionKind('array'), + label: 'Empty array', + insertText: this.getInsertTextForValue([], ''), + insertTextFormat: qn.Snippet, + documentation: '', + }) + ); + var a = this.evaluateSeparatorAfter(r, s), + u = function (e) { + e.parent && + !Kr(e.parent, n, !0) && + i.add({ + kind: o.getSuggestionKind(e.type), + label: o.getLabelTextForMatchingNode(e, r), + insertText: o.getInsertTextForMatchingNode(e, r, a), + insertTextFormat: qn.Snippet, + documentation: '', + }), + 'boolean' === e.type && + o.addBooleanValueCompletion(!e.value, a, i); + }; + if ('property' === t.type && n > (t.colonOffset || 0)) { + var l = t.valueNode; + if ( + l && + (n > l.offset + l.length || + 'object' === l.type || + 'array' === l.type) + ) + return; + var c = t.keyNode.value; + e.visit(function (e) { + return ( + 'property' === e.type && + e.keyNode.value === c && + e.valueNode && + u(e.valueNode), + !0 + ); + }), + '$schema' === c && + t.parent && + !t.parent.parent && + this.addDollarSchemaCompletions(a, i); + } + if ('array' === t.type) + if (t.parent && 'property' === t.parent.type) { + var h = t.parent.keyNode.value; + e.visit(function (e) { + return ( + 'property' === e.type && + e.keyNode.value === h && + e.valueNode && + 'array' === e.valueNode.type && + e.valueNode.items.forEach(u), + !0 + ); + }); + } else t.items.forEach(u); + }), + (e.prototype.getValueCompletions = function (e, t, n, r, i, o, s) { + var a = r, + u = void 0, + l = void 0; + if ( + (!n || + ('string' !== n.type && + 'number' !== n.type && + 'boolean' !== n.type && + 'null' !== n.type) || + ((a = n.offset + n.length), (l = n), (n = n.parent)), + n) + ) { + if ('property' === n.type && r > (n.colonOffset || 0)) { + var c = n.valueNode; + if (c && r > c.offset + c.length) return; + (u = n.keyNode.value), (n = n.parent); + } + if (n && (void 0 !== u || 'array' === n.type)) { + for ( + var h = this.evaluateSeparatorAfter(i, a), + f = 0, + d = t.getMatchingSchemas(e.schema, n.offset, l); + f < d.length; + f++ + ) { + var m = d[f]; + if (m.node === n && !m.inverted && m.schema) { + if ('array' === n.type && m.schema.items) + if (Array.isArray(m.schema.items)) { + var g = this.findItemAtOffset(n, i, r); + g < m.schema.items.length && + this.addSchemaValueCompletions( + m.schema.items[g], + h, + o, + s + ); + } else + this.addSchemaValueCompletions(m.schema.items, h, o, s); + if (void 0 !== u) { + var p = !1; + if ( + (m.schema.properties && + (C = m.schema.properties[u]) && + ((p = !0), this.addSchemaValueCompletions(C, h, o, s)), + m.schema.patternProperties && !p) + ) + for ( + var v = 0, y = Object.keys(m.schema.patternProperties); + v < y.length; + v++ + ) { + var b = y[v]; + if (new RegExp(b).test(u)) { + p = !0; + var C = m.schema.patternProperties[b]; + this.addSchemaValueCompletions(C, h, o, s); + } + } + m.schema.additionalProperties && + !p && + ((C = m.schema.additionalProperties), + this.addSchemaValueCompletions(C, h, o, s)); + } + } + } + '$schema' !== u || + n.parent || + this.addDollarSchemaCompletions(h, o), + s.boolean && + (this.addBooleanValueCompletion(!0, h, o), + this.addBooleanValueCompletion(!1, h, o)), + s.null && this.addNullValueCompletion(h, o); + } + } else this.addSchemaValueCompletions(e.schema, '', o, s); + }), + (e.prototype.getContributedValueCompletions = function ( + e, + t, + n, + r, + i, + o + ) { + if (t) { + if ( + (('string' !== t.type && + 'number' !== t.type && + 'boolean' !== t.type && + 'null' !== t.type) || + (t = t.parent), + t && 'property' === t.type && n > (t.colonOffset || 0)) + ) { + var s = t.keyNode.value, + a = t.valueNode; + if ((!a || n <= a.offset + a.length) && t.parent) { + var u = qr(t.parent); + this.contributions.forEach(function (e) { + var t = e.collectValueCompletions(r.uri, u, s, i); + t && o.push(t); + }); + } + } + } else + this.contributions.forEach(function (e) { + var t = e.collectDefaultCompletions(r.uri, i); + t && o.push(t); + }); + }), + (e.prototype.addSchemaValueCompletions = function (e, t, n, r) { + var i = this; + 'object' == typeof e && + (this.addEnumValueCompletions(e, t, n), + this.addDefaultValueCompletions(e, t, n), + this.collectTypes(e, r), + Array.isArray(e.allOf) && + e.allOf.forEach(function (e) { + return i.addSchemaValueCompletions(e, t, n, r); + }), + Array.isArray(e.anyOf) && + e.anyOf.forEach(function (e) { + return i.addSchemaValueCompletions(e, t, n, r); + }), + Array.isArray(e.oneOf) && + e.oneOf.forEach(function (e) { + return i.addSchemaValueCompletions(e, t, n, r); + })); + }), + (e.prototype.addDefaultValueCompletions = function (e, t, n, r) { + var i = this; + void 0 === r && (r = 0); + var o = !1; + if (Rn(e.default)) { + for (var s = e.type, a = e.default, u = r; u > 0; u--) + (a = [a]), (s = 'array'); + n.add({ + kind: this.getSuggestionKind(s), + label: this.getLabelForValue(a), + insertText: this.getInsertTextForValue(a, t), + insertTextFormat: qn.Snippet, + detail: Jr('json.suggest.default', 'Default value'), + }), + (o = !0); + } + Array.isArray(e.examples) && + e.examples.forEach(function (s) { + for (var a = e.type, u = s, l = r; l > 0; l--) + (u = [u]), (a = 'array'); + n.add({ + kind: i.getSuggestionKind(a), + label: i.getLabelForValue(u), + insertText: i.getInsertTextForValue(u, t), + insertTextFormat: qn.Snippet, + }), + (o = !0); + }), + Array.isArray(e.defaultSnippets) && + e.defaultSnippets.forEach(function (s) { + var a, + u, + l = e.type, + c = s.body, + h = s.label; + if (Rn(c)) { + e.type; + for (var f = r; f > 0; f--) c = [c]; + (a = i.getInsertTextForSnippetValue(c, t)), + (u = i.getFilterTextForSnippetValue(c)), + (h = h || i.getLabelForSnippetValue(c)); + } else { + if ('string' != typeof s.bodyText) return; + var d = '', + m = '', + g = ''; + for (f = r; f > 0; f--) + (d = d + g + '[\n'), + (m = m + '\n' + g + ']'), + (g += '\t'), + (l = 'array'); + (a = d + g + s.bodyText.split('\n').join('\n' + g) + m + t), + (h = h || a), + (u = a.replace(/[\n]/g, '')); + } + n.add({ + kind: i.getSuggestionKind(l), + label: h, + documentation: + i.fromMarkup(s.markdownDescription) || s.description, + insertText: a, + insertTextFormat: qn.Snippet, + filterText: u, + }), + (o = !0); + }), + !o && + 'object' == typeof e.items && + !Array.isArray(e.items) && + r < 5 && + this.addDefaultValueCompletions(e.items, t, n, r + 1); + }), + (e.prototype.addEnumValueCompletions = function (e, t, n) { + if ( + (Rn(e.const) && + n.add({ + kind: this.getSuggestionKind(e.type), + label: this.getLabelForValue(e.const), + insertText: this.getInsertTextForValue(e.const, t), + insertTextFormat: qn.Snippet, + documentation: + this.fromMarkup(e.markdownDescription) || e.description, + }), + Array.isArray(e.enum)) + ) + for (var r = 0, i = e.enum.length; r < i; r++) { + var o = e.enum[r], + s = this.fromMarkup(e.markdownDescription) || e.description; + e.markdownEnumDescriptions && + r < e.markdownEnumDescriptions.length && + this.doesSupportMarkdown() + ? (s = this.fromMarkup(e.markdownEnumDescriptions[r])) + : e.enumDescriptions && + r < e.enumDescriptions.length && + (s = e.enumDescriptions[r]), + n.add({ + kind: this.getSuggestionKind(e.type), + label: this.getLabelForValue(o), + insertText: this.getInsertTextForValue(o, t), + insertTextFormat: qn.Snippet, + documentation: s, + }); + } + }), + (e.prototype.collectTypes = function (e, t) { + if (!Array.isArray(e.enum) && !Rn(e.const)) { + var n = e.type; + Array.isArray(n) + ? n.forEach(function (e) { + return (t[e] = !0); + }) + : n && (t[n] = !0); + } + }), + (e.prototype.addFillerValueCompletions = function (e, t, n) { + e.object && + n.add({ + kind: this.getSuggestionKind('object'), + label: '{}', + insertText: this.getInsertTextForGuessedValue({}, t), + insertTextFormat: qn.Snippet, + detail: Jr('defaults.object', 'New object'), + documentation: '', + }), + e.array && + n.add({ + kind: this.getSuggestionKind('array'), + label: '[]', + insertText: this.getInsertTextForGuessedValue([], t), + insertTextFormat: qn.Snippet, + detail: Jr('defaults.array', 'New array'), + documentation: '', + }); + }), + (e.prototype.addBooleanValueCompletion = function (e, t, n) { + n.add({ + kind: this.getSuggestionKind('boolean'), + label: e ? 'true' : 'false', + insertText: this.getInsertTextForValue(e, t), + insertTextFormat: qn.Snippet, + documentation: '', + }); + }), + (e.prototype.addNullValueCompletion = function (e, t) { + t.add({ + kind: this.getSuggestionKind('null'), + label: 'null', + insertText: 'null' + e, + insertTextFormat: qn.Snippet, + documentation: '', + }); + }), + (e.prototype.addDollarSchemaCompletions = function (e, t) { + var n = this; + this.schemaService + .getRegisteredSchemaIds(function (e) { + return 'http' === e || 'https' === e; + }) + .forEach(function (r) { + return t.add({ + kind: Wn.Module, + label: n.getLabelForValue(r), + filterText: n.getFilterTextForValue(r), + insertText: n.getInsertTextForValue(r, e), + insertTextFormat: qn.Snippet, + documentation: '', + }); + }); + }), + (e.prototype.getLabelForValue = function (e) { + return JSON.stringify(e); + }), + (e.prototype.getFilterTextForValue = function (e) { + return JSON.stringify(e); + }), + (e.prototype.getFilterTextForSnippetValue = function (e) { + return JSON.stringify(e).replace(/\$\{\d+:([^}]+)\}|\$\d+/g, '$1'); + }), + (e.prototype.getLabelForSnippetValue = function (e) { + return JSON.stringify(e).replace(/\$\{\d+:([^}]+)\}|\$\d+/g, '$1'); + }), + (e.prototype.getInsertTextForPlainText = function (e) { + return e.replace(/[\\\$\}]/g, '\\$&'); + }), + (e.prototype.getInsertTextForValue = function (e, t) { + var n = JSON.stringify(e, null, '\t'); + return '{}' === n + ? '{$1}' + t + : '[]' === n + ? '[$1]' + t + : this.getInsertTextForPlainText(n + t); + }), + (e.prototype.getInsertTextForSnippetValue = function (e, t) { + return ( + Yr(e, '', function (e) { + return 'string' == typeof e && '^' === e[0] + ? e.substr(1) + : JSON.stringify(e); + }) + t + ); + }), + (e.prototype.getInsertTextForGuessedValue = function (e, t) { + switch (typeof e) { + case 'object': + return null === e + ? '${1:null}' + t + : this.getInsertTextForValue(e, t); + case 'string': + var n = JSON.stringify(e); + return ( + (n = n.substr(1, n.length - 2)), + '"${1:' + (n = this.getInsertTextForPlainText(n)) + '}"' + t + ); + case 'number': + case 'boolean': + return '${1:' + JSON.stringify(e) + '}' + t; + } + return this.getInsertTextForValue(e, t); + }), + (e.prototype.getSuggestionKind = function (e) { + if (Array.isArray(e)) { + var t = e; + e = t.length > 0 ? t[0] : void 0; + } + if (!e) return Wn.Value; + switch (e) { + case 'string': + return Wn.Value; + case 'object': + return Wn.Module; + case 'property': + return Wn.Property; + default: + return Wn.Value; + } + }), + (e.prototype.getLabelTextForMatchingNode = function (e, t) { + switch (e.type) { + case 'array': + return '[]'; + case 'object': + return '{}'; + default: + return t.getText().substr(e.offset, e.length); + } + }), + (e.prototype.getInsertTextForMatchingNode = function (e, t, n) { + switch (e.type) { + case 'array': + return this.getInsertTextForValue([], n); + case 'object': + return this.getInsertTextForValue({}, n); + default: + var r = t.getText().substr(e.offset, e.length) + n; + return this.getInsertTextForPlainText(r); + } + }), + (e.prototype.getInsertTextForProperty = function (e, t, n, r) { + var i = this.getInsertTextForValue(e, ''); + if (!n) return i; + var o, + s = i + ': ', + a = 0; + if (t) { + if (Array.isArray(t.defaultSnippets)) { + if (1 === t.defaultSnippets.length) { + var u = t.defaultSnippets[0].body; + Rn(u) && (o = this.getInsertTextForSnippetValue(u, '')); + } + a += t.defaultSnippets.length; + } + if ( + (t.enum && + (o || + 1 !== t.enum.length || + (o = this.getInsertTextForGuessedValue(t.enum[0], '')), + (a += t.enum.length)), + Rn(t.default) && + (o || (o = this.getInsertTextForGuessedValue(t.default, '')), + a++), + Array.isArray(t.examples) && + t.examples.length && + (o || + (o = this.getInsertTextForGuessedValue(t.examples[0], '')), + (a += t.examples.length)), + 0 === a) + ) { + var l = Array.isArray(t.type) ? t.type[0] : t.type; + switch ( + (l || + (t.properties ? (l = 'object') : t.items && (l = 'array')), + l) + ) { + case 'boolean': + o = '$1'; + break; + case 'string': + o = '"$1"'; + break; + case 'object': + o = '{$1}'; + break; + case 'array': + o = '[$1]'; + break; + case 'number': + case 'integer': + o = '${1:0}'; + break; + case 'null': + o = '${1:null}'; + break; + default: + return i; + } + } + } + return (!o || a > 1) && (o = '$1'), s + o + r; + }), + (e.prototype.getCurrentWord = function (e, t) { + for ( + var n = t - 1, r = e.getText(); + n >= 0 && -1 === ' \t\n\r\v":{[,]}'.indexOf(r.charAt(n)); + + ) + n--; + return r.substring(n + 1, t); + }), + (e.prototype.evaluateSeparatorAfter = function (e, t) { + var n = wn(e.getText(), !0); + switch ((n.setPosition(t), n.scan())) { + case 5: + case 2: + case 4: + case 17: + return ''; + default: + return ','; + } + }), + (e.prototype.findItemAtOffset = function (e, t, n) { + for ( + var r = wn(t.getText(), !0), i = e.items, o = i.length - 1; + o >= 0; + o-- + ) { + var s = i[o]; + if (n > s.offset + s.length) + return ( + r.setPosition(s.offset + s.length), + 5 === r.scan() && n >= r.getTokenOffset() + r.getTokenLength() + ? o + 1 + : o + ); + if (n >= s.offset) return o; + } + return 0; + }), + (e.prototype.isInComment = function (e, t, n) { + var r = wn(e.getText(), !1); + r.setPosition(t); + for ( + var i = r.scan(); + 17 !== i && r.getTokenOffset() + r.getTokenLength() < n; + + ) + i = r.scan(); + return (12 === i || 13 === i) && r.getTokenOffset() <= n; + }), + (e.prototype.fromMarkup = function (e) { + if (e && this.doesSupportMarkdown()) + return { kind: Vn.Markdown, value: e }; + }), + (e.prototype.doesSupportMarkdown = function () { + if (!Rn(this.supportsMarkdown)) { + var e = + this.clientCapabilities.textDocument && + this.clientCapabilities.textDocument.completion; + this.supportsMarkdown = + e && + e.completionItem && + Array.isArray(e.completionItem.documentationFormat) && + -1 !== e.completionItem.documentationFormat.indexOf(Vn.Markdown); + } + return this.supportsMarkdown; + }), + (e.prototype.doesSupportsCommitCharacters = function () { + if (!Rn(this.supportsCommitCharacters)) { + var e = + this.clientCapabilities.textDocument && + this.clientCapabilities.textDocument.completion; + this.supportsCommitCharacters = + e && + e.completionItem && + !!e.completionItem.commitCharactersSupport; + } + return this.supportsCommitCharacters; + }), + e + ); + })(), + Zr = (function () { + function e(e, t, n) { + void 0 === t && (t = []), + (this.schemaService = e), + (this.contributions = t), + (this.promise = n || Promise); + } + return ( + (e.prototype.doHover = function (e, t, n) { + var r = e.offsetAt(t), + i = n.getNodeFromOffset(r); + if ( + !i || + (('object' === i.type || 'array' === i.type) && + r > i.offset + 1 && + r < i.offset + i.length - 1) + ) + return this.promise.resolve(null); + var o = i; + if ('string' === i.type) { + var s = i.parent; + if ( + s && + 'property' === s.type && + s.keyNode === i && + !(i = s.valueNode) + ) + return this.promise.resolve(null); + } + for ( + var a = ln.create( + e.positionAt(o.offset), + e.positionAt(o.offset + o.length) + ), + u = function (e) { + return { contents: e, range: a }; + }, + l = qr(i), + c = this.contributions.length - 1; + c >= 0; + c-- + ) { + var h = this.contributions[c].getInfoContribution(e.uri, l); + if (h) + return h.then(function (e) { + return u(e); + }); + } + return this.schemaService + .getSchemaForResource(e.uri, n) + .then(function (e) { + if (e && i) { + var t = n.getMatchingSchemas(e.schema, i.offset), + r = void 0, + o = void 0, + s = void 0, + a = void 0; + t.every(function (e) { + if ( + e.node === i && + !e.inverted && + e.schema && + ((r = r || e.schema.title), + (o = + o || + e.schema.markdownDescription || + Xr(e.schema.description)), + e.schema.enum) + ) { + var t = e.schema.enum.indexOf(Wr(i)); + e.schema.markdownEnumDescriptions + ? (s = e.schema.markdownEnumDescriptions[t]) + : e.schema.enumDescriptions && + (s = Xr(e.schema.enumDescriptions[t])), + s && + 'string' != typeof (a = e.schema.enum[t]) && + (a = JSON.stringify(a)); + } + return !0; + }); + var l = ''; + return ( + r && (l = Xr(r)), + o && (l.length > 0 && (l += '\n\n'), (l += o)), + s && + (l.length > 0 && (l += '\n\n'), + (l += + '`' + + ((-1 !== (c = a).indexOf('`') ? '`` ' + c + ' ``' : c) + + '`: ') + + s)), + u([l]) + ); + } + var c; + return null; + }); + }), + e + ); + })(); + function Xr(e) { + if (e) + return e + .replace(/([^\n\r])(\r?\n)([^\n\r])/gm, '$1\n\n$3') + .replace(/[\\`*_{}[\]()#+\-.!]/g, '\\$&'); + } + var ei, + ti, + ni = (function () { + var e = function (t, n) { + return (e = + Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && + function (e, t) { + e.__proto__ = t; + }) || + function (e, t) { + for (var n in t) t.hasOwnProperty(n) && (e[n] = t[n]); + })(t, n); + }; + return function (t, n) { + function r() { + this.constructor = t; + } + e(t, n), + (t.prototype = + null === n + ? Object.create(n) + : ((r.prototype = n.prototype), new r())); + }; + })(); + if ('object' == typeof process) ti = 'win32' === process.platform; + else if ('object' == typeof navigator) { + var ri = navigator.userAgent; + ti = ri.indexOf('Windows') >= 0; + } + var ii = /^\w[\w\d+.-]*$/, + oi = /^\//, + si = /^\/\//, + ai = '', + ui = '/', + li = /^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/, + ci = (function () { + function e(e, t, n, r, i, o) { + void 0 === o && (o = !1), + 'object' == typeof e + ? ((this.scheme = e.scheme || ai), + (this.authority = e.authority || ai), + (this.path = e.path || ai), + (this.query = e.query || ai), + (this.fragment = e.fragment || ai)) + : ((this.scheme = (function (e, t) { + return e || t ? e : 'file'; + })(e, o)), + (this.authority = t || ai), + (this.path = (function (e, t) { + switch (e) { + case 'https': + case 'http': + case 'file': + t ? t[0] !== ui && (t = ui + t) : (t = ui); + } + return t; + })(this.scheme, n || ai)), + (this.query = r || ai), + (this.fragment = i || ai), + (function (e, t) { + if (!e.scheme && t) + throw new Error( + '[UriError]: Scheme is missing: {scheme: "", authority: "' + + e.authority + + '", path: "' + + e.path + + '", query: "' + + e.query + + '", fragment: "' + + e.fragment + + '"}' + ); + if (e.scheme && !ii.test(e.scheme)) + throw new Error( + '[UriError]: Scheme contains illegal characters.' + ); + if (e.path) + if (e.authority) { + if (!oi.test(e.path)) + throw new Error( + '[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character' + ); + } else if (si.test(e.path)) + throw new Error( + '[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")' + ); + })(this, o)); + } + return ( + (e.isUri = function (t) { + return ( + t instanceof e || + (!!t && + 'string' == typeof t.authority && + 'string' == typeof t.fragment && + 'string' == typeof t.path && + 'string' == typeof t.query && + 'string' == typeof t.scheme && + 'function' == typeof t.fsPath && + 'function' == typeof t.with && + 'function' == typeof t.toString) + ); + }), + Object.defineProperty(e.prototype, 'fsPath', { + get: function () { + return pi(this, !1); + }, + enumerable: !0, + configurable: !0, + }), + (e.prototype.with = function (e) { + if (!e) return this; + var t = e.scheme, + n = e.authority, + r = e.path, + i = e.query, + o = e.fragment; + return ( + void 0 === t ? (t = this.scheme) : null === t && (t = ai), + void 0 === n ? (n = this.authority) : null === n && (n = ai), + void 0 === r ? (r = this.path) : null === r && (r = ai), + void 0 === i ? (i = this.query) : null === i && (i = ai), + void 0 === o ? (o = this.fragment) : null === o && (o = ai), + t === this.scheme && + n === this.authority && + r === this.path && + i === this.query && + o === this.fragment + ? this + : new fi(t, n, r, i, o) + ); + }), + (e.parse = function (e, t) { + void 0 === t && (t = !1); + var n = li.exec(e); + return n + ? new fi( + n[2] || ai, + Ci(n[4] || ai), + Ci(n[5] || ai), + Ci(n[7] || ai), + Ci(n[9] || ai), + t + ) + : new fi(ai, ai, ai, ai, ai); + }), + (e.file = function (e) { + var t = ai; + if ((ti && (e = e.replace(/\\/g, ui)), e[0] === ui && e[1] === ui)) { + var n = e.indexOf(ui, 2); + -1 === n + ? ((t = e.substring(2)), (e = ui)) + : ((t = e.substring(2, n)), (e = e.substring(n) || ui)); + } + return new fi('file', t, e, ai, ai); + }), + (e.from = function (e) { + return new fi(e.scheme, e.authority, e.path, e.query, e.fragment); + }), + (e.prototype.toString = function (e) { + return void 0 === e && (e = !1), vi(this, e); + }), + (e.prototype.toJSON = function () { + return this; + }), + (e.revive = function (t) { + if (t) { + if (t instanceof e) return t; + var n = new fi(t); + return ( + (n._formatted = t.external), + (n._fsPath = t._sep === hi ? t.fsPath : null), + n + ); + } + return t; + }), + e + ); + })(), + hi = ti ? 1 : void 0, + fi = (function (e) { + function t() { + var t = (null !== e && e.apply(this, arguments)) || this; + return (t._formatted = null), (t._fsPath = null), t; + } + return ( + ni(t, e), + Object.defineProperty(t.prototype, 'fsPath', { + get: function () { + return this._fsPath || (this._fsPath = pi(this, !1)), this._fsPath; + }, + enumerable: !0, + configurable: !0, + }), + (t.prototype.toString = function (e) { + return ( + void 0 === e && (e = !1), + e + ? vi(this, !0) + : (this._formatted || (this._formatted = vi(this, !1)), + this._formatted) + ); + }), + (t.prototype.toJSON = function () { + var e = { $mid: 1 }; + return ( + this._fsPath && ((e.fsPath = this._fsPath), (e._sep = hi)), + this._formatted && (e.external = this._formatted), + this.path && (e.path = this.path), + this.scheme && (e.scheme = this.scheme), + this.authority && (e.authority = this.authority), + this.query && (e.query = this.query), + this.fragment && (e.fragment = this.fragment), + e + ); + }), + t + ); + })(ci), + di = + (((ei = {})[58] = '%3A'), + (ei[47] = '%2F'), + (ei[63] = '%3F'), + (ei[35] = '%23'), + (ei[91] = '%5B'), + (ei[93] = '%5D'), + (ei[64] = '%40'), + (ei[33] = '%21'), + (ei[36] = '%24'), + (ei[38] = '%26'), + (ei[39] = '%27'), + (ei[40] = '%28'), + (ei[41] = '%29'), + (ei[42] = '%2A'), + (ei[43] = '%2B'), + (ei[44] = '%2C'), + (ei[59] = '%3B'), + (ei[61] = '%3D'), + (ei[32] = '%20'), + ei); + function mi(e, t) { + for (var n = void 0, r = -1, i = 0; i < e.length; i++) { + var o = e.charCodeAt(i); + if ( + (o >= 97 && o <= 122) || + (o >= 65 && o <= 90) || + (o >= 48 && o <= 57) || + 45 === o || + 46 === o || + 95 === o || + 126 === o || + (t && 47 === o) + ) + -1 !== r && ((n += encodeURIComponent(e.substring(r, i))), (r = -1)), + void 0 !== n && (n += e.charAt(i)); + else { + void 0 === n && (n = e.substr(0, i)); + var s = di[o]; + void 0 !== s + ? (-1 !== r && + ((n += encodeURIComponent(e.substring(r, i))), (r = -1)), + (n += s)) + : -1 === r && (r = i); + } + } + return ( + -1 !== r && (n += encodeURIComponent(e.substring(r))), + void 0 !== n ? n : e + ); + } + function gi(e) { + for (var t = void 0, n = 0; n < e.length; n++) { + var r = e.charCodeAt(n); + 35 === r || 63 === r + ? (void 0 === t && (t = e.substr(0, n)), (t += di[r])) + : void 0 !== t && (t += e[n]); + } + return void 0 !== t ? t : e; + } + function pi(e, t) { + var n; + return ( + (n = + e.authority && e.path.length > 1 && 'file' === e.scheme + ? '//' + e.authority + e.path + : 47 === e.path.charCodeAt(0) && + ((e.path.charCodeAt(1) >= 65 && e.path.charCodeAt(1) <= 90) || + (e.path.charCodeAt(1) >= 97 && e.path.charCodeAt(1) <= 122)) && + 58 === e.path.charCodeAt(2) + ? t + ? e.path.substr(1) + : e.path[1].toLowerCase() + e.path.substr(2) + : e.path), + ti && (n = n.replace(/\//g, '\\')), + n + ); + } + function vi(e, t) { + var n = t ? gi : mi, + r = '', + i = e.scheme, + o = e.authority, + s = e.path, + a = e.query, + u = e.fragment; + if ( + (i && ((r += i), (r += ':')), + (o || 'file' === i) && ((r += ui), (r += ui)), + o) + ) { + var l = o.indexOf('@'); + if (-1 !== l) { + var c = o.substr(0, l); + (o = o.substr(l + 1)), + -1 === (l = c.indexOf(':')) + ? (r += n(c, !1)) + : ((r += n(c.substr(0, l), !1)), + (r += ':'), + (r += n(c.substr(l + 1), !1))), + (r += '@'); + } + -1 === (l = (o = o.toLowerCase()).indexOf(':')) + ? (r += n(o, !1)) + : ((r += n(o.substr(0, l), !1)), (r += o.substr(l))); + } + if (s) { + if (s.length >= 3 && 47 === s.charCodeAt(0) && 58 === s.charCodeAt(2)) + (h = s.charCodeAt(1)) >= 65 && + h <= 90 && + (s = '/' + String.fromCharCode(h + 32) + ':' + s.substr(3)); + else if (s.length >= 2 && 58 === s.charCodeAt(1)) { + var h; + (h = s.charCodeAt(0)) >= 65 && + h <= 90 && + (s = String.fromCharCode(h + 32) + ':' + s.substr(2)); + } + r += n(s, !0); + } + return ( + a && ((r += '?'), (r += n(a, !1))), + u && ((r += '#'), (r += t ? u : mi(u, !1))), + r + ); + } + function yi(e) { + try { + return decodeURIComponent(e); + } catch (t) { + return e.length > 3 ? e.substr(0, 3) + yi(e.substr(3)) : e; + } + } + var bi = /(%[0-9A-Za-z][0-9A-Za-z])+/g; + function Ci(e) { + return e.match(bi) + ? e.replace(bi, function (e) { + return yi(e); + }) + : e; + } + var _i = Ar(), + Si = (function () { + function e(e, t) { + (this.patternRegExps = []), (this.isInclude = []); + try { + for (var n = 0, r = e; n < r.length; n++) { + var i = r[n], + o = '!' !== i[0]; + o || (i = i.substring(1)), + this.patternRegExps.push(new RegExp(zr(i) + '$')), + this.isInclude.push(o); + } + this.uris = t; + } catch (e) { + (this.patternRegExps.length = 0), + (this.isInclude.length = 0), + (this.uris = []); + } + } + return ( + (e.prototype.matchesPattern = function (e) { + for (var t = !1, n = 0; n < this.patternRegExps.length; n++) + this.patternRegExps[n].test(e) && (t = this.isInclude[n]); + return t; + }), + (e.prototype.getURIs = function () { + return this.uris; + }), + e + ); + })(), + Ei = (function () { + function e(e, t, n) { + (this.service = e), + (this.url = t), + (this.dependencies = {}), + n && + (this.unresolvedSchema = this.service.promise.resolve(new Ai(n))); + } + return ( + (e.prototype.getUnresolvedSchema = function () { + return ( + this.unresolvedSchema || + (this.unresolvedSchema = this.service.loadSchema(this.url)), + this.unresolvedSchema + ); + }), + (e.prototype.getResolvedSchema = function () { + var e = this; + return ( + this.resolvedSchema || + (this.resolvedSchema = this.getUnresolvedSchema().then(function ( + t + ) { + return e.service.resolveSchemaContent(t, e.url, e.dependencies); + })), + this.resolvedSchema + ); + }), + (e.prototype.clearSchema = function () { + (this.resolvedSchema = void 0), + (this.unresolvedSchema = void 0), + (this.dependencies = {}); + }), + e + ); + })(), + Ai = function (e, t) { + void 0 === t && (t = []), (this.schema = e), (this.errors = t); + }, + xi = (function () { + function e(e, t) { + void 0 === t && (t = []), (this.schema = e), (this.errors = t); + } + return ( + (e.prototype.getSection = function (e) { + var t = this.getSectionRecursive(e, this.schema); + if (t) return jr(t); + }), + (e.prototype.getSectionRecursive = function (e, t) { + if (!t || 'boolean' == typeof t || 0 === e.length) return t; + var n = e.shift(); + if (t.properties && (t.properties[n], 1)) + return this.getSectionRecursive(e, t.properties[n]); + if (t.patternProperties) + for ( + var r = 0, i = Object.keys(t.patternProperties); + r < i.length; + r++ + ) { + var o = i[r]; + if (new RegExp(o).test(n)) + return this.getSectionRecursive(e, t.patternProperties[o]); + } + else { + if ('object' == typeof t.additionalProperties) + return this.getSectionRecursive(e, t.additionalProperties); + if (n.match('[0-9]+')) + if (Array.isArray(t.items)) { + var s = parseInt(n, 10); + if (!isNaN(s) && t.items[s]) + return this.getSectionRecursive(e, t.items[s]); + } else if (t.items) return this.getSectionRecursive(e, t.items); + } + }), + e + ); + })(), + Ni = (function () { + function e(e, t, n) { + (this.contextService = t), + (this.requestService = e), + (this.promiseConstructor = n || Promise), + (this.callOnDispose = []), + (this.contributionSchemas = {}), + (this.contributionAssociations = []), + (this.schemasById = {}), + (this.filePatternAssociations = []), + (this.registeredSchemasIds = {}); + } + return ( + (e.prototype.getRegisteredSchemaIds = function (e) { + return Object.keys(this.registeredSchemasIds).filter(function (t) { + var n = ci.parse(t).scheme; + return 'schemaservice' !== n && (!e || e(n)); + }); + }), + Object.defineProperty(e.prototype, 'promise', { + get: function () { + return this.promiseConstructor; + }, + enumerable: !1, + configurable: !0, + }), + (e.prototype.dispose = function () { + for (; this.callOnDispose.length > 0; ) this.callOnDispose.pop()(); + }), + (e.prototype.onResourceChange = function (e) { + for ( + var t = this, + n = !1, + r = [(e = wi(e))], + i = Object.keys(this.schemasById).map(function (e) { + return t.schemasById[e]; + }); + r.length; + + ) + for (var o = r.pop(), s = 0; s < i.length; s++) { + var a = i[s]; + a && + (a.url === o || a.dependencies[o]) && + (a.url !== o && r.push(a.url), + a.clearSchema(), + (i[s] = void 0), + (n = !0)); + } + return n; + }), + (e.prototype.setSchemaContributions = function (e) { + if (e.schemas) { + var t = e.schemas; + for (var n in t) { + var r = wi(n); + this.contributionSchemas[r] = this.addSchemaHandle(r, t[n]); + } + } + if (Array.isArray(e.schemaAssociations)) + for (var i = 0, o = e.schemaAssociations; i < o.length; i++) { + var s = o[i], + a = s.uris.map(wi), + u = this.addFilePatternAssociation(s.pattern, a); + this.contributionAssociations.push(u); + } + }), + (e.prototype.addSchemaHandle = function (e, t) { + var n = new Ei(this, e, t); + return (this.schemasById[e] = n), n; + }), + (e.prototype.getOrAddSchemaHandle = function (e, t) { + return this.schemasById[e] || this.addSchemaHandle(e, t); + }), + (e.prototype.addFilePatternAssociation = function (e, t) { + var n = new Si(e, t); + return this.filePatternAssociations.push(n), n; + }), + (e.prototype.registerExternalSchema = function (e, t, n) { + var r = wi(e); + return ( + (this.registeredSchemasIds[r] = !0), + (this.cachedSchemaForResource = void 0), + t && this.addFilePatternAssociation(t, [e]), + n ? this.addSchemaHandle(r, n) : this.getOrAddSchemaHandle(r) + ); + }), + (e.prototype.clearExternalSchemas = function () { + for (var e in ((this.schemasById = {}), + (this.filePatternAssociations = []), + (this.registeredSchemasIds = {}), + (this.cachedSchemaForResource = void 0), + this.contributionSchemas)) + (this.schemasById[e] = this.contributionSchemas[e]), + (this.registeredSchemasIds[e] = !0); + for ( + var t = 0, n = this.contributionAssociations; + t < n.length; + t++ + ) { + var r = n[t]; + this.filePatternAssociations.push(r); + } + }), + (e.prototype.getResolvedSchema = function (e) { + var t = wi(e), + n = this.schemasById[t]; + return n ? n.getResolvedSchema() : this.promise.resolve(void 0); + }), + (e.prototype.loadSchema = function (e) { + if (!this.requestService) { + var t = _i( + 'json.schema.norequestservice', + "Unable to load schema from '{0}'. No schema request service available", + Ti(e) + ); + return this.promise.resolve(new Ai({}, [t])); + } + return this.requestService(e).then( + function (t) { + if (!t) { + var n = _i( + 'json.schema.nocontent', + "Unable to load schema from '{0}': No content.", + Ti(e) + ); + return new Ai({}, [n]); + } + var r, + i = []; + r = Tn(t, i); + var o = i.length + ? [ + _i( + 'json.schema.invalidFormat', + "Unable to parse content from '{0}': Parse error at offset {1}.", + Ti(e), + i[0].offset + ), + ] + : []; + return new Ai(r, o); + }, + function (t) { + var n = t.toString(), + r = t.toString().split('Error: '); + return ( + r.length > 1 && (n = r[1]), + Gr(n, '.') && (n = n.substr(0, n.length - 1)), + new Ai({}, [ + _i( + 'json.schema.nocontent', + "Unable to load schema from '{0}': {1}.", + Ti(e), + n + ), + ]) + ); + } + ); + }), + (e.prototype.resolveSchemaContent = function (e, t, n) { + var r = this, + i = e.errors.slice(0), + o = e.schema; + if (o.$schema) { + var s = wi(o.$schema); + if ('http://json-schema.org/draft-03/schema' === s) + return this.promise.resolve( + new xi({}, [ + _i( + 'json.schema.draft03.notsupported', + 'Draft-03 schemas are not supported.' + ), + ]) + ); + 'https://json-schema.org/draft/2019-09/schema' === s && + i.push( + _i( + 'json.schema.draft201909.notsupported', + 'Draft 2019-09 schemas are not yet fully supported.' + ) + ); + } + var a = this.contextService, + u = function (e, t, n, r) { + var o = r ? decodeURIComponent(r) : void 0, + s = (function (e, t) { + if (!t) return e; + var n = e; + return ( + '/' === t[0] && (t = t.substr(1)), + t.split('/').some(function (e) { + return !(n = n[e]); + }), + n + ); + })(t, o); + if (s) + for (var a in s) + s.hasOwnProperty(a) && !e.hasOwnProperty(a) && (e[a] = s[a]); + else + i.push( + _i( + 'json.schema.invalidref', + "$ref '{0}' in '{1}' can not be resolved.", + o, + n + ) + ); + }, + l = function (e, t, n, o, s) { + a && !/^\w+:\/\/.*/.test(t) && (t = a.resolveRelativePath(t, o)), + (t = wi(t)); + var l = r.getOrAddSchemaHandle(t); + return l.getUnresolvedSchema().then(function (r) { + if (((s[t] = !0), r.errors.length)) { + var o = n ? t + '#' + n : t; + i.push( + _i( + 'json.schema.problemloadingref', + "Problems loading reference '{0}': {1}", + o, + r.errors[0] + ) + ); + } + return u(e, r.schema, t, n), c(e, r.schema, t, l.dependencies); + }); + }, + c = function (e, t, n, i) { + if (!e || 'object' != typeof e) return Promise.resolve(null); + for ( + var o = [e], + s = [], + a = [], + c = function (e) { + for (var r = []; e.$ref; ) { + var s = e.$ref, + c = s.split('#', 2); + if ((delete e.$ref, c[0].length > 0)) + return void a.push(l(e, c[0], c[1], n, i)); + -1 === r.indexOf(s) && (u(e, t, n, c[1]), r.push(s)); + } + !(function () { + for (var e = [], t = 0; t < arguments.length; t++) + e[t] = arguments[t]; + for (var n = 0, r = e; n < r.length; n++) { + var i = r[n]; + 'object' == typeof i && o.push(i); + } + })( + e.items, + e.additionalItems, + e.additionalProperties, + e.not, + e.contains, + e.propertyNames, + e.if, + e.then, + e.else + ), + (function () { + for (var e = [], t = 0; t < arguments.length; t++) + e[t] = arguments[t]; + for (var n = 0, r = e; n < r.length; n++) { + var i = r[n]; + if ('object' == typeof i) + for (var s in i) { + var a = i[s]; + 'object' == typeof a && o.push(a); + } + } + })( + e.definitions, + e.properties, + e.patternProperties, + e.dependencies + ), + (function () { + for (var e = [], t = 0; t < arguments.length; t++) + e[t] = arguments[t]; + for (var n = 0, r = e; n < r.length; n++) { + var i = r[n]; + if (Array.isArray(i)) + for (var s = 0, a = i; s < a.length; s++) { + var u = a[s]; + 'object' == typeof u && o.push(u); + } + } + })(e.anyOf, e.allOf, e.oneOf, e.items); + }; + o.length; + + ) { + var h = o.pop(); + s.indexOf(h) >= 0 || (s.push(h), c(h)); + } + return r.promise.all(a); + }; + return c(o, o, t, n).then(function (e) { + return new xi(o, i); + }); + }), + (e.prototype.getSchemaForResource = function (e, t) { + if (t && t.root && 'object' === t.root.type) { + var n = t.root.properties.filter(function (e) { + return ( + '$schema' === e.keyNode.value && + e.valueNode && + 'string' === e.valueNode.type + ); + }); + if (n.length > 0) { + var r = n[0].valueNode; + if (r && 'string' === r.type) { + var i = Wr(r); + if ( + (i && + (function (e, t) { + if (e.length < '.'.length) return !1; + for (var n = 0; n < '.'.length; n++) + if (e[n] !== '.'[n]) return !1; + return !0; + })(i) && + this.contextService && + (i = this.contextService.resolveRelativePath(i, e)), + i) + ) { + var o = wi(i); + return this.getOrAddSchemaHandle(o).getResolvedSchema(); + } + } + } + } + if ( + this.cachedSchemaForResource && + this.cachedSchemaForResource.resource === e + ) + return this.cachedSchemaForResource.resolvedSchema; + for ( + var s = Object.create(null), + a = [], + u = 0, + l = this.filePatternAssociations; + u < l.length; + u++ + ) { + var c = l[u]; + if (c.matchesPattern(e)) + for (var h = 0, f = c.getURIs(); h < f.length; h++) { + var d = f[h]; + s[d] || (a.push(d), (s[d] = !0)); + } + } + var m = + a.length > 0 + ? this.createCombinedSchema(e, a).getResolvedSchema() + : this.promise.resolve(void 0); + return ( + (this.cachedSchemaForResource = { resource: e, resolvedSchema: m }), + m + ); + }), + (e.prototype.createCombinedSchema = function (e, t) { + if (1 === t.length) return this.getOrAddSchemaHandle(t[0]); + var n = 'schemaservice://combinedSchema/' + encodeURIComponent(e), + r = { + allOf: t.map(function (e) { + return { $ref: e }; + }), + }; + return this.addSchemaHandle(n, r); + }), + (e.prototype.getMatchingSchemas = function (e, t, n) { + if (n) { + var r = n.id || 'schemaservice://untitled/matchingSchemas/' + Li++; + return this.resolveSchemaContent(new Ai(n), r, {}).then(function ( + e + ) { + return t.getMatchingSchemas(e.schema).filter(function (e) { + return !e.inverted; + }); + }); + } + return this.getSchemaForResource(e.uri, t).then(function (e) { + return e + ? t.getMatchingSchemas(e.schema).filter(function (e) { + return !e.inverted; + }) + : []; + }); + }), + e + ); + })(), + Li = 0; + function wi(e) { + try { + return ci.parse(e).toString(); + } catch (t) { + return e; + } + } + function Ti(e) { + try { + var t = ci.parse(e); + if ('file' === t.scheme) return t.fsPath; + } catch (e) {} + return e; + } + var ki = Ar(), + Oi = (function () { + function e(e, t) { + (this.jsonSchemaService = e), + (this.promise = t), + (this.validationEnabled = !0); + } + return ( + (e.prototype.configure = function (e) { + e && + ((this.validationEnabled = e.validate), + (this.commentSeverity = e.allowComments ? void 0 : yn.Error)); + }), + (e.prototype.doValidation = function (e, t, n, r) { + var i = this; + if (!this.validationEnabled) return this.promise.resolve([]); + var o = [], + s = {}, + a = function (e) { + var t = + e.range.start.line + + ' ' + + e.range.start.character + + ' ' + + e.message; + s[t] || ((s[t] = !0), o.push(e)); + }, + u = function (r) { + var s = n ? Ri(n.trailingCommas) : yn.Error, + u = n ? Ri(n.comments) : i.commentSeverity; + if (r) { + if (r.errors.length && t.root) { + var l = t.root, + c = 'object' === l.type ? l.properties[0] : void 0; + if (c && '$schema' === c.keyNode.value) { + var h = c.valueNode || c, + f = ln.create( + e.positionAt(h.offset), + e.positionAt(h.offset + h.length) + ); + a( + Cn.create( + f, + r.errors[0], + yn.Warning, + gr.SchemaResolveError + ) + ); + } else + (f = ln.create( + e.positionAt(l.offset), + e.positionAt(l.offset + 1) + )), + a( + Cn.create( + f, + r.errors[0], + yn.Warning, + gr.SchemaResolveError + ) + ); + } else { + var d = t.validate(e, r.schema); + d && d.forEach(a); + } + Mi(r.schema) && (u = void 0), Pi(r.schema) && (s = void 0); + } + for (var m = 0, g = t.syntaxErrors; m < g.length; m++) { + var p = g[m]; + if (p.code === gr.TrailingComma) { + if ('number' != typeof s) continue; + p.severity = s; + } + a(p); + } + if ('number' == typeof u) { + var v = ki( + 'InvalidCommentToken', + 'Comments are not permitted in JSON.' + ); + t.comments.forEach(function (e) { + a(Cn.create(e, v, u, gr.CommentNotPermitted)); + }); + } + return o; + }; + if (r) { + var l = r.id || 'schemaservice://untitled/' + Ii++; + return this.jsonSchemaService + .resolveSchemaContent(new Ai(r), l, {}) + .then(function (e) { + return u(e); + }); + } + return this.jsonSchemaService + .getSchemaForResource(e.uri, t) + .then(function (e) { + return u(e); + }); + }), + e + ); + })(), + Ii = 0; + function Mi(e) { + if (e && 'object' == typeof e) { + if (Dn(e.allowComments)) return e.allowComments; + if (e.allOf) + for (var t = 0, n = e.allOf; t < n.length; t++) { + var r = Mi(n[t]); + if (Dn(r)) return r; + } + } + } + function Pi(e) { + if (e && 'object' == typeof e) { + if (Dn(e.allowTrailingCommas)) return e.allowTrailingCommas; + var t = e; + if (Dn(t.allowsTrailingCommas)) return t.allowsTrailingCommas; + if (e.allOf) + for (var n = 0, r = e.allOf; n < r.length; n++) { + var i = Pi(r[n]); + if (Dn(i)) return i; + } + } + } + function Ri(e) { + switch (e) { + case 'error': + return yn.Error; + case 'warning': + return yn.Warning; + case 'ignore': + return; + } + } + function Di(e) { + return e < 48 + ? 0 + : e <= 57 + ? e - 48 + : (e < 97 && (e += 32), e >= 97 && e <= 102 ? e - 97 + 10 : 0); + } + function Fi(e) { + if ('#' === e[0]) + switch (e.length) { + case 4: + return { + red: (17 * Di(e.charCodeAt(1))) / 255, + green: (17 * Di(e.charCodeAt(2))) / 255, + blue: (17 * Di(e.charCodeAt(3))) / 255, + alpha: 1, + }; + case 5: + return { + red: (17 * Di(e.charCodeAt(1))) / 255, + green: (17 * Di(e.charCodeAt(2))) / 255, + blue: (17 * Di(e.charCodeAt(3))) / 255, + alpha: (17 * Di(e.charCodeAt(4))) / 255, + }; + case 7: + return { + red: (16 * Di(e.charCodeAt(1)) + Di(e.charCodeAt(2))) / 255, + green: (16 * Di(e.charCodeAt(3)) + Di(e.charCodeAt(4))) / 255, + blue: (16 * Di(e.charCodeAt(5)) + Di(e.charCodeAt(6))) / 255, + alpha: 1, + }; + case 9: + return { + red: (16 * Di(e.charCodeAt(1)) + Di(e.charCodeAt(2))) / 255, + green: (16 * Di(e.charCodeAt(3)) + Di(e.charCodeAt(4))) / 255, + blue: (16 * Di(e.charCodeAt(5)) + Di(e.charCodeAt(6))) / 255, + alpha: (16 * Di(e.charCodeAt(7)) + Di(e.charCodeAt(8))) / 255, + }; + } + } + var ji = (function () { + function e(e) { + this.schemaService = e; + } + return ( + (e.prototype.findDocumentSymbols = function (e, t, n) { + var r = this; + void 0 === n && (n = { resultLimit: Number.MAX_VALUE }); + var i = t.root; + if (!i) return []; + var o = n.resultLimit || Number.MAX_VALUE, + s = e.uri; + if ( + ('vscode://defaultsettings/keybindings.json' === s || + Gr(s.toLowerCase(), '/user/keybindings.json')) && + 'array' === i.type + ) { + for (var a = [], u = 0, l = i.items; u < l.length; u++) { + var c = l[u]; + if ('object' === c.type) + for (var h = 0, f = c.properties; h < f.length; h++) { + var d = f[h]; + if ('key' === d.keyNode.value && d.valueNode) { + var m = cn.create(e.uri, Ui(e, c)); + if ( + (a.push({ + name: Wr(d.valueNode), + kind: Xn.Function, + location: m, + }), + --o <= 0) + ) + return ( + n && + n.onResultLimitExceeded && + n.onResultLimitExceeded(s), + a + ); + } + } + } + return a; + } + for ( + var g = [{ node: i, containerName: '' }], + p = 0, + v = !1, + y = [], + b = function (t, n) { + 'array' === t.type + ? t.items.forEach(function (e) { + e && g.push({ node: e, containerName: n }); + }) + : 'object' === t.type && + t.properties.forEach(function (t) { + var i = t.valueNode; + if (i) + if (o > 0) { + o--; + var s = cn.create(e.uri, Ui(e, t)), + a = n ? n + '.' + t.keyNode.value : t.keyNode.value; + y.push({ + name: r.getKeyLabel(t), + kind: r.getSymbolKind(i.type), + location: s, + containerName: n, + }), + g.push({ node: i, containerName: a }); + } else v = !0; + }); + }; + p < g.length; + + ) { + var C = g[p++]; + b(C.node, C.containerName); + } + return ( + v && n && n.onResultLimitExceeded && n.onResultLimitExceeded(s), y + ); + }), + (e.prototype.findDocumentSymbols2 = function (e, t, n) { + var r = this; + void 0 === n && (n = { resultLimit: Number.MAX_VALUE }); + var i = t.root; + if (!i) return []; + var o = n.resultLimit || Number.MAX_VALUE, + s = e.uri; + if ( + ('vscode://defaultsettings/keybindings.json' === s || + Gr(s.toLowerCase(), '/user/keybindings.json')) && + 'array' === i.type + ) { + for (var a = [], u = 0, l = i.items; u < l.length; u++) { + var c = l[u]; + if ('object' === c.type) + for (var h = 0, f = c.properties; h < f.length; h++) { + var d = f[h]; + if ('key' === d.keyNode.value && d.valueNode) { + var m = Ui(e, c), + g = Ui(e, d.keyNode); + if ( + (a.push({ + name: Wr(d.valueNode), + kind: Xn.Function, + range: m, + selectionRange: g, + }), + --o <= 0) + ) + return ( + n && + n.onResultLimitExceeded && + n.onResultLimitExceeded(s), + a + ); + } + } + } + return a; + } + for ( + var p = [], + v = [{ node: i, result: p }], + y = 0, + b = !1, + C = function (t, n) { + 'array' === t.type + ? t.items.forEach(function (t, i) { + if (t) + if (o > 0) { + o--; + var s = Ui(e, t), + a = s, + u = { + name: String(i), + kind: r.getSymbolKind(t.type), + range: s, + selectionRange: a, + children: [], + }; + n.push(u), v.push({ result: u.children, node: t }); + } else b = !0; + }) + : 'object' === t.type && + t.properties.forEach(function (t) { + var i = t.valueNode; + if (i) + if (o > 0) { + o--; + var s = Ui(e, t), + a = Ui(e, t.keyNode), + u = { + name: r.getKeyLabel(t), + kind: r.getSymbolKind(i.type), + range: s, + selectionRange: a, + children: [], + }; + n.push(u), v.push({ result: u.children, node: i }); + } else b = !0; + }); + }; + y < v.length; + + ) { + var _ = v[y++]; + C(_.node, _.result); + } + return ( + b && n && n.onResultLimitExceeded && n.onResultLimitExceeded(s), p + ); + }), + (e.prototype.getSymbolKind = function (e) { + switch (e) { + case 'object': + return Xn.Module; + case 'string': + return Xn.String; + case 'number': + return Xn.Number; + case 'array': + return Xn.Array; + case 'boolean': + return Xn.Boolean; + default: + return Xn.Variable; + } + }), + (e.prototype.getKeyLabel = function (e) { + var t = e.keyNode.value; + return ( + t && (t = t.replace(/[\n]/g, '↵')), t && t.trim() ? t : '"' + t + '"' + ); + }), + (e.prototype.findDocumentColors = function (e, t, n) { + return this.schemaService + .getSchemaForResource(e.uri, t) + .then(function (r) { + var i = []; + if (r) + for ( + var o = + n && 'number' == typeof n.resultLimit + ? n.resultLimit + : Number.MAX_VALUE, + s = {}, + a = 0, + u = t.getMatchingSchemas(r.schema); + a < u.length; + a++ + ) { + var l = u[a]; + if ( + !l.inverted && + l.schema && + ('color' === l.schema.format || + 'color-hex' === l.schema.format) && + l.node && + 'string' === l.node.type + ) { + var c = String(l.node.offset); + if (!s[c]) { + var h = Fi(Wr(l.node)); + if (h) { + var f = Ui(e, l.node); + i.push({ color: h, range: f }); + } + if (((s[c] = !0), --o <= 0)) + return ( + n && + n.onResultLimitExceeded && + n.onResultLimitExceeded(e.uri), + i + ); + } + } + } + return i; + }); + }), + (e.prototype.getColorPresentations = function (e, t, n, r) { + var i, + o = [], + s = Math.round(255 * n.red), + a = Math.round(255 * n.green), + u = Math.round(255 * n.blue); + function l(e) { + var t = e.toString(16); + return 2 !== t.length ? '0' + t : t; + } + return ( + (i = + 1 === n.alpha + ? '#' + l(s) + l(a) + l(u) + : '#' + l(s) + l(a) + l(u) + l(Math.round(255 * n.alpha))), + o.push({ label: i, textEdit: Sn.replace(r, JSON.stringify(i)) }), + o + ); + }), + e + ); + })(); + function Ui(e, t) { + return ln.create(e.positionAt(t.offset), e.positionAt(t.offset + t.length)); + } + var Vi = Ar(), + $i = { + schemaAssociations: [], + schemas: { + 'http://json-schema.org/schema#': { + $ref: 'http://json-schema.org/draft-07/schema#', + }, + 'http://json-schema.org/draft-04/schema#': { + title: Vi( + 'schema.json', + 'Describes a JSON file using a schema. See json-schema.org for more info.' + ), + $schema: 'http://json-schema.org/draft-04/schema#', + definitions: { + schemaArray: { type: 'array', minItems: 1, items: { $ref: '#' } }, + positiveInteger: { type: 'integer', minimum: 0 }, + positiveIntegerDefault0: { + allOf: [ + { $ref: '#/definitions/positiveInteger' }, + { default: 0 }, + ], + }, + simpleTypes: { + type: 'string', + enum: [ + 'array', + 'boolean', + 'integer', + 'null', + 'number', + 'object', + 'string', + ], + }, + stringArray: { + type: 'array', + items: { type: 'string' }, + minItems: 1, + uniqueItems: !0, + }, + }, + type: 'object', + properties: { + id: { type: 'string', format: 'uri' }, + $schema: { type: 'string', format: 'uri' }, + title: { type: 'string' }, + description: { type: 'string' }, + default: {}, + multipleOf: { type: 'number', minimum: 0, exclusiveMinimum: !0 }, + maximum: { type: 'number' }, + exclusiveMaximum: { type: 'boolean', default: !1 }, + minimum: { type: 'number' }, + exclusiveMinimum: { type: 'boolean', default: !1 }, + maxLength: { allOf: [{ $ref: '#/definitions/positiveInteger' }] }, + minLength: { + allOf: [{ $ref: '#/definitions/positiveIntegerDefault0' }], + }, + pattern: { type: 'string', format: 'regex' }, + additionalItems: { + anyOf: [{ type: 'boolean' }, { $ref: '#' }], + default: {}, + }, + items: { + anyOf: [{ $ref: '#' }, { $ref: '#/definitions/schemaArray' }], + default: {}, + }, + maxItems: { allOf: [{ $ref: '#/definitions/positiveInteger' }] }, + minItems: { + allOf: [{ $ref: '#/definitions/positiveIntegerDefault0' }], + }, + uniqueItems: { type: 'boolean', default: !1 }, + maxProperties: { + allOf: [{ $ref: '#/definitions/positiveInteger' }], + }, + minProperties: { + allOf: [{ $ref: '#/definitions/positiveIntegerDefault0' }], + }, + required: { allOf: [{ $ref: '#/definitions/stringArray' }] }, + additionalProperties: { + anyOf: [{ type: 'boolean' }, { $ref: '#' }], + default: {}, + }, + definitions: { + type: 'object', + additionalProperties: { $ref: '#' }, + default: {}, + }, + properties: { + type: 'object', + additionalProperties: { $ref: '#' }, + default: {}, + }, + patternProperties: { + type: 'object', + additionalProperties: { $ref: '#' }, + default: {}, + }, + dependencies: { + type: 'object', + additionalProperties: { + anyOf: [{ $ref: '#' }, { $ref: '#/definitions/stringArray' }], + }, + }, + enum: { type: 'array', minItems: 1, uniqueItems: !0 }, + type: { + anyOf: [ + { $ref: '#/definitions/simpleTypes' }, + { + type: 'array', + items: { $ref: '#/definitions/simpleTypes' }, + minItems: 1, + uniqueItems: !0, + }, + ], + }, + format: { + anyOf: [ + { + type: 'string', + enum: [ + 'date-time', + 'uri', + 'email', + 'hostname', + 'ipv4', + 'ipv6', + 'regex', + ], + }, + { type: 'string' }, + ], + }, + allOf: { allOf: [{ $ref: '#/definitions/schemaArray' }] }, + anyOf: { allOf: [{ $ref: '#/definitions/schemaArray' }] }, + oneOf: { allOf: [{ $ref: '#/definitions/schemaArray' }] }, + not: { allOf: [{ $ref: '#' }] }, + }, + dependencies: { + exclusiveMaximum: ['maximum'], + exclusiveMinimum: ['minimum'], + }, + default: {}, + }, + 'http://json-schema.org/draft-07/schema#': { + title: Vi( + 'schema.json', + 'Describes a JSON file using a schema. See json-schema.org for more info.' + ), + definitions: { + schemaArray: { type: 'array', minItems: 1, items: { $ref: '#' } }, + nonNegativeInteger: { type: 'integer', minimum: 0 }, + nonNegativeIntegerDefault0: { + allOf: [ + { $ref: '#/definitions/nonNegativeInteger' }, + { default: 0 }, + ], + }, + simpleTypes: { + enum: [ + 'array', + 'boolean', + 'integer', + 'null', + 'number', + 'object', + 'string', + ], + }, + stringArray: { + type: 'array', + items: { type: 'string' }, + uniqueItems: !0, + default: [], + }, + }, + type: ['object', 'boolean'], + properties: { + $id: { type: 'string', format: 'uri-reference' }, + $schema: { type: 'string', format: 'uri' }, + $ref: { type: 'string', format: 'uri-reference' }, + $comment: { type: 'string' }, + title: { type: 'string' }, + description: { type: 'string' }, + default: !0, + readOnly: { type: 'boolean', default: !1 }, + examples: { type: 'array', items: !0 }, + multipleOf: { type: 'number', exclusiveMinimum: 0 }, + maximum: { type: 'number' }, + exclusiveMaximum: { type: 'number' }, + minimum: { type: 'number' }, + exclusiveMinimum: { type: 'number' }, + maxLength: { $ref: '#/definitions/nonNegativeInteger' }, + minLength: { $ref: '#/definitions/nonNegativeIntegerDefault0' }, + pattern: { type: 'string', format: 'regex' }, + additionalItems: { $ref: '#' }, + items: { + anyOf: [{ $ref: '#' }, { $ref: '#/definitions/schemaArray' }], + default: !0, + }, + maxItems: { $ref: '#/definitions/nonNegativeInteger' }, + minItems: { $ref: '#/definitions/nonNegativeIntegerDefault0' }, + uniqueItems: { type: 'boolean', default: !1 }, + contains: { $ref: '#' }, + maxProperties: { $ref: '#/definitions/nonNegativeInteger' }, + minProperties: { $ref: '#/definitions/nonNegativeIntegerDefault0' }, + required: { $ref: '#/definitions/stringArray' }, + additionalProperties: { $ref: '#' }, + definitions: { + type: 'object', + additionalProperties: { $ref: '#' }, + default: {}, + }, + properties: { + type: 'object', + additionalProperties: { $ref: '#' }, + default: {}, + }, + patternProperties: { + type: 'object', + additionalProperties: { $ref: '#' }, + propertyNames: { format: 'regex' }, + default: {}, + }, + dependencies: { + type: 'object', + additionalProperties: { + anyOf: [{ $ref: '#' }, { $ref: '#/definitions/stringArray' }], + }, + }, + propertyNames: { $ref: '#' }, + const: !0, + enum: { type: 'array', items: !0, minItems: 1, uniqueItems: !0 }, + type: { + anyOf: [ + { $ref: '#/definitions/simpleTypes' }, + { + type: 'array', + items: { $ref: '#/definitions/simpleTypes' }, + minItems: 1, + uniqueItems: !0, + }, + ], + }, + format: { type: 'string' }, + contentMediaType: { type: 'string' }, + contentEncoding: { type: 'string' }, + if: { $ref: '#' }, + then: { $ref: '#' }, + else: { $ref: '#' }, + allOf: { $ref: '#/definitions/schemaArray' }, + anyOf: { $ref: '#/definitions/schemaArray' }, + oneOf: { $ref: '#/definitions/schemaArray' }, + not: { $ref: '#' }, + }, + default: !0, + }, + }, + }, + Wi = { + id: Vi('schema.json.id', 'A unique identifier for the schema.'), + $schema: Vi( + 'schema.json.$schema', + 'The schema to verify this document against.' + ), + title: Vi('schema.json.title', 'A descriptive title of the element.'), + description: Vi( + 'schema.json.description', + 'A long description of the element. Used in hover menus and suggestions.' + ), + default: Vi( + 'schema.json.default', + 'A default value. Used by suggestions.' + ), + multipleOf: Vi( + 'schema.json.multipleOf', + 'A number that should cleanly divide the current value (i.e. have no remainder).' + ), + maximum: Vi( + 'schema.json.maximum', + 'The maximum numerical value, inclusive by default.' + ), + exclusiveMaximum: Vi( + 'schema.json.exclusiveMaximum', + 'Makes the maximum property exclusive.' + ), + minimum: Vi( + 'schema.json.minimum', + 'The minimum numerical value, inclusive by default.' + ), + exclusiveMinimum: Vi( + 'schema.json.exclusiveMininum', + 'Makes the minimum property exclusive.' + ), + maxLength: Vi('schema.json.maxLength', 'The maximum length of a string.'), + minLength: Vi('schema.json.minLength', 'The minimum length of a string.'), + pattern: Vi( + 'schema.json.pattern', + 'A regular expression to match the string against. It is not implicitly anchored.' + ), + additionalItems: Vi( + 'schema.json.additionalItems', + 'For arrays, only when items is set as an array. If it is a schema, then this schema validates items after the ones specified by the items array. If it is false, then additional items will cause validation to fail.' + ), + items: Vi( + 'schema.json.items', + 'For arrays. Can either be a schema to validate every element against or an array of schemas to validate each item against in order (the first schema will validate the first element, the second schema will validate the second element, and so on.' + ), + maxItems: Vi( + 'schema.json.maxItems', + 'The maximum number of items that can be inside an array. Inclusive.' + ), + minItems: Vi( + 'schema.json.minItems', + 'The minimum number of items that can be inside an array. Inclusive.' + ), + uniqueItems: Vi( + 'schema.json.uniqueItems', + 'If all of the items in the array must be unique. Defaults to false.' + ), + maxProperties: Vi( + 'schema.json.maxProperties', + 'The maximum number of properties an object can have. Inclusive.' + ), + minProperties: Vi( + 'schema.json.minProperties', + 'The minimum number of properties an object can have. Inclusive.' + ), + required: Vi( + 'schema.json.required', + 'An array of strings that lists the names of all properties required on this object.' + ), + additionalProperties: Vi( + 'schema.json.additionalProperties', + "Either a schema or a boolean. If a schema, then used to validate all properties not matched by 'properties' or 'patternProperties'. If false, then any properties not matched by either will cause this schema to fail." + ), + definitions: Vi( + 'schema.json.definitions', + 'Not used for validation. Place subschemas here that you wish to reference inline with $ref.' + ), + properties: Vi( + 'schema.json.properties', + 'A map of property names to schemas for each property.' + ), + patternProperties: Vi( + 'schema.json.patternProperties', + 'A map of regular expressions on property names to schemas for matching properties.' + ), + dependencies: Vi( + 'schema.json.dependencies', + 'A map of property names to either an array of property names or a schema. An array of property names means the property named in the key depends on the properties in the array being present in the object in order to be valid. If the value is a schema, then the schema is only applied to the object if the property in the key exists on the object.' + ), + enum: Vi('schema.json.enum', 'The set of literal values that are valid.'), + type: Vi( + 'schema.json.type', + 'Either a string of one of the basic schema types (number, integer, null, array, object, boolean, string) or an array of strings specifying a subset of those types.' + ), + format: Vi( + 'schema.json.format', + 'Describes the format expected for the value.' + ), + allOf: Vi( + 'schema.json.allOf', + 'An array of schemas, all of which must match.' + ), + anyOf: Vi( + 'schema.json.anyOf', + 'An array of schemas, where at least one must match.' + ), + oneOf: Vi( + 'schema.json.oneOf', + 'An array of schemas, exactly one of which must match.' + ), + not: Vi('schema.json.not', 'A schema which must not match.'), + $id: Vi('schema.json.$id', 'A unique identifier for the schema.'), + $ref: Vi( + 'schema.json.$ref', + 'Reference a definition hosted on any location.' + ), + $comment: Vi( + 'schema.json.$comment', + 'Comments from schema authors to readers or maintainers of the schema.' + ), + readOnly: Vi( + 'schema.json.readOnly', + 'Indicates that the value of the instance is managed exclusively by the owning authority.' + ), + examples: Vi( + 'schema.json.examples', + 'Sample JSON values associated with a particular schema, for the purpose of illustrating usage.' + ), + contains: Vi( + 'schema.json.contains', + 'An array instance is valid against "contains" if at least one of its elements is valid against the given schema.' + ), + propertyNames: Vi( + 'schema.json.propertyNames', + 'If the instance is an object, this keyword validates if every property name in the instance validates against the provided schema.' + ), + const: Vi( + 'schema.json.const', + 'An instance validates successfully against this keyword if its value is equal to the value of the keyword.' + ), + contentMediaType: Vi( + 'schema.json.contentMediaType', + 'Describes the media type of a string property.' + ), + contentEncoding: Vi( + 'schema.json.contentEncoding', + 'Describes the content encoding of a string property.' + ), + if: Vi( + 'schema.json.if', + 'The validation outcome of the "if" subschema controls which of the "then" or "else" keywords are evaluated.' + ), + then: Vi( + 'schema.json.then', + 'The "if" subschema is used for validation when the "if" subschema succeeds.' + ), + else: Vi( + 'schema.json.else', + 'The "else" subschema is used for validation when the "if" subschema fails.' + ), + }; + for (var qi in $i.schemas) { + var Ki = $i.schemas[qi]; + for (var Bi in Ki.properties) { + var Hi = Ki.properties[Bi]; + 'boolean' == typeof Hi && (Hi = Ki.properties[Bi] = {}); + var Yi = Wi[Bi]; + Yi + ? (Hi.description = Yi) + : console.log(Bi + ": localize('schema.json." + Bi + '\', "")'); + } + } + function Gi(e, t) { + var n = [], + r = [], + i = [], + o = -1, + s = wn(e.getText(), !1), + a = s.scan(); + function u(e) { + n.push(e), r.push(i.length); + } + for (; 17 !== a; ) { + switch (a) { + case 1: + case 3: + var l = { + startLine: (f = e.positionAt(s.getTokenOffset()).line), + endLine: f, + kind: 1 === a ? 'object' : 'array', + }; + i.push(l); + break; + case 2: + case 4: + var c = 2 === a ? 'object' : 'array'; + if (i.length > 0 && i[i.length - 1].kind === c) { + l = i.pop(); + var h = e.positionAt(s.getTokenOffset()).line; + l && + h > l.startLine + 1 && + o !== l.startLine && + ((l.endLine = h - 1), u(l), (o = l.startLine)); + } + break; + case 13: + var f = e.positionAt(s.getTokenOffset()).line, + d = e.positionAt(s.getTokenOffset() + s.getTokenLength()).line; + 1 === s.getTokenError() && f + 1 < e.lineCount + ? s.setPosition(e.offsetAt(un.create(f + 1, 0))) + : f < d && + (u({ startLine: f, endLine: d, kind: gn.Comment }), (o = f)); + break; + case 12: + var m = e + .getText() + .substr(s.getTokenOffset(), s.getTokenLength()) + .match(/^\/\/\s*#(region\b)|(endregion\b)/); + if (m) + if (((h = e.positionAt(s.getTokenOffset()).line), m[1])) + (l = { startLine: h, endLine: h, kind: gn.Region }), i.push(l); + else { + for (var g = i.length - 1; g >= 0 && i[g].kind !== gn.Region; ) + g--; + g >= 0 && + ((l = i[g]), + (i.length = g), + h > l.startLine && + o !== l.startLine && + ((l.endLine = h), u(l), (o = l.startLine))); + } + } + a = s.scan(); + } + var p = t && t.rangeLimit; + if ('number' != typeof p || n.length <= p) return n; + t && t.onRangeLimitExceeded && t.onRangeLimitExceeded(e.uri); + for (var v = [], y = 0, b = r; y < b.length; y++) + (A = b[y]) < 30 && (v[A] = (v[A] || 0) + 1); + var C = 0, + _ = 0; + for (g = 0; g < v.length; g++) { + var S = v[g]; + if (S) { + if (S + C > p) { + _ = g; + break; + } + C += S; + } + } + var E = []; + for (g = 0; g < n.length; g++) { + var A; + 'number' == typeof (A = r[g]) && + (A < _ || (A === _ && C++ < p)) && + E.push(n[g]); + } + return E; + } + function zi(e, t, n) { + function r(t, n) { + return ln.create(e.positionAt(t), e.positionAt(n)); + } + var i = wn(e.getText(), !0); + function o(e, t) { + return ( + i.setPosition(e), + i.scan() === t ? i.getTokenOffset() + i.getTokenLength() : -1 + ); + } + return t.map(function (t) { + for (var i = e.offsetAt(t), s = n.getNodeFromOffset(i, !0), a = []; s; ) { + switch (s.type) { + case 'string': + case 'object': + case 'array': + var u = s.offset + 1, + l = s.offset + s.length - 1; + u < l && i >= u && i <= l && a.push(r(u, l)), + a.push(r(s.offset, s.offset + s.length)); + break; + case 'number': + case 'boolean': + case 'null': + case 'property': + a.push(r(s.offset, s.offset + s.length)); + } + if ('property' === s.type || (s.parent && 'array' === s.parent.type)) { + var c = o(s.offset + s.length, 5); + -1 !== c && a.push(r(s.offset, c)); + } + s = s.parent; + } + for (var h = void 0, f = a.length - 1; f >= 0; f--) + h = lr.create(a[f], h); + return h || (h = lr.create(ln.create(t, t))), h; + }); + } + function Ji(e, t, n) { + var r = e.offsetAt(t), + i = n.getNodeFromOffset(r, !0); + if ( + !i || + !(function (e) { + return ( + ('string' === e.type && + e.parent && + 'property' === e.parent.type && + e.parent.valueNode === e && + '$ref' === e.parent.keyNode.value) || + !1 + ); + })(i) + ) + return Promise.resolve([]); + var o = i.parent.valueNode, + s = (function (e, t) { + var n = (function (e) { + return '#' === e + ? [] + : '#' !== e[0] || '/' !== e[1] + ? null + : e.substring(2).split(/\//).map(Xi); + })(t); + return n ? Zi(n, e.root) : null; + })(n, o.value); + if (!s) return Promise.resolve([]); + var a = { + targetUri: e.uri, + originSelectionRange: Qi(e, o), + targetRange: Qi(e, s), + targetSelectionRange: Qi(e, s), + }; + return Promise.resolve([a]); + } + function Qi(e, t) { + return ln.create(e.positionAt(t.offset), e.positionAt(t.offset + t.length)); + } + function Zi(e, t) { + if (!t) return null; + if (0 === e.length) return t; + var n = e.shift(); + if (t && 'object' === t.type) { + var r = t.properties.find(function (e) { + return e.keyNode.value === n; + }); + return r ? Zi(e, r.valueNode) : null; + } + if (t && 'array' === t.type && n.match(/^(0|[1-9][0-9]*)$/)) { + var i = Number.parseInt(n), + o = t.items[i]; + return o ? Zi(e, o) : null; + } + return null; + } + function Xi(e) { + return e.replace(/~1/g, '/').replace(/~0/g, '~'); + } + function eo(e) { + var t = e.promiseConstructor || Promise, + n = new Ni(e.schemaRequestService, e.workspaceContext, t); + n.setSchemaContributions($i); + var r = new Qr(n, e.contributions, t, e.clientCapabilities), + i = new Zr(n, e.contributions, t), + o = new ji(n), + s = new Oi(n, t); + return { + configure: function (e) { + n.clearExternalSchemas(), + e.schemas && + e.schemas.forEach(function (e) { + n.registerExternalSchema(e.uri, e.fileMatch, e.schema); + }), + s.configure(e); + }, + resetSchema: function (e) { + return n.onResourceChange(e); + }, + doValidation: s.doValidation.bind(s), + parseJSONDocument: function (e) { + return (function (e, t) { + var n = [], + r = -1, + i = e.getText(), + o = wn(i, !1), + s = t && t.collectComments ? [] : void 0; + function a() { + for (;;) { + var t = o.scan(); + switch ((c(), t)) { + case 12: + case 13: + Array.isArray(s) && + s.push( + ln.create( + e.positionAt(o.getTokenOffset()), + e.positionAt(o.getTokenOffset() + o.getTokenLength()) + ) + ); + break; + case 15: + case 14: + break; + default: + return t; + } + } + } + function u(t, i, o, s, a) { + if ((void 0 === a && (a = yn.Error), 0 === n.length || o !== r)) { + var u = ln.create(e.positionAt(o), e.positionAt(s)); + n.push(Cn.create(u, t, a, i, e.languageId)), (r = o); + } + } + function l(e, t, n, r, s) { + void 0 === n && (n = void 0), + void 0 === r && (r = []), + void 0 === s && (s = []); + var l = o.getTokenOffset(), + c = o.getTokenOffset() + o.getTokenLength(); + if (l === c && l > 0) { + for (l--; l > 0 && /\s/.test(i.charAt(l)); ) l--; + c = l + 1; + } + if ((u(e, t, l, c), n && h(n, !1), r.length + s.length > 0)) + for (var f = o.getToken(); 17 !== f; ) { + if (-1 !== r.indexOf(f)) { + a(); + break; + } + if (-1 !== s.indexOf(f)) break; + f = a(); + } + return n; + } + function c() { + switch (o.getTokenError()) { + case 4: + return ( + l( + wr('InvalidUnicode', 'Invalid unicode sequence in string.'), + gr.InvalidUnicode + ), + !0 + ); + case 5: + return ( + l( + wr( + 'InvalidEscapeCharacter', + 'Invalid escape character in string.' + ), + gr.InvalidEscapeCharacter + ), + !0 + ); + case 3: + return ( + l( + wr('UnexpectedEndOfNumber', 'Unexpected end of number.'), + gr.UnexpectedEndOfNumber + ), + !0 + ); + case 1: + return ( + l( + wr('UnexpectedEndOfComment', 'Unexpected end of comment.'), + gr.UnexpectedEndOfComment + ), + !0 + ); + case 2: + return ( + l( + wr('UnexpectedEndOfString', 'Unexpected end of string.'), + gr.UnexpectedEndOfString + ), + !0 + ); + case 6: + return ( + l( + wr( + 'InvalidCharacter', + 'Invalid characters in string. Control characters must be escaped.' + ), + gr.InvalidCharacter + ), + !0 + ); + } + return !1; + } + function h(e, t) { + return ( + (e.length = o.getTokenOffset() + o.getTokenLength() - e.offset), + t && a(), + e + ); + } + var f = new Rr(void 0, 0, 0); + function d(t, n) { + var r = new Dr(t, o.getTokenOffset(), f), + i = m(r); + if (!i) { + if (16 !== o.getToken()) return; + l( + wr( + 'DoubleQuotesExpected', + 'Property keys must be doublequoted' + ), + gr.Undefined + ); + var s = new Rr(r, o.getTokenOffset(), o.getTokenLength()); + (s.value = o.getTokenValue()), (i = s), a(); + } + r.keyNode = i; + var c = n[i.value]; + if ( + (c + ? (u( + wr('DuplicateKeyWarning', 'Duplicate object key'), + gr.DuplicateKey, + r.keyNode.offset, + r.keyNode.offset + r.keyNode.length, + yn.Warning + ), + 'object' == typeof c && + u( + wr('DuplicateKeyWarning', 'Duplicate object key'), + gr.DuplicateKey, + c.keyNode.offset, + c.keyNode.offset + c.keyNode.length, + yn.Warning + ), + (n[i.value] = !0)) + : (n[i.value] = r), + 6 === o.getToken()) + ) + (r.colonOffset = o.getTokenOffset()), a(); + else if ( + (l(wr('ColonExpected', 'Colon expected'), gr.ColonExpected), + 10 === o.getToken() && + e.positionAt(i.offset + i.length).line < + e.positionAt(o.getTokenOffset()).line) + ) + return (r.length = i.length), r; + var h = g(r); + return h + ? ((r.valueNode = h), + (r.length = h.offset + h.length - r.offset), + r) + : l( + wr('ValueExpected', 'Value expected'), + gr.ValueExpected, + r, + [], + [2, 5] + ); + } + function m(e) { + if (10 === o.getToken()) { + var t = new Rr(e, o.getTokenOffset()); + return (t.value = o.getTokenValue()), h(t, !0); + } + } + function g(e) { + return ( + (function (e) { + if (3 === o.getToken()) { + var t = new Mr(e, o.getTokenOffset()); + a(); + for ( + var n = !1; + 4 !== o.getToken() && 17 !== o.getToken(); + + ) { + if (5 === o.getToken()) { + n || + l( + wr('ValueExpected', 'Value expected'), + gr.ValueExpected + ); + var r = o.getTokenOffset(); + if ((a(), 4 === o.getToken())) { + n && + u( + wr('TrailingComma', 'Trailing comma'), + gr.TrailingComma, + r, + r + 1 + ); + continue; + } + } else + n && + l( + wr('ExpectedComma', 'Expected comma'), + gr.CommaExpected + ); + var i = g(t); + i + ? t.items.push(i) + : l( + wr('PropertyExpected', 'Value expected'), + gr.ValueExpected, + void 0, + [], + [4, 5] + ), + (n = !0); + } + return 4 !== o.getToken() + ? l( + wr( + 'ExpectedCloseBracket', + 'Expected comma or closing bracket' + ), + gr.CommaOrCloseBacketExpected, + t + ) + : h(t, !0); + } + })(e) || + (function (e) { + if (1 === o.getToken()) { + var t = new Fr(e, o.getTokenOffset()), + n = Object.create(null); + a(); + for ( + var r = !1; + 2 !== o.getToken() && 17 !== o.getToken(); + + ) { + if (5 === o.getToken()) { + r || + l( + wr('PropertyExpected', 'Property expected'), + gr.PropertyExpected + ); + var i = o.getTokenOffset(); + if ((a(), 2 === o.getToken())) { + r && + u( + wr('TrailingComma', 'Trailing comma'), + gr.TrailingComma, + i, + i + 1 + ); + continue; + } + } else + r && + l( + wr('ExpectedComma', 'Expected comma'), + gr.CommaExpected + ); + var s = d(t, n); + s + ? t.properties.push(s) + : l( + wr('PropertyExpected', 'Property expected'), + gr.PropertyExpected, + void 0, + [], + [2, 5] + ), + (r = !0); + } + return 2 !== o.getToken() + ? l( + wr( + 'ExpectedCloseBrace', + 'Expected comma or closing brace' + ), + gr.CommaOrCloseBraceExpected, + t + ) + : h(t, !0); + } + })(e) || + m(e) || + (function (e) { + if (11 === o.getToken()) { + var t = new Pr(e, o.getTokenOffset()); + if (0 === o.getTokenError()) { + var n = o.getTokenValue(); + try { + var r = JSON.parse(n); + if (!Pn(r)) + return l( + wr('InvalidNumberFormat', 'Invalid number format.'), + gr.Undefined, + t + ); + t.value = r; + } catch (e) { + return l( + wr('InvalidNumberFormat', 'Invalid number format.'), + gr.Undefined, + t + ); + } + t.isInteger = -1 === n.indexOf('.'); + } + return h(t, !0); + } + })(e) || + (function (e) { + switch (o.getToken()) { + case 7: + return h(new Or(e, o.getTokenOffset()), !0); + case 8: + return h(new Ir(e, !0, o.getTokenOffset()), !0); + case 9: + return h(new Ir(e, !1, o.getTokenOffset()), !0); + default: + return; + } + })(e) + ); + } + var p = void 0; + return ( + 17 !== a() && + ((p = g(p)) + ? 17 !== o.getToken() && + l( + wr('End of file expected', 'End of file expected.'), + gr.Undefined + ) + : l( + wr( + 'Invalid symbol', + 'Expected a JSON object, array or literal.' + ), + gr.Undefined + )), + new Br(p, n, s) + ); + })(e, { collectComments: !0 }); + }, + newJSONDocument: function (e, t) { + return (function (e, t) { + return void 0 === t && (t = []), new Br(e, t, []); + })(e, t); + }, + getMatchingSchemas: n.getMatchingSchemas.bind(n), + doResolve: r.doResolve.bind(r), + doComplete: r.doComplete.bind(r), + findDocumentSymbols: o.findDocumentSymbols.bind(o), + findDocumentSymbols2: o.findDocumentSymbols2.bind(o), + findColorSymbols: function (e, t) { + return o.findDocumentColors(e, t).then(function (e) { + return e.map(function (e) { + return e.range; + }); + }); + }, + findDocumentColors: o.findDocumentColors.bind(o), + getColorPresentations: o.getColorPresentations.bind(o), + doHover: i.doHover.bind(i), + getFoldingRanges: Gi, + getSelectionRanges: zi, + findDefinition: Ji, + format: function (e, t, n) { + var r = void 0; + if (t) { + var i = e.offsetAt(t.start); + r = { offset: i, length: e.offsetAt(t.end) - i }; + } + var o = { + tabSize: n ? n.tabSize : 4, + insertSpaces: !n || n.insertSpaces, + eol: '\n', + }; + return (function (e, t, n) { + return (function (e, t, n) { + var r, i, o, s, a; + if (t) { + for ( + s = t.offset, a = s + t.length, o = s; + o > 0 && !sn(e, o - 1); + + ) + o--; + for (var u = a; u < e.length && !sn(e, u); ) u++; + (i = e.substring(o, u)), + (r = (function (e, t) { + for (var n = 0, r = 0, i = t.tabSize || 4; n < e.length; ) { + var o = e.charAt(n); + if (' ' === o) r++; + else { + if ('\t' !== o) break; + r += i; + } + n++; + } + return Math.floor(r / i); + })(i, n)); + } else (i = e), (r = 0), (o = 0), (s = 0), (a = e.length); + var l, + c = (function (e, t) { + for (var n = 0; n < t.length; n++) { + var r = t.charAt(n); + if ('\r' === r) + return n + 1 < t.length && '\n' === t.charAt(n + 1) + ? '\r\n' + : '\r'; + if ('\n' === r) return '\n'; + } + return (e && e.eol) || '\n'; + })(n, e), + h = !1, + f = 0; + l = n.insertSpaces ? on(' ', n.tabSize || 4) : '\t'; + var d = en(i, !1), + m = !1; + function g() { + return c + on(l, r + f); + } + function p() { + var e = d.scan(); + for (h = !1; 15 === e || 14 === e; ) + (h = h || 14 === e), (e = d.scan()); + return (m = 16 === e || 0 !== d.getTokenError()), e; + } + var v = []; + function y(t, n, r) { + !m && + n < a && + r > s && + e.substring(n, r) !== t && + v.push({ offset: n, length: r - n, content: t }); + } + var b = p(); + if (17 !== b) { + var C = d.getTokenOffset() + o; + y(on(l, r), o, C); + } + for (; 17 !== b; ) { + for ( + var _ = d.getTokenOffset() + d.getTokenLength() + o, + S = p(), + E = ''; + !h && (12 === S || 13 === S); + + ) + y(' ', _, d.getTokenOffset() + o), + (_ = d.getTokenOffset() + d.getTokenLength() + o), + (E = 12 === S ? g() : ''), + (S = p()); + if (2 === S) 1 !== b && (f--, (E = g())); + else if (4 === S) 3 !== b && (f--, (E = g())); + else { + switch (b) { + case 3: + case 1: + f++, (E = g()); + break; + case 5: + case 12: + E = g(); + break; + case 13: + E = h ? g() : ' '; + break; + case 6: + E = ' '; + break; + case 10: + if (6 === S) { + E = ''; + break; + } + case 7: + case 8: + case 9: + case 11: + case 2: + case 4: + 12 === S || 13 === S + ? (E = ' ') + : 5 !== S && 17 !== S && (m = !0); + break; + case 16: + m = !0; + } + !h || (12 !== S && 13 !== S) || (E = g()); + } + y(E, _, d.getTokenOffset() + o), (b = S); + } + return v; + })(e, t, n); + })(e.getText(), r, o).map(function (t) { + return Sn.replace( + ln.create( + e.positionAt(t.offset), + e.positionAt(t.offset + t.length) + ), + t.content + ); + }); + }, + }; + } + var to, + no = function (e, t, n, r) { + return new (n || (n = Promise))(function (i, o) { + function s(e) { + try { + u(r.next(e)); + } catch (e) { + o(e); + } + } + function a(e) { + try { + u(r.throw(e)); + } catch (e) { + o(e); + } + } + function u(e) { + var t; + e.done + ? i(e.value) + : ((t = e.value), + t instanceof n + ? t + : new n(function (e) { + e(t); + })).then(s, a); + } + u((r = r.apply(e, t || [])).next()); + }); + }, + ro = function (e, t) { + var n, + r, + i, + o, + s = { + label: 0, + sent: function () { + if (1 & i[0]) throw i[1]; + return i[1]; + }, + trys: [], + ops: [], + }; + return ( + (o = { next: a(0), throw: a(1), return: a(2) }), + 'function' == typeof Symbol && + (o[Symbol.iterator] = function () { + return this; + }), + o + ); + function a(o) { + return function (a) { + return (function (o) { + if (n) throw new TypeError('Generator is already executing.'); + for (; s; ) + try { + if ( + ((n = 1), + r && + (i = + 2 & o[0] + ? r.return + : o[0] + ? r.throw || ((i = r.return) && i.call(r), 0) + : r.next) && + !(i = i.call(r, o[1])).done) + ) + return i; + switch (((r = 0), i && (o = [2 & o[0], i.value]), o[0])) { + case 0: + case 1: + i = o; + break; + case 4: + return s.label++, { value: o[1], done: !1 }; + case 5: + s.label++, (r = o[1]), (o = [0]); + continue; + case 7: + (o = s.ops.pop()), s.trys.pop(); + continue; + default: + if ( + !( + (i = (i = s.trys).length > 0 && i[i.length - 1]) || + (6 !== o[0] && 2 !== o[0]) + ) + ) { + s = 0; + continue; + } + if (3 === o[0] && (!i || (o[1] > i[0] && o[1] < i[3]))) { + s.label = o[1]; + break; + } + if (6 === o[0] && s.label < i[1]) { + (s.label = i[1]), (i = o); + break; + } + if (i && s.label < i[2]) { + (s.label = i[2]), s.ops.push(o); + break; + } + i[2] && s.ops.pop(), s.trys.pop(); + continue; + } + o = t.call(e, s); + } catch (e) { + (o = [6, e]), (r = 0); + } finally { + n = i = 0; + } + if (5 & o[0]) throw o[1]; + return { value: o[0] ? o[1] : void 0, done: !0 }; + })([o, a]); + }; + } + }; + 'undefined' != typeof fetch && + (to = function (e) { + return fetch(e).then(function (e) { + return e.text(); + }); + }); + var io = (function () { + function e(e, t) { + (this._ctx = e), + (this._languageSettings = t.languageSettings), + (this._languageId = t.languageId), + (this._languageService = eo({ + workspaceContext: { + resolveRelativePath: function (e, t) { + return (function (e, t) { + if ( + (function (e) { + return e.charCodeAt(0) === oo; + })(t) + ) { + var n = ci.parse(e), + r = t.split('/'); + return n.with({ path: ao(r) }).toString(); + } + return (function (e) { + for (var t = [], n = 1; n < arguments.length; n++) + t[n - 1] = arguments[n]; + for ( + var r = ci.parse(e), i = r.path.split('/'), o = 0, s = t; + o < s.length; + o++ + ) { + var a = s[o]; + i.push.apply(i, a.split('/')); + } + return r.with({ path: ao(i) }).toString(); + })(e, t); + })(t.substr(0, t.lastIndexOf('/') + 1), e); + }, + }, + schemaRequestService: t.enableSchemaRequest && to, + })), + this._languageService.configure(this._languageSettings); + } + return ( + (e.prototype.doValidation = function (e) { + return no(this, void 0, void 0, function () { + var t, n; + return ro(this, function (r) { + return (t = this._getTextDocument(e)) + ? ((n = this._languageService.parseJSONDocument(t)), + [2, this._languageService.doValidation(t, n)]) + : [2, Promise.resolve([])]; + }); + }); + }), + (e.prototype.doComplete = function (e, t) { + return no(this, void 0, void 0, function () { + var n, r; + return ro(this, function (i) { + return ( + (n = this._getTextDocument(e)), + (r = this._languageService.parseJSONDocument(n)), + [2, this._languageService.doComplete(n, t, r)] + ); + }); + }); + }), + (e.prototype.doResolve = function (e) { + return no(this, void 0, void 0, function () { + return ro(this, function (t) { + return [2, this._languageService.doResolve(e)]; + }); + }); + }), + (e.prototype.doHover = function (e, t) { + return no(this, void 0, void 0, function () { + var n, r; + return ro(this, function (i) { + return ( + (n = this._getTextDocument(e)), + (r = this._languageService.parseJSONDocument(n)), + [2, this._languageService.doHover(n, t, r)] + ); + }); + }); + }), + (e.prototype.format = function (e, t, n) { + return no(this, void 0, void 0, function () { + var r, i; + return ro(this, function (o) { + return ( + (r = this._getTextDocument(e)), + (i = this._languageService.format(r, t, n)), + [2, Promise.resolve(i)] + ); + }); + }); + }), + (e.prototype.resetSchema = function (e) { + return no(this, void 0, void 0, function () { + return ro(this, function (t) { + return [2, Promise.resolve(this._languageService.resetSchema(e))]; + }); + }); + }), + (e.prototype.findDocumentSymbols = function (e) { + return no(this, void 0, void 0, function () { + var t, n, r; + return ro(this, function (i) { + return ( + (t = this._getTextDocument(e)), + (n = this._languageService.parseJSONDocument(t)), + (r = this._languageService.findDocumentSymbols(t, n)), + [2, Promise.resolve(r)] + ); + }); + }); + }), + (e.prototype.findDocumentColors = function (e) { + return no(this, void 0, void 0, function () { + var t, n, r; + return ro(this, function (i) { + return ( + (t = this._getTextDocument(e)), + (n = this._languageService.parseJSONDocument(t)), + (r = this._languageService.findDocumentColors(t, n)), + [2, Promise.resolve(r)] + ); + }); + }); + }), + (e.prototype.getColorPresentations = function (e, t, n) { + return no(this, void 0, void 0, function () { + var r, i, o; + return ro(this, function (s) { + return ( + (r = this._getTextDocument(e)), + (i = this._languageService.parseJSONDocument(r)), + (o = this._languageService.getColorPresentations(r, i, t, n)), + [2, Promise.resolve(o)] + ); + }); + }); + }), + (e.prototype.getFoldingRanges = function (e, t) { + return no(this, void 0, void 0, function () { + var n, r; + return ro(this, function (i) { + return ( + (n = this._getTextDocument(e)), + (r = this._languageService.getFoldingRanges(n, t)), + [2, Promise.resolve(r)] + ); + }); + }); + }), + (e.prototype.getSelectionRanges = function (e, t) { + return no(this, void 0, void 0, function () { + var n, r, i; + return ro(this, function (o) { + return ( + (n = this._getTextDocument(e)), + (r = this._languageService.parseJSONDocument(n)), + (i = this._languageService.getSelectionRanges(n, t, r)), + [2, Promise.resolve(i)] + ); + }); + }); + }), + (e.prototype._getTextDocument = function (e) { + for (var t = 0, n = this._ctx.getMirrorModels(); t < n.length; t++) { + var r = n[t]; + if (r.uri.toString() === e) + return mr.create(e, this._languageId, r.version, r.getValue()); + } + return null; + }), + e + ); + })(), + oo = '/'.charCodeAt(0), + so = '.'.charCodeAt(0); + function ao(e) { + for (var t = [], n = 0, r = e; n < r.length; n++) { + var i = r[n]; + 0 === i.length || + (1 === i.length && i.charCodeAt(0) === so) || + (2 === i.length && i.charCodeAt(0) === so && i.charCodeAt(1) === so + ? t.pop() + : t.push(i)); + } + e.length > 1 && 0 === e[e.length - 1].length && t.push(''); + var o = t.join('/'); + return 0 === e[0].length && (o = '/' + o), o; + } + self.onmessage = function () { + Xt(function (e, t) { + return new io(e, t); + }); + }; +})(); diff --git a/docs/styles.css b/docs/styles.css new file mode 100644 index 00000000..de8d3000 --- /dev/null +++ b/docs/styles.css @@ -0,0 +1,60 @@ +html { + padding: 0; + width: 100%; + height: 100%; +} + +body { + padding: 32px; + font-family: 'trebuchet ms', verdana, arial; + position: relative; + width: 100%; + height: 100%; + box-sizing: border-box; + margin: 0; +} + +/* @media (prefers-color-scheme: dark) { + body { + background-color: #3f3f3f; + color: #c8c8c8; + } + a, label { + color: #d8d8d8; + } +} */ +.mermaid { + /* font-family: 'trebuchet ms', verdana, arial; */ +} +.marketing-links { + font-size: 16px; +} + +.ant-card { + margin-bottom: 16px; +} + +i { + font-size: 10px !important; +} + +.mermaidTooltip { + position: absolute; +} + +@font-face { + font-family: 'codicon'; + src: url('codicon.ttf') format('truetype'); +} + +.myInlineDecoration { + /* cursor: pointer; */ + /* text-decoration: underline; */ + font-weight: bold; + font-style: oblique; + background: #ffcccc; +} + +#dgraph-div { + display: none; +} diff --git a/package.json b/package.json index 51b185e4..6e46c954 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mermaid-live-editor", - "version": "1.2.12", + "version": "1.2.13", "license": "MIT", "devDependencies": { "copy-webpack-plugin": "^8.1.1",